Compare commits
92 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| b642b26f72 | |||
| 28a689c856 | |||
| dd3e5e0e88 | |||
| 425107ba2f | |||
| 0aef283dff | |||
| ef7d362810 | |||
| a9faa22241 | |||
| 084f46917a | |||
| 0daddd5866 | |||
| 92f49fbb39 | |||
| 3de4dfb2e5 | |||
| c301b8d71e | |||
| 9712c9db0f | |||
| 0ddbf5c981 | |||
| 830c1f2fbf | |||
| 0ec43a4f0f | |||
| 8b601c567d | |||
| 513e4aac85 | |||
| de5b3c5d35 | |||
| e2dbc0d0e6 | |||
| 19cf727a0f | |||
| 7c4108ee4b | |||
| e668cf1a33 | |||
| 8a298c4635 | |||
| 1d10d58284 | |||
| 3bde47cffe | |||
| e7cc8bac1e | |||
| 89e581acf8 | |||
| 8b8d2b679a | |||
| a35747b6fa | |||
| a573b6863c | |||
| 8147eefaeb | |||
| 325776eaf2 | |||
| aa42d60c5f | |||
| 6b4b337e53 | |||
| 59fc3ff45a | |||
| 6a89a63d2e | |||
| b0bad03234 | |||
| 5cc01476e4 | |||
| 0a8f7bdc5b | |||
| 9e7e3decd3 | |||
| 6cc6538ad2 | |||
| 1ad97f8479 | |||
| 027715f9ac | |||
| e42ce62ce2 | |||
| aaf4c3073a | |||
| 44a8a13655 | |||
| 74b29a0ffa | |||
| 54ecc4c375 | |||
| 779ee95834 | |||
| 39723c5958 | |||
| 17036c4cc3 | |||
| cb3b678b2c | |||
| dc35554091 | |||
| e67615ef0c | |||
| 4c426ad970 | |||
| 0ccc412fcc | |||
| fe007fd543 | |||
| a29c65037e | |||
| d2209d304f | |||
| e1c24e7c50 | |||
| dc6c2344f6 | |||
| 6a1d9d0c32 | |||
| 20b1ba0771 | |||
| b40013928c | |||
| 86a0e64628 | |||
| 332b38fd92 | |||
| f107be3d29 | |||
| 06331625a9 | |||
| 79cfad0cc0 | |||
| 72a3301ba4 | |||
| 5e2a9dac14 | |||
| 6e0c40ffd9 | |||
| dbd176cfab | |||
| 95344d0625 | |||
| 9681bf7cee | |||
| 48116660f5 | |||
| 9549e2ded7 | |||
| 4be95374a5 | |||
| 089fcb45c0 | |||
| 213d7119f9 | |||
| 19a53982d4 | |||
| d484fef837 | |||
| db34671626 | |||
| 5e58b5115f | |||
| d345047b0f | |||
| 7dc36289ab | |||
| 2ca1301494 | |||
| 819b7c45a9 | |||
| 6c1ea7a54b | |||
| 8fef9a197f | |||
| e2a28db2b5 |
@@ -1,12 +0,0 @@
|
||||
codecov:
|
||||
branch: master
|
||||
|
||||
coverage:
|
||||
precision: 2
|
||||
round: down
|
||||
range: "70...100"
|
||||
status:
|
||||
project: off
|
||||
patch: off
|
||||
|
||||
comment: off
|
||||
-699
@@ -1,699 +0,0 @@
|
||||
clone:
|
||||
git:
|
||||
image: plugins/git
|
||||
depth: 1
|
||||
|
||||
pipeline:
|
||||
jsunit:
|
||||
image: nextcloudci/jsunit:jsunit-5
|
||||
commands:
|
||||
- ./autotest-js.sh
|
||||
- curl -o codecov.sh https://codecov.io/bash
|
||||
- sh -c "if [ '$DRONE_BUILD_EVENT' = 'pull_request' ]; then bash codecov.sh -B $DRONE_BRANCH -C $DRONE_COMMIT -P $DRONE_PULL_REQUEST -t 117641e2-a9e8-4b7b-984b-ae872d9b05f5; fi"
|
||||
- sh -c "if [ '$DRONE_BUILD_EVENT' != 'pull_request' ]; then bash codecov.sh -B $DRONE_BRANCH -C $DRONE_COMMIT -t 117641e2-a9e8-4b7b-984b-ae872d9b05f5; fi"
|
||||
when:
|
||||
matrix:
|
||||
TESTS: jsunit
|
||||
checkers:
|
||||
image: nextcloudci/php7.0:php7.0-16
|
||||
commands:
|
||||
- ./autotest-checkers.sh
|
||||
when:
|
||||
matrix:
|
||||
TESTS: checkers
|
||||
syntax-php5.6:
|
||||
image: nextcloudci/php5.6:php5.6-8
|
||||
commands:
|
||||
- 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-16
|
||||
commands:
|
||||
- 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
|
||||
syntax-php7.1:
|
||||
image: nextcloudci/php7.1:php7.1-15
|
||||
commands:
|
||||
- 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.1
|
||||
litmus-v1:
|
||||
image: nextcloudci/litmus-php7.0:litmus-php7.0-6
|
||||
commands:
|
||||
- bash tests/travis/install.sh sqlite
|
||||
- bash apps/dav/tests/travis/litmus-v1/script.sh
|
||||
when:
|
||||
matrix:
|
||||
TESTS: litmus-v1
|
||||
litmus-v2:
|
||||
image: nextcloudci/litmus-php7.0:litmus-php7.0-6
|
||||
commands:
|
||||
- bash tests/travis/install.sh sqlite
|
||||
- bash apps/dav/tests/travis/litmus-v2/script.sh
|
||||
when:
|
||||
matrix:
|
||||
TESTS: litmus-v2
|
||||
caldavtester-new-endpoint:
|
||||
image: nextcloudci/litmus-php7.0:litmus-php7.0-6
|
||||
commands:
|
||||
- bash tests/travis/install.sh sqlite
|
||||
- bash apps/dav/tests/travis/caldav/install.sh
|
||||
- bash apps/dav/tests/travis/caldav/script-new-endpoint.sh
|
||||
when:
|
||||
matrix:
|
||||
TESTS: caldavtester-new-endpoint
|
||||
caldavtester-old-endpoint:
|
||||
image: nextcloudci/litmus-php7.0:litmus-php7.0-6
|
||||
commands:
|
||||
- bash tests/travis/install.sh sqlite
|
||||
- bash apps/dav/tests/travis/caldav/install.sh
|
||||
- bash apps/dav/tests/travis/caldav/script-old-endpoint.sh
|
||||
when:
|
||||
matrix:
|
||||
TESTS: caldavtester-old-endpoint
|
||||
carddavtester-new-endpoint:
|
||||
image: nextcloudci/litmus-php7.0:litmus-php7.0-6
|
||||
commands:
|
||||
- bash tests/travis/install.sh sqlite
|
||||
- bash apps/dav/tests/travis/carddav/install.sh
|
||||
- bash apps/dav/tests/travis/carddav/script-new-endpoint.sh
|
||||
when:
|
||||
matrix:
|
||||
TESTS: carddavtester-new-endpoint
|
||||
carddavtester-old-endpoint:
|
||||
image: nextcloudci/litmus-php7.0:litmus-php7.0-6
|
||||
commands:
|
||||
- bash tests/travis/install.sh sqlite
|
||||
- bash apps/dav/tests/travis/carddav/install.sh
|
||||
- bash apps/dav/tests/travis/carddav/script-old-endpoint.sh
|
||||
when:
|
||||
matrix:
|
||||
TESTS: carddavtester-old-endpoint
|
||||
sqlite-php7.0-samba-native:
|
||||
image: nextcloudci/samba-native-php7.0:samba-native-php7.0-3
|
||||
commands:
|
||||
- smbd -D -FS &
|
||||
- ./autotest-external.sh sqlite smb-linux
|
||||
- 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 117641e2-a9e8-4b7b-984b-ae872d9b05f5 -f tests/autotest-external-clover-sqlite.xml; fi"
|
||||
- sh -c "if [ '$DRONE_BUILD_EVENT' != 'pull_request' ]; then bash codecov.sh -B $DRONE_BRANCH -C $DRONE_COMMIT -t 117641e2-a9e8-4b7b-984b-ae872d9b05f5 -f tests/autotest-external-clover-sqlite.xml; fi"
|
||||
- sh -c "if [ '$DRONE_BUILD_EVENT' = 'pull_request' ]; then bash codecov.sh -B $DRONE_BRANCH -C $DRONE_COMMIT -P $DRONE_PULL_REQUEST -t 117641e2-a9e8-4b7b-984b-ae872d9b05f5 -f tests/autotest-external-clover-sqlite-smb-linux.xml; fi"
|
||||
- sh -c "if [ '$DRONE_BUILD_EVENT' != 'pull_request' ]; then bash codecov.sh -B $DRONE_BRANCH -C $DRONE_COMMIT -t 117641e2-a9e8-4b7b-984b-ae872d9b05f5 -f tests/autotest-external-clover-sqlite-smb-linux.xml; fi"
|
||||
when:
|
||||
matrix:
|
||||
TESTS: sqlite-php7.0-samba-native
|
||||
sqlite-php7.0-samba-non-native:
|
||||
image: nextcloudci/samba-non-native-php7.0:samba-non-native-php7.0-4
|
||||
commands:
|
||||
- smbd -D -FS &
|
||||
- ./autotest-external.sh sqlite smb-linux
|
||||
- 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 117641e2-a9e8-4b7b-984b-ae872d9b05f5 -f tests/autotest-external-clover-sqlite.xml; fi"
|
||||
- sh -c "if [ '$DRONE_BUILD_EVENT' != 'pull_request' ]; then bash codecov.sh -B $DRONE_BRANCH -C $DRONE_COMMIT -t 117641e2-a9e8-4b7b-984b-ae872d9b05f5 -f tests/autotest-external-clover-sqlite.xml; fi"
|
||||
- sh -c "if [ '$DRONE_BUILD_EVENT' = 'pull_request' ]; then bash codecov.sh -B $DRONE_BRANCH -C $DRONE_COMMIT -P $DRONE_PULL_REQUEST -t 117641e2-a9e8-4b7b-984b-ae872d9b05f5 -f tests/autotest-external-clover-sqlite-smb-linux.xml; fi"
|
||||
- sh -c "if [ '$DRONE_BUILD_EVENT' != 'pull_request' ]; then bash codecov.sh -B $DRONE_BRANCH -C $DRONE_COMMIT -t 117641e2-a9e8-4b7b-984b-ae872d9b05f5 -f tests/autotest-external-clover-sqlite-smb-linux.xml; fi"
|
||||
when:
|
||||
matrix:
|
||||
TESTS: sqlite-php7.0-samba-non-native
|
||||
sqlite-php7.0-webdav-apache:
|
||||
image: nextcloudci/webdav-apache-php7.0
|
||||
commands:
|
||||
- apache2
|
||||
- ./autotest-external.sh sqlite webdav-apachedrone
|
||||
- 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 117641e2-a9e8-4b7b-984b-ae872d9b05f5 -f tests/autotest-external-clover-sqlite.xml; fi"
|
||||
- sh -c "if [ '$DRONE_BUILD_EVENT' != 'pull_request' ]; then bash codecov.sh -B $DRONE_BRANCH -C $DRONE_COMMIT -t 117641e2-a9e8-4b7b-984b-ae872d9b05f5 -f tests/autotest-external-clover-sqlite.xml; fi"
|
||||
- sh -c "if [ '$DRONE_BUILD_EVENT' = 'pull_request' ]; then bash codecov.sh -B $DRONE_BRANCH -C $DRONE_COMMIT -P $DRONE_PULL_REQUEST -t 117641e2-a9e8-4b7b-984b-ae872d9b05f5 -f tests/autotest-external-clover-sqlite-webdav-apachedrone.xml; fi"
|
||||
- sh -c "if [ '$DRONE_BUILD_EVENT' != 'pull_request' ]; then bash codecov.sh -B $DRONE_BRANCH -C $DRONE_COMMIT -t 117641e2-a9e8-4b7b-984b-ae872d9b05f5 -f tests/autotest-external-clover-sqlite-webdav-apachedrone.xml; fi"
|
||||
when:
|
||||
matrix:
|
||||
TESTS: sqlite-php7.0-webdav-apache
|
||||
nodb-php5.6:
|
||||
image: nextcloudci/php5.6:php5.6-8
|
||||
commands:
|
||||
- NOCOVERAGE=true TEST_SELECTION=NODB ./autotest.sh sqlite
|
||||
when:
|
||||
matrix:
|
||||
DB: NODB
|
||||
PHP: 5.6
|
||||
nodb-php7.0:
|
||||
image: nextcloudci/php7.0:php7.0-16
|
||||
commands:
|
||||
- NOCOVERAGE=true TEST_SELECTION=NODB ./autotest.sh sqlite
|
||||
when:
|
||||
matrix:
|
||||
DB: NODB
|
||||
PHP: "7.0"
|
||||
nodb-php7.1:
|
||||
image: nextcloudci/php7.1:php7.1-15
|
||||
commands:
|
||||
- NOCOVERAGE=true TEST_SELECTION=NODB ./autotest.sh sqlite
|
||||
when:
|
||||
matrix:
|
||||
DB: NODB
|
||||
PHP: 7.1
|
||||
sqlite-php5.6:
|
||||
image: nextcloudci/php5.6:php5.6-8
|
||||
commands:
|
||||
- NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh sqlite
|
||||
when:
|
||||
matrix:
|
||||
DB: sqlite
|
||||
PHP: 5.6
|
||||
sqlite-php7.0:
|
||||
image: nextcloudci/php7.0:php7.0-16
|
||||
commands:
|
||||
- NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh sqlite
|
||||
when:
|
||||
matrix:
|
||||
DB: sqlite
|
||||
PHP: "7.0"
|
||||
sqlite-php7.1:
|
||||
image: nextcloudci/php7.1:php7.1-15
|
||||
commands:
|
||||
- NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh sqlite
|
||||
when:
|
||||
matrix:
|
||||
DB: sqlite
|
||||
PHP: 7.1
|
||||
|
||||
mysql-php5.6:
|
||||
image: nextcloudci/php5.6:php5.6-8
|
||||
commands:
|
||||
- NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh mysql
|
||||
when:
|
||||
matrix:
|
||||
DB: mysql
|
||||
PHP: 5.6
|
||||
postgres-php5.6:
|
||||
image: nextcloudci/php5.6:php5.6-8
|
||||
commands:
|
||||
- sleep 10 # gives the database enough time to initialize
|
||||
- POSTGRES=${POSTGRES} NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh pgsql
|
||||
when:
|
||||
matrix:
|
||||
DB: postgres
|
||||
PHP: 5.6
|
||||
mysqlmb4-php5.6:
|
||||
image: nextcloudci/php5.6:php5.6-8
|
||||
commands:
|
||||
- NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh mysqlmb4
|
||||
when:
|
||||
matrix:
|
||||
DB: mysqlmb4
|
||||
PHP: 5.6
|
||||
integration-capabilities_features:
|
||||
image: nextcloudci/integration-php7.0:integration-php7.0-6
|
||||
commands:
|
||||
- ./occ maintenance:install --admin-pass=admin
|
||||
- cd build/integration
|
||||
- ./run.sh capabilities_features/capabilities.feature
|
||||
when:
|
||||
matrix:
|
||||
TESTS: integration-capabilities_features
|
||||
integration-federation_features:
|
||||
image: nextcloudci/integration-php7.0:integration-php7.0-6
|
||||
commands:
|
||||
- ./occ maintenance:install --admin-pass=admin
|
||||
- cd build/integration
|
||||
- ./run.sh federation_features/federated.feature
|
||||
when:
|
||||
matrix:
|
||||
TESTS: integration-federation_features
|
||||
integration-auth:
|
||||
image: nextcloudci/integration-php7.0:integration-php7.0-6
|
||||
commands:
|
||||
- ./occ maintenance:install --admin-pass=admin
|
||||
- cd build/integration
|
||||
- ./run.sh features/auth.feature
|
||||
when:
|
||||
matrix:
|
||||
TESTS: integration-auth
|
||||
integration-maintenance-mode:
|
||||
image: nextcloudci/integration-php7.0:integration-php7.0-6
|
||||
commands:
|
||||
- ./occ maintenance:install --admin-pass=admin
|
||||
- cd build/integration
|
||||
- ./run.sh features/maintenance-mode.feature
|
||||
when:
|
||||
matrix:
|
||||
TESTS: integration-maintenance-mode
|
||||
integration-ratelimiting:
|
||||
image: nextcloudci/integration-php7.0:integration-php7.0-6
|
||||
commands:
|
||||
- ./occ maintenance:install --admin-pass=admin
|
||||
- ./occ config:system:set redis host --value=cache
|
||||
- ./occ config:system:set redis port --value=6379 --type=integer
|
||||
- ./occ config:system:set redis timeout --value=0 --type=integer
|
||||
- ./occ config:system:set --type string --value "\\OC\\Memcache\\Redis" memcache.local
|
||||
- ./occ config:system:set --type string --value "\\OC\\Memcache\\Redis" memcache.distributed
|
||||
- ./occ app:enable testing
|
||||
- cd build/integration
|
||||
- ./run.sh features/ratelimiting.feature
|
||||
when:
|
||||
matrix:
|
||||
TESTS: integration-ratelimiting
|
||||
integration-carddav:
|
||||
image: nextcloudci/integration-php7.0:integration-php7.0-6
|
||||
commands:
|
||||
- ./occ maintenance:install --admin-pass=admin
|
||||
- cd build/integration
|
||||
- ./run.sh features/carddav.feature
|
||||
when:
|
||||
matrix:
|
||||
TESTS: integration-carddav
|
||||
integration-dav-v2:
|
||||
image: nextcloudci/integration-php7.0:integration-php7.0-6
|
||||
commands:
|
||||
- ./occ maintenance:install --admin-pass=admin
|
||||
- cd build/integration
|
||||
- ./run.sh features/dav-v2.feature
|
||||
when:
|
||||
matrix:
|
||||
TESTS: integration-dav-v2
|
||||
integration-ocs-v1:
|
||||
image: nextcloudci/integration-php7.0:integration-php7.0-6
|
||||
commands:
|
||||
- ./occ maintenance:install --admin-pass=admin
|
||||
- cd build/integration
|
||||
- ./run.sh features/ocs-v1.feature
|
||||
when:
|
||||
matrix:
|
||||
TESTS: integration-ocs-v1
|
||||
integration-sharing-v1:
|
||||
image: nextcloudci/integration-php7.0:integration-php7.0-6
|
||||
commands:
|
||||
- ./occ maintenance:install --admin-pass=admin
|
||||
- cd build/integration
|
||||
- ./run.sh features/sharing-v1.feature
|
||||
when:
|
||||
matrix:
|
||||
TESTS: integration-sharing-v1
|
||||
integration-sharing-v1-part2:
|
||||
image: nextcloudci/integration-php7.0:integration-php7.0-6
|
||||
commands:
|
||||
- ./occ maintenance:install --admin-pass=admin
|
||||
- cd build/integration
|
||||
- ./run.sh features/sharing-v1-part2.feature
|
||||
when:
|
||||
matrix:
|
||||
TESTS: integration-sharing-v1-part2
|
||||
integration-sharing-v1-part3:
|
||||
image: nextcloudci/integration-php7.0:integration-php7.0-6
|
||||
commands:
|
||||
- ./occ maintenance:install --admin-pass=admin
|
||||
- cd build/integration
|
||||
- ./run.sh features/sharing-v1-part3.feature
|
||||
when:
|
||||
matrix:
|
||||
TESTS: integration-sharing-v1-part3
|
||||
integration-checksums-v1:
|
||||
image: nextcloudci/integration-php7.0:integration-php7.0-6
|
||||
commands:
|
||||
- ./occ maintenance:install --admin-pass=admin
|
||||
- cd build/integration
|
||||
- ./run.sh features/checksums.feature
|
||||
when:
|
||||
matrix:
|
||||
TESTS: integration-checksums
|
||||
integration-external-storage:
|
||||
image: nextcloudci/integration-php7.0:integration-php7.0-6
|
||||
commands:
|
||||
- ./occ maintenance:install --admin-pass=admin
|
||||
- cd build/integration
|
||||
- ./run.sh features/external-storage.feature
|
||||
when:
|
||||
matrix:
|
||||
TESTS: integration-external-storage
|
||||
integration-provisioning-v1:
|
||||
image: nextcloudci/integration-php7.0:integration-php7.0-6
|
||||
commands:
|
||||
- ./occ maintenance:install --admin-pass=admin
|
||||
- cd build/integration
|
||||
- ./run.sh features/provisioning-v1.feature
|
||||
when:
|
||||
matrix:
|
||||
TESTS: integration-provisioning-v1
|
||||
integration-tags:
|
||||
image: nextcloudci/integration-php7.0:integration-php7.0-6
|
||||
commands:
|
||||
- ./occ maintenance:install --admin-pass=admin
|
||||
- cd build/integration
|
||||
- ./run.sh features/tags.feature
|
||||
when:
|
||||
matrix:
|
||||
TESTS: integration-tags
|
||||
integration-caldav:
|
||||
image: nextcloudci/integration-php7.0:integration-php7.0-6
|
||||
commands:
|
||||
- ./occ maintenance:install --admin-pass=admin
|
||||
- cd build/integration
|
||||
- ./run.sh features/caldav.feature
|
||||
when:
|
||||
matrix:
|
||||
TESTS: integration-caldav
|
||||
integration-comments:
|
||||
image: nextcloudci/integration-php7.0:integration-php7.0-6
|
||||
commands:
|
||||
- ./occ maintenance:install --admin-pass=admin
|
||||
- cd build/integration
|
||||
- ./run.sh features/comments.feature
|
||||
when:
|
||||
matrix:
|
||||
TESTS: integration-comments
|
||||
integration-favorites:
|
||||
image: nextcloudci/integration-php7.0:integration-php7.0-6
|
||||
commands:
|
||||
- ./occ maintenance:install --admin-pass=admin
|
||||
- cd build/integration
|
||||
- ./run.sh features/favorites.feature
|
||||
when:
|
||||
matrix:
|
||||
TESTS: integration-favorites
|
||||
integration-provisioning-v2:
|
||||
image: nextcloudci/integration-php7.0:integration-php7.0-6
|
||||
commands:
|
||||
- ./occ maintenance:install --admin-pass=admin
|
||||
- cd build/integration
|
||||
- ./run.sh features/provisioning-v2.feature
|
||||
when:
|
||||
matrix:
|
||||
TESTS: integration-provisioning-v2
|
||||
integration-webdav-related:
|
||||
image: nextcloudci/integration-php7.0:integration-php7.0-6
|
||||
commands:
|
||||
- ./occ maintenance:install --admin-pass=admin
|
||||
- cd build/integration
|
||||
- ./run.sh features/webdav-related.feature
|
||||
when:
|
||||
matrix:
|
||||
TESTS: integration-webdav-related
|
||||
integration-sharees-features:
|
||||
image: nextcloudci/integration-php7.0:integration-php7.0-6
|
||||
commands:
|
||||
- ./occ maintenance:install --admin-pass=admin
|
||||
- cd build/integration
|
||||
- ./run.sh sharees_features/sharees.feature
|
||||
when:
|
||||
matrix:
|
||||
TESTS: integration-sharees-features
|
||||
integration-sharees-v2-features:
|
||||
image: nextcloudci/integration-php7.0:integration-php7.0-6
|
||||
commands:
|
||||
- ./occ maintenance:install --admin-pass=admin
|
||||
- cd build/integration
|
||||
- ./run.sh sharees_features/sharees_provisioningapiv2.feature
|
||||
when:
|
||||
matrix:
|
||||
TESTS: integration-sharees-v2-features
|
||||
integration-setup-features:
|
||||
image: nextcloudci/integration-php7.0:integration-php7.0-6
|
||||
commands:
|
||||
- cd build/integration
|
||||
- ./run.sh setup_features/setup.feature
|
||||
when:
|
||||
matrix:
|
||||
TESTS: integration-setup-features
|
||||
integration-filesdrop-features:
|
||||
image: nextcloudci/integration-php7.0:integration-php7.0-6
|
||||
commands:
|
||||
- ./occ maintenance:install --admin-pass=admin
|
||||
- cd build/integration
|
||||
- ./run.sh filesdrop_features/filesdrop.feature
|
||||
when:
|
||||
matrix:
|
||||
TESTS: integration-filesdrop-features
|
||||
integration-transfer-ownership-features:
|
||||
image: nextcloudci/integration-php7.0:integration-php7.0-6
|
||||
commands:
|
||||
- ./occ maintenance:install --admin-pass=admin
|
||||
- cd build/integration
|
||||
- ./run.sh features/transfer-ownership.feature
|
||||
when:
|
||||
matrix:
|
||||
TESTS: integration-transfer-ownership-features
|
||||
integration-ldap-features:
|
||||
image: nextcloudci/integration-php7.0:integration-php7.0-6
|
||||
commands:
|
||||
- ./occ maintenance:install --admin-pass=admin
|
||||
- ./occ app:enable user_ldap
|
||||
- cd build/integration
|
||||
- ./run.sh ldap_features/ldap-ocs.feature
|
||||
when:
|
||||
matrix:
|
||||
TESTS: integration-ldap-features
|
||||
integration-trashbin:
|
||||
image: nextcloudci/integration-php7.0:integration-php7.0-6
|
||||
commands:
|
||||
- ./occ maintenance:install --admin-pass=admin
|
||||
- cd build/integration
|
||||
- ./run.sh features/trashbin.feature
|
||||
when:
|
||||
matrix:
|
||||
TESTS: integration-trashbin
|
||||
acceptance-access-levels:
|
||||
image: nextcloudci/integration-php7.0:integration-php7.0-6
|
||||
commands:
|
||||
- tests/acceptance/run-local.sh --timeout-multiplier 10 --nextcloud-server-domain acceptance-access-levels --selenium-server selenium:4444 allow-git-repository-modifications features/access-levels.feature
|
||||
when:
|
||||
matrix:
|
||||
TESTS-ACCEPTANCE: access-levels
|
||||
acceptance-app-files:
|
||||
image: nextcloudci/integration-php7.0:integration-php7.0-6
|
||||
commands:
|
||||
- tests/acceptance/run-local.sh --timeout-multiplier 10 --nextcloud-server-domain acceptance-app-files --selenium-server selenium:4444 allow-git-repository-modifications features/app-files.feature
|
||||
when:
|
||||
matrix:
|
||||
TESTS-ACCEPTANCE: app-files
|
||||
acceptance-app-theming:
|
||||
image: nextcloudci/integration-php7.0:integration-php7.0-6
|
||||
commands:
|
||||
- tests/acceptance/run-local.sh --timeout-multiplier 10 --nextcloud-server-domain acceptance-app-theming --selenium-server selenium:4444 allow-git-repository-modifications features/app-theming.feature
|
||||
when:
|
||||
matrix:
|
||||
TESTS-ACCEPTANCE: app-theming
|
||||
acceptance-login:
|
||||
image: nextcloudci/integration-php7.0:integration-php7.0-6
|
||||
commands:
|
||||
- tests/acceptance/run-local.sh --timeout-multiplier 10 --nextcloud-server-domain acceptance-login --selenium-server selenium:4444 allow-git-repository-modifications features/login.feature
|
||||
when:
|
||||
matrix:
|
||||
TESTS-ACCEPTANCE: login
|
||||
nodb-codecov:
|
||||
image: nextcloudci/php7.0:php7.0-16
|
||||
commands:
|
||||
- phpenmod xdebug
|
||||
- TEST_SELECTION=NODB ./autotest.sh sqlite
|
||||
- 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 117641e2-a9e8-4b7b-984b-ae872d9b05f5 -f tests/autotest-clover-sqlite.xml; fi"
|
||||
- sh -c "if [ '$DRONE_BUILD_EVENT' != 'pull_request' ]; then bash codecov.sh -B $DRONE_BRANCH -C $DRONE_COMMIT -t 117641e2-a9e8-4b7b-984b-ae872d9b05f5 -f tests/autotest-clover-sqlite.xml; fi"
|
||||
when:
|
||||
matrix:
|
||||
TESTS: nodb-codecov
|
||||
db-codecov:
|
||||
image: nextcloudci/php7.0:php7.0-16
|
||||
commands:
|
||||
- phpenmod xdebug
|
||||
- TEST_SELECTION=QUICKDB ./autotest.sh sqlite
|
||||
- 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 117641e2-a9e8-4b7b-984b-ae872d9b05f5 -f tests/autotest-clover-sqlite.xml; fi"
|
||||
- sh -c "if [ '$DRONE_BUILD_EVENT' != 'pull_request' ]; then bash codecov.sh -B $DRONE_BRANCH -C $DRONE_COMMIT -t 117641e2-a9e8-4b7b-984b-ae872d9b05f5 -f tests/autotest-clover-sqlite.xml; fi"
|
||||
when:
|
||||
matrix:
|
||||
TESTS: db-codecov
|
||||
object-store:
|
||||
image: nextcloudci/php7.0:php7.0-16
|
||||
commands:
|
||||
- phpenmod xdebug
|
||||
- TEST_SELECTION=PRIMARY-${OBJECT_STORE} ./autotest.sh sqlite
|
||||
- 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 117641e2-a9e8-4b7b-984b-ae872d9b05f5 -f tests/autotest-clover-sqlite.xml; fi"
|
||||
- sh -c "if [ '$DRONE_BUILD_EVENT' != 'pull_request' ]; then bash codecov.sh -B $DRONE_BRANCH -C $DRONE_COMMIT -t 117641e2-a9e8-4b7b-984b-ae872d9b05f5 -f tests/autotest-clover-sqlite.xml; fi"
|
||||
when:
|
||||
matrix:
|
||||
TESTS: object-store
|
||||
memcache-memcached:
|
||||
image: nextcloudci/php7.0-memcached:php7.0-memcached-8
|
||||
commands:
|
||||
- phpenmod xdebug
|
||||
- service memcached restart
|
||||
- ./autotest.sh sqlite tests/lib/Memcache/MemcachedTest.php
|
||||
- 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 117641e2-a9e8-4b7b-984b-ae872d9b05f5 -f tests/autotest-clover-sqlite.xml; fi"
|
||||
- sh -c "if [ '$DRONE_BUILD_EVENT' != 'pull_request' ]; then bash codecov.sh -B $DRONE_BRANCH -C $DRONE_COMMIT -t 117641e2-a9e8-4b7b-984b-ae872d9b05f5 -f tests/autotest-clover-sqlite.xml; fi"
|
||||
when:
|
||||
matrix:
|
||||
TEST: memcache-memcached
|
||||
memcache-redis-cluster:
|
||||
image: nextcloudci/php7.0:php7.0-17
|
||||
commands:
|
||||
- phpenmod xdebug
|
||||
- sleep 20
|
||||
- ./autotest.sh sqlite tests/lib/Memcache/RedisTest.php
|
||||
- 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 117641e2-a9e8-4b7b-984b-ae872d9b05f5 -f tests/autotest-clover-sqlite.xml; fi"
|
||||
- sh -c "if [ '$DRONE_BUILD_EVENT' != 'pull_request' ]; then bash codecov.sh -B $DRONE_BRANCH -C $DRONE_COMMIT -t 117641e2-a9e8-4b7b-984b-ae872d9b05f5 -f tests/autotest-clover-sqlite.xml; fi"
|
||||
when:
|
||||
matrix:
|
||||
TEST: memcache-redis-cluster
|
||||
matrix:
|
||||
include:
|
||||
- TESTS: checkers
|
||||
- TESTS: nodb-codecov
|
||||
ENABLE_REDIS: true
|
||||
- TESTS: db-codecov
|
||||
ENABLE_REDIS: true
|
||||
- TESTS: integration-capabilities_features
|
||||
- TESTS: integration-federation_features
|
||||
- TESTS: integration-maintenance-mode
|
||||
- TESTS: integration-ratelimiting
|
||||
ENABLE_REDIS: true
|
||||
- TESTS: integration-auth
|
||||
- TESTS: integration-carddav
|
||||
- TESTS: integration-dav-v2
|
||||
- TESTS: integration-ocs-v1
|
||||
- TESTS: integration-sharing-v1
|
||||
- TESTS: integration-sharing-v1-part2
|
||||
- TESTS: integration-sharing-v1-part3
|
||||
- TESTS: integration-checksums
|
||||
- TESTS: integration-external-storage
|
||||
- TESTS: integration-provisioning-v1
|
||||
- TESTS: integration-tags
|
||||
- TESTS: integration-caldav
|
||||
- TESTS: integration-comments
|
||||
- TESTS: integration-favorites
|
||||
- TESTS: integration-provisioning-v2
|
||||
- TESTS: integration-webdav-related
|
||||
- TESTS: integration-sharees-features
|
||||
- TESTS: integration-sharees-v2-features
|
||||
- TESTS: integration-setup-features
|
||||
- TESTS: integration-filesdrop-features
|
||||
- TESTS: integration-transfer-ownership-features
|
||||
- TESTS: integration-ldap-features
|
||||
- TESTS: integration-trashbin
|
||||
- TESTS: acceptance
|
||||
TESTS-ACCEPTANCE: access-levels
|
||||
- TESTS: acceptance
|
||||
TESTS-ACCEPTANCE: app-files
|
||||
- TESTS: acceptance
|
||||
TESTS-ACCEPTANCE: app-theming
|
||||
- TESTS: acceptance
|
||||
TESTS-ACCEPTANCE: login
|
||||
- TESTS: jsunit
|
||||
- TESTS: syntax-php5.6
|
||||
- TESTS: syntax-php7.0
|
||||
- TESTS: syntax-php7.1
|
||||
- TESTS: litmus-v1
|
||||
- TESTS: litmus-v2
|
||||
- TESTS: caldavtester-old-endpoint
|
||||
- TESTS: caldavtester-new-endpoint
|
||||
- TESTS: carddavtester-new-endpoint
|
||||
- TESTS: carddavtester-old-endpoint
|
||||
- TESTS: object-store
|
||||
OBJECT_STORE: s3
|
||||
- TESTS: sqlite-php7.0-samba-native
|
||||
- TESTS: sqlite-php7.0-samba-non-native
|
||||
- TEST: memcache-memcached
|
||||
- TEST: memcache-redis-cluster
|
||||
ENABLE_REDIS_CLUSTER: true
|
||||
- TESTS: sqlite-php7.0-webdav-apache
|
||||
ENABLE_REDIS: true
|
||||
- DB: NODB
|
||||
PHP: 5.6
|
||||
ENABLE_REDIS: true
|
||||
- DB: NODB
|
||||
PHP: 7.0
|
||||
ENABLE_REDIS: true
|
||||
- DB: NODB
|
||||
PHP: 7.1
|
||||
ENABLE_REDIS: true
|
||||
- DB: sqlite
|
||||
PHP: 5.6
|
||||
ENABLE_REDIS: true
|
||||
- DB: sqlite
|
||||
PHP: 7.0
|
||||
ENABLE_REDIS: true
|
||||
- DB: sqlite
|
||||
PHP: 7.1
|
||||
ENABLE_REDIS: true
|
||||
- DB: mysql
|
||||
PHP: 5.6
|
||||
ENABLE_REDIS: true
|
||||
- DB: postgres
|
||||
PHP: 5.6
|
||||
ENABLE_REDIS: true
|
||||
- DB: mysqlmb4
|
||||
PHP: 5.6
|
||||
ENABLE_REDIS: true
|
||||
|
||||
services:
|
||||
cache:
|
||||
image: redis
|
||||
when:
|
||||
matrix:
|
||||
ENABLE_REDIS: true
|
||||
cache-cluster:
|
||||
image: morrisjobke/redis-cluster
|
||||
when:
|
||||
matrix:
|
||||
ENABLE_REDIS_CLUSTER: true
|
||||
postgres:
|
||||
image: postgres:9
|
||||
environment:
|
||||
- POSTGRES_USER=oc_autotest
|
||||
- POSTGRES_DB=oc_autotest_dummy
|
||||
- POSTGRES_PASSWORD=owncloud
|
||||
tmpfs:
|
||||
- /var/lib/postgresql/data
|
||||
when:
|
||||
matrix:
|
||||
DB: postgres
|
||||
mysql:
|
||||
image: mysql:5.7.22
|
||||
environment:
|
||||
- MYSQL_ROOT_PASSWORD=owncloud
|
||||
- MYSQL_USER=oc_autotest
|
||||
- MYSQL_PASSWORD=owncloud
|
||||
- MYSQL_DATABASE=oc_autotest
|
||||
tmpfs:
|
||||
- /var/lib/mysql
|
||||
when:
|
||||
matrix:
|
||||
DB: mysql
|
||||
mysqlmb4:
|
||||
image: mysql:5.7.22
|
||||
environment:
|
||||
- MYSQL_ROOT_PASSWORD=owncloud
|
||||
- MYSQL_USER=oc_autotest
|
||||
- MYSQL_PASSWORD=owncloud
|
||||
- MYSQL_DATABASE=oc_autotest
|
||||
command: [ "--innodb_large_prefix=true", "--innodb_file_format=barracuda", "--innodb_file_per_table=true" ]
|
||||
tmpfs:
|
||||
- /var/lib/mysql
|
||||
when:
|
||||
matrix:
|
||||
DB: mysqlmb4
|
||||
fake-s3:
|
||||
image: lphoward/fake-s3
|
||||
when:
|
||||
matrix:
|
||||
OBJECT_STORE: s3
|
||||
selenium:
|
||||
image: selenium/standalone-firefox:2.53.1-beryllium
|
||||
environment:
|
||||
# Reduce default log level for Selenium server (INFO) as it is too
|
||||
# verbose.
|
||||
- JAVA_OPTS=-Dselenium.LOGGER.level=WARNING
|
||||
when:
|
||||
matrix:
|
||||
TESTS: acceptance
|
||||
|
||||
branches: [ master, stable* ]
|
||||
+3
-16
@@ -3,13 +3,9 @@
|
||||
/owncloud
|
||||
/config/config.php
|
||||
/config/*.config.php
|
||||
/config/mimetype*.json
|
||||
/config/mount.php
|
||||
/apps/inc.php
|
||||
/assets
|
||||
/.htaccess
|
||||
/translationfiles
|
||||
/translationtool.phar
|
||||
|
||||
# ignore all apps except core ones
|
||||
/apps*/*
|
||||
@@ -18,23 +14,16 @@
|
||||
!/apps/files
|
||||
!/apps/federation
|
||||
!/apps/federatedfilesharing
|
||||
!/apps/sharebymail
|
||||
!/apps/encryption
|
||||
!/apps/files_external
|
||||
!/apps/files_sharing
|
||||
!/apps/files_trashbin
|
||||
!/apps/files_versions
|
||||
!/apps/lookup_server_connector
|
||||
!/apps/user_ldap
|
||||
!/apps/oauth2
|
||||
!/apps/provisioning_api
|
||||
!/apps/systemtags
|
||||
!/apps/testing
|
||||
!/apps/admin_audit
|
||||
!/apps/updatenotification
|
||||
!/apps/theming
|
||||
!/apps/twofactor_backupcodes
|
||||
!/apps/workflowengine
|
||||
/apps/files_external/3rdparty/irodsphp/PHPUnitTest
|
||||
/apps/files_external/3rdparty/irodsphp/web
|
||||
/apps/files_external/3rdparty/irodsphp/prods/test
|
||||
@@ -43,6 +32,7 @@
|
||||
/apps/files_external/tests/config.*.php
|
||||
|
||||
|
||||
|
||||
# ignore themes except the example and the README
|
||||
/themes/*
|
||||
!/themes/example
|
||||
@@ -76,7 +66,7 @@ RCS/*
|
||||
.project
|
||||
.settings
|
||||
|
||||
# netbeans
|
||||
# netbeans
|
||||
nbproject
|
||||
|
||||
# phpStorm
|
||||
@@ -95,7 +85,7 @@ nbproject
|
||||
|
||||
# ack(-grep)
|
||||
.ackrc
|
||||
|
||||
|
||||
# Mac OS
|
||||
.DS_Store
|
||||
|
||||
@@ -110,11 +100,9 @@ nbproject
|
||||
/build/node_modules/
|
||||
|
||||
# nodejs
|
||||
/build/bin
|
||||
/build/lib/
|
||||
/build/jsdocs/
|
||||
/npm-debug.log
|
||||
/PhantomJS_*
|
||||
|
||||
# puphpet
|
||||
puphpet
|
||||
@@ -126,7 +114,6 @@ Vagrantfile
|
||||
# Tests - auto-generated files
|
||||
/data-autotest
|
||||
/tests/coverage*
|
||||
/tests/css
|
||||
/tests/karma-coverage
|
||||
/tests/autoconfig*
|
||||
/tests/autotest*
|
||||
|
||||
+1
-1
@@ -1,3 +1,3 @@
|
||||
[submodule "3rdparty"]
|
||||
path = 3rdparty
|
||||
url = https://github.com/nextcloud/3rdparty.git
|
||||
url = https://github.com/owncloud/3rdparty.git
|
||||
|
||||
@@ -14,24 +14,20 @@
|
||||
Header set X-Content-Type-Options "nosniff"
|
||||
Header set X-XSS-Protection "1; mode=block"
|
||||
Header set X-Robots-Tag "none"
|
||||
Header set X-Frame-Options "SAMEORIGIN"
|
||||
Header set X-Download-Options "noopen"
|
||||
Header set X-Permitted-Cross-Domain-Policies "none"
|
||||
SetEnv modHeadersAvailable true
|
||||
</IfModule>
|
||||
|
||||
# Add cache control for static resources
|
||||
<FilesMatch "\.(css|js|svg|gif)$">
|
||||
Header set Cache-Control "max-age=15778463"
|
||||
</FilesMatch>
|
||||
|
||||
# Let browsers cache WOFF files for a week
|
||||
<FilesMatch "\.woff$">
|
||||
Header set Cache-Control "max-age=604800"
|
||||
# Add cache control for CSS and JS files
|
||||
<FilesMatch "\.(css|js)$">
|
||||
Header set Cache-Control "max-age=7200, public"
|
||||
</FilesMatch>
|
||||
</IfModule>
|
||||
<IfModule mod_php5.c>
|
||||
php_value upload_max_filesize 511M
|
||||
php_value post_max_size 511M
|
||||
php_value upload_max_filesize 513M
|
||||
php_value post_max_size 513M
|
||||
php_value memory_limit 512M
|
||||
php_value mbstring.func_overload 0
|
||||
php_value always_populate_raw_post_data -1
|
||||
@@ -42,8 +38,8 @@
|
||||
</IfModule>
|
||||
</IfModule>
|
||||
<IfModule mod_php7.c>
|
||||
php_value upload_max_filesize 511M
|
||||
php_value post_max_size 511M
|
||||
php_value upload_max_filesize 513M
|
||||
php_value post_max_size 513M
|
||||
php_value memory_limit 512M
|
||||
php_value mbstring.func_overload 0
|
||||
php_value default_charset 'UTF-8'
|
||||
@@ -54,8 +50,6 @@
|
||||
</IfModule>
|
||||
<IfModule mod_rewrite.c>
|
||||
RewriteEngine on
|
||||
RewriteCond %{HTTP_USER_AGENT} DavClnt
|
||||
RewriteRule ^$ /remote.php/webdav/ [L,R=302]
|
||||
RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
|
||||
RewriteRule ^\.well-known/host-meta /public.php?service=host-meta [QSA,L]
|
||||
RewriteRule ^\.well-known/host-meta\.json /public.php?service=host-meta-json [QSA,L]
|
||||
@@ -63,7 +57,7 @@
|
||||
RewriteRule ^\.well-known/caldav /remote.php/dav/ [R=301,L]
|
||||
RewriteRule ^remote/(.*) remote.php [QSA,L]
|
||||
RewriteRule ^(?:build|tests|config|lib|3rdparty|templates)/.* - [R=404,L]
|
||||
RewriteCond %{REQUEST_URI} !^/.well-known/(acme-challenge|pki-validation)/.*
|
||||
RewriteCond %{REQUEST_URI} !^/.well-known/acme-challenge/.*
|
||||
RewriteRule ^(?:\.|autotest|occ|issue|indie|db_|console).* - [R=404,L]
|
||||
</IfModule>
|
||||
<IfModule mod_mime.c>
|
||||
|
||||
@@ -39,7 +39,6 @@ Björn Schießle <bjoern@schiessle.org> Björn Schießle <schiesbn@potato.(none)
|
||||
Björn Schießle <bjoern@schiessle.org> Björn Schiessle <schiessle@owncloud.com>
|
||||
Björn Schießle <bjoern@schiessle.org> Bjoern Schießle <schiessle@owncloud.com>
|
||||
Björn Schießle <bjoern@schiessle.org> Bjoern Schiessle <schiessle@owncloud.com>
|
||||
Björn Schießle <bjoern@schiessle.org> Björn Schießle <schiessle@owncloud.com>
|
||||
BlackEagle <ike.devolder@gmail.com>
|
||||
Boris Rybalkin <ribalkin@gmail.com>
|
||||
Borjan Tchakaloff <borjan@tchakaloff.fr>
|
||||
@@ -303,18 +302,18 @@ Riccardo Iaconelli <riccardo@kde.org>
|
||||
Richard Clarkson <robert@trash-mail.com>
|
||||
rnveach <rveach02@gmail.com>
|
||||
Robert Jäckel <rjaeckel@users.noreply.github.com>
|
||||
Robin Appelman <robin@icewind.nl> icewind1991 <icewind1991@gmail.com>
|
||||
Robin Appelman <robin@icewind.nl> icewind1991 <robin@icewind.nl>
|
||||
Robin Appelman <robin@icewind.nl> Robin <Robin Appelman icewind1991@gmail.com>
|
||||
Robin Appelman <robin@icewind.nl> Robin <robin@Amaya.(none)>
|
||||
Robin Appelman <robin@icewind.nl> Robin Appelman <icewind1991@gmail.com>
|
||||
Robin Appelman <robin@icewind.nl> Robin Appelman <icewind1991@gmail>
|
||||
Robin Appelman <robin@icewind.nl> Robin Appelman <icewind@owncloud.com>
|
||||
Robin Appelman <icewind@owncloud.com> icewind1991 <icewind1991@gmail.com>
|
||||
Robin Appelman <icewind@owncloud.com> icewind1991 <robin@icewind.nl>
|
||||
Robin Appelman <icewind@owncloud.com> Robin <Robin Appelman icewind1991@gmail.com>
|
||||
Robin Appelman <icewind@owncloud.com> Robin <robin@Amaya.(none)>
|
||||
Robin Appelman <icewind@owncloud.com> Robin Appelman <icewind1991@gmail.com>
|
||||
Robin Appelman <icewind@owncloud.com> Robin Appelman <icewind1991@gmail>
|
||||
Robin Appelman <icewind@owncloud.com> Robin Appelman <robin@icewind.nl>
|
||||
Robin McCorkell <robin@mccorkell.me.uk> Robin McCorkell <rmccorkell@karoshi.org.uk>
|
||||
Robin McCorkell <robin@mccorkell.me.uk> Robin McCorkell <rmccorkell@owncloud.com>
|
||||
Rodrigo Hjort <rodrigo.hjort@gmail.com>
|
||||
Roeland Jago Douma <roeland@famdouma.nl> Roeland Jago Douma <rullzer@owncloud.com>
|
||||
Roeland Jago Douma <roeland@famdouma.nl> Roeland Douma <rullzer@users.noreply.github.com>
|
||||
Roeland Jago Douma <rullzer@owncloud.com> Roeland Jago Douma <roeland@famdouma.nl>
|
||||
Roeland Jago Douma <rullzer@owncloud.com> Roeland Douma <rullzer@users.noreply.github.com>
|
||||
rok <brejktru@gmail.com>
|
||||
Roland Hager <roland.hager@tu-berlin.de>
|
||||
Roland van Laar <roland@micite.net>
|
||||
|
||||
+8
-9
@@ -2,6 +2,12 @@
|
||||
"maxReviewers": 3,
|
||||
"numFilesToCheck": 5,
|
||||
"alwaysNotifyForPaths": [
|
||||
{
|
||||
"name": "DeepDiver1975",
|
||||
"files": [
|
||||
"apps/dav/**"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "nickvergessen",
|
||||
"files": [
|
||||
@@ -19,16 +25,9 @@
|
||||
}
|
||||
],
|
||||
"userBlacklist": [
|
||||
"DeepDiver1975",
|
||||
"nextcloud-bot",
|
||||
"owncloud-bot",
|
||||
"PVince81",
|
||||
"scrutinizer-auto-fixer",
|
||||
"th3fallen",
|
||||
"zander",
|
||||
"luckydonald",
|
||||
"jancborchardt"
|
||||
],
|
||||
"createReviewRequest": true,
|
||||
"createComment": false
|
||||
"zander"
|
||||
]
|
||||
}
|
||||
|
||||
+55
@@ -0,0 +1,55 @@
|
||||
sudo: false
|
||||
language: php
|
||||
php:
|
||||
- 5.4
|
||||
|
||||
env:
|
||||
global:
|
||||
- TEST_DAV=$(tests/travis/changed_app.sh dav)
|
||||
- TC=litmus-v2
|
||||
matrix:
|
||||
- DB=sqlite
|
||||
|
||||
branches:
|
||||
only:
|
||||
- master
|
||||
- /^stable\d+(\.\d+)?$/
|
||||
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- realpath
|
||||
|
||||
before_install:
|
||||
- sh -c "if [ '$TEST_DAV' = '1' ]; then bash tests/travis/before_install.sh $DB; fi"
|
||||
|
||||
install:
|
||||
- sh -c "if [ '$TEST_DAV' = '1' ]; then bash tests/travis/install.sh $DB; fi"
|
||||
- sh -c "if [ '$TEST_DAV' = '1' ]; then bash apps/dav/tests/travis/$TC/install.sh; fi"
|
||||
|
||||
|
||||
script:
|
||||
- sh -c "if [ '$TC' = 'syntax' ]; then 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 .; fi"
|
||||
- sh -c "if [ '$TEST_DAV' != '1' ]; then echo \"Not testing DAV\"; fi"
|
||||
- sh -c "if [ '$TEST_DAV' = '1' ]; then echo \"Testing DAV\"; fi"
|
||||
|
||||
- sh -c "if [ '$TEST_DAV' = '1' ]; then bash apps/dav/tests/travis/$TC/script.sh; fi"
|
||||
|
||||
matrix:
|
||||
include:
|
||||
- php: 5.4
|
||||
env: DB=pgsql;TC=litmus-v1
|
||||
- php: 5.4
|
||||
env: DB=sqlite;TC=carddav
|
||||
- php: 5.4
|
||||
env: DB=sqlite;TC=caldav
|
||||
- php: 5.4
|
||||
env: DB=sqlite;TC=syntax;TEST_DAV=0
|
||||
- php: 5.5
|
||||
env: DB=sqlite;TC=syntax;TEST_DAV=0
|
||||
- php: 5.6
|
||||
env: DB=sqlite;TC=syntax;TEST_DAV=0
|
||||
- php: 7.0
|
||||
env: DB=sqlite;TC=syntax;TEST_DAV=0
|
||||
|
||||
fast_finish: true
|
||||
-129
@@ -1,129 +0,0 @@
|
||||
[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.core]
|
||||
file_filter = translationfiles/<lang>/core.po
|
||||
source_file = translationfiles/templates/core.pot
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[nextcloud.files]
|
||||
file_filter = translationfiles/<lang>/files.po
|
||||
source_file = translationfiles/templates/files.pot
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[nextcloud.settings-1]
|
||||
file_filter = translationfiles/<lang>/settings.po
|
||||
source_file = translationfiles/templates/settings.pot
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[nextcloud.lib]
|
||||
file_filter = translationfiles/<lang>/lib.po
|
||||
source_file = translationfiles/templates/lib.pot
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[nextcloud.dav]
|
||||
file_filter = translationfiles/<lang>/dav.po
|
||||
source_file = translationfiles/templates/dav.pot
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[nextcloud.files_encryption]
|
||||
file_filter = translationfiles/<lang>/encryption.po
|
||||
source_file = translationfiles/templates/encryption.pot
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[nextcloud.files_external]
|
||||
file_filter = translationfiles/<lang>/files_external.po
|
||||
source_file = translationfiles/templates/files_external.pot
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[nextcloud.files_sharing]
|
||||
file_filter = translationfiles/<lang>/files_sharing.po
|
||||
source_file = translationfiles/templates/files_sharing.pot
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[nextcloud.files_trashbin]
|
||||
file_filter = translationfiles/<lang>/files_trashbin.po
|
||||
source_file = translationfiles/templates/files_trashbin.pot
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[nextcloud.files_versions]
|
||||
file_filter = translationfiles/<lang>/files_versions.po
|
||||
source_file = translationfiles/templates/files_versions.pot
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[nextcloud.user_ldap]
|
||||
file_filter = translationfiles/<lang>/user_ldap.po
|
||||
source_file = translationfiles/templates/user_ldap.pot
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[nextcloud.comments]
|
||||
file_filter = translationfiles/<lang>/comments.po
|
||||
source_file = translationfiles/templates/comments.pot
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[nextcloud.federatedfilesharing]
|
||||
file_filter = translationfiles/<lang>/federatedfilesharing.po
|
||||
source_file = translationfiles/templates/federatedfilesharing.pot
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[nextcloud.federation]
|
||||
file_filter = translationfiles/<lang>/federation.po
|
||||
source_file = translationfiles/templates/federation.pot
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[nextcloud.oauth2]
|
||||
file_filter = translationfiles/<lang>/oauth2.po
|
||||
source_file = translationfiles/templates/oauth2.pot
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[nextcloud.sharebymail]
|
||||
file_filter = translationfiles/<lang>/sharebymail.po
|
||||
source_file = translationfiles/templates/sharebymail.pot
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[nextcloud.systemtags]
|
||||
file_filter = translationfiles/<lang>/systemtags.po
|
||||
source_file = translationfiles/templates/systemtags.pot
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[nextcloud.updatenotification]
|
||||
file_filter = translationfiles/<lang>/updatenotification.po
|
||||
source_file = translationfiles/templates/updatenotification.pot
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[nextcloud.theming]
|
||||
file_filter = translationfiles/<lang>/theming.po
|
||||
source_file = translationfiles/templates/theming.pot
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[nextcloud.twofactor_backupcodes]
|
||||
file_filter = translationfiles/<lang>/twofactor_backupcodes.po
|
||||
source_file = translationfiles/templates/twofactor_backupcodes.pot
|
||||
source_lang = en
|
||||
type = PO
|
||||
|
||||
[nextcloud.workflowengine]
|
||||
file_filter = translationfiles/<lang>/workflowengine.po
|
||||
source_file = translationfiles/templates/workflowengine.pot
|
||||
source_lang = en
|
||||
type = PO
|
||||
@@ -1,5 +1,5 @@
|
||||
upload_max_filesize=511M
|
||||
post_max_size=511M
|
||||
upload_max_filesize=513M
|
||||
post_max_size=513M
|
||||
memory_limit=512M
|
||||
mbstring.func_overload=0
|
||||
always_populate_raw_post_data=-1
|
||||
|
||||
+1
-1
Submodule 3rdparty updated: 361584bd13...f65a242bbd
@@ -1,6 +1,5 @@
|
||||
Nextcloud is written by:
|
||||
ownCloud is written by:
|
||||
- AW-UC <git@a-wesemann.de>
|
||||
- Aaron Wood <aaronjwood@gmail.com>
|
||||
- Achim Königs <garfonso@tratschtante.de>
|
||||
- Adam Williamson <awilliam@redhat.com>
|
||||
- Administrator <Administrator@WINDOWS-2012>
|
||||
@@ -19,16 +18,14 @@ Nextcloud is written by:
|
||||
- Bernhard Posselt <dev@bernhard-posselt.com>
|
||||
- Bernhard Reiter <ockham@raz.or.at>
|
||||
- Birk Borkason <daniel.niccoli@gmail.com>
|
||||
- Bjoern Schiessle <bjoern@schiessle.org>
|
||||
- Björn Schießle <bjoern@schiessle.org>
|
||||
- Borjan Tchakaloff <borjan@tchakaloff.fr>
|
||||
- Brice Maron <brice@bmaron.net>
|
||||
- Byron Marohn <combustible@live.com>
|
||||
- C Montero-Luque <cml@owncloud.com>
|
||||
- Carla Schroder <carla@owncloud.com>
|
||||
- Carlos Cerrillo <ccerrillo@gmail.com>
|
||||
- Carlos Damken <carlos@damken.com>
|
||||
- Christian Berendt <berendt@b1-systems.de>
|
||||
- Christian Jürges <christian@eqipe.ch>
|
||||
- Christian Kampka <christian@kampka.net>
|
||||
- Christian Weiske <cweiske@cweiske.de>
|
||||
- Christoph Schaefer <christophł@wolkesicher.de>
|
||||
@@ -43,13 +40,12 @@ Nextcloud is written by:
|
||||
- Daniel Molkentin <daniel@molkentin.de>
|
||||
- Daniel Tosello <tosello.daniel@gmail.com>
|
||||
- David Prévot <taffit@debian.org>
|
||||
- David Toledo <dtoledo@solidgear.es>
|
||||
- Dominik Schmidt <dev@dominik-schmidt.de>
|
||||
- Edward Crompton <edward.crompton@gmail.com>
|
||||
- Fabian Henze <flyser42@gmx.de>
|
||||
- Faruk Uzun <farukuzun@collabora.com>
|
||||
- Felix Böhm <felixboehm@gmx.de>
|
||||
- Felix Moeller <mail@felixmoeller.de>
|
||||
- Florian Preinstorfer <nblock@archlinux.us>
|
||||
- Florian Pritz <bluewind@xinu.at>
|
||||
- Florin Peter <github@florin-peter.de>
|
||||
- Francesco Rovelli <francesco.rovelli@gmail.com>
|
||||
@@ -70,13 +66,11 @@ Nextcloud is written by:
|
||||
- Jens-Christian Fischer <jens-christian.fischer@switch.ch>
|
||||
- Jesús Macias <jmacias@solidgear.es>
|
||||
- Joachim Bauch <bauch@struktur.de>
|
||||
- Joachim Sokolowski <github@sokolowski.org>
|
||||
- Joas Schilling <coding@schilljs.com>
|
||||
- Joas Schilling <nickvergessen@owncloud.com>
|
||||
- Johan Björk <johanimon@gmail.com>
|
||||
- Johannes Ernst <jernst@indiecomputing.com>
|
||||
- Johannes Willnecker <johannes@willnecker.com>
|
||||
- Jonny007-MKD <1-23-4-5@web.de>
|
||||
- Juan Pablo Villafáñez <jvillafanez@solidgear.es>
|
||||
- Jost Baron <Jost.Baron@gmx.de>
|
||||
- Julius Haertl <jus@bitgrid.net>
|
||||
- Jörn Friedrich Dreyer <jfd@butonic.de>
|
||||
- Kamil Domanski <kdomanski@kdemail.net>
|
||||
@@ -125,6 +119,7 @@ Nextcloud is written by:
|
||||
- Phil Davis <phil.davis@inf.org>
|
||||
- Philipp Kapfer <philipp.kapfer@gmx.at>
|
||||
- Philippe Jung <phil.jung@free.fr>
|
||||
- Philippe Le Brouster <plb@nebkha.net>
|
||||
- Pierre Jochem <pierrejochem@msn.com>
|
||||
- Pierre Ozoux <pierre@ozoux.net>
|
||||
- Piotr Filiciak <piotr@filiciak.pl>
|
||||
@@ -137,9 +132,9 @@ Nextcloud is written by:
|
||||
- RealRancor <Fisch.666@gmx.de>
|
||||
- Remco Brenninkmeijer <requist1@starmail.nl>
|
||||
- Renaud Fortier <Renaud.Fortier@fsaa.ulaval.ca>
|
||||
- Robin Appelman <robin@icewind.nl>
|
||||
- Robin Appelman <icewind@owncloud.com>
|
||||
- Robin McCorkell <robin@mccorkell.me.uk>
|
||||
- Roeland Jago Douma <roeland@famdouma.nl>
|
||||
- Roeland Jago Douma <rullzer@owncloud.com>
|
||||
- Roman Geber <rgeber@owncloudapps.com>
|
||||
- Roman Kreisel <mail@romankreisel.de>
|
||||
- Ross Nicoll <jrn@jrn.me.uk>
|
||||
@@ -150,8 +145,6 @@ Nextcloud is written by:
|
||||
- Sebastian Döll <sebastian.doell@libasys.de>
|
||||
- Senorsen <senorsen.zhang@gmail.com>
|
||||
- Serge Martin <edb@sigluy.net>
|
||||
- Sergio Bertolin <sbertolin@solidgear.es>
|
||||
- Sergio Bertolín <sbertolin@solidgear.es>
|
||||
- Simon Könnecke <simonkoennecke@gmail.com>
|
||||
- Sjors van der Pluijm <sjors@desjors.nl>
|
||||
- Stefan Herbrechtsmeier <stefan@herbrechtsmeier.net>
|
||||
@@ -161,16 +154,13 @@ Nextcloud is written by:
|
||||
- Stephan Peijnik <speijnik@anexia-it.com>
|
||||
- TheSFReader <TheSFReader@gmail.com>
|
||||
- Thibaut GRIDEL <tgridel@free.fr>
|
||||
- Thomas Citharel <tcit@tcit.fr>
|
||||
- Thomas Müller <thomas.mueller@tmit.eu>
|
||||
- Thomas Pulzer <t.pulzer@kniel.de>
|
||||
- Thomas Tanghus <thomas@tanghus.net>
|
||||
- Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
|
||||
- Tim Dettrick <t.dettrick@uq.edu.au>
|
||||
- Tobia De Koninck <tobia@ledfan.be>
|
||||
- Tobias Kaminsky <tobias@kaminsky.me>
|
||||
- Tom Needham <tom@owncloud.com>
|
||||
- Torben Dannhauer <torben@dannhauer.de>
|
||||
- Victor Dubiniuk <dubiniuk@owncloud.com>
|
||||
- Viktor Szépe <viktor@szepe.net>
|
||||
- Vincent Chan <plus.vincchan@gmail.com>
|
||||
@@ -184,11 +174,9 @@ Nextcloud is written by:
|
||||
- cmeh <cmeh@users.noreply.github.com>
|
||||
- dampfklon <me@dampfklon.de>
|
||||
- davidgumberg <davidnoizgumberg@gmail.com>
|
||||
- davitol <dtoledo@solidgear.es>
|
||||
- derkostka <sebastian.kostka@gmail.com>
|
||||
- eduardo <eduardo@vnexu.net>
|
||||
- fabian <fabian@web2.0-apps.de>
|
||||
- felixboehm <felix@webhippie.de>
|
||||
- goodkiller <markopraakli@gmail.com>
|
||||
- helix84 <helix84@centrum.sk>
|
||||
- hkjolhede <hkjolhede@gmail.com>
|
||||
@@ -196,14 +184,12 @@ Nextcloud is written by:
|
||||
- j-ed <juergen@eisfair.org>
|
||||
- jknockaert <jasper@knockaert.nl>
|
||||
- josh4trunks <joshruehlig@gmail.com>
|
||||
- karakayasemi <karakayasemi@itu.edu.tr>
|
||||
- macjohnny <estebanmarin@gmx.ch>
|
||||
- martin-rueegg <martin.rueegg@metaworx.ch>
|
||||
- martin.mattel@diemattels.at <martin.mattel@diemattels.at>
|
||||
- michag86 <micha_g@arcor.de>
|
||||
- mmccarn <mmccarn-github@mmsionline.us>
|
||||
- nishiki <nishiki@yaegashi.fr>
|
||||
- oparoz <owncloud@interfasys.ch>
|
||||
- root <root@oc.(none)>
|
||||
- scambra <sergio@entrecables.com>
|
||||
- scolebrook <scolebrook@mac.com>
|
||||
|
||||
@@ -1,20 +0,0 @@
|
||||
ChangeLog
|
||||
=========
|
||||
|
||||
NC 11 (2016-12-13)
|
||||
------------------
|
||||
* PHP 5.4 and 5.5 no longer supported
|
||||
* PHP 7.1 support
|
||||
* OC_L10N removed use \OCP\IL10N (#1948)
|
||||
* Preview handling is improved by sharing previews:
|
||||
* Preview sharing (shared files/external storages)
|
||||
* Previews are stored in the AppData
|
||||
* Previews are served faster by not first converting them to image objects
|
||||
* Core preview route changed:
|
||||
* Route for the urlgenerator changed from 'core_ajax_preview' to 'core.Preview.getPreview'
|
||||
* $urlGenerator->linkToRoute('core_ajax_preview', ...) => $urlGenerator->linkToRoute('core.Preview.getPreview', ...)
|
||||
* Avatars are cached
|
||||
* Avatars are moved to AppData
|
||||
* For existing avatars this happens automatically in a background job which means that on upgrade you might
|
||||
not see your avatar right away. However after the job has run it should show up again automatically.
|
||||
|
||||
+19
-37
@@ -1,6 +1,6 @@
|
||||
## Submitting issues
|
||||
|
||||
If you have questions about how to install or use Nextcloud, please direct these to our [forum][forum]. We are also available on [IRC][irc].
|
||||
If you have questions about how to install or use ownCloud, please direct these to the [mailing list][mailinglist] or our [forum][forum]. We are also available on [IRC][irc].
|
||||
|
||||
### Short version
|
||||
|
||||
@@ -11,58 +11,40 @@ If you have questions about how to install or use Nextcloud, please direct these
|
||||
- Go to one of the repositories, click "issues" and type any word in the top search/command bar.
|
||||
- You can also filter by appending e. g. "state:open" to the search string.
|
||||
- More info on [search syntax within github](https://help.github.com/articles/searching-issues)
|
||||
* This repository ([server](https://github.com/nextcloud/server/issues)) is *only* for issues within the Nextcloud Server code. This also includes the apps: files, encryption, external storage, sharing, deleted files, versions, LDAP, and WebDAV Auth
|
||||
* __SECURITY__: Report any potential security bug to us via [our HackerOne page](https://hackerone.com/nextcloud) or security@nextcloud.com following our [security policy](https://nextcloud.com/security/) instead of filing an issue in our bug tracker.
|
||||
* The issues in other components should be reported in their respective repositories: You will find them in our [GitHub Organization](https://github.com/nextcloud/)
|
||||
* This repository ([core](https://github.com/owncloud/core/issues)) is *only* for issues within the ownCloud core code. This also includes the apps: files, encryption, external storage, sharing, deleted files, versions, LDAP, and WebDAV Auth
|
||||
* __SECURITY__: Report any potential security bug to us via [our HackerOne page](https://hackerone.com/owncloud) or security@owncloud.com following our [security policy](https://owncloud.org/security/) instead of filing an issue in our bug tracker
|
||||
* The issues in other components should be reported in their respective repositories:
|
||||
- [Android client](https://github.com/owncloud/android/issues)
|
||||
- [iOS client](https://github.com/owncloud/ios/issues)
|
||||
- [Desktop client](https://github.com/owncloud/client/issues)
|
||||
- [Documentation](https://github.com/owncloud/documentation/issues)
|
||||
- [ownCloud apps](https://github.com/owncloud/core/wiki/Maintainers#apps-repo)
|
||||
|
||||
* Report the issue using our [template][template], it includes all the information we need to track down the issue.
|
||||
|
||||
Help us to maximize the effort we can spend fixing issues and adding new features, by not reporting duplicate issues.
|
||||
|
||||
[template]: https://raw.githubusercontent.com/nextcloud/server/master/issue_template.md
|
||||
[forum]: https://help.nextcloud.com/
|
||||
[irc]: https://webchat.freenode.net/?channels=nextcloud
|
||||
[template]: https://raw.github.com/owncloud/core/master/issue_template.md
|
||||
[mailinglist]: https://mailman.owncloud.org/mailman/listinfo/owncloud
|
||||
[forum]: https://forum.owncloud.org/
|
||||
[irc]: https://webchat.freenode.net/?channels=owncloud&uio=d4
|
||||
|
||||
## Contributing to Source Code
|
||||
|
||||
Thanks for wanting to contribute source code to Nextcloud. That's great!
|
||||
Thanks for wanting to contribute source code to ownCloud. That's great!
|
||||
|
||||
Please read the [Developer Manuals][devmanual] to learn how to create your first application or how to test the Nextcloud code with PHPUnit.
|
||||
Before we're able to merge your code into the ownCloud core, you need to sign our [Contributor Agreement][agreement].
|
||||
|
||||
### Tests
|
||||
Please read the [Developer Manuals][devmanual] to learn how to create your first application or how to test the ownCloud code with PHPUnit.
|
||||
|
||||
In order to constantly increase the quality of our software we can no longer accept pull request which submit un-tested code.
|
||||
It is a must have that changed and added code segments are unit tested.
|
||||
In some areas unit testing is hard (aka almost impossible) as of today - in these areas refactoring WHILE fixing a bug is encouraged to enable unit testing.
|
||||
|
||||
### 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 [contribute/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.
|
||||
|
||||
### Apply a license
|
||||
|
||||
In case you are not sure how to add or update the license header correctly please have a look at [contribute/HowToApplyALicense.md][applyalicense]
|
||||
|
||||
[devmanual]: https://docs.nextcloud.org/server/12/developer_manual/
|
||||
[dcofile]: https://github.com/nextcloud/server/blob/master/contribute/developer-certificate-of-origin
|
||||
[applyalicense]: https://github.com/nextcloud/server/blob/master/contribute/HowToApplyALicense.md
|
||||
[agreement]: https://owncloud.org/about/contributor-agreement/
|
||||
[devmanual]: https://owncloud.org/dev
|
||||
|
||||
## Translations
|
||||
Please submit translations via [Transifex][transifex].
|
||||
|
||||
[transifex]: https://www.transifex.com/nextcloud
|
||||
[transifex]: https://www.transifex.com/projects/p/owncloud/
|
||||
|
||||
+3
-3
@@ -1,5 +1,5 @@
|
||||
Files in Nextcloud are licensed under the Affero General Public License version 3,
|
||||
the text of which can be found in COPYING, or any later version of the AGPL,
|
||||
Files in ownCloud are licensed under the Affero General Public License version 3,
|
||||
the text of which can be found in COPYING-AGPL, or any later version of the AGPL,
|
||||
unless otherwise noted.
|
||||
|
||||
Licensing of components:
|
||||
@@ -12,4 +12,4 @@ Licensing of components:
|
||||
All unmodified files from these and other sources retain their original copyright
|
||||
and license notices: see the relevant individual files.
|
||||
|
||||
Attribution information for Nextcloud is contained in the AUTHORS file.
|
||||
Attribution information for ownCloud is contained in the AUTHORS file.
|
||||
|
||||
@@ -1,66 +1,50 @@
|
||||
# Nextcloud Server
|
||||
[](https://scrutinizer-ci.com/g/nextcloud/server/?branch=master)
|
||||
[](https://codecov.io/gh/nextcloud/server)
|
||||
[](https://bestpractices.coreinfrastructure.org/projects/209)
|
||||
[](https://webchat.freenode.net/?channels=nextcloud)
|
||||
[](https://webchat.freenode.net/?channels=nextcloud-dev)
|
||||
# ownCloud Core
|
||||
|
||||
**A safe home for all your data.**
|
||||
[](https://ci.owncloud.org/job/server-master-linux/)
|
||||
[](https://scrutinizer-ci.com/g/owncloud/core/)
|
||||
[](https://codecov.io/github/owncloud/core?branch=master)
|
||||
[](https://codeclimate.com/github/owncloud/core)
|
||||
[](https://scan.coverity.com/projects/owncloud-core)
|
||||
[](https://www.versioneye.com/user/projects/54f4a2384f3108959a000a16)
|
||||
[](https://www.versioneye.com/user/projects/54d1f76f3ca0840b190000c0)
|
||||
|
||||

|
||||

|
||||
|
||||
**[ownCloud](http://ownCloud.org) gives you freedom and control over your own data.
|
||||
A personal cloud which runs on your own server.**
|
||||
|
||||

|
||||
|
||||
## Why is this so awesome?
|
||||
|
||||
* :file_folder: **Access your Data** You can store your files, contacts, calendars and more on a server of your choosing.
|
||||
* :package: **Sync your Data** You keep your files, contacts, calendars and more synchronized amongst your devices.
|
||||
* :arrows_counterclockwise: **Share your Data** …by giving others access to the stuff you want them to see or to collaborate with.
|
||||
* :rocket: **Expandable with dozens of Apps** ...like [Calendar](https://github.com/nextcloud/calendar), [Contacts](https://github.com/nextcloud/contacts), [Mail](https://github.com/nextcloud/mail) and all those you can discover in our [App Store](https://apps.nextcloud.com)
|
||||
* :lock: **Security** with our encryption mechanisms, [HackerOne bounty program](https://hackerone.com/nextcloud) and two-factor authentification.
|
||||
* :arrows_counterclockwise: **Share your Data** You share your data with others, and give them access to your latest photo galleries, your calendar or anything else you want them to see.
|
||||
* :rocket: **Expandable with dozens of Apps** ...like Calendar, Contacts, Mail or News.
|
||||
* :cloud: **All Benefits of the Cloud** ...on your own Server.
|
||||
* :lock: **Encryption** You can encrypt data in transit with secure https connections. You can enable the encryption app to encrypt data on storage for improved security and privacy.
|
||||
* ...
|
||||
|
||||
*You want to learn more about how you can use Nextcloud to access, share and protect your files, calendars, contacts, communication & more at home and at your Enterprise?* [**Learn about all our Features**](https://nextcloud.com/features).
|
||||
|
||||
## Get your Nextcloud
|
||||
|
||||
- [**Install** a server by yourself on your own hardware or by using one of our ready to use **Appliances**](https://nextcloud.com/install/#instructions-server)
|
||||
- [Buy one of the awesome **devices** coming with a preinstalled Nextcloud](https://nextcloud.com/devices/)
|
||||
- [Find a service **provider** who is hosting Nextcloud for you or your company](https://nextcloud.com/providers/)
|
||||
|
||||
*Enterprise? Public Sector or Education user? You may want to have a look into the [**Enterprise Support Subscription**](https://nextcloud.com/enterprise/) provided by the Nextcloud GmbH*
|
||||
|
||||
## Get in touch
|
||||
|
||||
* :clipboard: [Forum](https://help.nextcloud.com)
|
||||
* :busts_in_silhouette: [Facebook](https://facebook.com/nextclouders)
|
||||
* :hatching_chick: [Twitter](https://twitter.com/Nextclouders)
|
||||
|
||||
[…learn more about how to get support for Nextcloud here!](https://nextcloud.com/support)
|
||||
## Installation instructions
|
||||
https://doc.owncloud.org/server/9.1/developer_manual/app/index.html
|
||||
|
||||
## Contribution Guidelines
|
||||
https://owncloud.org/contribute/
|
||||
|
||||
All contributions to this repository from June, 16 2016 on are considered to be
|
||||
licensed under the AGPLv3 or any later version.
|
||||
## Support
|
||||
Learn about the different ways you can get support for ownCloud: https://owncloud.org/support/
|
||||
|
||||
Nextcloud doesn't require a CLA (Contributor License Agreement).
|
||||
The copyright belongs to all the individual contributors. Therefore we recommend
|
||||
that every contributor adds following line to the header of a file, if they
|
||||
changed it substantially:
|
||||
## Get in touch
|
||||
* :clipboard: [Forum](https://forum.owncloud.org)
|
||||
* :envelope: [Mailing list](https://mailman.owncloud.org/mailman/listinfo)
|
||||
* :hash: [IRC channel](https://webchat.freenode.net/?channels=owncloud)
|
||||
* :busts_in_silhouette: [Facebook] (https://facebook.com/ownclouders)
|
||||
* :hatching_chick: [Twitter](https://twitter.com/ownClouders)
|
||||
|
||||
```
|
||||
@copyright Copyright (c) <year>, <your name> (<your email address>)
|
||||
```
|
||||
## Important notice on translations
|
||||
Please submit translations via Transifex:
|
||||
https://www.transifex.com/projects/p/owncloud/
|
||||
|
||||
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.
|
||||
[](https://www.transifex.com/projects/p/owncloud/)
|
||||
|
||||
Please review the [guidelines for contributing](https://github.com/nextcloud/server/blob/master/CONTRIBUTING.md) to this repository.
|
||||
|
||||
More information how to contribute: [https://nextcloud.com/contribute/](https://nextcloud.com/contribute/)
|
||||
|
||||
## Running master checkouts
|
||||
|
||||
Third-party components are handled as git submodules which have to be initialized first. So aside from the regular git checkout invoking `git submodule update --init` or a similar command is needed, for details see Git documentation.
|
||||
|
||||
Several apps by default included in regular releases like [firstrunwizard](https://github.com/nextcloud/firstrunwizard) or [gallery](https://github.com/nextcloud/gallery) are missing in `master` and have to be installed manually as required.
|
||||
|
||||
That aside Git checkouts can be handled the same as release archives.
|
||||
|
||||
Note they should never be used on production systems.
|
||||
For more detailed information about translations:
|
||||
http://doc.owncloud.org/server/9.1/developer_manual/core/translation.html
|
||||
|
||||
@@ -1,37 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
* @copyright Copyright (c) 2016 Bjoern Schiessle <bjoern@schiessle.org>
|
||||
* @copyright Copyright (c) 2017 Lukas Reschke <lukas@statuscode.ch>
|
||||
*
|
||||
* @author Bjoern Schiessle <bjoern@schiessle.org>
|
||||
* @author Lukas Reschke <lukas@statuscode.ch>
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as
|
||||
* published by the Free Software Foundation, either version 3 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
|
||||
$logger = \OC::$server->getLogger();
|
||||
$userSession = \OC::$server->getUserSession();
|
||||
$groupManager = \OC::$server->getGroupManager();
|
||||
$eventDispatcher = \OC::$server->getEventDispatcher();
|
||||
|
||||
$auditLogger = new \OCA\Admin_Audit\AuditLogger(
|
||||
$logger,
|
||||
$userSession,
|
||||
$groupManager,
|
||||
$eventDispatcher
|
||||
);
|
||||
$auditLogger->registerHooks();
|
||||
@@ -1,15 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
<info>
|
||||
<id>admin_audit</id>
|
||||
<name>Auditing / Logging</name>
|
||||
<description>Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions.</description>
|
||||
<licence>AGPL</licence>
|
||||
<author>Nextcloud</author>
|
||||
<version>1.2.0</version>
|
||||
<dependencies>
|
||||
<nextcloud min-version="12" max-version="12" />
|
||||
</dependencies>
|
||||
<types>
|
||||
<logging/>
|
||||
</types>
|
||||
</info>
|
||||
@@ -1,88 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
* @copyright Copyright (c) 2016 Lukas Reschke <lukas@statuscode.ch>
|
||||
*
|
||||
* @author Lukas Reschke <lukas@statuscode.ch>
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as
|
||||
* published by the Free Software Foundation, either version 3 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
namespace OCA\Admin_Audit\Actions;
|
||||
|
||||
use OCP\ILogger;
|
||||
|
||||
class Action {
|
||||
/** @var ILogger */
|
||||
private $logger;
|
||||
|
||||
/**
|
||||
* @param ILogger $logger
|
||||
*/
|
||||
public function __construct(ILogger $logger) {
|
||||
$this->logger = $logger;
|
||||
}
|
||||
|
||||
/**
|
||||
* Log a single action with a log level of info
|
||||
*
|
||||
* @param string $text
|
||||
* @param array $params
|
||||
* @param array $elements
|
||||
* @param bool $obfuscateParameters
|
||||
*/
|
||||
public function log($text,
|
||||
array $params,
|
||||
array $elements,
|
||||
$obfuscateParameters = false) {
|
||||
foreach($elements as $element) {
|
||||
if(!isset($params[$element])) {
|
||||
if ($obfuscateParameters) {
|
||||
$this->logger->critical(
|
||||
'$params["'.$element.'"] was missing.',
|
||||
['app' => 'admin_audit']
|
||||
);
|
||||
} else {
|
||||
$this->logger->critical(
|
||||
sprintf(
|
||||
'$params["'.$element.'"] was missing. Transferred value: %s',
|
||||
print_r($params, true)
|
||||
),
|
||||
['app' => 'admin_audit']
|
||||
);
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
$replaceArray = [];
|
||||
foreach($elements as $element) {
|
||||
if($params[$element] instanceof \DateTime) {
|
||||
$params[$element] = $params[$element]->format('Y-m-d H:i:s');
|
||||
}
|
||||
$replaceArray[] = $params[$element];
|
||||
}
|
||||
|
||||
$this->logger->info(
|
||||
vsprintf(
|
||||
$text,
|
||||
$replaceArray
|
||||
),
|
||||
[
|
||||
'app' => 'admin_audit'
|
||||
]
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -1,60 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
* @copyright Copyright (c) 2016 Lukas Reschke <lukas@statuscode.ch>
|
||||
*
|
||||
* @author Lukas Reschke <lukas@statuscode.ch>
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as
|
||||
* published by the Free Software Foundation, either version 3 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
namespace OCA\Admin_Audit\Actions;
|
||||
|
||||
/**
|
||||
* Class Auth logs all auth related actions
|
||||
*
|
||||
* @package OCA\Admin_Audit\Actions
|
||||
*/
|
||||
class Auth extends Action {
|
||||
public function loginAttempt(array $params) {
|
||||
$this->log(
|
||||
'Login attempt: "%s"',
|
||||
$params,
|
||||
[
|
||||
'uid',
|
||||
],
|
||||
true
|
||||
);
|
||||
}
|
||||
|
||||
public function loginSuccessful(array $params) {
|
||||
$this->log(
|
||||
'Login successful: "%s"',
|
||||
$params,
|
||||
[
|
||||
'uid',
|
||||
],
|
||||
true
|
||||
);
|
||||
}
|
||||
|
||||
public function logout(array $params) {
|
||||
$this->log(
|
||||
'Logout occurred',
|
||||
[],
|
||||
[]
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -1,164 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
* @copyright Copyright (c) 2016 Lukas Reschke <lukas@statuscode.ch>
|
||||
*
|
||||
* @author Lukas Reschke <lukas@statuscode.ch>
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as
|
||||
* published by the Free Software Foundation, either version 3 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
namespace OCA\Admin_Audit\Actions;
|
||||
|
||||
/**
|
||||
* Class Files logs the actions to files
|
||||
*
|
||||
* @package OCA\Admin_Audit\Actions
|
||||
*/
|
||||
class Files extends Action {
|
||||
/**
|
||||
* Logs file read actions
|
||||
*
|
||||
* @param array $params
|
||||
*/
|
||||
public function read(array $params) {
|
||||
$this->log(
|
||||
'File accessed: "%s"',
|
||||
$params,
|
||||
[
|
||||
'path',
|
||||
]
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Logs rename actions of files
|
||||
*
|
||||
* @param array $params
|
||||
*/
|
||||
public function rename(array $params) {
|
||||
$this->log(
|
||||
'File renamed: "%s" to "%s"',
|
||||
$params,
|
||||
[
|
||||
'oldpath',
|
||||
'newpath',
|
||||
]
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Logs creation of files
|
||||
*
|
||||
* @param array $params
|
||||
*/
|
||||
public function create(array $params) {
|
||||
if ($params['path'] === '/' || $params['path'] === '' || $params['path'] === null) {
|
||||
return;
|
||||
}
|
||||
|
||||
$this->log(
|
||||
'File created: "%s"',
|
||||
$params,
|
||||
[
|
||||
'path',
|
||||
]
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Logs copying of files
|
||||
*
|
||||
* @param array $params
|
||||
*/
|
||||
public function copy(array $params) {
|
||||
$this->log(
|
||||
'File copied: "%s" to "%s"',
|
||||
$params,
|
||||
[
|
||||
'oldpath',
|
||||
'newpath',
|
||||
]
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Logs writing of files
|
||||
*
|
||||
* @param array $params
|
||||
*/
|
||||
public function write(array $params) {
|
||||
if ($params['path'] === '/' || $params['path'] === '' || $params['path'] === null) {
|
||||
return;
|
||||
}
|
||||
|
||||
$this->log(
|
||||
'File written to: "%s"',
|
||||
$params,
|
||||
[
|
||||
'path',
|
||||
]
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Logs update of files
|
||||
*
|
||||
* @param array $params
|
||||
*/
|
||||
public function update(array $params) {
|
||||
$this->log(
|
||||
'File updated: "%s"',
|
||||
$params,
|
||||
[
|
||||
'path',
|
||||
]
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Logs deletions of files
|
||||
*
|
||||
* @param array $params
|
||||
*/
|
||||
public function delete(array $params) {
|
||||
$this->log(
|
||||
'File deleted: "%s"',
|
||||
$params,
|
||||
[
|
||||
'path',
|
||||
]
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Logs preview access to a file
|
||||
*
|
||||
* @param array $params
|
||||
*/
|
||||
public function preview(array $params) {
|
||||
$this->log(
|
||||
'Preview accessed: "%s" (width: "%s", height: "%s" crop: "%s", mode: "%s")',
|
||||
$params,
|
||||
[
|
||||
'path',
|
||||
'width',
|
||||
'height',
|
||||
'crop',
|
||||
'mode'
|
||||
]
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -1,108 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
* @copyright Copyright (c) 2016 Bjoern Schiessle <bjoern@schiessle.org>
|
||||
*
|
||||
* @author Bjoern Schiessle <bjoern@schiessle.org>
|
||||
* @author Lukas Reschke <lukas@statuscode.ch>
|
||||
* @author Roger Szabo <roger.szabo@web.de>
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as
|
||||
* published by the Free Software Foundation, either version 3 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
namespace OCA\Admin_Audit\Actions;
|
||||
|
||||
|
||||
use OCA\Admin_Audit\Actions\Action;
|
||||
use OCP\IGroup;
|
||||
use OCP\IUser;
|
||||
|
||||
/**
|
||||
* Class GroupManagement logs all group manager related events
|
||||
*
|
||||
* @package OCA\Admin_Audit
|
||||
*/
|
||||
class GroupManagement extends Action {
|
||||
|
||||
/**
|
||||
* log add user to group event
|
||||
*
|
||||
* @param IGroup $group
|
||||
* @param IUser $user
|
||||
*/
|
||||
public function addUser(IGroup $group, IUser $user) {
|
||||
$this->log('User "%s" added to group "%s"',
|
||||
[
|
||||
'group' => $group->getGID(),
|
||||
'user' => $user->getUID()
|
||||
],
|
||||
[
|
||||
'user', 'group'
|
||||
]
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* log remove user from group event
|
||||
*
|
||||
* @param IGroup $group
|
||||
* @param IUser $user
|
||||
*/
|
||||
public function removeUser(IGroup $group, IUser $user) {
|
||||
$this->log('User "%s" removed from group "%s"',
|
||||
[
|
||||
'group' => $group->getGID(),
|
||||
'user' => $user->getUID()
|
||||
],
|
||||
[
|
||||
'user', 'group'
|
||||
]
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* log create group to group event
|
||||
*
|
||||
* @param IGroup $group
|
||||
*/
|
||||
public function createGroup(IGroup $group) {
|
||||
$this->log('Group created: "%s"',
|
||||
[
|
||||
'group' => $group->getGID()
|
||||
],
|
||||
[
|
||||
'group'
|
||||
]
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* log delete group to group event
|
||||
*
|
||||
* @param IGroup $group
|
||||
*/
|
||||
public function deleteGroup(IGroup $group) {
|
||||
$this->log('Group deleted: "%s"',
|
||||
[
|
||||
'group' => $group->getGID()
|
||||
],
|
||||
[
|
||||
'group'
|
||||
]
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -1,191 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
* @copyright Copyright (c) 2016 Lukas Reschke <lukas@statuscode.ch>
|
||||
*
|
||||
* @author Lukas Reschke <lukas@statuscode.ch>
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as
|
||||
* published by the Free Software Foundation, either version 3 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
namespace OCA\Admin_Audit\Actions;
|
||||
use OCP\Share;
|
||||
|
||||
/**
|
||||
* Class Sharing logs the sharing actions
|
||||
*
|
||||
* @package OCA\Admin_Audit\Actions
|
||||
*/
|
||||
class Sharing extends Action {
|
||||
/**
|
||||
* Logs sharing of data
|
||||
*
|
||||
* @param array $params
|
||||
*/
|
||||
public function shared(array $params) {
|
||||
if($params['shareType'] === Share::SHARE_TYPE_LINK) {
|
||||
$this->log(
|
||||
'The %s "%s" with ID "%s" has been shared via link with permissions "%s" (Share ID: %s)',
|
||||
$params,
|
||||
[
|
||||
'itemType',
|
||||
'itemTarget',
|
||||
'itemSource',
|
||||
'permissions',
|
||||
'id',
|
||||
]
|
||||
);
|
||||
} elseif($params['shareType'] === Share::SHARE_TYPE_USER) {
|
||||
$this->log(
|
||||
'The %s "%s" with ID "%s" has been shared to the user "%s" with permissions "%s" (Share ID: %s)',
|
||||
$params,
|
||||
[
|
||||
'itemType',
|
||||
'itemTarget',
|
||||
'itemSource',
|
||||
'shareWith',
|
||||
'permissions',
|
||||
'id',
|
||||
]
|
||||
);
|
||||
} elseif($params['shareType'] === Share::SHARE_TYPE_GROUP) {
|
||||
$this->log(
|
||||
'The %s "%s" with ID "%s" has been shared to the group "%s" with permissions "%s" (Share ID: %s)',
|
||||
$params,
|
||||
[
|
||||
'itemType',
|
||||
'itemTarget',
|
||||
'itemSource',
|
||||
'shareWith',
|
||||
'permissions',
|
||||
'id',
|
||||
]
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Logs unsharing of data
|
||||
*
|
||||
* @param array $params
|
||||
*/
|
||||
public function unshare(array $params) {
|
||||
if($params['shareType'] === Share::SHARE_TYPE_LINK) {
|
||||
$this->log(
|
||||
'The %s "%s" with ID "%s" has been unshared (Share ID: %s)',
|
||||
$params,
|
||||
[
|
||||
'itemType',
|
||||
'fileTarget',
|
||||
'itemSource',
|
||||
'id',
|
||||
]
|
||||
);
|
||||
} elseif($params['shareType'] === Share::SHARE_TYPE_USER) {
|
||||
$this->log(
|
||||
'The %s "%s" with ID "%s" has been unshared from the user "%s" (Share ID: %s)',
|
||||
$params,
|
||||
[
|
||||
'itemType',
|
||||
'fileTarget',
|
||||
'itemSource',
|
||||
'shareWith',
|
||||
'id',
|
||||
]
|
||||
);
|
||||
} elseif($params['shareType'] === Share::SHARE_TYPE_GROUP) {
|
||||
$this->log(
|
||||
'The %s "%s" with ID "%s" has been unshared from the group "%s" (Share ID: %s)',
|
||||
$params,
|
||||
[
|
||||
'itemType',
|
||||
'fileTarget',
|
||||
'itemSource',
|
||||
'shareWith',
|
||||
'id',
|
||||
]
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Logs the updating of permission changes for shares
|
||||
*
|
||||
* @param array $params
|
||||
*/
|
||||
public function updatePermissions(array $params) {
|
||||
$this->log(
|
||||
'The permissions of the shared %s "%s" with ID "%s" have been changed to "%s"',
|
||||
$params,
|
||||
[
|
||||
'itemType',
|
||||
'path',
|
||||
'itemSource',
|
||||
'permissions',
|
||||
]
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Logs the password changes for a share
|
||||
*
|
||||
* @param array $params
|
||||
*/
|
||||
public function updatePassword(array $params) {
|
||||
$this->log(
|
||||
'The password of the publicly shared %s "%s" with ID "%s" has been changed',
|
||||
$params,
|
||||
[
|
||||
'itemType',
|
||||
'token',
|
||||
'itemSource',
|
||||
]
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Logs the expiration date changes for a share
|
||||
*
|
||||
* @param array $params
|
||||
*/
|
||||
public function updateExpirationDate(array $params) {
|
||||
$this->log(
|
||||
'The expiration date of the publicly shared %s with ID "%s" has been changed to "%s"',
|
||||
$params,
|
||||
[
|
||||
'itemType',
|
||||
'itemSource',
|
||||
'date',
|
||||
]
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Logs access of shared files
|
||||
*
|
||||
* @param array $params
|
||||
*/
|
||||
public function shareAccessed(array $params) {
|
||||
$this->log(
|
||||
'The shared %s with the token "%s" by "%s" has been accessed.',
|
||||
$params,
|
||||
[
|
||||
'itemType',
|
||||
'token',
|
||||
'uidOwner',
|
||||
]
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -1,42 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
* @copyright Copyright (c) 2016 Bjoern Schiessle <bjoern@schiessle.org>
|
||||
*
|
||||
* @author Bjoern Schiessle <bjoern@schiessle.org>
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as
|
||||
* published by the Free Software Foundation, either version 3 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
namespace OCA\Admin_Audit\Actions;
|
||||
|
||||
|
||||
class Trashbin extends Action {
|
||||
|
||||
public function delete($params) {
|
||||
$this->log('File "%s" deleted from trash bin.',
|
||||
['path' => $params['path']], ['path']
|
||||
);
|
||||
}
|
||||
|
||||
public function restore($params) {
|
||||
$this->log('File "%s" restored from trash bin.',
|
||||
['path' => $params['filePath']], ['path']
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,98 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
* @copyright Copyright (c) 2016 Lukas Reschke <lukas@statuscode.ch>
|
||||
*
|
||||
* @author Bjoern Schiessle <bjoern@schiessle.org>
|
||||
* @author Lukas Reschke <lukas@statuscode.ch>
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as
|
||||
* published by the Free Software Foundation, either version 3 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
namespace OCA\Admin_Audit\Actions;
|
||||
use OCP\IUser;
|
||||
|
||||
/**
|
||||
* Class UserManagement logs all user management related actions.
|
||||
*
|
||||
* @package OCA\Admin_Audit\Actions
|
||||
*/
|
||||
class UserManagement extends Action {
|
||||
/**
|
||||
* Log creation of users
|
||||
*
|
||||
* @param array $params
|
||||
*/
|
||||
public function create(array $params) {
|
||||
$this->log(
|
||||
'User created: "%s"',
|
||||
$params,
|
||||
[
|
||||
'uid',
|
||||
]
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Log deletion of users
|
||||
*
|
||||
* @param array $params
|
||||
*/
|
||||
public function delete(array $params) {
|
||||
$this->log(
|
||||
'User deleted: "%s"',
|
||||
$params,
|
||||
[
|
||||
'uid',
|
||||
]
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Log enabling of users
|
||||
*
|
||||
* @param array $params
|
||||
*/
|
||||
public function change(array $params) {
|
||||
if ($params['feature'] === 'enabled') {
|
||||
$this->log(
|
||||
$params['value'] === 'true' ? 'User enabled: "%s"' : 'User disabled: "%s"',
|
||||
['user' => $params['user']->getUID()],
|
||||
[
|
||||
'user',
|
||||
]
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Logs changing of the user scope
|
||||
*
|
||||
* @param IUser $user
|
||||
*/
|
||||
public function setPassword(IUser $user) {
|
||||
if($user->getBackendClassName() === 'Database') {
|
||||
$this->log(
|
||||
'Password of user "%s" has been changed',
|
||||
[
|
||||
'user' => $user->getUID(),
|
||||
],
|
||||
[
|
||||
'user',
|
||||
]
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,47 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
* @copyright Bjoern Schiessle <bjoern@schiessle.org>
|
||||
*
|
||||
* @author Bjoern Schiessle <bjoern@schiessle.org>
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as
|
||||
* published by the Free Software Foundation, either version 3 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
namespace OCA\Admin_Audit\Actions;
|
||||
|
||||
|
||||
class Versions extends Action {
|
||||
|
||||
public function rollback($params) {
|
||||
$this->log('Version "%s" of "%s" was restored.',
|
||||
[
|
||||
'version' => $params['revision'],
|
||||
'path' => $params['path']
|
||||
],
|
||||
['version', 'path']
|
||||
);
|
||||
}
|
||||
|
||||
public function delete($params) {
|
||||
$this->log('Version "%s" was deleted.',
|
||||
['path' => $params['path']],
|
||||
['path']
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,209 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
* @copyright Copyright (c) 2016 Bjoern Schiessle <bjoern@schiessle.org>
|
||||
* @copyright Copyright (c) 2017 Lukas Reschke <lukas@statuscode.ch>
|
||||
*
|
||||
* @author Bjoern Schiessle <bjoern@schiessle.org>
|
||||
* @author Lukas Reschke <lukas@statuscode.ch>
|
||||
* @author Roger Szabo <roger.szabo@web.de>
|
||||
*
|
||||
* @license GNU AGPL version 3 or any later version
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as
|
||||
* published by the Free Software Foundation, either version 3 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
|
||||
namespace OCA\Admin_Audit;
|
||||
|
||||
use OC\Files\Filesystem;
|
||||
use OC\Files\Node\File;
|
||||
use OCA\Admin_Audit\Actions\Auth;
|
||||
use OCA\Admin_Audit\Actions\Files;
|
||||
use OCA\Admin_Audit\Actions\GroupManagement;
|
||||
use OCA\Admin_Audit\Actions\Sharing;
|
||||
use OCA\Admin_Audit\Actions\Trashbin;
|
||||
use OCA\Admin_Audit\Actions\UserManagement;
|
||||
use OCA\Admin_Audit\Actions\Versions;
|
||||
use OCP\IGroupManager;
|
||||
use OCP\ILogger;
|
||||
use OCP\IPreview;
|
||||
use OCP\IUserSession;
|
||||
use OCP\Util;
|
||||
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
|
||||
use Symfony\Component\EventDispatcher\GenericEvent;
|
||||
|
||||
class AuditLogger {
|
||||
/** @var ILogger */
|
||||
private $logger;
|
||||
/** @var IUserSession */
|
||||
private $userSession;
|
||||
/** @var IGroupManager */
|
||||
private $groupManager;
|
||||
|
||||
/**
|
||||
* AuditLogger constructor.
|
||||
*
|
||||
* @param ILogger $logger
|
||||
* @param IUserSession $userSession
|
||||
* @param IGroupManager $groupManager
|
||||
* @param EventDispatcherInterface $eventDispatcher
|
||||
*/
|
||||
public function __construct(ILogger $logger,
|
||||
IUserSession $userSession,
|
||||
IGroupManager $groupManager,
|
||||
EventDispatcherInterface $eventDispatcher) {
|
||||
$this->logger = $logger;
|
||||
$this->userSession = $userSession;
|
||||
$this->groupManager = $groupManager;
|
||||
$this->eventDispatcher = $eventDispatcher;
|
||||
}
|
||||
|
||||
/**
|
||||
* Register hooks in order to log them
|
||||
*/
|
||||
public function registerHooks() {
|
||||
$this->userManagementHooks();
|
||||
$this->groupHooks();
|
||||
$this->sharingHooks();
|
||||
$this->authHooks();
|
||||
$this->fileHooks();
|
||||
$this->trashbinHooks();
|
||||
$this->versionsHooks();
|
||||
}
|
||||
|
||||
/**
|
||||
* Connect to user management hooks
|
||||
*/
|
||||
private function userManagementHooks() {
|
||||
$userActions = new UserManagement($this->logger);
|
||||
|
||||
Util::connectHook('OC_User', 'post_createUser', $userActions, 'create');
|
||||
Util::connectHook('OC_User', 'post_deleteUser', $userActions, 'delete');
|
||||
Util::connectHook('OC_User', 'changeUser', $userActions, 'change');
|
||||
$this->userSession->listen('\OC\User', 'postSetPassword', [$userActions, 'setPassword']);
|
||||
}
|
||||
|
||||
private function groupHooks() {
|
||||
$groupActions = new GroupManagement($this->logger);
|
||||
$this->groupManager->listen('\OC\Group', 'postRemoveUser', [$groupActions, 'removeUser']);
|
||||
$this->groupManager->listen('\OC\Group', 'postAddUser', [$groupActions, 'addUser']);
|
||||
$this->groupManager->listen('\OC\Group', 'postDelete', [$groupActions, 'deleteGroup']);
|
||||
$this->groupManager->listen('\OC\Group', 'postCreate', [$groupActions, 'createGroup']);
|
||||
}
|
||||
|
||||
/**
|
||||
* connect to sharing events
|
||||
*/
|
||||
private function sharingHooks() {
|
||||
$shareActions = new Sharing($this->logger);
|
||||
|
||||
Util::connectHook('OCP\Share', 'post_shared', $shareActions, 'shared');
|
||||
Util::connectHook('OCP\Share', 'post_unshare', $shareActions, 'unshare');
|
||||
Util::connectHook('OCP\Share', 'post_update_permissions', $shareActions, 'updatePermissions');
|
||||
Util::connectHook('OCP\Share', 'post_update_password', $shareActions, 'updatePassword');
|
||||
Util::connectHook('OCP\Share', 'post_set_expiration_date', $shareActions, 'updateExpirationDate');
|
||||
Util::connectHook('OCP\Share', 'share_link_access', $shareActions, 'shareAccessed');
|
||||
}
|
||||
|
||||
/**
|
||||
* connect to authentication event and related actions
|
||||
*/
|
||||
private function authHooks() {
|
||||
$authActions = new Auth($this->logger);
|
||||
|
||||
Util::connectHook('OC_User', 'pre_login', $authActions, 'loginAttempt');
|
||||
Util::connectHook('OC_User', 'post_login', $authActions, 'loginSuccessful');
|
||||
Util::connectHook('OC_User', 'logout', $authActions, 'logout');
|
||||
}
|
||||
|
||||
/**
|
||||
* Connect to file hooks
|
||||
*/
|
||||
private function fileHooks() {
|
||||
$fileActions = new Files($this->logger);
|
||||
$this->eventDispatcher->addListener(
|
||||
IPreview::EVENT,
|
||||
function(GenericEvent $event) use ($fileActions) {
|
||||
/** @var File $file */
|
||||
$file = $event->getSubject();
|
||||
$fileActions->preview([
|
||||
'path' => substr($file->getInternalPath(), 5),
|
||||
'width' => $event->getArguments()['width'],
|
||||
'height' => $event->getArguments()['height'],
|
||||
'crop' => $event->getArguments()['crop'],
|
||||
'mode' => $event->getArguments()['mode']
|
||||
]);
|
||||
}
|
||||
);
|
||||
|
||||
Util::connectHook(
|
||||
Filesystem::CLASSNAME,
|
||||
Filesystem::signal_post_rename,
|
||||
$fileActions,
|
||||
'rename'
|
||||
);
|
||||
Util::connectHook(
|
||||
Filesystem::CLASSNAME,
|
||||
Filesystem::signal_post_create,
|
||||
$fileActions,
|
||||
'create'
|
||||
);
|
||||
Util::connectHook(
|
||||
Filesystem::CLASSNAME,
|
||||
Filesystem::signal_post_copy,
|
||||
$fileActions,
|
||||
'copy'
|
||||
);
|
||||
Util::connectHook(
|
||||
Filesystem::CLASSNAME,
|
||||
Filesystem::signal_post_write,
|
||||
$fileActions,
|
||||
'write'
|
||||
);
|
||||
Util::connectHook(
|
||||
Filesystem::CLASSNAME,
|
||||
Filesystem::signal_post_update,
|
||||
$fileActions,
|
||||
'update'
|
||||
);
|
||||
Util::connectHook(
|
||||
Filesystem::CLASSNAME,
|
||||
Filesystem::signal_read,
|
||||
$fileActions,
|
||||
'read'
|
||||
);
|
||||
Util::connectHook(
|
||||
Filesystem::CLASSNAME,
|
||||
Filesystem::signal_delete,
|
||||
$fileActions,
|
||||
'delete'
|
||||
);
|
||||
}
|
||||
|
||||
public function versionsHooks() {
|
||||
$versionsActions = new Versions($this->logger);
|
||||
Util::connectHook('\OCP\Versions', 'rollback', $versionsActions, 'rollback');
|
||||
Util::connectHook('\OCP\Versions', 'delete',$versionsActions, 'delete');
|
||||
}
|
||||
|
||||
/**
|
||||
* Connect to trash bin hooks
|
||||
*/
|
||||
private function trashbinHooks() {
|
||||
$trashActions = new Trashbin($this->logger);
|
||||
Util::connectHook('\OCP\Trashbin', 'preDelete', $trashActions, 'delete');
|
||||
Util::connectHook('\OCA\Files_Trashbin\Trashbin', 'post_restore', $trashActions, 'restore');
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,10 +1,9 @@
|
||||
<?php
|
||||
/**
|
||||
* @copyright Copyright (c) 2016, ownCloud, Inc.
|
||||
*
|
||||
* @author Joas Schilling <coding@schilljs.com>
|
||||
* @author Joas Schilling <nickvergessen@owncloud.com>
|
||||
* @author Vincent Petry <pvince81@owncloud.com>
|
||||
*
|
||||
* @copyright Copyright (c) 2016, ownCloud, Inc.
|
||||
* @license AGPL-3.0
|
||||
*
|
||||
* This code is free software: you can redistribute it and/or modify
|
||||
@@ -26,45 +25,36 @@ $eventDispatcher->addListener(
|
||||
'OCA\Files::loadAdditionalScripts',
|
||||
function() {
|
||||
\OCP\Util::addScript('oc-backbone-webdav');
|
||||
\OCP\Util::addScript('comments', 'merged');
|
||||
\OCP\Util::addScript('comments', 'app');
|
||||
\OCP\Util::addScript('comments', 'commentmodel');
|
||||
\OCP\Util::addScript('comments', 'commentcollection');
|
||||
\OCP\Util::addScript('comments', 'commentsummarymodel');
|
||||
\OCP\Util::addScript('comments', 'commentstabview');
|
||||
\OCP\Util::addScript('comments', 'filesplugin');
|
||||
\OCP\Util::addStyle('comments', 'comments');
|
||||
}
|
||||
);
|
||||
|
||||
$activityManager = \OC::$server->getActivityManager();
|
||||
$activityManager->registerExtension(function() {
|
||||
$application = new \OCP\AppFramework\App('comments');
|
||||
/** @var \OCA\Comments\Activity\Extension $extension */
|
||||
$extension = $application->getContainer()->query('OCA\Comments\Activity\Extension');
|
||||
return $extension;
|
||||
});
|
||||
|
||||
$managerListener = function(\OCP\Comments\CommentsEvent $event) use ($activityManager) {
|
||||
$application = new \OCP\AppFramework\App('comments');
|
||||
/** @var \OCA\Comments\Activity\Listener $listener */
|
||||
$listener = $application->getContainer()->query('OCA\Comments\Activity\Listener');
|
||||
$listener->commentEvent($event);
|
||||
};
|
||||
|
||||
$eventDispatcher->addListener(\OCP\Comments\CommentsEvent::EVENT_ADD, $managerListener);
|
||||
|
||||
$eventDispatcher->addListener(\OCP\Comments\CommentsEntityEvent::EVENT_ENTITY, function(\OCP\Comments\CommentsEntityEvent $event) {
|
||||
$event->addEntityCollection('files', function($name) {
|
||||
$nodes = \OC::$server->getUserFolder()->getById(intval($name));
|
||||
return !empty($nodes);
|
||||
});
|
||||
});
|
||||
|
||||
$notificationManager = \OC::$server->getNotificationManager();
|
||||
$notificationManager->registerNotifier(
|
||||
function() {
|
||||
$application = new \OCP\AppFramework\App('comments');
|
||||
return $application->getContainer()->query(\OCA\Comments\Notification\Notifier::class);
|
||||
},
|
||||
function () {
|
||||
$l = \OC::$server->getL10N('comments');
|
||||
return ['id' => 'comments', 'name' => $l->t('Comments')];
|
||||
}
|
||||
);
|
||||
|
||||
$commentsManager = \OC::$server->getCommentsManager();
|
||||
$commentsManager->registerEventHandler(function () {
|
||||
$application = new \OCP\AppFramework\App('comments');
|
||||
/** @var \OCA\Comments\EventHandler $handler */
|
||||
$handler = $application->getContainer()->query(\OCA\Comments\EventHandler::class);
|
||||
return $handler;
|
||||
});
|
||||
$commentsManager->registerDisplayNameResolver('user', function($id) {
|
||||
$manager = \OC::$server->getUserManager();
|
||||
$user = $manager->get($id);
|
||||
if(is_null($user)) {
|
||||
$l = \OC::$server->getL10N('comments');
|
||||
$displayName = $l->t('Unknown user');
|
||||
} else {
|
||||
$displayName = $user->getDisplayName();
|
||||
}
|
||||
return $displayName;
|
||||
});
|
||||
|
||||
@@ -6,25 +6,11 @@
|
||||
<licence>AGPL</licence>
|
||||
<author>Arthur Schiwon, Vincent Petry</author>
|
||||
<default_enable/>
|
||||
<version>1.2.0</version>
|
||||
<version>0.3.0</version>
|
||||
<dependencies>
|
||||
<nextcloud min-version="12" max-version="12" />
|
||||
<owncloud min-version="9.1" max-version="9.1" />
|
||||
</dependencies>
|
||||
<types>
|
||||
<logging/>
|
||||
</types>
|
||||
|
||||
<activity>
|
||||
<settings>
|
||||
<setting>OCA\Comments\Activity\Setting</setting>
|
||||
</settings>
|
||||
|
||||
<filters>
|
||||
<filter>OCA\Comments\Activity\Filter</filter>
|
||||
</filters>
|
||||
|
||||
<providers>
|
||||
<provider>OCA\Comments\Activity\Provider</provider>
|
||||
</providers>
|
||||
</activity>
|
||||
</info>
|
||||
|
||||
@@ -1,28 +0,0 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @author Arthur Schiwon <blizzz@arthur-schiwon.de>
|
||||
*
|
||||
* @copyright Copyright (c) 2016, ownCloud, Inc.
|
||||
* @license AGPL-3.0
|
||||
*
|
||||
* This code is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License, version 3,
|
||||
* as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License, version 3,
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
*
|
||||
*/
|
||||
|
||||
use \OCA\Comments\AppInfo\Application;
|
||||
|
||||
$application = new Application();
|
||||
$application->registerRoutes($this, ['routes' => [
|
||||
['name' => 'Notifications#view', 'url' => '/notifications/view/{id}', 'verb' => 'GET'],
|
||||
]]);
|
||||
@@ -8,98 +8,70 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#commentsTabView .emptycontent {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
#commentsTabView .newCommentForm {
|
||||
position: relative;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
#commentsTabView .newCommentForm .message {
|
||||
width: calc(100% - 81px); /* 36 (left margin) + 30 (right padding) + 15 (right padding of surrounding box) */
|
||||
margin-left: 36px;
|
||||
padding-right: 30px;
|
||||
display: block;
|
||||
}
|
||||
|
||||
#commentsTabView .newCommentForm .submit {
|
||||
position: absolute;
|
||||
bottom: 0px;
|
||||
right: 8px;
|
||||
width: 30px;
|
||||
margin: 0;
|
||||
padding: 7px 9px;
|
||||
background-color: transparent;
|
||||
border: none;
|
||||
opacity: .3;
|
||||
}
|
||||
#commentsTabView .newCommentForm .submit:hover,
|
||||
#commentsTabView .newCommentForm .submit:focus {
|
||||
opacity: 1;
|
||||
width: 90%;
|
||||
resize: vertical;
|
||||
}
|
||||
|
||||
#commentsTabView .newCommentForm .submitLoading {
|
||||
background-position: left;
|
||||
}
|
||||
|
||||
#commentsTabView .newCommentForm .cancel {
|
||||
margin-right: 6px;
|
||||
}
|
||||
|
||||
#commentsTabView .newCommentForm textarea {
|
||||
resize: none;
|
||||
}
|
||||
|
||||
#commentsTabView .comment {
|
||||
position: relative;
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
|
||||
#commentsTabView .comment .avatar {
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
line-height: 32px;
|
||||
width: 28px;
|
||||
height: 28px;
|
||||
line-height: 28px;
|
||||
}
|
||||
|
||||
#commentsTabView .comment .message .avatar {
|
||||
display: inline-block;
|
||||
#commentsTabView .comment {
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
#activityTabView li.comment.collapsed .activitymessage,
|
||||
#commentsTabView .comment.collapsed .message {
|
||||
white-space: pre-wrap;
|
||||
white-space: -moz-pre-wrap !important; /* Mozilla, since 1999 */
|
||||
white-space: -webkit-pre-wrap; /*Chrome & Safari */
|
||||
white-space: -pre-wrap; /* Opera 4-6 */
|
||||
white-space: -o-pre-wrap; /* Opera 7 */
|
||||
white-space: pre-wrap; /* css-3 */
|
||||
word-wrap: break-word; /* Internet Explorer 5.5+ */
|
||||
word-break: break-all;
|
||||
white-space: normal;
|
||||
}
|
||||
|
||||
#activityTabView li.comment.collapsed .activitymessage,
|
||||
#commentsTabView .comment.collapsed .message {
|
||||
max-height: 70px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
#activityTabView li.comment .message-overlay,
|
||||
#commentsTabView .comment .message-overlay {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#activityTabView li.comment.collapsed .message-overlay,
|
||||
#commentsTabView .comment.collapsed .message-overlay {
|
||||
display: block;
|
||||
position: absolute;
|
||||
position: absolute;
|
||||
z-index: 2;
|
||||
height: 50px;
|
||||
pointer-events: none;
|
||||
height: 50px;
|
||||
pointer-events: none;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
bottom: 0;
|
||||
background: -moz-linear-gradient(rgba(255,255,255,0), rgba(255,255,255,1));
|
||||
background: -webkit-linear-gradient(rgba(255,255,255,0), rgba(255,255,255,1));
|
||||
background: -o-linear-gradient(rgba(255,255,255,0), rgba(255,255,255,1));
|
||||
background: -ms-linear-gradient(rgba(255,255,255,0), rgba(255,255,255,1));
|
||||
background: linear-gradient(rgba(255,255,255,0), rgba(255,255,255,1));
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#00FFFFFF', endColorstr='#FFFFFFFF');
|
||||
background-repeat: no-repeat;
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
|
||||
#commentsTabView .authorRow>div {
|
||||
@@ -107,31 +79,18 @@
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
#commentsTabView .authorRow>div.hidden {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
#commentsTabView .comments li .message .avatar-name-wrapper,
|
||||
#commentsTabView .comment .authorRow {
|
||||
margin-bottom: 5px;
|
||||
position: relative;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
#commentsTabView .comment .author,
|
||||
#commentsTabView .comment .date {
|
||||
opacity: .5;
|
||||
}
|
||||
#commentsTabView .comment .author {
|
||||
margin-left: 5px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
#commentsTabView .comment .date {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 5px;
|
||||
}
|
||||
|
||||
#commentsTabView .comments li .message {
|
||||
padding-left: 40px;
|
||||
}
|
||||
|
||||
#commentsTabView .comment .action {
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="32" width="32" viewBox="0 0 32 32"><path fill="#000" d="M16 3C7.163 3 0 7.925 0 14s7.163 11 16 11c.5 0 .98-.032 1.47-.063L26 32v-9.406c3.658-2.017 6-5.12 6-8.595 0-6.076-7.164-11-16-11z"/></svg>
|
||||
|
Before Width: | Height: | Size: 243 B |
@@ -1 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="32" width="32" viewBox="0 0 32 32"><path fill="#fff" d="M16 3C7.163 3 0 7.925 0 14s7.163 11 16 11c.5 0 .98-.032 1.47-.063L26 32v-9.406c3.658-2.017 6-5.12 6-8.595 0-6.076-7.164-11-16-11z"/></svg>
|
||||
|
Before Width: | Height: | Size: 242 B |
@@ -1,59 +0,0 @@
|
||||
/*
|
||||
* @author Joas Schilling <coding@schilljs.com>
|
||||
* Copyright (c) 2016
|
||||
*
|
||||
* This file is licensed under the Affero General Public License version 3
|
||||
* or later.
|
||||
*
|
||||
* See the COPYING-README file.
|
||||
*/
|
||||
|
||||
(function() {
|
||||
OCA.Comments.ActivityTabViewPlugin = {
|
||||
|
||||
/**
|
||||
* Prepare activity for display
|
||||
*
|
||||
* @param {OCA.Activity.ActivityModel} model for this activity
|
||||
* @param {jQuery} $el jQuery handle for this activity
|
||||
* @param {string} view The view that displayes this activity
|
||||
*/
|
||||
prepareModelForDisplay: function (model, $el, view) {
|
||||
if (model.get('app') !== 'comments' || model.get('type') !== 'comments') {
|
||||
return;
|
||||
}
|
||||
|
||||
if (view === 'ActivityTabView') {
|
||||
$el.addClass('comment');
|
||||
if (model.get('message') && this._isLong(model.get('message'))) {
|
||||
$el.addClass('collapsed');
|
||||
var $overlay = $('<div>').addClass('message-overlay');
|
||||
$el.find('.activitymessage').after($overlay);
|
||||
$el.on('click', this._onClickCollapsedComment);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
/*
|
||||
* Copy of CommentsTabView._onClickComment()
|
||||
*/
|
||||
_onClickCollapsedComment: function(ev) {
|
||||
var $row = $(ev.target);
|
||||
if (!$row.is('.comment')) {
|
||||
$row = $row.closest('.comment');
|
||||
}
|
||||
$row.removeClass('collapsed');
|
||||
},
|
||||
|
||||
/*
|
||||
* Copy of CommentsTabView._isLong()
|
||||
*/
|
||||
_isLong: function(message) {
|
||||
return message.length > 250 || (message.match(/\n/g) || []).length > 1;
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
})();
|
||||
|
||||
OC.Plugins.register('OCA.Activity.RenderingPlugins', OCA.Comments.ActivityTabViewPlugin);
|
||||
@@ -9,20 +9,7 @@
|
||||
*/
|
||||
|
||||
(function(OC, OCA) {
|
||||
|
||||
_.extend(OC.Files.Client, {
|
||||
PROPERTY_FILEID: '{' + OC.Files.Client.NS_OWNCLOUD + '}id',
|
||||
PROPERTY_MESSAGE: '{' + OC.Files.Client.NS_OWNCLOUD + '}message',
|
||||
PROPERTY_ACTORTYPE: '{' + OC.Files.Client.NS_OWNCLOUD + '}actorType',
|
||||
PROPERTY_ACTORID: '{' + OC.Files.Client.NS_OWNCLOUD + '}actorId',
|
||||
PROPERTY_ISUNREAD: '{' + OC.Files.Client.NS_OWNCLOUD + '}isUnread',
|
||||
PROPERTY_OBJECTID: '{' + OC.Files.Client.NS_OWNCLOUD + '}objectId',
|
||||
PROPERTY_OBJECTTYPE: '{' + OC.Files.Client.NS_OWNCLOUD + '}objectType',
|
||||
PROPERTY_ACTORDISPLAYNAME: '{' + OC.Files.Client.NS_OWNCLOUD + '}actorDisplayName',
|
||||
PROPERTY_CREATIONDATETIME: '{' + OC.Files.Client.NS_OWNCLOUD + '}creationDateTime',
|
||||
PROPERTY_MENTIONS: '{' + OC.Files.Client.NS_OWNCLOUD + '}mentions'
|
||||
});
|
||||
|
||||
var NS_OWNCLOUD = 'http://owncloud.org/ns';
|
||||
/**
|
||||
* @class OCA.Comments.CommentModel
|
||||
* @classdesc
|
||||
@@ -40,16 +27,15 @@
|
||||
},
|
||||
|
||||
davProperties: {
|
||||
'id': OC.Files.Client.PROPERTY_FILEID,
|
||||
'message': OC.Files.Client.PROPERTY_MESSAGE,
|
||||
'actorType': OC.Files.Client.PROPERTY_ACTORTYPE,
|
||||
'actorId': OC.Files.Client.PROPERTY_ACTORID,
|
||||
'actorDisplayName': OC.Files.Client.PROPERTY_ACTORDISPLAYNAME,
|
||||
'creationDateTime': OC.Files.Client.PROPERTY_CREATIONDATETIME,
|
||||
'objectType': OC.Files.Client.PROPERTY_OBJECTTYPE,
|
||||
'objectId': OC.Files.Client.PROPERTY_OBJECTID,
|
||||
'isUnread': OC.Files.Client.PROPERTY_ISUNREAD,
|
||||
'mentions': OC.Files.Client.PROPERTY_MENTIONS
|
||||
'id': '{' + NS_OWNCLOUD + '}id',
|
||||
'message': '{' + NS_OWNCLOUD + '}message',
|
||||
'actorType': '{' + NS_OWNCLOUD + '}actorType',
|
||||
'actorId': '{' + NS_OWNCLOUD + '}actorId',
|
||||
'actorDisplayName': '{' + NS_OWNCLOUD + '}actorDisplayName',
|
||||
'creationDateTime': '{' + NS_OWNCLOUD + '}creationDateTime',
|
||||
'objectType': '{' + NS_OWNCLOUD + '}objectType',
|
||||
'objectId': '{' + NS_OWNCLOUD + '}objectId',
|
||||
'isUnread': '{' + NS_OWNCLOUD + '}isUnread'
|
||||
},
|
||||
|
||||
parse: function(data) {
|
||||
@@ -62,32 +48,11 @@
|
||||
creationDateTime: data.creationDateTime,
|
||||
objectType: data.objectType,
|
||||
objectId: data.objectId,
|
||||
isUnread: (data.isUnread === 'true'),
|
||||
mentions: this._parseMentions(data.mentions)
|
||||
isUnread: (data.isUnread === 'true')
|
||||
};
|
||||
},
|
||||
|
||||
_parseMentions: function(mentions) {
|
||||
if(_.isUndefined(mentions)) {
|
||||
return {};
|
||||
}
|
||||
var result = {};
|
||||
for(var i in mentions) {
|
||||
var mention = mentions[i];
|
||||
if(_.isUndefined(mention.localName) || mention.localName !== 'mention') {
|
||||
continue;
|
||||
}
|
||||
result[i] = {};
|
||||
for (var child = mention.firstChild; child; child = child.nextSibling) {
|
||||
if(_.isUndefined(child.localName) || !child.localName.startsWith('mention')) {
|
||||
continue;
|
||||
}
|
||||
result[i][child.localName] = child.textContent;
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
});
|
||||
|
||||
OCA.Comments.CommentModel = CommentModel;
|
||||
})(OC, OCA);
|
||||
|
||||
|
||||
@@ -14,8 +14,7 @@
|
||||
var TEMPLATE =
|
||||
'<ul class="comments">' +
|
||||
'</ul>' +
|
||||
'<div class="emptycontent hidden"><div class="icon-comment"></div>' +
|
||||
'<p>{{emptyResultLabel}}</p></div>' +
|
||||
'<div class="empty hidden">{{emptyResultLabel}}</div>' +
|
||||
'<input type="button" class="showMore hidden" value="{{moreLabel}}"' +
|
||||
' name="show-more" id="show-more" />' +
|
||||
'<div class="loading hidden" style="height: 50px"></div>';
|
||||
@@ -23,17 +22,19 @@
|
||||
var EDIT_COMMENT_TEMPLATE =
|
||||
'<div class="newCommentRow comment" data-id="{{id}}">' +
|
||||
' <div class="authorRow">' +
|
||||
' {{#if avatarEnabled}}' +
|
||||
' <div class="avatar" data-username="{{actorId}}"></div>' +
|
||||
' {{/if}}' +
|
||||
' <div class="author">{{actorDisplayName}}</div>' +
|
||||
'{{#if isEditMode}}' +
|
||||
' <a href="#" class="action delete icon icon-delete has-tooltip" title="{{deleteTooltip}}"></a>' +
|
||||
'{{/if}}' +
|
||||
' </div>' +
|
||||
' <form class="newCommentForm">' +
|
||||
' <textarea rows="1" class="message" placeholder="{{newMessagePlaceholder}}">{{message}}</textarea>' +
|
||||
' <input class="submit icon-confirm" type="submit" value="" />' +
|
||||
' <textarea class="message" placeholder="{{newMessagePlaceholder}}">{{{message}}}</textarea>' +
|
||||
' <input class="submit" type="submit" value="{{submitText}}" />' +
|
||||
'{{#if isEditMode}}' +
|
||||
' <input class="cancel pull-right" type="button" value="{{cancelText}}" />' +
|
||||
' <input class="cancel" type="button" value="{{cancelText}}" />' +
|
||||
'{{/if}}' +
|
||||
' <div class="submitLoading icon-loading-small hidden"></div>'+
|
||||
' </form>' +
|
||||
@@ -42,12 +43,14 @@
|
||||
var COMMENT_TEMPLATE =
|
||||
'<li class="comment{{#if isUnread}} unread{{/if}}{{#if isLong}} collapsed{{/if}}" data-id="{{id}}">' +
|
||||
' <div class="authorRow">' +
|
||||
' {{#if avatarEnabled}}' +
|
||||
' <div class="avatar" {{#if actorId}}data-username="{{actorId}}"{{/if}}> </div>' +
|
||||
' {{/if}}' +
|
||||
' <div class="author">{{actorDisplayName}}</div>' +
|
||||
'{{#if isUserAuthor}}' +
|
||||
' <a href="#" class="action edit icon icon-rename has-tooltip" title="{{editTooltip}}"></a>' +
|
||||
'{{/if}}' +
|
||||
' <div class="date has-tooltip live-relative-timestamp" data-timestamp="{{timestamp}}" title="{{altDate}}">{{date}}</div>' +
|
||||
' <div class="date has-tooltip" title="{{altDate}}">{{date}}</div>' +
|
||||
' </div>' +
|
||||
' <div class="message">{{{formattedMessage}}}</div>' +
|
||||
'{{#if isLong}}' +
|
||||
@@ -81,6 +84,8 @@
|
||||
this.collection.on('sync', this._onEndRequest, this);
|
||||
this.collection.on('add', this._onAddModel, this);
|
||||
|
||||
this._avatarsEnabled = !!OC.config.enable_avatars;
|
||||
|
||||
this._commentMaxThreshold = this._commentMaxLength * 0.9;
|
||||
|
||||
// TODO: error handling
|
||||
@@ -93,6 +98,7 @@
|
||||
}
|
||||
var currentUser = OC.getCurrentUser();
|
||||
return this._template(_.extend({
|
||||
avatarEnabled: this._avatarsEnabled,
|
||||
actorId: currentUser.uid,
|
||||
actorDisplayName: currentUser.displayName
|
||||
}, params));
|
||||
@@ -104,9 +110,10 @@
|
||||
}
|
||||
var currentUser = OC.getCurrentUser();
|
||||
return this._editCommentTemplate(_.extend({
|
||||
avatarEnabled: this._avatarsEnabled,
|
||||
actorId: currentUser.uid,
|
||||
actorDisplayName: currentUser.displayName,
|
||||
newMessagePlaceholder: t('comments', 'New comment …'),
|
||||
newMessagePlaceholder: t('comments', 'Type in a new comment...'),
|
||||
deleteTooltip: t('comments', 'Delete comment'),
|
||||
submitText: t('comments', 'Post'),
|
||||
cancelText: t('comments', 'Cancel')
|
||||
@@ -119,6 +126,7 @@
|
||||
}
|
||||
|
||||
params = _.extend({
|
||||
avatarEnabled: this._avatarsEnabled,
|
||||
editTooltip: t('comments', 'Edit comment'),
|
||||
isUserAuthor: OC.getCurrentUser().uid === params.actorId,
|
||||
isLong: this._isLong(params.message)
|
||||
@@ -154,26 +162,25 @@
|
||||
|
||||
render: function() {
|
||||
this.$el.html(this.template({
|
||||
emptyResultLabel: t('comments', 'No comments yet, start the conversation!'),
|
||||
moreLabel: t('comments', 'More comments …')
|
||||
emptyResultLabel: t('comments', 'No other comments available'),
|
||||
moreLabel: t('comments', 'More comments...')
|
||||
}));
|
||||
this.$el.find('.comments').before(this.editCommentTemplate({}));
|
||||
this.$el.find('.has-tooltip').tooltip();
|
||||
this.$container = this.$el.find('ul.comments');
|
||||
this.$el.find('.avatar').avatar(OC.getCurrentUser().uid, 32);
|
||||
if (this._avatarsEnabled) {
|
||||
this.$el.find('.avatar').avatar(OC.getCurrentUser().uid, 28);
|
||||
}
|
||||
this.delegateEvents();
|
||||
this.$el.find('.message').on('keydown input change', this._onTypeComment);
|
||||
|
||||
autosize(this.$el.find('.newCommentRow textarea'))
|
||||
this.$el.find('textarea').on('keydown input change', this._onTypeComment);
|
||||
},
|
||||
|
||||
_formatItem: function(commentModel) {
|
||||
var timestamp = new Date(commentModel.get('creationDateTime')).getTime();
|
||||
var data = _.extend({
|
||||
timestamp: timestamp,
|
||||
date: OC.Util.relativeModifiedDate(timestamp),
|
||||
altDate: OC.Util.formatDate(timestamp),
|
||||
formattedMessage: this._formatMessage(commentModel.get('message'), commentModel.get('mentions'))
|
||||
formattedMessage: this._formatMessage(commentModel.get('message'))
|
||||
}, commentModel.attributes);
|
||||
return data;
|
||||
},
|
||||
@@ -193,7 +200,7 @@
|
||||
_onEndRequest: function(type) {
|
||||
var fileInfoModel = this.model;
|
||||
this._toggleLoading(false);
|
||||
this.$el.find('.emptycontent').toggleClass('hidden', !!this.collection.length);
|
||||
this.$el.find('.empty').toggleClass('hidden', !!this.collection.length);
|
||||
this.$el.find('.showMore').toggleClass('hidden', !this.collection.hasMoreResults());
|
||||
|
||||
if (type !== 'REPORT') {
|
||||
@@ -228,64 +235,20 @@
|
||||
|
||||
_postRenderItem: function($el) {
|
||||
$el.find('.has-tooltip').tooltip();
|
||||
$el.find('.avatar').each(function() {
|
||||
var $this = $(this);
|
||||
$this.avatar($this.attr('data-username'), 32);
|
||||
});
|
||||
|
||||
var username = $el.find('.avatar').data('username');
|
||||
if (username !== oc_current_user) {
|
||||
$el.find('.authorRow .avatar, .authorRow .author').contactsMenu(
|
||||
username, 0, $el.find('.authorRow'));
|
||||
if(this._avatarsEnabled) {
|
||||
$el.find('.avatar').each(function() {
|
||||
var $this = $(this);
|
||||
$this.avatar($this.attr('data-username'), 28);
|
||||
});
|
||||
}
|
||||
|
||||
var $message = $el.find('.message');
|
||||
this._postRenderMessage($message);
|
||||
},
|
||||
|
||||
_postRenderMessage: function($el) {
|
||||
$el.find('.avatar').each(function() {
|
||||
var avatar = $(this);
|
||||
var strong = $(this).next();
|
||||
var appendTo = $(this).parent();
|
||||
|
||||
$.merge(avatar, strong).contactsMenu(avatar.data('user'), 0, appendTo);
|
||||
});
|
||||
},
|
||||
|
||||
/**
|
||||
* Convert a message to be displayed in HTML,
|
||||
* converts newlines to <br> tags.
|
||||
*/
|
||||
_formatMessage: function(message, mentions) {
|
||||
message = escapeHTML(message).replace(/\n/g, '<br/>');
|
||||
|
||||
for(var i in mentions) {
|
||||
var mention = '@' + mentions[i].mentionId;
|
||||
|
||||
var avatar = '<div class="avatar" '
|
||||
+ 'data-user="' + _.escape(mentions[i].mentionId) + '"'
|
||||
+' data-user-display-name="'
|
||||
+ _.escape(mentions[i].mentionDisplayName) + '"></div>';
|
||||
|
||||
// escape possible regex characters in the name
|
||||
mention = mention.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
||||
var displayName = ''
|
||||
+ '<span class="avatar-name-wrapper">'
|
||||
+ avatar + ' <strong>'+ _.escape(mentions[i].mentionDisplayName)+'</strong>'
|
||||
+ '</span>';
|
||||
|
||||
// replace every mention either at the start of the input or after a whitespace
|
||||
// followed by a non-word character.
|
||||
message = message.replace(new RegExp("(^|\\s)(" + mention + ")\\b", 'g'),
|
||||
function(match, p1) {
|
||||
// to get number of whitespaces (0 vs 1) right
|
||||
return p1+displayName;
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
return message;
|
||||
_formatMessage: function(message) {
|
||||
return escapeHTML(message).replace(/\n/g, '<br/>');
|
||||
},
|
||||
|
||||
nextPage: function() {
|
||||
@@ -313,12 +276,9 @@
|
||||
$formRow.find('textarea').on('keydown input change', this._onTypeComment);
|
||||
|
||||
// copy avatar element from original to avoid flickering
|
||||
$formRow.find('.avatar:first').replaceWith($comment.find('.avatar:first').clone());
|
||||
$formRow.find('.avatar').replaceWith($comment.find('.avatar').clone());
|
||||
$formRow.find('.has-tooltip').tooltip();
|
||||
|
||||
// Enable autosize
|
||||
autosize($formRow.find('textarea'));
|
||||
|
||||
return false;
|
||||
},
|
||||
|
||||
@@ -380,10 +340,11 @@
|
||||
error: function() {
|
||||
$loading.addClass('hidden');
|
||||
$comment.removeClass('disabled');
|
||||
OC.Notification.showTemporary(t('comments', 'Error occurred while retrieving comment with ID {id}', {id: commentId}));
|
||||
OC.Notification.showTemporary(t('comments', 'Error occurred while retrieving comment with id {id}', {id: commentId}));
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
return false;
|
||||
},
|
||||
|
||||
@@ -392,51 +353,6 @@
|
||||
this.nextPage();
|
||||
},
|
||||
|
||||
/**
|
||||
* takes care of updating comment elements after submit (either new
|
||||
* comment or edit).
|
||||
*
|
||||
* @param {OC.Backbone.Model} model
|
||||
* @param {jQuery} $form
|
||||
* @param {string|undefined} commentId
|
||||
* @private
|
||||
*/
|
||||
_onSubmitSuccess: function(model, $form, commentId) {
|
||||
var self = this;
|
||||
var $submit = $form.find('.submit');
|
||||
var $loading = $form.find('.submitLoading');
|
||||
var $textArea = $form.find('.message');
|
||||
|
||||
model.fetch({
|
||||
success: function(model) {
|
||||
$submit.removeClass('hidden');
|
||||
$loading.addClass('hidden');
|
||||
var $target;
|
||||
|
||||
if(!_.isUndefined(commentId)) {
|
||||
var $row = $form.closest('.comment');
|
||||
$target = $row.data('commentEl');
|
||||
$target.removeClass('hidden');
|
||||
$row.remove();
|
||||
} else {
|
||||
$target = $('.commentsTabView .comments').find('li:first');
|
||||
$textArea.val('').prop('disabled', false);
|
||||
}
|
||||
|
||||
var $message = $target.find('.message');
|
||||
$message
|
||||
.html(self._formatMessage(model.get('message'), model.get('mentions')))
|
||||
.find('.avatar')
|
||||
.each(function () { $(this).avatar(); });
|
||||
|
||||
self._postRenderMessage($message);
|
||||
},
|
||||
error: function () {
|
||||
self._onSubmitError($form, commentId);
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
_onSubmitComment: function(e) {
|
||||
var self = this;
|
||||
var $form = $(e.target);
|
||||
@@ -444,7 +360,7 @@
|
||||
var currentUser = OC.getCurrentUser();
|
||||
var $submit = $form.find('.submit');
|
||||
var $loading = $form.find('.submitLoading');
|
||||
var $textArea = $form.find('.message');
|
||||
var $textArea = $form.find('textarea');
|
||||
var message = $textArea.val().trim();
|
||||
e.preventDefault();
|
||||
|
||||
@@ -463,10 +379,21 @@
|
||||
message: $textArea.val()
|
||||
}, {
|
||||
success: function(model) {
|
||||
self._onSubmitSuccess(model, $form, commentId);
|
||||
var $row = $form.closest('.comment');
|
||||
$submit.removeClass('hidden');
|
||||
$loading.addClass('hidden');
|
||||
$row.data('commentEl')
|
||||
.removeClass('hidden')
|
||||
.find('.message')
|
||||
.html(self._formatMessage(model.get('message')));
|
||||
$row.remove();
|
||||
},
|
||||
error: function() {
|
||||
self._onSubmitError($form, commentId);
|
||||
$submit.removeClass('hidden');
|
||||
$loading.addClass('hidden');
|
||||
$textArea.prop('disabled', false);
|
||||
|
||||
OC.Notification.showTemporary(t('comments', 'Error occurred while updating comment with id {id}', {id: commentId}));
|
||||
}
|
||||
});
|
||||
} else {
|
||||
@@ -481,11 +408,17 @@
|
||||
at: 0,
|
||||
// wait for real creation before adding
|
||||
wait: true,
|
||||
success: function(model) {
|
||||
self._onSubmitSuccess(model, $form);
|
||||
success: function() {
|
||||
$submit.removeClass('hidden');
|
||||
$loading.addClass('hidden');
|
||||
$textArea.val('').prop('disabled', false);
|
||||
},
|
||||
error: function() {
|
||||
self._onSubmitError($form);
|
||||
$submit.removeClass('hidden');
|
||||
$loading.addClass('hidden');
|
||||
$textArea.prop('disabled', false);
|
||||
|
||||
OC.Notification.showTemporary(t('comments', 'Error occurred while posting comment'));
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -493,26 +426,6 @@
|
||||
return false;
|
||||
},
|
||||
|
||||
/**
|
||||
* takes care of updating the UI after an error on submit (either new
|
||||
* comment or edit).
|
||||
*
|
||||
* @param {jQuery} $form
|
||||
* @param {string|undefined} commentId
|
||||
* @private
|
||||
*/
|
||||
_onSubmitError: function($form, commentId) {
|
||||
$form.find('.submit').removeClass('hidden');
|
||||
$form.find('.submitLoading').addClass('hidden');
|
||||
$form.find('.message').prop('disabled', false);
|
||||
|
||||
if(!_.isUndefined(commentId)) {
|
||||
OC.Notification.show(t('comments', 'Error occurred while updating comment with id {id}', {id: commentId}), {type: 'error'});
|
||||
} else {
|
||||
OC.Notification.show(t('comments', 'Error occurred while posting comment'), {type: 'error'});
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Returns whether the given message is long and needs
|
||||
* collapsing
|
||||
@@ -524,3 +437,4 @@
|
||||
|
||||
OCA.Comments.CommentsTabView = CommentsTabView;
|
||||
})(OC, OCA);
|
||||
|
||||
|
||||
@@ -9,17 +9,13 @@
|
||||
*/
|
||||
|
||||
(function(OC, OCA) {
|
||||
|
||||
_.extend(OC.Files.Client, {
|
||||
PROPERTY_READMARKER: '{' + OC.Files.Client.NS_OWNCLOUD + '}readMarker'
|
||||
});
|
||||
|
||||
var NS_OWNCLOUD = 'http://owncloud.org/ns';
|
||||
/**
|
||||
* @class OCA.Comments.CommentSummaryModel
|
||||
* @classdesc
|
||||
*
|
||||
* Model containing summary information related to comments
|
||||
* like the read marker.
|
||||
* like the read marker.
|
||||
*
|
||||
*/
|
||||
var CommentSummaryModel = OC.Backbone.Model.extend(
|
||||
@@ -41,7 +37,7 @@
|
||||
_objectId: null,
|
||||
|
||||
davProperties: {
|
||||
'readMarker': OC.Files.Client.PROPERTY_READMARKER
|
||||
'readMarker': '{' + NS_OWNCLOUD + '}readMarker'
|
||||
},
|
||||
|
||||
/**
|
||||
@@ -66,3 +62,4 @@
|
||||
|
||||
OCA.Comments.CommentSummaryModel = CommentSummaryModel;
|
||||
})(OC, OCA);
|
||||
|
||||
|
||||
@@ -11,11 +11,6 @@
|
||||
/* global Handlebars */
|
||||
|
||||
(function() {
|
||||
|
||||
_.extend(OC.Files.Client, {
|
||||
PROPERTY_COMMENTS_UNREAD: '{' + OC.Files.Client.NS_OWNCLOUD + '}comments-unread'
|
||||
});
|
||||
|
||||
var TEMPLATE_COMMENTS_UNREAD =
|
||||
'<a class="action action-comment permanent" title="{{countMessage}}" href="#">' +
|
||||
'<img class="svg" src="{{iconUrl}}"/>' +
|
||||
@@ -44,7 +39,7 @@
|
||||
}
|
||||
return this._commentsUnreadTemplate({
|
||||
count: count,
|
||||
countMessage: n('comments', '%n unread comment', '%n unread comments', count),
|
||||
countMessage: t('comments', '{count} unread comments', {count: count}),
|
||||
iconUrl: OC.imagePath('core', 'actions/comment')
|
||||
});
|
||||
},
|
||||
@@ -57,17 +52,19 @@
|
||||
|
||||
fileList.registerTabView(new OCA.Comments.CommentsTabView('commentsTabView'));
|
||||
|
||||
var NS_OC = 'http://owncloud.org/ns';
|
||||
|
||||
var oldGetWebdavProperties = fileList._getWebdavProperties;
|
||||
fileList._getWebdavProperties = function() {
|
||||
var props = oldGetWebdavProperties.apply(this, arguments);
|
||||
props.push(OC.Files.Client.PROPERTY_COMMENTS_UNREAD);
|
||||
props.push('{' + NS_OC + '}comments-unread');
|
||||
return props;
|
||||
};
|
||||
|
||||
fileList.filesClient.addFileInfoParser(function(response) {
|
||||
var data = {};
|
||||
var props = response.propStat[0].properties;
|
||||
var commentsUnread = props[OC.Files.Client.PROPERTY_COMMENTS_UNREAD];
|
||||
var commentsUnread = props['{' + NS_OC + '}comments-unread'];
|
||||
if (!_.isUndefined(commentsUnread) && commentsUnread !== '') {
|
||||
data.commentsUnread = parseInt(commentsUnread, 10);
|
||||
}
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
[
|
||||
"app.js",
|
||||
"commentmodel.js",
|
||||
"commentcollection.js",
|
||||
"commentsummarymodel.js",
|
||||
"commentstabview.js",
|
||||
"filesplugin.js",
|
||||
"activitytabviewplugin.js"
|
||||
]
|
||||
@@ -1,36 +0,0 @@
|
||||
OC.L10N.register(
|
||||
"comments",
|
||||
{
|
||||
"Edit comment" : "Wysig kommentaar",
|
||||
"Delete comment" : "Skrap kommentaar",
|
||||
"New comment …" : "Nuwe kommentaar…",
|
||||
"Post" : "Plaas",
|
||||
"Cancel" : "Kanselleer",
|
||||
"[Deleted user]" : "[Geskrapte gebruiker]",
|
||||
"Comments" : "Kommentare",
|
||||
"No comments yet, start the conversation!" : "Nog geen kommentaar, begin die gesprek!",
|
||||
"More comments …" : "Nog kommentare …",
|
||||
"Save" : "Bewaar",
|
||||
"Allowed characters {count} of {max}" : "Toegelate karakters {telling} van {maks}",
|
||||
"Error occurred while retrieving comment with ID {id}" : "’n Fout het voorgekom toe kommentaar met id {id} opgehaal is",
|
||||
"Error occurred while updating comment with id {id}" : "’n Fout het voorgekom toe kommentaar met id {id} bygewerk is",
|
||||
"Error occurred while posting comment" : "’n Fout het voorgekom toe kommentaar geplaas is",
|
||||
"_%n unread comment_::_%n unread comments_" : ["%n ongeleesde kommentaar","%n ongeleeste kommentare"],
|
||||
"Comment" : "Kommentaar",
|
||||
"You commented" : "U het kommentaar gelewer",
|
||||
"%1$s commented" : "%1$s het kommentaar gelewer",
|
||||
"{author} commented" : "{outeur} het kommentaar gelewer",
|
||||
"You commented on %1$s" : "U het op %1$s kommentaar gelewer",
|
||||
"You commented on {file}" : "U het op {lêer} kommentaar gelewer",
|
||||
"%1$s commented on %2$s" : "%1$s het op %2$s kommentaar gelewer",
|
||||
"{author} commented on {file}" : "{outeur} het op {lêer} kommentaar gelewer",
|
||||
"<strong>Comments</strong> for files" : "<strong>Kommentare</strong> vir lêers",
|
||||
"You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "Jy was genoem op “{lêer}”, in die kommentaar van 'n gebruiker wat intussen geskrap is.",
|
||||
"{user} mentioned you in a comment on “{file}”" : "{gebruiker} het u in ’n kommentaar oor “{lêer}” genoem",
|
||||
"Unknown user" : "Onbekende gebruiker",
|
||||
"A (now) deleted user mentioned you in a comment on “%s”" : "’n (Nou) geskrapte gebruiker het u in ’n kommentaar op “%s” genoem",
|
||||
"A (now) deleted user mentioned you in a comment on “{file}”" : "’n (Nou) geskrapte gebruiker het u in ’n kommentaar op “{lêer}” genoem",
|
||||
"%1$s mentioned you in a comment on “%2$s”" : "%1$s het u in ’n kommentaar op “%2$s” genoem",
|
||||
"You were mentioned on “%s”, in a comment by a user that has since been deleted" : "Jy was genoem op \"%s\", in die kommentaar van 'n gebruiker wat intussen geskrap is."
|
||||
},
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
@@ -1,34 +0,0 @@
|
||||
{ "translations": {
|
||||
"Edit comment" : "Wysig kommentaar",
|
||||
"Delete comment" : "Skrap kommentaar",
|
||||
"New comment …" : "Nuwe kommentaar…",
|
||||
"Post" : "Plaas",
|
||||
"Cancel" : "Kanselleer",
|
||||
"[Deleted user]" : "[Geskrapte gebruiker]",
|
||||
"Comments" : "Kommentare",
|
||||
"No comments yet, start the conversation!" : "Nog geen kommentaar, begin die gesprek!",
|
||||
"More comments …" : "Nog kommentare …",
|
||||
"Save" : "Bewaar",
|
||||
"Allowed characters {count} of {max}" : "Toegelate karakters {telling} van {maks}",
|
||||
"Error occurred while retrieving comment with ID {id}" : "’n Fout het voorgekom toe kommentaar met id {id} opgehaal is",
|
||||
"Error occurred while updating comment with id {id}" : "’n Fout het voorgekom toe kommentaar met id {id} bygewerk is",
|
||||
"Error occurred while posting comment" : "’n Fout het voorgekom toe kommentaar geplaas is",
|
||||
"_%n unread comment_::_%n unread comments_" : ["%n ongeleesde kommentaar","%n ongeleeste kommentare"],
|
||||
"Comment" : "Kommentaar",
|
||||
"You commented" : "U het kommentaar gelewer",
|
||||
"%1$s commented" : "%1$s het kommentaar gelewer",
|
||||
"{author} commented" : "{outeur} het kommentaar gelewer",
|
||||
"You commented on %1$s" : "U het op %1$s kommentaar gelewer",
|
||||
"You commented on {file}" : "U het op {lêer} kommentaar gelewer",
|
||||
"%1$s commented on %2$s" : "%1$s het op %2$s kommentaar gelewer",
|
||||
"{author} commented on {file}" : "{outeur} het op {lêer} kommentaar gelewer",
|
||||
"<strong>Comments</strong> for files" : "<strong>Kommentare</strong> vir lêers",
|
||||
"You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "Jy was genoem op “{lêer}”, in die kommentaar van 'n gebruiker wat intussen geskrap is.",
|
||||
"{user} mentioned you in a comment on “{file}”" : "{gebruiker} het u in ’n kommentaar oor “{lêer}” genoem",
|
||||
"Unknown user" : "Onbekende gebruiker",
|
||||
"A (now) deleted user mentioned you in a comment on “%s”" : "’n (Nou) geskrapte gebruiker het u in ’n kommentaar op “%s” genoem",
|
||||
"A (now) deleted user mentioned you in a comment on “{file}”" : "’n (Nou) geskrapte gebruiker het u in ’n kommentaar op “{lêer}” genoem",
|
||||
"%1$s mentioned you in a comment on “%2$s”" : "%1$s het u in ’n kommentaar op “%2$s” genoem",
|
||||
"You were mentioned on “%s”, in a comment by a user that has since been deleted" : "Jy was genoem op \"%s\", in die kommentaar van 'n gebruiker wat intussen geskrap is."
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
||||
+11
-14
@@ -1,26 +1,23 @@
|
||||
OC.L10N.register(
|
||||
"comments",
|
||||
{
|
||||
"Edit comment" : "تعديل التعليق",
|
||||
"Type in a new comment..." : "اكتب تعليق جديد...",
|
||||
"Delete comment" : "حذف التعليق",
|
||||
"New comment …" : "تعليق جديد",
|
||||
"Post" : "ارسال",
|
||||
"Post" : "مشاركة",
|
||||
"Cancel" : "إلغاء",
|
||||
"Edit comment" : "تعديل التعليق",
|
||||
"[Deleted user]" : "[مستخدم محذوف]",
|
||||
"Comments" : "تعليقات",
|
||||
"No comments yet, start the conversation!" : "لا يوجد تعليقات, ابدأ النقاش الآن!",
|
||||
"More comments …" : "مزيد من التعليقات...",
|
||||
"No other comments available" : "لا يوجد تعليقات أخرى متاحة",
|
||||
"More comments..." : "مزيد من التعليقات...",
|
||||
"Save" : "حفظ",
|
||||
"Allowed characters {count} of {max}" : "عدد الأحرف المسموح بها {count} من {max}",
|
||||
"Error occurred while updating comment with id {id}" : "حصل خطأ أثناء تعديل التعليق رقم {id}",
|
||||
"Error occurred while posting comment" : "حصل خطأ أثناء إرسال التعليق",
|
||||
"Allowed characters {count} of {max}" : "عدد الأحرف المسموح بها {عدد} من {العدد الأقصى}",
|
||||
"{count} unread comments" : "{عدد} الرسائل الغير مقروءة",
|
||||
"Comment" : "تعليق",
|
||||
"<strong>Comments</strong> for files <em>(always listed in stream)</em>" : "<strong>تعليقات</strong> للملفات <em>(دائماً مصنف في جدول)</em>",
|
||||
"You commented" : "قمت بكتابة تعليق",
|
||||
"%1$s commented" : "%1$s كتب تعليق",
|
||||
"You commented on {file}" : "علقت على {file}",
|
||||
"%1$s commented on %2$s" : "%1$s كتب تعليق على %2$s",
|
||||
"{author} commented on {file}" : "{author} علّق على {file}",
|
||||
"<strong>Comments</strong> for files" : "<strong>تعليقات</strong> على الملفات",
|
||||
"Unknown user" : "مستخدم غير معروف"
|
||||
"%1$s commented" : "%1$s قام بكتابة تعليق",
|
||||
"You commented on %2$s" : "انت قمت بكتابة تعليق على %2$s",
|
||||
"%1$s commented on %2$s" : "%1$s قام بكتابة تعليق على %2$s"
|
||||
},
|
||||
"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;");
|
||||
|
||||
+11
-14
@@ -1,24 +1,21 @@
|
||||
{ "translations": {
|
||||
"Edit comment" : "تعديل التعليق",
|
||||
"Type in a new comment..." : "اكتب تعليق جديد...",
|
||||
"Delete comment" : "حذف التعليق",
|
||||
"New comment …" : "تعليق جديد",
|
||||
"Post" : "ارسال",
|
||||
"Post" : "مشاركة",
|
||||
"Cancel" : "إلغاء",
|
||||
"Edit comment" : "تعديل التعليق",
|
||||
"[Deleted user]" : "[مستخدم محذوف]",
|
||||
"Comments" : "تعليقات",
|
||||
"No comments yet, start the conversation!" : "لا يوجد تعليقات, ابدأ النقاش الآن!",
|
||||
"More comments …" : "مزيد من التعليقات...",
|
||||
"No other comments available" : "لا يوجد تعليقات أخرى متاحة",
|
||||
"More comments..." : "مزيد من التعليقات...",
|
||||
"Save" : "حفظ",
|
||||
"Allowed characters {count} of {max}" : "عدد الأحرف المسموح بها {count} من {max}",
|
||||
"Error occurred while updating comment with id {id}" : "حصل خطأ أثناء تعديل التعليق رقم {id}",
|
||||
"Error occurred while posting comment" : "حصل خطأ أثناء إرسال التعليق",
|
||||
"Allowed characters {count} of {max}" : "عدد الأحرف المسموح بها {عدد} من {العدد الأقصى}",
|
||||
"{count} unread comments" : "{عدد} الرسائل الغير مقروءة",
|
||||
"Comment" : "تعليق",
|
||||
"<strong>Comments</strong> for files <em>(always listed in stream)</em>" : "<strong>تعليقات</strong> للملفات <em>(دائماً مصنف في جدول)</em>",
|
||||
"You commented" : "قمت بكتابة تعليق",
|
||||
"%1$s commented" : "%1$s كتب تعليق",
|
||||
"You commented on {file}" : "علقت على {file}",
|
||||
"%1$s commented on %2$s" : "%1$s كتب تعليق على %2$s",
|
||||
"{author} commented on {file}" : "{author} علّق على {file}",
|
||||
"<strong>Comments</strong> for files" : "<strong>تعليقات</strong> على الملفات",
|
||||
"Unknown user" : "مستخدم غير معروف"
|
||||
"%1$s commented" : "%1$s قام بكتابة تعليق",
|
||||
"You commented on %2$s" : "انت قمت بكتابة تعليق على %2$s",
|
||||
"%1$s commented on %2$s" : "%1$s قام بكتابة تعليق على %2$s"
|
||||
},"pluralForm" :"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
|
||||
}
|
||||
@@ -1,33 +1,8 @@
|
||||
OC.L10N.register(
|
||||
"comments",
|
||||
{
|
||||
"Edit comment" : "Editar comentariu",
|
||||
"Delete comment" : "Desaniciar comentariu",
|
||||
"New comment …" : "Comentariu nuevu...",
|
||||
"Post" : "Espublizar",
|
||||
"Cancel" : "Encaboxar",
|
||||
"[Deleted user]" : "[Usuariu desaniciáu]",
|
||||
"Comments" : "Comentarios",
|
||||
"No comments yet, start the conversation!" : "Entá nun hai comentarios. ¡Entama una conversación!",
|
||||
"More comments …" : "Más comentarios...",
|
||||
"Save" : "Guardar",
|
||||
"Allowed characters {count} of {max}" : "{count} caráuteres almitíos de {max}",
|
||||
"Error occurred while updating comment with id {id}" : "Asocedió un fallu entrín s'anovaba'l comentariu cola ID {id}",
|
||||
"Error occurred while posting comment" : "Asocedieron fallos entrín s'espublizaba'l comentariu",
|
||||
"_%n unread comment_::_%n unread comments_" : ["%n comentariu ensin lleer","%n comentarios ensin lleer"],
|
||||
"Comment" : "Comentariu",
|
||||
"You commented" : "Comentesti",
|
||||
"%1$s commented" : "%1$s comentó",
|
||||
"{author} commented" : "{author} comentó",
|
||||
"You commented on %1$s" : "Comentesti en %1$s",
|
||||
"You commented on {file}" : "Comentesti en {file}",
|
||||
"%1$s commented on %2$s" : "%1$s comentó en %2$s",
|
||||
"{author} commented on {file}" : "{autor} comentó en {ficheru}",
|
||||
"<strong>Comments</strong> for files" : "<strong>Comentarios</strong> pa ficheros",
|
||||
"{user} mentioned you in a comment on “{file}”" : "{user} mentóte nun comentariu de «{file}»",
|
||||
"Unknown user" : "Usuariu desconocíu",
|
||||
"A (now) deleted user mentioned you in a comment on “%s”" : "Un usuariu (agora) desaniciáu mentóte nun comentariu de «%s»",
|
||||
"A (now) deleted user mentioned you in a comment on “{file}”" : "Un usuariu (agora) desaniciáu mentóte nun comentariu de «{file}»",
|
||||
"%1$s mentioned you in a comment on “%2$s”" : "%1$s mentóte nun comentariu de «%2$s»"
|
||||
"Comment" : "Comentariu"
|
||||
},
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
|
||||
@@ -1,31 +1,6 @@
|
||||
{ "translations": {
|
||||
"Edit comment" : "Editar comentariu",
|
||||
"Delete comment" : "Desaniciar comentariu",
|
||||
"New comment …" : "Comentariu nuevu...",
|
||||
"Post" : "Espublizar",
|
||||
"Cancel" : "Encaboxar",
|
||||
"[Deleted user]" : "[Usuariu desaniciáu]",
|
||||
"Comments" : "Comentarios",
|
||||
"No comments yet, start the conversation!" : "Entá nun hai comentarios. ¡Entama una conversación!",
|
||||
"More comments …" : "Más comentarios...",
|
||||
"Save" : "Guardar",
|
||||
"Allowed characters {count} of {max}" : "{count} caráuteres almitíos de {max}",
|
||||
"Error occurred while updating comment with id {id}" : "Asocedió un fallu entrín s'anovaba'l comentariu cola ID {id}",
|
||||
"Error occurred while posting comment" : "Asocedieron fallos entrín s'espublizaba'l comentariu",
|
||||
"_%n unread comment_::_%n unread comments_" : ["%n comentariu ensin lleer","%n comentarios ensin lleer"],
|
||||
"Comment" : "Comentariu",
|
||||
"You commented" : "Comentesti",
|
||||
"%1$s commented" : "%1$s comentó",
|
||||
"{author} commented" : "{author} comentó",
|
||||
"You commented on %1$s" : "Comentesti en %1$s",
|
||||
"You commented on {file}" : "Comentesti en {file}",
|
||||
"%1$s commented on %2$s" : "%1$s comentó en %2$s",
|
||||
"{author} commented on {file}" : "{autor} comentó en {ficheru}",
|
||||
"<strong>Comments</strong> for files" : "<strong>Comentarios</strong> pa ficheros",
|
||||
"{user} mentioned you in a comment on “{file}”" : "{user} mentóte nun comentariu de «{file}»",
|
||||
"Unknown user" : "Usuariu desconocíu",
|
||||
"A (now) deleted user mentioned you in a comment on “%s”" : "Un usuariu (agora) desaniciáu mentóte nun comentariu de «%s»",
|
||||
"A (now) deleted user mentioned you in a comment on “{file}”" : "Un usuariu (agora) desaniciáu mentóte nun comentariu de «{file}»",
|
||||
"%1$s mentioned you in a comment on “%2$s”" : "%1$s mentóte nun comentariu de «%2$s»"
|
||||
"Comment" : "Comentariu"
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
||||
@@ -1,35 +0,0 @@
|
||||
OC.L10N.register(
|
||||
"comments",
|
||||
{
|
||||
"Edit comment" : "Редактирай коментра",
|
||||
"Delete comment" : "Изтрий коментар",
|
||||
"New comment …" : "Нов коментар...",
|
||||
"Post" : "Публикация",
|
||||
"Cancel" : "Отказ",
|
||||
"[Deleted user]" : "[Изтрит потребител]",
|
||||
"Comments" : "Коментари",
|
||||
"No comments yet, start the conversation!" : "Все-още няма коментари, започни разговор!",
|
||||
"More comments …" : "Още коментари...",
|
||||
"Save" : "Запазване",
|
||||
"Allowed characters {count} of {max}" : "Позволени символи {count} от {max}",
|
||||
"Error occurred while updating comment with id {id}" : "Възникна грешка по време на обновяване на коментар с код {id}",
|
||||
"Error occurred while posting comment" : "Възникна грешка по време на изпращане на коментар",
|
||||
"_%n unread comment_::_%n unread comments_" : ["%n непрочетен коментар","%n непрочетени коментари"],
|
||||
"Comment" : "Коментар",
|
||||
"You commented" : "Вие коментирахте",
|
||||
"%1$s commented" : "%1$s коментира",
|
||||
"{author} commented" : "{author} коментира",
|
||||
"You commented on %1$s" : "Ти коментира за %1$s",
|
||||
"You commented on {file}" : "Ти коментира за {file}",
|
||||
"%1$s commented on %2$s" : "%1$s коментиран за %2$s",
|
||||
"{author} commented on {file}" : "{author} коментира за {file}",
|
||||
"<strong>Comments</strong> for files" : "<strong>Коментари</strong> за файлове",
|
||||
"You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "Бяхте споменат/а към “{file}”, в коментар от потребител, който вече е изтрит",
|
||||
"{user} mentioned you in a comment on “{file}”" : "{user} те спомена в коментар за “{file}”",
|
||||
"Unknown user" : "Непознат потребител",
|
||||
"A (now) deleted user mentioned you in a comment on “%s”" : "(Токущо) изтрит потребител те коментира в “%s”",
|
||||
"A (now) deleted user mentioned you in a comment on “{file}”" : "(Токущо) изтрит потребител те спомена в коментар за “{file}”",
|
||||
"%1$s mentioned you in a comment on “%2$s”" : "%1$s те спомена в коментар за “%2$s”",
|
||||
"You were mentioned on “%s”, in a comment by a user that has since been deleted" : "Бяхте споменат/а на “%s”, в коментар от потребител, който вече е изтрит"
|
||||
},
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
@@ -1,33 +0,0 @@
|
||||
{ "translations": {
|
||||
"Edit comment" : "Редактирай коментра",
|
||||
"Delete comment" : "Изтрий коментар",
|
||||
"New comment …" : "Нов коментар...",
|
||||
"Post" : "Публикация",
|
||||
"Cancel" : "Отказ",
|
||||
"[Deleted user]" : "[Изтрит потребител]",
|
||||
"Comments" : "Коментари",
|
||||
"No comments yet, start the conversation!" : "Все-още няма коментари, започни разговор!",
|
||||
"More comments …" : "Още коментари...",
|
||||
"Save" : "Запазване",
|
||||
"Allowed characters {count} of {max}" : "Позволени символи {count} от {max}",
|
||||
"Error occurred while updating comment with id {id}" : "Възникна грешка по време на обновяване на коментар с код {id}",
|
||||
"Error occurred while posting comment" : "Възникна грешка по време на изпращане на коментар",
|
||||
"_%n unread comment_::_%n unread comments_" : ["%n непрочетен коментар","%n непрочетени коментари"],
|
||||
"Comment" : "Коментар",
|
||||
"You commented" : "Вие коментирахте",
|
||||
"%1$s commented" : "%1$s коментира",
|
||||
"{author} commented" : "{author} коментира",
|
||||
"You commented on %1$s" : "Ти коментира за %1$s",
|
||||
"You commented on {file}" : "Ти коментира за {file}",
|
||||
"%1$s commented on %2$s" : "%1$s коментиран за %2$s",
|
||||
"{author} commented on {file}" : "{author} коментира за {file}",
|
||||
"<strong>Comments</strong> for files" : "<strong>Коментари</strong> за файлове",
|
||||
"You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "Бяхте споменат/а към “{file}”, в коментар от потребител, който вече е изтрит",
|
||||
"{user} mentioned you in a comment on “{file}”" : "{user} те спомена в коментар за “{file}”",
|
||||
"Unknown user" : "Непознат потребител",
|
||||
"A (now) deleted user mentioned you in a comment on “%s”" : "(Токущо) изтрит потребител те коментира в “%s”",
|
||||
"A (now) deleted user mentioned you in a comment on “{file}”" : "(Токущо) изтрит потребител те спомена в коментар за “{file}”",
|
||||
"%1$s mentioned you in a comment on “%2$s”" : "%1$s те спомена в коментар за “%2$s”",
|
||||
"You were mentioned on “%s”, in a comment by a user that has since been deleted" : "Бяхте споменат/а на “%s”, в коментар от потребител, който вече е изтрит"
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
||||
@@ -1,39 +1,20 @@
|
||||
OC.L10N.register(
|
||||
"comments",
|
||||
{
|
||||
"Comments" : "Коментари",
|
||||
"Unknown user" : "Непознат потребител",
|
||||
"New comment …" : "Нов коментар...",
|
||||
"Type in a new comment..." : "Напиши нов коментар...",
|
||||
"Delete comment" : "Изтрий коментар",
|
||||
"Post" : "Публикация",
|
||||
"Cancel" : "Отказ",
|
||||
"Edit comment" : "Редактирай коментра",
|
||||
"[Deleted user]" : "[Изтрит потребител]",
|
||||
"No comments yet, start the conversation!" : "Все-още няма коментари, започни разговор!",
|
||||
"More comments …" : "Още коментари...",
|
||||
"Save" : "Запазване",
|
||||
"Allowed characters {count} of {max}" : "Позволени символи {count} от {max}",
|
||||
"Error occurred while retrieving comment with id {id}" : "Възникна грешка по време на извличане на коментар с код {id}",
|
||||
"Error occurred while updating comment with id {id}" : "Възникна грешка по време на обновяване на коментар с код {id}",
|
||||
"Error occurred while posting comment" : "Възникна грешка по време на изпращане на коментар",
|
||||
"_%n unread comment_::_%n unread comments_" : ["%n непрочетен коментар","%n непрочетени коментари"],
|
||||
"Comment" : "Коментар",
|
||||
"You commented" : "Вие коментирахте",
|
||||
"%1$s commented" : "%1$s коментира",
|
||||
"{author} commented" : "{author} коментира",
|
||||
"You commented on %1$s" : "Ти коментира за %1$s",
|
||||
"You commented on {file}" : "Ти коментира за {file}",
|
||||
"%1$s commented on %2$s" : "%1$s коментиран за %2$s",
|
||||
"{author} commented on {file}" : "{author} коментира за {file}",
|
||||
"<strong>Comments</strong> for files" : "<strong>Коментари</strong> за файлове",
|
||||
"A (now) deleted user mentioned you in a comment on “%s”" : "(Токущо) изтрит потребител те коментира в “%s”",
|
||||
"A (now) deleted user mentioned you in a comment on “{file}”" : "(Токущо) изтрит потребител те спомена в коментар за “{file}”",
|
||||
"%1$s mentioned you in a comment on “%2$s”" : "%1$s те спомена в коментар за “%2$s”",
|
||||
"{user} mentioned you in a comment on “{file}”" : "{user} те спомена в коментар за “{file}”",
|
||||
"Type in a new comment..." : "Напиши нов коментар...",
|
||||
"Comments" : "Коментари",
|
||||
"No other comments available" : "Няма други коментари",
|
||||
"More comments..." : "Още коментари...",
|
||||
"{count} unread comments" : "{count} непрочетени коментари",
|
||||
"You commented on %2$s" : "Ти коментира за %2$s"
|
||||
"Save" : "Запазване",
|
||||
"Allowed characters {count} of {max}" : "Позволени символи {count} от {max}",
|
||||
"{count} unread comments" : "{count} нечетени коментари",
|
||||
"Comment" : "Коментар",
|
||||
"<strong>Comments</strong> for files <em>(always listed in stream)</em>" : "<strong>Коментари</strong> на файлове <em>(винаги изписвани в stream-а)</em>",
|
||||
"You commented" : "Вие коментирахте"
|
||||
},
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
|
||||
@@ -1,37 +1,18 @@
|
||||
{ "translations": {
|
||||
"Comments" : "Коментари",
|
||||
"Unknown user" : "Непознат потребител",
|
||||
"New comment …" : "Нов коментар...",
|
||||
"Type in a new comment..." : "Напиши нов коментар...",
|
||||
"Delete comment" : "Изтрий коментар",
|
||||
"Post" : "Публикация",
|
||||
"Cancel" : "Отказ",
|
||||
"Edit comment" : "Редактирай коментра",
|
||||
"[Deleted user]" : "[Изтрит потребител]",
|
||||
"No comments yet, start the conversation!" : "Все-още няма коментари, започни разговор!",
|
||||
"More comments …" : "Още коментари...",
|
||||
"Save" : "Запазване",
|
||||
"Allowed characters {count} of {max}" : "Позволени символи {count} от {max}",
|
||||
"Error occurred while retrieving comment with id {id}" : "Възникна грешка по време на извличане на коментар с код {id}",
|
||||
"Error occurred while updating comment with id {id}" : "Възникна грешка по време на обновяване на коментар с код {id}",
|
||||
"Error occurred while posting comment" : "Възникна грешка по време на изпращане на коментар",
|
||||
"_%n unread comment_::_%n unread comments_" : ["%n непрочетен коментар","%n непрочетени коментари"],
|
||||
"Comment" : "Коментар",
|
||||
"You commented" : "Вие коментирахте",
|
||||
"%1$s commented" : "%1$s коментира",
|
||||
"{author} commented" : "{author} коментира",
|
||||
"You commented on %1$s" : "Ти коментира за %1$s",
|
||||
"You commented on {file}" : "Ти коментира за {file}",
|
||||
"%1$s commented on %2$s" : "%1$s коментиран за %2$s",
|
||||
"{author} commented on {file}" : "{author} коментира за {file}",
|
||||
"<strong>Comments</strong> for files" : "<strong>Коментари</strong> за файлове",
|
||||
"A (now) deleted user mentioned you in a comment on “%s”" : "(Токущо) изтрит потребител те коментира в “%s”",
|
||||
"A (now) deleted user mentioned you in a comment on “{file}”" : "(Токущо) изтрит потребител те спомена в коментар за “{file}”",
|
||||
"%1$s mentioned you in a comment on “%2$s”" : "%1$s те спомена в коментар за “%2$s”",
|
||||
"{user} mentioned you in a comment on “{file}”" : "{user} те спомена в коментар за “{file}”",
|
||||
"Type in a new comment..." : "Напиши нов коментар...",
|
||||
"Comments" : "Коментари",
|
||||
"No other comments available" : "Няма други коментари",
|
||||
"More comments..." : "Още коментари...",
|
||||
"{count} unread comments" : "{count} непрочетени коментари",
|
||||
"You commented on %2$s" : "Ти коментира за %2$s"
|
||||
"Save" : "Запазване",
|
||||
"Allowed characters {count} of {max}" : "Позволени символи {count} от {max}",
|
||||
"{count} unread comments" : "{count} нечетени коментари",
|
||||
"Comment" : "Коментар",
|
||||
"<strong>Comments</strong> for files <em>(always listed in stream)</em>" : "<strong>Коментари</strong> на файлове <em>(винаги изписвани в stream-а)</em>",
|
||||
"You commented" : "Вие коментирахте"
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
||||
+11
-23
@@ -1,35 +1,23 @@
|
||||
OC.L10N.register(
|
||||
"comments",
|
||||
{
|
||||
"Edit comment" : "Editar comentari",
|
||||
"Type in a new comment..." : "Escriu en un nou comentari...",
|
||||
"Delete comment" : "Esborrar comentari",
|
||||
"New comment …" : "Nou comentari...",
|
||||
"Post" : "Publica",
|
||||
"Cancel" : "Cancel·la",
|
||||
"Edit comment" : "Editar comentari",
|
||||
"[Deleted user]" : "[usuari Esborrat]",
|
||||
"Comments" : "Comentaris",
|
||||
"No comments yet, start the conversation!" : "Encara no hi ha comentaris. Comenceu la conversa!",
|
||||
"More comments …" : "Més comentaris...",
|
||||
"No other comments available" : "No hi han altres comentaris disponibles",
|
||||
"More comments..." : "Més comentaris",
|
||||
"Save" : "Desa",
|
||||
"Allowed characters {count} of {max}" : "{count} caràcters permesos de {max}",
|
||||
"Error occurred while updating comment with id {id}" : "Hi ha hagut un error en actualitzar el comentari amb id {id}",
|
||||
"Error occurred while posting comment" : "Hi ha hagut un error en publicar el comentari",
|
||||
"_%n unread comment_::_%n unread comments_" : ["%n comentari no llegit","%n comentaris no llegits"],
|
||||
"Allowed characters {count} of {max}" : "caracters Permessos {count} de {max}",
|
||||
"{count} unread comments" : "{count} comentaris no llegits",
|
||||
"Comment" : "Comentari",
|
||||
"You commented" : "Heu comentat",
|
||||
"%1$s commented" : "%1$s ha comentat",
|
||||
"{author} commented" : "{author} ha comentat",
|
||||
"You commented on %1$s" : "Heu comentat a %1$s",
|
||||
"You commented on {file}" : "Heu comentat a {file}",
|
||||
"%1$s commented on %2$s" : "%1$s ha comentat a %2$s",
|
||||
"{author} commented on {file}" : "{author} ha comentat a {file}",
|
||||
"<strong>Comments</strong> for files" : "<strong>Comentaris</strong> per arxius",
|
||||
"You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "Has estat mencionat a \"{file}\" en un comentari d'un usuari que ja no existeix",
|
||||
"{user} mentioned you in a comment on “{file}”" : "{user} us ha nomenat en un comentari de “{file}”",
|
||||
"Unknown user" : "Usuari desconegut",
|
||||
"A (now) deleted user mentioned you in a comment on “%s”" : "Un usuari (ara) esborrat us ha nomenat en un comentari a “%s”",
|
||||
"A (now) deleted user mentioned you in a comment on “{file}”" : "Un usuari (ara) esborrat us ha nomenat en un comentari de “{file}”",
|
||||
"%1$s mentioned you in a comment on “%2$s”" : "%1$s us ha nomenat en un comentari a “%2$s”",
|
||||
"You were mentioned on “%s”, in a comment by a user that has since been deleted" : "Has estat mencionat a \"%s\" en un comentari d'un usuari que ja no existeix"
|
||||
"<strong>Comments</strong> for files <em>(always listed in stream)</em>" : "<strong>Comentaris</strong> per arxius <em>(sempre llistat en corrent)",
|
||||
"You commented" : "Has comentat",
|
||||
"%1$s commented" : "%1$s comentat",
|
||||
"You commented on %2$s" : "Has comentat a %2$s",
|
||||
"%1$s commented on %2$s" : "%1$s ha comentat a %2$s"
|
||||
},
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
|
||||
+11
-23
@@ -1,33 +1,21 @@
|
||||
{ "translations": {
|
||||
"Edit comment" : "Editar comentari",
|
||||
"Type in a new comment..." : "Escriu en un nou comentari...",
|
||||
"Delete comment" : "Esborrar comentari",
|
||||
"New comment …" : "Nou comentari...",
|
||||
"Post" : "Publica",
|
||||
"Cancel" : "Cancel·la",
|
||||
"Edit comment" : "Editar comentari",
|
||||
"[Deleted user]" : "[usuari Esborrat]",
|
||||
"Comments" : "Comentaris",
|
||||
"No comments yet, start the conversation!" : "Encara no hi ha comentaris. Comenceu la conversa!",
|
||||
"More comments …" : "Més comentaris...",
|
||||
"No other comments available" : "No hi han altres comentaris disponibles",
|
||||
"More comments..." : "Més comentaris",
|
||||
"Save" : "Desa",
|
||||
"Allowed characters {count} of {max}" : "{count} caràcters permesos de {max}",
|
||||
"Error occurred while updating comment with id {id}" : "Hi ha hagut un error en actualitzar el comentari amb id {id}",
|
||||
"Error occurred while posting comment" : "Hi ha hagut un error en publicar el comentari",
|
||||
"_%n unread comment_::_%n unread comments_" : ["%n comentari no llegit","%n comentaris no llegits"],
|
||||
"Allowed characters {count} of {max}" : "caracters Permessos {count} de {max}",
|
||||
"{count} unread comments" : "{count} comentaris no llegits",
|
||||
"Comment" : "Comentari",
|
||||
"You commented" : "Heu comentat",
|
||||
"%1$s commented" : "%1$s ha comentat",
|
||||
"{author} commented" : "{author} ha comentat",
|
||||
"You commented on %1$s" : "Heu comentat a %1$s",
|
||||
"You commented on {file}" : "Heu comentat a {file}",
|
||||
"%1$s commented on %2$s" : "%1$s ha comentat a %2$s",
|
||||
"{author} commented on {file}" : "{author} ha comentat a {file}",
|
||||
"<strong>Comments</strong> for files" : "<strong>Comentaris</strong> per arxius",
|
||||
"You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "Has estat mencionat a \"{file}\" en un comentari d'un usuari que ja no existeix",
|
||||
"{user} mentioned you in a comment on “{file}”" : "{user} us ha nomenat en un comentari de “{file}”",
|
||||
"Unknown user" : "Usuari desconegut",
|
||||
"A (now) deleted user mentioned you in a comment on “%s”" : "Un usuari (ara) esborrat us ha nomenat en un comentari a “%s”",
|
||||
"A (now) deleted user mentioned you in a comment on “{file}”" : "Un usuari (ara) esborrat us ha nomenat en un comentari de “{file}”",
|
||||
"%1$s mentioned you in a comment on “%2$s”" : "%1$s us ha nomenat en un comentari a “%2$s”",
|
||||
"You were mentioned on “%s”, in a comment by a user that has since been deleted" : "Has estat mencionat a \"%s\" en un comentari d'un usuari que ja no existeix"
|
||||
"<strong>Comments</strong> for files <em>(always listed in stream)</em>" : "<strong>Comentaris</strong> per arxius <em>(sempre llistat en corrent)",
|
||||
"You commented" : "Has comentat",
|
||||
"%1$s commented" : "%1$s comentat",
|
||||
"You commented on %2$s" : "Has comentat a %2$s",
|
||||
"%1$s commented on %2$s" : "%1$s ha comentat a %2$s"
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
||||
@@ -1,37 +0,0 @@
|
||||
OC.L10N.register(
|
||||
"comments",
|
||||
{
|
||||
"Edit comment" : "Upravit komentář",
|
||||
"Delete comment" : "Smazat komentář",
|
||||
"New comment …" : "Nový komentář…",
|
||||
"Post" : "Zveřejnit",
|
||||
"Cancel" : "Storno",
|
||||
"[Deleted user]" : "[Smazaný uživatel]",
|
||||
"Comments" : "Komentáře",
|
||||
"No comments yet, start the conversation!" : "Zatím bez komentářů, začněte konverzaci!",
|
||||
"More comments …" : "Více komentářů…",
|
||||
"Save" : "Uložit",
|
||||
"Allowed characters {count} of {max}" : "Povolených znaků {count} z {max}",
|
||||
"Error occurred while retrieving comment with ID {id}" : "Došlo k chybě při načítání komentáře s ID {id}",
|
||||
"Error occurred while updating comment with id {id}" : "Došlo k chybě při aktualizování komentáře s id {id}",
|
||||
"Error occurred while posting comment" : "Došlo k chybě při zveřejňování komentáře",
|
||||
"_%n unread comment_::_%n unread comments_" : ["%n nepřečtený komentář","%n nepřečtené komentáře","%n nepřečtených komentářů","%n nepřečtených komentářů"],
|
||||
"Comment" : "Komentář",
|
||||
"You commented" : "Okomentovali jste",
|
||||
"%1$s commented" : "%1$s okomentován",
|
||||
"{author} commented" : "{author} okomentoval(a)",
|
||||
"You commented on %1$s" : "Okomentovali jste %1$s",
|
||||
"You commented on {file}" : "Okomentovali jste {file}",
|
||||
"%1$s commented on %2$s" : "%1$s okomentoval %2$s",
|
||||
"{author} commented on {file}" : "{author} okomentoval(a) {file}",
|
||||
"<strong>Comments</strong> for files" : "<strong>Komentáře</strong> souborů",
|
||||
"You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "Byli jste zmíněni v souboru “{file}”, v komentáři od uživatele, který byl později smazán",
|
||||
"{user} mentioned you in a comment on “{file}”" : "{user} vás zmínil(a) v komentáři u „{file}“",
|
||||
"Files app plugin to add comments to files" : "Zásuvný modul do aplikace Soubory pro přidávání komentářů k souborům",
|
||||
"Unknown user" : "Neznámý uživatel",
|
||||
"A (now) deleted user mentioned you in a comment on “%s”" : "(Nyní) už smazaný uživatel vás zmínil v komentáři na „%s“.",
|
||||
"A (now) deleted user mentioned you in a comment on “{file}”" : "Nyní už smazaný uživatel vás zmínil v komentáři u „{file}“",
|
||||
"%1$s mentioned you in a comment on “%2$s”" : "%1$s vás zmínil(a) v komentáři u %2$s",
|
||||
"You were mentioned on “%s”, in a comment by a user that has since been deleted" : "Byli jste zmíněni v „%s“, v komentáři od uživatele, který byl později smazán"
|
||||
},
|
||||
"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;");
|
||||
@@ -1,35 +0,0 @@
|
||||
{ "translations": {
|
||||
"Edit comment" : "Upravit komentář",
|
||||
"Delete comment" : "Smazat komentář",
|
||||
"New comment …" : "Nový komentář…",
|
||||
"Post" : "Zveřejnit",
|
||||
"Cancel" : "Storno",
|
||||
"[Deleted user]" : "[Smazaný uživatel]",
|
||||
"Comments" : "Komentáře",
|
||||
"No comments yet, start the conversation!" : "Zatím bez komentářů, začněte konverzaci!",
|
||||
"More comments …" : "Více komentářů…",
|
||||
"Save" : "Uložit",
|
||||
"Allowed characters {count} of {max}" : "Povolených znaků {count} z {max}",
|
||||
"Error occurred while retrieving comment with ID {id}" : "Došlo k chybě při načítání komentáře s ID {id}",
|
||||
"Error occurred while updating comment with id {id}" : "Došlo k chybě při aktualizování komentáře s id {id}",
|
||||
"Error occurred while posting comment" : "Došlo k chybě při zveřejňování komentáře",
|
||||
"_%n unread comment_::_%n unread comments_" : ["%n nepřečtený komentář","%n nepřečtené komentáře","%n nepřečtených komentářů","%n nepřečtených komentářů"],
|
||||
"Comment" : "Komentář",
|
||||
"You commented" : "Okomentovali jste",
|
||||
"%1$s commented" : "%1$s okomentován",
|
||||
"{author} commented" : "{author} okomentoval(a)",
|
||||
"You commented on %1$s" : "Okomentovali jste %1$s",
|
||||
"You commented on {file}" : "Okomentovali jste {file}",
|
||||
"%1$s commented on %2$s" : "%1$s okomentoval %2$s",
|
||||
"{author} commented on {file}" : "{author} okomentoval(a) {file}",
|
||||
"<strong>Comments</strong> for files" : "<strong>Komentáře</strong> souborů",
|
||||
"You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "Byli jste zmíněni v souboru “{file}”, v komentáři od uživatele, který byl později smazán",
|
||||
"{user} mentioned you in a comment on “{file}”" : "{user} vás zmínil(a) v komentáři u „{file}“",
|
||||
"Files app plugin to add comments to files" : "Zásuvný modul do aplikace Soubory pro přidávání komentářů k souborům",
|
||||
"Unknown user" : "Neznámý uživatel",
|
||||
"A (now) deleted user mentioned you in a comment on “%s”" : "(Nyní) už smazaný uživatel vás zmínil v komentáři na „%s“.",
|
||||
"A (now) deleted user mentioned you in a comment on “{file}”" : "Nyní už smazaný uživatel vás zmínil v komentáři u „{file}“",
|
||||
"%1$s mentioned you in a comment on “%2$s”" : "%1$s vás zmínil(a) v komentáři u %2$s",
|
||||
"You were mentioned on “%s”, in a comment by a user that has since been deleted" : "Byli jste zmíněni v „%s“, v komentáři od uživatele, který byl později smazán"
|
||||
},"pluralForm" :"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;"
|
||||
}
|
||||
@@ -1,39 +1,26 @@
|
||||
OC.L10N.register(
|
||||
"comments",
|
||||
{
|
||||
"Comments" : "Komentáře",
|
||||
"Unknown user" : "Neznámý uživatel",
|
||||
"New comment …" : "Nový komentář ...",
|
||||
"Type in a new comment..." : "Zadat nový komentář...",
|
||||
"Delete comment" : "Smazat komentář",
|
||||
"Post" : "Zveřejnit",
|
||||
"Cancel" : "Zrušit",
|
||||
"Edit comment" : "Upravit komentář",
|
||||
"[Deleted user]" : "[Smazaný uživatel]",
|
||||
"No comments yet, start the conversation!" : "Zatím bez komentářů, začněte konverzaci!",
|
||||
"More comments …" : "Více komentářů ...",
|
||||
"Comments" : "Komentáře",
|
||||
"No other comments available" : "Nejsou dostupné žádné další komentáře",
|
||||
"More comments..." : "Více komentářů...",
|
||||
"Save" : "Uložit",
|
||||
"Allowed characters {count} of {max}" : "Povolených znaků {count} z {max}",
|
||||
"Error occurred while retrieving comment with id {id}" : "Došlo k chybě při načítání komentáře s id {id}",
|
||||
"Error occurred while updating comment with id {id}" : "Došlo k chybě při aktualizování komentáře s id {id}",
|
||||
"Error occurred while posting comment" : "Došlo k chybě při zveřejňování komentáře",
|
||||
"_%n unread comment_::_%n unread comments_" : ["%n nepřečtený komentář","%n nepřečtené komentáře","%n nepřečtených komentářů"],
|
||||
"{count} unread comments" : "{count} nepřečtených komentářů",
|
||||
"Comment" : "Komentář",
|
||||
"<strong>Comments</strong> for files <em>(always listed in stream)</em>" : "<strong>Komentáře</strong> pro soubory <em>(vždy uvedeny v proudu)</em>",
|
||||
"You commented" : "Okomentoval(a) jsi",
|
||||
"%1$s commented" : "%1$s okomentován",
|
||||
"{author} commented" : "{author} okomentoval(a)",
|
||||
"You commented on %1$s" : "Okomentoval(a) jste %1$s",
|
||||
"You commented on {file}" : "Okomentoval(a) jste {file}",
|
||||
"%1$s commented on %2$s" : "%1$s okomentoval %2$s",
|
||||
"{author} commented on {file}" : "{author} okomentoval(a) {file}",
|
||||
"<strong>Comments</strong> for files" : "<strong>Komentáře</strong> souborů",
|
||||
"A (now) deleted user mentioned you in a comment on “%s”" : "A (now) deleted user mentioned you in a comment on “%s”",
|
||||
"A (now) deleted user mentioned you in a comment on “{file}”" : "Nyní již smazaný uživatel vás zmínil v komentáři u \"{file}\"",
|
||||
"%1$s mentioned you in a comment on “%2$s”" : "%1$s vás zmínil(a) v komentáři u %2$s",
|
||||
"{user} mentioned you in a comment on “{file}”" : "{user} vás zmínil v komentáři u “{file}”",
|
||||
"Type in a new comment..." : "Zadat nový komentář...",
|
||||
"No other comments available" : "Nejsou dostupné žádné další komentáře",
|
||||
"More comments..." : "Více komentářů...",
|
||||
"{count} unread comments" : "{count} nepřečtených komentářů",
|
||||
"You commented on %2$s" : "Okomentoval(a) jsi %2$s"
|
||||
"You commented on %2$s" : "Okomentoval(a) jsi %2$s",
|
||||
"%1$s commented on %2$s" : "%1$s okomentoval %2$s"
|
||||
},
|
||||
"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;");
|
||||
|
||||
@@ -1,37 +1,24 @@
|
||||
{ "translations": {
|
||||
"Comments" : "Komentáře",
|
||||
"Unknown user" : "Neznámý uživatel",
|
||||
"New comment …" : "Nový komentář ...",
|
||||
"Type in a new comment..." : "Zadat nový komentář...",
|
||||
"Delete comment" : "Smazat komentář",
|
||||
"Post" : "Zveřejnit",
|
||||
"Cancel" : "Zrušit",
|
||||
"Edit comment" : "Upravit komentář",
|
||||
"[Deleted user]" : "[Smazaný uživatel]",
|
||||
"No comments yet, start the conversation!" : "Zatím bez komentářů, začněte konverzaci!",
|
||||
"More comments …" : "Více komentářů ...",
|
||||
"Comments" : "Komentáře",
|
||||
"No other comments available" : "Nejsou dostupné žádné další komentáře",
|
||||
"More comments..." : "Více komentářů...",
|
||||
"Save" : "Uložit",
|
||||
"Allowed characters {count} of {max}" : "Povolených znaků {count} z {max}",
|
||||
"Error occurred while retrieving comment with id {id}" : "Došlo k chybě při načítání komentáře s id {id}",
|
||||
"Error occurred while updating comment with id {id}" : "Došlo k chybě při aktualizování komentáře s id {id}",
|
||||
"Error occurred while posting comment" : "Došlo k chybě při zveřejňování komentáře",
|
||||
"_%n unread comment_::_%n unread comments_" : ["%n nepřečtený komentář","%n nepřečtené komentáře","%n nepřečtených komentářů"],
|
||||
"{count} unread comments" : "{count} nepřečtených komentářů",
|
||||
"Comment" : "Komentář",
|
||||
"<strong>Comments</strong> for files <em>(always listed in stream)</em>" : "<strong>Komentáře</strong> pro soubory <em>(vždy uvedeny v proudu)</em>",
|
||||
"You commented" : "Okomentoval(a) jsi",
|
||||
"%1$s commented" : "%1$s okomentován",
|
||||
"{author} commented" : "{author} okomentoval(a)",
|
||||
"You commented on %1$s" : "Okomentoval(a) jste %1$s",
|
||||
"You commented on {file}" : "Okomentoval(a) jste {file}",
|
||||
"%1$s commented on %2$s" : "%1$s okomentoval %2$s",
|
||||
"{author} commented on {file}" : "{author} okomentoval(a) {file}",
|
||||
"<strong>Comments</strong> for files" : "<strong>Komentáře</strong> souborů",
|
||||
"A (now) deleted user mentioned you in a comment on “%s”" : "A (now) deleted user mentioned you in a comment on “%s”",
|
||||
"A (now) deleted user mentioned you in a comment on “{file}”" : "Nyní již smazaný uživatel vás zmínil v komentáři u \"{file}\"",
|
||||
"%1$s mentioned you in a comment on “%2$s”" : "%1$s vás zmínil(a) v komentáři u %2$s",
|
||||
"{user} mentioned you in a comment on “{file}”" : "{user} vás zmínil v komentáři u “{file}”",
|
||||
"Type in a new comment..." : "Zadat nový komentář...",
|
||||
"No other comments available" : "Nejsou dostupné žádné další komentáře",
|
||||
"More comments..." : "Více komentářů...",
|
||||
"{count} unread comments" : "{count} nepřečtených komentářů",
|
||||
"You commented on %2$s" : "Okomentoval(a) jsi %2$s"
|
||||
"You commented on %2$s" : "Okomentoval(a) jsi %2$s",
|
||||
"%1$s commented on %2$s" : "%1$s okomentoval %2$s"
|
||||
},"pluralForm" :"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;"
|
||||
}
|
||||
@@ -1,35 +1,22 @@
|
||||
OC.L10N.register(
|
||||
"comments",
|
||||
{
|
||||
"Edit comment" : "Rediger kommentar",
|
||||
"Type in a new comment..." : "Indtast en ny kommentar...",
|
||||
"Delete comment" : "Slet kommentar",
|
||||
"New comment …" : "Ny kommentar ...",
|
||||
"Post" : "Indlæg",
|
||||
"Cancel" : "Annullér",
|
||||
"[Deleted user]" : "[Slettet user]",
|
||||
"Edit comment" : "Rediger kommentar",
|
||||
"[Deleted user]" : "[Deleted user]",
|
||||
"Comments" : "Kommentarer",
|
||||
"No comments yet, start the conversation!" : "Ingen kommentarer endnu, start samtalen!",
|
||||
"More comments …" : "Flere kommentarer...",
|
||||
"No other comments available" : "Ingen andre kommentarer tilgængelige",
|
||||
"More comments..." : "Flere kommentarer...",
|
||||
"Save" : "Gem",
|
||||
"Allowed characters {count} of {max}" : "Tilladte tegn {count} af {max}",
|
||||
"Error occurred while updating comment with id {id}" : "Der opstod fejl under opdatering af kommentar med id {id}",
|
||||
"Error occurred while posting comment" : "Der opstod fejl under indsendelse af kommentar",
|
||||
"_%n unread comment_::_%n unread comments_" : ["%n ulæst kommentar","%n ulæste kommentarer"],
|
||||
"{count} unread comments" : "{count} ulæste kommentarer",
|
||||
"Comment" : "Kommentér",
|
||||
"You commented" : "Du kommenterede",
|
||||
"%1$s commented" : "%1$s kommenterede",
|
||||
"{author} commented" : "{author} kommenterede",
|
||||
"You commented on %1$s" : "Du kommenterede %1$s",
|
||||
"You commented on {file}" : "Du kommenterede {file}",
|
||||
"%1$s commented on %2$s" : "%1$s kommenterede %2$s",
|
||||
"{author} commented on {file}" : "{author} kommenterede {file}",
|
||||
"<strong>Comments</strong> for files" : "<strong>Kommentarer</strong> for filer",
|
||||
"You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "Du blev nævnt i \"{file}”, I en kommentar af en bruger der siden er blevet slettet",
|
||||
"{user} mentioned you in a comment on “{file}”" : "{user} nævnte dig i en kommentarer på \"{file}\"",
|
||||
"Unknown user" : "Ukendt bruger",
|
||||
"A (now) deleted user mentioned you in a comment on “%s”" : "En (nu) slettet bruger nævnte dig i en kommentarer på “%s”",
|
||||
"A (now) deleted user mentioned you in a comment on “{file}”" : "En (nu) slettet bruger nævnte dig i en kommentarer på \"{file}\"",
|
||||
"%1$s mentioned you in a comment on “%2$s”" : "%1$s nævnte dig i en kommentarer på “%2$s”",
|
||||
"You were mentioned on “%s”, in a comment by a user that has since been deleted" : "Du blev nævnt i \"%s”, I en kommentar af en bruger der er blevet slettet efterfølgende"
|
||||
"You commented on %2$s" : "Du kommenterede %2$s",
|
||||
"%1$s commented on %2$s" : "%1$s kommenterede %2$s"
|
||||
},
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
|
||||
@@ -1,33 +1,20 @@
|
||||
{ "translations": {
|
||||
"Edit comment" : "Rediger kommentar",
|
||||
"Type in a new comment..." : "Indtast en ny kommentar...",
|
||||
"Delete comment" : "Slet kommentar",
|
||||
"New comment …" : "Ny kommentar ...",
|
||||
"Post" : "Indlæg",
|
||||
"Cancel" : "Annullér",
|
||||
"[Deleted user]" : "[Slettet user]",
|
||||
"Edit comment" : "Rediger kommentar",
|
||||
"[Deleted user]" : "[Deleted user]",
|
||||
"Comments" : "Kommentarer",
|
||||
"No comments yet, start the conversation!" : "Ingen kommentarer endnu, start samtalen!",
|
||||
"More comments …" : "Flere kommentarer...",
|
||||
"No other comments available" : "Ingen andre kommentarer tilgængelige",
|
||||
"More comments..." : "Flere kommentarer...",
|
||||
"Save" : "Gem",
|
||||
"Allowed characters {count} of {max}" : "Tilladte tegn {count} af {max}",
|
||||
"Error occurred while updating comment with id {id}" : "Der opstod fejl under opdatering af kommentar med id {id}",
|
||||
"Error occurred while posting comment" : "Der opstod fejl under indsendelse af kommentar",
|
||||
"_%n unread comment_::_%n unread comments_" : ["%n ulæst kommentar","%n ulæste kommentarer"],
|
||||
"{count} unread comments" : "{count} ulæste kommentarer",
|
||||
"Comment" : "Kommentér",
|
||||
"You commented" : "Du kommenterede",
|
||||
"%1$s commented" : "%1$s kommenterede",
|
||||
"{author} commented" : "{author} kommenterede",
|
||||
"You commented on %1$s" : "Du kommenterede %1$s",
|
||||
"You commented on {file}" : "Du kommenterede {file}",
|
||||
"%1$s commented on %2$s" : "%1$s kommenterede %2$s",
|
||||
"{author} commented on {file}" : "{author} kommenterede {file}",
|
||||
"<strong>Comments</strong> for files" : "<strong>Kommentarer</strong> for filer",
|
||||
"You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "Du blev nævnt i \"{file}”, I en kommentar af en bruger der siden er blevet slettet",
|
||||
"{user} mentioned you in a comment on “{file}”" : "{user} nævnte dig i en kommentarer på \"{file}\"",
|
||||
"Unknown user" : "Ukendt bruger",
|
||||
"A (now) deleted user mentioned you in a comment on “%s”" : "En (nu) slettet bruger nævnte dig i en kommentarer på “%s”",
|
||||
"A (now) deleted user mentioned you in a comment on “{file}”" : "En (nu) slettet bruger nævnte dig i en kommentarer på \"{file}\"",
|
||||
"%1$s mentioned you in a comment on “%2$s”" : "%1$s nævnte dig i en kommentarer på “%2$s”",
|
||||
"You were mentioned on “%s”, in a comment by a user that has since been deleted" : "Du blev nævnt i \"%s”, I en kommentar af en bruger der er blevet slettet efterfølgende"
|
||||
"You commented on %2$s" : "Du kommenterede %2$s",
|
||||
"%1$s commented on %2$s" : "%1$s kommenterede %2$s"
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
||||
+10
-21
@@ -1,37 +1,26 @@
|
||||
OC.L10N.register(
|
||||
"comments",
|
||||
{
|
||||
"Edit comment" : "Kommentar bearbeiten",
|
||||
"Type in a new comment..." : "Bitte gib einen neuen Kommentar ein...",
|
||||
"Delete comment" : "Kommentar löschen",
|
||||
"New comment …" : "Neuer Kommentar …",
|
||||
"Post" : "Speichern",
|
||||
"Cancel" : "Abbrechen",
|
||||
"Edit comment" : "Kommentar bearbeiten",
|
||||
"[Deleted user]" : "[Gelöschter Benutzer]",
|
||||
"Comments" : "Kommentare",
|
||||
"No comments yet, start the conversation!" : "Keine Kommentare bisher. Beginne die Diskussion!",
|
||||
"More comments …" : "Weitere Kommentare…",
|
||||
"No other comments available" : "Keine anderen Kommentare vorhanden",
|
||||
"More comments..." : "Weitere Kommentare...",
|
||||
"Save" : "Speichern",
|
||||
"Allowed characters {count} of {max}" : "Erlaubte Zeichen {count} von {max}",
|
||||
"Error occurred while retrieving comment with ID {id}" : "Es ist ein Fehler beim Empfangen des Kommentars mit der ID {id} aufgetreten",
|
||||
"Error occurred while retrieving comment with id {id}" : "Es ist ein Fehler beim Empfangen des Kommentars mit der ID {id} aufgetreten",
|
||||
"Error occurred while updating comment with id {id}" : "Es ist ein Fehler beim Aktualisieren des Kommentars mit der ID {id} aufgetreten",
|
||||
"Error occurred while posting comment" : "Es ist ein Fehler beim Veröffentlichen des Kommentars aufgetreten",
|
||||
"_%n unread comment_::_%n unread comments_" : ["%n ungelesener Kommentar","%n ungelesene Kommentare"],
|
||||
"{count} unread comments" : "{count} ungelesene Kommentare",
|
||||
"Comment" : "Kommentar",
|
||||
"You commented" : "Von Dir kommentiert",
|
||||
"<strong>Comments</strong> for files <em>(always listed in stream)</em>" : "<strong>Kommentare</strong> für Dateien<em>(immer im Stream aufgelistet)</em>",
|
||||
"You commented" : "Du hast kommentiert",
|
||||
"%1$s commented" : "%1$s kommentierte",
|
||||
"{author} commented" : "{author} kommentierte",
|
||||
"You commented on %1$s" : "Du hast %1$s kommentiert",
|
||||
"You commented on {file}" : "Du hast {file} kommentiert",
|
||||
"%1$s commented on %2$s" : "%1$s kommentierte %2$s",
|
||||
"{author} commented on {file}" : "{author} hat {file} kommentiert",
|
||||
"<strong>Comments</strong> for files" : "<strong>Kommentare</strong> für Dateien",
|
||||
"You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "Du wurdest in einem Kommentar auf \"{file}\" von einem bereits gelöschten Nutzer erwähnt",
|
||||
"{user} mentioned you in a comment on “{file}”" : "{user} hat Dich in einem Kommentar zu “{file}” erwähnt ",
|
||||
"Files app plugin to add comments to files" : "Ein Plugin für die Dateien-App zum Kommentieren von Dateien",
|
||||
"Unknown user" : "Unbekannter Benutzer",
|
||||
"A (now) deleted user mentioned you in a comment on “%s”" : "Ein (nun) gelöschter Benutzer hat Dich in einem Kommentar zu \"%s\" erwähnt",
|
||||
"A (now) deleted user mentioned you in a comment on “{file}”" : "Ein (nun) gelöschter Benutzer hat Dich in einem Kommentar zu “{file}” erwähnt",
|
||||
"%1$s mentioned you in a comment on “%2$s”" : "%1$s hat Dich in einem Kommentar zu “%2$s” erwähnt ",
|
||||
"You were mentioned on “%s”, in a comment by a user that has since been deleted" : "Du wurdest in einem Kommentar auf \"%s\" von einem bereits gelöschten Nutzer erwähnt"
|
||||
"You commented on %2$s" : "Du hast %2$s kommentiert",
|
||||
"%1$s commented on %2$s" : "%1$s kommentierte %2$s"
|
||||
},
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
|
||||
+10
-21
@@ -1,35 +1,24 @@
|
||||
{ "translations": {
|
||||
"Edit comment" : "Kommentar bearbeiten",
|
||||
"Type in a new comment..." : "Bitte gib einen neuen Kommentar ein...",
|
||||
"Delete comment" : "Kommentar löschen",
|
||||
"New comment …" : "Neuer Kommentar …",
|
||||
"Post" : "Speichern",
|
||||
"Cancel" : "Abbrechen",
|
||||
"Edit comment" : "Kommentar bearbeiten",
|
||||
"[Deleted user]" : "[Gelöschter Benutzer]",
|
||||
"Comments" : "Kommentare",
|
||||
"No comments yet, start the conversation!" : "Keine Kommentare bisher. Beginne die Diskussion!",
|
||||
"More comments …" : "Weitere Kommentare…",
|
||||
"No other comments available" : "Keine anderen Kommentare vorhanden",
|
||||
"More comments..." : "Weitere Kommentare...",
|
||||
"Save" : "Speichern",
|
||||
"Allowed characters {count} of {max}" : "Erlaubte Zeichen {count} von {max}",
|
||||
"Error occurred while retrieving comment with ID {id}" : "Es ist ein Fehler beim Empfangen des Kommentars mit der ID {id} aufgetreten",
|
||||
"Error occurred while retrieving comment with id {id}" : "Es ist ein Fehler beim Empfangen des Kommentars mit der ID {id} aufgetreten",
|
||||
"Error occurred while updating comment with id {id}" : "Es ist ein Fehler beim Aktualisieren des Kommentars mit der ID {id} aufgetreten",
|
||||
"Error occurred while posting comment" : "Es ist ein Fehler beim Veröffentlichen des Kommentars aufgetreten",
|
||||
"_%n unread comment_::_%n unread comments_" : ["%n ungelesener Kommentar","%n ungelesene Kommentare"],
|
||||
"{count} unread comments" : "{count} ungelesene Kommentare",
|
||||
"Comment" : "Kommentar",
|
||||
"You commented" : "Von Dir kommentiert",
|
||||
"<strong>Comments</strong> for files <em>(always listed in stream)</em>" : "<strong>Kommentare</strong> für Dateien<em>(immer im Stream aufgelistet)</em>",
|
||||
"You commented" : "Du hast kommentiert",
|
||||
"%1$s commented" : "%1$s kommentierte",
|
||||
"{author} commented" : "{author} kommentierte",
|
||||
"You commented on %1$s" : "Du hast %1$s kommentiert",
|
||||
"You commented on {file}" : "Du hast {file} kommentiert",
|
||||
"%1$s commented on %2$s" : "%1$s kommentierte %2$s",
|
||||
"{author} commented on {file}" : "{author} hat {file} kommentiert",
|
||||
"<strong>Comments</strong> for files" : "<strong>Kommentare</strong> für Dateien",
|
||||
"You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "Du wurdest in einem Kommentar auf \"{file}\" von einem bereits gelöschten Nutzer erwähnt",
|
||||
"{user} mentioned you in a comment on “{file}”" : "{user} hat Dich in einem Kommentar zu “{file}” erwähnt ",
|
||||
"Files app plugin to add comments to files" : "Ein Plugin für die Dateien-App zum Kommentieren von Dateien",
|
||||
"Unknown user" : "Unbekannter Benutzer",
|
||||
"A (now) deleted user mentioned you in a comment on “%s”" : "Ein (nun) gelöschter Benutzer hat Dich in einem Kommentar zu \"%s\" erwähnt",
|
||||
"A (now) deleted user mentioned you in a comment on “{file}”" : "Ein (nun) gelöschter Benutzer hat Dich in einem Kommentar zu “{file}” erwähnt",
|
||||
"%1$s mentioned you in a comment on “%2$s”" : "%1$s hat Dich in einem Kommentar zu “%2$s” erwähnt ",
|
||||
"You were mentioned on “%s”, in a comment by a user that has since been deleted" : "Du wurdest in einem Kommentar auf \"%s\" von einem bereits gelöschten Nutzer erwähnt"
|
||||
"You commented on %2$s" : "Du hast %2$s kommentiert",
|
||||
"%1$s commented on %2$s" : "%1$s kommentierte %2$s"
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
||||
+11
-22
@@ -1,37 +1,26 @@
|
||||
OC.L10N.register(
|
||||
"comments",
|
||||
{
|
||||
"Edit comment" : "Kommentar bearbeiten",
|
||||
"Type in a new comment..." : "Neuer Kommentar...",
|
||||
"Delete comment" : "Kommentar löschen",
|
||||
"New comment …" : "Neuer Kommentar …",
|
||||
"Post" : "Speichern",
|
||||
"Cancel" : "Abbrechen",
|
||||
"Edit comment" : "Kommentar bearbeiten",
|
||||
"[Deleted user]" : "[gelöschter Benutzer]",
|
||||
"Comments" : "Kommentare",
|
||||
"No comments yet, start the conversation!" : "Keine Kommentare bisher. Beginnen Sie die Diskussion!",
|
||||
"More comments …" : "Weitere Kommentare …",
|
||||
"No other comments available" : "Keine anderen Kommentare verfügbar",
|
||||
"More comments..." : "Weitere Kommentare...",
|
||||
"Save" : "Speichern",
|
||||
"Allowed characters {count} of {max}" : "{count} von {max} Zeichen benutzt",
|
||||
"Error occurred while retrieving comment with ID {id}" : "Es ist ein Fehler beim Empfangen des Kommentars mit der ID {id} aufgetreten",
|
||||
"Error occurred while retrieving comment with id {id}" : "Es ist ein Fehler beim Empfangen des Kommentars mit der ID {id} aufgetreten",
|
||||
"Error occurred while updating comment with id {id}" : "Es ist ein Fehler beim Aktualisieren des Kommentars mit der ID {id} aufgetreten",
|
||||
"Error occurred while posting comment" : "Es ist ein Fehler beim Veröffentlichen des Kommentars aufgetreten",
|
||||
"_%n unread comment_::_%n unread comments_" : ["%n ungelesener Kommentar","%n ungelesene Kommentare"],
|
||||
"{count} unread comments" : "[count] ungelesene Kommentare",
|
||||
"Comment" : "Kommentar",
|
||||
"You commented" : "Sie haben kommentiert",
|
||||
"%1$s commented" : "%1$s kommentierte",
|
||||
"{author} commented" : "{author} kommentierte",
|
||||
"You commented on %1$s" : "Sie haben %1$s kommentiert",
|
||||
"You commented on {file}" : "Sie haben {file} kommentiert",
|
||||
"%1$s commented on %2$s" : "%1$s kommentierte %2$s",
|
||||
"{author} commented on {file}" : "{author} hat {file} kommentiert",
|
||||
"<strong>Comments</strong> for files" : "<strong>Kommentare</strong> für Dateien",
|
||||
"You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "Sie wurden in einem Kommentar auf \"{file}\" von einem bereits gelöschten Nutzer erwähnt",
|
||||
"{user} mentioned you in a comment on “{file}”" : "{user} hat Sie in einem Kommentar zu “{file}” erwähnt",
|
||||
"Files app plugin to add comments to files" : "Ein Plugin für die Dateien-App zum Kommentieren von Dateien",
|
||||
"Unknown user" : "Unbekannter Benutzer",
|
||||
"A (now) deleted user mentioned you in a comment on “%s”" : "Ein (nun) gelöschter Benutzer hat Sie in einem Kommentar zu \"%s\" erwähnt",
|
||||
"A (now) deleted user mentioned you in a comment on “{file}”" : "Ein (nun) gelöschter Benutzer hat Sie in einem Kommentar zu “{file}” erwähnt",
|
||||
"%1$s mentioned you in a comment on “%2$s”" : "%1$s hat Sie in einem Kommentar zu “%2$s” erwähnt.",
|
||||
"You were mentioned on “%s”, in a comment by a user that has since been deleted" : "Sie wurden in einem Kommentar auf \"%s\" von einem bereits gelöschten Nutzer erwähnt"
|
||||
"<strong>Comments</strong> for files <em>(always listed in stream)</em>" : "<strong>Kommentare</strong> für Dateien<em>(immer im Stream aufgelistet)</em>",
|
||||
"You commented" : "Durch dich kommentiert",
|
||||
"%1$s commented" : "%1$s kommentiert",
|
||||
"You commented on %2$s" : "Sie haben %2$s kommentiert",
|
||||
"%1$s commented on %2$s" : "%1$s kommentierte %2$s"
|
||||
},
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
|
||||
@@ -1,35 +1,24 @@
|
||||
{ "translations": {
|
||||
"Edit comment" : "Kommentar bearbeiten",
|
||||
"Type in a new comment..." : "Neuer Kommentar...",
|
||||
"Delete comment" : "Kommentar löschen",
|
||||
"New comment …" : "Neuer Kommentar …",
|
||||
"Post" : "Speichern",
|
||||
"Cancel" : "Abbrechen",
|
||||
"Edit comment" : "Kommentar bearbeiten",
|
||||
"[Deleted user]" : "[gelöschter Benutzer]",
|
||||
"Comments" : "Kommentare",
|
||||
"No comments yet, start the conversation!" : "Keine Kommentare bisher. Beginnen Sie die Diskussion!",
|
||||
"More comments …" : "Weitere Kommentare …",
|
||||
"No other comments available" : "Keine anderen Kommentare verfügbar",
|
||||
"More comments..." : "Weitere Kommentare...",
|
||||
"Save" : "Speichern",
|
||||
"Allowed characters {count} of {max}" : "{count} von {max} Zeichen benutzt",
|
||||
"Error occurred while retrieving comment with ID {id}" : "Es ist ein Fehler beim Empfangen des Kommentars mit der ID {id} aufgetreten",
|
||||
"Error occurred while retrieving comment with id {id}" : "Es ist ein Fehler beim Empfangen des Kommentars mit der ID {id} aufgetreten",
|
||||
"Error occurred while updating comment with id {id}" : "Es ist ein Fehler beim Aktualisieren des Kommentars mit der ID {id} aufgetreten",
|
||||
"Error occurred while posting comment" : "Es ist ein Fehler beim Veröffentlichen des Kommentars aufgetreten",
|
||||
"_%n unread comment_::_%n unread comments_" : ["%n ungelesener Kommentar","%n ungelesene Kommentare"],
|
||||
"{count} unread comments" : "[count] ungelesene Kommentare",
|
||||
"Comment" : "Kommentar",
|
||||
"You commented" : "Sie haben kommentiert",
|
||||
"%1$s commented" : "%1$s kommentierte",
|
||||
"{author} commented" : "{author} kommentierte",
|
||||
"You commented on %1$s" : "Sie haben %1$s kommentiert",
|
||||
"You commented on {file}" : "Sie haben {file} kommentiert",
|
||||
"%1$s commented on %2$s" : "%1$s kommentierte %2$s",
|
||||
"{author} commented on {file}" : "{author} hat {file} kommentiert",
|
||||
"<strong>Comments</strong> for files" : "<strong>Kommentare</strong> für Dateien",
|
||||
"You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "Sie wurden in einem Kommentar auf \"{file}\" von einem bereits gelöschten Nutzer erwähnt",
|
||||
"{user} mentioned you in a comment on “{file}”" : "{user} hat Sie in einem Kommentar zu “{file}” erwähnt",
|
||||
"Files app plugin to add comments to files" : "Ein Plugin für die Dateien-App zum Kommentieren von Dateien",
|
||||
"Unknown user" : "Unbekannter Benutzer",
|
||||
"A (now) deleted user mentioned you in a comment on “%s”" : "Ein (nun) gelöschter Benutzer hat Sie in einem Kommentar zu \"%s\" erwähnt",
|
||||
"A (now) deleted user mentioned you in a comment on “{file}”" : "Ein (nun) gelöschter Benutzer hat Sie in einem Kommentar zu “{file}” erwähnt",
|
||||
"%1$s mentioned you in a comment on “%2$s”" : "%1$s hat Sie in einem Kommentar zu “%2$s” erwähnt.",
|
||||
"You were mentioned on “%s”, in a comment by a user that has since been deleted" : "Sie wurden in einem Kommentar auf \"%s\" von einem bereits gelöschten Nutzer erwähnt"
|
||||
"<strong>Comments</strong> for files <em>(always listed in stream)</em>" : "<strong>Kommentare</strong> für Dateien<em>(immer im Stream aufgelistet)</em>",
|
||||
"You commented" : "Durch dich kommentiert",
|
||||
"%1$s commented" : "%1$s kommentiert",
|
||||
"You commented on %2$s" : "Sie haben %2$s kommentiert",
|
||||
"%1$s commented on %2$s" : "%1$s kommentierte %2$s"
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
||||
@@ -1,33 +1,22 @@
|
||||
OC.L10N.register(
|
||||
"comments",
|
||||
{
|
||||
"Edit comment" : "Επεξεργασία σχολίου",
|
||||
"Type in a new comment..." : "Αυτό είναι ένα νέο σχόλιο...",
|
||||
"Delete comment" : "Διαγραφή σχολίου",
|
||||
"New comment …" : "Νέο σχόλιο ...",
|
||||
"Post" : "Δημοσίευση",
|
||||
"Cancel" : "Ακύρωση",
|
||||
"[Deleted user]" : "[Διαγραμμένος χρήστης]",
|
||||
"Cancel" : "Άκυρο",
|
||||
"Edit comment" : "Επεξεργασία σχολίου",
|
||||
"[Deleted user]" : "[Διαγραφή χρήστη]",
|
||||
"Comments" : "Σχόλια",
|
||||
"No comments yet, start the conversation!" : "Δεν υπάρχουν σχόλια, ξεκινήστε την συζήτηση!",
|
||||
"More comments …" : "Περισσότερα σχόλια ...",
|
||||
"No other comments available" : "Δεν υπάρχουν άλλα διαθέσιμα σχόλια",
|
||||
"More comments..." : "Περισσότερα σχόλια...",
|
||||
"Save" : "Αποθήκευση",
|
||||
"Allowed characters {count} of {max}" : "Επιτρεπόμενοι χαρακτήρες {count} από {max}",
|
||||
"Error occurred while updating comment with id {id}" : "Ένα σφάλμα προέκυψε κατά την ενημέρωση του σχολίου με το αναγνωριστικό {id}",
|
||||
"Error occurred while posting comment" : "Ένα σφάλμα προέκυψε κατά την δημοσίευση σχολίου",
|
||||
"_%n unread comment_::_%n unread comments_" : ["%n αδιάβαστο σχόλιο","%n αδιάβαστα σχόλια"],
|
||||
"{count} unread comments" : "{count} μη αναγνωσμένα σχόλια",
|
||||
"Comment" : "Σχόλιο",
|
||||
"You commented" : "Σχολιάσατε",
|
||||
"%1$s commented" : "%1$s σχολίασε",
|
||||
"{author} commented" : "Ο {author} σχολίασε",
|
||||
"You commented on %1$s" : "Σχολιάσατε στο %1$s",
|
||||
"You commented on {file}" : "Σχολιάσατε στο {file}",
|
||||
"%1$s commented on %2$s" : "%1$s σχολίασε στο %2$s",
|
||||
"{author} commented on {file}" : "Ο {author} σχολίασε στο {file}",
|
||||
"<strong>Comments</strong> for files" : "<strong>Σχόλια</strong> για αρχεία",
|
||||
"{user} mentioned you in a comment on “{file}”" : "Ο {user} σας ανέφερε σε σχόλιο στο “{file}”",
|
||||
"Unknown user" : "Άγνωστος χρήστης",
|
||||
"A (now) deleted user mentioned you in a comment on “%s”" : "Ο (πρόσφατα) διεγραμμένος χρήστης σας ανέφερε σε σχόλιο στο “%s”",
|
||||
"A (now) deleted user mentioned you in a comment on “{file}”" : "Ο (πρόσφατα) διεγραμμένος χρήστης σας ανέφερε σε σχόλιο στο “{file}”",
|
||||
"%1$s mentioned you in a comment on “%2$s”" : "%1$s σας ανέφερε σε σχόλιο στο “%2$s”"
|
||||
"You commented on %2$s" : "Σχολιάσατε στο %2$s",
|
||||
"%1$s commented on %2$s" : "%1$s σχολίασε στο %2$s"
|
||||
},
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
|
||||
@@ -1,31 +1,20 @@
|
||||
{ "translations": {
|
||||
"Edit comment" : "Επεξεργασία σχολίου",
|
||||
"Type in a new comment..." : "Αυτό είναι ένα νέο σχόλιο...",
|
||||
"Delete comment" : "Διαγραφή σχολίου",
|
||||
"New comment …" : "Νέο σχόλιο ...",
|
||||
"Post" : "Δημοσίευση",
|
||||
"Cancel" : "Ακύρωση",
|
||||
"[Deleted user]" : "[Διαγραμμένος χρήστης]",
|
||||
"Cancel" : "Άκυρο",
|
||||
"Edit comment" : "Επεξεργασία σχολίου",
|
||||
"[Deleted user]" : "[Διαγραφή χρήστη]",
|
||||
"Comments" : "Σχόλια",
|
||||
"No comments yet, start the conversation!" : "Δεν υπάρχουν σχόλια, ξεκινήστε την συζήτηση!",
|
||||
"More comments …" : "Περισσότερα σχόλια ...",
|
||||
"No other comments available" : "Δεν υπάρχουν άλλα διαθέσιμα σχόλια",
|
||||
"More comments..." : "Περισσότερα σχόλια...",
|
||||
"Save" : "Αποθήκευση",
|
||||
"Allowed characters {count} of {max}" : "Επιτρεπόμενοι χαρακτήρες {count} από {max}",
|
||||
"Error occurred while updating comment with id {id}" : "Ένα σφάλμα προέκυψε κατά την ενημέρωση του σχολίου με το αναγνωριστικό {id}",
|
||||
"Error occurred while posting comment" : "Ένα σφάλμα προέκυψε κατά την δημοσίευση σχολίου",
|
||||
"_%n unread comment_::_%n unread comments_" : ["%n αδιάβαστο σχόλιο","%n αδιάβαστα σχόλια"],
|
||||
"{count} unread comments" : "{count} μη αναγνωσμένα σχόλια",
|
||||
"Comment" : "Σχόλιο",
|
||||
"You commented" : "Σχολιάσατε",
|
||||
"%1$s commented" : "%1$s σχολίασε",
|
||||
"{author} commented" : "Ο {author} σχολίασε",
|
||||
"You commented on %1$s" : "Σχολιάσατε στο %1$s",
|
||||
"You commented on {file}" : "Σχολιάσατε στο {file}",
|
||||
"%1$s commented on %2$s" : "%1$s σχολίασε στο %2$s",
|
||||
"{author} commented on {file}" : "Ο {author} σχολίασε στο {file}",
|
||||
"<strong>Comments</strong> for files" : "<strong>Σχόλια</strong> για αρχεία",
|
||||
"{user} mentioned you in a comment on “{file}”" : "Ο {user} σας ανέφερε σε σχόλιο στο “{file}”",
|
||||
"Unknown user" : "Άγνωστος χρήστης",
|
||||
"A (now) deleted user mentioned you in a comment on “%s”" : "Ο (πρόσφατα) διεγραμμένος χρήστης σας ανέφερε σε σχόλιο στο “%s”",
|
||||
"A (now) deleted user mentioned you in a comment on “{file}”" : "Ο (πρόσφατα) διεγραμμένος χρήστης σας ανέφερε σε σχόλιο στο “{file}”",
|
||||
"%1$s mentioned you in a comment on “%2$s”" : "%1$s σας ανέφερε σε σχόλιο στο “%2$s”"
|
||||
"You commented on %2$s" : "Σχολιάσατε στο %2$s",
|
||||
"%1$s commented on %2$s" : "%1$s σχολίασε στο %2$s"
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
||||
+10
-20
@@ -1,36 +1,26 @@
|
||||
OC.L10N.register(
|
||||
"comments",
|
||||
{
|
||||
"Edit comment" : "Edit comment",
|
||||
"Type in a new comment..." : "Type in a new comment...",
|
||||
"Delete comment" : "Delete comment",
|
||||
"New comment …" : "New comment …",
|
||||
"Post" : "Post",
|
||||
"Cancel" : "Cancel",
|
||||
"Edit comment" : "Edit comment",
|
||||
"[Deleted user]" : "[Deleted user]",
|
||||
"Comments" : "Comments",
|
||||
"No comments yet, start the conversation!" : "No comments yet, start the conversation!",
|
||||
"More comments …" : "More comments …",
|
||||
"No other comments available" : "No other comments available",
|
||||
"More comments..." : "More comments...",
|
||||
"Save" : "Save",
|
||||
"Allowed characters {count} of {max}" : "Allowed characters: {count} of {max}",
|
||||
"Error occurred while retrieving comment with ID {id}" : "Error occurred while retrieving comment with ID {id}",
|
||||
"Allowed characters {count} of {max}" : "Allowed characters {count} of {max}",
|
||||
"Error occurred while retrieving comment with id {id}" : "Error occurred while retrieving comment with id {id}",
|
||||
"Error occurred while updating comment with id {id}" : "Error occurred while updating comment with id {id}",
|
||||
"Error occurred while posting comment" : "Error occurred while posting comment",
|
||||
"_%n unread comment_::_%n unread comments_" : ["%n unread comment","%n unread comments"],
|
||||
"{count} unread comments" : "{count} unread comments",
|
||||
"Comment" : "Comment",
|
||||
"<strong>Comments</strong> for files <em>(always listed in stream)</em>" : "<strong>Comments</strong> for files <em>(always listed in stream)</em>",
|
||||
"You commented" : "You commented",
|
||||
"%1$s commented" : "%1$s commented",
|
||||
"{author} commented" : "{author} commented",
|
||||
"You commented on %1$s" : "You commented on %1$s",
|
||||
"You commented on {file}" : "You commented on {file}",
|
||||
"%1$s commented on %2$s" : "%1$s commented on %2$s",
|
||||
"{author} commented on {file}" : "{author} commented on {file}",
|
||||
"<strong>Comments</strong> for files" : "<strong>Comments</strong> for files",
|
||||
"You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "You were mentioned on “{file}”, in a comment by a user that has since been deleted",
|
||||
"{user} mentioned you in a comment on “{file}”" : "{user} mentioned you in a comment on “{file}”",
|
||||
"Unknown user" : "Unknown user",
|
||||
"A (now) deleted user mentioned you in a comment on “%s”" : "A (now) deleted user mentioned you in a comment on “%s”",
|
||||
"A (now) deleted user mentioned you in a comment on “{file}”" : "A (now) deleted user mentioned you in a comment on “{file}”",
|
||||
"%1$s mentioned you in a comment on “%2$s”" : "%1$s mentioned you in a comment on “%2$s”",
|
||||
"You were mentioned on “%s”, in a comment by a user that has since been deleted" : "You were mentioned on “%s”, in a comment by a user that has since been deleted"
|
||||
"You commented on %2$s" : "You commented on %2$s",
|
||||
"%1$s commented on %2$s" : "%1$s commented on %2$s"
|
||||
},
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
|
||||
@@ -1,34 +1,24 @@
|
||||
{ "translations": {
|
||||
"Edit comment" : "Edit comment",
|
||||
"Type in a new comment..." : "Type in a new comment...",
|
||||
"Delete comment" : "Delete comment",
|
||||
"New comment …" : "New comment …",
|
||||
"Post" : "Post",
|
||||
"Cancel" : "Cancel",
|
||||
"Edit comment" : "Edit comment",
|
||||
"[Deleted user]" : "[Deleted user]",
|
||||
"Comments" : "Comments",
|
||||
"No comments yet, start the conversation!" : "No comments yet, start the conversation!",
|
||||
"More comments …" : "More comments …",
|
||||
"No other comments available" : "No other comments available",
|
||||
"More comments..." : "More comments...",
|
||||
"Save" : "Save",
|
||||
"Allowed characters {count} of {max}" : "Allowed characters: {count} of {max}",
|
||||
"Error occurred while retrieving comment with ID {id}" : "Error occurred while retrieving comment with ID {id}",
|
||||
"Allowed characters {count} of {max}" : "Allowed characters {count} of {max}",
|
||||
"Error occurred while retrieving comment with id {id}" : "Error occurred while retrieving comment with id {id}",
|
||||
"Error occurred while updating comment with id {id}" : "Error occurred while updating comment with id {id}",
|
||||
"Error occurred while posting comment" : "Error occurred while posting comment",
|
||||
"_%n unread comment_::_%n unread comments_" : ["%n unread comment","%n unread comments"],
|
||||
"{count} unread comments" : "{count} unread comments",
|
||||
"Comment" : "Comment",
|
||||
"<strong>Comments</strong> for files <em>(always listed in stream)</em>" : "<strong>Comments</strong> for files <em>(always listed in stream)</em>",
|
||||
"You commented" : "You commented",
|
||||
"%1$s commented" : "%1$s commented",
|
||||
"{author} commented" : "{author} commented",
|
||||
"You commented on %1$s" : "You commented on %1$s",
|
||||
"You commented on {file}" : "You commented on {file}",
|
||||
"%1$s commented on %2$s" : "%1$s commented on %2$s",
|
||||
"{author} commented on {file}" : "{author} commented on {file}",
|
||||
"<strong>Comments</strong> for files" : "<strong>Comments</strong> for files",
|
||||
"You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "You were mentioned on “{file}”, in a comment by a user that has since been deleted",
|
||||
"{user} mentioned you in a comment on “{file}”" : "{user} mentioned you in a comment on “{file}”",
|
||||
"Unknown user" : "Unknown user",
|
||||
"A (now) deleted user mentioned you in a comment on “%s”" : "A (now) deleted user mentioned you in a comment on “%s”",
|
||||
"A (now) deleted user mentioned you in a comment on “{file}”" : "A (now) deleted user mentioned you in a comment on “{file}”",
|
||||
"%1$s mentioned you in a comment on “%2$s”" : "%1$s mentioned you in a comment on “%2$s”",
|
||||
"You were mentioned on “%s”, in a comment by a user that has since been deleted" : "You were mentioned on “%s”, in a comment by a user that has since been deleted"
|
||||
"You commented on %2$s" : "You commented on %2$s",
|
||||
"%1$s commented on %2$s" : "%1$s commented on %2$s"
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
||||
@@ -1,37 +1,23 @@
|
||||
OC.L10N.register(
|
||||
"comments",
|
||||
{
|
||||
"Edit comment" : "Editar comentario",
|
||||
"Type in a new comment..." : "Escribe un nuevo comentario...",
|
||||
"Delete comment" : "Borrar comentario",
|
||||
"New comment …" : "Nuevo comentario",
|
||||
"Post" : "Publicar",
|
||||
"Cancel" : "Cancelar",
|
||||
"Edit comment" : "Editar comentario",
|
||||
"[Deleted user]" : "[Usuario eliminado]",
|
||||
"Comments" : "Comentarios",
|
||||
"No comments yet, start the conversation!" : "¡No hay comentarios, empieza la conversación!",
|
||||
"More comments …" : "Más comentarios ...",
|
||||
"No other comments available" : "No hay otros comentarios disponibles",
|
||||
"More comments..." : "Más comentarios...",
|
||||
"Save" : "Guardar",
|
||||
"Allowed characters {count} of {max}" : "Caracteres permitidos {count} de {max}",
|
||||
"Error occurred while retrieving comment with ID {id}" : "Se ha producido un error al obtener el comentario con ID {id}",
|
||||
"Error occurred while updating comment with id {id}" : "Se ha producido un error al actualizar el comentario con ID {id}",
|
||||
"Error occurred while posting comment" : "Se ha producido un error al enviar el comentario",
|
||||
"_%n unread comment_::_%n unread comments_" : ["%n comentario sin leer","%nComentarios no leídos"],
|
||||
"Comment" : "Comentar",
|
||||
"{count} unread comments" : "{count} comentarios no leídos",
|
||||
"Comment" : "Comentario",
|
||||
"<strong>Comments</strong> for files <em>(always listed in stream)</em>" : "<strong>Comentarios</strong> de archivos <em>(siempre se listarán en stream)</em>",
|
||||
"You commented" : "Has comentado",
|
||||
"%1$s commented" : "%1$s comentados",
|
||||
"{author} commented" : "{author} comentó",
|
||||
"You commented on %1$s" : "Has comentado en %1$s",
|
||||
"You commented on {file}" : "Has comentado en {file}",
|
||||
"%1$s commented on %2$s" : "%1$s comentados en %2$s",
|
||||
"{author} commented on {file}" : "{author} comentó en {file}",
|
||||
"<strong>Comments</strong> for files" : "<strong>Comentarios</strong> para archivos",
|
||||
"You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "Te han mencionado en \"{file}\", en un comentario de un usuario que después ha sido eliminado",
|
||||
"{user} mentioned you in a comment on “{file}”" : "{user} te mencionó en un comentario en “{file}”",
|
||||
"Files app plugin to add comments to files" : "Plugin de la app de Archivos para añadir comentarios a archivos.",
|
||||
"Unknown user" : "Usuario desconocido",
|
||||
"A (now) deleted user mentioned you in a comment on “%s”" : "Un usuario (ahora) eliminado, te mencionó en un comentario en “%s”",
|
||||
"A (now) deleted user mentioned you in a comment on “{file}”" : "Un usuario (ahora) eliminado, te mencionó en un comentario en “{file}”",
|
||||
"%1$s mentioned you in a comment on “%2$s”" : "%1$s te mencionó en un comentario en “%2$s”",
|
||||
"You were mentioned on “%s”, in a comment by a user that has since been deleted" : "Te han mencionado en \"%s\", en un comentario por un usuario que después ha sido eliminado"
|
||||
"You commented on %2$s" : "Has comentado en %2$s",
|
||||
"%1$s commented on %2$s" : "%1$s comentados en %2$s"
|
||||
},
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
|
||||
@@ -1,35 +1,21 @@
|
||||
{ "translations": {
|
||||
"Edit comment" : "Editar comentario",
|
||||
"Type in a new comment..." : "Escribe un nuevo comentario...",
|
||||
"Delete comment" : "Borrar comentario",
|
||||
"New comment …" : "Nuevo comentario",
|
||||
"Post" : "Publicar",
|
||||
"Cancel" : "Cancelar",
|
||||
"Edit comment" : "Editar comentario",
|
||||
"[Deleted user]" : "[Usuario eliminado]",
|
||||
"Comments" : "Comentarios",
|
||||
"No comments yet, start the conversation!" : "¡No hay comentarios, empieza la conversación!",
|
||||
"More comments …" : "Más comentarios ...",
|
||||
"No other comments available" : "No hay otros comentarios disponibles",
|
||||
"More comments..." : "Más comentarios...",
|
||||
"Save" : "Guardar",
|
||||
"Allowed characters {count} of {max}" : "Caracteres permitidos {count} de {max}",
|
||||
"Error occurred while retrieving comment with ID {id}" : "Se ha producido un error al obtener el comentario con ID {id}",
|
||||
"Error occurred while updating comment with id {id}" : "Se ha producido un error al actualizar el comentario con ID {id}",
|
||||
"Error occurred while posting comment" : "Se ha producido un error al enviar el comentario",
|
||||
"_%n unread comment_::_%n unread comments_" : ["%n comentario sin leer","%nComentarios no leídos"],
|
||||
"Comment" : "Comentar",
|
||||
"{count} unread comments" : "{count} comentarios no leídos",
|
||||
"Comment" : "Comentario",
|
||||
"<strong>Comments</strong> for files <em>(always listed in stream)</em>" : "<strong>Comentarios</strong> de archivos <em>(siempre se listarán en stream)</em>",
|
||||
"You commented" : "Has comentado",
|
||||
"%1$s commented" : "%1$s comentados",
|
||||
"{author} commented" : "{author} comentó",
|
||||
"You commented on %1$s" : "Has comentado en %1$s",
|
||||
"You commented on {file}" : "Has comentado en {file}",
|
||||
"%1$s commented on %2$s" : "%1$s comentados en %2$s",
|
||||
"{author} commented on {file}" : "{author} comentó en {file}",
|
||||
"<strong>Comments</strong> for files" : "<strong>Comentarios</strong> para archivos",
|
||||
"You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "Te han mencionado en \"{file}\", en un comentario de un usuario que después ha sido eliminado",
|
||||
"{user} mentioned you in a comment on “{file}”" : "{user} te mencionó en un comentario en “{file}”",
|
||||
"Files app plugin to add comments to files" : "Plugin de la app de Archivos para añadir comentarios a archivos.",
|
||||
"Unknown user" : "Usuario desconocido",
|
||||
"A (now) deleted user mentioned you in a comment on “%s”" : "Un usuario (ahora) eliminado, te mencionó en un comentario en “%s”",
|
||||
"A (now) deleted user mentioned you in a comment on “{file}”" : "Un usuario (ahora) eliminado, te mencionó en un comentario en “{file}”",
|
||||
"%1$s mentioned you in a comment on “%2$s”" : "%1$s te mencionó en un comentario en “%2$s”",
|
||||
"You were mentioned on “%s”, in a comment by a user that has since been deleted" : "Te han mencionado en \"%s\", en un comentario por un usuario que después ha sido eliminado"
|
||||
"You commented on %2$s" : "Has comentado en %2$s",
|
||||
"%1$s commented on %2$s" : "%1$s comentados en %2$s"
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
||||
@@ -1,35 +0,0 @@
|
||||
OC.L10N.register(
|
||||
"comments",
|
||||
{
|
||||
"Edit comment" : "Editar comentario",
|
||||
"Delete comment" : "Borrar comentario",
|
||||
"New comment …" : "Comentario nuevo ...",
|
||||
"Post" : "Publicar",
|
||||
"Cancel" : "Cancelar",
|
||||
"[Deleted user]" : "[Usuario borrado]",
|
||||
"Comments" : "Comentarios",
|
||||
"No comments yet, start the conversation!" : "¡Aún no hay comentarios, inicia la conversación!",
|
||||
"More comments …" : "Más comentarios ...",
|
||||
"Save" : "Guardar",
|
||||
"Allowed characters {count} of {max}" : "Caracteres permitidos {count} de {max}",
|
||||
"Error occurred while updating comment with id {id}" : "Se presentó un error al actualizar el comentario con Id {id}",
|
||||
"Error occurred while posting comment" : "Se presentó un error al publicar el comentario",
|
||||
"_%n unread comment_::_%n unread comments_" : ["%n comentarios sin leer","%n comentarios sin leer"],
|
||||
"Comment" : "Comentario",
|
||||
"You commented" : "Comentaste",
|
||||
"%1$s commented" : "%1$s comentó",
|
||||
"{author} commented" : "{author} comentó",
|
||||
"You commented on %1$s" : "Usted comentó en %1$s",
|
||||
"You commented on {file}" : "Hiciste un comentario de {file}",
|
||||
"%1$s commented on %2$s" : "%1$s comentó en %2$s",
|
||||
"{author} commented on {file}" : "{author} comentó en {file}",
|
||||
"<strong>Comments</strong> for files" : "<strong>Comentarios</strong> de los archivos",
|
||||
"You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "Te mencionaron en \"{file}\", en un comentario de un usuario que ya ha sido borrado",
|
||||
"{user} mentioned you in a comment on “{file}”" : "{user} te mencionó en un comentario en “{file}”",
|
||||
"Unknown user" : "Usuario desconocido",
|
||||
"A (now) deleted user mentioned you in a comment on “%s”" : "Un usuario (ahora) borrado te mencionó en un commentario en “%s”",
|
||||
"A (now) deleted user mentioned you in a comment on “{file}”" : "Un usuario (ahora) borrado te mencionó en un commentario en “{file}”",
|
||||
"%1$s mentioned you in a comment on “%2$s”" : "%1$s te mencionó en un comentario en “%2$s”",
|
||||
"You were mentioned on “%s”, in a comment by a user that has since been deleted" : "Te mencionaron en \"%s\", en un comentario de un usuario que ya ha sido borrado"
|
||||
},
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
@@ -1,33 +0,0 @@
|
||||
{ "translations": {
|
||||
"Edit comment" : "Editar comentario",
|
||||
"Delete comment" : "Borrar comentario",
|
||||
"New comment …" : "Comentario nuevo ...",
|
||||
"Post" : "Publicar",
|
||||
"Cancel" : "Cancelar",
|
||||
"[Deleted user]" : "[Usuario borrado]",
|
||||
"Comments" : "Comentarios",
|
||||
"No comments yet, start the conversation!" : "¡Aún no hay comentarios, inicia la conversación!",
|
||||
"More comments …" : "Más comentarios ...",
|
||||
"Save" : "Guardar",
|
||||
"Allowed characters {count} of {max}" : "Caracteres permitidos {count} de {max}",
|
||||
"Error occurred while updating comment with id {id}" : "Se presentó un error al actualizar el comentario con Id {id}",
|
||||
"Error occurred while posting comment" : "Se presentó un error al publicar el comentario",
|
||||
"_%n unread comment_::_%n unread comments_" : ["%n comentarios sin leer","%n comentarios sin leer"],
|
||||
"Comment" : "Comentario",
|
||||
"You commented" : "Comentaste",
|
||||
"%1$s commented" : "%1$s comentó",
|
||||
"{author} commented" : "{author} comentó",
|
||||
"You commented on %1$s" : "Usted comentó en %1$s",
|
||||
"You commented on {file}" : "Hiciste un comentario de {file}",
|
||||
"%1$s commented on %2$s" : "%1$s comentó en %2$s",
|
||||
"{author} commented on {file}" : "{author} comentó en {file}",
|
||||
"<strong>Comments</strong> for files" : "<strong>Comentarios</strong> de los archivos",
|
||||
"You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "Te mencionaron en \"{file}\", en un comentario de un usuario que ya ha sido borrado",
|
||||
"{user} mentioned you in a comment on “{file}”" : "{user} te mencionó en un comentario en “{file}”",
|
||||
"Unknown user" : "Usuario desconocido",
|
||||
"A (now) deleted user mentioned you in a comment on “%s”" : "Un usuario (ahora) borrado te mencionó en un commentario en “%s”",
|
||||
"A (now) deleted user mentioned you in a comment on “{file}”" : "Un usuario (ahora) borrado te mencionó en un commentario en “{file}”",
|
||||
"%1$s mentioned you in a comment on “%2$s”" : "%1$s te mencionó en un comentario en “%2$s”",
|
||||
"You were mentioned on “%s”, in a comment by a user that has since been deleted" : "Te mencionaron en \"%s\", en un comentario de un usuario que ya ha sido borrado"
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
||||
@@ -1,33 +1,7 @@
|
||||
OC.L10N.register(
|
||||
"comments",
|
||||
{
|
||||
"Edit comment" : "Editar comentario",
|
||||
"Delete comment" : "Borrar comentario",
|
||||
"New comment …" : "Nuevo comentario ...",
|
||||
"Post" : "Post",
|
||||
"Cancel" : "Cancelar",
|
||||
"[Deleted user]" : "[Usuario borrado]",
|
||||
"Comments" : "Comentarios",
|
||||
"No comments yet, start the conversation!" : "No hay comentarios aún, iniciar la conversación!",
|
||||
"More comments …" : "Más comentarios ...",
|
||||
"Save" : "Guardar",
|
||||
"Allowed characters {count} of {max}" : "Caracteres permitidos {count} of {max}",
|
||||
"Error occurred while updating comment with id {id}" : "Se ha producido un error al actualizar el comentario con id {id}",
|
||||
"Error occurred while posting comment" : "Se ha producido un error al publicar un comentario",
|
||||
"_%n unread comment_::_%n unread comments_" : ["%n comentarios sin leer","%n comentarios sin leer"],
|
||||
"Comment" : "Comentar",
|
||||
"You commented" : "Ud. ha comentado",
|
||||
"%1$s commented" : "%1$s comentados",
|
||||
"{author} commented" : "{author} comentó",
|
||||
"You commented on %1$s" : "Ud. ah comentado en %1$s",
|
||||
"You commented on {file}" : "Ud. ha comentado en {file}",
|
||||
"%1$s commented on %2$s" : "%1$s comentó en %2$s",
|
||||
"{author} commented on {file}" : "{author} comentó en {file}",
|
||||
"<strong>Comments</strong> for files" : "<strong>Comentarios</strong> en archivos",
|
||||
"{user} mentioned you in a comment on “{file}”" : "{user} te ha mencionado en un comentario en “{file}”",
|
||||
"Unknown user" : "Usuario desconocido",
|
||||
"A (now) deleted user mentioned you in a comment on “%s”" : "Un (now) usuario borrado te ha mencionado en un comentario en “%s”",
|
||||
"A (now) deleted user mentioned you in a comment on “{file}”" : "Un (now) usuario borrado the ha mencionado en un comentario en “{file}”",
|
||||
"%1$s mentioned you in a comment on “%2$s”" : "%1$s te ha mencionado en un comentario en “%2$s”"
|
||||
"Save" : "Guardar"
|
||||
},
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
|
||||
@@ -1,31 +1,5 @@
|
||||
{ "translations": {
|
||||
"Edit comment" : "Editar comentario",
|
||||
"Delete comment" : "Borrar comentario",
|
||||
"New comment …" : "Nuevo comentario ...",
|
||||
"Post" : "Post",
|
||||
"Cancel" : "Cancelar",
|
||||
"[Deleted user]" : "[Usuario borrado]",
|
||||
"Comments" : "Comentarios",
|
||||
"No comments yet, start the conversation!" : "No hay comentarios aún, iniciar la conversación!",
|
||||
"More comments …" : "Más comentarios ...",
|
||||
"Save" : "Guardar",
|
||||
"Allowed characters {count} of {max}" : "Caracteres permitidos {count} of {max}",
|
||||
"Error occurred while updating comment with id {id}" : "Se ha producido un error al actualizar el comentario con id {id}",
|
||||
"Error occurred while posting comment" : "Se ha producido un error al publicar un comentario",
|
||||
"_%n unread comment_::_%n unread comments_" : ["%n comentarios sin leer","%n comentarios sin leer"],
|
||||
"Comment" : "Comentar",
|
||||
"You commented" : "Ud. ha comentado",
|
||||
"%1$s commented" : "%1$s comentados",
|
||||
"{author} commented" : "{author} comentó",
|
||||
"You commented on %1$s" : "Ud. ah comentado en %1$s",
|
||||
"You commented on {file}" : "Ud. ha comentado en {file}",
|
||||
"%1$s commented on %2$s" : "%1$s comentó en %2$s",
|
||||
"{author} commented on {file}" : "{author} comentó en {file}",
|
||||
"<strong>Comments</strong> for files" : "<strong>Comentarios</strong> en archivos",
|
||||
"{user} mentioned you in a comment on “{file}”" : "{user} te ha mencionado en un comentario en “{file}”",
|
||||
"Unknown user" : "Usuario desconocido",
|
||||
"A (now) deleted user mentioned you in a comment on “%s”" : "Un (now) usuario borrado te ha mencionado en un comentario en “%s”",
|
||||
"A (now) deleted user mentioned you in a comment on “{file}”" : "Un (now) usuario borrado the ha mencionado en un comentario en “{file}”",
|
||||
"%1$s mentioned you in a comment on “%2$s”" : "%1$s te ha mencionado en un comentario en “%2$s”"
|
||||
"Save" : "Guardar"
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
||||
@@ -1,36 +1,6 @@
|
||||
OC.L10N.register(
|
||||
"comments",
|
||||
{
|
||||
"Edit comment" : "Editar comentario",
|
||||
"Delete comment" : "Borrar comentario",
|
||||
"New comment …" : "Comentario nuevo ...",
|
||||
"Post" : "Publicar",
|
||||
"Cancel" : "Cancelar",
|
||||
"[Deleted user]" : "[Usuario borrado]",
|
||||
"Comments" : "Comentarios",
|
||||
"No comments yet, start the conversation!" : "¡Aún no hay comentarios, inicia la conversación!",
|
||||
"More comments …" : "Más comentarios ...",
|
||||
"Save" : "Guardar",
|
||||
"Allowed characters {count} of {max}" : "Caracteres permitidos {count} de {max}",
|
||||
"Error occurred while retrieving comment with ID {id}" : "Se presentó un error al recuperar el comentario con ID {id}",
|
||||
"Error occurred while updating comment with id {id}" : "Se presentó un error al actualizar el comentario con Id {id}",
|
||||
"Error occurred while posting comment" : "Se presentó un error al publicar el comentario",
|
||||
"_%n unread comment_::_%n unread comments_" : ["%n comentarios sin leer","%n comentarios sin leer"],
|
||||
"Comment" : "Comentario",
|
||||
"You commented" : "Comentaste",
|
||||
"%1$s commented" : "%1$s comentó",
|
||||
"{author} commented" : "{author} comentó",
|
||||
"You commented on %1$s" : "Usted comentó en %1$s",
|
||||
"You commented on {file}" : "Hiciste un comentario de {file}",
|
||||
"%1$s commented on %2$s" : "%1$s comentó en %2$s",
|
||||
"{author} commented on {file}" : "{author} comentó en {file}",
|
||||
"<strong>Comments</strong> for files" : "<strong>Comentarios</strong> de los archivos",
|
||||
"You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "Te mencionaron en \"{file}\", en un comentario de un usuario que ya ha sido borrado",
|
||||
"{user} mentioned you in a comment on “{file}”" : "{user} te mencionó en un comentario en “{file}”",
|
||||
"Unknown user" : "Usuario desconocido",
|
||||
"A (now) deleted user mentioned you in a comment on “%s”" : "Un usuario (ahora) borrado te mencionó en un commentario en “%s”",
|
||||
"A (now) deleted user mentioned you in a comment on “{file}”" : "Un usuario (ahora) borrado te mencionó en un commentario en “{file}”",
|
||||
"%1$s mentioned you in a comment on “%2$s”" : "%1$s te mencionó en un comentario en “%2$s”",
|
||||
"You were mentioned on “%s”, in a comment by a user that has since been deleted" : "Te mencionaron en \"%s\", en un comentario de un usuario que ya ha sido borrado"
|
||||
"Cancel" : "Cancelar"
|
||||
},
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
|
||||
@@ -1,34 +1,4 @@
|
||||
{ "translations": {
|
||||
"Edit comment" : "Editar comentario",
|
||||
"Delete comment" : "Borrar comentario",
|
||||
"New comment …" : "Comentario nuevo ...",
|
||||
"Post" : "Publicar",
|
||||
"Cancel" : "Cancelar",
|
||||
"[Deleted user]" : "[Usuario borrado]",
|
||||
"Comments" : "Comentarios",
|
||||
"No comments yet, start the conversation!" : "¡Aún no hay comentarios, inicia la conversación!",
|
||||
"More comments …" : "Más comentarios ...",
|
||||
"Save" : "Guardar",
|
||||
"Allowed characters {count} of {max}" : "Caracteres permitidos {count} de {max}",
|
||||
"Error occurred while retrieving comment with ID {id}" : "Se presentó un error al recuperar el comentario con ID {id}",
|
||||
"Error occurred while updating comment with id {id}" : "Se presentó un error al actualizar el comentario con Id {id}",
|
||||
"Error occurred while posting comment" : "Se presentó un error al publicar el comentario",
|
||||
"_%n unread comment_::_%n unread comments_" : ["%n comentarios sin leer","%n comentarios sin leer"],
|
||||
"Comment" : "Comentario",
|
||||
"You commented" : "Comentaste",
|
||||
"%1$s commented" : "%1$s comentó",
|
||||
"{author} commented" : "{author} comentó",
|
||||
"You commented on %1$s" : "Usted comentó en %1$s",
|
||||
"You commented on {file}" : "Hiciste un comentario de {file}",
|
||||
"%1$s commented on %2$s" : "%1$s comentó en %2$s",
|
||||
"{author} commented on {file}" : "{author} comentó en {file}",
|
||||
"<strong>Comments</strong> for files" : "<strong>Comentarios</strong> de los archivos",
|
||||
"You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "Te mencionaron en \"{file}\", en un comentario de un usuario que ya ha sido borrado",
|
||||
"{user} mentioned you in a comment on “{file}”" : "{user} te mencionó en un comentario en “{file}”",
|
||||
"Unknown user" : "Usuario desconocido",
|
||||
"A (now) deleted user mentioned you in a comment on “%s”" : "Un usuario (ahora) borrado te mencionó en un commentario en “%s”",
|
||||
"A (now) deleted user mentioned you in a comment on “{file}”" : "Un usuario (ahora) borrado te mencionó en un commentario en “{file}”",
|
||||
"%1$s mentioned you in a comment on “%2$s”" : "%1$s te mencionó en un comentario en “%2$s”",
|
||||
"You were mentioned on “%s”, in a comment by a user that has since been deleted" : "Te mencionaron en \"%s\", en un comentario de un usuario que ya ha sido borrado"
|
||||
"Cancel" : "Cancelar"
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
||||
@@ -1,36 +0,0 @@
|
||||
OC.L10N.register(
|
||||
"comments",
|
||||
{
|
||||
"Edit comment" : "Editar comentario",
|
||||
"Delete comment" : "Borrar comentario",
|
||||
"New comment …" : "Comentario nuevo ...",
|
||||
"Post" : "Publicar",
|
||||
"Cancel" : "Cancelar",
|
||||
"[Deleted user]" : "[Usuario borrado]",
|
||||
"Comments" : "Comentarios",
|
||||
"No comments yet, start the conversation!" : "¡Aún no hay comentarios, inicia la conversación!",
|
||||
"More comments …" : "Más comentarios ...",
|
||||
"Save" : "Guardar",
|
||||
"Allowed characters {count} of {max}" : "Caracteres permitidos {count} de {max}",
|
||||
"Error occurred while retrieving comment with ID {id}" : "Se presentó un error al recuperar el comentario con ID {id}",
|
||||
"Error occurred while updating comment with id {id}" : "Se presentó un error al actualizar el comentario con Id {id}",
|
||||
"Error occurred while posting comment" : "Se presentó un error al publicar el comentario",
|
||||
"_%n unread comment_::_%n unread comments_" : ["%n comentarios sin leer","%n comentarios sin leer"],
|
||||
"Comment" : "Comentario",
|
||||
"You commented" : "Comentaste",
|
||||
"%1$s commented" : "%1$s comentó",
|
||||
"{author} commented" : "{author} comentó",
|
||||
"You commented on %1$s" : "Usted comentó en %1$s",
|
||||
"You commented on {file}" : "Hiciste un comentario de {file}",
|
||||
"%1$s commented on %2$s" : "%1$s comentó en %2$s",
|
||||
"{author} commented on {file}" : "{author} comentó en {file}",
|
||||
"<strong>Comments</strong> for files" : "<strong>Comentarios</strong> de los archivos",
|
||||
"You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "Te mencionaron en \"{file}\", en un comentario de un usuario que ya ha sido borrado",
|
||||
"{user} mentioned you in a comment on “{file}”" : "{user} te mencionó en un comentario en “{file}”",
|
||||
"Unknown user" : "Usuario desconocido",
|
||||
"A (now) deleted user mentioned you in a comment on “%s”" : "Un usuario (ahora) borrado te mencionó en un commentario en “%s”",
|
||||
"A (now) deleted user mentioned you in a comment on “{file}”" : "Un usuario (ahora) borrado te mencionó en un commentario en “{file}”",
|
||||
"%1$s mentioned you in a comment on “%2$s”" : "%1$s te mencionó en un comentario en “%2$s”",
|
||||
"You were mentioned on “%s”, in a comment by a user that has since been deleted" : "Te mencionaron en \"%s\", en un comentario de un usuario que ya ha sido borrado"
|
||||
},
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
@@ -1,34 +0,0 @@
|
||||
{ "translations": {
|
||||
"Edit comment" : "Editar comentario",
|
||||
"Delete comment" : "Borrar comentario",
|
||||
"New comment …" : "Comentario nuevo ...",
|
||||
"Post" : "Publicar",
|
||||
"Cancel" : "Cancelar",
|
||||
"[Deleted user]" : "[Usuario borrado]",
|
||||
"Comments" : "Comentarios",
|
||||
"No comments yet, start the conversation!" : "¡Aún no hay comentarios, inicia la conversación!",
|
||||
"More comments …" : "Más comentarios ...",
|
||||
"Save" : "Guardar",
|
||||
"Allowed characters {count} of {max}" : "Caracteres permitidos {count} de {max}",
|
||||
"Error occurred while retrieving comment with ID {id}" : "Se presentó un error al recuperar el comentario con ID {id}",
|
||||
"Error occurred while updating comment with id {id}" : "Se presentó un error al actualizar el comentario con Id {id}",
|
||||
"Error occurred while posting comment" : "Se presentó un error al publicar el comentario",
|
||||
"_%n unread comment_::_%n unread comments_" : ["%n comentarios sin leer","%n comentarios sin leer"],
|
||||
"Comment" : "Comentario",
|
||||
"You commented" : "Comentaste",
|
||||
"%1$s commented" : "%1$s comentó",
|
||||
"{author} commented" : "{author} comentó",
|
||||
"You commented on %1$s" : "Usted comentó en %1$s",
|
||||
"You commented on {file}" : "Hiciste un comentario de {file}",
|
||||
"%1$s commented on %2$s" : "%1$s comentó en %2$s",
|
||||
"{author} commented on {file}" : "{author} comentó en {file}",
|
||||
"<strong>Comments</strong> for files" : "<strong>Comentarios</strong> de los archivos",
|
||||
"You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "Te mencionaron en \"{file}\", en un comentario de un usuario que ya ha sido borrado",
|
||||
"{user} mentioned you in a comment on “{file}”" : "{user} te mencionó en un comentario en “{file}”",
|
||||
"Unknown user" : "Usuario desconocido",
|
||||
"A (now) deleted user mentioned you in a comment on “%s”" : "Un usuario (ahora) borrado te mencionó en un commentario en “%s”",
|
||||
"A (now) deleted user mentioned you in a comment on “{file}”" : "Un usuario (ahora) borrado te mencionó en un commentario en “{file}”",
|
||||
"%1$s mentioned you in a comment on “%2$s”" : "%1$s te mencionó en un comentario en “%2$s”",
|
||||
"You were mentioned on “%s”, in a comment by a user that has since been deleted" : "Te mencionaron en \"%s\", en un comentario de un usuario que ya ha sido borrado"
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
||||
@@ -1,36 +0,0 @@
|
||||
OC.L10N.register(
|
||||
"comments",
|
||||
{
|
||||
"Edit comment" : "Editar comentario",
|
||||
"Delete comment" : "Borrar comentario",
|
||||
"New comment …" : "Comentario nuevo ...",
|
||||
"Post" : "Publicar",
|
||||
"Cancel" : "Cancelar",
|
||||
"[Deleted user]" : "[Usuario borrado]",
|
||||
"Comments" : "Comentarios",
|
||||
"No comments yet, start the conversation!" : "¡Aún no hay comentarios, inicia la conversación!",
|
||||
"More comments …" : "Más comentarios ...",
|
||||
"Save" : "Guardar",
|
||||
"Allowed characters {count} of {max}" : "Caracteres permitidos {count} de {max}",
|
||||
"Error occurred while retrieving comment with ID {id}" : "Se presentó un error al recuperar el comentario con ID {id}",
|
||||
"Error occurred while updating comment with id {id}" : "Se presentó un error al actualizar el comentario con Id {id}",
|
||||
"Error occurred while posting comment" : "Se presentó un error al publicar el comentario",
|
||||
"_%n unread comment_::_%n unread comments_" : ["%n comentarios sin leer","%n comentarios sin leer"],
|
||||
"Comment" : "Comentario",
|
||||
"You commented" : "Comentaste",
|
||||
"%1$s commented" : "%1$s comentó",
|
||||
"{author} commented" : "{author} comentó",
|
||||
"You commented on %1$s" : "Usted comentó en %1$s",
|
||||
"You commented on {file}" : "Hiciste un comentario de {file}",
|
||||
"%1$s commented on %2$s" : "%1$s comentó en %2$s",
|
||||
"{author} commented on {file}" : "{author} comentó en {file}",
|
||||
"<strong>Comments</strong> for files" : "<strong>Comentarios</strong> de los archivos",
|
||||
"You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "Te mencionaron en \"{file}\", en un comentario de un usuario que ya ha sido borrado",
|
||||
"{user} mentioned you in a comment on “{file}”" : "{user} te mencionó en un comentario en “{file}”",
|
||||
"Unknown user" : "Usuario desconocido",
|
||||
"A (now) deleted user mentioned you in a comment on “%s”" : "Un usuario (ahora) borrado te mencionó en un commentario en “%s”",
|
||||
"A (now) deleted user mentioned you in a comment on “{file}”" : "Un usuario (ahora) borrado te mencionó en un commentario en “{file}”",
|
||||
"%1$s mentioned you in a comment on “%2$s”" : "%1$s te mencionó en un comentario en “%2$s”",
|
||||
"You were mentioned on “%s”, in a comment by a user that has since been deleted" : "Te mencionaron en \"%s\", en un comentario de un usuario que ya ha sido borrado"
|
||||
},
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
@@ -1,34 +0,0 @@
|
||||
{ "translations": {
|
||||
"Edit comment" : "Editar comentario",
|
||||
"Delete comment" : "Borrar comentario",
|
||||
"New comment …" : "Comentario nuevo ...",
|
||||
"Post" : "Publicar",
|
||||
"Cancel" : "Cancelar",
|
||||
"[Deleted user]" : "[Usuario borrado]",
|
||||
"Comments" : "Comentarios",
|
||||
"No comments yet, start the conversation!" : "¡Aún no hay comentarios, inicia la conversación!",
|
||||
"More comments …" : "Más comentarios ...",
|
||||
"Save" : "Guardar",
|
||||
"Allowed characters {count} of {max}" : "Caracteres permitidos {count} de {max}",
|
||||
"Error occurred while retrieving comment with ID {id}" : "Se presentó un error al recuperar el comentario con ID {id}",
|
||||
"Error occurred while updating comment with id {id}" : "Se presentó un error al actualizar el comentario con Id {id}",
|
||||
"Error occurred while posting comment" : "Se presentó un error al publicar el comentario",
|
||||
"_%n unread comment_::_%n unread comments_" : ["%n comentarios sin leer","%n comentarios sin leer"],
|
||||
"Comment" : "Comentario",
|
||||
"You commented" : "Comentaste",
|
||||
"%1$s commented" : "%1$s comentó",
|
||||
"{author} commented" : "{author} comentó",
|
||||
"You commented on %1$s" : "Usted comentó en %1$s",
|
||||
"You commented on {file}" : "Hiciste un comentario de {file}",
|
||||
"%1$s commented on %2$s" : "%1$s comentó en %2$s",
|
||||
"{author} commented on {file}" : "{author} comentó en {file}",
|
||||
"<strong>Comments</strong> for files" : "<strong>Comentarios</strong> de los archivos",
|
||||
"You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "Te mencionaron en \"{file}\", en un comentario de un usuario que ya ha sido borrado",
|
||||
"{user} mentioned you in a comment on “{file}”" : "{user} te mencionó en un comentario en “{file}”",
|
||||
"Unknown user" : "Usuario desconocido",
|
||||
"A (now) deleted user mentioned you in a comment on “%s”" : "Un usuario (ahora) borrado te mencionó en un commentario en “%s”",
|
||||
"A (now) deleted user mentioned you in a comment on “{file}”" : "Un usuario (ahora) borrado te mencionó en un commentario en “{file}”",
|
||||
"%1$s mentioned you in a comment on “%2$s”" : "%1$s te mencionó en un comentario en “%2$s”",
|
||||
"You were mentioned on “%s”, in a comment by a user that has since been deleted" : "Te mencionaron en \"%s\", en un comentario de un usuario que ya ha sido borrado"
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
||||
@@ -1,36 +0,0 @@
|
||||
OC.L10N.register(
|
||||
"comments",
|
||||
{
|
||||
"Edit comment" : "Editar comentario",
|
||||
"Delete comment" : "Borrar comentario",
|
||||
"New comment …" : "Comentario nuevo ...",
|
||||
"Post" : "Publicar",
|
||||
"Cancel" : "Cancelar",
|
||||
"[Deleted user]" : "[Usuario borrado]",
|
||||
"Comments" : "Comentarios",
|
||||
"No comments yet, start the conversation!" : "¡Aún no hay comentarios, inicia la conversación!",
|
||||
"More comments …" : "Más comentarios ...",
|
||||
"Save" : "Guardar",
|
||||
"Allowed characters {count} of {max}" : "Caracteres permitidos {count} de {max}",
|
||||
"Error occurred while retrieving comment with ID {id}" : "Se presentó un error al recuperar el comentario con ID {id}",
|
||||
"Error occurred while updating comment with id {id}" : "Se presentó un error al actualizar el comentario con Id {id}",
|
||||
"Error occurred while posting comment" : "Se presentó un error al publicar el comentario",
|
||||
"_%n unread comment_::_%n unread comments_" : ["%n comentarios sin leer","%n comentarios sin leer"],
|
||||
"Comment" : "Comentario",
|
||||
"You commented" : "Comentaste",
|
||||
"%1$s commented" : "%1$s comentó",
|
||||
"{author} commented" : "{author} comentó",
|
||||
"You commented on %1$s" : "Usted comentó en %1$s",
|
||||
"You commented on {file}" : "Hiciste un comentario de {file}",
|
||||
"%1$s commented on %2$s" : "%1$s comentó en %2$s",
|
||||
"{author} commented on {file}" : "{author} comentó en {file}",
|
||||
"<strong>Comments</strong> for files" : "<strong>Comentarios</strong> de los archivos",
|
||||
"You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "Te mencionaron en \"{file}\", en un comentario de un usuario que ya ha sido borrado",
|
||||
"{user} mentioned you in a comment on “{file}”" : "{user} te mencionó en un comentario en “{file}”",
|
||||
"Unknown user" : "Usuario desconocido",
|
||||
"A (now) deleted user mentioned you in a comment on “%s”" : "Un usuario (ahora) borrado te mencionó en un commentario en “%s”",
|
||||
"A (now) deleted user mentioned you in a comment on “{file}”" : "Un usuario (ahora) borrado te mencionó en un commentario en “{file}”",
|
||||
"%1$s mentioned you in a comment on “%2$s”" : "%1$s te mencionó en un comentario en “%2$s”",
|
||||
"You were mentioned on “%s”, in a comment by a user that has since been deleted" : "Te mencionaron en \"%s\", en un comentario de un usuario que ya ha sido borrado"
|
||||
},
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
@@ -1,34 +0,0 @@
|
||||
{ "translations": {
|
||||
"Edit comment" : "Editar comentario",
|
||||
"Delete comment" : "Borrar comentario",
|
||||
"New comment …" : "Comentario nuevo ...",
|
||||
"Post" : "Publicar",
|
||||
"Cancel" : "Cancelar",
|
||||
"[Deleted user]" : "[Usuario borrado]",
|
||||
"Comments" : "Comentarios",
|
||||
"No comments yet, start the conversation!" : "¡Aún no hay comentarios, inicia la conversación!",
|
||||
"More comments …" : "Más comentarios ...",
|
||||
"Save" : "Guardar",
|
||||
"Allowed characters {count} of {max}" : "Caracteres permitidos {count} de {max}",
|
||||
"Error occurred while retrieving comment with ID {id}" : "Se presentó un error al recuperar el comentario con ID {id}",
|
||||
"Error occurred while updating comment with id {id}" : "Se presentó un error al actualizar el comentario con Id {id}",
|
||||
"Error occurred while posting comment" : "Se presentó un error al publicar el comentario",
|
||||
"_%n unread comment_::_%n unread comments_" : ["%n comentarios sin leer","%n comentarios sin leer"],
|
||||
"Comment" : "Comentario",
|
||||
"You commented" : "Comentaste",
|
||||
"%1$s commented" : "%1$s comentó",
|
||||
"{author} commented" : "{author} comentó",
|
||||
"You commented on %1$s" : "Usted comentó en %1$s",
|
||||
"You commented on {file}" : "Hiciste un comentario de {file}",
|
||||
"%1$s commented on %2$s" : "%1$s comentó en %2$s",
|
||||
"{author} commented on {file}" : "{author} comentó en {file}",
|
||||
"<strong>Comments</strong> for files" : "<strong>Comentarios</strong> de los archivos",
|
||||
"You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "Te mencionaron en \"{file}\", en un comentario de un usuario que ya ha sido borrado",
|
||||
"{user} mentioned you in a comment on “{file}”" : "{user} te mencionó en un comentario en “{file}”",
|
||||
"Unknown user" : "Usuario desconocido",
|
||||
"A (now) deleted user mentioned you in a comment on “%s”" : "Un usuario (ahora) borrado te mencionó en un commentario en “%s”",
|
||||
"A (now) deleted user mentioned you in a comment on “{file}”" : "Un usuario (ahora) borrado te mencionó en un commentario en “{file}”",
|
||||
"%1$s mentioned you in a comment on “%2$s”" : "%1$s te mencionó en un comentario en “%2$s”",
|
||||
"You were mentioned on “%s”, in a comment by a user that has since been deleted" : "Te mencionaron en \"%s\", en un comentario de un usuario que ya ha sido borrado"
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
||||
@@ -1,36 +0,0 @@
|
||||
OC.L10N.register(
|
||||
"comments",
|
||||
{
|
||||
"Edit comment" : "Editar comentario",
|
||||
"Delete comment" : "Borrar comentario",
|
||||
"New comment …" : "Comentario nuevo ...",
|
||||
"Post" : "Publicar",
|
||||
"Cancel" : "Cancelar",
|
||||
"[Deleted user]" : "[Usuario borrado]",
|
||||
"Comments" : "Comentarios",
|
||||
"No comments yet, start the conversation!" : "¡Aún no hay comentarios, inicia la conversación!",
|
||||
"More comments …" : "Más comentarios ...",
|
||||
"Save" : "Guardar",
|
||||
"Allowed characters {count} of {max}" : "Caracteres permitidos {count} de {max}",
|
||||
"Error occurred while retrieving comment with ID {id}" : "Se presentó un error al recuperar el comentario con ID {id}",
|
||||
"Error occurred while updating comment with id {id}" : "Se presentó un error al actualizar el comentario con Id {id}",
|
||||
"Error occurred while posting comment" : "Se presentó un error al publicar el comentario",
|
||||
"_%n unread comment_::_%n unread comments_" : ["%n comentarios sin leer","%n comentarios sin leer"],
|
||||
"Comment" : "Comentario",
|
||||
"You commented" : "Comentaste",
|
||||
"%1$s commented" : "%1$s comentó",
|
||||
"{author} commented" : "{author} comentó",
|
||||
"You commented on %1$s" : "Usted comentó en %1$s",
|
||||
"You commented on {file}" : "Hiciste un comentario de {file}",
|
||||
"%1$s commented on %2$s" : "%1$s comentó en %2$s",
|
||||
"{author} commented on {file}" : "{author} comentó en {file}",
|
||||
"<strong>Comments</strong> for files" : "<strong>Comentarios</strong> de los archivos",
|
||||
"You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "Te mencionaron en \"{file}\", en un comentario de un usuario que ya ha sido borrado",
|
||||
"{user} mentioned you in a comment on “{file}”" : "{user} te mencionó en un comentario en “{file}”",
|
||||
"Unknown user" : "Usuario desconocido",
|
||||
"A (now) deleted user mentioned you in a comment on “%s”" : "Un usuario (ahora) borrado te mencionó en un commentario en “%s”",
|
||||
"A (now) deleted user mentioned you in a comment on “{file}”" : "Un usuario (ahora) borrado te mencionó en un commentario en “{file}”",
|
||||
"%1$s mentioned you in a comment on “%2$s”" : "%1$s te mencionó en un comentario en “%2$s”",
|
||||
"You were mentioned on “%s”, in a comment by a user that has since been deleted" : "Te mencionaron en \"%s\", en un comentario de un usuario que ya ha sido borrado"
|
||||
},
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
@@ -1,34 +0,0 @@
|
||||
{ "translations": {
|
||||
"Edit comment" : "Editar comentario",
|
||||
"Delete comment" : "Borrar comentario",
|
||||
"New comment …" : "Comentario nuevo ...",
|
||||
"Post" : "Publicar",
|
||||
"Cancel" : "Cancelar",
|
||||
"[Deleted user]" : "[Usuario borrado]",
|
||||
"Comments" : "Comentarios",
|
||||
"No comments yet, start the conversation!" : "¡Aún no hay comentarios, inicia la conversación!",
|
||||
"More comments …" : "Más comentarios ...",
|
||||
"Save" : "Guardar",
|
||||
"Allowed characters {count} of {max}" : "Caracteres permitidos {count} de {max}",
|
||||
"Error occurred while retrieving comment with ID {id}" : "Se presentó un error al recuperar el comentario con ID {id}",
|
||||
"Error occurred while updating comment with id {id}" : "Se presentó un error al actualizar el comentario con Id {id}",
|
||||
"Error occurred while posting comment" : "Se presentó un error al publicar el comentario",
|
||||
"_%n unread comment_::_%n unread comments_" : ["%n comentarios sin leer","%n comentarios sin leer"],
|
||||
"Comment" : "Comentario",
|
||||
"You commented" : "Comentaste",
|
||||
"%1$s commented" : "%1$s comentó",
|
||||
"{author} commented" : "{author} comentó",
|
||||
"You commented on %1$s" : "Usted comentó en %1$s",
|
||||
"You commented on {file}" : "Hiciste un comentario de {file}",
|
||||
"%1$s commented on %2$s" : "%1$s comentó en %2$s",
|
||||
"{author} commented on {file}" : "{author} comentó en {file}",
|
||||
"<strong>Comments</strong> for files" : "<strong>Comentarios</strong> de los archivos",
|
||||
"You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "Te mencionaron en \"{file}\", en un comentario de un usuario que ya ha sido borrado",
|
||||
"{user} mentioned you in a comment on “{file}”" : "{user} te mencionó en un comentario en “{file}”",
|
||||
"Unknown user" : "Usuario desconocido",
|
||||
"A (now) deleted user mentioned you in a comment on “%s”" : "Un usuario (ahora) borrado te mencionó en un commentario en “%s”",
|
||||
"A (now) deleted user mentioned you in a comment on “{file}”" : "Un usuario (ahora) borrado te mencionó en un commentario en “{file}”",
|
||||
"%1$s mentioned you in a comment on “%2$s”" : "%1$s te mencionó en un comentario en “%2$s”",
|
||||
"You were mentioned on “%s”, in a comment by a user that has since been deleted" : "Te mencionaron en \"%s\", en un comentario de un usuario que ya ha sido borrado"
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
||||
@@ -1,36 +0,0 @@
|
||||
OC.L10N.register(
|
||||
"comments",
|
||||
{
|
||||
"Edit comment" : "Editar comentario",
|
||||
"Delete comment" : "Borrar comentario",
|
||||
"New comment …" : "Comentario nuevo ...",
|
||||
"Post" : "Publicar",
|
||||
"Cancel" : "Cancelar",
|
||||
"[Deleted user]" : "[Usuario borrado]",
|
||||
"Comments" : "Comentarios",
|
||||
"No comments yet, start the conversation!" : "¡Aún no hay comentarios, inicia la conversación!",
|
||||
"More comments …" : "Más comentarios ...",
|
||||
"Save" : "Guardar",
|
||||
"Allowed characters {count} of {max}" : "Caracteres permitidos {count} de {max}",
|
||||
"Error occurred while retrieving comment with ID {id}" : "Se presentó un error al recuperar el comentario con ID {id}",
|
||||
"Error occurred while updating comment with id {id}" : "Se presentó un error al actualizar el comentario con Id {id}",
|
||||
"Error occurred while posting comment" : "Se presentó un error al publicar el comentario",
|
||||
"_%n unread comment_::_%n unread comments_" : ["%n comentarios sin leer","%n comentarios sin leer"],
|
||||
"Comment" : "Comentario",
|
||||
"You commented" : "Comentaste",
|
||||
"%1$s commented" : "%1$s comentó",
|
||||
"{author} commented" : "{author} comentó",
|
||||
"You commented on %1$s" : "Usted comentó en %1$s",
|
||||
"You commented on {file}" : "Hiciste un comentario de {file}",
|
||||
"%1$s commented on %2$s" : "%1$s comentó en %2$s",
|
||||
"{author} commented on {file}" : "{author} comentó en {file}",
|
||||
"<strong>Comments</strong> for files" : "<strong>Comentarios</strong> de los archivos",
|
||||
"You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "Te mencionaron en \"{file}\", en un comentario de un usuario que ya ha sido borrado",
|
||||
"{user} mentioned you in a comment on “{file}”" : "{user} te mencionó en un comentario en “{file}”",
|
||||
"Unknown user" : "Usuario desconocido",
|
||||
"A (now) deleted user mentioned you in a comment on “%s”" : "Un usuario (ahora) borrado te mencionó en un commentario en “%s”",
|
||||
"A (now) deleted user mentioned you in a comment on “{file}”" : "Un usuario (ahora) borrado te mencionó en un commentario en “{file}”",
|
||||
"%1$s mentioned you in a comment on “%2$s”" : "%1$s te mencionó en un comentario en “%2$s”",
|
||||
"You were mentioned on “%s”, in a comment by a user that has since been deleted" : "Te mencionaron en \"%s\", en un comentario de un usuario que ya ha sido borrado"
|
||||
},
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
@@ -1,34 +0,0 @@
|
||||
{ "translations": {
|
||||
"Edit comment" : "Editar comentario",
|
||||
"Delete comment" : "Borrar comentario",
|
||||
"New comment …" : "Comentario nuevo ...",
|
||||
"Post" : "Publicar",
|
||||
"Cancel" : "Cancelar",
|
||||
"[Deleted user]" : "[Usuario borrado]",
|
||||
"Comments" : "Comentarios",
|
||||
"No comments yet, start the conversation!" : "¡Aún no hay comentarios, inicia la conversación!",
|
||||
"More comments …" : "Más comentarios ...",
|
||||
"Save" : "Guardar",
|
||||
"Allowed characters {count} of {max}" : "Caracteres permitidos {count} de {max}",
|
||||
"Error occurred while retrieving comment with ID {id}" : "Se presentó un error al recuperar el comentario con ID {id}",
|
||||
"Error occurred while updating comment with id {id}" : "Se presentó un error al actualizar el comentario con Id {id}",
|
||||
"Error occurred while posting comment" : "Se presentó un error al publicar el comentario",
|
||||
"_%n unread comment_::_%n unread comments_" : ["%n comentarios sin leer","%n comentarios sin leer"],
|
||||
"Comment" : "Comentario",
|
||||
"You commented" : "Comentaste",
|
||||
"%1$s commented" : "%1$s comentó",
|
||||
"{author} commented" : "{author} comentó",
|
||||
"You commented on %1$s" : "Usted comentó en %1$s",
|
||||
"You commented on {file}" : "Hiciste un comentario de {file}",
|
||||
"%1$s commented on %2$s" : "%1$s comentó en %2$s",
|
||||
"{author} commented on {file}" : "{author} comentó en {file}",
|
||||
"<strong>Comments</strong> for files" : "<strong>Comentarios</strong> de los archivos",
|
||||
"You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "Te mencionaron en \"{file}\", en un comentario de un usuario que ya ha sido borrado",
|
||||
"{user} mentioned you in a comment on “{file}”" : "{user} te mencionó en un comentario en “{file}”",
|
||||
"Unknown user" : "Usuario desconocido",
|
||||
"A (now) deleted user mentioned you in a comment on “%s”" : "Un usuario (ahora) borrado te mencionó en un commentario en “%s”",
|
||||
"A (now) deleted user mentioned you in a comment on “{file}”" : "Un usuario (ahora) borrado te mencionó en un commentario en “{file}”",
|
||||
"%1$s mentioned you in a comment on “%2$s”" : "%1$s te mencionó en un comentario en “%2$s”",
|
||||
"You were mentioned on “%s”, in a comment by a user that has since been deleted" : "Te mencionaron en \"%s\", en un comentario de un usuario que ya ha sido borrado"
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
||||
@@ -1,35 +0,0 @@
|
||||
OC.L10N.register(
|
||||
"comments",
|
||||
{
|
||||
"Edit comment" : "Editar comentario",
|
||||
"Delete comment" : "Borrar comentario",
|
||||
"New comment …" : "Comentario nuevo ...",
|
||||
"Post" : "Publicar",
|
||||
"Cancel" : "Cancelar",
|
||||
"[Deleted user]" : "[Usuario borrado]",
|
||||
"Comments" : "Comentarios",
|
||||
"No comments yet, start the conversation!" : "¡Aún no hay comentarios, inicia la conversación!",
|
||||
"More comments …" : "Más comentarios ...",
|
||||
"Save" : "Guardar",
|
||||
"Allowed characters {count} of {max}" : "Caracteres permitidos {count} de {max}",
|
||||
"Error occurred while updating comment with id {id}" : "Se presentó un error al actualizar el comentario con Id {id}",
|
||||
"Error occurred while posting comment" : "Se presentó un error al publicar el comentario",
|
||||
"_%n unread comment_::_%n unread comments_" : ["%n comentarios sin leer","%n comentarios sin leer"],
|
||||
"Comment" : "Comentario",
|
||||
"You commented" : "Comentaste",
|
||||
"%1$s commented" : "%1$s comentó",
|
||||
"{author} commented" : "{author} comentó",
|
||||
"You commented on %1$s" : "Usted comentó en %1$s",
|
||||
"You commented on {file}" : "Hiciste un comentario de {file}",
|
||||
"%1$s commented on %2$s" : "%1$s comentó en %2$s",
|
||||
"{author} commented on {file}" : "{author} comentó en {file}",
|
||||
"<strong>Comments</strong> for files" : "<strong>Comentarios</strong> de los archivos",
|
||||
"You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "Te mencionaron en \"{file}\", en un comentario de un usuario que ya ha sido borrado",
|
||||
"{user} mentioned you in a comment on “{file}”" : "{user} te mencionó en un comentario en “{file}”",
|
||||
"Unknown user" : "Usuario desconocido",
|
||||
"A (now) deleted user mentioned you in a comment on “%s”" : "Un usuario (ahora) borrado te mencionó en un commentario en “%s”",
|
||||
"A (now) deleted user mentioned you in a comment on “{file}”" : "Un usuario (ahora) borrado te mencionó en un commentario en “{file}”",
|
||||
"%1$s mentioned you in a comment on “%2$s”" : "%1$s te mencionó en un comentario en “%2$s”",
|
||||
"You were mentioned on “%s”, in a comment by a user that has since been deleted" : "Te mencionaron en \"%s\", en un comentario de un usuario que ya ha sido borrado"
|
||||
},
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
@@ -1,33 +0,0 @@
|
||||
{ "translations": {
|
||||
"Edit comment" : "Editar comentario",
|
||||
"Delete comment" : "Borrar comentario",
|
||||
"New comment …" : "Comentario nuevo ...",
|
||||
"Post" : "Publicar",
|
||||
"Cancel" : "Cancelar",
|
||||
"[Deleted user]" : "[Usuario borrado]",
|
||||
"Comments" : "Comentarios",
|
||||
"No comments yet, start the conversation!" : "¡Aún no hay comentarios, inicia la conversación!",
|
||||
"More comments …" : "Más comentarios ...",
|
||||
"Save" : "Guardar",
|
||||
"Allowed characters {count} of {max}" : "Caracteres permitidos {count} de {max}",
|
||||
"Error occurred while updating comment with id {id}" : "Se presentó un error al actualizar el comentario con Id {id}",
|
||||
"Error occurred while posting comment" : "Se presentó un error al publicar el comentario",
|
||||
"_%n unread comment_::_%n unread comments_" : ["%n comentarios sin leer","%n comentarios sin leer"],
|
||||
"Comment" : "Comentario",
|
||||
"You commented" : "Comentaste",
|
||||
"%1$s commented" : "%1$s comentó",
|
||||
"{author} commented" : "{author} comentó",
|
||||
"You commented on %1$s" : "Usted comentó en %1$s",
|
||||
"You commented on {file}" : "Hiciste un comentario de {file}",
|
||||
"%1$s commented on %2$s" : "%1$s comentó en %2$s",
|
||||
"{author} commented on {file}" : "{author} comentó en {file}",
|
||||
"<strong>Comments</strong> for files" : "<strong>Comentarios</strong> de los archivos",
|
||||
"You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "Te mencionaron en \"{file}\", en un comentario de un usuario que ya ha sido borrado",
|
||||
"{user} mentioned you in a comment on “{file}”" : "{user} te mencionó en un comentario en “{file}”",
|
||||
"Unknown user" : "Usuario desconocido",
|
||||
"A (now) deleted user mentioned you in a comment on “%s”" : "Un usuario (ahora) borrado te mencionó en un commentario en “%s”",
|
||||
"A (now) deleted user mentioned you in a comment on “{file}”" : "Un usuario (ahora) borrado te mencionó en un commentario en “{file}”",
|
||||
"%1$s mentioned you in a comment on “%2$s”" : "%1$s te mencionó en un comentario en “%2$s”",
|
||||
"You were mentioned on “%s”, in a comment by a user that has since been deleted" : "Te mencionaron en \"%s\", en un comentario de un usuario que ya ha sido borrado"
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
||||
@@ -1,36 +1,8 @@
|
||||
OC.L10N.register(
|
||||
"comments",
|
||||
{
|
||||
"Edit comment" : "Editar comentario",
|
||||
"Delete comment" : "Borrar comentario",
|
||||
"New comment …" : "Comentario nuevo ...",
|
||||
"Post" : "Publicar",
|
||||
"Cancel" : "Cancelar",
|
||||
"[Deleted user]" : "[Usuario borrado]",
|
||||
"Comments" : "Comentarios",
|
||||
"No comments yet, start the conversation!" : "¡Aún no hay comentarios, inicia la conversación!",
|
||||
"More comments …" : "Más comentarios ...",
|
||||
"Save" : "Guardar",
|
||||
"Allowed characters {count} of {max}" : "Caracteres permitidos {count} de {max}",
|
||||
"Error occurred while retrieving comment with ID {id}" : "Se presentó un error al recuperar el comentario con ID {id}",
|
||||
"Error occurred while updating comment with id {id}" : "Se presentó un error al actualizar el comentario con Id {id}",
|
||||
"Error occurred while posting comment" : "Se presentó un error al publicar el comentario",
|
||||
"_%n unread comment_::_%n unread comments_" : ["%n comentarios sin leer","%n comentarios sin leer"],
|
||||
"Comment" : "Comentario",
|
||||
"You commented" : "Comentaste",
|
||||
"%1$s commented" : "%1$s comentó",
|
||||
"{author} commented" : "{author} comentó",
|
||||
"You commented on %1$s" : "Usted comentó en %1$s",
|
||||
"You commented on {file}" : "Hiciste un comentario de {file}",
|
||||
"%1$s commented on %2$s" : "%1$s comentó en %2$s",
|
||||
"{author} commented on {file}" : "{author} comentó en {file}",
|
||||
"<strong>Comments</strong> for files" : "<strong>Comentarios</strong> de los archivos",
|
||||
"You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "Te mencionaron en \"{file}\", en un comentario de un usuario que ya ha sido borrado",
|
||||
"{user} mentioned you in a comment on “{file}”" : "{user} te mencionó en un comentario en “{file}”",
|
||||
"Unknown user" : "Usuario desconocido",
|
||||
"A (now) deleted user mentioned you in a comment on “%s”" : "Un usuario (ahora) borrado te mencionó en un commentario en “%s”",
|
||||
"A (now) deleted user mentioned you in a comment on “{file}”" : "Un usuario (ahora) borrado te mencionó en un commentario en “{file}”",
|
||||
"%1$s mentioned you in a comment on “%2$s”" : "%1$s te mencionó en un comentario en “%2$s”",
|
||||
"You were mentioned on “%s”, in a comment by a user that has since been deleted" : "Te mencionaron en \"%s\", en un comentario de un usuario que ya ha sido borrado"
|
||||
"Comment" : "Comentario"
|
||||
},
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
|
||||
@@ -1,34 +1,6 @@
|
||||
{ "translations": {
|
||||
"Edit comment" : "Editar comentario",
|
||||
"Delete comment" : "Borrar comentario",
|
||||
"New comment …" : "Comentario nuevo ...",
|
||||
"Post" : "Publicar",
|
||||
"Cancel" : "Cancelar",
|
||||
"[Deleted user]" : "[Usuario borrado]",
|
||||
"Comments" : "Comentarios",
|
||||
"No comments yet, start the conversation!" : "¡Aún no hay comentarios, inicia la conversación!",
|
||||
"More comments …" : "Más comentarios ...",
|
||||
"Save" : "Guardar",
|
||||
"Allowed characters {count} of {max}" : "Caracteres permitidos {count} de {max}",
|
||||
"Error occurred while retrieving comment with ID {id}" : "Se presentó un error al recuperar el comentario con ID {id}",
|
||||
"Error occurred while updating comment with id {id}" : "Se presentó un error al actualizar el comentario con Id {id}",
|
||||
"Error occurred while posting comment" : "Se presentó un error al publicar el comentario",
|
||||
"_%n unread comment_::_%n unread comments_" : ["%n comentarios sin leer","%n comentarios sin leer"],
|
||||
"Comment" : "Comentario",
|
||||
"You commented" : "Comentaste",
|
||||
"%1$s commented" : "%1$s comentó",
|
||||
"{author} commented" : "{author} comentó",
|
||||
"You commented on %1$s" : "Usted comentó en %1$s",
|
||||
"You commented on {file}" : "Hiciste un comentario de {file}",
|
||||
"%1$s commented on %2$s" : "%1$s comentó en %2$s",
|
||||
"{author} commented on {file}" : "{author} comentó en {file}",
|
||||
"<strong>Comments</strong> for files" : "<strong>Comentarios</strong> de los archivos",
|
||||
"You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "Te mencionaron en \"{file}\", en un comentario de un usuario que ya ha sido borrado",
|
||||
"{user} mentioned you in a comment on “{file}”" : "{user} te mencionó en un comentario en “{file}”",
|
||||
"Unknown user" : "Usuario desconocido",
|
||||
"A (now) deleted user mentioned you in a comment on “%s”" : "Un usuario (ahora) borrado te mencionó en un commentario en “%s”",
|
||||
"A (now) deleted user mentioned you in a comment on “{file}”" : "Un usuario (ahora) borrado te mencionó en un commentario en “{file}”",
|
||||
"%1$s mentioned you in a comment on “%2$s”" : "%1$s te mencionó en un comentario en “%2$s”",
|
||||
"You were mentioned on “%s”, in a comment by a user that has since been deleted" : "Te mencionaron en \"%s\", en un comentario de un usuario que ya ha sido borrado"
|
||||
"Comment" : "Comentario"
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
||||
@@ -1,35 +0,0 @@
|
||||
OC.L10N.register(
|
||||
"comments",
|
||||
{
|
||||
"Edit comment" : "Editar comentario",
|
||||
"Delete comment" : "Borrar comentario",
|
||||
"New comment …" : "Comentario nuevo ...",
|
||||
"Post" : "Publicar",
|
||||
"Cancel" : "Cancelar",
|
||||
"[Deleted user]" : "[Usuario borrado]",
|
||||
"Comments" : "Comentarios",
|
||||
"No comments yet, start the conversation!" : "¡Aún no hay comentarios, inicia la conversación!",
|
||||
"More comments …" : "Más comentarios ...",
|
||||
"Save" : "Guardar",
|
||||
"Allowed characters {count} of {max}" : "Caracteres permitidos {count} de {max}",
|
||||
"Error occurred while updating comment with id {id}" : "Se presentó un error al actualizar el comentario con Id {id}",
|
||||
"Error occurred while posting comment" : "Se presentó un error al publicar el comentario",
|
||||
"_%n unread comment_::_%n unread comments_" : ["%n comentarios sin leer","%n comentarios sin leer"],
|
||||
"Comment" : "Comentario",
|
||||
"You commented" : "Comentaste",
|
||||
"%1$s commented" : "%1$s comentó",
|
||||
"{author} commented" : "{author} comentó",
|
||||
"You commented on %1$s" : "Usted comentó en %1$s",
|
||||
"You commented on {file}" : "Hiciste un comentario de {file}",
|
||||
"%1$s commented on %2$s" : "%1$s comentó en %2$s",
|
||||
"{author} commented on {file}" : "{author} comentó en {file}",
|
||||
"<strong>Comments</strong> for files" : "<strong>Comentarios</strong> de los archivos",
|
||||
"You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "Te mencionaron en \"{file}\", en un comentario de un usuario que ya ha sido borrado",
|
||||
"{user} mentioned you in a comment on “{file}”" : "{user} te mencionó en un comentario en “{file}”",
|
||||
"Unknown user" : "Usuario desconocido",
|
||||
"A (now) deleted user mentioned you in a comment on “%s”" : "Un usuario (ahora) borrado te mencionó en un commentario en “%s”",
|
||||
"A (now) deleted user mentioned you in a comment on “{file}”" : "Un usuario (ahora) borrado te mencionó en un commentario en “{file}”",
|
||||
"%1$s mentioned you in a comment on “%2$s”" : "%1$s te mencionó en un comentario en “%2$s”",
|
||||
"You were mentioned on “%s”, in a comment by a user that has since been deleted" : "Te mencionaron en \"%s\", en un comentario de un usuario que ya ha sido borrado"
|
||||
},
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
@@ -1,33 +0,0 @@
|
||||
{ "translations": {
|
||||
"Edit comment" : "Editar comentario",
|
||||
"Delete comment" : "Borrar comentario",
|
||||
"New comment …" : "Comentario nuevo ...",
|
||||
"Post" : "Publicar",
|
||||
"Cancel" : "Cancelar",
|
||||
"[Deleted user]" : "[Usuario borrado]",
|
||||
"Comments" : "Comentarios",
|
||||
"No comments yet, start the conversation!" : "¡Aún no hay comentarios, inicia la conversación!",
|
||||
"More comments …" : "Más comentarios ...",
|
||||
"Save" : "Guardar",
|
||||
"Allowed characters {count} of {max}" : "Caracteres permitidos {count} de {max}",
|
||||
"Error occurred while updating comment with id {id}" : "Se presentó un error al actualizar el comentario con Id {id}",
|
||||
"Error occurred while posting comment" : "Se presentó un error al publicar el comentario",
|
||||
"_%n unread comment_::_%n unread comments_" : ["%n comentarios sin leer","%n comentarios sin leer"],
|
||||
"Comment" : "Comentario",
|
||||
"You commented" : "Comentaste",
|
||||
"%1$s commented" : "%1$s comentó",
|
||||
"{author} commented" : "{author} comentó",
|
||||
"You commented on %1$s" : "Usted comentó en %1$s",
|
||||
"You commented on {file}" : "Hiciste un comentario de {file}",
|
||||
"%1$s commented on %2$s" : "%1$s comentó en %2$s",
|
||||
"{author} commented on {file}" : "{author} comentó en {file}",
|
||||
"<strong>Comments</strong> for files" : "<strong>Comentarios</strong> de los archivos",
|
||||
"You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "Te mencionaron en \"{file}\", en un comentario de un usuario que ya ha sido borrado",
|
||||
"{user} mentioned you in a comment on “{file}”" : "{user} te mencionó en un comentario en “{file}”",
|
||||
"Unknown user" : "Usuario desconocido",
|
||||
"A (now) deleted user mentioned you in a comment on “%s”" : "Un usuario (ahora) borrado te mencionó en un commentario en “%s”",
|
||||
"A (now) deleted user mentioned you in a comment on “{file}”" : "Un usuario (ahora) borrado te mencionó en un commentario en “{file}”",
|
||||
"%1$s mentioned you in a comment on “%2$s”" : "%1$s te mencionó en un comentario en “%2$s”",
|
||||
"You were mentioned on “%s”, in a comment by a user that has since been deleted" : "Te mencionaron en \"%s\", en un comentario de un usuario que ya ha sido borrado"
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
||||
@@ -1,35 +0,0 @@
|
||||
OC.L10N.register(
|
||||
"comments",
|
||||
{
|
||||
"Edit comment" : "Editar comentario",
|
||||
"Delete comment" : "Borrar comentario",
|
||||
"New comment …" : "Comentario nuevo ...",
|
||||
"Post" : "Publicar",
|
||||
"Cancel" : "Cancelar",
|
||||
"[Deleted user]" : "[Usuario borrado]",
|
||||
"Comments" : "Comentarios",
|
||||
"No comments yet, start the conversation!" : "¡Aún no hay comentarios, inicia la conversación!",
|
||||
"More comments …" : "Más comentarios ...",
|
||||
"Save" : "Guardar",
|
||||
"Allowed characters {count} of {max}" : "Caracteres permitidos {count} de {max}",
|
||||
"Error occurred while updating comment with id {id}" : "Se presentó un error al actualizar el comentario con Id {id}",
|
||||
"Error occurred while posting comment" : "Se presentó un error al publicar el comentario",
|
||||
"_%n unread comment_::_%n unread comments_" : ["%n comentarios sin leer","%n comentarios sin leer"],
|
||||
"Comment" : "Comentario",
|
||||
"You commented" : "Comentaste",
|
||||
"%1$s commented" : "%1$s comentó",
|
||||
"{author} commented" : "{author} comentó",
|
||||
"You commented on %1$s" : "Usted comentó en %1$s",
|
||||
"You commented on {file}" : "Hiciste un comentario de {file}",
|
||||
"%1$s commented on %2$s" : "%1$s comentó en %2$s",
|
||||
"{author} commented on {file}" : "{author} comentó en {file}",
|
||||
"<strong>Comments</strong> for files" : "<strong>Comentarios</strong> de los archivos",
|
||||
"You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "Te mencionaron en \"{file}\", en un comentario de un usuario que ya ha sido borrado",
|
||||
"{user} mentioned you in a comment on “{file}”" : "{user} te mencionó en un comentario en “{file}”",
|
||||
"Unknown user" : "Usuario desconocido",
|
||||
"A (now) deleted user mentioned you in a comment on “%s”" : "Un usuario (ahora) borrado te mencionó en un commentario en “%s”",
|
||||
"A (now) deleted user mentioned you in a comment on “{file}”" : "Un usuario (ahora) borrado te mencionó en un commentario en “{file}”",
|
||||
"%1$s mentioned you in a comment on “%2$s”" : "%1$s te mencionó en un comentario en “%2$s”",
|
||||
"You were mentioned on “%s”, in a comment by a user that has since been deleted" : "Te mencionaron en \"%s\", en un comentario de un usuario que ya ha sido borrado"
|
||||
},
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
@@ -1,33 +0,0 @@
|
||||
{ "translations": {
|
||||
"Edit comment" : "Editar comentario",
|
||||
"Delete comment" : "Borrar comentario",
|
||||
"New comment …" : "Comentario nuevo ...",
|
||||
"Post" : "Publicar",
|
||||
"Cancel" : "Cancelar",
|
||||
"[Deleted user]" : "[Usuario borrado]",
|
||||
"Comments" : "Comentarios",
|
||||
"No comments yet, start the conversation!" : "¡Aún no hay comentarios, inicia la conversación!",
|
||||
"More comments …" : "Más comentarios ...",
|
||||
"Save" : "Guardar",
|
||||
"Allowed characters {count} of {max}" : "Caracteres permitidos {count} de {max}",
|
||||
"Error occurred while updating comment with id {id}" : "Se presentó un error al actualizar el comentario con Id {id}",
|
||||
"Error occurred while posting comment" : "Se presentó un error al publicar el comentario",
|
||||
"_%n unread comment_::_%n unread comments_" : ["%n comentarios sin leer","%n comentarios sin leer"],
|
||||
"Comment" : "Comentario",
|
||||
"You commented" : "Comentaste",
|
||||
"%1$s commented" : "%1$s comentó",
|
||||
"{author} commented" : "{author} comentó",
|
||||
"You commented on %1$s" : "Usted comentó en %1$s",
|
||||
"You commented on {file}" : "Hiciste un comentario de {file}",
|
||||
"%1$s commented on %2$s" : "%1$s comentó en %2$s",
|
||||
"{author} commented on {file}" : "{author} comentó en {file}",
|
||||
"<strong>Comments</strong> for files" : "<strong>Comentarios</strong> de los archivos",
|
||||
"You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "Te mencionaron en \"{file}\", en un comentario de un usuario que ya ha sido borrado",
|
||||
"{user} mentioned you in a comment on “{file}”" : "{user} te mencionó en un comentario en “{file}”",
|
||||
"Unknown user" : "Usuario desconocido",
|
||||
"A (now) deleted user mentioned you in a comment on “%s”" : "Un usuario (ahora) borrado te mencionó en un commentario en “%s”",
|
||||
"A (now) deleted user mentioned you in a comment on “{file}”" : "Un usuario (ahora) borrado te mencionó en un commentario en “{file}”",
|
||||
"%1$s mentioned you in a comment on “%2$s”" : "%1$s te mencionó en un comentario en “%2$s”",
|
||||
"You were mentioned on “%s”, in a comment by a user that has since been deleted" : "Te mencionaron en \"%s\", en un comentario de un usuario que ya ha sido borrado"
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
||||
@@ -1,35 +0,0 @@
|
||||
OC.L10N.register(
|
||||
"comments",
|
||||
{
|
||||
"Edit comment" : "Editar comentario",
|
||||
"Delete comment" : "Borrar comentario",
|
||||
"New comment …" : "Comentario nuevo ...",
|
||||
"Post" : "Publicar",
|
||||
"Cancel" : "Cancelar",
|
||||
"[Deleted user]" : "[Usuario borrado]",
|
||||
"Comments" : "Comentarios",
|
||||
"No comments yet, start the conversation!" : "¡Aún no hay comentarios, inicia la conversación!",
|
||||
"More comments …" : "Más comentarios ...",
|
||||
"Save" : "Guardar",
|
||||
"Allowed characters {count} of {max}" : "Caracteres permitidos {count} de {max}",
|
||||
"Error occurred while updating comment with id {id}" : "Se presentó un error al actualizar el comentario con Id {id}",
|
||||
"Error occurred while posting comment" : "Se presentó un error al publicar el comentario",
|
||||
"_%n unread comment_::_%n unread comments_" : ["%n comentarios sin leer","%n comentarios sin leer"],
|
||||
"Comment" : "Comentario",
|
||||
"You commented" : "Comentaste",
|
||||
"%1$s commented" : "%1$s comentó",
|
||||
"{author} commented" : "{author} comentó",
|
||||
"You commented on %1$s" : "Usted comentó en %1$s",
|
||||
"You commented on {file}" : "Hiciste un comentario de {file}",
|
||||
"%1$s commented on %2$s" : "%1$s comentó en %2$s",
|
||||
"{author} commented on {file}" : "{author} comentó en {file}",
|
||||
"<strong>Comments</strong> for files" : "<strong>Comentarios</strong> de los archivos",
|
||||
"You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "Te mencionaron en \"{file}\", en un comentario de un usuario que ya ha sido borrado",
|
||||
"{user} mentioned you in a comment on “{file}”" : "{user} te mencionó en un comentario en “{file}”",
|
||||
"Unknown user" : "Usuario desconocido",
|
||||
"A (now) deleted user mentioned you in a comment on “%s”" : "Un usuario (ahora) borrado te mencionó en un commentario en “%s”",
|
||||
"A (now) deleted user mentioned you in a comment on “{file}”" : "Un usuario (ahora) borrado te mencionó en un commentario en “{file}”",
|
||||
"%1$s mentioned you in a comment on “%2$s”" : "%1$s te mencionó en un comentario en “%2$s”",
|
||||
"You were mentioned on “%s”, in a comment by a user that has since been deleted" : "Te mencionaron en \"%s\", en un comentario de un usuario que ya ha sido borrado"
|
||||
},
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
@@ -1,33 +0,0 @@
|
||||
{ "translations": {
|
||||
"Edit comment" : "Editar comentario",
|
||||
"Delete comment" : "Borrar comentario",
|
||||
"New comment …" : "Comentario nuevo ...",
|
||||
"Post" : "Publicar",
|
||||
"Cancel" : "Cancelar",
|
||||
"[Deleted user]" : "[Usuario borrado]",
|
||||
"Comments" : "Comentarios",
|
||||
"No comments yet, start the conversation!" : "¡Aún no hay comentarios, inicia la conversación!",
|
||||
"More comments …" : "Más comentarios ...",
|
||||
"Save" : "Guardar",
|
||||
"Allowed characters {count} of {max}" : "Caracteres permitidos {count} de {max}",
|
||||
"Error occurred while updating comment with id {id}" : "Se presentó un error al actualizar el comentario con Id {id}",
|
||||
"Error occurred while posting comment" : "Se presentó un error al publicar el comentario",
|
||||
"_%n unread comment_::_%n unread comments_" : ["%n comentarios sin leer","%n comentarios sin leer"],
|
||||
"Comment" : "Comentario",
|
||||
"You commented" : "Comentaste",
|
||||
"%1$s commented" : "%1$s comentó",
|
||||
"{author} commented" : "{author} comentó",
|
||||
"You commented on %1$s" : "Usted comentó en %1$s",
|
||||
"You commented on {file}" : "Hiciste un comentario de {file}",
|
||||
"%1$s commented on %2$s" : "%1$s comentó en %2$s",
|
||||
"{author} commented on {file}" : "{author} comentó en {file}",
|
||||
"<strong>Comments</strong> for files" : "<strong>Comentarios</strong> de los archivos",
|
||||
"You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "Te mencionaron en \"{file}\", en un comentario de un usuario que ya ha sido borrado",
|
||||
"{user} mentioned you in a comment on “{file}”" : "{user} te mencionó en un comentario en “{file}”",
|
||||
"Unknown user" : "Usuario desconocido",
|
||||
"A (now) deleted user mentioned you in a comment on “%s”" : "Un usuario (ahora) borrado te mencionó en un commentario en “%s”",
|
||||
"A (now) deleted user mentioned you in a comment on “{file}”" : "Un usuario (ahora) borrado te mencionó en un commentario en “{file}”",
|
||||
"%1$s mentioned you in a comment on “%2$s”" : "%1$s te mencionó en un comentario en “%2$s”",
|
||||
"You were mentioned on “%s”, in a comment by a user that has since been deleted" : "Te mencionaron en \"%s\", en un comentario de un usuario que ya ha sido borrado"
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
||||
@@ -1,35 +0,0 @@
|
||||
OC.L10N.register(
|
||||
"comments",
|
||||
{
|
||||
"Edit comment" : "Editar comentario",
|
||||
"Delete comment" : "Borrar comentario",
|
||||
"New comment …" : "Comentario nuevo ...",
|
||||
"Post" : "Publicar",
|
||||
"Cancel" : "Cancelar",
|
||||
"[Deleted user]" : "[Usuario borrado]",
|
||||
"Comments" : "Comentarios",
|
||||
"No comments yet, start the conversation!" : "¡Aún no hay comentarios, inicia la conversación!",
|
||||
"More comments …" : "Más comentarios ...",
|
||||
"Save" : "Guardar",
|
||||
"Allowed characters {count} of {max}" : "Caracteres permitidos {count} de {max}",
|
||||
"Error occurred while updating comment with id {id}" : "Se presentó un error al actualizar el comentario con Id {id}",
|
||||
"Error occurred while posting comment" : "Se presentó un error al publicar el comentario",
|
||||
"_%n unread comment_::_%n unread comments_" : ["%n comentarios sin leer","%n comentarios sin leer"],
|
||||
"Comment" : "Comentario",
|
||||
"You commented" : "Comentaste",
|
||||
"%1$s commented" : "%1$s comentó",
|
||||
"{author} commented" : "{author} comentó",
|
||||
"You commented on %1$s" : "Usted comentó en %1$s",
|
||||
"You commented on {file}" : "Hiciste un comentario de {file}",
|
||||
"%1$s commented on %2$s" : "%1$s comentó en %2$s",
|
||||
"{author} commented on {file}" : "{author} comentó en {file}",
|
||||
"<strong>Comments</strong> for files" : "<strong>Comentarios</strong> de los archivos",
|
||||
"You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "Te mencionaron en \"{file}\", en un comentario de un usuario que ya ha sido borrado",
|
||||
"{user} mentioned you in a comment on “{file}”" : "{user} te mencionó en un comentario en “{file}”",
|
||||
"Unknown user" : "Usuario desconocido",
|
||||
"A (now) deleted user mentioned you in a comment on “%s”" : "Un usuario (ahora) borrado te mencionó en un commentario en “%s”",
|
||||
"A (now) deleted user mentioned you in a comment on “{file}”" : "Un usuario (ahora) borrado te mencionó en un commentario en “{file}”",
|
||||
"%1$s mentioned you in a comment on “%2$s”" : "%1$s te mencionó en un comentario en “%2$s”",
|
||||
"You were mentioned on “%s”, in a comment by a user that has since been deleted" : "Te mencionaron en \"%s\", en un comentario de un usuario que ya ha sido borrado"
|
||||
},
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
@@ -1,33 +0,0 @@
|
||||
{ "translations": {
|
||||
"Edit comment" : "Editar comentario",
|
||||
"Delete comment" : "Borrar comentario",
|
||||
"New comment …" : "Comentario nuevo ...",
|
||||
"Post" : "Publicar",
|
||||
"Cancel" : "Cancelar",
|
||||
"[Deleted user]" : "[Usuario borrado]",
|
||||
"Comments" : "Comentarios",
|
||||
"No comments yet, start the conversation!" : "¡Aún no hay comentarios, inicia la conversación!",
|
||||
"More comments …" : "Más comentarios ...",
|
||||
"Save" : "Guardar",
|
||||
"Allowed characters {count} of {max}" : "Caracteres permitidos {count} de {max}",
|
||||
"Error occurred while updating comment with id {id}" : "Se presentó un error al actualizar el comentario con Id {id}",
|
||||
"Error occurred while posting comment" : "Se presentó un error al publicar el comentario",
|
||||
"_%n unread comment_::_%n unread comments_" : ["%n comentarios sin leer","%n comentarios sin leer"],
|
||||
"Comment" : "Comentario",
|
||||
"You commented" : "Comentaste",
|
||||
"%1$s commented" : "%1$s comentó",
|
||||
"{author} commented" : "{author} comentó",
|
||||
"You commented on %1$s" : "Usted comentó en %1$s",
|
||||
"You commented on {file}" : "Hiciste un comentario de {file}",
|
||||
"%1$s commented on %2$s" : "%1$s comentó en %2$s",
|
||||
"{author} commented on {file}" : "{author} comentó en {file}",
|
||||
"<strong>Comments</strong> for files" : "<strong>Comentarios</strong> de los archivos",
|
||||
"You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "Te mencionaron en \"{file}\", en un comentario de un usuario que ya ha sido borrado",
|
||||
"{user} mentioned you in a comment on “{file}”" : "{user} te mencionó en un comentario en “{file}”",
|
||||
"Unknown user" : "Usuario desconocido",
|
||||
"A (now) deleted user mentioned you in a comment on “%s”" : "Un usuario (ahora) borrado te mencionó en un commentario en “%s”",
|
||||
"A (now) deleted user mentioned you in a comment on “{file}”" : "Un usuario (ahora) borrado te mencionó en un commentario en “{file}”",
|
||||
"%1$s mentioned you in a comment on “%2$s”" : "%1$s te mencionó en un comentario en “%2$s”",
|
||||
"You were mentioned on “%s”, in a comment by a user that has since been deleted" : "Te mencionaron en \"%s\", en un comentario de un usuario que ya ha sido borrado"
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
||||
@@ -1,35 +0,0 @@
|
||||
OC.L10N.register(
|
||||
"comments",
|
||||
{
|
||||
"Edit comment" : "Editar comentario",
|
||||
"Delete comment" : "Borrar comentario",
|
||||
"New comment …" : "Comentario nuevo ...",
|
||||
"Post" : "Publicar",
|
||||
"Cancel" : "Cancelar",
|
||||
"[Deleted user]" : "[Usuario borrado]",
|
||||
"Comments" : "Comentarios",
|
||||
"No comments yet, start the conversation!" : "¡Aún no hay comentarios, inicia la conversación!",
|
||||
"More comments …" : "Más comentarios ...",
|
||||
"Save" : "Guardar",
|
||||
"Allowed characters {count} of {max}" : "Caracteres permitidos {count} de {max}",
|
||||
"Error occurred while updating comment with id {id}" : "Se presentó un error al actualizar el comentario con Id {id}",
|
||||
"Error occurred while posting comment" : "Se presentó un error al publicar el comentario",
|
||||
"_%n unread comment_::_%n unread comments_" : ["%n comentarios sin leer","%n comentarios sin leer"],
|
||||
"Comment" : "Comentario",
|
||||
"You commented" : "Comentaste",
|
||||
"%1$s commented" : "%1$s comentó",
|
||||
"{author} commented" : "{author} comentó",
|
||||
"You commented on %1$s" : "Usted comentó en %1$s",
|
||||
"You commented on {file}" : "Hiciste un comentario de {file}",
|
||||
"%1$s commented on %2$s" : "%1$s comentó en %2$s",
|
||||
"{author} commented on {file}" : "{author} comentó en {file}",
|
||||
"<strong>Comments</strong> for files" : "<strong>Comentarios</strong> de los archivos",
|
||||
"You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "Te mencionaron en \"{file}\", en un comentario de un usuario que ya ha sido borrado",
|
||||
"{user} mentioned you in a comment on “{file}”" : "{user} te mencionó en un comentario en “{file}”",
|
||||
"Unknown user" : "Usuario desconocido",
|
||||
"A (now) deleted user mentioned you in a comment on “%s”" : "Un usuario (ahora) borrado te mencionó en un commentario en “%s”",
|
||||
"A (now) deleted user mentioned you in a comment on “{file}”" : "Un usuario (ahora) borrado te mencionó en un commentario en “{file}”",
|
||||
"%1$s mentioned you in a comment on “%2$s”" : "%1$s te mencionó en un comentario en “%2$s”",
|
||||
"You were mentioned on “%s”, in a comment by a user that has since been deleted" : "Te mencionaron en \"%s\", en un comentario de un usuario que ya ha sido borrado"
|
||||
},
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
@@ -1,33 +0,0 @@
|
||||
{ "translations": {
|
||||
"Edit comment" : "Editar comentario",
|
||||
"Delete comment" : "Borrar comentario",
|
||||
"New comment …" : "Comentario nuevo ...",
|
||||
"Post" : "Publicar",
|
||||
"Cancel" : "Cancelar",
|
||||
"[Deleted user]" : "[Usuario borrado]",
|
||||
"Comments" : "Comentarios",
|
||||
"No comments yet, start the conversation!" : "¡Aún no hay comentarios, inicia la conversación!",
|
||||
"More comments …" : "Más comentarios ...",
|
||||
"Save" : "Guardar",
|
||||
"Allowed characters {count} of {max}" : "Caracteres permitidos {count} de {max}",
|
||||
"Error occurred while updating comment with id {id}" : "Se presentó un error al actualizar el comentario con Id {id}",
|
||||
"Error occurred while posting comment" : "Se presentó un error al publicar el comentario",
|
||||
"_%n unread comment_::_%n unread comments_" : ["%n comentarios sin leer","%n comentarios sin leer"],
|
||||
"Comment" : "Comentario",
|
||||
"You commented" : "Comentaste",
|
||||
"%1$s commented" : "%1$s comentó",
|
||||
"{author} commented" : "{author} comentó",
|
||||
"You commented on %1$s" : "Usted comentó en %1$s",
|
||||
"You commented on {file}" : "Hiciste un comentario de {file}",
|
||||
"%1$s commented on %2$s" : "%1$s comentó en %2$s",
|
||||
"{author} commented on {file}" : "{author} comentó en {file}",
|
||||
"<strong>Comments</strong> for files" : "<strong>Comentarios</strong> de los archivos",
|
||||
"You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "Te mencionaron en \"{file}\", en un comentario de un usuario que ya ha sido borrado",
|
||||
"{user} mentioned you in a comment on “{file}”" : "{user} te mencionó en un comentario en “{file}”",
|
||||
"Unknown user" : "Usuario desconocido",
|
||||
"A (now) deleted user mentioned you in a comment on “%s”" : "Un usuario (ahora) borrado te mencionó en un commentario en “%s”",
|
||||
"A (now) deleted user mentioned you in a comment on “{file}”" : "Un usuario (ahora) borrado te mencionó en un commentario en “{file}”",
|
||||
"%1$s mentioned you in a comment on “%2$s”" : "%1$s te mencionó en un comentario en “%2$s”",
|
||||
"You were mentioned on “%s”, in a comment by a user that has since been deleted" : "Te mencionaron en \"%s\", en un comentario de un usuario que ya ha sido borrado"
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
||||
@@ -1,36 +0,0 @@
|
||||
OC.L10N.register(
|
||||
"comments",
|
||||
{
|
||||
"Edit comment" : "Editar comentario",
|
||||
"Delete comment" : "Borrar comentario",
|
||||
"New comment …" : "Comentario nuevo ...",
|
||||
"Post" : "Publicar",
|
||||
"Cancel" : "Cancelar",
|
||||
"[Deleted user]" : "[Usuario borrado]",
|
||||
"Comments" : "Comentarios",
|
||||
"No comments yet, start the conversation!" : "¡Aún no hay comentarios, inicia la conversación!",
|
||||
"More comments …" : "Más comentarios ...",
|
||||
"Save" : "Guardar",
|
||||
"Allowed characters {count} of {max}" : "Caracteres permitidos {count} de {max}",
|
||||
"Error occurred while retrieving comment with ID {id}" : "Se presentó un error al recuperar el comentario con ID {id}",
|
||||
"Error occurred while updating comment with id {id}" : "Se presentó un error al actualizar el comentario con Id {id}",
|
||||
"Error occurred while posting comment" : "Se presentó un error al publicar el comentario",
|
||||
"_%n unread comment_::_%n unread comments_" : ["%n comentarios sin leer","%n comentarios sin leer"],
|
||||
"Comment" : "Comentario",
|
||||
"You commented" : "Comentaste",
|
||||
"%1$s commented" : "%1$s comentó",
|
||||
"{author} commented" : "{author} comentó",
|
||||
"You commented on %1$s" : "Usted comentó en %1$s",
|
||||
"You commented on {file}" : "Hiciste un comentario de {file}",
|
||||
"%1$s commented on %2$s" : "%1$s comentó en %2$s",
|
||||
"{author} commented on {file}" : "{author} comentó en {file}",
|
||||
"<strong>Comments</strong> for files" : "<strong>Comentarios</strong> de los archivos",
|
||||
"You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "Te mencionaron en \"{file}\", en un comentario de un usuario que ya ha sido borrado",
|
||||
"{user} mentioned you in a comment on “{file}”" : "{user} te mencionó en un comentario en “{file}”",
|
||||
"Unknown user" : "Usuario desconocido",
|
||||
"A (now) deleted user mentioned you in a comment on “%s”" : "Un usuario (ahora) borrado te mencionó en un commentario en “%s”",
|
||||
"A (now) deleted user mentioned you in a comment on “{file}”" : "Un usuario (ahora) borrado te mencionó en un commentario en “{file}”",
|
||||
"%1$s mentioned you in a comment on “%2$s”" : "%1$s te mencionó en un comentario en “%2$s”",
|
||||
"You were mentioned on “%s”, in a comment by a user that has since been deleted" : "Te mencionaron en \"%s\", en un comentario de un usuario que ya ha sido borrado"
|
||||
},
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user