Merge remote-tracking branch 'origin/master' into fix/5456/respect_avatar_privacy

This commit is contained in:
Roeland Jago Douma 2019-11-13 20:30:43 +01:00
commit 4fcba8a597
No known key found for this signature in database
GPG Key ID: F941078878347C0C
886 changed files with 25271 additions and 26197 deletions

View File

@ -1,11 +0,0 @@
module.exports = {
plugins: ['@babel/plugin-syntax-dynamic-import'],
presets: [
[
'@babel/preset-env',
{
modules: false
}
]
]
};

View File

@ -52,7 +52,7 @@ steps:
commands:
- git submodule update --init
- name: checkers
image: nextcloudci/php7.1:php7.1-16
image: nextcloudci/php7.2:php7.2-12
commands:
- ./autotest-checkers.sh
secrets: [ github_token ]
@ -93,11 +93,6 @@ steps:
image: docker:git
commands:
- git submodule update --init
- name: syntax-php7.1
image: nextcloudci/php7.1:php7.1-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 lib/composer/composer/autoload_static.php --exclude 3rdparty/composer/autoload_static.php .
- name: syntax-php7.2
image: nextcloudci/php7.2:php7.2-12
commands:
@ -134,7 +129,7 @@ steps:
commands:
- git submodule update --init
- name: litmus-v1
image: nextcloudci/litmus-php7.1:1
image: nextcloudci/litmus-php7.2:1
commands:
- bash tests/travis/install.sh sqlite
- bash apps/dav/tests/travis/litmus-v1/script.sh
@ -162,7 +157,7 @@ steps:
commands:
- git submodule update --init
- name: caldavtester-new-endpoint
image: nextcloudci/litmus-php7.1:1
image: nextcloudci/litmus-php7.2:1
commands:
- bash tests/travis/install.sh sqlite
- bash apps/dav/tests/travis/caldav/install.sh
@ -186,7 +181,7 @@ steps:
commands:
- git submodule update --init
- name: caldavtester-old-endpoint
image: nextcloudci/litmus-php7.1:1
image: nextcloudci/litmus-php7.2:1
commands:
- bash tests/travis/install.sh sqlite
- bash apps/dav/tests/travis/caldav/install.sh
@ -210,7 +205,7 @@ steps:
commands:
- git submodule update --init
- name: carddavtester-new-endpoint
image: nextcloudci/litmus-php7.1:1
image: nextcloudci/litmus-php7.2:1
commands:
- bash tests/travis/install.sh sqlite
- bash apps/dav/tests/travis/carddav/install.sh
@ -234,7 +229,7 @@ steps:
commands:
- git submodule update --init
- name: carddavtester-old-endpoint
image: nextcloudci/litmus-php7.1:1
image: nextcloudci/litmus-php7.2:1
commands:
- bash tests/travis/install.sh sqlite
- bash apps/dav/tests/travis/carddav/install.sh
@ -327,10 +322,6 @@ steps:
image: docker:git
commands:
- git submodule update --init
- name: nodb-php7.1
image: nextcloudci/php7.1:php7.1-16
commands:
- NOCOVERAGE=true TEST_SELECTION=NODB ./autotest.sh sqlite
- name: nodb-php7.2
image: nextcloudci/php7.2:php7.2-11
commands:
@ -361,10 +352,6 @@ steps:
image: docker:git
commands:
- git submodule update --init
- name: sqlite-php7.1
image: nextcloudci/php7.1:php7.1-16
commands:
- NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh sqlite
- name: sqlite-php7.2
image: nextcloudci/php7.2:php7.2-12
commands:
@ -388,15 +375,15 @@ trigger:
---
kind: pipeline
name: mariadb10.1-php7.1
name: mariadb10.1-php7.2
steps:
- name: submodules
image: docker:git
commands:
- git submodule update --init
- name: mariadb10.1-php7.1
image: nextcloudci/php7.1:php7.1-16
- name: mariadb10.1-php7.2
image: nextcloudci/php7.2:php7.2-12
commands:
- NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh mariadb
@ -423,15 +410,15 @@ trigger:
---
kind: pipeline
name: mariadb10.2-php7.1
name: mariadb10.2-php7.2
steps:
- name: submodules
image: docker:git
commands:
- git submodule update --init
- name: mariadb10.2-php7.1
image: nextcloudci/php7.1:php7.1-16
- name: mariadb10.2-php7.2
image: nextcloudci/php7.2:php7.2-12
commands:
- NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh mariadb
@ -457,15 +444,15 @@ trigger:
---
kind: pipeline
name: mariadb10.3-php7.1
name: mariadb10.3-php7.2
steps:
- name: submodules
image: docker:git
commands:
- git submodule update --init
- name: mariadb10.3-php7.1
image: nextcloudci/php7.1:php7.1-16
- name: mariadb10.3-php7.2
image: nextcloudci/php7.2:php7.2-12
commands:
- NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh mariadb
@ -560,40 +547,6 @@ trigger:
- pull_request
- push
---
kind: pipeline
name: mysql5.7-php7.1
steps:
- name: submodules
image: docker:git
commands:
- git submodule update --init
- name: mysql-php7.1
image: nextcloudci/php7.1:php7.1-16
commands:
- NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh mysql
services:
- name: cache
image: redis
- name: mysql
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: owncloud
MYSQL_USER: oc_autotest
MYSQL_PASSWORD: owncloud
MYSQL_DATABASE: oc_autotest
tmpfs:
- /var/lib/mysql
trigger:
branch:
- master
- stable*
event:
- push
---
kind: pipeline
name: mysql5.7-php7.2
@ -660,15 +613,15 @@ trigger:
---
kind: pipeline
name: mysql5.6-php7.1
name: mysql5.6-php7.2
steps:
- name: submodules
image: docker:git
commands:
- git submodule update --init
- name: mysql5.6-php7.1
image: nextcloudci/php7.1:php7.1-16
- name: mysql5.6-php7.2
image: nextcloudci/php7.2:php7.2-12
commands:
- NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh mysql
@ -729,15 +682,15 @@ trigger:
---
kind: pipeline
name: postgres10-php7.1
name: postgres10-php7.2
steps:
- name: submodules
image: docker:git
commands:
- git submodule update --init
- name: postgres-php7.1
image: nextcloudci/php7.1:php7.1-16
- name: postgres-php7.2
image: nextcloudci/php7.2:php7.2-12
commands:
- sleep 10 # gives the database enough time to initialize
- POSTGRES=10 NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh pgsql
@ -763,15 +716,15 @@ trigger:
---
kind: pipeline
name: postgres11-php7.1
name: postgres11-php7.2
steps:
- name: submodules
image: docker:git
commands:
- git submodule update --init
- name: postgres-php7.1
image: nextcloudci/php7.1:php7.1-16
- name: postgres-php7.2
image: nextcloudci/php7.2:php7.2-12
commands:
- sleep 10 # gives the database enough time to initialize
- POSTGRES=11 NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh pgsql
@ -796,41 +749,6 @@ trigger:
- pull_request
- push
---
kind: pipeline
name: mysqlmb4-php7.1
steps:
- name: submodules
image: docker:git
commands:
- git submodule update --init
- name: mysqlmb4-php7.1
image: nextcloudci/php7.1:php7.1-16
commands:
- NOCOVERAGE=true TEST_SELECTION=DB ./autotest.sh mysqlmb4
services:
- name: cache
image: redis
- name: 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
trigger:
branch:
- master
- stable*
event:
- push
---
kind: pipeline
name: mysqlmb4-php7.2
@ -2123,7 +2041,7 @@ steps:
commands:
- git submodule update --init
- name: nodb-codecov
image: nextcloudci/php7.1:php7.1-16
image: nextcloudci/php7.2:php7.2-12
commands:
- phpenmod xdebug
- TEST_SELECTION=NODB ./autotest.sh sqlite
@ -2152,7 +2070,7 @@ steps:
commands:
- git submodule update --init
- name: db-codecov
image: nextcloudci/php7.1:php7.1-16
image: nextcloudci/php7.2:php7.2-12
commands:
- phpenmod xdebug
- TEST_SELECTION=QUICKDB ./autotest.sh sqlite
@ -2181,7 +2099,7 @@ steps:
commands:
- git submodule update --init
- name: object-store
image: nextcloudci/php7.1:php7.1-16
image: nextcloudci/php7.2:php7.2-12
commands:
- phpenmod xdebug
- ./tests/drone-wait-objectstore.sh
@ -2212,7 +2130,7 @@ steps:
commands:
- git submodule update --init
- name: object-store
image: nextcloudci/php7.1:php7.1-16
image: nextcloudci/php7.2:php7.2-12
commands:
- phpenmod xdebug
- ./tests/drone-wait-objectstore.sh
@ -2334,34 +2252,34 @@ trigger:
- pull_request
- push
---
kind: pipeline
name: memcache-redis-cluster
steps:
- name: submodules
image: docker:git
commands:
- git submodule update --init
- name: memcache-redis-cluster
image: nextcloudci/php7.1:php7.1-16
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"
services:
- name: cache-cluster
image: morrisjobke/redis-cluster
trigger:
branch:
- master
- stable*
event:
- pull_request
- push
#---
#kind: pipeline
#name: memcache-redis-cluster
#
#steps:
#- name: submodules
# image: docker:git
# commands:
# - git submodule update --init
#- name: memcache-redis-cluster
# image: nextcloudci/php7.2:php7.2-12
# commands:
# - phpenmod xdebug
# - sleep 20
# - ENABLE_REDIS_CLUSTER=true ./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"
#
#services:
#- name: cache-cluster
# image: morrisjobke/redis-cluster
#
#trigger:
# branch:
# - master
# - stable*
# event:
# - pull_request
# - push

14
.editorconfig Normal file
View File

@ -0,0 +1,14 @@
# https://editorconfig.org
root = true
[*]
charset = utf-8
end_of_line = lf
indent_size = 4
indent_style = tab
insert_final_newline = true
trim_trailing_whitespace = true
[*.md]
trim_trailing_whitespace = false

@ -1 +1 @@
Subproject commit 4a0dc8066bde4ca5641a740e304f9a5403a5952e
Subproject commit 2fff9ea6d80984d740e98ea1d3a28fcef660ef1d

View File

@ -30,6 +30,7 @@ lint-fix-watch:
clean:
rm -rf apps/accessibility/js/
rm -rf apps/comments/js/
rm -rf apps/files/js/dist/
rm -rf apps/files_sharing/js/dist/
rm -rf apps/files_trashbin/js/
rm -rf apps/files_versions/js/
@ -47,6 +48,7 @@ clean-dev:
clean-git: clean
git checkout -- apps/accessibility/js/
git checkout -- apps/comments/js/
git checkout -- apps/files/js/dist/
git checkout -- apps/files_sharing/js/dist/
git checkout -- apps/files_trashbin/js/
git checkout -- apps/files_versions/js/

View File

@ -22,10 +22,12 @@ declare (strict_types = 1);
*
*/
$app = new \OCA\Accessibility\AppInfo\Application();
use OCA\Accessibility\AppInfo\Application;
$app = \OC::$server->query(Application::class);
// Separate from the constructor since the route are not initialized before that
// 1. create the app
// 2. generate css route and inject
$app->injectCss();
$app->injectJavascript();
$app->injectJavascript();

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -4,6 +4,7 @@ OC.L10N.register(
"Dark theme" : "Tmavý motiv vzhledu",
"A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Tmavý motiv vzhledu pro ulevení vašim očím snížením celkové svítivosti a jasu. Zatím ještě není hotové, takže hlaste jakékoli problémy, se kterými se potkáte.",
"High contrast mode" : "Režim vysokého kontrastu",
"A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "Mód s vysokým kontrastem pro zjednodušení vaší navigace. Vizuální kvalita bude omezena, ale jasnost bude zlepšena.",
"Dyslexia font" : "Písmo pro dyslektiky",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic je svobodné písmo navržené pro omezení vlivu některých běžných poruch čtení, způsobených dyslexií.",
"Accessibility" : "Zpřístupnění",

View File

@ -2,6 +2,7 @@
"Dark theme" : "Tmavý motiv vzhledu",
"A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Tmavý motiv vzhledu pro ulevení vašim očím snížením celkové svítivosti a jasu. Zatím ještě není hotové, takže hlaste jakékoli problémy, se kterými se potkáte.",
"High contrast mode" : "Režim vysokého kontrastu",
"A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "Mód s vysokým kontrastem pro zjednodušení vaší navigace. Vizuální kvalita bude omezena, ale jasnost bude zlepšena.",
"Dyslexia font" : "Písmo pro dyslektiky",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic je svobodné písmo navržené pro omezení vlivu některých běžných poruch čtení, způsobených dyslexií.",
"Accessibility" : "Zpřístupnění",

View File

@ -8,7 +8,7 @@ OC.L10N.register(
"Dyslexia font" : "Legasthenie-Schriftart",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic ist eine freie Schriftart, die entwickelt wurde, um einige der häufigsten Lesefehler, die durch Legasthenie verursacht werden, zu reduzieren.",
"Accessibility" : "Barrierefreiheit",
"Accessibility options for nextcloud" : "Optionen r Barrierefreiheit in Nextcloud",
"Accessibility options for nextcloud" : "Optionen zur Barrierefreiheit in Nextcloud",
"Provides multiple accessibilities options to ease your use of Nextcloud" : "Bietet verschiedene Optionen für Barrierefreiheit, um die Nutzung von Nextcloud zu erleichtern.",
"Web Content Accessibility Guidelines" : "Richtlinien für die Barrierefreiheit von Webinhalten",
"our issue tracker" : "Unser Problemverfolgungssystem",

View File

@ -6,7 +6,7 @@
"Dyslexia font" : "Legasthenie-Schriftart",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic ist eine freie Schriftart, die entwickelt wurde, um einige der häufigsten Lesefehler, die durch Legasthenie verursacht werden, zu reduzieren.",
"Accessibility" : "Barrierefreiheit",
"Accessibility options for nextcloud" : "Optionen r Barrierefreiheit in Nextcloud",
"Accessibility options for nextcloud" : "Optionen zur Barrierefreiheit in Nextcloud",
"Provides multiple accessibilities options to ease your use of Nextcloud" : "Bietet verschiedene Optionen für Barrierefreiheit, um die Nutzung von Nextcloud zu erleichtern.",
"Web Content Accessibility Guidelines" : "Richtlinien für die Barrierefreiheit von Webinhalten",
"our issue tracker" : "Unser Problemverfolgungssystem",

View File

@ -2,7 +2,7 @@ OC.L10N.register(
"accessibility",
{
"Dark theme" : "Donker thema",
"A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Een donker thema dat je ogen verlicht door de lichtsterkte en helderheid te verminderen. Dit thema is nog in ontwikkeling, dus we horen graag van je als je fouten tegenkomt.",
"A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Een donker thema dat minder licht op je ogen is door de lichtsterkte en helderheid te verminderen. Dit thema is nog in ontwikkeling, dus we horen graag van je als je fouten tegenkomt.",
"High contrast mode" : "Hoog contrast modus",
"A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "Een thema met hoog contrast dat de navigatie vergemakkelijkt. De visuele kwaliteit vermindert, maar de duidelijkheid neemt toe.",
"Dyslexia font" : "Dyslexie-lettertype",

View File

@ -1,6 +1,6 @@
{ "translations": {
"Dark theme" : "Donker thema",
"A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Een donker thema dat je ogen verlicht door de lichtsterkte en helderheid te verminderen. Dit thema is nog in ontwikkeling, dus we horen graag van je als je fouten tegenkomt.",
"A dark theme to ease your eyes by reducing the overall luminosity and brightness. It is still under development, so please report any issues you may find." : "Een donker thema dat minder licht op je ogen is door de lichtsterkte en helderheid te verminderen. Dit thema is nog in ontwikkeling, dus we horen graag van je als je fouten tegenkomt.",
"High contrast mode" : "Hoog contrast modus",
"A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "Een thema met hoog contrast dat de navigatie vergemakkelijkt. De visuele kwaliteit vermindert, maar de duidelijkheid neemt toe.",
"Dyslexia font" : "Dyslexie-lettertype",

View File

@ -19,4 +19,6 @@
*
*/
$app = new \OCA\CloudFederationAPI\AppInfo\Application();
use OCA\CloudFederationAPI\AppInfo\Application;
\OC::$server->query(Application::class);

View File

@ -21,5 +21,4 @@
*
*/
$application = new \OCA\Comments\AppInfo\Application();
$application->register();
\OC::$server->query(\OCA\Comments\AppInfo\Application::class);

View File

@ -16,6 +16,7 @@ return array(
'OCA\\Comments\\EventHandler' => $baseDir . '/../lib/EventHandler.php',
'OCA\\Comments\\JSSettingsHelper' => $baseDir . '/../lib/JSSettingsHelper.php',
'OCA\\Comments\\Listener\\LoadAdditionalScripts' => $baseDir . '/../lib/Listener/LoadAdditionalScripts.php',
'OCA\\Comments\\Listener\\LoadSidebarScripts' => $baseDir . '/../lib/Listener/LoadSidebarScripts.php',
'OCA\\Comments\\Notification\\Listener' => $baseDir . '/../lib/Notification/Listener.php',
'OCA\\Comments\\Notification\\Notifier' => $baseDir . '/../lib/Notification/Notifier.php',
'OCA\\Comments\\Search\\Provider' => $baseDir . '/../lib/Search/Provider.php',

View File

@ -31,6 +31,7 @@ class ComposerStaticInitComments
'OCA\\Comments\\EventHandler' => __DIR__ . '/..' . '/../lib/EventHandler.php',
'OCA\\Comments\\JSSettingsHelper' => __DIR__ . '/..' . '/../lib/JSSettingsHelper.php',
'OCA\\Comments\\Listener\\LoadAdditionalScripts' => __DIR__ . '/..' . '/../lib/Listener/LoadAdditionalScripts.php',
'OCA\\Comments\\Listener\\LoadSidebarScripts' => __DIR__ . '/..' . '/../lib/Listener/LoadSidebarScripts.php',
'OCA\\Comments\\Notification\\Listener' => __DIR__ . '/..' . '/../lib/Notification/Listener.php',
'OCA\\Comments\\Notification\\Notifier' => __DIR__ . '/..' . '/../lib/Notification/Notifier.php',
'OCA\\Comments\\Search\\Provider' => __DIR__ . '/..' . '/../lib/Search/Provider.php',

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -10,7 +10,7 @@ OC.L10N.register(
"%1$s commented on %2$s" : "%1$s komentis %2$s",
"{author} commented on {file}" : "{author} komentis pri {file}",
"<strong>Comments</strong> for files" : "<strong>Komentoj</strong> por dosieroj",
"You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "Vi estis menciita en „{file}“, en komento de uzanto, kiu ekde tiam estis forigita",
"You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "Vi estis menciita en „{file}“, en komento de uzanto, kiu poste estis forigita",
"{user} mentioned you in a comment on “{file}”" : "{user} menciis vin en komento pri „{file}“",
"Files app plugin to add comments to files" : "Kromprogramo por la aplikaĵo „Dosieroj“ por aldoni komentojn al dosieroj",
"Edit comment" : "Redakti komenton",

View File

@ -8,7 +8,7 @@
"%1$s commented on %2$s" : "%1$s komentis %2$s",
"{author} commented on {file}" : "{author} komentis pri {file}",
"<strong>Comments</strong> for files" : "<strong>Komentoj</strong> por dosieroj",
"You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "Vi estis menciita en „{file}“, en komento de uzanto, kiu ekde tiam estis forigita",
"You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "Vi estis menciita en „{file}“, en komento de uzanto, kiu poste estis forigita",
"{user} mentioned you in a comment on “{file}”" : "{user} menciis vin en komento pri „{file}“",
"Files app plugin to add comments to files" : "Kromprogramo por la aplikaĵo „Dosieroj“ por aldoni komentojn al dosieroj",
"Edit comment" : "Redakti komenton",

View File

@ -27,6 +27,7 @@ OC.L10N.register(
"Error occurred while updating comment with id {id}" : "Ocorreu um erro ao tentar atualizar o comentário com o id {id}",
"Error occurred while posting comment" : "Ocorreu um erro ao tentar publicar o comentário",
"_%n unread comment_::_%n unread comments_" : ["%n comentários por ler","%n comentários por ler"],
"_1 new comment_::_{unread} new comments_" : ["1 novo comentário","{unread} novos comentários"],
"Comment" : "Comentário"
},
"nplurals=2; plural=(n != 1);");

View File

@ -25,6 +25,7 @@
"Error occurred while updating comment with id {id}" : "Ocorreu um erro ao tentar atualizar o comentário com o id {id}",
"Error occurred while posting comment" : "Ocorreu um erro ao tentar publicar o comentário",
"_%n unread comment_::_%n unread comments_" : ["%n comentários por ler","%n comentários por ler"],
"_1 new comment_::_{unread} new comments_" : ["1 novo comentário","{unread} novos comentários"],
"Comment" : "Comentário"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

View File

@ -12,6 +12,7 @@ OC.L10N.register(
"<strong>Comments</strong> for files" : "<strong>Comentarii</strong> la fișiere",
"You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "Ai fost mentionat pe “{file}”, de un utilizator care a fost șters între timp",
"{user} mentioned you in a comment on “{file}”" : "{user} te-a menționat într-un comentariu la ”{file}”",
"Files app plugin to add comments to files" : "Plugin pentru aplicația de fișiere pentru adăugarea de comentarii",
"Edit comment" : "Editează comentariul",
"Delete comment" : "Șterge comentariul",
"New comment …" : "Comentariu nou...",
@ -22,10 +23,11 @@ OC.L10N.register(
"More comments …" : "Mai multe comentarii...",
"Save" : "Salvează",
"Allowed characters {count} of {max}" : "Caractere admise {count} din {max}",
"Error occurred while retrieving comment with ID {id}" : "Eroare la încărcarea comentariului cu ID-ul {id}",
"Error occurred while updating comment with id {id}" : "Eroare la actualizarea comentariului cu id-ul {id}",
"Error occurred while posting comment" : "Eroare la postarea comentariului",
"_%n unread comment_::_%n unread comments_" : ["%n comentariu necitit","%n comentarii necitite","%n comentarii necitite"],
"_1 new comment_::_{unread} new comments_" : ["1 nou comentariu","{unread} noi comentarii","{unread} noi comentarii"],
"_1 new comment_::_{unread} new comments_" : ["1 nou comentariu","{unread} noi comentarii","{unread} comentarii noi"],
"Comment" : "Comentariu"
},
"nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));");

View File

@ -10,6 +10,7 @@
"<strong>Comments</strong> for files" : "<strong>Comentarii</strong> la fișiere",
"You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "Ai fost mentionat pe “{file}”, de un utilizator care a fost șters între timp",
"{user} mentioned you in a comment on “{file}”" : "{user} te-a menționat într-un comentariu la ”{file}”",
"Files app plugin to add comments to files" : "Plugin pentru aplicația de fișiere pentru adăugarea de comentarii",
"Edit comment" : "Editează comentariul",
"Delete comment" : "Șterge comentariul",
"New comment …" : "Comentariu nou...",
@ -20,10 +21,11 @@
"More comments …" : "Mai multe comentarii...",
"Save" : "Salvează",
"Allowed characters {count} of {max}" : "Caractere admise {count} din {max}",
"Error occurred while retrieving comment with ID {id}" : "Eroare la încărcarea comentariului cu ID-ul {id}",
"Error occurred while updating comment with id {id}" : "Eroare la actualizarea comentariului cu id-ul {id}",
"Error occurred while posting comment" : "Eroare la postarea comentariului",
"_%n unread comment_::_%n unread comments_" : ["%n comentariu necitit","%n comentarii necitite","%n comentarii necitite"],
"_1 new comment_::_{unread} new comments_" : ["1 nou comentariu","{unread} noi comentarii","{unread} noi comentarii"],
"_1 new comment_::_{unread} new comments_" : ["1 nou comentariu","{unread} noi comentarii","{unread} comentarii noi"],
"Comment" : "Comentariu"
},"pluralForm" :"nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));"
}

View File

@ -2,10 +2,17 @@ OC.L10N.register(
"comments",
{
"Comments" : "Opombe",
"You commented" : "Vaša opomba",
"%1$s commented" : "%1$s opomb",
"%1$s commented on %2$s" : "%1$s opomb ob %2$s",
"You commented" : "Napišete opombo",
"%1$s commented" : "%1$s napiše opombo",
"{author} commented" : "{author} vpiše opombo",
"You commented on %1$s" : "Napišete opombo za %1$s",
"You commented on {file}" : "Napišete opombo na {file}",
"%1$s commented on %2$s" : "%1$s napiše opombo na %2$s",
"{author} commented on {file}" : "{author} napiše opombo na {file}",
"<strong>Comments</strong> for files" : "<strong>Opombe</strong> za datoteke",
"You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "Uporabnik, ki je sicer že izbrisan, vas omeni v opombi k datoteki »{file}«.",
"{user} mentioned you in a comment on “{file}”" : "{user} vas omeni v opombi na »{file}«",
"Files app plugin to add comments to files" : "Vstavek programa Datoteke za dodajanje opomb k datotekam",
"Edit comment" : "Uredi opombo",
"Delete comment" : "Izbriši opombo",
"New comment …" : "Nova opomba ...",
@ -16,6 +23,7 @@ OC.L10N.register(
"More comments …" : "Več opomb ...",
"Save" : "Shrani",
"Allowed characters {count} of {max}" : "Dovoljeni znaki: {count} od {max}",
"Error occurred while retrieving comment with ID {id}" : "Prišlo je do napake med pridobivanjem opombe z ID {id}",
"Error occurred while updating comment with id {id}" : "Prišlo je do napake med posodabljanjem opombe z oznako {id}",
"Error occurred while posting comment" : "Prišlo je do napake med objavo opombe",
"_%n unread comment_::_%n unread comments_" : ["%n neprebrana opomba","%n neprebrani opombi","%n neprebrane opombe","%n neprebranih opomb"],

View File

@ -1,9 +1,16 @@
{ "translations": {
"Comments" : "Opombe",
"You commented" : "Vaša opomba",
"%1$s commented" : "%1$s opomb",
"%1$s commented on %2$s" : "%1$s opomb ob %2$s",
"You commented" : "Napišete opombo",
"%1$s commented" : "%1$s napiše opombo",
"{author} commented" : "{author} vpiše opombo",
"You commented on %1$s" : "Napišete opombo za %1$s",
"You commented on {file}" : "Napišete opombo na {file}",
"%1$s commented on %2$s" : "%1$s napiše opombo na %2$s",
"{author} commented on {file}" : "{author} napiše opombo na {file}",
"<strong>Comments</strong> for files" : "<strong>Opombe</strong> za datoteke",
"You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "Uporabnik, ki je sicer že izbrisan, vas omeni v opombi k datoteki »{file}«.",
"{user} mentioned you in a comment on “{file}”" : "{user} vas omeni v opombi na »{file}«",
"Files app plugin to add comments to files" : "Vstavek programa Datoteke za dodajanje opomb k datotekam",
"Edit comment" : "Uredi opombo",
"Delete comment" : "Izbriši opombo",
"New comment …" : "Nova opomba ...",
@ -14,6 +21,7 @@
"More comments …" : "Več opomb ...",
"Save" : "Shrani",
"Allowed characters {count} of {max}" : "Dovoljeni znaki: {count} od {max}",
"Error occurred while retrieving comment with ID {id}" : "Prišlo je do napake med pridobivanjem opombe z ID {id}",
"Error occurred while updating comment with id {id}" : "Prišlo je do napake med posodabljanjem opombe z oznako {id}",
"Error occurred while posting comment" : "Prišlo je do napake med objavo opombe",
"_%n unread comment_::_%n unread comments_" : ["%n neprebrana opomba","%n neprebrani opombi","%n neprebrane opombe","%n neprebranih opomb"],

View File

@ -12,7 +12,7 @@ OC.L10N.register(
"<strong>Comments</strong> for files" : "<strong>Kommentarer</strong> för filer",
"You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "Du nämndes på “{file}” i en kommentar av en användare som nu har tagits bort",
"{user} mentioned you in a comment on “{file}”" : "{user} nämnde dig i en kommentar på \"{file}\"",
"Files app plugin to add comments to files" : "Filapp-plugin för att lägga till kommentarer till filer",
"Files app plugin to add comments to files" : "Filer-appinsticksmodul för att lägga till kommentarer till filer",
"Edit comment" : "Redigera kommentar",
"Delete comment" : "Radera kommentar",
"New comment …" : "Ny kommentar ...",

View File

@ -10,7 +10,7 @@
"<strong>Comments</strong> for files" : "<strong>Kommentarer</strong> för filer",
"You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "Du nämndes på “{file}” i en kommentar av en användare som nu har tagits bort",
"{user} mentioned you in a comment on “{file}”" : "{user} nämnde dig i en kommentar på \"{file}\"",
"Files app plugin to add comments to files" : "Filapp-plugin för att lägga till kommentarer till filer",
"Files app plugin to add comments to files" : "Filer-appinsticksmodul för att lägga till kommentarer till filer",
"Edit comment" : "Redigera kommentar",
"Delete comment" : "Radera kommentar",
"New comment …" : "Ny kommentar ...",

View File

@ -1,8 +1,9 @@
<?php
/**
*
* @copyright Copyright (c) 2016, Arthur Schiwon <blizzz@arthur-schiwon.de>
*
* @author Arthur Schiwon <blizzz@arthur-schiwon.de>
* @author John Molakvoæ <skjnldsv@protonmail.com>
*
* @license GNU AGPL version 3 or any later version
*
@ -27,33 +28,39 @@ use OCA\Comments\Controller\Notifications;
use OCA\Comments\EventHandler;
use OCA\Comments\JSSettingsHelper;
use OCA\Comments\Listener\LoadAdditionalScripts;
use OCA\Comments\Listener\LoadSidebarScripts;
use OCA\Comments\Notification\Notifier;
use OCA\Comments\Search\Provider;
use OCA\Files\Event\LoadAdditionalScriptsEvent;
use OCA\Files\Event\LoadSidebar;
use OCP\AppFramework\App;
use OCP\Comments\CommentsEntityEvent;
use OCP\EventDispatcher\IEventDispatcher;
use OCP\Util;
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
class Application extends App {
const APP_ID = 'comments';
public function __construct (array $urlParams = array()) {
parent::__construct('comments', $urlParams);
parent::__construct(self::APP_ID, $urlParams);
$container = $this->getContainer();
$container->registerAlias('NotificationsController', Notifications::class);
$jsSettingsHelper = new JSSettingsHelper($container->getServer());
Util::connectHook('\OCP\Config', 'js', $jsSettingsHelper, 'extend');
$this->register();
}
public function register() {
private function register() {
$server = $this->getContainer()->getServer();
/** @var IEventDispatcher $newDispatcher */
$dispatcher = $server->query(IEventDispatcher::class);
$this->registerSidebarScripts($dispatcher);
$this->registerEventsScripts($dispatcher);
$this->registerDavEntity($dispatcher);
$this->registerNotifier();
$this->registerCommentsEventHandler();
@ -61,8 +68,9 @@ class Application extends App {
$server->getSearch()->registerProvider(Provider::class, ['apps' => ['files']]);
}
protected function registerSidebarScripts(IEventDispatcher $dispatcher) {
protected function registerEventsScripts(IEventDispatcher $dispatcher) {
$dispatcher->addServiceListener(LoadAdditionalScriptsEvent::class, LoadAdditionalScripts::class);
$dispatcher->addServiceListener(LoadSidebar::class, LoadSidebarScripts::class);
}
protected function registerDavEntity(IEventDispatcher $dispatcher) {

View File

@ -4,6 +4,7 @@ declare(strict_types=1);
* @copyright Copyright (c) 2019, Roeland Jago Douma <roeland@famdouma.nl>
*
* @author Roeland Jago Douma <roeland@famdouma.nl>
* @author John Molakvoæ <skjnldsv@protonmail.com>
*
* @license GNU AGPL version 3 or any later version
*
@ -24,6 +25,7 @@ declare(strict_types=1);
namespace OCA\Comments\Listener;
use OCA\Comments\AppInfo\Application;
use OCA\Files\Event\LoadAdditionalScriptsEvent;
use OCP\EventDispatcher\Event;
use OCP\EventDispatcher\IEventListener;
@ -35,7 +37,9 @@ class LoadAdditionalScripts implements IEventListener {
return;
}
Util::addScript('comments', 'comments');
// TODO: make sure to only include the sidebar script when
// we properly split it between files list and sidebar
Util::addScript(Application::APP_ID, 'comments');
}
}

View File

@ -1,7 +1,10 @@
<?php
declare(strict_types=1);
/**
* @copyright 2017, Roeland Jago Douma <roeland@famdouma.nl>
* @copyright Copyright (c) 2019, Roeland Jago Douma <roeland@famdouma.nl>
*
* @author Roeland Jago Douma <roeland@famdouma.nl>
* @author John Molakvoæ <skjnldsv@protonmail.com>
*
* @license GNU AGPL version 3 or any later version
*
@ -20,35 +23,23 @@
*
*/
(function() {
if (!OC.Share) {
OC.Share = {}
namespace OCA\Comments\Listener;
use OCA\Comments\AppInfo\Application;
use OCA\Files\Event\LoadSidebar;
use OCP\EventDispatcher\Event;
use OCP\EventDispatcher\IEventListener;
use OCP\Util;
class LoadSidebarScripts implements IEventListener {
public function handle(Event $event): void {
if (!($event instanceof LoadSidebar)) {
return;
}
// TODO: make sure to only include the sidebar script when
// we properly split it between files list and sidebar
Util::addScript(Application::APP_ID, 'comments');
}
OC.Share.Social = {}
var SocialModel = OC.Backbone.Model.extend({
defaults: {
/** used for sorting social buttons */
key: null,
/** url to open, {{reference}} will be replaced with the link */
url: null,
/** Name to show in the tooltip */
name: null,
/** Icon class to display */
iconClass: null,
/** Open in new windows */
newWindow: true
}
})
OC.Share.Social.Model = SocialModel
var SocialCollection = OC.Backbone.Collection.extend({
model: OC.Share.Social.Model,
comparator: 'key'
})
OC.Share.Social.Collection = new SocialCollection()
})()
}

View File

@ -104,7 +104,7 @@
actionHandler: function(fileName, context) {
context.$file.find('.action-comment').tooltip('hide')
// open sidebar in comments section
context.fileList.showDetailsView(fileName, 'commentsTabView')
context.fileList.showDetailsView(fileName, 'comments')
}
})

View File

@ -74,7 +74,7 @@ describe('OCA.Comments.FilesPlugin tests', function() {
expect(sidebarStub.calledOnce).toEqual(true);
expect(sidebarStub.lastCall.args[0]).toEqual('One.txt');
expect(sidebarStub.lastCall.args[1]).toEqual('commentsTabView');
expect(sidebarStub.lastCall.args[1]).toEqual('comments');
});
});
describe('elementToFile', function() {

View File

@ -29,7 +29,8 @@ use Symfony\Component\EventDispatcher\GenericEvent;
\OC_App::loadApps(['dav']);
$app = new Application();
/** @var Application $app */
$app = \OC::$server->query(Application::class);
$app->registerHooks();
\OC::$server->registerService('CardDAVSyncService', function() use ($app) {

94
apps/dav/l10n/mk.js Normal file
View File

@ -0,0 +1,94 @@
OC.L10N.register(
"dav",
{
"Calendar" : "Календар",
"Todos" : "Задачи",
"Personal" : "Лично",
"{actor} created calendar {calendar}" : "{actor} креираше календар {calendar}",
"You created calendar {calendar}" : "Вие креиравте календар {calendar}",
"{actor} deleted calendar {calendar}" : "{actor} избриша календар {calendar}",
"You deleted calendar {calendar}" : "Вие избришавте календар {calendar}",
"{actor} updated calendar {calendar}" : "{actor} ажурираше календар {calendar}",
"You updated calendar {calendar}" : "Вие ажуриравте календар {calendar}",
"You shared calendar {calendar} as public link" : "Споделивте календар {calendar} како јавен линк",
"You removed public link for calendar {calendar}" : "Одстранивте јавен за календар {calendar}",
"{actor} shared calendar {calendar} with you" : "{actor} сподели календар {calendar} со вас",
"You shared calendar {calendar} with {user}" : "Вие споделивте календар {calendar} со {user}",
"{actor} shared calendar {calendar} with {user}" : "{actor} сподели календар {calendar} со {user}",
"{actor} unshared calendar {calendar} from you" : "{actor} го одстрани споделувањето на календар {calendar} со вас",
"You unshared calendar {calendar} from {user}" : "Вие го одстранивте споделувањето на календар {calendar} со {user}",
"{actor} unshared calendar {calendar} from {user}" : "{actor} го одстрани споделувањето на календар {calendar} со {user}",
"{actor} unshared calendar {calendar} from themselves" : "{actor} го одстрани споделувањето на календар {calendar} со сите",
"You shared calendar {calendar} with group {group}" : "Вие споделивте календар {calendar} со група {group}",
"{actor} shared calendar {calendar} with group {group}" : "{actor} сподели календар {calendar} со група {group}",
"You unshared calendar {calendar} from group {group}" : "Вие го одстранивте споделувањето на календар {calendar} од група {group}",
"{actor} unshared calendar {calendar} from group {group}" : "{actor} го одстрани споделувањето на календар {calendar} од група {group}",
"{actor} created event {event} in calendar {calendar}" : "{actor} креираше настан {event} во календар {calendar}",
"You created event {event} in calendar {calendar}" : "Вие креиравте настан {event} во календар {calendar}",
"{actor} deleted event {event} from calendar {calendar}" : "{actor} избриша настан {event} од календар {calendar}",
"You deleted event {event} from calendar {calendar}" : "Вие избришавте настан {event} од календар {calendar}",
"{actor} updated event {event} in calendar {calendar}" : "{actor} ажурирање настан {event} во календар {calendar}",
"You updated event {event} in calendar {calendar}" : "Вие ажуриравте настан {event} во календар {calendar}",
"Busy" : "Зафатен",
"A <strong>calendar</strong> was modified" : "<strong>Календарот</strong> е променет",
"A calendar <strong>event</strong> was modified" : "Изменет е <strong>настан</strong> во календарот",
"A calendar <strong>todo</strong> was modified" : "Изменета е <strong>задача</strong> во календарот",
"Death of %s" : "Смрт на %s",
"Contact birthdays" : "Родендени на контактите",
"Calendar:" : "Календар:",
"Date:" : "Датум:",
"Where:" : "Каде: ",
"Description:" : "Опис:",
"Untitled event" : "Насловен настан",
"_%n year_::_%n years_" : ["една година","%n години"],
"_%n month_::_%n months_" : ["еден месец","%n месеци"],
"_%n day_::_%n days_" : ["еден ден","%n дена"],
"_%n hour_::_%n hours_" : ["еден час","%n часа"],
"_%n minute_::_%n minutes_" : ["една минута","%n минути"],
"%s (in %s)" : "%s (во %s)",
"%s (%s ago)" : "%s (пред %s)",
"Calendar: %s" : "Календар: %s",
"Date: %s" : "Датум: %s",
"Description: %s" : "Опис: %s",
"Where: %s" : "Каде: %s",
"%1$s via %2$s" : "%1$s преку %2$s",
"Invitation canceled" : "Поканата е откажана",
"Hello %s," : "Здраво %s,",
"The meeting »%1$s« with %2$s was canceled." : "Состанокот »%1$s« со %2$s е откажан.",
"Invitation updated" : "Поканата е ажурирана",
"The meeting »%1$s« with %2$s was updated." : "Состанокот »%1$s« со %2$s е ажуриран.",
"%1$s invited you to »%2$s«" : "%1$s ве покани вас »%2$s«",
"When:" : "Кога:",
"Link:" : "Линк:",
"Accept" : "Прифати",
"Decline" : "Одбиј",
"More options …" : "Повеќе опции ...",
"More options at %s" : "Повеќе опции на %s",
"Contacts" : "Контакти",
"Your %s needs to be configured to use HTTPS in order to use CalDAV and CardDAV with iOS/macOS." : "Вашиот %s треба да биде конфигуриран за да користи HTTPS за да може да се користи CalDAV и CardDAV на iOS/macOS.",
"Configures a CalDAV account" : "Конфигурирај CalDAV сметка",
"Configures a CardDAV account" : "Конфигурирај CardDAV сметка",
"WebDAV" : "WebDAV",
"WebDAV endpoint" : "WebDAV крајна точка",
"Technical details" : "Технички детали",
"Remote Address: %s" : "Далечинкска Адреса: %s",
"Request ID: %s" : "Барање број: %s",
"There was an error updating your attendance status." : "Настана грешка при ажурирање на вашето присуство.",
"Please contact the organizer directly." : "Контактирајте го организаторот директно.",
"Are you accepting the invitation?" : "Дали ја прифаќате поканата?",
"Tentative" : "Прелиминарен",
"Save" : "Зачувај",
"Your attendance was updated successfully." : "Вашето присуство е успешно ажурирано.",
"Calendar server" : "Календар сервер",
"Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}." : "Исто така инсталирајте ја {calendarappstoreopen}Календар апликацијата{linkclose}, или {calendardocopen}поврзете го вашиот компјутер & мобилен за синхронизација ↗{linkclose}.",
"Send invitations to attendees" : "Испрати покани на учесниците",
"Please make sure to properly set up {emailopen}the email server{linkclose}." : "Бидете сигурни дека правилно се поставени {emailopen}параметрите за Е-пошта{linkclose}.",
"Automatically generate a birthday calendar" : "Автоматско генерирање на календар со родендени",
"Birthday calendars will be generated by a background job." : "Календарот со родендени ќе се генерира преку задачите што се извршуваат во позадина.",
"Hence they will not be available immediately after enabling but will show up after some time." : "Оттука, тие нема да бидат достапни веднаш по овозможувањето, но ќе се појават по некое време.",
"Send notifications for events" : "Испрати известувања за настани",
"Notifications will be send through background jobs, so these need to happen often enough." : "Известувањата ќе бидат испраќани преку задачите што се извршуваат во позадина, така што тие треба да се случуваат доволно често.",
"Enable notifications for events via push" : "Овозможи известувања за настани преку push",
"Please make sure to properly set up the email settings above." : "Бидете сигурни дека правилно се поставени параметрите за Е-пошта."
},
"nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;");

92
apps/dav/l10n/mk.json Normal file
View File

@ -0,0 +1,92 @@
{ "translations": {
"Calendar" : "Календар",
"Todos" : "Задачи",
"Personal" : "Лично",
"{actor} created calendar {calendar}" : "{actor} креираше календар {calendar}",
"You created calendar {calendar}" : "Вие креиравте календар {calendar}",
"{actor} deleted calendar {calendar}" : "{actor} избриша календар {calendar}",
"You deleted calendar {calendar}" : "Вие избришавте календар {calendar}",
"{actor} updated calendar {calendar}" : "{actor} ажурираше календар {calendar}",
"You updated calendar {calendar}" : "Вие ажуриравте календар {calendar}",
"You shared calendar {calendar} as public link" : "Споделивте календар {calendar} како јавен линк",
"You removed public link for calendar {calendar}" : "Одстранивте јавен за календар {calendar}",
"{actor} shared calendar {calendar} with you" : "{actor} сподели календар {calendar} со вас",
"You shared calendar {calendar} with {user}" : "Вие споделивте календар {calendar} со {user}",
"{actor} shared calendar {calendar} with {user}" : "{actor} сподели календар {calendar} со {user}",
"{actor} unshared calendar {calendar} from you" : "{actor} го одстрани споделувањето на календар {calendar} со вас",
"You unshared calendar {calendar} from {user}" : "Вие го одстранивте споделувањето на календар {calendar} со {user}",
"{actor} unshared calendar {calendar} from {user}" : "{actor} го одстрани споделувањето на календар {calendar} со {user}",
"{actor} unshared calendar {calendar} from themselves" : "{actor} го одстрани споделувањето на календар {calendar} со сите",
"You shared calendar {calendar} with group {group}" : "Вие споделивте календар {calendar} со група {group}",
"{actor} shared calendar {calendar} with group {group}" : "{actor} сподели календар {calendar} со група {group}",
"You unshared calendar {calendar} from group {group}" : "Вие го одстранивте споделувањето на календар {calendar} од група {group}",
"{actor} unshared calendar {calendar} from group {group}" : "{actor} го одстрани споделувањето на календар {calendar} од група {group}",
"{actor} created event {event} in calendar {calendar}" : "{actor} креираше настан {event} во календар {calendar}",
"You created event {event} in calendar {calendar}" : "Вие креиравте настан {event} во календар {calendar}",
"{actor} deleted event {event} from calendar {calendar}" : "{actor} избриша настан {event} од календар {calendar}",
"You deleted event {event} from calendar {calendar}" : "Вие избришавте настан {event} од календар {calendar}",
"{actor} updated event {event} in calendar {calendar}" : "{actor} ажурирање настан {event} во календар {calendar}",
"You updated event {event} in calendar {calendar}" : "Вие ажуриравте настан {event} во календар {calendar}",
"Busy" : "Зафатен",
"A <strong>calendar</strong> was modified" : "<strong>Календарот</strong> е променет",
"A calendar <strong>event</strong> was modified" : "Изменет е <strong>настан</strong> во календарот",
"A calendar <strong>todo</strong> was modified" : "Изменета е <strong>задача</strong> во календарот",
"Death of %s" : "Смрт на %s",
"Contact birthdays" : "Родендени на контактите",
"Calendar:" : "Календар:",
"Date:" : "Датум:",
"Where:" : "Каде: ",
"Description:" : "Опис:",
"Untitled event" : "Насловен настан",
"_%n year_::_%n years_" : ["една година","%n години"],
"_%n month_::_%n months_" : ["еден месец","%n месеци"],
"_%n day_::_%n days_" : ["еден ден","%n дена"],
"_%n hour_::_%n hours_" : ["еден час","%n часа"],
"_%n minute_::_%n minutes_" : ["една минута","%n минути"],
"%s (in %s)" : "%s (во %s)",
"%s (%s ago)" : "%s (пред %s)",
"Calendar: %s" : "Календар: %s",
"Date: %s" : "Датум: %s",
"Description: %s" : "Опис: %s",
"Where: %s" : "Каде: %s",
"%1$s via %2$s" : "%1$s преку %2$s",
"Invitation canceled" : "Поканата е откажана",
"Hello %s," : "Здраво %s,",
"The meeting »%1$s« with %2$s was canceled." : "Состанокот »%1$s« со %2$s е откажан.",
"Invitation updated" : "Поканата е ажурирана",
"The meeting »%1$s« with %2$s was updated." : "Состанокот »%1$s« со %2$s е ажуриран.",
"%1$s invited you to »%2$s«" : "%1$s ве покани вас »%2$s«",
"When:" : "Кога:",
"Link:" : "Линк:",
"Accept" : "Прифати",
"Decline" : "Одбиј",
"More options …" : "Повеќе опции ...",
"More options at %s" : "Повеќе опции на %s",
"Contacts" : "Контакти",
"Your %s needs to be configured to use HTTPS in order to use CalDAV and CardDAV with iOS/macOS." : "Вашиот %s треба да биде конфигуриран за да користи HTTPS за да може да се користи CalDAV и CardDAV на iOS/macOS.",
"Configures a CalDAV account" : "Конфигурирај CalDAV сметка",
"Configures a CardDAV account" : "Конфигурирај CardDAV сметка",
"WebDAV" : "WebDAV",
"WebDAV endpoint" : "WebDAV крајна точка",
"Technical details" : "Технички детали",
"Remote Address: %s" : "Далечинкска Адреса: %s",
"Request ID: %s" : "Барање број: %s",
"There was an error updating your attendance status." : "Настана грешка при ажурирање на вашето присуство.",
"Please contact the organizer directly." : "Контактирајте го организаторот директно.",
"Are you accepting the invitation?" : "Дали ја прифаќате поканата?",
"Tentative" : "Прелиминарен",
"Save" : "Зачувај",
"Your attendance was updated successfully." : "Вашето присуство е успешно ажурирано.",
"Calendar server" : "Календар сервер",
"Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}." : "Исто така инсталирајте ја {calendarappstoreopen}Календар апликацијата{linkclose}, или {calendardocopen}поврзете го вашиот компјутер & мобилен за синхронизација ↗{linkclose}.",
"Send invitations to attendees" : "Испрати покани на учесниците",
"Please make sure to properly set up {emailopen}the email server{linkclose}." : "Бидете сигурни дека правилно се поставени {emailopen}параметрите за Е-пошта{linkclose}.",
"Automatically generate a birthday calendar" : "Автоматско генерирање на календар со родендени",
"Birthday calendars will be generated by a background job." : "Календарот со родендени ќе се генерира преку задачите што се извршуваат во позадина.",
"Hence they will not be available immediately after enabling but will show up after some time." : "Оттука, тие нема да бидат достапни веднаш по овозможувањето, но ќе се појават по некое време.",
"Send notifications for events" : "Испрати известувања за настани",
"Notifications will be send through background jobs, so these need to happen often enough." : "Известувањата ќе бидат испраќани преку задачите што се извршуваат во позадина, така што тие треба да се случуваат доволно често.",
"Enable notifications for events via push" : "Овозможи известувања за настани преку push",
"Please make sure to properly set up the email settings above." : "Бидете сигурни дека правилно се поставени параметрите за Е-пошта."
},"pluralForm" :"nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;"
}

View File

@ -97,7 +97,7 @@ OC.L10N.register(
"Birthday calendars will be generated by a background job." : "Födelsedagskalender kommer skapas som ett bakgrundsjobb.",
"Hence they will not be available immediately after enabling but will show up after some time." : "Därför kommer de inte vara tillgängliga direkt efter aktivering men kommer dyka upp efter en tid.",
"Send notifications for events" : "Skicka aviseringar för händelser",
"Notifications will be send through background jobs, so these need to happen often enough." : "Meddelanden skickas genom bakgrundsjobb, så dessa måste ske tillräckligt ofta.",
"Notifications will be send through background jobs, so these need to happen often enough." : "Aviseringar skickas genom bakgrundsjobb, så dessa måste ske tillräckligt ofta.",
"Enable notifications for events via push" : "Aktivera aviseringar för händelser via push",
"Please make sure to properly set up the email settings above." : "Vänligen säkerställ att epost-inställningarna ovan är korrekt angivna"
},

View File

@ -95,7 +95,7 @@
"Birthday calendars will be generated by a background job." : "Födelsedagskalender kommer skapas som ett bakgrundsjobb.",
"Hence they will not be available immediately after enabling but will show up after some time." : "Därför kommer de inte vara tillgängliga direkt efter aktivering men kommer dyka upp efter en tid.",
"Send notifications for events" : "Skicka aviseringar för händelser",
"Notifications will be send through background jobs, so these need to happen often enough." : "Meddelanden skickas genom bakgrundsjobb, så dessa måste ske tillräckligt ofta.",
"Notifications will be send through background jobs, so these need to happen often enough." : "Aviseringar skickas genom bakgrundsjobb, så dessa måste ske tillräckligt ofta.",
"Enable notifications for events via push" : "Aktivera aviseringar för händelser via push",
"Please make sure to properly set up the email settings above." : "Vänligen säkerställ att epost-inställningarna ovan är korrekt angivna"
},"pluralForm" :"nplurals=2; plural=(n != 1);"

View File

@ -38,7 +38,7 @@ class Version1012Date20190808122342 extends SimpleMigrationStep {
* @param \Closure $schemaClosure The `\Closure` returns a `ISchemaWrapper`
* @param array $options
* @return null|ISchemaWrapper
* @since 13.0.0
* @since 17.0.0
*/
public function changeSchema(IOutput $output,
\Closure $schemaClosure,
@ -112,5 +112,7 @@ class Version1012Date20190808122342 extends SimpleMigrationStep {
return $schema;
}
return null;
}
}

View File

@ -28,7 +28,8 @@ namespace OCA\Encryption\AppInfo;
$encryptionSystemReady = \OC::$server->getEncryptionManager()->isReady();
$app = new Application();
/** @var Application $app */
$app = \OC::$server->query(Application::class);
if ($encryptionSystemReady) {
$app->registerEncryptionModule();
$app->registerHooks();

View File

@ -1,4 +1,5 @@
<?php
declare(strict_types=1);
/**
* @copyright Copyright (c) 2016, ownCloud, Inc.
*
@ -21,41 +22,37 @@
*
*/
namespace OCA\Encryption\AppInfo;
(new Application())->registerRoutes($this, array('routes' => array(
[
'name' => 'Recovery#adminRecovery',
'url' => '/ajax/adminRecovery',
'verb' => 'POST'
],
[
'name' => 'Settings#updatePrivateKeyPassword',
'url' => '/ajax/updatePrivateKeyPassword',
'verb' => 'POST'
],
[
'name' => 'Settings#setEncryptHomeStorage',
'url' => '/ajax/setEncryptHomeStorage',
'verb' => 'POST'
],
[
'name' => 'Recovery#changeRecoveryPassword',
'url' => '/ajax/changeRecoveryPassword',
'verb' => 'POST'
],
[
'name' => 'Recovery#userSetRecovery',
'url' => '/ajax/userSetRecovery',
'verb' => 'POST'
],
[
'name' => 'Status#getStatus',
'url' => '/ajax/getStatus',
'verb' => 'GET'
return [
'routes' => [
[
'name' => 'Recovery#adminRecovery',
'url' => '/ajax/adminRecovery',
'verb' => 'POST'
],
[
'name' => 'Settings#updatePrivateKeyPassword',
'url' => '/ajax/updatePrivateKeyPassword',
'verb' => 'POST'
],
[
'name' => 'Settings#setEncryptHomeStorage',
'url' => '/ajax/setEncryptHomeStorage',
'verb' => 'POST'
],
[
'name' => 'Recovery#changeRecoveryPassword',
'url' => '/ajax/changeRecoveryPassword',
'verb' => 'POST'
],
[
'name' => 'Recovery#userSetRecovery',
'url' => '/ajax/userSetRecovery',
'verb' => 'POST'
],
[
'name' => 'Status#getStatus',
'url' => '/ajax/getStatus',
'verb' => 'GET'
],
]
)));
];

View File

@ -2,7 +2,7 @@ OC.L10N.register(
"encryption",
{
"Missing recovery key password" : "Saknar lösenord för återställningsnyckel",
"Please repeat the recovery key password" : "Vänligen upprepa lösenordet för återställningsnyckel",
"Please repeat the recovery key password" : "Vänligen upprepa lösenordet för återställningsnyckeln",
"Repeated recovery key password does not match the provided recovery key password" : "Det upprepade lösenordet för återställningsnyckeln matchar inte tillhandahållna lösenordet för återställningsnyckeln",
"Recovery key successfully enabled" : "Återställningsnyckeln har framgångsrikt aktiverats",
"Could not enable recovery key. Please check your recovery key password!" : "Kunde inte aktivera återställningsnyckeln. Vänligen kontrollera ditt lösenord för återställningsnyckeln!",
@ -16,7 +16,7 @@ OC.L10N.register(
"Could not change the password. Maybe the old password was not correct." : "Kunde inte ändra lösenordet. Kanske det gamla lösenordet inte var rätt.",
"Recovery Key disabled" : "Återställningsnyckeln inaktiverad",
"Recovery Key enabled" : "Återställningsnyckeln aktiverad",
"Could not enable the recovery key, please try again or contact your administrator" : "Återställningsnyckeln kunde inte aktiveras, försök igen eller kontakta din administratör",
"Could not enable the recovery key, please try again or contact your administrator" : "Det gick inte att aktivera återställningsnyckeln, vänligen försök igen eller kontakta din administratör",
"Could not update the private key password." : "Kunde inte uppdatera lösenord för den privata nyckeln",
"The old password was not correct, please try again." : "Det gamla lösenordet var inte korrekt. Vänligen försök igen.",
"The current log-in password was not correct, please try again." : "Det nuvarande inloggningslösenordet var inte korrekt. Vänligen försök igen.",
@ -32,10 +32,11 @@ OC.L10N.register(
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Filen kan inte läsas, troligtvis är det en delad fil. Be ägaren av filen att dela den med dig igen.",
"Default encryption module" : "Krypteringsfunktion",
"Default encryption module for server-side encryption" : "Standardkrypteringsmodul för kryptering på serversidan",
"In order to use this encryption module you need to enable server-side\n\t\tencryption in the admin settings. Once enabled this module will encrypt\n\t\tall your files transparently. The encryption is based on AES 256 keys.\n\t\tThe module won't touch existing files, only new files will be encrypted\n\t\tafter server-side encryption was enabled. It is also not possible to\n\t\tdisable the encryption again and switch back to a unencrypted system.\n\t\tPlease read the documentation to know all implications before you decide\n\t\tto enable server-side encryption." : "För att kunna använda denna krypteringsmodul måste du aktivera serversidan\n\t\tkryptering i admininställningarna. När den här modulen är aktiverad kommer den att kryptera\n\t\talla dina filer transparent. Krypteringen är baserad på AES 256 nycklar.\n\t\tModulen kommer inte att röra befintliga filer, bara nya filer kommer att krypteras\n\t\tefter serversidskryptering aktiverades. Det är inte heller möjligt att\n\t\tinaktivera krypteringen igen och växla tillbaka till ett okrypterat system.\n\t\tVänligen läs dokumentationen för att veta alla konsekvenser innan du bestämmer dig\n\t\tför att aktivera kryptering på serversidan.",
"Hey there,\n\nthe admin enabled server-side-encryption. Your files were encrypted using the password '%s'.\n\nPlease login to the web interface, go to the section 'basic encryption module' of your personal settings and update your encryption password by entering this password into the 'old log-in password' field and your current login-password.\n\n" : "Hallå där, \n\nAdministratören aktiverade serverkryptering. Alla dina filer har blivit krypterade med lösenordet: %s\n\nGå till i din profil för att ändra krypteringslösenordet till ditt egna lösenord. Ange lösenordet ovan som \"Gammalt lösenord\" och ange sedan ditt egna lösenord.\n\n",
"The share will expire on %s." : "Utdelningen kommer att upphöra %s.",
"Cheers!" : "Ha de fint!",
"Hey there,<br><br>the admin enabled server-side-encryption. Your files were encrypted using the password <strong>%s</strong>.<br><br>Please login to the web interface, go to the section \"basic encryption module\" of your personal settings and update your encryption password by entering this password into the \"old log-in password\" field and your current login-password.<br><br>" : "Hallå där, <br> Administratören aktiverade serverkryptering. Alla dina filer har blivit krypterade med lösenordet: <strong>%s</ strong>. <br> Gå till i din profil för att ändra krypteringslösenordet till ditt egna lösenord. Ange lösenordet ovan som \"Gammalt lösenord\" och ange sedan ditt egna lösenord.<br>",
"Hey there,<br><br>the admin enabled server-side-encryption. Your files were encrypted using the password <strong>%s</strong>.<br><br>Please login to the web interface, go to the section \"basic encryption module\" of your personal settings and update your encryption password by entering this password into the \"old log-in password\" field and your current login-password.<br><br>" : "Hallå där, <br><br> administratören aktiverade serverkryptering. Alla dina filer har blivit krypterade med lösenordet: <strong>%s</strong>. <br><br>Vänligen logga in på webbgränssnittet, gå till avsnittet \"Grundläggande krypteringsmodul\" i dina personliga inställningar och uppdatera ditt krypteringslösenord genom att ange detta lösenord i fältet \"gammalt inloggningslösenord\" och ditt nuvarande inloggningslösenord.<br><br>",
"Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "Krypteringsappen är aktiverad men dina krypteringsnycklar har inte aktiverats, logga ut och logga in igen.",
"Encrypt the home storage" : "Kryptera alla filer i molnet",
"Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "Aktivering av det här alternativet krypterar alla filer som är lagrade på huvudlagringsplatsen, annars kommer bara filer på extern lagringsplats att krypteras",

View File

@ -1,6 +1,6 @@
{ "translations": {
"Missing recovery key password" : "Saknar lösenord för återställningsnyckel",
"Please repeat the recovery key password" : "Vänligen upprepa lösenordet för återställningsnyckel",
"Please repeat the recovery key password" : "Vänligen upprepa lösenordet för återställningsnyckeln",
"Repeated recovery key password does not match the provided recovery key password" : "Det upprepade lösenordet för återställningsnyckeln matchar inte tillhandahållna lösenordet för återställningsnyckeln",
"Recovery key successfully enabled" : "Återställningsnyckeln har framgångsrikt aktiverats",
"Could not enable recovery key. Please check your recovery key password!" : "Kunde inte aktivera återställningsnyckeln. Vänligen kontrollera ditt lösenord för återställningsnyckeln!",
@ -14,7 +14,7 @@
"Could not change the password. Maybe the old password was not correct." : "Kunde inte ändra lösenordet. Kanske det gamla lösenordet inte var rätt.",
"Recovery Key disabled" : "Återställningsnyckeln inaktiverad",
"Recovery Key enabled" : "Återställningsnyckeln aktiverad",
"Could not enable the recovery key, please try again or contact your administrator" : "Återställningsnyckeln kunde inte aktiveras, försök igen eller kontakta din administratör",
"Could not enable the recovery key, please try again or contact your administrator" : "Det gick inte att aktivera återställningsnyckeln, vänligen försök igen eller kontakta din administratör",
"Could not update the private key password." : "Kunde inte uppdatera lösenord för den privata nyckeln",
"The old password was not correct, please try again." : "Det gamla lösenordet var inte korrekt. Vänligen försök igen.",
"The current log-in password was not correct, please try again." : "Det nuvarande inloggningslösenordet var inte korrekt. Vänligen försök igen.",
@ -30,10 +30,11 @@
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Filen kan inte läsas, troligtvis är det en delad fil. Be ägaren av filen att dela den med dig igen.",
"Default encryption module" : "Krypteringsfunktion",
"Default encryption module for server-side encryption" : "Standardkrypteringsmodul för kryptering på serversidan",
"In order to use this encryption module you need to enable server-side\n\t\tencryption in the admin settings. Once enabled this module will encrypt\n\t\tall your files transparently. The encryption is based on AES 256 keys.\n\t\tThe module won't touch existing files, only new files will be encrypted\n\t\tafter server-side encryption was enabled. It is also not possible to\n\t\tdisable the encryption again and switch back to a unencrypted system.\n\t\tPlease read the documentation to know all implications before you decide\n\t\tto enable server-side encryption." : "För att kunna använda denna krypteringsmodul måste du aktivera serversidan\n\t\tkryptering i admininställningarna. När den här modulen är aktiverad kommer den att kryptera\n\t\talla dina filer transparent. Krypteringen är baserad på AES 256 nycklar.\n\t\tModulen kommer inte att röra befintliga filer, bara nya filer kommer att krypteras\n\t\tefter serversidskryptering aktiverades. Det är inte heller möjligt att\n\t\tinaktivera krypteringen igen och växla tillbaka till ett okrypterat system.\n\t\tVänligen läs dokumentationen för att veta alla konsekvenser innan du bestämmer dig\n\t\tför att aktivera kryptering på serversidan.",
"Hey there,\n\nthe admin enabled server-side-encryption. Your files were encrypted using the password '%s'.\n\nPlease login to the web interface, go to the section 'basic encryption module' of your personal settings and update your encryption password by entering this password into the 'old log-in password' field and your current login-password.\n\n" : "Hallå där, \n\nAdministratören aktiverade serverkryptering. Alla dina filer har blivit krypterade med lösenordet: %s\n\nGå till i din profil för att ändra krypteringslösenordet till ditt egna lösenord. Ange lösenordet ovan som \"Gammalt lösenord\" och ange sedan ditt egna lösenord.\n\n",
"The share will expire on %s." : "Utdelningen kommer att upphöra %s.",
"Cheers!" : "Ha de fint!",
"Hey there,<br><br>the admin enabled server-side-encryption. Your files were encrypted using the password <strong>%s</strong>.<br><br>Please login to the web interface, go to the section \"basic encryption module\" of your personal settings and update your encryption password by entering this password into the \"old log-in password\" field and your current login-password.<br><br>" : "Hallå där, <br> Administratören aktiverade serverkryptering. Alla dina filer har blivit krypterade med lösenordet: <strong>%s</ strong>. <br> Gå till i din profil för att ändra krypteringslösenordet till ditt egna lösenord. Ange lösenordet ovan som \"Gammalt lösenord\" och ange sedan ditt egna lösenord.<br>",
"Hey there,<br><br>the admin enabled server-side-encryption. Your files were encrypted using the password <strong>%s</strong>.<br><br>Please login to the web interface, go to the section \"basic encryption module\" of your personal settings and update your encryption password by entering this password into the \"old log-in password\" field and your current login-password.<br><br>" : "Hallå där, <br><br> administratören aktiverade serverkryptering. Alla dina filer har blivit krypterade med lösenordet: <strong>%s</strong>. <br><br>Vänligen logga in på webbgränssnittet, gå till avsnittet \"Grundläggande krypteringsmodul\" i dina personliga inställningar och uppdatera ditt krypteringslösenord genom att ange detta lösenord i fältet \"gammalt inloggningslösenord\" och ditt nuvarande inloggningslösenord.<br><br>",
"Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "Krypteringsappen är aktiverad men dina krypteringsnycklar har inte aktiverats, logga ut och logga in igen.",
"Encrypt the home storage" : "Kryptera alla filer i molnet",
"Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "Aktivering av det här alternativet krypterar alla filer som är lagrade på huvudlagringsplatsen, annars kommer bara filer på extern lagringsplats att krypteras",

View File

@ -24,8 +24,9 @@
*/
use OCA\FederatedFileSharing\Notifier;
use OCA\FederatedFileSharing\AppInfo\Application;
$app = new \OCA\FederatedFileSharing\AppInfo\Application();
$app = \OC::$server->query(Application::class);
$eventDispatcher = \OC::$server->getEventDispatcher();
$manager = \OC::$server->getNotificationManager();

View File

@ -42,8 +42,8 @@ OC.L10N.register(
"Allow users on this server to receive shares from other servers" : "Povolit uživatelům na tomto serveru přijímat sdílení z jiných serverů",
"Allow users on this server to send shares to groups on other servers" : "Povolit uživatelům na tomto serveru zasílat sdílení skupinám na ostatních serverech",
"Allow users on this server to receive group shares from other servers" : "Povolit uživatelům na tomto serveru přijímat skupinová sdílení z jiných serverů",
"Search global and public address book for users" : "Hledat uživatele v globálním a veřejném adresáři",
"Allow users to publish their data to a global and public address book" : "Povolit uživatelům publikování jejich dat do globálního a sdíleného adresáře",
"Search global and public address book for users" : "Hledat uživatele v globálním a veřejném adresáři kontaktů",
"Allow users to publish their data to a global and public address book" : "Povolit uživatelům publikování jejich dat do globálního a sdíleného adresáře kontaktů",
"Federated Cloud" : "Sdružený cloud",
"You can share with anyone who uses a Nextcloud server or other Open Cloud Mesh (OCM) compatible servers and services! Just put their Federated Cloud ID in the share dialog. It looks like person@cloud.example.com" : "Můžete sdílet s kýmkoliv, kdo používá Nextcloud nebo jiný server či služby, kompatibilní se standardem Open Cloud Mesh (OCM)! Stačí do dialogu pro sdílení zadat jejich jejich identif. sdruženého cloudu. Má podobu person@cloud.example.com",
"Your Federated Cloud ID:" : "Vaše sdružené cloud ID:",

View File

@ -40,8 +40,8 @@
"Allow users on this server to receive shares from other servers" : "Povolit uživatelům na tomto serveru přijímat sdílení z jiných serverů",
"Allow users on this server to send shares to groups on other servers" : "Povolit uživatelům na tomto serveru zasílat sdílení skupinám na ostatních serverech",
"Allow users on this server to receive group shares from other servers" : "Povolit uživatelům na tomto serveru přijímat skupinová sdílení z jiných serverů",
"Search global and public address book for users" : "Hledat uživatele v globálním a veřejném adresáři",
"Allow users to publish their data to a global and public address book" : "Povolit uživatelům publikování jejich dat do globálního a sdíleného adresáře",
"Search global and public address book for users" : "Hledat uživatele v globálním a veřejném adresáři kontaktů",
"Allow users to publish their data to a global and public address book" : "Povolit uživatelům publikování jejich dat do globálního a sdíleného adresáře kontaktů",
"Federated Cloud" : "Sdružený cloud",
"You can share with anyone who uses a Nextcloud server or other Open Cloud Mesh (OCM) compatible servers and services! Just put their Federated Cloud ID in the share dialog. It looks like person@cloud.example.com" : "Můžete sdílet s kýmkoliv, kdo používá Nextcloud nebo jiný server či služby, kompatibilní se standardem Open Cloud Mesh (OCM)! Stačí do dialogu pro sdílení zadat jejich jejich identif. sdruženého cloudu. Má podobu person@cloud.example.com",
"Your Federated Cloud ID:" : "Vaše sdružené cloud ID:",

View File

@ -15,7 +15,7 @@ OC.L10N.register(
"Server to server sharing is not enabled on this server" : "Server-till-server-delning är inte aktiverat på denna server",
"Couldn't establish a federated share." : "Kunde inte lägga till en federerad utdelning",
"Couldn't establish a federated share, maybe the password was wrong." : "Kunde inte lägga till en federerad utdelning, lösenordet kanske var felaktigt.",
"Federated Share request sent, you will receive an invitation. Check your notifications." : "Federerad delningsförfrågan sändes, du kommer få en inbjudan. Kolla dina notifieringar.",
"Federated Share request sent, you will receive an invitation. Check your notifications." : "Federerad delningsförfrågan skickades, du kommer att få en inbjudan. Kontrollera dina aviseringar.",
"Couldn't establish a federated share, it looks like the server to federate with is too old (Nextcloud <= 9)." : "Kunde inte etablera federerad delning, det verkar som servern att federera med är för gammal (Nextcloud <= 9).",
"It is not allowed to send federated group shares from this server." : "Det är inte tillåtet att skicka federerade gruppdelningar från den här servern.",
"Sharing %1$s failed, because this item is already shared with %2$s" : "Delning %1$s misslyckades, är redan delad med %2$s",

View File

@ -13,7 +13,7 @@
"Server to server sharing is not enabled on this server" : "Server-till-server-delning är inte aktiverat på denna server",
"Couldn't establish a federated share." : "Kunde inte lägga till en federerad utdelning",
"Couldn't establish a federated share, maybe the password was wrong." : "Kunde inte lägga till en federerad utdelning, lösenordet kanske var felaktigt.",
"Federated Share request sent, you will receive an invitation. Check your notifications." : "Federerad delningsförfrågan sändes, du kommer få en inbjudan. Kolla dina notifieringar.",
"Federated Share request sent, you will receive an invitation. Check your notifications." : "Federerad delningsförfrågan skickades, du kommer att få en inbjudan. Kontrollera dina aviseringar.",
"Couldn't establish a federated share, it looks like the server to federate with is too old (Nextcloud <= 9)." : "Kunde inte etablera federerad delning, det verkar som servern att federera med är för gammal (Nextcloud <= 9).",
"It is not allowed to send federated group shares from this server." : "Det är inte tillåtet att skicka federerade gruppdelningar från den här servern.",
"Sharing %1$s failed, because this item is already shared with %2$s" : "Delning %1$s misslyckades, är redan delad med %2$s",

View File

@ -1100,4 +1100,31 @@ class FederatedShareProvider implements IShareProvider {
return ['remote' => $remote];
}
public function getAllShares(): iterable {
$qb = $this->dbConnection->getQueryBuilder();
$qb->select('*')
->from('share')
->where(
$qb->expr()->orX(
$qb->expr()->eq('share_type', $qb->createNamedParameter(\OCP\Share\IShare::TYPE_REMOTE)),
$qb->expr()->eq('share_type', $qb->createNamedParameter(\OCP\Share\IShare::TYPE_REMOTE_GROUP))
)
);
$cursor = $qb->execute();
while($data = $cursor->fetch()) {
try {
$share = $this->createShareObject($data);
} catch (InvalidShare $e) {
continue;
} catch (ShareNotFound $e) {
continue;
}
yield $share;
}
$cursor->closeCursor();
}
}

View File

@ -22,5 +22,6 @@
namespace OCA\Federation\AppInfo;
$app = new Application();
/** @var Application $app */
$app = \OC::$server->query(Application::class);
$app->registerHooks();

View File

@ -22,53 +22,48 @@
*
*/
$application = new \OCA\Federation\AppInfo\Application();
$application->registerRoutes(
$this,
[
'routes' => [
[
'name' => 'Settings#addServer',
'url' => '/trusted-servers',
'verb' => 'POST'
],
[
'name' => 'Settings#removeServer',
'url' => '/trusted-servers/{id}',
'verb' => 'DELETE'
],
[
'name' => 'Settings#autoAddServers',
'url' => '/auto-add-servers',
'verb' => 'POST'
],
return [
'routes' => [
[
'name' => 'Settings#addServer',
'url' => '/trusted-servers',
'verb' => 'POST'
],
'ocs' => [
// old endpoints, only used by Nextcloud and ownCloud
[
'name' => 'OCSAuthAPI#getSharedSecretLegacy',
'url' => '/api/v1/shared-secret',
'verb' => 'GET',
],
[
'name' => 'OCSAuthAPI#requestSharedSecretLegacy',
'url' => '/api/v1/request-shared-secret',
'verb' => 'POST',
],
// new endpoints, published as public api
[
'name' => 'OCSAuthAPI#getSharedSecret',
'root' => '/cloud',
'url' => '/shared-secret',
'verb' => 'GET',
],
[
'name' => 'OCSAuthAPI#requestSharedSecret',
'root' => '/cloud',
'url' => '/shared-secret',
'verb' => 'POST',
],
[
'name' => 'Settings#removeServer',
'url' => '/trusted-servers/{id}',
'verb' => 'DELETE'
],
]
);
[
'name' => 'Settings#autoAddServers',
'url' => '/auto-add-servers',
'verb' => 'POST'
],
],
'ocs' => [
// old endpoints, only used by Nextcloud and ownCloud
[
'name' => 'OCSAuthAPI#getSharedSecretLegacy',
'url' => '/api/v1/shared-secret',
'verb' => 'GET',
],
[
'name' => 'OCSAuthAPI#requestSharedSecretLegacy',
'url' => '/api/v1/request-shared-secret',
'verb' => 'POST',
],
// new endpoints, published as public api
[
'name' => 'OCSAuthAPI#getSharedSecret',
'root' => '/cloud',
'url' => '/shared-secret',
'verb' => 'GET',
],
[
'name' => 'OCSAuthAPI#requestSharedSecret',
'root' => '/cloud',
'url' => '/shared-secret',
'verb' => 'POST',
],
],
];

View File

@ -6,6 +6,7 @@ OC.L10N.register(
"No server to federate with found" : "Ingen server att federera med hittades",
"Could not add server" : "Kunde inte lägga till server",
"Federation" : "Federation",
"Federation allows you to connect with other trusted servers to exchange the user directory." : "Federation låter dig ansluta med andra betrodda servrar för att utbyta användarkatalogen.",
"Federation allows you to connect with other trusted servers to exchange the user directory. For example this will be used to auto-complete external users for federated sharing." : "Federation låter dig ansluta till andra betrodda servrar för att utbyta användarinformation. Till exempel kommer detta användas för att auto-komplettera externa användare för federerad delning.",
"Trusted servers" : "Betrodda servrar",
"Add server automatically once a federated share was created successfully" : "Lägg till servern automatiskt så fort en lyckad federerad delning skapats",

View File

@ -4,6 +4,7 @@
"No server to federate with found" : "Ingen server att federera med hittades",
"Could not add server" : "Kunde inte lägga till server",
"Federation" : "Federation",
"Federation allows you to connect with other trusted servers to exchange the user directory." : "Federation låter dig ansluta med andra betrodda servrar för att utbyta användarkatalogen.",
"Federation allows you to connect with other trusted servers to exchange the user directory. For example this will be used to auto-complete external users for federated sharing." : "Federation låter dig ansluta till andra betrodda servrar för att utbyta användarinformation. Till exempel kommer detta användas för att auto-komplettera externa användare för federerad delning.",
"Trusted servers" : "Betrodda servrar",
"Add server automatically once a federated share was created successfully" : "Lägg till servern automatiskt så fort en lyckad federerad delning skapats",

View File

@ -1,2 +1,3 @@
# compiled vue templates
js/templates.js
js/dist/

View File

@ -29,7 +29,8 @@ declare(strict_types=1);
*/
namespace OCA\Files\AppInfo;
$application = new Application();
/** @var Application $application */
$application = \OC::$server->query(Application::class);
$application->registerRoutes(
$this,
[

View File

@ -33,6 +33,7 @@ return array(
'OCA\\Files\\Controller\\ApiController' => $baseDir . '/../lib/Controller/ApiController.php',
'OCA\\Files\\Controller\\ViewController' => $baseDir . '/../lib/Controller/ViewController.php',
'OCA\\Files\\Event\\LoadAdditionalScriptsEvent' => $baseDir . '/../lib/Event/LoadAdditionalScriptsEvent.php',
'OCA\\Files\\Event\\LoadSidebar' => $baseDir . '/../lib/Event/LoadSidebar.php',
'OCA\\Files\\Helper' => $baseDir . '/../lib/Helper.php',
'OCA\\Files\\Listener\\LegacyLoadAdditionalScriptsAdapter' => $baseDir . '/../lib/Listener/LegacyLoadAdditionalScriptsAdapter.php',
'OCA\\Files\\Service\\TagService' => $baseDir . '/../lib/Service/TagService.php',

View File

@ -48,6 +48,7 @@ class ComposerStaticInitFiles
'OCA\\Files\\Controller\\ApiController' => __DIR__ . '/..' . '/../lib/Controller/ApiController.php',
'OCA\\Files\\Controller\\ViewController' => __DIR__ . '/..' . '/../lib/Controller/ViewController.php',
'OCA\\Files\\Event\\LoadAdditionalScriptsEvent' => __DIR__ . '/..' . '/../lib/Event/LoadAdditionalScriptsEvent.php',
'OCA\\Files\\Event\\LoadSidebar' => __DIR__ . '/..' . '/../lib/Event/LoadSidebar.php',
'OCA\\Files\\Helper' => __DIR__ . '/..' . '/../lib/Helper.php',
'OCA\\Files\\Listener\\LegacyLoadAdditionalScriptsAdapter' => __DIR__ . '/..' . '/../lib/Listener/LegacyLoadAdditionalScriptsAdapter.php',
'OCA\\Files\\Service\\TagService' => __DIR__ . '/..' . '/../lib/Service/TagService.php',

View File

@ -63,6 +63,10 @@
}
}
#filestable.hidden {
display: none;
}
@media only screen and (min-width: $breakpoint-mobile + 1) {
#filestable {
// floating header
@ -81,8 +85,9 @@
}
/* fit app list view heights */
.app-files #app-content>.viewcontainer {
.app-files #app-content > .viewcontainer {
min-height: 0%;
width: 100%;
}
.app-files #app-content {
@ -669,7 +674,10 @@ table tr.summary td {
padding-top: 20px;
}
.summary .info {
margin-left: 35px; /* td has padding of 15, col width is 50 */
margin-left: 2px;
}
.hiddeninfo {
white-space: pre-line;
}
table.dragshadow {

287
apps/files/js/dist/sidebar.js vendored Normal file

File diff suppressed because one or more lines are too long

1
apps/files/js/dist/sidebar.js.map vendored Normal file

File diff suppressed because one or more lines are too long

View File

@ -242,6 +242,10 @@ OC.FileUpload.prototype = {
// TODO: if fails, it means same id already existed, need to retry
} else {
chunkFolderPromise = $.Deferred().resolve().promise();
var mtime = this.getFile().lastModified;
if (mtime) {
data.headers['X-OC-Mtime'] = mtime / 1000;
}
}
// wait for creation of the required directory before uploading

View File

@ -704,6 +704,12 @@
}
context.fileList.do_delete(fileName, context.dir);
$('.tipsy').remove();
// close sidebar on delete
const path = context.dir + '/' + fileName
if (OCA.Files.Sidebar && OCA.Files.Sidebar.file === path) {
OCA.Files.Sidebar.file = undefined
}
}
});

View File

@ -610,11 +610,11 @@
* @param {string} [tabId] optional tab id to select
*/
showDetailsView: function(fileName, tabId) {
console.warn('showDetailsView is deprecated! Use OCA.Files.Sidebar.activeTab. It will be removed in nextcloud 20.');
this._updateDetailsView(fileName);
if (tabId) {
this._detailsView.selectTab(tabId);
OCA.Files.Sidebar.activeTab = tabId;
}
OC.Apps.showAppSidebar(this._detailsView.$el);
},
/**
@ -623,48 +623,28 @@
* @param {string|OCA.Files.FileInfoModel} fileName file name from the current list or a FileInfoModel object
* @param {boolean} [show=true] whether to open the sidebar if it was closed
*/
_updateDetailsView: function(fileName, show) {
if (!this._detailsView) {
_updateDetailsView: function(fileName) {
if (!(OCA.Files && OCA.Files.Sidebar)) {
console.error('No sidebar available');
return;
}
// show defaults to true
show = _.isUndefined(show) || !!show;
var oldFileInfo = this._detailsView.getFileInfo();
if (oldFileInfo) {
// TODO: use more efficient way, maybe track the highlight
this.$fileList.children().filterAttr('data-id', '' + oldFileInfo.get('id')).removeClass('highlighted');
oldFileInfo.off('change', this._onSelectedModelChanged, this);
}
if (!fileName) {
this._detailsView.setFileInfo(null);
if (this._currentFileModel) {
this._currentFileModel.off();
}
this._currentFileModel = null;
OC.Apps.hideAppSidebar(this._detailsView.$el);
return;
OCA.Files.Sidebar.file = null
return
} else if (typeof fileName !== 'string') {
fileName = ''
}
if (show && this._detailsView.$el.hasClass('disappear')) {
OC.Apps.showAppSidebar(this._detailsView.$el);
}
// this is the old (terrible) way of getting the context.
// don't use it anywhere else. Just provide the full path
// of the file to the sidebar service
var tr = this.findFileEl(fileName)
var model = this.getModelForFile(tr)
var path = model.attributes.path + '/' + model.attributes.name
if (fileName instanceof OCA.Files.FileInfoModel) {
var model = fileName;
} else {
var $tr = this.findFileEl(fileName);
var model = this.getModelForFile($tr);
$tr.addClass('highlighted');
}
this._currentFileModel = model;
this._replaceDetailsViewElementIfNeeded();
this._detailsView.setFileInfo(model);
this._detailsView.$el.scrollTop(0);
// open sidebar and set file
OCA.Files.Sidebar.file = path.replace('//', '/')
},
/**
@ -1404,6 +1384,13 @@
return OC.MimeType.getIconUrl('dir-external');
} else if (fileInfo.mountType !== undefined && fileInfo.mountType !== '') {
return OC.MimeType.getIconUrl('dir-' + fileInfo.mountType);
} else if (fileInfo.shareTypes && (
fileInfo.shareTypes.indexOf(OC.Share.SHARE_TYPE_LINK) > -1
|| fileInfo.shareTypes.indexOf(OC.Share.SHARE_TYPE_EMAIL) > -1)
) {
return OC.MimeType.getIconUrl('dir-public')
} else if (fileInfo.shareTypes && fileInfo.shareTypes.length > 0) {
return OC.MimeType.getIconUrl('dir-shared')
}
return OC.MimeType.getIconUrl('dir');
}
@ -3654,8 +3641,10 @@
* Register a tab view to be added to all views
*/
registerTabView: function(tabView) {
if (this._detailsView) {
this._detailsView.addTabView(tabView);
console.warn('registerTabView is deprecated! It will be removed in nextcloud 20.');
const name = tabView.getLabel()
if (name) {
OCA.Files.Sidebar.registerTab(new OCA.Files.Sidebar.Tab(name, tabView, true))
}
},
@ -3663,8 +3652,9 @@
* Register a detail view to be added to all views
*/
registerDetailView: function(detailView) {
if (this._detailsView) {
this._detailsView.addDetailView(detailView);
console.warn('registerDetailView is deprecated! It will be removed in nextcloud 20.');
if (detailView.el) {
OCA.Files.Sidebar.registerSecondaryView(detailView)
}
},

View File

@ -1,33 +1,34 @@
[
"dist/sidebar.js",
"app.js",
"templates.js",
"file-upload.js",
"newfilemenu.js",
"jquery.fileupload.js",
"jquery-visibility.js",
"fileinfomodel.js",
"filesummary.js",
"filemultiselectmenu.js",
"breadcrumb.js",
"filelist.js",
"search.js",
"favoritesfilelist.js",
"recentfilelist.js",
"tagsplugin.js",
"gotoplugin.js",
"favoritesplugin.js",
"recentplugin.js",
"detailfileinfoview.js",
"sidebarpreviewmanager.js",
"sidebarpreviewtext.js",
"detailtabview.js",
"semaphore.js",
"mainfileinfodetailview.js",
"operationprogressbar.js",
"detailsview.js",
"detailtabview.js",
"favoritesfilelist.js",
"favoritesplugin.js",
"file-upload.js",
"fileactions.js",
"fileactionsmenu.js",
"fileinfomodel.js",
"filelist.js",
"filemultiselectmenu.js",
"files.js",
"filesummary.js",
"gotoplugin.js",
"jquery-visibility.js",
"jquery.fileupload.js",
"keyboardshortcuts.js",
"navigation.js"
"mainfileinfodetailview.js",
"navigation.js",
"newfilemenu.js",
"operationprogressbar.js",
"recentfilelist.js",
"recentplugin.js",
"search.js",
"semaphore.js",
"sidebarpreviewmanager.js",
"sidebarpreviewtext.js",
"tagsplugin.js",
"templates.js"
]

View File

@ -4,31 +4,31 @@ templates['detailsview'] = template({"1":function(container,depth0,helpers,parti
var stack1, alias1=container.propertyIsEnumerable;
return "<ul class=\"tabHeaders\">\n"
+ ((stack1 = helpers.each.call(depth0 != null ? depth0 : (container.nullContext || {}),(depth0 != null ? depth0.tabHeaders : depth0),{"name":"each","hash":{},"fn":container.program(2, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+ ((stack1 = helpers.each.call(depth0 != null ? depth0 : (container.nullContext || {}),(depth0 != null ? depth0.tabHeaders : depth0),{"name":"each","hash":{},"fn":container.program(2, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":4,"column":1},"end":{"line":9,"column":10}}})) != null ? stack1 : "")
+ "</ul>\n";
},"2":function(container,depth0,helpers,partials,data) {
var stack1, helper, alias1=container.propertyIsEnumerable, alias2=depth0 != null ? depth0 : (container.nullContext || {}), alias3=container.hooks.helperMissing, alias4="function", alias5=container.escapeExpression;
return " <li class=\"tabHeader\" data-tabid=\""
+ alias5(((helper = (helper = helpers.tabId || (depth0 != null ? depth0.tabId : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"tabId","hash":{},"data":data}) : helper)))
+ alias5(((helper = (helper = helpers.tabId || (depth0 != null ? depth0.tabId : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"tabId","hash":{},"data":data,"loc":{"start":{"line":5,"column":35},"end":{"line":5,"column":44}}}) : helper)))
+ "\" tabindex=\"0\">\n "
+ ((stack1 = helpers["if"].call(alias2,(depth0 != null ? depth0.tabIcon : depth0),{"name":"if","hash":{},"fn":container.program(3, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+ ((stack1 = helpers["if"].call(alias2,(depth0 != null ? depth0.tabIcon : depth0),{"name":"if","hash":{},"fn":container.program(3, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":6,"column":5},"end":{"line":6,"column":65}}})) != null ? stack1 : "")
+ "\n <a href=\"#\" tabindex=\"-1\">"
+ alias5(((helper = (helper = helpers.label || (depth0 != null ? depth0.label : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"label","hash":{},"data":data}) : helper)))
+ alias5(((helper = (helper = helpers.label || (depth0 != null ? depth0.label : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"label","hash":{},"data":data,"loc":{"start":{"line":7,"column":28},"end":{"line":7,"column":37}}}) : helper)))
+ "</a>\n </li>\n";
},"3":function(container,depth0,helpers,partials,data) {
var helper, alias1=container.propertyIsEnumerable;
return "<span class=\"icon "
+ container.escapeExpression(((helper = (helper = helpers.tabIcon || (depth0 != null ? depth0.tabIcon : depth0)) != null ? helper : container.hooks.helperMissing),(typeof helper === "function" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),{"name":"tabIcon","hash":{},"data":data}) : helper)))
+ container.escapeExpression(((helper = (helper = helpers.tabIcon || (depth0 != null ? depth0.tabIcon : depth0)) != null ? helper : container.hooks.helperMissing),(typeof helper === "function" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),{"name":"tabIcon","hash":{},"data":data,"loc":{"start":{"line":6,"column":38},"end":{"line":6,"column":49}}}) : helper)))
+ "\"></span>";
},"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) {
var stack1, helper, alias1=container.propertyIsEnumerable, alias2=depth0 != null ? depth0 : (container.nullContext || {});
return "<div class=\"detailFileInfoContainer\"></div>\n"
+ ((stack1 = helpers["if"].call(alias2,(depth0 != null ? depth0.tabHeaders : depth0),{"name":"if","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+ ((stack1 = helpers["if"].call(alias2,(depth0 != null ? depth0.tabHeaders : depth0),{"name":"if","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":2,"column":0},"end":{"line":11,"column":7}}})) != null ? stack1 : "")
+ "<div class=\"tabsContainer\"></div>\n<a class=\"close icon-close\" href=\"#\"><span class=\"hidden-visually\">"
+ container.escapeExpression(((helper = (helper = helpers.closeLabel || (depth0 != null ? depth0.closeLabel : depth0)) != null ? helper : container.hooks.helperMissing),(typeof helper === "function" ? helper.call(alias2,{"name":"closeLabel","hash":{},"data":data}) : helper)))
+ container.escapeExpression(((helper = (helper = helpers.closeLabel || (depth0 != null ? depth0.closeLabel : depth0)) != null ? helper : container.hooks.helperMissing),(typeof helper === "function" ? helper.call(alias2,{"name":"closeLabel","hash":{},"data":data,"loc":{"start":{"line":13,"column":67},"end":{"line":13,"column":81}}}) : helper)))
+ "</span></a>\n";
},"useData":true});
templates['favorite_mark'] = template({"1":function(container,depth0,helpers,partials,data) {
@ -36,74 +36,74 @@ templates['favorite_mark'] = template({"1":function(container,depth0,helpers,par
},"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) {
var stack1, helper, options, alias1=container.propertyIsEnumerable, alias2=depth0 != null ? depth0 : (container.nullContext || {}), alias3=container.hooks.helperMissing, alias4="function", alias5=container.escapeExpression, buffer =
"<div class=\"favorite-mark ";
stack1 = ((helper = (helper = helpers.isFavorite || (depth0 != null ? depth0.isFavorite : depth0)) != null ? helper : alias3),(options={"name":"isFavorite","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data}),(typeof helper === alias4 ? helper.call(alias2,options) : helper));
stack1 = ((helper = (helper = helpers.isFavorite || (depth0 != null ? depth0.isFavorite : depth0)) != null ? helper : alias3),(options={"name":"isFavorite","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":1,"column":26},"end":{"line":1,"column":65}}}),(typeof helper === alias4 ? helper.call(alias2,options) : helper));
if (!helpers.isFavorite) { stack1 = container.hooks.blockHelperMissing.call(depth0,stack1,options)}
if (stack1 != null) { buffer += stack1; }
return buffer + "\">\n <span class=\"icon "
+ alias5(((helper = (helper = helpers.iconClass || (depth0 != null ? depth0.iconClass : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"iconClass","hash":{},"data":data}) : helper)))
+ alias5(((helper = (helper = helpers.iconClass || (depth0 != null ? depth0.iconClass : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"iconClass","hash":{},"data":data,"loc":{"start":{"line":2,"column":19},"end":{"line":2,"column":32}}}) : helper)))
+ "\" />\n <span class=\"hidden-visually\">"
+ alias5(((helper = (helper = helpers.altText || (depth0 != null ? depth0.altText : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"altText","hash":{},"data":data}) : helper)))
+ alias5(((helper = (helper = helpers.altText || (depth0 != null ? depth0.altText : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"altText","hash":{},"data":data,"loc":{"start":{"line":3,"column":31},"end":{"line":3,"column":42}}}) : helper)))
+ "</span>\n</div>\n";
},"useData":true});
templates['file_action_trigger'] = template({"1":function(container,depth0,helpers,partials,data) {
var helper, alias1=container.propertyIsEnumerable, alias2=depth0 != null ? depth0 : (container.nullContext || {}), alias3=container.hooks.helperMissing, alias4="function", alias5=container.escapeExpression;
return " <img class=\"svg\" alt=\""
+ alias5(((helper = (helper = helpers.altText || (depth0 != null ? depth0.altText : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"altText","hash":{},"data":data}) : helper)))
+ alias5(((helper = (helper = helpers.altText || (depth0 != null ? depth0.altText : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"altText","hash":{},"data":data,"loc":{"start":{"line":3,"column":24},"end":{"line":3,"column":35}}}) : helper)))
+ "\" src=\""
+ alias5(((helper = (helper = helpers.icon || (depth0 != null ? depth0.icon : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"icon","hash":{},"data":data}) : helper)))
+ alias5(((helper = (helper = helpers.icon || (depth0 != null ? depth0.icon : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"icon","hash":{},"data":data,"loc":{"start":{"line":3,"column":42},"end":{"line":3,"column":50}}}) : helper)))
+ "\" />\n";
},"3":function(container,depth0,helpers,partials,data) {
var stack1, alias1=container.propertyIsEnumerable, alias2=depth0 != null ? depth0 : (container.nullContext || {});
return ((stack1 = helpers["if"].call(alias2,(depth0 != null ? depth0.iconClass : depth0),{"name":"if","hash":{},"fn":container.program(4, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+ ((stack1 = helpers.unless.call(alias2,(depth0 != null ? depth0.hasDisplayName : depth0),{"name":"unless","hash":{},"fn":container.program(6, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "");
return ((stack1 = helpers["if"].call(alias2,(depth0 != null ? depth0.iconClass : depth0),{"name":"if","hash":{},"fn":container.program(4, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":5,"column":2},"end":{"line":7,"column":9}}})) != null ? stack1 : "")
+ ((stack1 = helpers.unless.call(alias2,(depth0 != null ? depth0.hasDisplayName : depth0),{"name":"unless","hash":{},"fn":container.program(6, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":8,"column":2},"end":{"line":10,"column":13}}})) != null ? stack1 : "");
},"4":function(container,depth0,helpers,partials,data) {
var helper, alias1=container.propertyIsEnumerable;
return " <span class=\"icon "
+ container.escapeExpression(((helper = (helper = helpers.iconClass || (depth0 != null ? depth0.iconClass : depth0)) != null ? helper : container.hooks.helperMissing),(typeof helper === "function" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),{"name":"iconClass","hash":{},"data":data}) : helper)))
+ container.escapeExpression(((helper = (helper = helpers.iconClass || (depth0 != null ? depth0.iconClass : depth0)) != null ? helper : container.hooks.helperMissing),(typeof helper === "function" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),{"name":"iconClass","hash":{},"data":data,"loc":{"start":{"line":6,"column":21},"end":{"line":6,"column":34}}}) : helper)))
+ "\" />\n";
},"6":function(container,depth0,helpers,partials,data) {
var helper, alias1=container.propertyIsEnumerable;
return " <span class=\"hidden-visually\">"
+ container.escapeExpression(((helper = (helper = helpers.altText || (depth0 != null ? depth0.altText : depth0)) != null ? helper : container.hooks.helperMissing),(typeof helper === "function" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),{"name":"altText","hash":{},"data":data}) : helper)))
+ container.escapeExpression(((helper = (helper = helpers.altText || (depth0 != null ? depth0.altText : depth0)) != null ? helper : container.hooks.helperMissing),(typeof helper === "function" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),{"name":"altText","hash":{},"data":data,"loc":{"start":{"line":9,"column":33},"end":{"line":9,"column":44}}}) : helper)))
+ "</span>\n";
},"8":function(container,depth0,helpers,partials,data) {
var helper, alias1=container.propertyIsEnumerable;
return "<span> "
+ container.escapeExpression(((helper = (helper = helpers.displayName || (depth0 != null ? depth0.displayName : depth0)) != null ? helper : container.hooks.helperMissing),(typeof helper === "function" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),{"name":"displayName","hash":{},"data":data}) : helper)))
+ container.escapeExpression(((helper = (helper = helpers.displayName || (depth0 != null ? depth0.displayName : depth0)) != null ? helper : container.hooks.helperMissing),(typeof helper === "function" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),{"name":"displayName","hash":{},"data":data,"loc":{"start":{"line":12,"column":27},"end":{"line":12,"column":42}}}) : helper)))
+ "</span>";
},"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) {
var stack1, helper, alias1=container.propertyIsEnumerable, alias2=depth0 != null ? depth0 : (container.nullContext || {}), alias3=container.hooks.helperMissing, alias4="function", alias5=container.escapeExpression;
return "<a class=\"action action-"
+ alias5(((helper = (helper = helpers.nameLowerCase || (depth0 != null ? depth0.nameLowerCase : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"nameLowerCase","hash":{},"data":data}) : helper)))
+ alias5(((helper = (helper = helpers.nameLowerCase || (depth0 != null ? depth0.nameLowerCase : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"nameLowerCase","hash":{},"data":data,"loc":{"start":{"line":1,"column":24},"end":{"line":1,"column":41}}}) : helper)))
+ "\" href=\"#\" data-action=\""
+ alias5(((helper = (helper = helpers.name || (depth0 != null ? depth0.name : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"name","hash":{},"data":data}) : helper)))
+ alias5(((helper = (helper = helpers.name || (depth0 != null ? depth0.name : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"name","hash":{},"data":data,"loc":{"start":{"line":1,"column":65},"end":{"line":1,"column":73}}}) : helper)))
+ "\">\n"
+ ((stack1 = helpers["if"].call(alias2,(depth0 != null ? depth0.icon : depth0),{"name":"if","hash":{},"fn":container.program(1, data, 0),"inverse":container.program(3, data, 0),"data":data})) != null ? stack1 : "")
+ ((stack1 = helpers["if"].call(alias2,(depth0 != null ? depth0.icon : depth0),{"name":"if","hash":{},"fn":container.program(1, data, 0),"inverse":container.program(3, data, 0),"data":data,"loc":{"start":{"line":2,"column":1},"end":{"line":11,"column":8}}})) != null ? stack1 : "")
+ " "
+ ((stack1 = helpers["if"].call(alias2,(depth0 != null ? depth0.displayName : depth0),{"name":"if","hash":{},"fn":container.program(8, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+ ((stack1 = helpers["if"].call(alias2,(depth0 != null ? depth0.displayName : depth0),{"name":"if","hash":{},"fn":container.program(8, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":12,"column":1},"end":{"line":12,"column":56}}})) != null ? stack1 : "")
+ "\n</a>\n";
},"useData":true});
templates['fileactionsmenu'] = template({"1":function(container,depth0,helpers,partials,data) {
var stack1, helper, alias1=container.propertyIsEnumerable, alias2=depth0 != null ? depth0 : (container.nullContext || {}), alias3=container.hooks.helperMissing, alias4="function", alias5=container.escapeExpression;
return " <li class=\""
+ ((stack1 = helpers["if"].call(alias2,(depth0 != null ? depth0.inline : depth0),{"name":"if","hash":{},"fn":container.program(2, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+ ((stack1 = helpers["if"].call(alias2,(depth0 != null ? depth0.inline : depth0),{"name":"if","hash":{},"fn":container.program(2, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":3,"column":13},"end":{"line":3,"column":40}}})) != null ? stack1 : "")
+ " action-"
+ alias5(((helper = (helper = helpers.nameLowerCase || (depth0 != null ? depth0.nameLowerCase : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"nameLowerCase","hash":{},"data":data}) : helper)))
+ alias5(((helper = (helper = helpers.nameLowerCase || (depth0 != null ? depth0.nameLowerCase : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"nameLowerCase","hash":{},"data":data,"loc":{"start":{"line":3,"column":48},"end":{"line":3,"column":65}}}) : helper)))
+ "-container\">\n <a href=\"#\" class=\"menuitem action action-"
+ alias5(((helper = (helper = helpers.nameLowerCase || (depth0 != null ? depth0.nameLowerCase : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"nameLowerCase","hash":{},"data":data}) : helper)))
+ alias5(((helper = (helper = helpers.nameLowerCase || (depth0 != null ? depth0.nameLowerCase : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"nameLowerCase","hash":{},"data":data,"loc":{"start":{"line":4,"column":45},"end":{"line":4,"column":62}}}) : helper)))
+ " permanent\" data-action=\""
+ alias5(((helper = (helper = helpers.name || (depth0 != null ? depth0.name : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"name","hash":{},"data":data}) : helper)))
+ alias5(((helper = (helper = helpers.name || (depth0 != null ? depth0.name : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"name","hash":{},"data":data,"loc":{"start":{"line":4,"column":87},"end":{"line":4,"column":95}}}) : helper)))
+ "\">\n "
+ ((stack1 = helpers["if"].call(alias2,(depth0 != null ? depth0.icon : depth0),{"name":"if","hash":{},"fn":container.program(4, data, 0),"inverse":container.program(6, data, 0),"data":data})) != null ? stack1 : "")
+ ((stack1 = helpers["if"].call(alias2,(depth0 != null ? depth0.icon : depth0),{"name":"if","hash":{},"fn":container.program(4, data, 0),"inverse":container.program(6, data, 0),"data":data,"loc":{"start":{"line":5,"column":4},"end":{"line":12,"column":11}}})) != null ? stack1 : "")
+ " <span>"
+ alias5(((helper = (helper = helpers.displayName || (depth0 != null ? depth0.displayName : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"displayName","hash":{},"data":data}) : helper)))
+ alias5(((helper = (helper = helpers.displayName || (depth0 != null ? depth0.displayName : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"displayName","hash":{},"data":data,"loc":{"start":{"line":13,"column":10},"end":{"line":13,"column":25}}}) : helper)))
+ "</span>\n </a>\n </li>\n";
},"2":function(container,depth0,helpers,partials,data) {
return "hidden";
@ -111,17 +111,17 @@ templates['fileactionsmenu'] = template({"1":function(container,depth0,helpers,p
var helper, alias1=container.propertyIsEnumerable;
return "<img class=\"icon\" src=\""
+ container.escapeExpression(((helper = (helper = helpers.icon || (depth0 != null ? depth0.icon : depth0)) != null ? helper : container.hooks.helperMissing),(typeof helper === "function" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),{"name":"icon","hash":{},"data":data}) : helper)))
+ container.escapeExpression(((helper = (helper = helpers.icon || (depth0 != null ? depth0.icon : depth0)) != null ? helper : container.hooks.helperMissing),(typeof helper === "function" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),{"name":"icon","hash":{},"data":data,"loc":{"start":{"line":5,"column":39},"end":{"line":5,"column":47}}}) : helper)))
+ "\"/>\n";
},"6":function(container,depth0,helpers,partials,data) {
var stack1, alias1=container.propertyIsEnumerable;
return ((stack1 = helpers["if"].call(depth0 != null ? depth0 : (container.nullContext || {}),(depth0 != null ? depth0.iconClass : depth0),{"name":"if","hash":{},"fn":container.program(7, data, 0),"inverse":container.program(9, data, 0),"data":data})) != null ? stack1 : "");
return ((stack1 = helpers["if"].call(depth0 != null ? depth0 : (container.nullContext || {}),(depth0 != null ? depth0.iconClass : depth0),{"name":"if","hash":{},"fn":container.program(7, data, 0),"inverse":container.program(9, data, 0),"data":data,"loc":{"start":{"line":7,"column":5},"end":{"line":11,"column":12}}})) != null ? stack1 : "");
},"7":function(container,depth0,helpers,partials,data) {
var helper, alias1=container.propertyIsEnumerable;
return " <span class=\"icon "
+ container.escapeExpression(((helper = (helper = helpers.iconClass || (depth0 != null ? depth0.iconClass : depth0)) != null ? helper : container.hooks.helperMissing),(typeof helper === "function" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),{"name":"iconClass","hash":{},"data":data}) : helper)))
+ container.escapeExpression(((helper = (helper = helpers.iconClass || (depth0 != null ? depth0.iconClass : depth0)) != null ? helper : container.hooks.helperMissing),(typeof helper === "function" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),{"name":"iconClass","hash":{},"data":data,"loc":{"start":{"line":8,"column":24},"end":{"line":8,"column":37}}}) : helper)))
+ "\"></span>\n";
},"9":function(container,depth0,helpers,partials,data) {
return " <span class=\"no-icon\"></span>\n";
@ -129,28 +129,28 @@ templates['fileactionsmenu'] = template({"1":function(container,depth0,helpers,p
var stack1, alias1=container.propertyIsEnumerable;
return "<ul>\n"
+ ((stack1 = helpers.each.call(depth0 != null ? depth0 : (container.nullContext || {}),(depth0 != null ? depth0.items : depth0),{"name":"each","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+ ((stack1 = helpers.each.call(depth0 != null ? depth0 : (container.nullContext || {}),(depth0 != null ? depth0.items : depth0),{"name":"each","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":2,"column":1},"end":{"line":16,"column":10}}})) != null ? stack1 : "")
+ "</ul>\n";
},"useData":true});
templates['filemultiselectmenu'] = template({"1":function(container,depth0,helpers,partials,data) {
var stack1, helper, alias1=container.propertyIsEnumerable, alias2=depth0 != null ? depth0 : (container.nullContext || {}), alias3=container.hooks.helperMissing, alias4="function", alias5=container.escapeExpression;
return " <li class=\"item-"
+ alias5(((helper = (helper = helpers.name || (depth0 != null ? depth0.name : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"name","hash":{},"data":data}) : helper)))
+ alias5(((helper = (helper = helpers.name || (depth0 != null ? depth0.name : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"name","hash":{},"data":data,"loc":{"start":{"line":3,"column":18},"end":{"line":3,"column":26}}}) : helper)))
+ "\">\n <a href=\"#\" class=\"menuitem action "
+ alias5(((helper = (helper = helpers.name || (depth0 != null ? depth0.name : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"name","hash":{},"data":data}) : helper)))
+ alias5(((helper = (helper = helpers.name || (depth0 != null ? depth0.name : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"name","hash":{},"data":data,"loc":{"start":{"line":4,"column":38},"end":{"line":4,"column":46}}}) : helper)))
+ " permanent\" data-action=\""
+ alias5(((helper = (helper = helpers.name || (depth0 != null ? depth0.name : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"name","hash":{},"data":data}) : helper)))
+ alias5(((helper = (helper = helpers.name || (depth0 != null ? depth0.name : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"name","hash":{},"data":data,"loc":{"start":{"line":4,"column":71},"end":{"line":4,"column":79}}}) : helper)))
+ "\">\n"
+ ((stack1 = helpers["if"].call(alias2,(depth0 != null ? depth0.iconClass : depth0),{"name":"if","hash":{},"fn":container.program(2, data, 0),"inverse":container.program(4, data, 0),"data":data})) != null ? stack1 : "")
+ ((stack1 = helpers["if"].call(alias2,(depth0 != null ? depth0.iconClass : depth0),{"name":"if","hash":{},"fn":container.program(2, data, 0),"inverse":container.program(4, data, 0),"data":data,"loc":{"start":{"line":5,"column":4},"end":{"line":9,"column":11}}})) != null ? stack1 : "")
+ " <span class=\"label\">"
+ alias5(((helper = (helper = helpers.displayName || (depth0 != null ? depth0.displayName : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"displayName","hash":{},"data":data}) : helper)))
+ alias5(((helper = (helper = helpers.displayName || (depth0 != null ? depth0.displayName : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"displayName","hash":{},"data":data,"loc":{"start":{"line":10,"column":24},"end":{"line":10,"column":39}}}) : helper)))
+ "</span>\n </a>\n </li>\n";
},"2":function(container,depth0,helpers,partials,data) {
var helper, alias1=container.propertyIsEnumerable;
return " <span class=\"icon "
+ container.escapeExpression(((helper = (helper = helpers.iconClass || (depth0 != null ? depth0.iconClass : depth0)) != null ? helper : container.hooks.helperMissing),(typeof helper === "function" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),{"name":"iconClass","hash":{},"data":data}) : helper)))
+ container.escapeExpression(((helper = (helper = helpers.iconClass || (depth0 != null ? depth0.iconClass : depth0)) != null ? helper : container.hooks.helperMissing),(typeof helper === "function" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),{"name":"iconClass","hash":{},"data":data,"loc":{"start":{"line":6,"column":23},"end":{"line":6,"column":36}}}) : helper)))
+ "\"></span>\n";
},"4":function(container,depth0,helpers,partials,data) {
return " <span class=\"no-icon\"></span>\n";
@ -158,122 +158,122 @@ templates['filemultiselectmenu'] = template({"1":function(container,depth0,helpe
var stack1, alias1=container.propertyIsEnumerable;
return "<ul>\n"
+ ((stack1 = helpers.each.call(depth0 != null ? depth0 : (container.nullContext || {}),(depth0 != null ? depth0.items : depth0),{"name":"each","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+ ((stack1 = helpers.each.call(depth0 != null ? depth0 : (container.nullContext || {}),(depth0 != null ? depth0.items : depth0),{"name":"each","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":2,"column":1},"end":{"line":13,"column":10}}})) != null ? stack1 : "")
+ "</ul>\n";
},"useData":true});
templates['filesummary'] = template({"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) {
var helper, alias1=container.propertyIsEnumerable;
return "<span class=\"info\">\n <span class=\"dirinfo\"></span>\n <span class=\"connector\">"
+ container.escapeExpression(((helper = (helper = helpers.connectorLabel || (depth0 != null ? depth0.connectorLabel : depth0)) != null ? helper : container.hooks.helperMissing),(typeof helper === "function" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),{"name":"connectorLabel","hash":{},"data":data}) : helper)))
+ container.escapeExpression(((helper = (helper = helpers.connectorLabel || (depth0 != null ? depth0.connectorLabel : depth0)) != null ? helper : container.hooks.helperMissing),(typeof helper === "function" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),{"name":"connectorLabel","hash":{},"data":data,"loc":{"start":{"line":3,"column":25},"end":{"line":3,"column":43}}}) : helper)))
+ "</span>\n <span class=\"fileinfo\"></span>\n <span class=\"hiddeninfo\"></span>\n <span class=\"filter\"></span>\n</span>\n";
},"useData":true});
templates['mainfileinfodetailsview'] = template({"1":function(container,depth0,helpers,partials,data) {
var helper, alias1=container.propertyIsEnumerable, alias2=depth0 != null ? depth0 : (container.nullContext || {}), alias3=container.hooks.helperMissing, alias4="function", alias5=container.escapeExpression;
return " <a href=\"#\" class=\"action action-favorite favorite permanent\">\n <span class=\"icon "
+ alias5(((helper = (helper = helpers.starClass || (depth0 != null ? depth0.starClass : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"starClass","hash":{},"data":data}) : helper)))
+ alias5(((helper = (helper = helpers.starClass || (depth0 != null ? depth0.starClass : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"starClass","hash":{},"data":data,"loc":{"start":{"line":13,"column":22},"end":{"line":13,"column":35}}}) : helper)))
+ "\" title=\""
+ alias5(((helper = (helper = helpers.starAltText || (depth0 != null ? depth0.starAltText : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"starAltText","hash":{},"data":data}) : helper)))
+ alias5(((helper = (helper = helpers.starAltText || (depth0 != null ? depth0.starAltText : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"starAltText","hash":{},"data":data,"loc":{"start":{"line":13,"column":44},"end":{"line":13,"column":59}}}) : helper)))
+ "\"></span>\n </a>\n";
},"3":function(container,depth0,helpers,partials,data) {
var helper, alias1=container.propertyIsEnumerable, alias2=depth0 != null ? depth0 : (container.nullContext || {}), alias3=container.hooks.helperMissing, alias4="function", alias5=container.escapeExpression;
return "<span class=\"size\" title=\""
+ alias5(((helper = (helper = helpers.altSize || (depth0 != null ? depth0.altSize : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"altSize","hash":{},"data":data}) : helper)))
+ alias5(((helper = (helper = helpers.altSize || (depth0 != null ? depth0.altSize : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"altSize","hash":{},"data":data,"loc":{"start":{"line":16,"column":43},"end":{"line":16,"column":54}}}) : helper)))
+ "\">"
+ alias5(((helper = (helper = helpers.size || (depth0 != null ? depth0.size : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"size","hash":{},"data":data}) : helper)))
+ alias5(((helper = (helper = helpers.size || (depth0 != null ? depth0.size : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"size","hash":{},"data":data,"loc":{"start":{"line":16,"column":56},"end":{"line":16,"column":64}}}) : helper)))
+ "</span>, ";
},"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) {
var stack1, helper, alias1=container.propertyIsEnumerable, alias2=depth0 != null ? depth0 : (container.nullContext || {}), alias3=container.hooks.helperMissing, alias4="function", alias5=container.escapeExpression;
return "<div class=\"thumbnailContainer\"><a href=\"#\" class=\"thumbnail action-default\"><div class=\"stretcher\"/></a></div>\n<div class=\"file-details-container\">\n <div class=\"fileName\">\n <h3 title=\""
+ alias5(((helper = (helper = helpers.name || (depth0 != null ? depth0.name : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"name","hash":{},"data":data}) : helper)))
+ alias5(((helper = (helper = helpers.name || (depth0 != null ? depth0.name : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"name","hash":{},"data":data,"loc":{"start":{"line":4,"column":13},"end":{"line":4,"column":21}}}) : helper)))
+ "\" class=\"ellipsis\">"
+ alias5(((helper = (helper = helpers.name || (depth0 != null ? depth0.name : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"name","hash":{},"data":data}) : helper)))
+ alias5(((helper = (helper = helpers.name || (depth0 != null ? depth0.name : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"name","hash":{},"data":data,"loc":{"start":{"line":4,"column":40},"end":{"line":4,"column":48}}}) : helper)))
+ "</h3>\n <a class=\"permalink\" href=\""
+ alias5(((helper = (helper = helpers.permalink || (depth0 != null ? depth0.permalink : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"permalink","hash":{},"data":data}) : helper)))
+ alias5(((helper = (helper = helpers.permalink || (depth0 != null ? depth0.permalink : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"permalink","hash":{},"data":data,"loc":{"start":{"line":5,"column":29},"end":{"line":5,"column":42}}}) : helper)))
+ "\" title=\""
+ alias5(((helper = (helper = helpers.permalinkTitle || (depth0 != null ? depth0.permalinkTitle : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"permalinkTitle","hash":{},"data":data}) : helper)))
+ alias5(((helper = (helper = helpers.permalinkTitle || (depth0 != null ? depth0.permalinkTitle : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"permalinkTitle","hash":{},"data":data,"loc":{"start":{"line":5,"column":51},"end":{"line":5,"column":69}}}) : helper)))
+ "\" data-clipboard-text=\""
+ alias5(((helper = (helper = helpers.permalink || (depth0 != null ? depth0.permalink : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"permalink","hash":{},"data":data}) : helper)))
+ alias5(((helper = (helper = helpers.permalink || (depth0 != null ? depth0.permalink : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"permalink","hash":{},"data":data,"loc":{"start":{"line":5,"column":92},"end":{"line":5,"column":105}}}) : helper)))
+ "\">\n <span class=\"icon icon-clippy\"></span>\n <span class=\"hidden-visually\">"
+ alias5(((helper = (helper = helpers.permalinkTitle || (depth0 != null ? depth0.permalinkTitle : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"permalinkTitle","hash":{},"data":data}) : helper)))
+ alias5(((helper = (helper = helpers.permalinkTitle || (depth0 != null ? depth0.permalinkTitle : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"permalinkTitle","hash":{},"data":data,"loc":{"start":{"line":7,"column":33},"end":{"line":7,"column":51}}}) : helper)))
+ "</span>\n </a>\n </div>\n <div class=\"file-details ellipsis\">\n"
+ ((stack1 = helpers["if"].call(alias2,(depth0 != null ? depth0.hasFavoriteAction : depth0),{"name":"if","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+ ((stack1 = helpers["if"].call(alias2,(depth0 != null ? depth0.hasFavoriteAction : depth0),{"name":"if","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":11,"column":2},"end":{"line":15,"column":9}}})) != null ? stack1 : "")
+ " "
+ ((stack1 = helpers["if"].call(alias2,(depth0 != null ? depth0.hasSize : depth0),{"name":"if","hash":{},"fn":container.program(3, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+ ((stack1 = helpers["if"].call(alias2,(depth0 != null ? depth0.hasSize : depth0),{"name":"if","hash":{},"fn":container.program(3, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":16,"column":2},"end":{"line":16,"column":80}}})) != null ? stack1 : "")
+ "<span class=\"date live-relative-timestamp\" data-timestamp=\""
+ alias5(((helper = (helper = helpers.timestamp || (depth0 != null ? depth0.timestamp : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"timestamp","hash":{},"data":data}) : helper)))
+ alias5(((helper = (helper = helpers.timestamp || (depth0 != null ? depth0.timestamp : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"timestamp","hash":{},"data":data,"loc":{"start":{"line":16,"column":139},"end":{"line":16,"column":152}}}) : helper)))
+ "\" title=\""
+ alias5(((helper = (helper = helpers.altDate || (depth0 != null ? depth0.altDate : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"altDate","hash":{},"data":data}) : helper)))
+ alias5(((helper = (helper = helpers.altDate || (depth0 != null ? depth0.altDate : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"altDate","hash":{},"data":data,"loc":{"start":{"line":16,"column":161},"end":{"line":16,"column":172}}}) : helper)))
+ "\">"
+ alias5(((helper = (helper = helpers.date || (depth0 != null ? depth0.date : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"date","hash":{},"data":data}) : helper)))
+ alias5(((helper = (helper = helpers.date || (depth0 != null ? depth0.date : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"date","hash":{},"data":data,"loc":{"start":{"line":16,"column":174},"end":{"line":16,"column":182}}}) : helper)))
+ "</span>\n </div>\n</div>\n<div class=\"hidden permalink-field\">\n <input type=\"text\" value=\""
+ alias5(((helper = (helper = helpers.permalink || (depth0 != null ? depth0.permalink : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"permalink","hash":{},"data":data}) : helper)))
+ alias5(((helper = (helper = helpers.permalink || (depth0 != null ? depth0.permalink : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"permalink","hash":{},"data":data,"loc":{"start":{"line":20,"column":27},"end":{"line":20,"column":40}}}) : helper)))
+ "\" placeholder=\""
+ alias5(((helper = (helper = helpers.permalinkTitle || (depth0 != null ? depth0.permalinkTitle : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"permalinkTitle","hash":{},"data":data}) : helper)))
+ alias5(((helper = (helper = helpers.permalinkTitle || (depth0 != null ? depth0.permalinkTitle : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"permalinkTitle","hash":{},"data":data,"loc":{"start":{"line":20,"column":55},"end":{"line":20,"column":73}}}) : helper)))
+ "\" readonly=\"readonly\"/>\n</div>\n";
},"useData":true});
templates['newfilemenu'] = template({"1":function(container,depth0,helpers,partials,data) {
var helper, alias1=container.propertyIsEnumerable, alias2=depth0 != null ? depth0 : (container.nullContext || {}), alias3=container.hooks.helperMissing, alias4="function", alias5=container.escapeExpression;
return " <li>\n <a href=\"#\" class=\"menuitem\" data-templatename=\""
+ alias5(((helper = (helper = helpers.templateName || (depth0 != null ? depth0.templateName : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"templateName","hash":{},"data":data}) : helper)))
+ alias5(((helper = (helper = helpers.templateName || (depth0 != null ? depth0.templateName : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"templateName","hash":{},"data":data,"loc":{"start":{"line":7,"column":51},"end":{"line":7,"column":67}}}) : helper)))
+ "\" data-filetype=\""
+ alias5(((helper = (helper = helpers.fileType || (depth0 != null ? depth0.fileType : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"fileType","hash":{},"data":data}) : helper)))
+ alias5(((helper = (helper = helpers.fileType || (depth0 != null ? depth0.fileType : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"fileType","hash":{},"data":data,"loc":{"start":{"line":7,"column":84},"end":{"line":7,"column":96}}}) : helper)))
+ "\" data-action=\""
+ alias5(((helper = (helper = helpers.id || (depth0 != null ? depth0.id : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"id","hash":{},"data":data}) : helper)))
+ alias5(((helper = (helper = helpers.id || (depth0 != null ? depth0.id : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"id","hash":{},"data":data,"loc":{"start":{"line":7,"column":111},"end":{"line":7,"column":117}}}) : helper)))
+ "\"><span class=\"icon "
+ alias5(((helper = (helper = helpers.iconClass || (depth0 != null ? depth0.iconClass : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"iconClass","hash":{},"data":data}) : helper)))
+ alias5(((helper = (helper = helpers.iconClass || (depth0 != null ? depth0.iconClass : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"iconClass","hash":{},"data":data,"loc":{"start":{"line":7,"column":137},"end":{"line":7,"column":150}}}) : helper)))
+ " svg\"></span><span class=\"displayname\">"
+ alias5(((helper = (helper = helpers.displayName || (depth0 != null ? depth0.displayName : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"displayName","hash":{},"data":data}) : helper)))
+ alias5(((helper = (helper = helpers.displayName || (depth0 != null ? depth0.displayName : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"displayName","hash":{},"data":data,"loc":{"start":{"line":7,"column":189},"end":{"line":7,"column":204}}}) : helper)))
+ "</span></a>\n </li>\n";
},"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) {
var stack1, helper, alias1=container.propertyIsEnumerable, alias2=depth0 != null ? depth0 : (container.nullContext || {}), alias3=container.hooks.helperMissing, alias4="function", alias5=container.escapeExpression;
return "<ul>\n <li>\n <label for=\"file_upload_start\" class=\"menuitem\" data-action=\"upload\" title=\""
+ alias5(((helper = (helper = helpers.uploadMaxHumanFilesize || (depth0 != null ? depth0.uploadMaxHumanFilesize : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"uploadMaxHumanFilesize","hash":{},"data":data}) : helper)))
+ alias5(((helper = (helper = helpers.uploadMaxHumanFilesize || (depth0 != null ? depth0.uploadMaxHumanFilesize : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"uploadMaxHumanFilesize","hash":{},"data":data,"loc":{"start":{"line":3,"column":78},"end":{"line":3,"column":104}}}) : helper)))
+ "\" tabindex=\"0\"><span class=\"svg icon icon-upload\"></span><span class=\"displayname\">"
+ alias5(((helper = (helper = helpers.uploadLabel || (depth0 != null ? depth0.uploadLabel : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"uploadLabel","hash":{},"data":data}) : helper)))
+ alias5(((helper = (helper = helpers.uploadLabel || (depth0 != null ? depth0.uploadLabel : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"uploadLabel","hash":{},"data":data,"loc":{"start":{"line":3,"column":187},"end":{"line":3,"column":202}}}) : helper)))
+ "</span></label>\n </li>\n"
+ ((stack1 = helpers.each.call(alias2,(depth0 != null ? depth0.items : depth0),{"name":"each","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+ ((stack1 = helpers.each.call(alias2,(depth0 != null ? depth0.items : depth0),{"name":"each","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data,"loc":{"start":{"line":5,"column":1},"end":{"line":9,"column":10}}})) != null ? stack1 : "")
+ "</ul>\n";
},"useData":true});
templates['newfilemenu_filename_form'] = template({"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) {
var helper, alias1=container.propertyIsEnumerable, alias2=depth0 != null ? depth0 : (container.nullContext || {}), alias3=container.hooks.helperMissing, alias4="function", alias5=container.escapeExpression;
return "<form class=\"filenameform\">\n <input id=\""
+ alias5(((helper = (helper = helpers.cid || (depth0 != null ? depth0.cid : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"cid","hash":{},"data":data}) : helper)))
+ alias5(((helper = (helper = helpers.cid || (depth0 != null ? depth0.cid : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"cid","hash":{},"data":data,"loc":{"start":{"line":2,"column":12},"end":{"line":2,"column":19}}}) : helper)))
+ "-input-"
+ alias5(((helper = (helper = helpers.fileType || (depth0 != null ? depth0.fileType : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"fileType","hash":{},"data":data}) : helper)))
+ alias5(((helper = (helper = helpers.fileType || (depth0 != null ? depth0.fileType : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"fileType","hash":{},"data":data,"loc":{"start":{"line":2,"column":26},"end":{"line":2,"column":38}}}) : helper)))
+ "\" type=\"text\" value=\""
+ alias5(((helper = (helper = helpers.fileName || (depth0 != null ? depth0.fileName : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"fileName","hash":{},"data":data}) : helper)))
+ alias5(((helper = (helper = helpers.fileName || (depth0 != null ? depth0.fileName : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"fileName","hash":{},"data":data,"loc":{"start":{"line":2,"column":59},"end":{"line":2,"column":71}}}) : helper)))
+ "\" autocomplete=\"off\" autocapitalize=\"off\">\n <input type=\"submit\" value=\" \" class=\"icon-confirm\" />\n</form>\n";
},"useData":true});
templates['operationprogressbar'] = template({"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) {
var helper, alias1=container.propertyIsEnumerable;
return "<div id=\"uploadprogressbar\">\n <em class=\"label outer\" style=\"display:none\"></em>\n</div>\n<button class=\"stop icon-close\" style=\"display:none\">\n <span class=\"hidden-visually\">"
+ container.escapeExpression(((helper = (helper = helpers.textCancelButton || (depth0 != null ? depth0.textCancelButton : depth0)) != null ? helper : container.hooks.helperMissing),(typeof helper === "function" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),{"name":"textCancelButton","hash":{},"data":data}) : helper)))
+ container.escapeExpression(((helper = (helper = helpers.textCancelButton || (depth0 != null ? depth0.textCancelButton : depth0)) != null ? helper : container.hooks.helperMissing),(typeof helper === "function" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),{"name":"textCancelButton","hash":{},"data":data,"loc":{"start":{"line":5,"column":31},"end":{"line":5,"column":51}}}) : helper)))
+ "</span>\n</button>\n";
},"useData":true});
templates['operationprogressbarlabel'] = template({"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) {
var helper, alias1=container.propertyIsEnumerable, alias2=depth0 != null ? depth0 : (container.nullContext || {}), alias3=container.hooks.helperMissing, alias4="function", alias5=container.escapeExpression;
return "<em class=\"label\">\n <span class=\"desktop\">"
+ alias5(((helper = (helper = helpers.textDesktop || (depth0 != null ? depth0.textDesktop : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"textDesktop","hash":{},"data":data}) : helper)))
+ alias5(((helper = (helper = helpers.textDesktop || (depth0 != null ? depth0.textDesktop : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"textDesktop","hash":{},"data":data,"loc":{"start":{"line":2,"column":23},"end":{"line":2,"column":38}}}) : helper)))
+ "</span>\n <span class=\"mobile\">"
+ alias5(((helper = (helper = helpers.textMobile || (depth0 != null ? depth0.textMobile : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"textMobile","hash":{},"data":data}) : helper)))
+ alias5(((helper = (helper = helpers.textMobile || (depth0 != null ? depth0.textMobile : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"textMobile","hash":{},"data":data,"loc":{"start":{"line":3,"column":22},"end":{"line":3,"column":36}}}) : helper)))
+ "</span>\n</em>\n";
},"useData":true});
templates['template_addbutton'] = template({"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) {
var helper, alias1=container.propertyIsEnumerable, alias2=depth0 != null ? depth0 : (container.nullContext || {}), alias3=container.hooks.helperMissing, alias4="function", alias5=container.escapeExpression;
return "<a href=\"#\" class=\"button new\">\n <span class=\"icon "
+ alias5(((helper = (helper = helpers.iconClass || (depth0 != null ? depth0.iconClass : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"iconClass","hash":{},"data":data}) : helper)))
+ alias5(((helper = (helper = helpers.iconClass || (depth0 != null ? depth0.iconClass : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"iconClass","hash":{},"data":data,"loc":{"start":{"line":2,"column":19},"end":{"line":2,"column":32}}}) : helper)))
+ "\"></span>\n <span class=\"hidden-visually\">"
+ alias5(((helper = (helper = helpers.addText || (depth0 != null ? depth0.addText : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"addText","hash":{},"data":data}) : helper)))
+ alias5(((helper = (helper = helpers.addText || (depth0 != null ? depth0.addText : depth0)) != null ? helper : alias3),(typeof helper === alias4 ? helper.call(alias2,{"name":"addText","hash":{},"data":data,"loc":{"start":{"line":3,"column":31},"end":{"line":3,"column":42}}}) : helper)))
+ "</span>\n</a>\n";
},"useData":true});
})();

View File

@ -137,6 +137,8 @@ OC.L10N.register(
"Unlimited" : "Il·limitat",
"Upload (max. %s)" : "Càrrega (màx. %s)",
"File Management" : "Gestió de fitxers",
"Error while loading the file data" : "S'ha produït un error mentre es carregava la informació de l'arxiu",
"Unable to change the favourite state of the file" : "No s'ha pogut canviar l'estat de favorit de l'arxiu",
"%s used" : "%s utilitzat",
"%s%% of %s used" : "Usat%s%% de %s ",
"%1$s of %2$s used" : "%1$s de %2$s utilitzat",

View File

@ -135,6 +135,8 @@
"Unlimited" : "Il·limitat",
"Upload (max. %s)" : "Càrrega (màx. %s)",
"File Management" : "Gestió de fitxers",
"Error while loading the file data" : "S'ha produït un error mentre es carregava la informació de l'arxiu",
"Unable to change the favourite state of the file" : "No s'ha pogut canviar l'estat de favorit de l'arxiu",
"%s used" : "%s utilitzat",
"%s%% of %s used" : "Usat%s%% de %s ",
"%1$s of %2$s used" : "%1$s de %2$s utilitzat",

View File

@ -13,13 +13,13 @@ OC.L10N.register(
"Delete" : "Smazat",
"Home" : "Domů",
"Close" : "Zavřít",
"Could not create folder \"{dir}\"" : "Nelze vytvořit složku „{dir}“",
"Could not create folder \"{dir}\"" : "Složku „{dir}“ nelze vytvořit",
"This will stop your current uploads." : "Toto zastaví stávající nahrávání.",
"Upload cancelled." : "Odesílání zrušeno.",
"Processing files …" : "Zpracovávání souborů…",
"…" : "…",
"Unable to upload {filename} as it is a directory or has 0 bytes" : "Nelze nahrát soubor {filename}, protože je to buď adresář nebo má velikost 0 bytů",
"Not enough free space, you are uploading {size1} but only {size2} is left" : "Není dostatek místa pro uložení, velikost souboru je {size1}, zbývá pouze {size2}",
"Unable to upload {filename} as it is a directory or has 0 bytes" : "Soubor {filename} nelze nahrát, protože je to buď adresář nebo má velikost nula bajtů",
"Not enough free space, you are uploading {size1} but only {size2} is left" : "Nedostatek místa pro uložení velikost souboru je {size1}, ale zbývá pouze {size2}",
"Target folder \"{dir}\" does not exist any more" : "Cílová složka „{dir}“ už neexistuje",
"Not enough free space" : "Nedostatek volného prostoru",
"An unknown error has occurred" : "Vyskytla se neznámá chyba",
@ -28,7 +28,7 @@ OC.L10N.register(
"Uploading that item is not supported" : "Nahrání této položky není podporováno",
"Target folder does not exist any more" : "Cílová složka už neexistuje",
"Error when assembling chunks, status code {status}" : "Chyba při kompletaci shluků, kód chyby {status}",
"Actions" : "Činnosti",
"Actions" : "Akce",
"Rename" : "Přejmenovat",
"Copy" : "Kopírovat",
"Choose target folder" : "Zvolte cílovou složku",
@ -45,27 +45,27 @@ OC.L10N.register(
"Unable to determine date" : "Nelze určit datum",
"This operation is forbidden" : "Tato operace je zakázána",
"This directory is unavailable, please check the logs or contact the administrator" : "Tento adresář není dostupný, zkontrolujte záznamy událostí nebo se obraťte na správce",
"Could not move \"{file}\", target exists" : "Nelze přesunout „{file}“, cíl existuje",
"Could not move \"{file}\"" : "Nelze přesunout „{file}“",
"Could not move \"{file}\", target exists" : "„{file}“ nelze přesunout cíl už existuje",
"Could not move \"{file}\"" : "„{file}“ nelze přesunout",
"copy" : "Kopírovat",
"Could not copy \"{file}\", target exists" : "Nelze kopírovat „{file}“, cíl už existuje",
"Could not copy \"{file}\"" : "Nelze kopírovat „{file}“",
"Copied {origin} inside {destination}" : "{origin} zkopírován do {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} a {nbfiles} dalších souborů zkopírováno do {destination}",
"{newName} already exists" : "{newName} už existuje",
"Could not rename \"{fileName}\", it does not exist any more" : "Nelze přejmenovat „{fileName}“, už neexistuje",
"The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Název „{targetName}“ je už použito ve složce „{dir}“. Zvolte jiný název.",
"Could not rename \"{fileName}\"" : "Nelze přejmenovat „{fileName}“",
"Could not create file \"{file}\"" : "Nelze vytvořit soubor „{file}“",
"Could not create file \"{file}\" because it already exists" : "Nelze vytvořit soubor „{file}“, protože už existuje",
"Could not create folder \"{dir}\" because it already exists" : "Nelze vytvořit složku „{dir}“, protože už existuje",
"Could not rename \"{fileName}\", it does not exist any more" : "„{fileName}“ nelze přejmenovat už neexistuje",
"The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Název „{targetName}“ je už použitý ve složce „{dir}“. Zvolte jiný název.",
"Could not rename \"{fileName}\"" : "„{fileName}“ nelze přejmenovat",
"Could not create file \"{file}\"" : "Soubor „{file}“ nelze vytvořit",
"Could not create file \"{file}\" because it already exists" : "Soubor „{file}“ nelze vytvořit, protože už existuje",
"Could not create folder \"{dir}\" because it already exists" : "Složku „{dir}“ nelze vytvořit, protože už existuje",
"Error deleting file \"{fileName}\"." : "Chyba mazání souboru „{fileName}“.",
"No search results in other folders for {tag}{filter}{endtag}" : "Žádné výsledky hledání v ostatních složkách pro {tag}{filter}{endtag}",
"Name" : "Název",
"Size" : "Velikost",
"Modified" : "Upraveno",
"_%n folder_::_%n folders_" : ["%n šložka","%n složky","%n složek","%n složky"],
"_%n file_::_%n files_" : ["%n soubor","%n soubory","%n souborů","%n souborů"],
"_%n folder_::_%n folders_" : ["%n složka","%n složky","%n složek","%n složky"],
"_%n file_::_%n files_" : ["%n soubor","%n soubory","%n souborů","%n soubory"],
"{dirs} and {files}" : "{dirs} a {files}",
"_including %n hidden_::_including %n hidden_" : ["přidán %n skrytý","přidány %n skryté","přidáno %n skrytých","přidáno %n skrytých"],
"You dont have permission to upload or create files here" : "Nemáte oprávnění sem nahrávat nebo vytvářet soubory",
@ -78,17 +78,17 @@ OC.L10N.register(
"File name cannot be empty." : "Je třeba vyplnit název souboru.",
"\"/\" is not allowed inside a file name." : "„/“ není povolený znak v názvu souboru.",
"\"{name}\" is not an allowed filetype" : "„{name}“ není povolený typ souboru",
"Storage of {owner} is full, files can not be updated or synced anymore!" : "Úložiště uživatele {owner} je zaplněné, soubory nelze aktualizovat a synchronizovat!",
"Your storage is full, files can not be updated or synced anymore!" : "Vaše úložiště je plné, nelze aktualizovat ani synchronizovat soubory.",
"Storage of {owner} is full, files can not be updated or synced anymore!" : "Úložiště uživatele {owner} je zaplněné nelze aktualizovat ani synchronizovat soubory!",
"Your storage is full, files can not be updated or synced anymore!" : "Vaše úložiště je plné nelze aktualizovat ani synchronizovat soubory!.",
"Storage of {owner} is almost full ({usedSpacePercent}%)" : "Úložiště uživatele {owner} je téměř plné ({usedSpacePercent}%)",
"Your storage is almost full ({usedSpacePercent}%)" : "Vaše úložiště je téměř plné ({usedSpacePercent}%)",
"_matches '{filter}'_::_match '{filter}'_" : ["odpovídá '{filter}'","odpovídá '{filter}'","odpovídá '{filter}'","odpovídá '{filter}'"],
"_matches '{filter}'_::_match '{filter}'_" : ["odpovídá „{filter}“","odpovídají „{filter}“","odpovídá „{filter}“","odpovídají „{filter}“"],
"View in folder" : "Zobrazit ve složce",
"Copied!" : "Zkopírováno!",
"Copy direct link (only works for users who have access to this file/folder)" : "Zkopírovat přímý odkaz (funguje pouze pro uživatele, kteří mají přístup k tomuto souboru/složce)",
"Path" : "Cesta",
"_%n byte_::_%n bytes_" : ["%n bajt","%n bajty","%n bajtů","%n bajtů"],
"Favorited" : "Přidáno k oblíbeným",
"Path" : "Popis umístění",
"_%n byte_::_%n bytes_" : ["%n bajt","%n bajty","%n bajtů","%n bajty"],
"Favorited" : "Přidáno mezi oblíbené",
"Favorite" : "Oblíbené",
"You can only favorite a single file or folder at a time" : "Do oblíbených lze soubory a složky zařazovat jen jednotlivě",
"New folder" : "Nová složka",
@ -96,7 +96,7 @@ OC.L10N.register(
"Not favorited" : "Nepřidáno do oblíbených",
"Remove from favorites" : "Odebrat z oblíbených",
"Add to favorites" : "Přidat do oblíbených",
"An error occurred while trying to update the tags" : "Při pokusu o úpravu štítků nastala chyba",
"An error occurred while trying to update the tags" : "Při pokusu o úpravu štítků došlo k chybě",
"Added to favorites" : "Přidán k oblíbeným",
"Removed from favorites" : "Odebráno z oblíbených",
"You added {file} to your favorites" : "Do svých oblíbených jste přidali {file}",
@ -129,7 +129,7 @@ OC.L10N.register(
"You moved {oldfile} to {newfile}" : "{oldfile} jste přesunul(a) do {newfile}",
"{user} moved {oldfile} to {newfile}" : "{user} přesunul(a) {oldfile} do {newfile}",
"A file has been added to or removed from your <strong>favorites</strong>" : "Soubor byl přidán, nebo odstraněn z vašich <strong>oblíbených</strong>",
"A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "Soubor nebo adresář byl <strong>změněn</strong> nebo <strong>přejmenován</strong>",
"A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "Soubor nebo složka byla <strong>změněna</strong> nebo <strong>přejmenována</strong>",
"A new file or folder has been <strong>created</strong>" : "Byl <strong>vytvořen</strong> nový soubor nebo složka",
"A file or folder has been <strong>deleted</strong>" : "Soubor nebo složka byla <strong>smazána</strong>",
"Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Omezovat oznámení o tvorbě a změnách <strong>oblíbených souborů</strong> <em>(Pouze v proudu)</em>",
@ -137,21 +137,23 @@ OC.L10N.register(
"Unlimited" : "Neomezeně",
"Upload (max. %s)" : "Nahrát (max. %s)",
"File Management" : "Správa souboru",
"Error while loading the file data" : "Chyba při načítání dat souboru",
"Unable to change the favourite state of the file" : "Nedaří se změnit stav „oblíbené“ souboru",
"%s used" : "%s použito",
"%1$s of %2$s used" : "%1$s z %2$s použito",
"Settings" : "Nastavení",
"Show hidden files" : "Zobrazit skryté soubory",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">access your Files via WebDAV</a>" : "Použijte tuto adresu pro <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">přístup k vašim souborům přes WebDAV</a>",
"Toggle grid view" : "Přepnout zobrazení mřížky",
"Toggle grid view" : "Vyp/zap. zobrazení v mřížce",
"No files in here" : "Žádné soubory",
"Upload some content or sync with your devices!" : "Nahrajte nějaký obsah nebo synchronizujte se svými přístroji!",
"No entries found in this folder" : "V této složce nebylo nic nalezeno",
"Select all" : "Vybrat vše",
"Upload too large" : "Odesílaný soubor je příliš velký",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Soubory, které se snažíte odeslat, překračují limit velikosti odesílání na tomto serveru.",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Soubory, které se snažíte nahrát, překračují limit velikosti nahrávání na tomto serveru.",
"No favorites yet" : "Zatím nic oblíbeného",
"Files and folders you mark as favorite will show up here" : "Zde budou zobrazeny soubory a složky označe jako oblíbené",
"Files and folders you mark as favorite will show up here" : "Zde budou zobrazeny soubory a složky, které označíte jako oblíbené",
"Tags" : "Značky",
"Deleted files" : "Odstraněné soubory",
"Shares" : "Sdílení",
@ -162,11 +164,11 @@ OC.L10N.register(
"Text file" : "Textový soubor",
"New text file.txt" : "Nový textový soubor.txt",
"File handling" : "Zacházení se soubory",
"Maximum upload size" : "Maximální velikost pro odesílání",
"Maximum upload size" : "Nejvyšší umožněná velikost nahrávaného soubour",
"max. possible: " : "největší možná: ",
"Save" : "Uložit",
"With PHP-FPM it might take 5 minutes for changes to be applied." : "Při použití PHP-FPM může změna nastavení trvat až 5 minut od uložení.",
"Missing permissions to edit from here." : "Pro úpravy v aktuálním náhledu chybí oprávnění.",
"Missing permissions to edit from here." : "Nemáte oprávnění odsud upravovat.",
"Cancel upload" : "Zrušit nahrávání",
"%s of %s used" : "%s z %s použito",
"%1$s%% of %2$s used" : "použito %1$s%% z %2$s"

View File

@ -11,13 +11,13 @@
"Delete" : "Smazat",
"Home" : "Domů",
"Close" : "Zavřít",
"Could not create folder \"{dir}\"" : "Nelze vytvořit složku „{dir}“",
"Could not create folder \"{dir}\"" : "Složku „{dir}“ nelze vytvořit",
"This will stop your current uploads." : "Toto zastaví stávající nahrávání.",
"Upload cancelled." : "Odesílání zrušeno.",
"Processing files …" : "Zpracovávání souborů…",
"…" : "…",
"Unable to upload {filename} as it is a directory or has 0 bytes" : "Nelze nahrát soubor {filename}, protože je to buď adresář nebo má velikost 0 bytů",
"Not enough free space, you are uploading {size1} but only {size2} is left" : "Není dostatek místa pro uložení, velikost souboru je {size1}, zbývá pouze {size2}",
"Unable to upload {filename} as it is a directory or has 0 bytes" : "Soubor {filename} nelze nahrát, protože je to buď adresář nebo má velikost nula bajtů",
"Not enough free space, you are uploading {size1} but only {size2} is left" : "Nedostatek místa pro uložení velikost souboru je {size1}, ale zbývá pouze {size2}",
"Target folder \"{dir}\" does not exist any more" : "Cílová složka „{dir}“ už neexistuje",
"Not enough free space" : "Nedostatek volného prostoru",
"An unknown error has occurred" : "Vyskytla se neznámá chyba",
@ -26,7 +26,7 @@
"Uploading that item is not supported" : "Nahrání této položky není podporováno",
"Target folder does not exist any more" : "Cílová složka už neexistuje",
"Error when assembling chunks, status code {status}" : "Chyba při kompletaci shluků, kód chyby {status}",
"Actions" : "Činnosti",
"Actions" : "Akce",
"Rename" : "Přejmenovat",
"Copy" : "Kopírovat",
"Choose target folder" : "Zvolte cílovou složku",
@ -43,27 +43,27 @@
"Unable to determine date" : "Nelze určit datum",
"This operation is forbidden" : "Tato operace je zakázána",
"This directory is unavailable, please check the logs or contact the administrator" : "Tento adresář není dostupný, zkontrolujte záznamy událostí nebo se obraťte na správce",
"Could not move \"{file}\", target exists" : "Nelze přesunout „{file}“, cíl existuje",
"Could not move \"{file}\"" : "Nelze přesunout „{file}“",
"Could not move \"{file}\", target exists" : "„{file}“ nelze přesunout cíl už existuje",
"Could not move \"{file}\"" : "„{file}“ nelze přesunout",
"copy" : "Kopírovat",
"Could not copy \"{file}\", target exists" : "Nelze kopírovat „{file}“, cíl už existuje",
"Could not copy \"{file}\"" : "Nelze kopírovat „{file}“",
"Copied {origin} inside {destination}" : "{origin} zkopírován do {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} a {nbfiles} dalších souborů zkopírováno do {destination}",
"{newName} already exists" : "{newName} už existuje",
"Could not rename \"{fileName}\", it does not exist any more" : "Nelze přejmenovat „{fileName}“, už neexistuje",
"The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Název „{targetName}“ je už použito ve složce „{dir}“. Zvolte jiný název.",
"Could not rename \"{fileName}\"" : "Nelze přejmenovat „{fileName}“",
"Could not create file \"{file}\"" : "Nelze vytvořit soubor „{file}“",
"Could not create file \"{file}\" because it already exists" : "Nelze vytvořit soubor „{file}“, protože už existuje",
"Could not create folder \"{dir}\" because it already exists" : "Nelze vytvořit složku „{dir}“, protože už existuje",
"Could not rename \"{fileName}\", it does not exist any more" : "„{fileName}“ nelze přejmenovat už neexistuje",
"The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Název „{targetName}“ je už použitý ve složce „{dir}“. Zvolte jiný název.",
"Could not rename \"{fileName}\"" : "„{fileName}“ nelze přejmenovat",
"Could not create file \"{file}\"" : "Soubor „{file}“ nelze vytvořit",
"Could not create file \"{file}\" because it already exists" : "Soubor „{file}“ nelze vytvořit, protože už existuje",
"Could not create folder \"{dir}\" because it already exists" : "Složku „{dir}“ nelze vytvořit, protože už existuje",
"Error deleting file \"{fileName}\"." : "Chyba mazání souboru „{fileName}“.",
"No search results in other folders for {tag}{filter}{endtag}" : "Žádné výsledky hledání v ostatních složkách pro {tag}{filter}{endtag}",
"Name" : "Název",
"Size" : "Velikost",
"Modified" : "Upraveno",
"_%n folder_::_%n folders_" : ["%n šložka","%n složky","%n složek","%n složky"],
"_%n file_::_%n files_" : ["%n soubor","%n soubory","%n souborů","%n souborů"],
"_%n folder_::_%n folders_" : ["%n složka","%n složky","%n složek","%n složky"],
"_%n file_::_%n files_" : ["%n soubor","%n soubory","%n souborů","%n soubory"],
"{dirs} and {files}" : "{dirs} a {files}",
"_including %n hidden_::_including %n hidden_" : ["přidán %n skrytý","přidány %n skryté","přidáno %n skrytých","přidáno %n skrytých"],
"You dont have permission to upload or create files here" : "Nemáte oprávnění sem nahrávat nebo vytvářet soubory",
@ -76,17 +76,17 @@
"File name cannot be empty." : "Je třeba vyplnit název souboru.",
"\"/\" is not allowed inside a file name." : "„/“ není povolený znak v názvu souboru.",
"\"{name}\" is not an allowed filetype" : "„{name}“ není povolený typ souboru",
"Storage of {owner} is full, files can not be updated or synced anymore!" : "Úložiště uživatele {owner} je zaplněné, soubory nelze aktualizovat a synchronizovat!",
"Your storage is full, files can not be updated or synced anymore!" : "Vaše úložiště je plné, nelze aktualizovat ani synchronizovat soubory.",
"Storage of {owner} is full, files can not be updated or synced anymore!" : "Úložiště uživatele {owner} je zaplněné nelze aktualizovat ani synchronizovat soubory!",
"Your storage is full, files can not be updated or synced anymore!" : "Vaše úložiště je plné nelze aktualizovat ani synchronizovat soubory!.",
"Storage of {owner} is almost full ({usedSpacePercent}%)" : "Úložiště uživatele {owner} je téměř plné ({usedSpacePercent}%)",
"Your storage is almost full ({usedSpacePercent}%)" : "Vaše úložiště je téměř plné ({usedSpacePercent}%)",
"_matches '{filter}'_::_match '{filter}'_" : ["odpovídá '{filter}'","odpovídá '{filter}'","odpovídá '{filter}'","odpovídá '{filter}'"],
"_matches '{filter}'_::_match '{filter}'_" : ["odpovídá „{filter}“","odpovídají „{filter}“","odpovídá „{filter}“","odpovídají „{filter}“"],
"View in folder" : "Zobrazit ve složce",
"Copied!" : "Zkopírováno!",
"Copy direct link (only works for users who have access to this file/folder)" : "Zkopírovat přímý odkaz (funguje pouze pro uživatele, kteří mají přístup k tomuto souboru/složce)",
"Path" : "Cesta",
"_%n byte_::_%n bytes_" : ["%n bajt","%n bajty","%n bajtů","%n bajtů"],
"Favorited" : "Přidáno k oblíbeným",
"Path" : "Popis umístění",
"_%n byte_::_%n bytes_" : ["%n bajt","%n bajty","%n bajtů","%n bajty"],
"Favorited" : "Přidáno mezi oblíbené",
"Favorite" : "Oblíbené",
"You can only favorite a single file or folder at a time" : "Do oblíbených lze soubory a složky zařazovat jen jednotlivě",
"New folder" : "Nová složka",
@ -94,7 +94,7 @@
"Not favorited" : "Nepřidáno do oblíbených",
"Remove from favorites" : "Odebrat z oblíbených",
"Add to favorites" : "Přidat do oblíbených",
"An error occurred while trying to update the tags" : "Při pokusu o úpravu štítků nastala chyba",
"An error occurred while trying to update the tags" : "Při pokusu o úpravu štítků došlo k chybě",
"Added to favorites" : "Přidán k oblíbeným",
"Removed from favorites" : "Odebráno z oblíbených",
"You added {file} to your favorites" : "Do svých oblíbených jste přidali {file}",
@ -127,7 +127,7 @@
"You moved {oldfile} to {newfile}" : "{oldfile} jste přesunul(a) do {newfile}",
"{user} moved {oldfile} to {newfile}" : "{user} přesunul(a) {oldfile} do {newfile}",
"A file has been added to or removed from your <strong>favorites</strong>" : "Soubor byl přidán, nebo odstraněn z vašich <strong>oblíbených</strong>",
"A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "Soubor nebo adresář byl <strong>změněn</strong> nebo <strong>přejmenován</strong>",
"A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "Soubor nebo složka byla <strong>změněna</strong> nebo <strong>přejmenována</strong>",
"A new file or folder has been <strong>created</strong>" : "Byl <strong>vytvořen</strong> nový soubor nebo složka",
"A file or folder has been <strong>deleted</strong>" : "Soubor nebo složka byla <strong>smazána</strong>",
"Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Omezovat oznámení o tvorbě a změnách <strong>oblíbených souborů</strong> <em>(Pouze v proudu)</em>",
@ -135,21 +135,23 @@
"Unlimited" : "Neomezeně",
"Upload (max. %s)" : "Nahrát (max. %s)",
"File Management" : "Správa souboru",
"Error while loading the file data" : "Chyba při načítání dat souboru",
"Unable to change the favourite state of the file" : "Nedaří se změnit stav „oblíbené“ souboru",
"%s used" : "%s použito",
"%1$s of %2$s used" : "%1$s z %2$s použito",
"Settings" : "Nastavení",
"Show hidden files" : "Zobrazit skryté soubory",
"WebDAV" : "WebDAV",
"Use this address to <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">access your Files via WebDAV</a>" : "Použijte tuto adresu pro <a href=\"%s\" target=\"_blank\" rel=\"noreferrer noopener\">přístup k vašim souborům přes WebDAV</a>",
"Toggle grid view" : "Přepnout zobrazení mřížky",
"Toggle grid view" : "Vyp/zap. zobrazení v mřížce",
"No files in here" : "Žádné soubory",
"Upload some content or sync with your devices!" : "Nahrajte nějaký obsah nebo synchronizujte se svými přístroji!",
"No entries found in this folder" : "V této složce nebylo nic nalezeno",
"Select all" : "Vybrat vše",
"Upload too large" : "Odesílaný soubor je příliš velký",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Soubory, které se snažíte odeslat, překračují limit velikosti odesílání na tomto serveru.",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Soubory, které se snažíte nahrát, překračují limit velikosti nahrávání na tomto serveru.",
"No favorites yet" : "Zatím nic oblíbeného",
"Files and folders you mark as favorite will show up here" : "Zde budou zobrazeny soubory a složky označe jako oblíbené",
"Files and folders you mark as favorite will show up here" : "Zde budou zobrazeny soubory a složky, které označíte jako oblíbené",
"Tags" : "Značky",
"Deleted files" : "Odstraněné soubory",
"Shares" : "Sdílení",
@ -160,11 +162,11 @@
"Text file" : "Textový soubor",
"New text file.txt" : "Nový textový soubor.txt",
"File handling" : "Zacházení se soubory",
"Maximum upload size" : "Maximální velikost pro odesílání",
"Maximum upload size" : "Nejvyšší umožněná velikost nahrávaného soubour",
"max. possible: " : "největší možná: ",
"Save" : "Uložit",
"With PHP-FPM it might take 5 minutes for changes to be applied." : "Při použití PHP-FPM může změna nastavení trvat až 5 minut od uložení.",
"Missing permissions to edit from here." : "Pro úpravy v aktuálním náhledu chybí oprávnění.",
"Missing permissions to edit from here." : "Nemáte oprávnění odsud upravovat.",
"Cancel upload" : "Zrušit nahrávání",
"%s of %s used" : "%s z %s použito",
"%1$s%% of %2$s used" : "použito %1$s%% z %2$s"

View File

@ -137,6 +137,8 @@ OC.L10N.register(
"Unlimited" : "Unbegrenzt",
"Upload (max. %s)" : "Hochladen (max. %s)",
"File Management" : "Dateiverwaltung",
"Error while loading the file data" : "Fehler beim Laden der Datei-Daten",
"Unable to change the favourite state of the file" : "Der favorisierte Status der Datei kann nicht geändert werden",
"%s used" : "%s verwendet",
"%s%% of %s used" : "%s%% von %s verwendet",
"%1$s of %2$s used" : "%1$s von %2$s verwendet",

View File

@ -135,6 +135,8 @@
"Unlimited" : "Unbegrenzt",
"Upload (max. %s)" : "Hochladen (max. %s)",
"File Management" : "Dateiverwaltung",
"Error while loading the file data" : "Fehler beim Laden der Datei-Daten",
"Unable to change the favourite state of the file" : "Der favorisierte Status der Datei kann nicht geändert werden",
"%s used" : "%s verwendet",
"%s%% of %s used" : "%s%% von %s verwendet",
"%1$s of %2$s used" : "%1$s von %2$s verwendet",

View File

@ -137,6 +137,8 @@ OC.L10N.register(
"Unlimited" : "Unbegrenzt",
"Upload (max. %s)" : "Hochladen (max. %s)",
"File Management" : "Dateiverwaltung",
"Error while loading the file data" : "Fehler beim Laden der Datei-Daten",
"Unable to change the favourite state of the file" : "Der favorisierte Status der Datei kann nicht geändert werden",
"%s used" : " %s verwendet",
"%s%% of %s used" : "%s%% von %s verwendet",
"%1$s of %2$s used" : "%1$s von %2$s verwendet",

View File

@ -135,6 +135,8 @@
"Unlimited" : "Unbegrenzt",
"Upload (max. %s)" : "Hochladen (max. %s)",
"File Management" : "Dateiverwaltung",
"Error while loading the file data" : "Fehler beim Laden der Datei-Daten",
"Unable to change the favourite state of the file" : "Der favorisierte Status der Datei kann nicht geändert werden",
"%s used" : " %s verwendet",
"%s%% of %s used" : "%s%% von %s verwendet",
"%1$s of %2$s used" : "%1$s von %2$s verwendet",

View File

@ -23,7 +23,7 @@ OC.L10N.register(
"Target folder \"{dir}\" does not exist any more" : "Cela dosierujo \"{dir}\" ne plu ekzistas",
"Not enough free space" : "Ne sufiĉe libera spaco",
"An unknown error has occurred" : "Nekonata eraro okazis",
"Uploading …" : "Alŝutante…",
"Uploading …" : "Alŝutado…",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} el {totalSize} ({bitrate})",
"Uploading that item is not supported" : "Alŝuto de tiu elemento ne estas subtenata",
"Target folder does not exist any more" : "La cela dosierujo ne plu ekzistas",
@ -137,6 +137,8 @@ OC.L10N.register(
"Unlimited" : "Senlima",
"Upload (max. %s)" : "Alŝuti (maks. %s)",
"File Management" : "Dosieradministrado",
"Error while loading the file data" : "Eraro dum ŝargo de la dosierdatumoj",
"Unable to change the favourite state of the file" : "Ne eblas ŝanĝi la staton pri pliŝatataĵo de la dosiero",
"%s used" : "%s uzataj",
"%s%% of %s used" : "%s%% el %s uzataj",
"%1$s of %2$s used" : "%1$s uzataj el %2$s",

View File

@ -21,7 +21,7 @@
"Target folder \"{dir}\" does not exist any more" : "Cela dosierujo \"{dir}\" ne plu ekzistas",
"Not enough free space" : "Ne sufiĉe libera spaco",
"An unknown error has occurred" : "Nekonata eraro okazis",
"Uploading …" : "Alŝutante…",
"Uploading …" : "Alŝutado…",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} el {totalSize} ({bitrate})",
"Uploading that item is not supported" : "Alŝuto de tiu elemento ne estas subtenata",
"Target folder does not exist any more" : "La cela dosierujo ne plu ekzistas",
@ -135,6 +135,8 @@
"Unlimited" : "Senlima",
"Upload (max. %s)" : "Alŝuti (maks. %s)",
"File Management" : "Dosieradministrado",
"Error while loading the file data" : "Eraro dum ŝargo de la dosierdatumoj",
"Unable to change the favourite state of the file" : "Ne eblas ŝanĝi la staton pri pliŝatataĵo de la dosiero",
"%s used" : "%s uzataj",
"%s%% of %s used" : "%s%% el %s uzataj",
"%1$s of %2$s used" : "%1$s uzataj el %2$s",

View File

@ -137,6 +137,8 @@ OC.L10N.register(
"Unlimited" : "Ilimitado",
"Upload (max. %s)" : "Subida (máx. %s)",
"File Management" : "Gestión de archivos",
"Error while loading the file data" : "Error al cargar el archivo de datos",
"Unable to change the favourite state of the file" : "No se ha podido cambiar el estado de favorito del fichero",
"%s used" : "usado %s",
"%s%% of %s used" : "%s%% de %s usado",
"%1$s of %2$s used" : "%1$s de %2$s utilizados",

View File

@ -135,6 +135,8 @@
"Unlimited" : "Ilimitado",
"Upload (max. %s)" : "Subida (máx. %s)",
"File Management" : "Gestión de archivos",
"Error while loading the file data" : "Error al cargar el archivo de datos",
"Unable to change the favourite state of the file" : "No se ha podido cambiar el estado de favorito del fichero",
"%s used" : "usado %s",
"%s%% of %s used" : "%s%% de %s usado",
"%1$s of %2$s used" : "%1$s de %2$s utilizados",

View File

@ -137,6 +137,8 @@ OC.L10N.register(
"Unlimited" : "Illimité",
"Upload (max. %s)" : "Envoi (max. %s)",
"File Management" : "Gestion de fichier",
"Error while loading the file data" : "Erreur lors du chargement du fichier de données",
"Unable to change the favourite state of the file" : "Impossible de modifier l'état favori du fichier",
"%s used" : "%s utilisés",
"%s%% of %s used" : "%s%% de %s utilisé",
"%1$s of %2$s used" : "%1$s utilisés sur %2$s",

View File

@ -135,6 +135,8 @@
"Unlimited" : "Illimité",
"Upload (max. %s)" : "Envoi (max. %s)",
"File Management" : "Gestion de fichier",
"Error while loading the file data" : "Erreur lors du chargement du fichier de données",
"Unable to change the favourite state of the file" : "Impossible de modifier l'état favori du fichier",
"%s used" : "%s utilisés",
"%s%% of %s used" : "%s%% de %s utilisé",
"%1$s of %2$s used" : "%1$s utilisés sur %2$s",

View File

@ -137,6 +137,8 @@ OC.L10N.register(
"Unlimited" : "Sen límites",
"Upload (max. %s)" : "Envío (máx. %s)",
"File Management" : "Administración de ficheiros",
"Error while loading the file data" : "Produciuse un erro ao cargar os datos do ficheiro",
"Unable to change the favourite state of the file" : "Non é posíbel cambiar o estado favorito do ficheiro",
"%s used" : "%s utilizado",
"%s%% of %s used" : "%s%% de %s utilizado",
"%1$s of %2$s used" : "%s de %s utilizado",

View File

@ -135,6 +135,8 @@
"Unlimited" : "Sen límites",
"Upload (max. %s)" : "Envío (máx. %s)",
"File Management" : "Administración de ficheiros",
"Error while loading the file data" : "Produciuse un erro ao cargar os datos do ficheiro",
"Unable to change the favourite state of the file" : "Non é posíbel cambiar o estado favorito do ficheiro",
"%s used" : "%s utilizado",
"%s%% of %s used" : "%s%% de %s utilizado",
"%1$s of %2$s used" : "%s de %s utilizado",

View File

@ -137,6 +137,8 @@ OC.L10N.register(
"Unlimited" : "Illimitata",
"Upload (max. %s)" : "Carica (massimo %s)",
"File Management" : "Gestione dei file",
"Error while loading the file data" : "Errore durante il caricamento del file di dati",
"Unable to change the favourite state of the file" : "Impossibile cambiare lo stato di preferito del file",
"%s used" : "%s utilizzato",
"%s%% of %s used" : "%s%% di %s utilizzati",
"%1$s of %2$s used" : "%1$s di %2$s utilizzati",

View File

@ -135,6 +135,8 @@
"Unlimited" : "Illimitata",
"Upload (max. %s)" : "Carica (massimo %s)",
"File Management" : "Gestione dei file",
"Error while loading the file data" : "Errore durante il caricamento del file di dati",
"Unable to change the favourite state of the file" : "Impossibile cambiare lo stato di preferito del file",
"%s used" : "%s utilizzato",
"%s%% of %s used" : "%s%% di %s utilizzati",
"%1$s of %2$s used" : "%1$s di %2$s utilizzati",

View File

@ -137,6 +137,7 @@ OC.L10N.register(
"Unlimited" : "Neribotai",
"Upload (max. %s)" : "Įkelti (maks. %s)",
"File Management" : "Failų tvarkymas",
"Error while loading the file data" : "Klaida įkeliant failo duomenis",
"%s used" : "%s panaudota",
"%s%% of %s used" : "naudojama %s%% iš %s",
"%1$s of %2$s used" : "naudojama %1$s iš %2$s",

View File

@ -135,6 +135,7 @@
"Unlimited" : "Neribotai",
"Upload (max. %s)" : "Įkelti (maks. %s)",
"File Management" : "Failų tvarkymas",
"Error while loading the file data" : "Klaida įkeliant failo duomenis",
"%s used" : "%s panaudota",
"%s%% of %s used" : "naudojama %s%% iš %s",
"%1$s of %2$s used" : "naudojama %1$s iš %2$s",

View File

@ -7,7 +7,7 @@ OC.L10N.register(
"All files" : "Сите датотеки",
"Recent" : "Неодамнешни",
"Favorites" : "Омилени",
"File could not be found" : "Датотеката не може да се најде",
"File could not be found" : "Неможе да се пронајде датотеката",
"Move or copy" : "Премести или копирај",
"Download" : "Преземи",
"Delete" : "Избриши",
@ -114,7 +114,7 @@ OC.L10N.register(
"{user} created {file}" : "{user} креираше {file}",
"{user} created an encrypted file in {file}" : "{user} креираше шифрирана датотека во {file}",
"{file} was created in a public folder" : "{file} е креиран во јавна папка",
"You changed {file}" : "Изменувте {file}",
"You changed {file}" : "Изменивте {file}",
"You changed an encrypted file in {file}" : "Изменивте шифрирана дататека во {file}",
"{user} changed {file}" : "{user} измени {file}",
"{user} changed an encrypted file in {file}" : "{user} измени шифрирана дататека во {file}",
@ -137,6 +137,8 @@ OC.L10N.register(
"Unlimited" : "Неограничено",
"Upload (max. %s)" : "Префрлање (макс. %s)",
"File Management" : "Датотеки",
"Error while loading the file data" : "Грешка при вчитување на податоците од датотеката",
"Unable to change the favourite state of the file" : "Неможе да се промени статусот на омимени на датотеката",
"%s used" : "Искористено %s",
"%s%% of %s used" : "Искорестено%s%% од %s ",
"%1$s of %2$s used" : "Искористено %1$s од %2$s",
@ -165,7 +167,7 @@ OC.L10N.register(
"File handling" : "Ракување со датотеки",
"Maximum upload size" : "Максимална големина за подигање",
"max. possible: " : "макс. можно:",
"Save" : "Сними",
"Save" : "Зачувај",
"With PHP-FPM it might take 5 minutes for changes to be applied." : "Со PHP-FPM може да треба 5 минути за промените да бидат имплементирани.",
"Missing permissions to edit from here." : "Недостасуваат пермисии за да уредувате од тука",
"Cancel upload" : "Откажи прикачување",

View File

@ -5,7 +5,7 @@
"All files" : "Сите датотеки",
"Recent" : "Неодамнешни",
"Favorites" : "Омилени",
"File could not be found" : "Датотеката не може да се најде",
"File could not be found" : "Неможе да се пронајде датотеката",
"Move or copy" : "Премести или копирај",
"Download" : "Преземи",
"Delete" : "Избриши",
@ -112,7 +112,7 @@
"{user} created {file}" : "{user} креираше {file}",
"{user} created an encrypted file in {file}" : "{user} креираше шифрирана датотека во {file}",
"{file} was created in a public folder" : "{file} е креиран во јавна папка",
"You changed {file}" : "Изменувте {file}",
"You changed {file}" : "Изменивте {file}",
"You changed an encrypted file in {file}" : "Изменивте шифрирана дататека во {file}",
"{user} changed {file}" : "{user} измени {file}",
"{user} changed an encrypted file in {file}" : "{user} измени шифрирана дататека во {file}",
@ -135,6 +135,8 @@
"Unlimited" : "Неограничено",
"Upload (max. %s)" : "Префрлање (макс. %s)",
"File Management" : "Датотеки",
"Error while loading the file data" : "Грешка при вчитување на податоците од датотеката",
"Unable to change the favourite state of the file" : "Неможе да се промени статусот на омимени на датотеката",
"%s used" : "Искористено %s",
"%s%% of %s used" : "Искорестено%s%% од %s ",
"%1$s of %2$s used" : "Искористено %1$s од %2$s",
@ -163,7 +165,7 @@
"File handling" : "Ракување со датотеки",
"Maximum upload size" : "Максимална големина за подигање",
"max. possible: " : "макс. можно:",
"Save" : "Сними",
"Save" : "Зачувај",
"With PHP-FPM it might take 5 minutes for changes to be applied." : "Со PHP-FPM може да треба 5 минути за промените да бидат имплементирани.",
"Missing permissions to edit from here." : "Недостасуваат пермисии за да уредувате од тука",
"Cancel upload" : "Откажи прикачување",

View File

@ -137,6 +137,8 @@ OC.L10N.register(
"Unlimited" : "Ongelimiteerd",
"Upload (max. %s)" : "Upload (max. %s)",
"File Management" : "Bestandsbeheer",
"Error while loading the file data" : "Fout bij het lezen van de bestandsgegevens",
"Unable to change the favourite state of the file" : "Niet mogelijk om voorkeurtoestand van het bestand te wijzigen",
"%s used" : "%s gebruikt",
"%s%% of %s used" : "%s%% van %s gebruikt",
"%1$s of %2$s used" : "%1$s van %2$s gebruikt",

View File

@ -135,6 +135,8 @@
"Unlimited" : "Ongelimiteerd",
"Upload (max. %s)" : "Upload (max. %s)",
"File Management" : "Bestandsbeheer",
"Error while loading the file data" : "Fout bij het lezen van de bestandsgegevens",
"Unable to change the favourite state of the file" : "Niet mogelijk om voorkeurtoestand van het bestand te wijzigen",
"%s used" : "%s gebruikt",
"%s%% of %s used" : "%s%% van %s gebruikt",
"%1$s of %2$s used" : "%1$s van %2$s gebruikt",

View File

@ -137,6 +137,8 @@ OC.L10N.register(
"Unlimited" : "Brak limitu",
"Upload (max. %s)" : "Wysyłka (max. %s)",
"File Management" : "Zarządzanie plikami",
"Error while loading the file data" : "Błąd podczas ładowania danych pliku",
"Unable to change the favourite state of the file" : "Nie można zmienić ulubionego stanu pliku",
"%s used" : "Wykorzystane: %s",
"%s%% of %s used" : "Wykorzystane: %s%% z %s",
"%1$s of %2$s used" : "Wykorzystane: %1$s z %2$s",

View File

@ -135,6 +135,8 @@
"Unlimited" : "Brak limitu",
"Upload (max. %s)" : "Wysyłka (max. %s)",
"File Management" : "Zarządzanie plikami",
"Error while loading the file data" : "Błąd podczas ładowania danych pliku",
"Unable to change the favourite state of the file" : "Nie można zmienić ulubionego stanu pliku",
"%s used" : "Wykorzystane: %s",
"%s%% of %s used" : "Wykorzystane: %s%% z %s",
"%1$s of %2$s used" : "Wykorzystane: %1$s z %2$s",

View File

@ -137,6 +137,8 @@ OC.L10N.register(
"Unlimited" : "Ilimitado",
"Upload (max. %s)" : "Envio (max. %s)",
"File Management" : "Gerenciamento de Arquivos",
"Error while loading the file data" : "Erro ao carregar os dados do arquivo",
"Unable to change the favourite state of the file" : "Não foi possível alterar o estado favorito do arquivo",
"%s used" : "%s usado",
"%s%% of %s used" : "%s%% usados de %s",
"%1$s of %2$s used" : "%1$s usado de %2$s",

View File

@ -135,6 +135,8 @@
"Unlimited" : "Ilimitado",
"Upload (max. %s)" : "Envio (max. %s)",
"File Management" : "Gerenciamento de Arquivos",
"Error while loading the file data" : "Erro ao carregar os dados do arquivo",
"Unable to change the favourite state of the file" : "Não foi possível alterar o estado favorito do arquivo",
"%s used" : "%s usado",
"%s%% of %s used" : "%s%% usados de %s",
"%1$s of %2$s used" : "%1$s usado de %2$s",

View File

@ -73,7 +73,7 @@ OC.L10N.register(
"New" : "Novo",
"Select file range" : "Izbor obsega datotek",
"{used} of {quota} used" : "{used} od {quota} uporabljeno",
"{used} used" : "{used} uporabljeno",
"{used} used" : "Uporabljeno {used}·",
"\"{name}\" is an invalid file name." : "Ime »{name}« ni veljavno ime datoteke.",
"File name cannot be empty." : "Ime datoteke ne sme biti prazno polje.",
"\"/\" is not allowed inside a file name." : "znak » / « v imenu datoteke ni dovoljen.",
@ -137,7 +137,9 @@ OC.L10N.register(
"Unlimited" : "Neomejeno",
"Upload (max. %s)" : "Pošiljanje (omejitev %s)",
"File Management" : "Upravljanje datotek",
"%s used" : "%s uporabljeno",
"Error while loading the file data" : "Prišlo je do napake med nalaganjem podatkov računa",
"Unable to change the favourite state of the file" : "Ni mogoče spremeniti stanja priljubljenosti datoteke",
"%s used" : "Uporabljeno %s",
"%s%% of %s used" : "Uporabljeno %s%% od %s",
"%1$s of %2$s used" : "Uporabljeno %1$s od %2$s",
"Settings" : "Nastavitve",

View File

@ -71,7 +71,7 @@
"New" : "Novo",
"Select file range" : "Izbor obsega datotek",
"{used} of {quota} used" : "{used} od {quota} uporabljeno",
"{used} used" : "{used} uporabljeno",
"{used} used" : "Uporabljeno {used}·",
"\"{name}\" is an invalid file name." : "Ime »{name}« ni veljavno ime datoteke.",
"File name cannot be empty." : "Ime datoteke ne sme biti prazno polje.",
"\"/\" is not allowed inside a file name." : "znak » / « v imenu datoteke ni dovoljen.",
@ -135,7 +135,9 @@
"Unlimited" : "Neomejeno",
"Upload (max. %s)" : "Pošiljanje (omejitev %s)",
"File Management" : "Upravljanje datotek",
"%s used" : "%s uporabljeno",
"Error while loading the file data" : "Prišlo je do napake med nalaganjem podatkov računa",
"Unable to change the favourite state of the file" : "Ni mogoče spremeniti stanja priljubljenosti datoteke",
"%s used" : "Uporabljeno %s",
"%s%% of %s used" : "Uporabljeno %s%% od %s",
"%1$s of %2$s used" : "Uporabljeno %1$s od %2$s",
"Settings" : "Nastavitve",

View File

@ -9,7 +9,7 @@ OC.L10N.register(
"Favorites" : "Favoriter",
"File could not be found" : "Fil kunde inte hittas",
"Move or copy" : "Flytta eller kopiera",
"Download" : "Ladda ned",
"Download" : "Hämta",
"Delete" : "Radera",
"Home" : "Hem",
"Close" : "Stäng",
@ -44,7 +44,7 @@ OC.L10N.register(
"Pending" : "Väntar",
"Unable to determine date" : "Misslyckades avgöra datum",
"This operation is forbidden" : "Denna operation är förbjuden",
"This directory is unavailable, please check the logs or contact the administrator" : "Denna katalog är inte tillgänglig, kontrollera loggarna eller kontakta administratören",
"This directory is unavailable, please check the logs or contact the administrator" : "Denna katalog är inte tillgänglig, vänligen kontrollera loggarna eller kontakta administratören",
"Could not move \"{file}\", target exists" : "Kunde inte flytta \"{file}\", filen existerar redan",
"Could not move \"{file}\"" : "Kunde inte flytta \"{file}\"",
"copy" : "kopia",
@ -132,11 +132,13 @@ OC.L10N.register(
"A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "En fil har blivit <strong>ändrad</strong> eller <strong>bytt namn</strong>",
"A new file or folder has been <strong>created</strong>" : "En ny fil eller mapp har blivit <strong>skapad</strong>",
"A file or folder has been <strong>deleted</strong>" : "En fil eller mapp har <strong>tagits bort</strong>",
"Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Begränsa notiser om skapande och ändringar till dina <strong>favoritfiler</strong> <em>(Endast i flödet)</em>",
"Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Begränsa aviseringar om skapande och ändringar till dina <strong>favoritfiler</strong> <em>(Endast i flödet)</em>",
"A file or folder has been <strong>restored</strong>" : "En fil eller mapp har <strong>återställts</strong>",
"Unlimited" : "Obegränsad",
"Upload (max. %s)" : "Ladda upp (högst %s)",
"File Management" : "Filhantering",
"Error while loading the file data" : "Fel vid inläsning av filens data",
"Unable to change the favourite state of the file" : "Kan inte ändra filens favoritstatus",
"%s used" : "%s använt",
"%s%% of %s used" : "%s%% av %s använt",
"%1$s of %2$s used" : "%1$s av %2$s använt",

View File

@ -7,7 +7,7 @@
"Favorites" : "Favoriter",
"File could not be found" : "Fil kunde inte hittas",
"Move or copy" : "Flytta eller kopiera",
"Download" : "Ladda ned",
"Download" : "Hämta",
"Delete" : "Radera",
"Home" : "Hem",
"Close" : "Stäng",
@ -42,7 +42,7 @@
"Pending" : "Väntar",
"Unable to determine date" : "Misslyckades avgöra datum",
"This operation is forbidden" : "Denna operation är förbjuden",
"This directory is unavailable, please check the logs or contact the administrator" : "Denna katalog är inte tillgänglig, kontrollera loggarna eller kontakta administratören",
"This directory is unavailable, please check the logs or contact the administrator" : "Denna katalog är inte tillgänglig, vänligen kontrollera loggarna eller kontakta administratören",
"Could not move \"{file}\", target exists" : "Kunde inte flytta \"{file}\", filen existerar redan",
"Could not move \"{file}\"" : "Kunde inte flytta \"{file}\"",
"copy" : "kopia",
@ -130,11 +130,13 @@
"A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "En fil har blivit <strong>ändrad</strong> eller <strong>bytt namn</strong>",
"A new file or folder has been <strong>created</strong>" : "En ny fil eller mapp har blivit <strong>skapad</strong>",
"A file or folder has been <strong>deleted</strong>" : "En fil eller mapp har <strong>tagits bort</strong>",
"Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Begränsa notiser om skapande och ändringar till dina <strong>favoritfiler</strong> <em>(Endast i flödet)</em>",
"Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Begränsa aviseringar om skapande och ändringar till dina <strong>favoritfiler</strong> <em>(Endast i flödet)</em>",
"A file or folder has been <strong>restored</strong>" : "En fil eller mapp har <strong>återställts</strong>",
"Unlimited" : "Obegränsad",
"Upload (max. %s)" : "Ladda upp (högst %s)",
"File Management" : "Filhantering",
"Error while loading the file data" : "Fel vid inläsning av filens data",
"Unable to change the favourite state of the file" : "Kan inte ändra filens favoritstatus",
"%s used" : "%s använt",
"%s%% of %s used" : "%s%% av %s använt",
"%1$s of %2$s used" : "%1$s av %2$s använt",

View File

@ -137,6 +137,8 @@ OC.L10N.register(
"Unlimited" : "Sınırsız",
"Upload (max. %s)" : "Yükle (en büyük: %s)",
"File Management" : "Dosya Yönetimi",
"Error while loading the file data" : "Dosya verileri yüklenirken sorun çıktı",
"Unable to change the favourite state of the file" : "Dosyanın sık kullanılan durumu değiştirilemedi",
"%s used" : "%s kullanılıyor",
"%s%% of %s used" : "%s%%/%s kullanılmış",
"%1$s of %2$s used" : "%1$s / %2$s kullanıldı",
@ -158,7 +160,7 @@ OC.L10N.register(
"Shares" : "Paylaşımlar",
"Shared with others" : "Diğerleri ile paylaşılan",
"Shared with you" : "Sizinle paylaşılan",
"Shared by link" : "Paylaşım bağlantısı",
"Shared by link" : "Bağlantı ile paylaşılmış",
"Deleted shares" : "Silinmiş paylaşımlar",
"Text file" : "Metin dosyası",
"New text file.txt" : "Yeni metin dosyası.txt",

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