summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Müller <thomas.mueller@tmit.eu>2013-09-04 23:15:17 +0200
committerThomas Müller <thomas.mueller@tmit.eu>2013-09-04 23:15:17 +0200
commit835f477d8fda0566e5a03a652a3b8005cb886389 (patch)
tree46a4390fbd3611c0ba15115614c56d2c49aaabdc
parent206f83941b26b16f89e695ae84b998e9cf11132a (diff)
parent3b25babe35015224bb14e697c0b6d61da2841978 (diff)
downloadnextcloud-server-835f477d8fda0566e5a03a652a3b8005cb886389.tar.gz
nextcloud-server-835f477d8fda0566e5a03a652a3b8005cb886389.zip
Merge branch 'master' into appframework-master
m---------3rdparty0
-rw-r--r--apps/files/ajax/newfile.php2
-rw-r--r--apps/files/css/files.css193
-rw-r--r--apps/files/index.php2
-rw-r--r--apps/files/js/file-upload.js13
-rw-r--r--apps/files/js/filelist.js16
-rw-r--r--apps/files/js/files.js22
-rw-r--r--apps/files/l10n/ar.php8
-rw-r--r--apps/files/l10n/bg_BG.php1
-rw-r--r--apps/files/l10n/ca.php1
-rw-r--r--apps/files/l10n/cs_CZ.php2
-rw-r--r--apps/files/l10n/cy_GB.php1
-rw-r--r--apps/files/l10n/da.php2
-rw-r--r--apps/files/l10n/de.php2
-rw-r--r--apps/files/l10n/de_DE.php2
-rw-r--r--apps/files/l10n/el.php1
-rw-r--r--apps/files/l10n/eo.php1
-rw-r--r--apps/files/l10n/es.php1
-rw-r--r--apps/files/l10n/es_AR.php1
-rw-r--r--apps/files/l10n/et_EE.php1
-rw-r--r--apps/files/l10n/eu.php1
-rw-r--r--apps/files/l10n/fa.php1
-rw-r--r--apps/files/l10n/fi_FI.php2
-rw-r--r--apps/files/l10n/fr.php9
-rw-r--r--apps/files/l10n/gl.php1
-rw-r--r--apps/files/l10n/he.php1
-rw-r--r--apps/files/l10n/hu_HU.php1
-rw-r--r--apps/files/l10n/it.php2
-rw-r--r--apps/files/l10n/ja_JP.php2
-rw-r--r--apps/files/l10n/ka_GE.php1
-rw-r--r--apps/files/l10n/ko.php1
-rw-r--r--apps/files/l10n/lt_LT.php1
-rw-r--r--apps/files/l10n/lv.php1
-rw-r--r--apps/files/l10n/nb_NO.php1
-rw-r--r--apps/files/l10n/nl.php1
-rw-r--r--apps/files/l10n/nn_NO.php1
-rw-r--r--apps/files/l10n/pl.php1
-rw-r--r--apps/files/l10n/pt_BR.php3
-rw-r--r--apps/files/l10n/pt_PT.php9
-rw-r--r--apps/files/l10n/ro.php1
-rw-r--r--apps/files/l10n/ru.php1
-rw-r--r--apps/files/l10n/si_LK.php1
-rw-r--r--apps/files/l10n/sk_SK.php1
-rw-r--r--apps/files/l10n/sl.php1
-rw-r--r--apps/files/l10n/sr.php1
-rw-r--r--apps/files/l10n/sv.php2
-rw-r--r--apps/files/l10n/ta_LK.php1
-rw-r--r--apps/files/l10n/th_TH.php1
-rw-r--r--apps/files/l10n/tr.php1
-rw-r--r--apps/files/l10n/uk.php1
-rw-r--r--apps/files/l10n/vi.php1
-rw-r--r--apps/files/l10n/zh_CN.php1
-rw-r--r--apps/files/l10n/zh_TW.php50
-rw-r--r--apps/files/templates/index.php33
-rw-r--r--apps/files/templates/part.list.php32
-rw-r--r--apps/files_encryption/hooks/hooks.php17
-rw-r--r--apps/files_encryption/l10n/fr.php2
-rw-r--r--apps/files_encryption/l10n/hu_HU.php14
-rwxr-xr-xapps/files_encryption/lib/crypt.php8
-rwxr-xr-xapps/files_encryption/lib/helper.php22
-rw-r--r--apps/files_sharing/ajax/publicpreview.php85
-rw-r--r--apps/files_sharing/appinfo/routes.php5
-rw-r--r--apps/files_sharing/js/public.js2
-rw-r--r--apps/files_sharing/l10n/fr.php6
-rw-r--r--apps/files_sharing/l10n/zh_TW.php4
-rw-r--r--apps/files_sharing/public.php4
-rw-r--r--apps/files_sharing/templates/public.php4
-rw-r--r--apps/files_trashbin/ajax/preview.php42
-rw-r--r--apps/files_trashbin/appinfo/routes.php5
-rw-r--r--apps/files_trashbin/index.php1
-rw-r--r--apps/files_trashbin/l10n/fr.php5
-rw-r--r--apps/files_trashbin/l10n/pt_PT.php4
-rw-r--r--apps/files_trashbin/l10n/zh_TW.php2
-rw-r--r--apps/files_trashbin/lib/trash.php3
-rw-r--r--apps/files_trashbin/templates/index.php2
-rw-r--r--apps/files_trashbin/templates/part.list.php10
-rw-r--r--apps/files_versions/l10n/fr.php3
-rw-r--r--apps/user_webdavauth/l10n/fr.php4
-rw-r--r--config/config.sample.php21
-rw-r--r--core/ajax/preview.php40
-rw-r--r--core/css/apps.css1
-rw-r--r--core/css/fixes.css4
-rw-r--r--core/css/styles.css49
-rw-r--r--core/img/filetypes/application-epub+zip.pngbin0 -> 1371 bytes
-rw-r--r--core/img/filetypes/application-epub+zip.svg761
-rw-r--r--core/img/filetypes/application-msexcel.pngbin663 -> 0 bytes
-rw-r--r--core/img/filetypes/application-mspowerpoint.pngbin588 -> 0 bytes
-rw-r--r--core/img/filetypes/application-msword.pngbin651 -> 0 bytes
-rw-r--r--core/img/filetypes/application-pdf.pngbin591 -> 1746 bytes
-rw-r--r--core/img/filetypes/application-pdf.svg52
-rw-r--r--core/img/filetypes/application-rss+xml.pngbin691 -> 1098 bytes
-rw-r--r--core/img/filetypes/application-rss+xml.svg40
-rw-r--r--core/img/filetypes/application-sgf.pngbin702 -> 0 bytes
-rw-r--r--core/img/filetypes/application-vnd.oasis.opendocument.formula.pngbin479 -> 0 bytes
-rw-r--r--core/img/filetypes/application-vnd.oasis.opendocument.graphics.pngbin475 -> 0 bytes
-rw-r--r--core/img/filetypes/application-vnd.oasis.opendocument.presentation.pngbin333 -> 0 bytes
-rw-r--r--core/img/filetypes/application-vnd.oasis.opendocument.spreadsheet.pngbin344 -> 0 bytes
-rw-r--r--core/img/filetypes/application-vnd.oasis.opendocument.text.pngbin347 -> 0 bytes
-rw-r--r--core/img/filetypes/application-x-7z-compressed.pngbin650 -> 0 bytes
-rw-r--r--core/img/filetypes/application-x-bzip-compressed-tar.pngbin650 -> 0 bytes
-rw-r--r--core/img/filetypes/application-x-bzip.pngbin650 -> 0 bytes
-rw-r--r--core/img/filetypes/application-x-compressed-tar.pngbin650 -> 0 bytes
-rw-r--r--core/img/filetypes/application-x-deb.pngbin650 -> 0 bytes
-rw-r--r--core/img/filetypes/application-x-debian-package.pngbin539 -> 0 bytes
-rw-r--r--core/img/filetypes/application-x-gzip.pngbin650 -> 0 bytes
-rw-r--r--core/img/filetypes/application-x-lzma-compressed-tar.pngbin650 -> 0 bytes
-rw-r--r--core/img/filetypes/application-x-rar.pngbin650 -> 0 bytes
-rw-r--r--core/img/filetypes/application-x-rpm.pngbin650 -> 0 bytes
-rw-r--r--core/img/filetypes/application-x-tar.pngbin650 -> 0 bytes
-rw-r--r--core/img/filetypes/application-x-tarz.pngbin650 -> 0 bytes
-rw-r--r--core/img/filetypes/application-zip.pngbin650 -> 0 bytes
-rw-r--r--core/img/filetypes/application.pngbin464 -> 1018 bytes
-rw-r--r--core/img/filetypes/application.svg59
-rw-r--r--core/img/filetypes/audio.pngbin385 -> 816 bytes
-rw-r--r--core/img/filetypes/audio.svg49
-rw-r--r--core/img/filetypes/calendar.pngbin0 -> 1333 bytes
-rw-r--r--core/img/filetypes/calendar.svg94
-rw-r--r--core/img/filetypes/code-script.pngbin859 -> 0 bytes
-rw-r--r--core/img/filetypes/code.pngbin603 -> 0 bytes
-rw-r--r--core/img/filetypes/database.pngbin390 -> 1372 bytes
-rw-r--r--core/img/filetypes/database.svg54
-rw-r--r--core/img/filetypes/file.pngbin294 -> 374 bytes
-rw-r--r--core/img/filetypes/file.svg36
-rw-r--r--core/img/filetypes/flash.pngbin580 -> 954 bytes
-rw-r--r--core/img/filetypes/flash.svg60
-rw-r--r--core/img/filetypes/folder-drag-accept.pngbin0 -> 757 bytes
-rw-r--r--core/img/filetypes/folder-drag-accept.svg335
-rw-r--r--core/img/filetypes/folder-external.pngbin0 -> 1012 bytes
-rw-r--r--core/img/filetypes/folder-external.svg68
-rw-r--r--core/img/filetypes/folder-public.pngbin0 -> 1397 bytes
-rw-r--r--core/img/filetypes/folder-public.svg68
-rw-r--r--core/img/filetypes/folder-shared.pngbin0 -> 1229 bytes
-rw-r--r--core/img/filetypes/folder-shared.svg68
-rw-r--r--core/img/filetypes/folder.pngbin537 -> 709 bytes
-rw-r--r--core/img/filetypes/folder.svg60
-rw-r--r--core/img/filetypes/font.pngbin813 -> 1697 bytes
-rw-r--r--core/img/filetypes/font.svg37
-rw-r--r--core/img/filetypes/image-svg+xml.pngbin481 -> 959 bytes
-rw-r--r--core/img/filetypes/image-svg+xml.svg56
-rw-r--r--core/img/filetypes/image.pngbin606 -> 976 bytes
-rw-r--r--core/img/filetypes/image.svg61
-rw-r--r--core/img/filetypes/link.pngbin923 -> 0 bytes
-rw-r--r--core/img/filetypes/model.pngbin452 -> 0 bytes
-rw-r--r--core/img/filetypes/ms-excel.pngbin663 -> 0 bytes
-rw-r--r--core/img/filetypes/ms-powerpoint.pngbin588 -> 0 bytes
-rw-r--r--core/img/filetypes/package-x-generic.pngbin0 -> 794 bytes
-rw-r--r--core/img/filetypes/package-x-generic.svg62
-rw-r--r--core/img/filetypes/presentation.pngbin519 -> 0 bytes
-rw-r--r--core/img/filetypes/readme-2.txt28
-rw-r--r--core/img/filetypes/readme.txt22
-rw-r--r--core/img/filetypes/ruby.pngbin626 -> 0 bytes
-rw-r--r--core/img/filetypes/spreadsheet.pngbin566 -> 0 bytes
-rw-r--r--core/img/filetypes/text-calendar.pngbin675 -> 0 bytes
-rw-r--r--core/img/filetypes/text-code.pngbin0 -> 908 bytes
-rw-r--r--core/img/filetypes/text-code.svg66
-rw-r--r--core/img/filetypes/text-css.pngbin524 -> 0 bytes
-rw-r--r--core/img/filetypes/text-html.pngbin578 -> 654 bytes
-rw-r--r--core/img/filetypes/text-html.svg49
-rw-r--r--core/img/filetypes/text-vcard.pngbin533 -> 782 bytes
-rw-r--r--core/img/filetypes/text-vcard.svg60
-rw-r--r--core/img/filetypes/text-x-c++.pngbin621 -> 0 bytes
-rw-r--r--core/img/filetypes/text-x-c.pngbin587 -> 1345 bytes
-rw-r--r--core/img/filetypes/text-x-c.svg75
-rw-r--r--core/img/filetypes/text-x-csharp.pngbin700 -> 0 bytes
-rw-r--r--core/img/filetypes/text-x-h.pngbin603 -> 1242 bytes
-rw-r--r--core/img/filetypes/text-x-h.svg79
-rw-r--r--core/img/filetypes/text-x-javascript.pngbin0 -> 1340 bytes
-rw-r--r--core/img/filetypes/text-x-javascript.svg76
-rw-r--r--core/img/filetypes/text-x-php.pngbin538 -> 0 bytes
-rw-r--r--core/img/filetypes/text-x-python.pngbin0 -> 1469 bytes
-rw-r--r--core/img/filetypes/text-x-python.svg87
-rw-r--r--core/img/filetypes/text.pngbin342 -> 693 bytes
-rw-r--r--core/img/filetypes/text.svg43
-rw-r--r--core/img/filetypes/video.pngbin653 -> 1362 bytes
-rw-r--r--core/img/filetypes/video.svg85
-rw-r--r--core/img/filetypes/web.pngbin0 -> 2254 bytes
-rw-r--r--core/img/filetypes/web.svg45
-rw-r--r--core/img/filetypes/x-.pngbin555 -> 0 bytes
-rw-r--r--core/img/filetypes/x-office-document.pngbin0 -> 930 bytes
-rw-r--r--core/img/filetypes/x-office-document.svg60
-rw-r--r--core/img/filetypes/x-office-presentation.pngbin0 -> 1102 bytes
-rw-r--r--core/img/filetypes/x-office-presentation.svg109
-rw-r--r--core/img/filetypes/x-office-spreadsheet.pngbin0 -> 789 bytes
-rw-r--r--core/img/filetypes/x-office-spreadsheet.svg64
-rw-r--r--core/js/js.js49
-rw-r--r--core/js/oc-dialogs.js10
-rw-r--r--core/js/oc-requesttoken.js3
-rw-r--r--core/js/placeholder.js13
-rw-r--r--core/l10n/ar.php1
-rw-r--r--core/l10n/ca.php1
-rw-r--r--core/l10n/cs_CZ.php1
-rw-r--r--core/l10n/cy_GB.php1
-rw-r--r--core/l10n/da.php1
-rw-r--r--core/l10n/de.php1
-rw-r--r--core/l10n/de_CH.php1
-rw-r--r--core/l10n/de_DE.php1
-rw-r--r--core/l10n/el.php1
-rw-r--r--core/l10n/eo.php1
-rw-r--r--core/l10n/es.php1
-rw-r--r--core/l10n/es_AR.php1
-rw-r--r--core/l10n/et_EE.php1
-rw-r--r--core/l10n/eu.php1
-rw-r--r--core/l10n/fa.php1
-rw-r--r--core/l10n/fi_FI.php1
-rw-r--r--core/l10n/fr.php18
-rw-r--r--core/l10n/gl.php1
-rw-r--r--core/l10n/he.php1
-rw-r--r--core/l10n/hi.php14
-rw-r--r--core/l10n/hu_HU.php1
-rw-r--r--core/l10n/id.php1
-rw-r--r--core/l10n/it.php1
-rw-r--r--core/l10n/ja_JP.php7
-rw-r--r--core/l10n/ka_GE.php1
-rw-r--r--core/l10n/ko.php1
-rw-r--r--core/l10n/lb.php1
-rw-r--r--core/l10n/lt_LT.php1
-rw-r--r--core/l10n/lv.php1
-rw-r--r--core/l10n/mk.php1
-rw-r--r--core/l10n/nb_NO.php1
-rw-r--r--core/l10n/nl.php1
-rw-r--r--core/l10n/nn_NO.php1
-rw-r--r--core/l10n/oc.php1
-rw-r--r--core/l10n/pl.php1
-rw-r--r--core/l10n/pt_BR.php1
-rw-r--r--core/l10n/pt_PT.php1
-rw-r--r--core/l10n/ro.php1
-rw-r--r--core/l10n/ru.php1
-rw-r--r--core/l10n/si_LK.php1
-rw-r--r--core/l10n/sk_SK.php1
-rw-r--r--core/l10n/sl.php1
-rw-r--r--core/l10n/sr.php1
-rw-r--r--core/l10n/sv.php1
-rw-r--r--core/l10n/ta_LK.php1
-rw-r--r--core/l10n/th_TH.php1
-rw-r--r--core/l10n/tr.php1
-rw-r--r--core/l10n/ug.php1
-rw-r--r--core/l10n/uk.php1
-rw-r--r--core/l10n/vi.php1
-rw-r--r--core/l10n/zh_CN.php1
-rw-r--r--core/l10n/zh_TW.php37
-rw-r--r--core/lostpassword/controller.php2
-rw-r--r--core/minimizer.php4
-rw-r--r--core/routes.php3
-rw-r--r--core/setup.php4
-rw-r--r--db_structure.xml4
-rw-r--r--l10n/ar/core.po6
-rw-r--r--l10n/ar/files.po69
-rw-r--r--l10n/bg_BG/files.po52
-rw-r--r--l10n/ca/core.po6
-rw-r--r--l10n/ca/files.po52
-rw-r--r--l10n/cs_CZ/core.po8
-rw-r--r--l10n/cs_CZ/files.po56
-rw-r--r--l10n/cy_GB/core.po6
-rw-r--r--l10n/cy_GB/files.po52
-rw-r--r--l10n/da/core.po6
-rw-r--r--l10n/da/files.po56
-rw-r--r--l10n/de/core.po6
-rw-r--r--l10n/de/files.po56
-rw-r--r--l10n/de_CH/core.po6
-rw-r--r--l10n/de_CH/files.po52
-rw-r--r--l10n/de_DE/core.po6
-rw-r--r--l10n/de_DE/files.po57
-rw-r--r--l10n/el/core.po6
-rw-r--r--l10n/el/files.po52
-rw-r--r--l10n/en_GB/core.po4
-rw-r--r--l10n/en_GB/files.po50
-rw-r--r--l10n/eo/core.po6
-rw-r--r--l10n/eo/files.po52
-rw-r--r--l10n/es/core.po6
-rw-r--r--l10n/es/files.po52
-rw-r--r--l10n/es/lib.po49
-rw-r--r--l10n/es_AR/core.po6
-rw-r--r--l10n/es_AR/files.po52
-rw-r--r--l10n/et_EE/core.po6
-rw-r--r--l10n/et_EE/files.po52
-rw-r--r--l10n/eu/core.po6
-rw-r--r--l10n/eu/files.po52
-rw-r--r--l10n/fa/core.po6
-rw-r--r--l10n/fa/files.po52
-rw-r--r--l10n/fi_FI/core.po6
-rw-r--r--l10n/fi_FI/files.po56
-rw-r--r--l10n/fr/core.po42
-rw-r--r--l10n/fr/files.po70
-rw-r--r--l10n/fr/files_encryption.po16
-rw-r--r--l10n/fr/files_sharing.po23
-rw-r--r--l10n/fr/files_trashbin.po31
-rw-r--r--l10n/fr/files_versions.po15
-rw-r--r--l10n/fr/lib.po32
-rw-r--r--l10n/fr/settings.po60
-rw-r--r--l10n/fr/user_webdavauth.po12
-rw-r--r--l10n/gl/core.po6
-rw-r--r--l10n/gl/files.po52
-rw-r--r--l10n/he/core.po6
-rw-r--r--l10n/he/files.po52
-rw-r--r--l10n/hi/core.po35
-rw-r--r--l10n/hu_HU/core.po6
-rw-r--r--l10n/hu_HU/files.po52
-rw-r--r--l10n/hu_HU/files_encryption.po37
-rw-r--r--l10n/id/core.po6
-rw-r--r--l10n/it/core.po6
-rw-r--r--l10n/it/files.po56
-rw-r--r--l10n/it/lib.po29
-rw-r--r--l10n/it/settings.po33
-rw-r--r--l10n/ja_JP/core.po20
-rw-r--r--l10n/ja_JP/files.po56
-rw-r--r--l10n/ja_JP/lib.po52
-rw-r--r--l10n/ja_JP/settings.po32
-rw-r--r--l10n/ka_GE/core.po6
-rw-r--r--l10n/ka_GE/files.po52
-rw-r--r--l10n/ko/core.po6
-rw-r--r--l10n/ko/files.po52
-rw-r--r--l10n/lb/core.po6
-rw-r--r--l10n/lt_LT/core.po6
-rw-r--r--l10n/lt_LT/files.po52
-rw-r--r--l10n/lv/core.po6
-rw-r--r--l10n/lv/files.po52
-rw-r--r--l10n/mk/core.po6
-rw-r--r--l10n/nb_NO/core.po6
-rw-r--r--l10n/nb_NO/files.po52
-rw-r--r--l10n/nl/core.po6
-rw-r--r--l10n/nl/files.po52
-rw-r--r--l10n/nn_NO/core.po6
-rw-r--r--l10n/nn_NO/files.po52
-rw-r--r--l10n/oc/core.po6
-rw-r--r--l10n/pl/core.po6
-rw-r--r--l10n/pl/files.po52
-rw-r--r--l10n/pt_BR/core.po6
-rw-r--r--l10n/pt_BR/files.po58
-rw-r--r--l10n/pt_PT/core.po6
-rw-r--r--l10n/pt_PT/files.po71
-rw-r--r--l10n/pt_PT/files_trashbin.po32
-rw-r--r--l10n/pt_PT/settings.po40
-rw-r--r--l10n/ro/core.po6
-rw-r--r--l10n/ro/files.po52
-rw-r--r--l10n/ru/core.po6
-rw-r--r--l10n/ru/files.po52
-rw-r--r--l10n/si_LK/core.po6
-rw-r--r--l10n/si_LK/files.po52
-rw-r--r--l10n/sk_SK/core.po6
-rw-r--r--l10n/sk_SK/files.po52
-rw-r--r--l10n/sl/core.po6
-rw-r--r--l10n/sl/files.po52
-rw-r--r--l10n/sr/core.po6
-rw-r--r--l10n/sr/files.po52
-rw-r--r--l10n/sv/core.po6
-rw-r--r--l10n/sv/files.po56
-rw-r--r--l10n/ta_LK/core.po6
-rw-r--r--l10n/ta_LK/files.po52
-rw-r--r--l10n/templates/core.pot2
-rw-r--r--l10n/templates/files.pot48
-rw-r--r--l10n/templates/files_encryption.pot8
-rw-r--r--l10n/templates/files_external.pot2
-rw-r--r--l10n/templates/files_sharing.pot6
-rw-r--r--l10n/templates/files_trashbin.pot2
-rw-r--r--l10n/templates/files_versions.pot2
-rw-r--r--l10n/templates/lib.pot22
-rw-r--r--l10n/templates/settings.pot2
-rw-r--r--l10n/templates/user_ldap.pot2
-rw-r--r--l10n/templates/user_webdavauth.pot2
-rw-r--r--l10n/th_TH/core.po6
-rw-r--r--l10n/th_TH/files.po52
-rw-r--r--l10n/tr/core.po6
-rw-r--r--l10n/tr/files.po52
-rw-r--r--l10n/ug/core.po6
-rw-r--r--l10n/uk/core.po6
-rw-r--r--l10n/uk/files.po52
-rw-r--r--l10n/vi/core.po6
-rw-r--r--l10n/vi/files.po52
-rw-r--r--l10n/zh_CN/core.po6
-rw-r--r--l10n/zh_CN/files.po52
-rw-r--r--l10n/zh_TW/core.po50
-rw-r--r--l10n/zh_TW/files.po104
-rw-r--r--l10n/zh_TW/files_sharing.po12
-rw-r--r--l10n/zh_TW/files_trashbin.po24
-rw-r--r--l10n/zh_TW/settings.po30
-rw-r--r--lib/app.php8
-rw-r--r--lib/base.php17
-rw-r--r--lib/helper.php48
-rw-r--r--lib/image.php306
-rw-r--r--lib/l10n/es.php11
-rw-r--r--lib/l10n/fr.php8
-rw-r--r--lib/l10n/it.php1
-rw-r--r--lib/l10n/ja_JP.php13
-rw-r--r--lib/ocs/activity.php28
-rw-r--r--lib/ocsclient.php49
-rwxr-xr-xlib/preview.php627
-rw-r--r--lib/preview/image.php36
-rw-r--r--lib/preview/movies.php47
-rw-r--r--lib/preview/mp3.php48
-rw-r--r--lib/preview/office-cl.php134
-rw-r--r--lib/preview/office-fallback.php142
-rw-r--r--lib/preview/office.php22
-rw-r--r--lib/preview/pdf.php40
-rw-r--r--lib/preview/provider.php19
-rw-r--r--lib/preview/svg.php46
-rw-r--r--lib/preview/txt.php73
-rw-r--r--lib/preview/unknown.php27
-rw-r--r--lib/public/preview.php34
-rw-r--r--lib/public/share.php2
-rw-r--r--lib/public/template.php19
-rw-r--r--lib/setup.php2
-rw-r--r--lib/setup/mysql.php2
-rw-r--r--lib/setup/oci.php2
-rw-r--r--lib/setup/postgresql.php2
-rw-r--r--lib/template/functions.php16
-rw-r--r--lib/templatelayout.php4
-rw-r--r--lib/user.php2
-rwxr-xr-xlib/util.php508
-rw-r--r--ocs/routes.php8
-rwxr-xr-xsettings/admin.php4
-rw-r--r--settings/js/apps.js8
-rw-r--r--settings/l10n/fr.php16
-rw-r--r--settings/l10n/it.php2
-rw-r--r--settings/l10n/ja_JP.php2
-rw-r--r--settings/l10n/pt_PT.php6
-rw-r--r--settings/l10n/zh_TW.php4
-rw-r--r--tests/lib/db.php2
-rw-r--r--tests/lib/dbschema.php2
-rw-r--r--tests/lib/image.php36
-rw-r--r--tests/lib/preview.php108
-rw-r--r--tests/lib/util.php4
421 files changed, 7685 insertions, 2591 deletions
diff --git a/3rdparty b/3rdparty
-Subproject 21b466b72cdd4c823c011669593ecef1defb1f3
+Subproject dc87ea630287f27502eba825fbb19fcc33c34c8
diff --git a/apps/files/ajax/newfile.php b/apps/files/ajax/newfile.php
index d224e79d01b..76c03c87a51 100644
--- a/apps/files/ajax/newfile.php
+++ b/apps/files/ajax/newfile.php
@@ -79,7 +79,7 @@ if($source) {
$success = false;
if (!$content) {
$templateManager = OC_Helper::getFileTemplateManager();
- $mimeType = OC_Helper::getMimeType($target);
+ $mimeType = OC_Helper::getMimetypeDetector()->detectPath($target);
$content = $templateManager->getTemplate($mimeType);
}
diff --git a/apps/files/css/files.css b/apps/files/css/files.css
index af0cb835811..02a73ba83e5 100644
--- a/apps/files/css/files.css
+++ b/apps/files/css/files.css
@@ -19,10 +19,13 @@
background:#f8f8f8; border:1px solid #ddd; border-radius:10px; border-top-left-radius:0;
box-shadow:0 2px 7px rgba(170,170,170,.4);
}
-#new>ul>li { height:20px; margin:.3em; padding-left:2em; padding-bottom:0.1em;
+#new>ul>li { height:36px; margin:.3em; padding-left:3em; padding-bottom:0.1em;
background-repeat:no-repeat; cursor:pointer; }
-#new>ul>li>p { cursor:pointer; }
-#new>ul>li>form>input { padding:0.3em; margin:-0.3em; }
+#new>ul>li>p { cursor:pointer; padding-top: 7px; padding-bottom: 7px;}
+#new>ul>li>form>input {
+ padding: 5px;
+ margin: 2px 0;
+}
#trash { margin: 0 1em; z-index:1010; float: right; }
@@ -65,14 +68,8 @@
/* FILE TABLE */
-#emptyfolder {
- position:absolute;
- margin:10em 0 0 10em;
- font-size:1.5em; font-weight:bold;
- color:#888; text-shadow:#fff 0 1px 0;
-}
#filestable { position: relative; top:37px; width:100%; }
-#filestable tbody tr { background-color:#fff; height:2.5em; }
+tbody tr { background-color:#fff; height:2.5em; }
tbody tr:hover, tbody tr:active {
background-color: rgb(240,240,240);
}
@@ -85,54 +82,153 @@ span.extension { text-transform:lowercase; -ms-filter:"progid:DXImageTransform.M
tr:hover span.extension { -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; filter:alpha(opacity=100); opacity:1; color:#777; }
table tr.mouseOver td { background-color:#eee; }
table th { height:2em; padding:0 .5em; color:#999; }
-table th .name { float:left; margin-left:.5em; }
+table th .name {
+ position: absolute;
+ left: 55px;
+ top: 15px;
+}
table th, table td { border-bottom:1px solid #ddd; text-align:left; font-weight:normal; }
-table td { border-bottom:1px solid #eee; font-style:normal; background-position:1em .5em; background-repeat:no-repeat; }
-table th#headerName { width:100em; /* not really sure why this works better than 100% … table styling */ }
-table th#headerSize, table td.filesize { min-width:3em; padding:0 1em; text-align:right; }
-table th#headerDate, table td.date { min-width:11em; padding:0 .1em 0 1em; text-align:left; }
+table td {
+ border-bottom: 1px solid #eee;
+ font-style: normal;
+ background-position: 8px center;
+ background-repeat: no-repeat;
+}
+table th#headerName {
+ position: relative;
+ width: 100em; /* not really sure why this works better than 100% … table styling */
+ padding: 0;
+}
+#headerName-container {
+ position: relative;
+ height: 50px;
+}
+table th#headerSize, table td.filesize {
+ min-width: 3em;
+ padding: 0 1em;
+ text-align: right;
+}
+table th#headerDate, table td.date {
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ position: relative;
+ min-width: 11em;
+ display: block;
+ height: 51px;
+}
/* Multiselect bar */
-#filestable.multiselect { top:63px; }
+#filestable.multiselect {
+ top: 88px;
+}
table.multiselect thead { position:fixed; top:82px; z-index:1; -moz-box-sizing: border-box; box-sizing: border-box; left: 0; padding-left: 80px; width:100%; }
+
table.multiselect thead th {
background-color: rgba(210,210,210,.7);
color: #000;
font-weight: bold;
border-bottom: 0;
}
-table.multiselect #headerName { width: 100%; }
+table.multiselect #headerName {
+ position: relative;
+ width: 100%;
+}
table td.selection, table th.selection, table td.fileaction { width:2em; text-align:center; }
-table td.filename a.name { display:block; height:1.5em; vertical-align:middle; margin-left:3em; }
+table td.filename a.name {
+ position:relative; /* Firefox needs to explicitly have this default set … */
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ display: block;
+ height: 50px;
+ vertical-align: middle;
+ padding: 0;
+}
table tr[data-type="dir"] td.filename a.name span.nametext {font-weight:bold; }
-table td.filename input.filename { width:100%; cursor:text; }
-table td.filename a, table td.login, table td.logout, table td.download, table td.upload, table td.create, table td.delete { padding:.2em .5em .5em 0; }
+table td.filename input.filename {
+ width: 80%;
+ font-size: 14px;
+ margin-top: 8px;
+ margin-left: 2px;
+ cursor: text;
+}
+table td.filename a, table td.login, table td.logout, table td.download, table td.upload, table td.create, table td.delete { padding:.2em .5em .5em .3em; }
table td.filename .nametext, .uploadtext, .modified { float:left; padding:.3em 0; }
+
+#modified {
+ position: absolute;
+ top: 15px;
+}
+.modified {
+ position: relative;
+ top: 11px;
+ left: 5px;
+}
+
/* TODO fix usability bug (accidental file/folder selection) */
-table td.filename .nametext { overflow:hidden; text-overflow:ellipsis; max-width:800px; }
+table td.filename .nametext {
+ position: absolute;
+ top: 16px;
+ left: 55px;
+ padding: 0;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ max-width: 800px;
+}
table td.filename .uploadtext { font-weight:normal; margin-left:.5em; }
table td.filename form { font-size:.85em; margin-left:3em; margin-right:3em; }
+
/* File checkboxes */
-#fileList tr td.filename>input[type="checkbox"]:first-child { -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; filter:alpha(opacity=0); opacity:0; float:left; margin:.7em 0 0 1em; /* bigger clickable area doesn’t work in FF width:2.8em; height:2.4em;*/ -webkit-transition:opacity 200ms; -moz-transition:opacity 200ms; -o-transition:opacity 200ms; transition:opacity 200ms; }
-#fileList tr td.filename>input[type="checkbox"]:hover:first-child { -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=80)"; filter:alpha(opacity=80); opacity:.8; }
-/* Always show checkbox when selected */
-#fileList tr td.filename>input[type="checkbox"]:checked:first-child { -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; filter:alpha(opacity=100); opacity:1; }
-#fileList tr.selected td.filename>input[type="checkbox"]:first-child { -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; filter:alpha(opacity=100); opacity:1; }
+#fileList tr td.filename>input[type="checkbox"]:first-child {
+ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
+ filter: alpha(opacity=0);
+ opacity: 0;
+ float: left;
+ margin: 32px 0 4px 32px; /* bigger clickable area doesn’t work in FF width:2.8em; height:2.4em;*/
+}
+/* Show checkbox when hovering, checked, or selected */
+#fileList tr:hover td.filename>input[type="checkbox"]:first-child,
+#fileList tr td.filename>input[type="checkbox"]:checked:first-child,
+#fileList tr.selected td.filename>input[type="checkbox"]:first-child {
+ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
+ filter: alpha(opacity=100);
+ opacity: 1;
+}
+/* Use label to have bigger clickable size for checkbox */
+#fileList tr td.filename>input[type="checkbox"] + label,
+#select_all + label {
+ height: 50px;
+ position: absolute;
+ width: 50px;
+ z-index: 5;
+}
+#fileList tr td.filename>input[type="checkbox"] + label {
+ left: 0;
+}
+#select_all + label {
+ top: 0;
+}
+#select_all {
+ position: absolute;
+ top: 18px;
+ left: 18px;
+}
+
#fileList tr td.filename {
position:relative; width:100%;
-webkit-transition:background-image 500ms; -moz-transition:background-image 500ms; -o-transition:background-image 500ms; transition:background-image 500ms;
}
-#select_all { float:left; margin:.4em 0.6em 0 .5em; }
+
#uploadsize-message,#delete-confirm { display:none; }
/* File actions */
.fileactions {
- position:absolute; top:.6em; right:0;
- font-size:.8em;
+ position: absolute;
+ top: 16px;
+ right: 0;
+ font-size: 11px;
}
-#fileList .name { position:relative; /* Firefox needs to explicitly have this default set … */ }
#fileList tr:hover .fileactions { /* background to distinguish when overlaying with file names */
background-color: rgba(240,240,240,0.898);
box-shadow: -5px 0 7px rgba(240,240,240,0.898);
@@ -142,15 +238,39 @@ table td.filename form { font-size:.85em; margin-left:3em; margin-right:3em; }
box-shadow: -5px 0 7px rgba(230,230,230,.9);
}
#fileList .fileactions a.action img { position:relative; top:.2em; }
-#fileList a.action { display:inline; margin:-.5em 0; padding:1em .5em 1em .5em !important; }
+
#fileList img.move2trash { display:inline; margin:-.5em 0; padding:1em .5em 1em .5em !important; float:right; }
-a.action.delete { float:right; }
+#fileList a.action.delete {
+ position: absolute;
+ right: 0;
+ top: 0;
+ margin: 0;
+ padding: 15px 14px 19px !important;
+}
a.action>img { max-height:16px; max-width:16px; vertical-align:text-bottom; }
-.selectedActions { display:none; float:right; }
-.selectedActions a { display:inline; margin:-.5em 0; padding:.5em !important; }
-.selectedActions a img { position:relative; top:.3em; }
+
+/* Actions for selected files */
+.selectedActions {
+ display: none;
+ position: absolute;
+ top: -1px;
+ right: 0;
+ padding: 15px 8px;
+}
+.selectedActions a {
+ display: inline;
+ padding: 17px 5px;
+}
+.selectedActions a img {
+ position:relative;
+ top:.3em;
+}
+
#fileList a.action {
+ display: inline;
+ margin: -.5em 0;
+ padding: 18px 8px !important;
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
filter: alpha(opacity=0);
opacity: 0;
@@ -185,9 +305,8 @@ a.action>img { max-height:16px; max-width:16px; vertical-align:text-bottom; }
padding-bottom: 8px;
border-bottom: none;
}
-
.summary .info {
- margin-left: 3em;
+ margin-left: 55px;
}
#scanning-message{ top:40%; left:40%; position:absolute; display:none; }
diff --git a/apps/files/index.php b/apps/files/index.php
index e4d8e353858..f1e120c872c 100644
--- a/apps/files/index.php
+++ b/apps/files/index.php
@@ -74,6 +74,7 @@ foreach ($content as $i) {
}
}
$i['directory'] = $dir;
+ $i['isPreviewAvailable'] = \OCP\Preview::isMimeSupported($i['mimetype']);
$files[] = $i;
}
@@ -95,6 +96,7 @@ $list->assign('files', $files);
$list->assign('baseURL', OCP\Util::linkTo('files', 'index.php') . '?dir=');
$list->assign('downloadURL', OCP\Util::linkToRoute('download', array('file' => '/')));
$list->assign('disableSharing', false);
+$list->assign('isPublic', false);
$breadcrumbNav = new OCP\Template('files', 'part.breadcrumb', '');
$breadcrumbNav->assign('breadcrumb', $breadcrumb);
$breadcrumbNav->assign('baseURL', OCP\Util::linkTo('files', 'index.php') . '?dir=');
diff --git a/apps/files/js/file-upload.js b/apps/files/js/file-upload.js
index 1e6ab74fb6d..e9b07518bab 100644
--- a/apps/files/js/file-upload.js
+++ b/apps/files/js/file-upload.js
@@ -227,7 +227,7 @@ $(document).ready(function() {
$(this).data('text',text);
$(this).children('p').remove();
var form=$('<form></form>');
- var input=$('<input>');
+ var input=$('<input type="text">');
form.append(input);
$(this).append(form);
input.focus();
@@ -268,8 +268,9 @@ $(document).ready(function() {
tr.attr('data-mime',result.data.mime);
tr.attr('data-id', result.data.id);
tr.find('.filesize').text(humanFileSize(result.data.size));
- getMimeIcon(result.data.mime,function(path){
- tr.find('td.filename').attr('style','background-image:url('+path+')');
+ var path = getPathForPreview(name);
+ lazyLoadPreview(path, result.data.mime, function(previewpath){
+ tr.find('td.filename').attr('style','background-image:url('+previewpath+')');
});
} else {
OC.dialogs.alert(result.data.message, t('core', 'Error'));
@@ -330,8 +331,9 @@ $(document).ready(function() {
var tr=$('tr').filterAttr('data-file',localName);
tr.data('mime',mime).data('id',id);
tr.attr('data-id', id);
- getMimeIcon(mime,function(path){
- tr.find('td.filename').attr('style','background-image:url('+path+')');
+ var path = $('#dir').val()+'/'+localName;
+ lazyLoadPreview(path, mime, function(previewpath){
+ tr.find('td.filename').attr('style','background-image:url('+previewpath+')');
});
});
eventSource.listen('error',function(error){
@@ -346,4 +348,5 @@ $(document).ready(function() {
$('#new>a').click();
});
});
+ window.file_upload_param = file_upload_param;
});
diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js
index e11cc70802b..29be5e0d362 100644
--- a/apps/files/js/filelist.js
+++ b/apps/files/js/filelist.js
@@ -15,9 +15,10 @@ var FileList={
// filename td
td = $('<td></td>').attr({
"class": "filename",
- "style": 'background-image:url('+iconurl+'); background-size: 16px;'
+ "style": 'background-image:url('+iconurl+'); background-size: 32px;'
});
- td.append('<input type="checkbox" />');
+ var rand = Math.random().toString(16).slice(2);
+ td.append('<input id="select-'+rand+'" type="checkbox" /><label for="select-'+rand+'"></label>');
var link_elem = $('<a></a>').attr({
"class": "name",
"href": linktarget
@@ -146,7 +147,7 @@ var FileList={
$('tr').filterAttr('data-file',name).remove();
FileList.updateFileSummary();
if($('tr[data-file]').length==0){
- $('#emptyfolder').show();
+ $('#emptycontent').show();
}
},
insertElement:function(name,type,element){
@@ -176,7 +177,7 @@ var FileList={
}else{
$('#fileList').append(element);
}
- $('#emptyfolder').hide();
+ $('#emptycontent').hide();
FileList.updateFileSummary();
},
loadingDone:function(name, id){
@@ -187,8 +188,9 @@ var FileList={
if (id != null) {
tr.attr('data-id', id);
}
- getMimeIcon(mime,function(path){
- tr.find('td.filename').attr('style','background-image:url('+path+')');
+ var path = getPathForPreview(name);
+ lazyLoadPreview(path, mime, function(previewpath){
+ tr.find('td.filename').attr('style','background-image:url('+previewpath+')');
});
tr.find('td.filename').draggable(dragOptions);
},
@@ -200,7 +202,7 @@ var FileList={
tr=$('tr').filterAttr('data-file',name);
tr.data('renaming',true);
td=tr.children('td.filename');
- input=$('<input class="filename"/>').val(name);
+ input=$('<input type="text" class="filename"/>').val(name);
form=$('<form></form>');
form.append(input);
td.children('a.name').hide();
diff --git a/apps/files/js/files.js b/apps/files/js/files.js
index 87311237e36..d729077ea72 100644
--- a/apps/files/js/files.js
+++ b/apps/files/js/files.js
@@ -454,8 +454,9 @@ var createDragShadow = function(event){
if (elem.type === 'dir') {
newtr.find('td.filename').attr('style','background-image:url('+OC.imagePath('core', 'filetypes/folder.png')+')');
} else {
- getMimeIcon(elem.mime,function(path){
- newtr.find('td.filename').attr('style','background-image:url('+path+')');
+ var path = getPathForPreview(elem.name);
+ lazyLoadPreview(path, elem.mime, function(previewpath){
+ newtr.find('td.filename').attr('style','background-image:url('+previewpath+')');
});
}
});
@@ -631,6 +632,23 @@ function getMimeIcon(mime, ready){
}
getMimeIcon.cache={};
+function getPathForPreview(name) {
+ var path = $('#dir').val() + '/' + name;
+ return path;
+}
+
+function lazyLoadPreview(path, mime, ready) {
+ getMimeIcon(mime,ready);
+ var x = $('#filestable').data('preview-x');
+ var y = $('#filestable').data('preview-y');
+ var previewURL = OC.Router.generate('core_ajax_preview', {file: encodeURIComponent(path), x:x, y:y});
+ $.get(previewURL, function() {
+ previewURL = previewURL.replace('(','%28');
+ previewURL = previewURL.replace(')','%29');
+ ready(previewURL + '&reload=true');
+ });
+}
+
function getUniqueName(name){
if($('tr').filterAttr('data-file',name).length>0){
var parts=name.split('.');
diff --git a/apps/files/l10n/ar.php b/apps/files/l10n/ar.php
index 8346eece88b..99eb409a369 100644
--- a/apps/files/l10n/ar.php
+++ b/apps/files/l10n/ar.php
@@ -2,6 +2,8 @@
$TRANSLATIONS = array(
"Could not move %s - File with this name already exists" => "فشل في نقل الملف %s - يوجد ملف بنفس هذا الاسم",
"Could not move %s" => "فشل في نقل %s",
+"Unable to set upload directory." => "غير قادر على تحميل المجلد",
+"Invalid Token" => "علامة غير صالحة",
"No file was uploaded. Unknown error" => "لم يتم رفع أي ملف , خطأ غير معروف",
"There is no error, the file uploaded with success" => "تم ترفيع الملفات بنجاح.",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "حجم الملف المرفوع تجاوز قيمة upload_max_filesize الموجودة في ملف php.ini ",
@@ -11,12 +13,15 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "المجلد المؤقت غير موجود",
"Failed to write to disk" => "خطأ في الكتابة على القرص الصلب",
"Not enough storage available" => "لا يوجد مساحة تخزينية كافية",
+"Upload failed" => "عملية الرفع فشلت",
"Invalid directory." => "مسار غير صحيح.",
"Files" => "الملفات",
"Unable to upload your file as it is a directory or has 0 bytes" => "فشل في رفع ملفاتك , إما أنها مجلد أو حجمها 0 بايت",
+"Not enough space available" => "لا توجد مساحة كافية",
"Upload cancelled." => "تم إلغاء عملية رفع الملفات .",
"File upload is in progress. Leaving the page now will cancel the upload." => "عملية رفع الملفات قيد التنفيذ. اغلاق الصفحة سوف يلغي عملية رفع الملفات.",
"URL cannot be empty." => "عنوان ال URL لا يجوز أن يكون فارغا.",
+"Invalid folder name. Usage of 'Shared' is reserved by ownCloud" => "تسمية ملف غير صالحة. استخدام الاسم \"shared\" محجوز بواسطة ownCloud",
"Error" => "خطأ",
"Share" => "شارك",
"Delete permanently" => "حذف بشكل دائم",
@@ -30,12 +35,15 @@ $TRANSLATIONS = array(
"undo" => "تراجع",
"_%n folder_::_%n folders_" => array("","","","","",""),
"_%n file_::_%n files_" => array("","","","","",""),
+"{dirs} and {files}" => "{dirs} و {files}",
"_Uploading %n file_::_Uploading %n files_" => array("","","","","",""),
+"files uploading" => "يتم تحميل الملفات",
"'.' is an invalid file name." => "\".\" اسم ملف غير صحيح.",
"File name cannot be empty." => "اسم الملف لا يجوز أن يكون فارغا",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "اسم غير صحيح , الرموز '\\', '/', '<', '>', ':', '\"', '|', '?' و \"*\" غير مسموح استخدامها",
"Your storage is full, files can not be updated or synced anymore!" => "مساحتك التخزينية ممتلئة, لا يمكم تحديث ملفاتك أو مزامنتها بعد الآن !",
"Your storage is almost full ({usedSpacePercent}%)" => "مساحتك التخزينية امتلأت تقريبا ",
+"Encryption was disabled but your files are still encrypted. Please go to your personal settings to decrypt your files." => "تم تعطيل التشفير لكن ملفاتك لا تزال مشفرة. فضلا اذهب إلى الإعدادات الشخصية لإزالة التشفير عن ملفاتك.",
"Your download is being prepared. This might take some time if the files are big." => "جاري تجهيز عملية التحميل. قد تستغرق بعض الوقت اذا كان حجم الملفات كبير.",
"Name" => "اسم",
"Size" => "حجم",
diff --git a/apps/files/l10n/bg_BG.php b/apps/files/l10n/bg_BG.php
index e7dafd1c43a..913875e863a 100644
--- a/apps/files/l10n/bg_BG.php
+++ b/apps/files/l10n/bg_BG.php
@@ -6,6 +6,7 @@ $TRANSLATIONS = array(
"No file was uploaded" => "Фахлът не бе качен",
"Missing a temporary folder" => "Липсва временна папка",
"Failed to write to disk" => "Възникна проблем при запис в диска",
+"Upload failed" => "Качването е неуспешно",
"Invalid directory." => "Невалидна директория.",
"Files" => "Файлове",
"Upload cancelled." => "Качването е спряно.",
diff --git a/apps/files/l10n/ca.php b/apps/files/l10n/ca.php
index 9f90138eebe..648ffce79d6 100644
--- a/apps/files/l10n/ca.php
+++ b/apps/files/l10n/ca.php
@@ -13,6 +13,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "Falta un fitxer temporal",
"Failed to write to disk" => "Ha fallat en escriure al disc",
"Not enough storage available" => "No hi ha prou espai disponible",
+"Upload failed" => "La pujada ha fallat",
"Invalid directory." => "Directori no vàlid.",
"Files" => "Fitxers",
"Unable to upload your file as it is a directory or has 0 bytes" => "No es pot pujar el fitxer perquè és una carpeta o té 0 bytes",
diff --git a/apps/files/l10n/cs_CZ.php b/apps/files/l10n/cs_CZ.php
index c46758c7bcc..691cc92f1ad 100644
--- a/apps/files/l10n/cs_CZ.php
+++ b/apps/files/l10n/cs_CZ.php
@@ -13,6 +13,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "Chybí adresář pro dočasné soubory",
"Failed to write to disk" => "Zápis na disk selhal",
"Not enough storage available" => "Nedostatek dostupného úložného prostoru",
+"Upload failed" => "Odesílání selhalo",
"Invalid directory." => "Neplatný adresář",
"Files" => "Soubory",
"Unable to upload your file as it is a directory or has 0 bytes" => "Nelze odeslat Váš soubor, protože je to adresář nebo jeho velikost je 0 bajtů",
@@ -34,6 +35,7 @@ $TRANSLATIONS = array(
"undo" => "vrátit zpět",
"_%n folder_::_%n folders_" => array("%n složka","%n složky","%n složek"),
"_%n file_::_%n files_" => array("%n soubor","%n soubory","%n souborů"),
+"{dirs} and {files}" => "{dirs} a {files}",
"_Uploading %n file_::_Uploading %n files_" => array("Nahrávám %n soubor","Nahrávám %n soubory","Nahrávám %n souborů"),
"files uploading" => "soubory se odesílají",
"'.' is an invalid file name." => "'.' je neplatným názvem souboru.",
diff --git a/apps/files/l10n/cy_GB.php b/apps/files/l10n/cy_GB.php
index 666e90e9db8..157f4f89a23 100644
--- a/apps/files/l10n/cy_GB.php
+++ b/apps/files/l10n/cy_GB.php
@@ -11,6 +11,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "Plygell dros dro yn eisiau",
"Failed to write to disk" => "Methwyd ysgrifennu i'r ddisg",
"Not enough storage available" => "Dim digon o le storio ar gael",
+"Upload failed" => "Methwyd llwytho i fyny",
"Invalid directory." => "Cyfeiriadur annilys.",
"Files" => "Ffeiliau",
"Unable to upload your file as it is a directory or has 0 bytes" => "Methu llwytho'ch ffeil i fyny gan ei fod yn gyferiadur neu'n cynnwys 0 beit",
diff --git a/apps/files/l10n/da.php b/apps/files/l10n/da.php
index 36703322f93..aab12986ec1 100644
--- a/apps/files/l10n/da.php
+++ b/apps/files/l10n/da.php
@@ -13,6 +13,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "Manglende midlertidig mappe.",
"Failed to write to disk" => "Fejl ved skrivning til disk.",
"Not enough storage available" => "Der er ikke nok plads til rådlighed",
+"Upload failed" => "Upload fejlede",
"Invalid directory." => "Ugyldig mappe.",
"Files" => "Filer",
"Unable to upload your file as it is a directory or has 0 bytes" => "Kan ikke uploade din fil - det er enten en mappe eller en fil med et indhold på 0 bytes.",
@@ -34,6 +35,7 @@ $TRANSLATIONS = array(
"undo" => "fortryd",
"_%n folder_::_%n folders_" => array("%n mappe","%n mapper"),
"_%n file_::_%n files_" => array("%n fil","%n filer"),
+"{dirs} and {files}" => "{dirs} og {files}",
"_Uploading %n file_::_Uploading %n files_" => array("Uploader %n fil","Uploader %n filer"),
"files uploading" => "uploader filer",
"'.' is an invalid file name." => "'.' er et ugyldigt filnavn.",
diff --git a/apps/files/l10n/de.php b/apps/files/l10n/de.php
index 8d8d30cb6e7..947d4f07461 100644
--- a/apps/files/l10n/de.php
+++ b/apps/files/l10n/de.php
@@ -13,6 +13,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "Kein temporärer Ordner vorhanden",
"Failed to write to disk" => "Fehler beim Schreiben auf die Festplatte",
"Not enough storage available" => "Nicht genug Speicher vorhanden.",
+"Upload failed" => "Hochladen fehlgeschlagen",
"Invalid directory." => "Ungültiges Verzeichnis.",
"Files" => "Dateien",
"Unable to upload your file as it is a directory or has 0 bytes" => "Deine Datei kann nicht hochgeladen werden, weil es sich um einen Ordner handelt oder 0 Bytes groß ist.",
@@ -34,6 +35,7 @@ $TRANSLATIONS = array(
"undo" => "rückgängig machen",
"_%n folder_::_%n folders_" => array("%n Ordner","%n Ordner"),
"_%n file_::_%n files_" => array("%n Datei","%n Dateien"),
+"{dirs} and {files}" => "{dirs} und {files}",
"_Uploading %n file_::_Uploading %n files_" => array("%n Datei wird hochgeladen","%n Dateien werden hochgeladen"),
"files uploading" => "Dateien werden hoch geladen",
"'.' is an invalid file name." => "'.' ist kein gültiger Dateiname.",
diff --git a/apps/files/l10n/de_DE.php b/apps/files/l10n/de_DE.php
index 309a885d37f..db07ed7fadd 100644
--- a/apps/files/l10n/de_DE.php
+++ b/apps/files/l10n/de_DE.php
@@ -13,6 +13,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "Kein temporärer Ordner vorhanden",
"Failed to write to disk" => "Fehler beim Schreiben auf die Festplatte",
"Not enough storage available" => "Nicht genug Speicher vorhanden.",
+"Upload failed" => "Hochladen fehlgeschlagen",
"Invalid directory." => "Ungültiges Verzeichnis.",
"Files" => "Dateien",
"Unable to upload your file as it is a directory or has 0 bytes" => "Ihre Datei kann nicht hochgeladen werden, weil es sich um einen Ordner handelt oder 0 Bytes groß ist.",
@@ -34,6 +35,7 @@ $TRANSLATIONS = array(
"undo" => "rückgängig machen",
"_%n folder_::_%n folders_" => array("%n Ordner","%n Ordner"),
"_%n file_::_%n files_" => array("%n Datei","%n Dateien"),
+"{dirs} and {files}" => "{dirs} und {files}",
"_Uploading %n file_::_Uploading %n files_" => array("%n Datei wird hoch geladen","%n Dateien werden hoch geladen"),
"files uploading" => "Dateien werden hoch geladen",
"'.' is an invalid file name." => "'.' ist kein gültiger Dateiname.",
diff --git a/apps/files/l10n/el.php b/apps/files/l10n/el.php
index 1dca8e41f6d..8c89e5e1feb 100644
--- a/apps/files/l10n/el.php
+++ b/apps/files/l10n/el.php
@@ -13,6 +13,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "Λείπει ο προσωρινός φάκελος",
"Failed to write to disk" => "Αποτυχία εγγραφής στο δίσκο",
"Not enough storage available" => "Μη επαρκής διαθέσιμος αποθηκευτικός χώρος",
+"Upload failed" => "Η μεταφόρτωση απέτυχε",
"Invalid directory." => "Μη έγκυρος φάκελος.",
"Files" => "Αρχεία",
"Unable to upload your file as it is a directory or has 0 bytes" => "Αδυναμία στην αποστολή του αρχείου σας αφού είναι φάκελος ή έχει 0 bytes",
diff --git a/apps/files/l10n/eo.php b/apps/files/l10n/eo.php
index 2a011ab214b..ad538f2f2a9 100644
--- a/apps/files/l10n/eo.php
+++ b/apps/files/l10n/eo.php
@@ -11,6 +11,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "Mankas provizora dosierujo.",
"Failed to write to disk" => "Malsukcesis skribo al disko",
"Not enough storage available" => "Ne haveblas sufiĉa memoro",
+"Upload failed" => "Alŝuto malsukcesis",
"Invalid directory." => "Nevalida dosierujo.",
"Files" => "Dosieroj",
"Unable to upload your file as it is a directory or has 0 bytes" => "Ne eblis alŝuti vian dosieron ĉar ĝi estas dosierujo aŭ havas 0 duumokojn",
diff --git a/apps/files/l10n/es.php b/apps/files/l10n/es.php
index 1ff1506aaf4..7a5785577af 100644
--- a/apps/files/l10n/es.php
+++ b/apps/files/l10n/es.php
@@ -13,6 +13,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "Falta la carpeta temporal",
"Failed to write to disk" => "Falló al escribir al disco",
"Not enough storage available" => "No hay suficiente espacio disponible",
+"Upload failed" => "Error en la subida",
"Invalid directory." => "Directorio inválido.",
"Files" => "Archivos",
"Unable to upload your file as it is a directory or has 0 bytes" => "Incapaz de subir su archivo, es un directorio o tiene 0 bytes",
diff --git a/apps/files/l10n/es_AR.php b/apps/files/l10n/es_AR.php
index dac4d4e4de2..1c26c10028d 100644
--- a/apps/files/l10n/es_AR.php
+++ b/apps/files/l10n/es_AR.php
@@ -13,6 +13,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "Falta un directorio temporal",
"Failed to write to disk" => "Error al escribir en el disco",
"Not enough storage available" => "No hay suficiente almacenamiento",
+"Upload failed" => "Error al subir el archivo",
"Invalid directory." => "Directorio inválido.",
"Files" => "Archivos",
"Unable to upload your file as it is a directory or has 0 bytes" => "No fue posible subir el archivo porque es un directorio o porque su tamaño es 0 bytes",
diff --git a/apps/files/l10n/et_EE.php b/apps/files/l10n/et_EE.php
index e1947cb8f73..5a2bb437d39 100644
--- a/apps/files/l10n/et_EE.php
+++ b/apps/files/l10n/et_EE.php
@@ -13,6 +13,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "Ajutiste failide kaust puudub",
"Failed to write to disk" => "Kettale kirjutamine ebaõnnestus",
"Not enough storage available" => "Saadaval pole piisavalt ruumi",
+"Upload failed" => "Üleslaadimine ebaõnnestus",
"Invalid directory." => "Vigane kaust.",
"Files" => "Failid",
"Unable to upload your file as it is a directory or has 0 bytes" => "Faili ei saa üles laadida, kuna see on kaust või selle suurus on 0 baiti",
diff --git a/apps/files/l10n/eu.php b/apps/files/l10n/eu.php
index 6c6e92dda38..524be56af02 100644
--- a/apps/files/l10n/eu.php
+++ b/apps/files/l10n/eu.php
@@ -13,6 +13,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "Aldi bateko karpeta falta da",
"Failed to write to disk" => "Errore bat izan da diskoan idazterakoan",
"Not enough storage available" => "Ez dago behar aina leku erabilgarri,",
+"Upload failed" => "igotzeak huts egin du",
"Invalid directory." => "Baliogabeko karpeta.",
"Files" => "Fitxategiak",
"Unable to upload your file as it is a directory or has 0 bytes" => "Ezin izan da zure fitxategia igo karpeta bat delako edo 0 byte dituelako",
diff --git a/apps/files/l10n/fa.php b/apps/files/l10n/fa.php
index afa04e53ab2..24584f715b5 100644
--- a/apps/files/l10n/fa.php
+++ b/apps/files/l10n/fa.php
@@ -13,6 +13,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "یک پوشه موقت گم شده",
"Failed to write to disk" => "نوشتن بر روی دیسک سخت ناموفق بود",
"Not enough storage available" => "فضای کافی در دسترس نیست",
+"Upload failed" => "بارگزاری ناموفق بود",
"Invalid directory." => "فهرست راهنما نامعتبر می باشد.",
"Files" => "پرونده‌ها",
"Unable to upload your file as it is a directory or has 0 bytes" => "ناتوان در بارگذاری یا فایل یک پوشه است یا 0بایت دارد",
diff --git a/apps/files/l10n/fi_FI.php b/apps/files/l10n/fi_FI.php
index d18ff4f0207..1d29dbf79d2 100644
--- a/apps/files/l10n/fi_FI.php
+++ b/apps/files/l10n/fi_FI.php
@@ -11,6 +11,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "Tilapäiskansio puuttuu",
"Failed to write to disk" => "Levylle kirjoitus epäonnistui",
"Not enough storage available" => "Tallennustilaa ei ole riittävästi käytettävissä",
+"Upload failed" => "Lähetys epäonnistui",
"Invalid directory." => "Virheellinen kansio.",
"Files" => "Tiedostot",
"Unable to upload your file as it is a directory or has 0 bytes" => "Tiedoston lähetys epäonnistui, koska sen koko on 0 tavua tai kyseessä on kansio.",
@@ -30,6 +31,7 @@ $TRANSLATIONS = array(
"undo" => "kumoa",
"_%n folder_::_%n folders_" => array("%n kansio","%n kansiota"),
"_%n file_::_%n files_" => array("%n tiedosto","%n tiedostoa"),
+"{dirs} and {files}" => "{dirs} ja {files}",
"_Uploading %n file_::_Uploading %n files_" => array("Lähetetään %n tiedosto","Lähetetään %n tiedostoa"),
"'.' is an invalid file name." => "'.' on virheellinen nimi tiedostolle.",
"File name cannot be empty." => "Tiedoston nimi ei voi olla tyhjä.",
diff --git a/apps/files/l10n/fr.php b/apps/files/l10n/fr.php
index 40bb81296e6..ce19bb60eb7 100644
--- a/apps/files/l10n/fr.php
+++ b/apps/files/l10n/fr.php
@@ -13,6 +13,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "Absence de dossier temporaire.",
"Failed to write to disk" => "Erreur d'écriture sur le disque",
"Not enough storage available" => "Plus assez d'espace de stockage disponible",
+"Upload failed" => "Échec de l'envoi",
"Invalid directory." => "Dossier invalide.",
"Files" => "Fichiers",
"Unable to upload your file as it is a directory or has 0 bytes" => "Impossible d'envoyer votre fichier dans la mesure où il s'agit d'un répertoire ou d'un fichier de taille nulle",
@@ -32,15 +33,17 @@ $TRANSLATIONS = array(
"cancel" => "annuler",
"replaced {new_name} with {old_name}" => "{new_name} a été remplacé par {old_name}",
"undo" => "annuler",
-"_%n folder_::_%n folders_" => array("",""),
-"_%n file_::_%n files_" => array("",""),
-"_Uploading %n file_::_Uploading %n files_" => array("",""),
+"_%n folder_::_%n folders_" => array("%n dossier","%n dossiers"),
+"_%n file_::_%n files_" => array("%n fichier","%n fichiers"),
+"{dirs} and {files}" => "{dir} et {files}",
+"_Uploading %n file_::_Uploading %n files_" => array("Téléversement de %n fichier","Téléversement de %n fichiers"),
"files uploading" => "fichiers en cours d'envoi",
"'.' is an invalid file name." => "'.' n'est pas un nom de fichier valide.",
"File name cannot be empty." => "Le nom de fichier ne peut être vide.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nom invalide, les caractères '\\', '/', '<', '>', ':', '\"', '|', '?' et '*' ne sont pas autorisés.",
"Your storage is full, files can not be updated or synced anymore!" => "Votre espage de stockage est plein, les fichiers ne peuvent plus être téléversés ou synchronisés !",
"Your storage is almost full ({usedSpacePercent}%)" => "Votre espace de stockage est presque plein ({usedSpacePercent}%)",
+"Encryption was disabled but your files are still encrypted. Please go to your personal settings to decrypt your files." => "Le chiffrement était désactivé mais vos fichiers sont toujours chiffrés. Veuillez vous rendre sur vos Paramètres personnels pour déchiffrer vos fichiers.",
"Your download is being prepared. This might take some time if the files are big." => "Votre téléchargement est cours de préparation. Ceci peut nécessiter un certain temps si les fichiers sont volumineux.",
"Name" => "Nom",
"Size" => "Taille",
diff --git a/apps/files/l10n/gl.php b/apps/files/l10n/gl.php
index 2df738cb15f..6ec1816308a 100644
--- a/apps/files/l10n/gl.php
+++ b/apps/files/l10n/gl.php
@@ -13,6 +13,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "Falta o cartafol temporal",
"Failed to write to disk" => "Produciuse un erro ao escribir no disco",
"Not enough storage available" => "Non hai espazo de almacenamento abondo",
+"Upload failed" => "Produciuse un fallou no envío",
"Invalid directory." => "O directorio é incorrecto.",
"Files" => "Ficheiros",
"Unable to upload your file as it is a directory or has 0 bytes" => "Non foi posíbel enviar o ficheiro pois ou é un directorio ou ten 0 bytes",
diff --git a/apps/files/l10n/he.php b/apps/files/l10n/he.php
index 7141c8442e2..40d7cc9c552 100644
--- a/apps/files/l10n/he.php
+++ b/apps/files/l10n/he.php
@@ -11,6 +11,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "תקיה זמנית חסרה",
"Failed to write to disk" => "הכתיבה לכונן נכשלה",
"Not enough storage available" => "אין די שטח פנוי באחסון",
+"Upload failed" => "ההעלאה נכשלה",
"Invalid directory." => "תיקייה שגויה.",
"Files" => "קבצים",
"Unable to upload your file as it is a directory or has 0 bytes" => "לא יכול להעלות את הקובץ מכיוון שזו תקיה או שמשקל הקובץ 0 בתים",
diff --git a/apps/files/l10n/hu_HU.php b/apps/files/l10n/hu_HU.php
index 741964503ff..66edbefbca5 100644
--- a/apps/files/l10n/hu_HU.php
+++ b/apps/files/l10n/hu_HU.php
@@ -13,6 +13,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "Hiányzik egy ideiglenes mappa",
"Failed to write to disk" => "Nem sikerült a lemezre történő írás",
"Not enough storage available" => "Nincs elég szabad hely.",
+"Upload failed" => "A feltöltés nem sikerült",
"Invalid directory." => "Érvénytelen mappa.",
"Files" => "Fájlok",
"Unable to upload your file as it is a directory or has 0 bytes" => "Nem tölthető fel, mert mappa volt, vagy 0 byte méretű",
diff --git a/apps/files/l10n/it.php b/apps/files/l10n/it.php
index 2d53da21604..b0ec954d907 100644
--- a/apps/files/l10n/it.php
+++ b/apps/files/l10n/it.php
@@ -13,6 +13,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "Manca una cartella temporanea",
"Failed to write to disk" => "Scrittura su disco non riuscita",
"Not enough storage available" => "Spazio di archiviazione insufficiente",
+"Upload failed" => "Caricamento non riuscito",
"Invalid directory." => "Cartella non valida.",
"Files" => "File",
"Unable to upload your file as it is a directory or has 0 bytes" => "Impossibile caricare il file poiché è una cartella o ha una dimensione di 0 byte",
@@ -34,6 +35,7 @@ $TRANSLATIONS = array(
"undo" => "annulla",
"_%n folder_::_%n folders_" => array("%n cartella","%n cartelle"),
"_%n file_::_%n files_" => array("%n file","%n file"),
+"{dirs} and {files}" => "{dirs} e {files}",
"_Uploading %n file_::_Uploading %n files_" => array("Caricamento di %n file in corso","Caricamento di %n file in corso"),
"files uploading" => "caricamento file",
"'.' is an invalid file name." => "'.' non è un nome file valido.",
diff --git a/apps/files/l10n/ja_JP.php b/apps/files/l10n/ja_JP.php
index 09675b63f51..5438cbb4976 100644
--- a/apps/files/l10n/ja_JP.php
+++ b/apps/files/l10n/ja_JP.php
@@ -13,6 +13,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "一時保存フォルダが見つかりません",
"Failed to write to disk" => "ディスクへの書き込みに失敗しました",
"Not enough storage available" => "ストレージに十分な空き容量がありません",
+"Upload failed" => "アップロードに失敗",
"Invalid directory." => "無効なディレクトリです。",
"Files" => "ファイル",
"Unable to upload your file as it is a directory or has 0 bytes" => "ディレクトリもしくは0バイトのファイルはアップロードできません",
@@ -34,6 +35,7 @@ $TRANSLATIONS = array(
"undo" => "元に戻す",
"_%n folder_::_%n folders_" => array("%n個のフォルダ"),
"_%n file_::_%n files_" => array("%n個のファイル"),
+"{dirs} and {files}" => "{dirs} と {files}",
"_Uploading %n file_::_Uploading %n files_" => array("%n 個のファイルをアップロード中"),
"files uploading" => "ファイルをアップロード中",
"'.' is an invalid file name." => "'.' は無効なファイル名です。",
diff --git a/apps/files/l10n/ka_GE.php b/apps/files/l10n/ka_GE.php
index 8fd522aebcc..455e3211a55 100644
--- a/apps/files/l10n/ka_GE.php
+++ b/apps/files/l10n/ka_GE.php
@@ -11,6 +11,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "დროებითი საქაღალდე არ არსებობს",
"Failed to write to disk" => "შეცდომა დისკზე ჩაწერისას",
"Not enough storage available" => "საცავში საკმარისი ადგილი არ არის",
+"Upload failed" => "ატვირთვა ვერ განხორციელდა",
"Invalid directory." => "დაუშვებელი დირექტორია.",
"Files" => "ფაილები",
"Unable to upload your file as it is a directory or has 0 bytes" => "თქვენი ფაილის ატვირთვა ვერ მოხერხდა. ის არის საქაღალდე და შეიცავს 0 ბაიტს",
diff --git a/apps/files/l10n/ko.php b/apps/files/l10n/ko.php
index 86666c70569..e2b787e7f91 100644
--- a/apps/files/l10n/ko.php
+++ b/apps/files/l10n/ko.php
@@ -11,6 +11,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "임시 폴더가 없음",
"Failed to write to disk" => "디스크에 쓰지 못했습니다",
"Not enough storage available" => "저장소가 용량이 충분하지 않습니다.",
+"Upload failed" => "업로드 실패",
"Invalid directory." => "올바르지 않은 디렉터리입니다.",
"Files" => "파일",
"Unable to upload your file as it is a directory or has 0 bytes" => "디렉터리 및 빈 파일은 업로드할 수 없습니다",
diff --git a/apps/files/l10n/lt_LT.php b/apps/files/l10n/lt_LT.php
index 3bcc6b84439..0530adc2ae2 100644
--- a/apps/files/l10n/lt_LT.php
+++ b/apps/files/l10n/lt_LT.php
@@ -11,6 +11,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "Nėra laikinojo katalogo",
"Failed to write to disk" => "Nepavyko įrašyti į diską",
"Not enough storage available" => "Nepakanka vietos serveryje",
+"Upload failed" => "Nusiuntimas nepavyko",
"Invalid directory." => "Neteisingas aplankas",
"Files" => "Failai",
"Unable to upload your file as it is a directory or has 0 bytes" => "Neįmanoma įkelti failo - jo dydis gali būti 0 bitų arba tai katalogas",
diff --git a/apps/files/l10n/lv.php b/apps/files/l10n/lv.php
index 52cea5305d0..d24aaca9e4c 100644
--- a/apps/files/l10n/lv.php
+++ b/apps/files/l10n/lv.php
@@ -13,6 +13,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "Trūkst pagaidu mapes",
"Failed to write to disk" => "Neizdevās saglabāt diskā",
"Not enough storage available" => "Nav pietiekami daudz vietas",
+"Upload failed" => "Neizdevās augšupielādēt",
"Invalid directory." => "Nederīga direktorija.",
"Files" => "Datnes",
"Unable to upload your file as it is a directory or has 0 bytes" => "Nevar augšupielādēt jūsu datni, jo tā ir direktorija vai arī tā ir 0 baitu liela",
diff --git a/apps/files/l10n/nb_NO.php b/apps/files/l10n/nb_NO.php
index 5c7780825fb..55ce978d2a2 100644
--- a/apps/files/l10n/nb_NO.php
+++ b/apps/files/l10n/nb_NO.php
@@ -13,6 +13,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "Mangler midlertidig mappe",
"Failed to write to disk" => "Klarte ikke å skrive til disk",
"Not enough storage available" => "Ikke nok lagringsplass",
+"Upload failed" => "Opplasting feilet",
"Invalid directory." => "Ugyldig katalog.",
"Files" => "Filer",
"Unable to upload your file as it is a directory or has 0 bytes" => "Kan ikke laste opp filen din siden det er en mappe eller den har 0 bytes",
diff --git a/apps/files/l10n/nl.php b/apps/files/l10n/nl.php
index a4386992cf6..9fb13517369 100644
--- a/apps/files/l10n/nl.php
+++ b/apps/files/l10n/nl.php
@@ -13,6 +13,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "Er ontbreekt een tijdelijke map",
"Failed to write to disk" => "Schrijven naar schijf mislukt",
"Not enough storage available" => "Niet genoeg opslagruimte beschikbaar",
+"Upload failed" => "Upload mislukt",
"Invalid directory." => "Ongeldige directory.",
"Files" => "Bestanden",
"Unable to upload your file as it is a directory or has 0 bytes" => "Het lukt niet om uw bestand te uploaded, omdat het een folder of 0 bytes is",
diff --git a/apps/files/l10n/nn_NO.php b/apps/files/l10n/nn_NO.php
index 84402057a3a..b1f38057a88 100644
--- a/apps/files/l10n/nn_NO.php
+++ b/apps/files/l10n/nn_NO.php
@@ -11,6 +11,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "Manglar ei mellombels mappe",
"Failed to write to disk" => "Klarte ikkje skriva til disk",
"Not enough storage available" => "Ikkje nok lagringsplass tilgjengeleg",
+"Upload failed" => "Feil ved opplasting",
"Invalid directory." => "Ugyldig mappe.",
"Files" => "Filer",
"Unable to upload your file as it is a directory or has 0 bytes" => "Klarte ikkje lasta opp fila sidan ho er ei mappe eller er på 0 byte",
diff --git a/apps/files/l10n/pl.php b/apps/files/l10n/pl.php
index c55d81cea2f..4b22b080b28 100644
--- a/apps/files/l10n/pl.php
+++ b/apps/files/l10n/pl.php
@@ -13,6 +13,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "Brak folderu tymczasowego",
"Failed to write to disk" => "Błąd zapisu na dysk",
"Not enough storage available" => "Za mało dostępnego miejsca",
+"Upload failed" => "Wysyłanie nie powiodło się",
"Invalid directory." => "Zła ścieżka.",
"Files" => "Pliki",
"Unable to upload your file as it is a directory or has 0 bytes" => "Nie można wczytać pliku, ponieważ jest on katalogiem lub ma 0 bajtów",
diff --git a/apps/files/l10n/pt_BR.php b/apps/files/l10n/pt_BR.php
index bfe34bab21f..de9644bd588 100644
--- a/apps/files/l10n/pt_BR.php
+++ b/apps/files/l10n/pt_BR.php
@@ -13,6 +13,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "Pasta temporária não encontrada",
"Failed to write to disk" => "Falha ao escrever no disco",
"Not enough storage available" => "Espaço de armazenamento insuficiente",
+"Upload failed" => "Falha no envio",
"Invalid directory." => "Diretório inválido.",
"Files" => "Arquivos",
"Unable to upload your file as it is a directory or has 0 bytes" => "Impossível enviar seus arquivo por ele ser um diretório ou ter 0 bytes.",
@@ -34,6 +35,7 @@ $TRANSLATIONS = array(
"undo" => "desfazer",
"_%n folder_::_%n folders_" => array("",""),
"_%n file_::_%n files_" => array("",""),
+"{dirs} and {files}" => "{dirs} e {files}",
"_Uploading %n file_::_Uploading %n files_" => array("",""),
"files uploading" => "enviando arquivos",
"'.' is an invalid file name." => "'.' é um nome de arquivo inválido.",
@@ -41,6 +43,7 @@ $TRANSLATIONS = array(
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nome inválido, '\\', '/', '<', '>', ':', '\"', '|', '?' e '*' não são permitidos.",
"Your storage is full, files can not be updated or synced anymore!" => "Seu armazenamento está cheio, arquivos não podem mais ser atualizados ou sincronizados!",
"Your storage is almost full ({usedSpacePercent}%)" => "Seu armazenamento está quase cheio ({usedSpacePercent}%)",
+"Encryption was disabled but your files are still encrypted. Please go to your personal settings to decrypt your files." => "Encriptação foi desabilitada mas seus arquivos continuam encriptados. Por favor vá a suas configurações pessoais para descriptar seus arquivos.",
"Your download is being prepared. This might take some time if the files are big." => "Seu download está sendo preparado. Isto pode levar algum tempo se os arquivos forem grandes.",
"Name" => "Nome",
"Size" => "Tamanho",
diff --git a/apps/files/l10n/pt_PT.php b/apps/files/l10n/pt_PT.php
index 8cd73a9f70c..33ec8cddce6 100644
--- a/apps/files/l10n/pt_PT.php
+++ b/apps/files/l10n/pt_PT.php
@@ -13,6 +13,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "Está a faltar a pasta temporária",
"Failed to write to disk" => "Falhou a escrita no disco",
"Not enough storage available" => "Não há espaço suficiente em disco",
+"Upload failed" => "Carregamento falhou",
"Invalid directory." => "Directório Inválido",
"Files" => "Ficheiros",
"Unable to upload your file as it is a directory or has 0 bytes" => "Não é possível fazer o envio do ficheiro devido a ser uma pasta ou ter 0 bytes",
@@ -32,15 +33,17 @@ $TRANSLATIONS = array(
"cancel" => "cancelar",
"replaced {new_name} with {old_name}" => "substituido {new_name} por {old_name}",
"undo" => "desfazer",
-"_%n folder_::_%n folders_" => array("",""),
-"_%n file_::_%n files_" => array("",""),
-"_Uploading %n file_::_Uploading %n files_" => array("",""),
+"_%n folder_::_%n folders_" => array("%n pasta","%n pastas"),
+"_%n file_::_%n files_" => array("%n ficheiro","%n ficheiros"),
+"{dirs} and {files}" => "{dirs} e {files}",
+"_Uploading %n file_::_Uploading %n files_" => array("A carregar %n ficheiro","A carregar %n ficheiros"),
"files uploading" => "A enviar os ficheiros",
"'.' is an invalid file name." => "'.' não é um nome de ficheiro válido!",
"File name cannot be empty." => "O nome do ficheiro não pode estar vazio.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nome Inválido, os caracteres '\\', '/', '<', '>', ':', '\"', '|', '?' e '*' não são permitidos.",
"Your storage is full, files can not be updated or synced anymore!" => "O seu armazenamento está cheio, os ficheiros não podem ser sincronizados.",
"Your storage is almost full ({usedSpacePercent}%)" => "O seu espaço de armazenamento está quase cheiro ({usedSpacePercent}%)",
+"Encryption was disabled but your files are still encrypted. Please go to your personal settings to decrypt your files." => "A encriptação foi desactivada mas os seus ficheiros continuam encriptados. Por favor consulte as suas definições pessoais para desencriptar os ficheiros.",
"Your download is being prepared. This might take some time if the files are big." => "O seu download está a ser preparado. Este processo pode demorar algum tempo se os ficheiros forem grandes.",
"Name" => "Nome",
"Size" => "Tamanho",
diff --git a/apps/files/l10n/ro.php b/apps/files/l10n/ro.php
index 3b5359384ac..59f6cc68499 100644
--- a/apps/files/l10n/ro.php
+++ b/apps/files/l10n/ro.php
@@ -13,6 +13,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "Lipsește un director temporar",
"Failed to write to disk" => "Eroare la scriere pe disc",
"Not enough storage available" => "Nu este suficient spațiu disponibil",
+"Upload failed" => "Încărcarea a eșuat",
"Invalid directory." => "Director invalid.",
"Files" => "Fișiere",
"Unable to upload your file as it is a directory or has 0 bytes" => "Nu s-a putut încărca fișierul tău deoarece pare să fie un director sau are 0 bytes.",
diff --git a/apps/files/l10n/ru.php b/apps/files/l10n/ru.php
index e0bf97038d4..96f52a9045c 100644
--- a/apps/files/l10n/ru.php
+++ b/apps/files/l10n/ru.php
@@ -13,6 +13,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "Отсутствует временная папка",
"Failed to write to disk" => "Ошибка записи на диск",
"Not enough storage available" => "Недостаточно доступного места в хранилище",
+"Upload failed" => "Ошибка загрузки",
"Invalid directory." => "Неправильный каталог.",
"Files" => "Файлы",
"Unable to upload your file as it is a directory or has 0 bytes" => "Файл не был загружен: его размер 0 байт либо это не файл, а директория.",
diff --git a/apps/files/l10n/si_LK.php b/apps/files/l10n/si_LK.php
index 7d24370a092..1fd18d0c56f 100644
--- a/apps/files/l10n/si_LK.php
+++ b/apps/files/l10n/si_LK.php
@@ -7,6 +7,7 @@ $TRANSLATIONS = array(
"No file was uploaded" => "ගොනුවක් උඩුගත නොවුණි",
"Missing a temporary folder" => "තාවකාලික ෆොල්ඩරයක් අතුරුදහන්",
"Failed to write to disk" => "තැටිගත කිරීම අසාර්ථකයි",
+"Upload failed" => "උඩුගත කිරීම අසාර්ථකයි",
"Files" => "ගොනු",
"Upload cancelled." => "උඩුගත කිරීම අත් හරින්න ලදී",
"File upload is in progress. Leaving the page now will cancel the upload." => "උඩුගතකිරීමක් සිදුවේ. පිටුව හැර යාමෙන් එය නැවතෙනු ඇත",
diff --git a/apps/files/l10n/sk_SK.php b/apps/files/l10n/sk_SK.php
index e7ade013792..b30f263d244 100644
--- a/apps/files/l10n/sk_SK.php
+++ b/apps/files/l10n/sk_SK.php
@@ -13,6 +13,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "Chýba dočasný priečinok",
"Failed to write to disk" => "Zápis na disk sa nepodaril",
"Not enough storage available" => "Nedostatok dostupného úložného priestoru",
+"Upload failed" => "Odoslanie bolo neúspešné",
"Invalid directory." => "Neplatný priečinok.",
"Files" => "Súbory",
"Unable to upload your file as it is a directory or has 0 bytes" => "Nedá sa odoslať Váš súbor, pretože je to priečinok, alebo je jeho veľkosť 0 bajtov",
diff --git a/apps/files/l10n/sl.php b/apps/files/l10n/sl.php
index 6819ed3a3b3..08f789ff866 100644
--- a/apps/files/l10n/sl.php
+++ b/apps/files/l10n/sl.php
@@ -13,6 +13,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "Manjka začasna mapa",
"Failed to write to disk" => "Pisanje na disk je spodletelo",
"Not enough storage available" => "Na voljo ni dovolj prostora",
+"Upload failed" => "Pošiljanje je spodletelo",
"Invalid directory." => "Neveljavna mapa.",
"Files" => "Datoteke",
"Unable to upload your file as it is a directory or has 0 bytes" => "Pošiljanja ni mogoče izvesti, saj gre za mapo oziroma datoteko velikosti 0 bajtov.",
diff --git a/apps/files/l10n/sr.php b/apps/files/l10n/sr.php
index b8cf91f4da6..73f8ace5c81 100644
--- a/apps/files/l10n/sr.php
+++ b/apps/files/l10n/sr.php
@@ -11,6 +11,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "Недостаје привремена фасцикла",
"Failed to write to disk" => "Не могу да пишем на диск",
"Not enough storage available" => "Нема довољно простора",
+"Upload failed" => "Отпремање није успело",
"Invalid directory." => "неисправна фасцикла.",
"Files" => "Датотеке",
"Unable to upload your file as it is a directory or has 0 bytes" => "Не могу да отпремим датотеку као фасциклу или она има 0 бајтова",
diff --git a/apps/files/l10n/sv.php b/apps/files/l10n/sv.php
index 20bf77bb609..fbbe1f15910 100644
--- a/apps/files/l10n/sv.php
+++ b/apps/files/l10n/sv.php
@@ -13,6 +13,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "En temporär mapp saknas",
"Failed to write to disk" => "Misslyckades spara till disk",
"Not enough storage available" => "Inte tillräckligt med lagringsutrymme tillgängligt",
+"Upload failed" => "Misslyckad uppladdning",
"Invalid directory." => "Felaktig mapp.",
"Files" => "Filer",
"Unable to upload your file as it is a directory or has 0 bytes" => "Kan inte ladda upp din fil eftersom det är en katalog eller har 0 bytes",
@@ -34,6 +35,7 @@ $TRANSLATIONS = array(
"undo" => "ångra",
"_%n folder_::_%n folders_" => array("%n mapp","%n mappar"),
"_%n file_::_%n files_" => array("%n fil","%n filer"),
+"{dirs} and {files}" => "{dirs} och {files}",
"_Uploading %n file_::_Uploading %n files_" => array("Laddar upp %n fil","Laddar upp %n filer"),
"files uploading" => "filer laddas upp",
"'.' is an invalid file name." => "'.' är ett ogiltigt filnamn.",
diff --git a/apps/files/l10n/ta_LK.php b/apps/files/l10n/ta_LK.php
index fc52c16daf3..154e0d6796e 100644
--- a/apps/files/l10n/ta_LK.php
+++ b/apps/files/l10n/ta_LK.php
@@ -7,6 +7,7 @@ $TRANSLATIONS = array(
"No file was uploaded" => "எந்த கோப்பும் பதிவேற்றப்படவில்லை",
"Missing a temporary folder" => "ஒரு தற்காலிகமான கோப்புறையை காணவில்லை",
"Failed to write to disk" => "வட்டில் எழுத முடியவில்லை",
+"Upload failed" => "பதிவேற்றல் தோல்வியுற்றது",
"Files" => "கோப்புகள்",
"Unable to upload your file as it is a directory or has 0 bytes" => "அடைவு அல்லது 0 bytes ஐ கொண்டுள்ளதால் உங்களுடைய கோப்பை பதிவேற்ற முடியவில்லை",
"Upload cancelled." => "பதிவேற்றல் இரத்து செய்யப்பட்டுள்ளது",
diff --git a/apps/files/l10n/th_TH.php b/apps/files/l10n/th_TH.php
index b65c0bc705e..aa8cf4e9b50 100644
--- a/apps/files/l10n/th_TH.php
+++ b/apps/files/l10n/th_TH.php
@@ -11,6 +11,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "โฟลเดอร์ชั่วคราวเกิดการสูญหาย",
"Failed to write to disk" => "เขียนข้อมูลลงแผ่นดิสก์ล้มเหลว",
"Not enough storage available" => "เหลือพื้นที่ไม่เพียงสำหรับใช้งาน",
+"Upload failed" => "อัพโหลดล้มเหลว",
"Invalid directory." => "ไดเร็กทอรี่ไม่ถูกต้อง",
"Files" => "ไฟล์",
"Unable to upload your file as it is a directory or has 0 bytes" => "ไม่สามารถอัพโหลดไฟล์ของคุณได้ เนื่องจากไฟล์ดังกล่าวเป็นไดเร็กทอรี่ หรือ มีขนาดไฟล์ 0 ไบต์",
diff --git a/apps/files/l10n/tr.php b/apps/files/l10n/tr.php
index d317b11d532..dd089757d5f 100644
--- a/apps/files/l10n/tr.php
+++ b/apps/files/l10n/tr.php
@@ -13,6 +13,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "Geçici dizin eksik",
"Failed to write to disk" => "Diske yazılamadı",
"Not enough storage available" => "Yeterli disk alanı yok",
+"Upload failed" => "Yükleme başarısız",
"Invalid directory." => "Geçersiz dizin.",
"Files" => "Dosyalar",
"Unable to upload your file as it is a directory or has 0 bytes" => "Dosyanızın boyutu 0 byte olduğundan veya bir dizin olduğundan yüklenemedi",
diff --git a/apps/files/l10n/uk.php b/apps/files/l10n/uk.php
index 79a18231d2c..781590cff35 100644
--- a/apps/files/l10n/uk.php
+++ b/apps/files/l10n/uk.php
@@ -11,6 +11,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "Відсутній тимчасовий каталог",
"Failed to write to disk" => "Невдалося записати на диск",
"Not enough storage available" => "Місця більше немає",
+"Upload failed" => "Помилка завантаження",
"Invalid directory." => "Невірний каталог.",
"Files" => "Файли",
"Unable to upload your file as it is a directory or has 0 bytes" => "Неможливо завантажити ваш файл тому, що він тека або файл розміром 0 байт",
diff --git a/apps/files/l10n/vi.php b/apps/files/l10n/vi.php
index 02b184d218c..b98a14f6d7b 100644
--- a/apps/files/l10n/vi.php
+++ b/apps/files/l10n/vi.php
@@ -11,6 +11,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "Không tìm thấy thư mục tạm",
"Failed to write to disk" => "Không thể ghi ",
"Not enough storage available" => "Không đủ không gian lưu trữ",
+"Upload failed" => "Tải lên thất bại",
"Invalid directory." => "Thư mục không hợp lệ",
"Files" => "Tập tin",
"Unable to upload your file as it is a directory or has 0 bytes" => "Không thể tải lên tập tin của bạn ,nó như là một thư mục hoặc có 0 byte",
diff --git a/apps/files/l10n/zh_CN.php b/apps/files/l10n/zh_CN.php
index fa2e3403f4b..59b09ad950b 100644
--- a/apps/files/l10n/zh_CN.php
+++ b/apps/files/l10n/zh_CN.php
@@ -13,6 +13,7 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "缺少临时目录",
"Failed to write to disk" => "写入磁盘失败",
"Not enough storage available" => "没有足够的存储空间",
+"Upload failed" => "上传失败",
"Invalid directory." => "无效文件夹。",
"Files" => "文件",
"Unable to upload your file as it is a directory or has 0 bytes" => "无法上传您的文件,文件夹或者空文件",
diff --git a/apps/files/l10n/zh_TW.php b/apps/files/l10n/zh_TW.php
index 6ba8bf35de8..21c929f81a6 100644
--- a/apps/files/l10n/zh_TW.php
+++ b/apps/files/l10n/zh_TW.php
@@ -1,11 +1,11 @@
<?php
$TRANSLATIONS = array(
-"Could not move %s - File with this name already exists" => "無法移動 %s - 同名的檔案已經存在",
+"Could not move %s - File with this name already exists" => "無法移動 %s ,同名的檔案已經存在",
"Could not move %s" => "無法移動 %s",
-"Unable to set upload directory." => "無法設定上傳目錄。",
+"Unable to set upload directory." => "無法設定上傳目錄",
"Invalid Token" => "無效的 token",
-"No file was uploaded. Unknown error" => "沒有檔案被上傳。未知的錯誤。",
-"There is no error, the file uploaded with success" => "無錯誤,檔案上傳成功",
+"No file was uploaded. Unknown error" => "沒有檔案被上傳,原因未知",
+"There is no error, the file uploaded with success" => "一切都順利,檔案上傳成功",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "上傳的檔案大小超過 php.ini 當中 upload_max_filesize 參數的設定:",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "上傳的檔案大小超過 HTML 表單中 MAX_FILE_SIZE 的限制",
"The uploaded file was only partially uploaded" => "只有檔案的一部分被上傳",
@@ -13,13 +13,14 @@ $TRANSLATIONS = array(
"Missing a temporary folder" => "找不到暫存資料夾",
"Failed to write to disk" => "寫入硬碟失敗",
"Not enough storage available" => "儲存空間不足",
-"Invalid directory." => "無效的資料夾。",
+"Upload failed" => "上傳失敗",
+"Invalid directory." => "無效的資料夾",
"Files" => "檔案",
-"Unable to upload your file as it is a directory or has 0 bytes" => "無法上傳您的檔案因為它可能是一個目錄或檔案大小為0",
+"Unable to upload your file as it is a directory or has 0 bytes" => "無法上傳您的檔案,因為它可能是一個目錄或檔案大小為0",
"Not enough space available" => "沒有足夠的可用空間",
"Upload cancelled." => "上傳已取消",
-"File upload is in progress. Leaving the page now will cancel the upload." => "檔案上傳中。離開此頁面將會取消上傳。",
-"URL cannot be empty." => "URL 不能為空白。",
+"File upload is in progress. Leaving the page now will cancel the upload." => "檔案上傳中,離開此頁面將會取消上傳。",
+"URL cannot be empty." => "URL 不能為空",
"Invalid folder name. Usage of 'Shared' is reserved by ownCloud" => "無效的資料夾名稱,'Shared' 的使用被 ownCloud 保留",
"Error" => "錯誤",
"Share" => "分享",
@@ -34,43 +35,44 @@ $TRANSLATIONS = array(
"undo" => "復原",
"_%n folder_::_%n folders_" => array("%n 個資料夾"),
"_%n file_::_%n files_" => array("%n 個檔案"),
+"{dirs} and {files}" => "{dirs} 和 {files}",
"_Uploading %n file_::_Uploading %n files_" => array("%n 個檔案正在上傳"),
-"files uploading" => "檔案正在上傳中",
-"'.' is an invalid file name." => "'.' 是不合法的檔名。",
-"File name cannot be empty." => "檔名不能為空。",
-"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "檔名不合法,不允許 '\\', '/', '<', '>', ':', '\"', '|', '?' 和 '*' 。",
+"files uploading" => "檔案上傳中",
+"'.' is an invalid file name." => "'.' 是不合法的檔名",
+"File name cannot be empty." => "檔名不能為空",
+"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "檔名不合法,不允許 \\ / < > : \" | ? * 字元",
"Your storage is full, files can not be updated or synced anymore!" => "您的儲存空間已滿,沒有辦法再更新或是同步檔案!",
"Your storage is almost full ({usedSpacePercent}%)" => "您的儲存空間快要滿了 ({usedSpacePercent}%)",
"Encryption was disabled but your files are still encrypted. Please go to your personal settings to decrypt your files." => "加密已經被停用,但是您的舊檔案還是處於已加密的狀態,請前往個人設定以解密這些檔案。",
"Your download is being prepared. This might take some time if the files are big." => "正在準備您的下載,若您的檔案較大,將會需要更多時間。",
"Name" => "名稱",
"Size" => "大小",
-"Modified" => "修改",
+"Modified" => "修改時間",
"%s could not be renamed" => "無法重新命名 %s",
"Upload" => "上傳",
"File handling" => "檔案處理",
-"Maximum upload size" => "最大上傳檔案大小",
+"Maximum upload size" => "上傳限制",
"max. possible: " => "最大允許:",
-"Needed for multi-file and folder downloads." => "針對多檔案和目錄下載是必填的。",
-"Enable ZIP-download" => "啟用 Zip 下載",
+"Needed for multi-file and folder downloads." => "下載多檔案和目錄時,此項是必填的。",
+"Enable ZIP-download" => "啟用 ZIP 下載",
"0 is unlimited" => "0代表沒有限制",
-"Maximum input size for ZIP files" => "針對 ZIP 檔案最大輸入大小",
+"Maximum input size for ZIP files" => "ZIP 壓縮前的原始大小限制",
"Save" => "儲存",
"New" => "新增",
"Text file" => "文字檔",
"Folder" => "資料夾",
"From link" => "從連結",
-"Deleted files" => "已刪除的檔案",
+"Deleted files" => "回收桶",
"Cancel upload" => "取消上傳",
-"You don’t have write permissions here." => "您在這裡沒有編輯權。",
-"Nothing in here. Upload something!" => "這裡什麼也沒有,上傳一些東西吧!",
+"You don’t have write permissions here." => "您在這裡沒有編輯權",
+"Nothing in here. Upload something!" => "這裡還沒有東西,上傳一些吧!",
"Download" => "下載",
-"Unshare" => "取消共享",
+"Unshare" => "取消分享",
"Delete" => "刪除",
"Upload too large" => "上傳過大",
-"The files you are trying to upload exceed the maximum size for file uploads on this server." => "您試圖上傳的檔案已超過伺服器的最大檔案大小限制。",
+"The files you are trying to upload exceed the maximum size for file uploads on this server." => "您試圖上傳的檔案大小超過伺服器的限制。",
"Files are being scanned, please wait." => "正在掃描檔案,請稍等。",
-"Current scanning" => "目前掃描",
-"Upgrading filesystem cache..." => "正在升級檔案系統快取..."
+"Current scanning" => "正在掃描",
+"Upgrading filesystem cache..." => "正在升級檔案系統快取…"
);
$PLURAL_FORMS = "nplurals=1; plural=0;";
diff --git a/apps/files/templates/index.php b/apps/files/templates/index.php
index 360874103f8..29cb457cd5a 100644
--- a/apps/files/templates/index.php
+++ b/apps/files/templates/index.php
@@ -10,7 +10,7 @@
data-type='file'><p><?php p($l->t('Text file'));?></p></li>
<li style="background-image:url('<?php p(OCP\mimetype_icon('dir')) ?>')"
data-type='folder'><p><?php p($l->t('Folder'));?></p></li>
- <li style="background-image:url('<?php p(OCP\image_path('core', 'actions/public.png')) ?>')"
+ <li style="background-image:url('<?php p(OCP\image_path('core', 'filetypes/web.svg')) ?>')"
data-type='web'><p><?php p($l->t('From link'));?></p></li>
</ul>
</div>
@@ -56,24 +56,27 @@
</div>
<?php if (isset($_['files']) and $_['isCreatable'] and count($_['files'])==0):?>
- <div id="emptyfolder"><?php p($l->t('Nothing in here. Upload something!'))?></div>
+ <div id="emptycontent"><?php p($l->t('Nothing in here. Upload something!'))?></div>
<?php endif; ?>
-<table id="filestable" data-allow-public-upload="<?php p($_['publicUploadEnabled'])?>">
+<table id="filestable" data-allow-public-upload="<?php p($_['publicUploadEnabled'])?>" data-preview-x="36" data-preview-y="36">
<thead>
<tr>
<th id='headerName'>
- <input type="checkbox" id="select_all" />
- <span class='name'><?php p($l->t( 'Name' )); ?></span>
- <span class='selectedActions'>
- <?php if($_['allowZipDownload']) : ?>
- <a href="" class="download">
- <img class="svg" alt="Download"
- src="<?php print_unescaped(OCP\image_path("core", "actions/download.svg")); ?>" />
- <?php p($l->t('Download'))?>
- </a>
- <?php endif; ?>
- </span>
+ <div id="headerName-container">
+ <input type="checkbox" id="select_all" />
+ <label for="select_all"></label>
+ <span class="name"><?php p($l->t( 'Name' )); ?></span>
+ <span class="selectedActions">
+ <?php if($_['allowZipDownload']) : ?>
+ <a href="" class="download">
+ <img class="svg" alt="Download"
+ src="<?php print_unescaped(OCP\image_path("core", "actions/download.svg")); ?>" />
+ <?php p($l->t('Download'))?>
+ </a>
+ <?php endif; ?>
+ </span>
+ </div>
</th>
<th id="headerSize"><?php p($l->t('Size')); ?></th>
<th id="headerDate">
@@ -101,7 +104,7 @@
<?php print_unescaped($_['fileList']); ?>
</tbody>
</table>
-<div id="editor"></div>
+<div id="editor"></div><!-- FIXME Do not use this div in your app! It is deprecated and will be removed in the future! -->
<div id="uploadsize-message" title="<?php p($l->t('Upload too large'))?>">
<p>
<?php p($l->t('The files you are trying to upload exceed the maximum size for file uploads on this server.'));?>
diff --git a/apps/files/templates/part.list.php b/apps/files/templates/part.list.php
index 3e6f619868d..4076c1bb331 100644
--- a/apps/files/templates/part.list.php
+++ b/apps/files/templates/part.list.php
@@ -1,5 +1,7 @@
<input type="hidden" id="disableSharing" data-status="<?php p($_['disableSharing']); ?>">
<?php foreach($_['files'] as $file):
+ //strlen('files/') => 6
+ $relativePath = substr($file['path'], 6);
// the bigger the file, the darker the shade of grey; megabytes*2
$simple_size_color = intval(160-$file['size']/(1024*1024)*2);
if($simple_size_color<0) $simple_size_color = 0;
@@ -13,16 +15,38 @@
data-file="<?php p($name);?>"
data-type="<?php ($file['type'] == 'dir')?p('dir'):p('file')?>"
data-mime="<?php p($file['mimetype'])?>"
- data-size='<?php p($file['size']);?>'
- data-permissions='<?php p($file['permissions']); ?>'>
+ data-size="<?php p($file['size']);?>"
+ data-permissions="<?php p($file['permissions']); ?>">
+ <?php if($file['isPreviewAvailable']): ?>
+ <td class="filename svg preview-icon"
+ <?php else: ?>
<td class="filename svg"
+ <?php endif; ?>
<?php if($file['type'] == 'dir'): ?>
style="background-image:url(<?php print_unescaped(OCP\mimetype_icon('dir')); ?>)"
<?php else: ?>
- style="background-image:url(<?php print_unescaped(OCP\mimetype_icon($file['mimetype'])); ?>)"
+ <?php if($_['isPublic']): ?>
+ <?php
+ $relativePath = substr($relativePath, strlen($_['sharingroot']));
+ ?>
+ <?php if($file['isPreviewAvailable']): ?>
+ style="background-image:url(<?php print_unescaped(OCP\publicPreview_icon($relativePath, $_['sharingtoken'])); ?>)"
+ <?php else: ?>
+ style="background-image:url(<?php print_unescaped(OCP\mimetype_icon($file['mimetype'])); ?>)"
+ <?php endif; ?>
+ <?php else: ?>
+ <?php if($file['isPreviewAvailable']): ?>
+ style="background-image:url(<?php print_unescaped(OCP\preview_icon($relativePath)); ?>)"
+ <?php else: ?>
+ style="background-image:url(<?php print_unescaped(OCP\mimetype_icon($file['mimetype'])); ?>)"
+ <?php endif; ?>
+ <?php endif; ?>
<?php endif; ?>
>
- <?php if(!isset($_['readonly']) || !$_['readonly']): ?><input type="checkbox" /><?php endif; ?>
+ <?php if(!isset($_['readonly']) || !$_['readonly']): ?>
+ <input id="select-<?php p($file['fileid']); ?>" type="checkbox" />
+ <label for="select-<?php p($file['fileid']); ?>"></label>
+ <?php endif; ?>
<?php if($file['type'] == 'dir'): ?>
<a class="name" href="<?php p(rtrim($_['baseURL'],'/').'/'.trim($directory,'/').'/'.$name); ?>" title="">
<?php else: ?>
diff --git a/apps/files_encryption/hooks/hooks.php b/apps/files_encryption/hooks/hooks.php
index de306462d79..85169e6a1d0 100644
--- a/apps/files_encryption/hooks/hooks.php
+++ b/apps/files_encryption/hooks/hooks.php
@@ -36,14 +36,6 @@ class Hooks {
*/
public static function login($params) {
$l = new \OC_L10N('files_encryption');
- //check if all requirements are met
- if(!Helper::checkRequirements() || !Helper::checkConfiguration() ) {
- $error_msg = $l->t("Missing requirements.");
- $hint = $l->t('Please make sure that PHP 5.3.3 or newer is installed and that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled.');
- \OC_App::disable('files_encryption');
- \OCP\Util::writeLog('Encryption library', $error_msg . ' ' . $hint, \OCP\Util::ERROR);
- \OCP\Template::printErrorPage($error_msg, $hint);
- }
$view = new \OC_FilesystemView('/');
@@ -54,6 +46,15 @@ class Hooks {
$util = new Util($view, $params['uid']);
+ //check if all requirements are met
+ if(!$util->ready() && (!Helper::checkRequirements() || !Helper::checkConfiguration())) {
+ $error_msg = $l->t("Missing requirements.");
+ $hint = $l->t('Please make sure that PHP 5.3.3 or newer is installed and that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled.');
+ \OC_App::disable('files_encryption');
+ \OCP\Util::writeLog('Encryption library', $error_msg . ' ' . $hint, \OCP\Util::ERROR);
+ \OCP\Template::printErrorPage($error_msg, $hint);
+ }
+
// setup user, if user not ready force relogin
if (Helper::setupUser($util, $params['password']) === false) {
return false;
diff --git a/apps/files_encryption/l10n/fr.php b/apps/files_encryption/l10n/fr.php
index 12af8101394..358937441e2 100644
--- a/apps/files_encryption/l10n/fr.php
+++ b/apps/files_encryption/l10n/fr.php
@@ -10,6 +10,8 @@ $TRANSLATIONS = array(
"Could not update the private key password. Maybe the old password was not correct." => "Impossible de mettre à jour le mot de passe de la clé privé. Peut-être que l'ancien mot de passe n'était pas correcte.",
"Your private key is not valid! Likely your password was changed outside the ownCloud system (e.g. your corporate directory). You can update your private key password in your personal settings to recover access to your encrypted files." => "Votre clé de sécurité privée n'est pas valide! Il est probable que votre mot de passe ait été changé sans passer par le système ownCloud (par éxemple: le serveur de votre entreprise). Ain d'avoir à nouveau accès à vos fichiers cryptés, vous pouvez mettre à jour votre clé de sécurité privée dans les paramètres personnels de votre compte.",
"Missing requirements." => "Système minimum requis non respecté.",
+"Please make sure that PHP 5.3.3 or newer is installed and that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled." => "Veuillez vous assurer qu'une version de PHP 5.3.3 ou supérieure est installée et qu'OpenSSL et son extension PHP sont activés et configurés correctement. En attendant, l'application de chiffrement été désactivée.",
+"Following users are not set up for encryption:" => "Les utilisateurs suivants ne sont pas configurés pour le chiffrement :",
"Saving..." => "Enregistrement...",
"Your private key is not valid! Maybe the your password was changed from outside." => "Votre clef privée est invalide ! Votre mot de passe a peut-être été modifié depuis l'extérieur.",
"You can unlock your private key in your " => "Vous pouvez déverrouiller votre clé privée dans votre",
diff --git a/apps/files_encryption/l10n/hu_HU.php b/apps/files_encryption/l10n/hu_HU.php
index 49dcf817fb7..323291bbfbe 100644
--- a/apps/files_encryption/l10n/hu_HU.php
+++ b/apps/files_encryption/l10n/hu_HU.php
@@ -1,6 +1,18 @@
<?php
$TRANSLATIONS = array(
+"Recovery key successfully disabled" => "Visszaállítási kulcs sikeresen kikapcsolva",
+"Password successfully changed." => "Jelszó sikeresen megváltoztatva.",
+"Could not change the password. Maybe the old password was not correct." => "A jelszót nem lehet megváltoztatni! Lehet, hogy hibás volt a régi jelszó.",
+"Please make sure that PHP 5.3.3 or newer is installed and that OpenSSL together with the PHP extension is enabled and configured properly. For now, the encryption app has been disabled." => "Kérlek győződj meg arról, hogy PHP 5.3.3 vagy annál frissebb van telepítve, valamint a PHP-hez tartozó OpenSSL bővítmény be van-e kapcsolva és az helyesen van-e konfigurálva! Ki lett kapcsolva ideiglenesen a titkosító alkalmazás.",
"Saving..." => "Mentés...",
-"Encryption" => "Titkosítás"
+"personal settings" => "személyes beállítások",
+"Encryption" => "Titkosítás",
+"Enabled" => "Bekapcsolva",
+"Disabled" => "Kikapcsolva",
+"Change Password" => "Jelszó megváltoztatása",
+"Old log-in password" => "Régi bejelentkezési jelszó",
+"Current log-in password" => "Jelenlegi bejelentkezési jelszó",
+"Update Private Key Password" => "Privát kulcs jelszó frissítése",
+"Enable password recovery:" => "Jelszó-visszaállítás bekapcsolása"
);
$PLURAL_FORMS = "nplurals=2; plural=(n != 1);";
diff --git a/apps/files_encryption/lib/crypt.php b/apps/files_encryption/lib/crypt.php
index e129bc9313e..c009718160a 100755
--- a/apps/files_encryption/lib/crypt.php
+++ b/apps/files_encryption/lib/crypt.php
@@ -52,14 +52,14 @@ class Crypt {
$return = false;
- $res = openssl_pkey_new(array('private_key_bits' => 4096));
+ $res = Helper::getOpenSSLPkey();
if ($res === false) {
\OCP\Util::writeLog('Encryption library', 'couldn\'t generate users key-pair for ' . \OCP\User::getUser(), \OCP\Util::ERROR);
while ($msg = openssl_error_string()) {
\OCP\Util::writeLog('Encryption library', 'openssl_pkey_new() fails: ' . $msg, \OCP\Util::ERROR);
}
- } elseif (openssl_pkey_export($res, $privateKey)) {
+ } elseif (openssl_pkey_export($res, $privateKey, null, Helper::getOpenSSLConfig())) {
// Get public key
$keyDetails = openssl_pkey_get_details($res);
$publicKey = $keyDetails['key'];
@@ -70,7 +70,9 @@ class Crypt {
);
} else {
\OCP\Util::writeLog('Encryption library', 'couldn\'t export users private key, please check your servers openSSL configuration.' . \OCP\User::getUser(), \OCP\Util::ERROR);
- \OCP\Util::writeLog('Encryption library', openssl_error_string(), \OCP\Util::ERROR);
+ while($errMsg = openssl_error_string()) {
+ \OCP\Util::writeLog('Encryption library', $errMsg, \OCP\Util::ERROR);
+ }
}
return $return;
diff --git a/apps/files_encryption/lib/helper.php b/apps/files_encryption/lib/helper.php
index 0209a5d18b7..445d7ff8ca7 100755
--- a/apps/files_encryption/lib/helper.php
+++ b/apps/files_encryption/lib/helper.php
@@ -265,7 +265,7 @@ class Helper {
* @return bool true if configuration seems to be OK
*/
public static function checkConfiguration() {
- if(openssl_pkey_new(array('private_key_bits' => 4096))) {
+ if(self::getOpenSSLPkey()) {
return true;
} else {
while ($msg = openssl_error_string()) {
@@ -276,6 +276,26 @@ class Helper {
}
/**
+ * Create an openssl pkey with config-supplied settings
+ * WARNING: This initializes a new private keypair, which is computationally expensive
+ * @return resource The pkey resource created
+ */
+ public static function getOpenSSLPkey() {
+ return openssl_pkey_new(self::getOpenSSLConfig());
+ }
+
+ /**
+ * Return an array of OpenSSL config options, default + config
+ * Used for multiple OpenSSL functions
+ * @return array The combined defaults and config settings
+ */
+ public static function getOpenSSLConfig() {
+ $config = array('private_key_bits' => 4096);
+ $config = array_merge(\OCP\Config::getSystemValue('openssl', array()), $config);
+ return $config;
+ }
+
+ /**
* @brief glob uses different pattern than regular expressions, escape glob pattern only
* @param unescaped path
* @return escaped path
diff --git a/apps/files_sharing/ajax/publicpreview.php b/apps/files_sharing/ajax/publicpreview.php
new file mode 100644
index 00000000000..41a1c178a48
--- /dev/null
+++ b/apps/files_sharing/ajax/publicpreview.php
@@ -0,0 +1,85 @@
+<?php
+/**
+ * Copyright (c) 2013 Georg Ehrke georg@ownCloud.com
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+if(!\OC_App::isEnabled('files_sharing')){
+ exit;
+}
+
+$file = array_key_exists('file', $_GET) ? (string) urldecode($_GET['file']) : '';
+$maxX = array_key_exists('x', $_GET) ? (int) $_GET['x'] : '36';
+$maxY = array_key_exists('y', $_GET) ? (int) $_GET['y'] : '36';
+$scalingUp = array_key_exists('scalingup', $_GET) ? (bool) $_GET['scalingup'] : true;
+$token = array_key_exists('t', $_GET) ? (string) $_GET['t'] : '';
+
+if($token === ''){
+ \OC_Response::setStatus(400); //400 Bad Request
+ \OC_Log::write('core-preview', 'No token parameter was passed', \OC_Log::DEBUG);
+ exit;
+}
+
+$linkedItem = \OCP\Share::getShareByToken($token);
+if($linkedItem === false || ($linkedItem['item_type'] !== 'file' && $linkedItem['item_type'] !== 'folder')) {
+ \OC_Response::setStatus(404);
+ \OC_Log::write('core-preview', 'Passed token parameter is not valid', \OC_Log::DEBUG);
+ exit;
+}
+
+if(!isset($linkedItem['uid_owner']) || !isset($linkedItem['file_source'])) {
+ \OC_Response::setStatus(500);
+ \OC_Log::write('core-preview', 'Passed token seems to be valid, but it does not contain all necessary information . ("' . $token . '")', \OC_Log::WARN);
+ exit;
+}
+
+$userId = $linkedItem['uid_owner'];
+\OC_Util::setupFS($userId);
+
+$pathId = $linkedItem['file_source'];
+$path = \OC\Files\Filesystem::getPath($pathId);
+$pathInfo = \OC\Files\Filesystem::getFileInfo($path);
+$sharedFile = null;
+
+if($linkedItem['item_type'] === 'folder') {
+ $isvalid = \OC\Files\Filesystem::isValidPath($file);
+ if(!$isvalid) {
+ \OC_Response::setStatus(400); //400 Bad Request
+ \OC_Log::write('core-preview', 'Passed filename is not valid, might be malicious (file:"' . $file . '";ip:"' . $_SERVER['REMOTE_ADDR'] . '")', \OC_Log::WARN);
+ exit;
+ }
+ $sharedFile = \OC\Files\Filesystem::normalizePath($file);
+}
+
+if($linkedItem['item_type'] === 'file') {
+ $parent = $pathInfo['parent'];
+ $path = \OC\Files\Filesystem::getPath($parent);
+ $sharedFile = $pathInfo['name'];
+}
+
+$path = \OC\Files\Filesystem::normalizePath($path, false);
+if(substr($path, 0, 1) === '/') {
+ $path = substr($path, 1);
+}
+
+if($maxX === 0 || $maxY === 0) {
+ \OC_Response::setStatus(400); //400 Bad Request
+ \OC_Log::write('core-preview', 'x and/or y set to 0', \OC_Log::DEBUG);
+ exit;
+}
+
+$root = 'files/' . $path;
+
+try{
+ $preview = new \OC\Preview($userId, $root);
+ $preview->setFile($sharedFile);
+ $preview->setMaxX($maxX);
+ $preview->setMaxY($maxY);
+ $preview->setScalingUp($scalingUp);
+
+ $preview->show();
+} catch (\Exception $e) {
+ \OC_Response::setStatus(500);
+ \OC_Log::write('core', $e->getmessage(), \OC_Log::DEBUG);
+} \ No newline at end of file
diff --git a/apps/files_sharing/appinfo/routes.php b/apps/files_sharing/appinfo/routes.php
new file mode 100644
index 00000000000..02815b5eb42
--- /dev/null
+++ b/apps/files_sharing/appinfo/routes.php
@@ -0,0 +1,5 @@
+<?php
+$this->create('core_ajax_public_preview', '/publicpreview.png')->action(
+function() {
+ require_once __DIR__ . '/../ajax/publicpreview.php';
+}); \ No newline at end of file
diff --git a/apps/files_sharing/js/public.js b/apps/files_sharing/js/public.js
index 7ffd5e06873..357c6fdf540 100644
--- a/apps/files_sharing/js/public.js
+++ b/apps/files_sharing/js/public.js
@@ -16,7 +16,7 @@ $(document).ready(function() {
if (typeof FileActions !== 'undefined') {
var mimetype = $('#mimetype').val();
// Show file preview if previewer is available, images are already handled by the template
- if (mimetype.substr(0, mimetype.indexOf('/')) != 'image') {
+ if (mimetype.substr(0, mimetype.indexOf('/')) != 'image' && $('.publicpreview').length === 0) {
// Trigger default action if not download TODO
var action = FileActions.getDefault(mimetype, 'file', OC.PERMISSION_READ);
if (typeof action === 'undefined') {
diff --git a/apps/files_sharing/l10n/fr.php b/apps/files_sharing/l10n/fr.php
index b263cd87959..c97a1db97e4 100644
--- a/apps/files_sharing/l10n/fr.php
+++ b/apps/files_sharing/l10n/fr.php
@@ -3,6 +3,12 @@ $TRANSLATIONS = array(
"The password is wrong. Try again." => "Le mot de passe est incorrect. Veuillez réessayer.",
"Password" => "Mot de passe",
"Submit" => "Envoyer",
+"Sorry, this link doesn’t seem to work anymore." => "Désolé, mais le lien semble ne plus fonctionner.",
+"Reasons might be:" => "Les raisons peuvent être :",
+"the item was removed" => "l'item a été supprimé",
+"the link expired" => "le lien a expiré",
+"sharing is disabled" => "le partage est désactivé",
+"For more info, please ask the person who sent this link." => "Pour plus d'informations, veuillez contacter la personne qui a envoyé ce lien.",
"%s shared the folder %s with you" => "%s a partagé le répertoire %s avec vous",
"%s shared the file %s with you" => "%s a partagé le fichier %s avec vous",
"Download" => "Télécharger",
diff --git a/apps/files_sharing/l10n/zh_TW.php b/apps/files_sharing/l10n/zh_TW.php
index 56d67ea7ce7..5cc33fd3830 100644
--- a/apps/files_sharing/l10n/zh_TW.php
+++ b/apps/files_sharing/l10n/zh_TW.php
@@ -1,9 +1,9 @@
<?php
$TRANSLATIONS = array(
-"The password is wrong. Try again." => "請檢查您的密碼並再試一次。",
+"The password is wrong. Try again." => "請檢查您的密碼並再試一次",
"Password" => "密碼",
"Submit" => "送出",
-"Sorry, this link doesn’t seem to work anymore." => "抱歉,這連結看來已經不能用了。",
+"Sorry, this link doesn’t seem to work anymore." => "抱歉,此連結已經失效",
"Reasons might be:" => "可能的原因:",
"the item was removed" => "項目已經移除",
"the link expired" => "連結過期",
diff --git a/apps/files_sharing/public.php b/apps/files_sharing/public.php
index e9fdf6e4c95..ec6b4e815f8 100644
--- a/apps/files_sharing/public.php
+++ b/apps/files_sharing/public.php
@@ -172,6 +172,7 @@ if (isset($path)) {
} else {
$i['extension'] = '';
}
+ $i['isPreviewAvailable'] = \OCP\Preview::isMimeSupported($i['mimetype']);
}
$i['directory'] = $getPath;
$i['permissions'] = OCP\PERMISSION_READ;
@@ -194,6 +195,9 @@ if (isset($path)) {
$list->assign('baseURL', OCP\Util::linkToPublic('files') . $urlLinkIdentifiers . '&path=');
$list->assign('downloadURL',
OCP\Util::linkToPublic('files') . $urlLinkIdentifiers . '&download&path=');
+ $list->assign('isPublic', true);
+ $list->assign('sharingtoken', $token);
+ $list->assign('sharingroot', $basePath);
$breadcrumbNav = new OCP\Template('files', 'part.breadcrumb', '');
$breadcrumbNav->assign('breadcrumb', $breadcrumb);
$breadcrumbNav->assign('baseURL', OCP\Util::linkToPublic('files') . $urlLinkIdentifiers . '&path=');
diff --git a/apps/files_sharing/templates/public.php b/apps/files_sharing/templates/public.php
index 746a715f3cc..c164b3ea2b7 100644
--- a/apps/files_sharing/templates/public.php
+++ b/apps/files_sharing/templates/public.php
@@ -79,6 +79,10 @@
<source src="<?php p($_['downloadURL']); ?>" type="<?php p($_['mimetype']); ?>" />
</video>
</div>
+ <?php elseif (\OC\Preview::isMimeSupported($_['mimetype'])): ?>
+ <div id="imgframe">
+ <img src="<?php p(OCP\Util::linkToRoute( 'core_ajax_public_preview', array('x' => 500, 'y' => 500, 'file' => urlencode($_['directory_path']), 't' => $_['dirToken']))); ?>" class="publicpreview"/>
+ </div>
<?php else: ?>
<ul id="noPreview">
<li class="error">
diff --git a/apps/files_trashbin/ajax/preview.php b/apps/files_trashbin/ajax/preview.php
new file mode 100644
index 00000000000..a0846b051c7
--- /dev/null
+++ b/apps/files_trashbin/ajax/preview.php
@@ -0,0 +1,42 @@
+<?php
+/**
+ * Copyright (c) 2013 Georg Ehrke georg@ownCloud.com
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+\OC_Util::checkLoggedIn();
+
+if(!\OC_App::isEnabled('files_trashbin')){
+ exit;
+}
+
+$file = array_key_exists('file', $_GET) ? (string) urldecode($_GET['file']) : '';
+$maxX = array_key_exists('x', $_GET) ? (int) $_GET['x'] : '44';
+$maxY = array_key_exists('y', $_GET) ? (int) $_GET['y'] : '44';
+$scalingUp = array_key_exists('scalingup', $_GET) ? (bool) $_GET['scalingup'] : true;
+
+if($file === '') {
+ \OC_Response::setStatus(400); //400 Bad Request
+ \OC_Log::write('core-preview', 'No file parameter was passed', \OC_Log::DEBUG);
+ exit;
+}
+
+if($maxX === 0 || $maxY === 0) {
+ \OC_Response::setStatus(400); //400 Bad Request
+ \OC_Log::write('core-preview', 'x and/or y set to 0', \OC_Log::DEBUG);
+ exit;
+}
+
+try{
+ $preview = new \OC\Preview(\OC_User::getUser(), 'files_trashbin/files');
+ $preview->setFile($file);
+ $preview->setMaxX($maxX);
+ $preview->setMaxY($maxY);
+ $preview->setScalingUp($scalingUp);
+
+ $preview->showPreview();
+}catch(\Exception $e) {
+ \OC_Response::setStatus(500);
+ \OC_Log::write('core', $e->getmessage(), \OC_Log::DEBUG);
+} \ No newline at end of file
diff --git a/apps/files_trashbin/appinfo/routes.php b/apps/files_trashbin/appinfo/routes.php
new file mode 100644
index 00000000000..b1c3f02741e
--- /dev/null
+++ b/apps/files_trashbin/appinfo/routes.php
@@ -0,0 +1,5 @@
+<?php
+$this->create('core_ajax_trashbin_preview', '/preview.png')->action(
+function() {
+ require_once __DIR__ . '/../ajax/preview.php';
+}); \ No newline at end of file
diff --git a/apps/files_trashbin/index.php b/apps/files_trashbin/index.php
index 27f8407db06..0baeab1de97 100644
--- a/apps/files_trashbin/index.php
+++ b/apps/files_trashbin/index.php
@@ -64,6 +64,7 @@ foreach ($result as $r) {
$i['directory'] = '';
}
$i['permissions'] = OCP\PERMISSION_READ;
+ $i['isPreviewAvailable'] = \OCP\Preview::isMimeSupported($r['mime']);
$files[] = $i;
}
diff --git a/apps/files_trashbin/l10n/fr.php b/apps/files_trashbin/l10n/fr.php
index 8854190e2ce..45527805ce1 100644
--- a/apps/files_trashbin/l10n/fr.php
+++ b/apps/files_trashbin/l10n/fr.php
@@ -8,8 +8,9 @@ $TRANSLATIONS = array(
"Delete permanently" => "Supprimer de façon définitive",
"Name" => "Nom",
"Deleted" => "Effacé",
-"_%n folder_::_%n folders_" => array("",""),
-"_%n file_::_%n files_" => array("",""),
+"_%n folder_::_%n folders_" => array("","%n dossiers"),
+"_%n file_::_%n files_" => array("","%n fichiers"),
+"restored" => "restauré",
"Nothing in here. Your trash bin is empty!" => "Il n'y a rien ici. Votre corbeille est vide !",
"Restore" => "Restaurer",
"Delete" => "Supprimer",
diff --git a/apps/files_trashbin/l10n/pt_PT.php b/apps/files_trashbin/l10n/pt_PT.php
index 0c88d132b5c..9dccc773cb1 100644
--- a/apps/files_trashbin/l10n/pt_PT.php
+++ b/apps/files_trashbin/l10n/pt_PT.php
@@ -8,8 +8,8 @@ $TRANSLATIONS = array(
"Delete permanently" => "Eliminar permanentemente",
"Name" => "Nome",
"Deleted" => "Apagado",
-"_%n folder_::_%n folders_" => array("",""),
-"_%n file_::_%n files_" => array("",""),
+"_%n folder_::_%n folders_" => array("%n pasta","%n pastas"),
+"_%n file_::_%n files_" => array("%n ficheiro","%n ficheiros"),
"restored" => "Restaurado",
"Nothing in here. Your trash bin is empty!" => "Não hà ficheiros. O lixo está vazio!",
"Restore" => "Restaurar",
diff --git a/apps/files_trashbin/l10n/zh_TW.php b/apps/files_trashbin/l10n/zh_TW.php
index 2dfc484fc7f..bfc2fc659de 100644
--- a/apps/files_trashbin/l10n/zh_TW.php
+++ b/apps/files_trashbin/l10n/zh_TW.php
@@ -11,7 +11,7 @@ $TRANSLATIONS = array(
"_%n folder_::_%n folders_" => array("%n 個資料夾"),
"_%n file_::_%n files_" => array("%n 個檔案"),
"restored" => "已還原",
-"Nothing in here. Your trash bin is empty!" => "您的垃圾桶是空的!",
+"Nothing in here. Your trash bin is empty!" => "您的回收桶是空的!",
"Restore" => "還原",
"Delete" => "刪除",
"Deleted Files" => "已刪除的檔案"
diff --git a/apps/files_trashbin/lib/trash.php b/apps/files_trashbin/lib/trash.php
index 880832f9afa..c79afdc0c2e 100644
--- a/apps/files_trashbin/lib/trash.php
+++ b/apps/files_trashbin/lib/trash.php
@@ -904,4 +904,7 @@ class Trashbin {
return true;
}
+ public static function preview_icon($path) {
+ return \OC_Helper::linkToRoute( 'core_ajax_trashbin_preview', array('x' => 36, 'y' => 36, 'file' => urlencode($path) ));
+ }
}
diff --git a/apps/files_trashbin/templates/index.php b/apps/files_trashbin/templates/index.php
index 371765fa69a..88c32b1f3eb 100644
--- a/apps/files_trashbin/templates/index.php
+++ b/apps/files_trashbin/templates/index.php
@@ -6,7 +6,7 @@
<div id='notification'></div>
<?php if (isset($_['files']) && count($_['files']) === 0 && $_['dirlisting'] === false):?>
- <div id="emptyfolder"><?php p($l->t('Nothing in here. Your trash bin is empty!'))?></div>
+ <div id="emptycontent"><?php p($l->t('Nothing in here. Your trash bin is empty!'))?></div>
<?php endif; ?>
<table id="filestable">
diff --git a/apps/files_trashbin/templates/part.list.php b/apps/files_trashbin/templates/part.list.php
index 254b08dd36a..f7cc6b01bbb 100644
--- a/apps/files_trashbin/templates/part.list.php
+++ b/apps/files_trashbin/templates/part.list.php
@@ -21,11 +21,19 @@
data-timestamp='<?php p($file['timestamp']);?>'
data-dirlisting=0
<?php endif; ?>>
+ <?php if($file['isPreviewAvailable']): ?>
+ <td class="filename svg preview-icon"
+ <?php else: ?>
<td class="filename svg"
+ <?php endif; ?>
<?php if($file['type'] === 'dir'): ?>
style="background-image:url(<?php print_unescaped(OCP\mimetype_icon('dir')); ?>)"
<?php else: ?>
- style="background-image:url(<?php print_unescaped(OCP\mimetype_icon($file['mimetype'])); ?>)"
+ <?php if($file['isPreviewAvailable']): ?>
+ style="background-image:url(<?php print_unescaped(OCA\Files_Trashbin\Trashbin::preview_icon(!$_['dirlisting'] ? ($file['name'].'.d'.$file['timestamp']) : ($file['directory'].'/'.$file['name']))); ?>)"
+ <?php else: ?>
+ style="background-image:url(<?php print_unescaped(OCP\mimetype_icon($file['mimetype'])); ?>)"
+ <?php endif; ?>
<?php endif; ?>
>
<?php if(!isset($_['readonly']) || !$_['readonly']): ?><input type="checkbox" /><?php endif; ?>
diff --git a/apps/files_versions/l10n/fr.php b/apps/files_versions/l10n/fr.php
index 537783e6c9f..7f3df1bce41 100644
--- a/apps/files_versions/l10n/fr.php
+++ b/apps/files_versions/l10n/fr.php
@@ -2,6 +2,9 @@
$TRANSLATIONS = array(
"Could not revert: %s" => "Impossible de restaurer %s",
"Versions" => "Versions",
+"Failed to revert {file} to revision {timestamp}." => "Échec du retour du fichier {file} à la révision {timestamp}.",
+"More versions..." => "Plus de versions...",
+"No other versions available" => "Aucune autre version disponible",
"Restore" => "Restaurer"
);
$PLURAL_FORMS = "nplurals=2; plural=(n > 1);";
diff --git a/apps/user_webdavauth/l10n/fr.php b/apps/user_webdavauth/l10n/fr.php
index 0130e35c816..709fa53dac5 100644
--- a/apps/user_webdavauth/l10n/fr.php
+++ b/apps/user_webdavauth/l10n/fr.php
@@ -1,5 +1,7 @@
<?php
$TRANSLATIONS = array(
-"WebDAV Authentication" => "Authentification WebDAV"
+"WebDAV Authentication" => "Authentification WebDAV",
+"Address: " => "Adresse :",
+"The user credentials will be sent to this address. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "Les informations de connexion de l'utilisateur seront envoyées à cette adresse. Ce module analyse le code de la réponse HTTP et considère les codes 401 et 403 comme une authentification invalide et tout autre valeur comme une authentification valide."
);
$PLURAL_FORMS = "nplurals=2; plural=(n > 1);";
diff --git a/config/config.sample.php b/config/config.sample.php
index f5cb33732f8..0afad880c17 100644
--- a/config/config.sample.php
+++ b/config/config.sample.php
@@ -71,9 +71,6 @@ $CONFIG = array(
/* Enable the help menu item in the settings */
"knowledgebaseenabled" => true,
-/* URL to use for the help page, server should understand OCS */
-"knowledgebaseurl" => "http://api.apps.owncloud.com/v1",
-
/* Enable installing apps from the appstore */
"appstoreenabled" => true,
@@ -201,4 +198,22 @@ $CONFIG = array(
'customclient_desktop' => '', //http://owncloud.org/sync-clients/
'customclient_android' => '', //https://play.google.com/store/apps/details?id=com.owncloud.android
'customclient_ios' => '', //https://itunes.apple.com/us/app/owncloud/id543672169?mt=8
+
+// PREVIEW
+'enable_previews' => true,
+/* the max width of a generated preview, if value is null, there is no limit */
+'preview_max_x' => null,
+/* the max height of a generated preview, if value is null, there is no limit */
+'preview_max_y' => null,
+/* the max factor to scale a preview, default is set to 10 */
+'preview_max_scale_factor' => 10,
+/* custom path for libreoffice / openoffice binary */
+'preview_libreoffice_path' => '/usr/bin/libreoffice',
+/* cl parameters for libreoffice / openoffice */
+'preview_office_cl_parameters' => '',
+
+// Extra SSL options to be used for configuration
+'openssl' => array(
+ //'config' => '/absolute/location/of/openssl.cnf',
+),
);
diff --git a/core/ajax/preview.php b/core/ajax/preview.php
new file mode 100644
index 00000000000..af0f0493f4c
--- /dev/null
+++ b/core/ajax/preview.php
@@ -0,0 +1,40 @@
+<?php
+/**
+ * Copyright (c) 2013 Georg Ehrke georg@ownCloud.com
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+\OC_Util::checkLoggedIn();
+
+$file = array_key_exists('file', $_GET) ? (string) urldecode($_GET['file']) : '';
+$maxX = array_key_exists('x', $_GET) ? (int) $_GET['x'] : '36';
+$maxY = array_key_exists('y', $_GET) ? (int) $_GET['y'] : '36';
+$scalingUp = array_key_exists('scalingup', $_GET) ? (bool) $_GET['scalingup'] : true;
+
+if($file === '') {
+ //400 Bad Request
+ \OC_Response::setStatus(400);
+ \OC_Log::write('core-preview', 'No file parameter was passed', \OC_Log::DEBUG);
+ exit;
+}
+
+if($maxX === 0 || $maxY === 0) {
+ //400 Bad Request
+ \OC_Response::setStatus(400);
+ \OC_Log::write('core-preview', 'x and/or y set to 0', \OC_Log::DEBUG);
+ exit;
+}
+
+try{
+ $preview = new \OC\Preview(\OC_User::getUser(), 'files');
+ $preview->setFile($file);
+ $preview->setMaxX($maxX);
+ $preview->setMaxY($maxY);
+ $preview->setScalingUp($scalingUp);
+
+ $preview->show();
+}catch(\Exception $e) {
+ \OC_Response::setStatus(500);
+ \OC_Log::write('core', $e->getmessage(), \OC_Log::DEBUG);
+} \ No newline at end of file
diff --git a/core/css/apps.css b/core/css/apps.css
index 445a3b9b59f..5de146feb1f 100644
--- a/core/css/apps.css
+++ b/core/css/apps.css
@@ -129,6 +129,7 @@
/* counter and actions */
#app-navigation .utils {
position: absolute;
+ padding: 7px 7px 0 0;
right: 0;
top: 0;
bottom: 0;
diff --git a/core/css/fixes.css b/core/css/fixes.css
index 3df60ad5b5c..a33bd94bb10 100644
--- a/core/css/fixes.css
+++ b/core/css/fixes.css
@@ -44,3 +44,7 @@
height: auto !important;
}
+/* oc-dialog only uses box shadow which is not supported by ie8 */
+.ie8 .oc-dialog {
+ border: 1px solid #888888;
+}
diff --git a/core/css/styles.css b/core/css/styles.css
index 34e8e8ae416..bf78af15af5 100644
--- a/core/css/styles.css
+++ b/core/css/styles.css
@@ -145,18 +145,25 @@ a.disabled, a.disabled:hover, a.disabled:focus {
.searchbox input[type="search"] { font-size:1.2em; padding:.2em .5em .2em 1.5em; background:#fff url('../img/actions/search.svg') no-repeat .5em center; border:0; -moz-border-radius:1em; -webkit-border-radius:1em; border-radius:1em; -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"; filter:alpha(opacity=70);opacity:.7; -webkit-transition:opacity 300ms; -moz-transition:opacity 300ms; -o-transition:opacity 300ms; transition:opacity 300ms; margin-top:10px; float:right; }
input[type="submit"].enabled { background:#66f866; border:1px solid #5e5; -moz-box-shadow:0 1px 1px #f8f8f8, 0 1px 1px #cfc inset; -webkit-box-shadow:0 1px 1px #f8f8f8, 0 1px 1px #cfc inset; box-shadow:0 1px 1px #f8f8f8, 0 1px 1px #cfc inset; }
-#select_all{ margin-top:.4em }
+
+
/* CONTENT ------------------------------------------------------------------ */
#controls {
- position:fixed;
- height:2.8em; width:100%;
- padding:0 70px 0 0.5em; margin:0;
- -moz-box-sizing:border-box; box-sizing:border-box;
- -moz-box-shadow:0 -3px 7px #000; -webkit-box-shadow:0 -3px 7px #000; box-shadow:0 -3px 7px #000;
- background:#eee; border-bottom:1px solid #e7e7e7; z-index:50;
+ position: fixed;
+ height: 36px;
+ width: 100%;
+ padding: 0 75px 0 6px;
+ margin: 0;
+ background: #eee;
+ border-bottom: 1px solid #e7e7e7;
+ z-index: 50;
+ -moz-box-sizing: border-box; box-sizing: border-box;
+ -moz-box-shadow: 0 -3px 7px #000; -webkit-box-shadow: 0 -3px 7px #000; box-shadow: 0 -3px 7px #000;
+}
+#controls .button {
+ display: inline-block;
}
-#controls .button { display:inline-block; }
#content { position:relative; height:100%; width:100%; }
#content .hascontrols { position: relative; top: 2.9em; }
@@ -176,7 +183,14 @@ input[type="submit"].enabled { background:#66f866; border:1px solid #5e5; -moz-b
#leftcontent a { height:100%; display:block; margin:0; padding:0 1em 0 0; float:left; }
#rightcontent, .rightcontent { position:fixed; top:6.4em; left:24.5em; overflow:auto }
-
+#emptycontent {
+ font-size:1.5em; font-weight:bold;
+ color:#888; text-shadow:#fff 0 1px 0;
+ position: absolute;
+ text-align: center;
+ top: 50%;
+ width: 100%;
+}
/* LOG IN & INSTALLATION ------------------------------------------------------------ */
@@ -676,8 +690,21 @@ a.bookmarklet { background-color:#ddd; border:1px solid #ccc; padding:5px;paddin
background-color:white;
width:100%;
}
-#oc-dialog-filepicker-content .filelist img { margin: 2px 1em 0 4px; }
-#oc-dialog-filepicker-content .filelist .date { float:right;margin-right:1em; }
+#oc-dialog-filepicker-content .filelist li {
+ position: relative;
+}
+#oc-dialog-filepicker-content .filelist .filename {
+ position: absolute;
+ top: 8px;
+}
+#oc-dialog-filepicker-content .filelist img {
+ margin: 2px 1em 0 4px;
+}
+#oc-dialog-filepicker-content .filelist .date {
+ float: right;
+ margin-right: 1em;
+ margin-top: 8px;
+}
#oc-dialog-filepicker-content .filepicker_element_selected { background-color:lightblue;}
.ui-dialog {position:fixed !important;}
span.ui-icon {float: left; margin: 3px 7px 30px 0;}
diff --git a/core/img/filetypes/application-epub+zip.png b/core/img/filetypes/application-epub+zip.png
new file mode 100644
index 00000000000..b3e3b28b4d5
--- /dev/null
+++ b/core/img/filetypes/application-epub+zip.png
Binary files differ
diff --git a/core/img/filetypes/application-epub+zip.svg b/core/img/filetypes/application-epub+zip.svg
new file mode 100644
index 00000000000..041f9f15e68
--- /dev/null
+++ b/core/img/filetypes/application-epub+zip.svg
@@ -0,0 +1,761 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="32px"
+ height="32px"
+ id="svg3194"
+ version="1.1"
+ inkscape:version="0.48.3.1 r9886"
+ sodipodi:docname="application-epub+zip.svg"
+ inkscape:export-filename="application-epub+zip.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90">
+ <defs
+ id="defs3196">
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3195"
+ id="linearGradient3066"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.502671,0,0,0.64629877,3.711822,0.79617735)"
+ x1="23.99999"
+ y1="14.915504"
+ x2="23.99999"
+ y2="32.595779" />
+ <linearGradient
+ id="linearGradient3195">
+ <stop
+ id="stop3197"
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop3199"
+ style="stop-color:#ffffff;stop-opacity:0.23529412"
+ offset="0.12291458" />
+ <stop
+ id="stop3201"
+ style="stop-color:#ffffff;stop-opacity:0.15686275"
+ offset="0.93706012" />
+ <stop
+ id="stop3203"
+ style="stop-color:#ffffff;stop-opacity:0.39215687"
+ offset="1" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2867-449-88-871-390-598-476-591-434-148-57-177-641-289-620-227-114-444-680-744-8-7"
+ id="radialGradient3069"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,0.96917483,-0.82965977,0,24.014205,-1.7852207)"
+ cx="10.90426"
+ cy="8.4497671"
+ fx="10.90426"
+ fy="8.4497671"
+ r="19.99999" />
+ <linearGradient
+ id="linearGradient2867-449-88-871-390-598-476-591-434-148-57-177-641-289-620-227-114-444-680-744-8-7">
+ <stop
+ id="stop5430-8-6"
+ style="stop-color:#5f5f5f;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop5432-3-5"
+ style="stop-color:#4f4f4f;stop-opacity:1"
+ offset="0.26238" />
+ <stop
+ id="stop5434-1-6"
+ style="stop-color:#3b3b3b;stop-opacity:1"
+ offset="0.704952" />
+ <stop
+ id="stop5436-8-9"
+ style="stop-color:#2b2b2b;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3707-319-631-407-324-616-674-812-821-107-178-392-400-6-7"
+ id="linearGradient3071"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.65627449,0,0,0.6892852,1.2531134,-0.21112011)"
+ x1="24"
+ y1="44"
+ x2="24"
+ y2="3.8990016" />
+ <linearGradient
+ id="linearGradient3707-319-631-407-324-616-674-812-821-107-178-392-400-6-7">
+ <stop
+ id="stop5440-4-4"
+ style="stop-color:#272727;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop5442-3-5"
+ style="stop-color:#454545;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3731"
+ id="linearGradient3075"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.56756757,0,0,0.67567567,2.3783793,-0.21620881)"
+ x1="23.99999"
+ y1="4.999989"
+ x2="23.99999"
+ y2="43" />
+ <linearGradient
+ id="linearGradient3731">
+ <stop
+ id="stop3733"
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop3735"
+ style="stop-color:#ffffff;stop-opacity:0.23529412"
+ offset="0.02706478" />
+ <stop
+ id="stop3737"
+ style="stop-color:#ffffff;stop-opacity:0.15686275"
+ offset="0.97377032" />
+ <stop
+ id="stop3739"
+ style="stop-color:#ffffff;stop-opacity:0.39215687"
+ offset="1" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2867-449-88-871-390-598-476-591-434-148-57-177-641-289-620-227-114-444-680-744-8"
+ id="radialGradient3078"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.165708e-8,1.6179162,-1.483354,-2.9808191e-8,28.734063,-9.2240923)"
+ cx="7.4956832"
+ cy="8.4497671"
+ fx="7.4956832"
+ fy="8.4497671"
+ r="19.99999" />
+ <linearGradient
+ id="linearGradient2867-449-88-871-390-598-476-591-434-148-57-177-641-289-620-227-114-444-680-744-8">
+ <stop
+ id="stop5430-8"
+ style="stop-color:#5f5f5f;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop5432-3"
+ style="stop-color:#4f4f4f;stop-opacity:1"
+ offset="0.26238" />
+ <stop
+ id="stop5434-1"
+ style="stop-color:#3b3b3b;stop-opacity:1"
+ offset="0.704952" />
+ <stop
+ id="stop5436-8"
+ style="stop-color:#2b2b2b;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3707-319-631-407-324-616-674-812-821-107-178-392-400-6"
+ id="linearGradient3080"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.60000001,0,0,0.69230771,1.8000008,-0.61538474)"
+ x1="24"
+ y1="44"
+ x2="24"
+ y2="3.8990016" />
+ <linearGradient
+ id="linearGradient3707-319-631-407-324-616-674-812-821-107-178-392-400-6">
+ <stop
+ id="stop5440-4"
+ style="stop-color:#272727;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop5442-3"
+ style="stop-color:#454545;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient8967-1"
+ id="radialGradient3083"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,1.8069473,-2.0594306,0,30.190262,-41.983847)"
+ cx="24.501682"
+ cy="6.6475959"
+ fx="24.501682"
+ fy="6.6475959"
+ r="17.49832" />
+ <linearGradient
+ id="linearGradient8967">
+ <stop
+ id="stop8969"
+ style="stop-color:#ddcfbd;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop8971"
+ style="stop-color:#856f50;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3319-1"
+ id="linearGradient3085"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.45330736,0,0,0.48530928,1.9941631,0.11705426)"
+ x1="32.901409"
+ y1="4.6481781"
+ x2="32.901409"
+ y2="61.481758" />
+ <linearGradient
+ id="linearGradient3319">
+ <stop
+ id="stop3321"
+ style="stop-color:#a79071;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop3323"
+ style="stop-color:#6f5d45;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2346"
+ id="linearGradient3088"
+ gradientUnits="userSpaceOnUse"
+ x1="10.654308"
+ y1="1"
+ x2="10.654308"
+ y2="3"
+ gradientTransform="matrix(0.60000001,0,0,0.75000464,0.6000147,0.12497942)" />
+ <linearGradient
+ id="linearGradient2346">
+ <stop
+ id="stop2348"
+ style="stop-color:#eeeeee;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop2350"
+ style="stop-color:#d9d9da;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3707-319-631-407-324-616-674-812-821-107-178-392-400-6-2"
+ id="linearGradient3090"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.60000001,0,0,0.07692307,1.8001714,0.15384638)"
+ x1="24"
+ y1="44"
+ x2="24"
+ y2="3.8990016" />
+ <linearGradient
+ id="linearGradient3707-319-631-407-324-616-674-812-821-107-178-392-400-6-2">
+ <stop
+ id="stop5440-4-8"
+ style="stop-color:#272727;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop5442-3-8"
+ style="stop-color:#454545;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3101">
+ <stop
+ offset="0"
+ style="stop-color:#9b876c;stop-opacity:1"
+ id="stop3103" />
+ <stop
+ offset="0.95429963"
+ style="stop-color:#9b876c;stop-opacity:1"
+ id="stop3105" />
+ <stop
+ offset="0.95717829"
+ style="stop-color:#c2c2c2;stop-opacity:1"
+ id="stop3107" />
+ <stop
+ offset="1"
+ style="stop-color:#c2c2c2;stop-opacity:1"
+ id="stop3109" />
+ </linearGradient>
+ <linearGradient
+ y2="4.882647"
+ x2="24.640038"
+ y1="3.1234391"
+ x1="24.62738"
+ gradientTransform="matrix(0.69041563,0,0,1.0164576,0.2501926,-2.4916513)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient3190"
+ xlink:href="#linearGradient2346"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="0.065301567"
+ x2="54.887218"
+ y1="0.065301567"
+ x1="5.2122574"
+ gradientTransform="matrix(0.49253714,0,0,0.4937733,0.8902917,0.14413039)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient3192"
+ xlink:href="#linearGradient3911"
+ inkscape:collect="always" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3688-166-749"
+ id="radialGradient2976"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.003784,0,0,1.4,27.98813,-17.4)"
+ cx="4.9929786"
+ cy="43.5"
+ fx="4.9929786"
+ fy="43.5"
+ r="2.5" />
+ <linearGradient
+ id="linearGradient3688-166-749">
+ <stop
+ id="stop2883"
+ style="stop-color:#181818;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop2885"
+ style="stop-color:#181818;stop-opacity:0"
+ offset="1" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3688-464-309"
+ id="radialGradient2978"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.003784,0,0,1.4,-20.01187,-104.4)"
+ cx="4.9929786"
+ cy="43.5"
+ fx="4.9929786"
+ fy="43.5"
+ r="2.5" />
+ <linearGradient
+ id="linearGradient3688-464-309">
+ <stop
+ id="stop2889"
+ style="stop-color:#181818;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop2891"
+ style="stop-color:#181818;stop-opacity:0"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3702-501-757"
+ id="linearGradient2980"
+ gradientUnits="userSpaceOnUse"
+ x1="25.058096"
+ y1="47.027729"
+ x2="25.058096"
+ y2="39.999443" />
+ <linearGradient
+ id="linearGradient3702-501-757">
+ <stop
+ id="stop2895"
+ style="stop-color:#181818;stop-opacity:0"
+ offset="0" />
+ <stop
+ id="stop2897"
+ style="stop-color:#181818;stop-opacity:1"
+ offset="0.5" />
+ <stop
+ id="stop2899"
+ style="stop-color:#181818;stop-opacity:0"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3100"
+ id="linearGradient3072"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.40540539,0,0,0.45945944,-21.967425,1.9253706)"
+ x1="23.99999"
+ y1="4.431067"
+ x2="24.107431"
+ y2="43.758408" />
+ <linearGradient
+ id="linearGradient3100">
+ <stop
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1"
+ id="stop3102" />
+ <stop
+ offset="0.06169702"
+ style="stop-color:#ffffff;stop-opacity:0.23529412"
+ id="stop3104" />
+ <stop
+ offset="0.93279684"
+ style="stop-color:#ffffff;stop-opacity:0.15686275"
+ id="stop3106" />
+ <stop
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0.39215687"
+ id="stop3108" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2867-449-88-871-390-598-476-591-434-148-57-177-641-289-620-227-114-444-680-744-8-3"
+ id="radialGradient3075"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,1.1385335,-0.98890268,-2.0976135e-8,-4.5816524,-4.7978939)"
+ cx="7.4956832"
+ cy="8.4497671"
+ fx="7.4956832"
+ fy="8.4497671"
+ r="19.99999" />
+ <linearGradient
+ id="linearGradient2867-449-88-871-390-598-476-591-434-148-57-177-641-289-620-227-114-444-680-744-8-3">
+ <stop
+ id="stop5430-8-4"
+ style="stop-color:#5f5f5f;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop5432-3-0"
+ style="stop-color:#4f4f4f;stop-opacity:1"
+ offset="0.26238" />
+ <stop
+ id="stop5434-1-7"
+ style="stop-color:#3b3b3b;stop-opacity:1"
+ offset="0.704952" />
+ <stop
+ id="stop5436-8-7"
+ style="stop-color:#2b2b2b;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3707-319-631-407-324-616-674-812-821-107-178-392-400-6-77"
+ id="linearGradient3077"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.40000001,0,0,0.48717951,-22.537695,1.2600855)"
+ x1="24"
+ y1="44"
+ x2="24"
+ y2="3.8990016" />
+ <linearGradient
+ id="linearGradient3707-319-631-407-324-616-674-812-821-107-178-392-400-6-77">
+ <stop
+ id="stop5440-4-82"
+ style="stop-color:#272727;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop5442-3-9"
+ style="stop-color:#454545;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient8967-1"
+ id="radialGradient3080"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,1.2711776,-1.4972812,0,-1.7843744,-27.838648)"
+ cx="24.501682"
+ cy="6.6475959"
+ fx="24.501682"
+ fy="6.6475959"
+ r="17.49832" />
+ <linearGradient
+ id="linearGradient8967-1">
+ <stop
+ id="stop8969-2"
+ style="stop-color:#c4ea71;stop-opacity:1;"
+ offset="0" />
+ <stop
+ id="stop8971-2"
+ style="stop-color:#7c9d35;stop-opacity:1;"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3319-1"
+ id="linearGradient3082"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.32957099,0,0,0.34141245,-22.283968,1.7791087)"
+ x1="32.901409"
+ y1="4.6481781"
+ x2="32.901409"
+ y2="61.481758" />
+ <linearGradient
+ id="linearGradient3319-1">
+ <stop
+ id="stop3321-3"
+ style="stop-color:#96bf3e;stop-opacity:1;"
+ offset="0" />
+ <stop
+ id="stop3323-6"
+ style="stop-color:#4d6b0d;stop-opacity:1;"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2346-4"
+ id="linearGradient3085-0"
+ gradientUnits="userSpaceOnUse"
+ x1="10.654308"
+ y1="1"
+ x2="10.654308"
+ y2="3"
+ gradientTransform="matrix(0.39999999,0,0,0.50000335,-23.337674,1.202378)" />
+ <linearGradient
+ id="linearGradient2346-4">
+ <stop
+ id="stop2348-6"
+ style="stop-color:#eeeeee;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop2350-4"
+ style="stop-color:#d9d9da;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3707-319-631-407-324-616-674-812-821-107-178-392-400-6-2-9"
+ id="linearGradient3087"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.39999999,0,0,0.05128207,-22.537569,1.2216233)"
+ x1="24"
+ y1="44"
+ x2="24"
+ y2="3.8990016" />
+ <linearGradient
+ id="linearGradient3707-319-631-407-324-616-674-812-821-107-178-392-400-6-2-9">
+ <stop
+ id="stop5440-4-8-9"
+ style="stop-color:#272727;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop5442-3-8-1"
+ style="stop-color:#454545;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2346-4"
+ id="linearGradient3090-0"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.52589466,0,0,1.0164584,-24.496147,-1.5392617)"
+ x1="24.640038"
+ y1="3.3805361"
+ x2="24.640038"
+ y2="4.4969802" />
+ <linearGradient
+ id="linearGradient3159">
+ <stop
+ id="stop3161"
+ style="stop-color:#eeeeee;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop3163"
+ style="stop-color:#d9d9da;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3911"
+ id="linearGradient3092"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.37516915,0,0,0.49377366,-24.008579,1.096522)"
+ x1="10.199131"
+ y1="0.065301567"
+ x2="54.887218"
+ y2="0.065301567" />
+ <linearGradient
+ id="linearGradient3911">
+ <stop
+ id="stop3913"
+ style="stop-color:#96bf3e;stop-opacity:1;"
+ offset="0" />
+ <stop
+ id="stop3915"
+ style="stop-color:#4d6b0d;stop-opacity:1;"
+ offset="1" />
+ </linearGradient>
+ <radialGradient
+ r="2.5"
+ fy="43.5"
+ fx="4.9929786"
+ cy="43.5"
+ cx="4.9929786"
+ gradientTransform="matrix(2.003784,0,0,1.4,27.98813,-17.4)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient3082-993"
+ xlink:href="#linearGradient3688-166-749-49"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient3688-166-749-49">
+ <stop
+ offset="0"
+ style="stop-color:#181818;stop-opacity:1"
+ id="stop3079" />
+ <stop
+ offset="1"
+ style="stop-color:#181818;stop-opacity:0"
+ id="stop3081" />
+ </linearGradient>
+ <radialGradient
+ r="2.5"
+ fy="43.5"
+ fx="4.9929786"
+ cy="43.5"
+ cx="4.9929786"
+ gradientTransform="matrix(2.003784,0,0,1.4,-20.01187,-104.4)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient3084-992"
+ xlink:href="#linearGradient3688-464-309-276"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient3688-464-309-276">
+ <stop
+ offset="0"
+ style="stop-color:#181818;stop-opacity:1"
+ id="stop3085" />
+ <stop
+ offset="1"
+ style="stop-color:#181818;stop-opacity:0"
+ id="stop3087" />
+ </linearGradient>
+ <linearGradient
+ y2="39.999443"
+ x2="25.058096"
+ y1="47.027729"
+ x1="25.058096"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient3086-631"
+ xlink:href="#linearGradient3702-501-757-979"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient3702-501-757-979">
+ <stop
+ offset="0"
+ style="stop-color:#181818;stop-opacity:0"
+ id="stop3091" />
+ <stop
+ offset="0.5"
+ style="stop-color:#181818;stop-opacity:1"
+ id="stop3093" />
+ <stop
+ offset="1"
+ style="stop-color:#181818;stop-opacity:0"
+ id="stop3095" />
+ </linearGradient>
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="6.0877475"
+ inkscape:cx="26.638683"
+ inkscape:cy="15.835736"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:window-width="1075"
+ inkscape:window-height="715"
+ inkscape:window-x="289"
+ inkscape:window-y="24"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata3199">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <g
+ style="display:inline"
+ id="g2036"
+ transform="matrix(0.64999974,0,0,0.3333336,0.39999974,15.33333)">
+ <g
+ style="opacity:0.4"
+ id="g3712"
+ transform="matrix(1.052632,0,0,1.285713,-1.263158,-13.42854)">
+ <rect
+ style="fill:url(#radialGradient2976);fill-opacity:1;stroke:none"
+ id="rect2801"
+ y="40"
+ x="38"
+ height="7"
+ width="5" />
+ <rect
+ style="fill:url(#radialGradient2978);fill-opacity:1;stroke:none"
+ id="rect3696"
+ transform="scale(-1,-1)"
+ y="-47"
+ x="-10"
+ height="7"
+ width="5" />
+ <rect
+ style="fill:url(#linearGradient2980);fill-opacity:1;stroke:none"
+ id="rect3700"
+ y="40"
+ x="10"
+ height="7.0000005"
+ width="28" />
+ </g>
+ </g>
+ <path
+ inkscape:connector-curvature="0"
+ style="fill:url(#linearGradient3190);fill-opacity:1;stroke:url(#linearGradient3192);stroke-width:1.01739752;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:0;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;display:inline"
+ id="path2723"
+ d="M 27.491301,2.3043778 C 27.288172,1.6493136 27.414776,1.1334476 27.302585,0.5086989 l -20.7938863,0 0.1227276,1.9826025" />
+ <path
+ inkscape:connector-curvature="0"
+ style="color:#000000;fill:url(#linearGradient3088);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient3090);stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect5505-21-3-9"
+ d="m 7.5001709,3.5 -2.4000002,0 C 4.7576618,3.5 4.5001708,3.46825 4.5001708,3.426829 l 0,-2.0973288 c 0,-0.66594375 0.3354193,-0.82950023 0.7745366,-0.82950023 l 2.2254635,0" />
+ <rect
+ ry="0.5"
+ style="fill:url(#radialGradient3083);fill-opacity:1.0;stroke:url(#linearGradient3085);stroke-width:1.01904130000000004;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:0;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;display:inline"
+ id="rect2719"
+ y="2.5095644"
+ x="5.5095205"
+ rx="0.5"
+ height="26.980959"
+ width="21.980959" />
+ <path
+ inkscape:connector-curvature="0"
+ style="color:#000000;fill:url(#radialGradient3078);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient3080);stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect5505-21-3"
+ d="m 7.5,2.5000001 c 0,0 0,18.7742959 0,26.9999999 l -2.4,0 c -0.3425089,0 -0.6,-0.285772 -0.6,-0.658537 l 0,-26.3414629 z" />
+ <rect
+ style="opacity:0.5;fill:none;stroke:url(#linearGradient3075);stroke-width:0.99999988;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect6741-0"
+ y="3.5000002"
+ x="5.5"
+ height="25"
+ width="21" />
+ <path
+ id="path3859"
+ d="m 16.999886,20.304641 -3.77084,-3.713998 3.77084,-3.71347 1.25705,1.237774 -2.514099,2.475696 1.256974,1.237999 3.770839,-3.713469 -3.284841,-3.235063 c -0.268233,-0.264393 -0.703306,-0.264393 -0.971768,0 l -5.312867,5.232353 c -0.268232,0.264166 -0.268232,0.692646 0,0.95704 l 5.312944,5.232203 c 0.268462,0.264392 0.703534,0.264392 0.971766,0 l 5.312942,-5.232203 c 0.268231,-0.264394 0.268231,-0.692874 0,-0.95704 l -0.77128,-0.759367 -5.02766,4.951545 z"
+ inkscape:connector-curvature="0"
+ style="opacity:0.2;fill:#000000;fill-opacity:1" />
+ <path
+ style="fill:#ffffff;fill-opacity:1"
+ inkscape:connector-curvature="0"
+ d="m 16.999886,19.122826 -3.77084,-3.713998 3.77084,-3.713469 1.25705,1.237773 -2.514099,2.475696 1.256974,1.238 3.770839,-3.71347 -3.284841,-3.2350632 c -0.268233,-0.2643933 -0.703306,-0.2643933 -0.971768,0 l -5.312867,5.2323532 c -0.268232,0.264167 -0.268232,0.692647 0,0.95704 l 5.312944,5.232203 c 0.268462,0.264392 0.703534,0.264392 0.971766,0 l 5.312942,-5.232203 c 0.268231,-0.264393 0.268231,-0.692873 0,-0.95704 l -0.77128,-0.759366 -5.02766,4.951544 z"
+ id="path10" />
+ </g>
+</svg>
diff --git a/core/img/filetypes/application-msexcel.png b/core/img/filetypes/application-msexcel.png
deleted file mode 100644
index b977d7e52e2..00000000000
--- a/core/img/filetypes/application-msexcel.png
+++ /dev/null
Binary files differ
diff --git a/core/img/filetypes/application-mspowerpoint.png b/core/img/filetypes/application-mspowerpoint.png
deleted file mode 100644
index c4eff0387d5..00000000000
--- a/core/img/filetypes/application-mspowerpoint.png
+++ /dev/null
Binary files differ
diff --git a/core/img/filetypes/application-msword.png b/core/img/filetypes/application-msword.png
deleted file mode 100644
index ae8ecbf4767..00000000000
--- a/core/img/filetypes/application-msword.png
+++ /dev/null
Binary files differ
diff --git a/core/img/filetypes/application-pdf.png b/core/img/filetypes/application-pdf.png
index 8f8095e46fa..a9ab6d279b6 100644
--- a/core/img/filetypes/application-pdf.png
+++ b/core/img/filetypes/application-pdf.png
Binary files differ
diff --git a/core/img/filetypes/application-pdf.svg b/core/img/filetypes/application-pdf.svg
new file mode 100644
index 00000000000..47c2caabdad
--- /dev/null
+++ b/core/img/filetypes/application-pdf.svg
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="32" width="32" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/">
+ <defs>
+ <linearGradient id="e" y2="43" gradientUnits="userSpaceOnUse" x2="24" gradientTransform="matrix(.62162 0 0 .62162 1.0811 2.0811)" y1="5" x1="24">
+ <stop stop-color="#fff" offset="0"/>
+ <stop stop-color="#fff" stop-opacity=".23529" offset=".063165"/>
+ <stop stop-color="#fff" stop-opacity=".15686" offset=".95056"/>
+ <stop stop-color="#fff" stop-opacity=".39216" offset="1"/>
+ </linearGradient>
+ <linearGradient id="d" y2="54.78" gradientUnits="userSpaceOnUse" x2="167.98" gradientTransform="matrix(.44444 0 0 .44444 -24 2.7778)" y1="8.5081" x1="167.98">
+ <stop stop-color="#fffdf3" offset="0"/>
+ <stop stop-color="#fbebeb" offset="1"/>
+ </linearGradient>
+ <radialGradient id="a" gradientUnits="userSpaceOnUse" cy="9.9941" cx="8.2761" gradientTransform="matrix(0 4.2742 -5.2474 0 68.489 -37.143)" r="12.672">
+ <stop stop-color="#f89b7e" offset="0"/>
+ <stop stop-color="#e35d4f" offset=".26238"/>
+ <stop stop-color="#c6262e" offset=".66094"/>
+ <stop stop-color="#690b2c" offset="1"/>
+ </radialGradient>
+ <radialGradient id="c" gradientUnits="userSpaceOnUse" cy="43.5" cx="4.993" gradientTransform="matrix(2.0038 0 0 1.4 27.988 -17.4)" r="2.5">
+ <stop stop-color="#181818" offset="0"/>
+ <stop stop-color="#181818" stop-opacity="0" offset="1"/>
+ </radialGradient>
+ <radialGradient id="b" gradientUnits="userSpaceOnUse" cy="43.5" cx="4.993" gradientTransform="matrix(2.0038 0 0 1.4 -20.012 -104.4)" r="2.5">
+ <stop stop-color="#181818" offset="0"/>
+ <stop stop-color="#181818" stop-opacity="0" offset="1"/>
+ </radialGradient>
+ <linearGradient id="f" y2="39.999" gradientUnits="userSpaceOnUse" x2="25.058" y1="47.028" x1="25.058">
+ <stop stop-color="#181818" stop-opacity="0" offset="0"/>
+ <stop stop-color="#181818" offset=".5"/>
+ <stop stop-color="#181818" stop-opacity="0" offset="1"/>
+ </linearGradient>
+ </defs>
+ <g transform="matrix(0.7 0 0 .33333 -0.8 15.333)">
+ <g opacity=".4" transform="matrix(1.0526 0 0 1.2857 -1.2632 -13.429)">
+ <rect height="7" width="5" y="40" x="38" fill="url(#c)"/>
+ <rect transform="scale(-1)" height="7" width="5" y="-47" x="-10" fill="url(#b)"/>
+ <rect height="7" width="28" y="40" x="10" fill="url(#f)"/>
+ </g>
+ </g>
+ <g>
+ <g>
+ <rect style="color:#000000" rx="2" ry="2" height="25" width="25" y="4.5" x="3.5" fill="url(#a)"/>
+ <path opacity=".15" style="color:#000000" d="m18.188 4.9688a1.0386 1.0386 0 0 0 -0.46875 0.25c-8.0692 6.9232-12.522 7.7862-13.782 7.8752a1.0386 1.0386 0 0 0 -0.4375 0.125v8.7187a1.0386 1.0386 0 0 0 0.5 0.125c1.2408 0 3.1922 0.83225 5.0625 2.2812 1.726 1.337 3.383 3.164 4.594 5.156h12.844c1.108 0 2-0.892 2-2v-0.125c-1.2349-2.981-2.1282-7.0748-2.8125-10.781-0.003-0.023 0.003-0.0395 0-0.0625-0.61012-4.7373 0.28634-8.959 0.625-10.281a1.0386 1.0386 0 0 0 -1 -1.2812h-6.9062a1.0386 1.0386 0 0 0 -0.21875 0zm0 4.875c-0.19809 1.3497-0.34502 2.9178-0.46875 4.7812-0.23961 3.6087-0.31211 8.3302-0.34375 13.438-1.2326-2.3066-3.3956-4.6736-5.8438-6.6875-1.4134-1.1626-2.8465-2.1591-4.125-2.9062-0.81148-0.4742-1.5307-0.8115-2.2188-1.0312 1.5275-0.29509 3.8744-0.90217 6.625-2.625 2.3056-1.4441 4.5975-3.3663 6.375-4.9687z" fill-rule="evenodd" fill="#661215"/>
+ <path opacity=".3" style="color:#000000" d="m18.406 6c-8.18 7.019-12.852 8.016-14.406 8.125v2.5312c1.1732-0.164 4.1092-0.751 7.25-2.718 4.027-2.523 8.844-7.313 8.844-7.313-1.302 2.5536-1.684 11.312-1.719 22.875h8.125c0.60271 0 1.1339-0.26843 1.5-0.6875 0.00027-0.0105 0-0.0207 0-0.0312-1.565-3.227-2.576-7.895-3.344-12.062-0.655-4.973 0.298-9.3183 0.656-10.719h-6.9062zm-14.406 12.219v2.8125c3.2857 0 8.2665 3.8155 10.875 8.4688h2.2188c-1.665-4.451-10.589-11.282-13.094-11.282z" fill-rule="evenodd" fill="#661215"/>
+ <path style="color:#000000" d="m18.408 5c-8.18 7.019-12.854 8.01-14.408 8.119v2.5225c1.1732-0.16382 4.1224-0.73265 7.2632-2.6998 4.0274-2.5225 8.8421-7.3113 8.8421-7.3113-1.32 2.5898-1.705 11.522-1.73 23.333h8.441c0.661 0 1.184-0.523 1.184-1.183-1.565-3.227-2.588-7.893-3.355-12.06-0.656-4.973 0.312-9.3203 0.671-10.721h-6.9079zm-14.408 12.23v2.7938c3.3961 0 8.6171 4.0752 11.143 8.9398h2.1215c-1.187-4.423-10.673-11.734-13.264-11.734z" fill="url(#d)"/>
+ </g>
+ <path opacity=".05" d="m25.688 5.0313c-3.216 1.9588-13.74 7.9437-21.688 7.1877v5.4062s17.674 2.6262 24-2.5938v-8.7187c0-0.69873-0.55021-1.2812-1.25-1.2812h-1.0625zm2.312 12.25c-3.181 3.168-6.45 7.386-8.625 11.719h2.5312c1.761-2.975 4.072-6.235 6.094-8.25v-3.4688z" fill-rule="evenodd"/>
+ </g>
+ <rect opacity=".5" stroke-linejoin="round" rx="1" ry="1" height="23" width="23" stroke="url(#e)" stroke-linecap="round" y="5.5" x="4.5" fill="none"/>
+ <rect opacity=".35" stroke-linejoin="round" style="color:#000000" rx="2" ry="2" height="25" width="25" stroke="#410000" stroke-linecap="round" y="4.5" x="3.5" fill="none"/>
+</svg>
diff --git a/core/img/filetypes/application-rss+xml.png b/core/img/filetypes/application-rss+xml.png
index 315c4f4fa62..e5bb322c573 100644
--- a/core/img/filetypes/application-rss+xml.png
+++ b/core/img/filetypes/application-rss+xml.png
Binary files differ
diff --git a/core/img/filetypes/application-rss+xml.svg b/core/img/filetypes/application-rss+xml.svg
new file mode 100644
index 00000000000..4fd98545a7d
--- /dev/null
+++ b/core/img/filetypes/application-rss+xml.svg
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="32px" width="32px" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/">
+ <defs>
+ <linearGradient id="g" y2="43" gradientUnits="userSpaceOnUse" x2="24" gradientTransform="matrix(.57063 0 0 .57063 2.3049 3.3049)" y1="5.5641" x1="24">
+ <stop stop-color="#fff" offset="0"/>
+ <stop stop-color="#fff" stop-opacity=".23529" offset=".036262"/>
+ <stop stop-color="#fff" stop-opacity=".15686" offset=".95056"/>
+ <stop stop-color="#fff" stop-opacity=".39216" offset="1"/>
+ </linearGradient>
+ <radialGradient id="b" fx="7.2758" gradientUnits="userSpaceOnUse" cy="9.9571" cx="7.8061" gradientTransform="matrix(-1.0673e-7 3.4663 -5.3421 -1.0405e-7 69.185 -26.355)" r="12.672">
+ <stop stop-color="#ffcd7d" offset="0"/>
+ <stop stop-color="#fc8f36" offset=".26238"/>
+ <stop stop-color="#e23a0e" offset=".70495"/>
+ <stop stop-color="#ac441f" offset="1"/>
+ </radialGradient>
+ <linearGradient id="f" y2=".91791" gradientUnits="userSpaceOnUse" x2="25" gradientTransform="matrix(.66015 0 0 .52505 .15636 5.186)" y1="47.935" x1="25">
+ <stop stop-color="#ba3d12" offset="0"/>
+ <stop stop-color="#db6737" offset="1"/>
+ </linearGradient>
+ <radialGradient id="d" xlink:href="#a" gradientUnits="userSpaceOnUse" cy="486.65" cx="605.71" gradientTransform="matrix(.015663 0 0 .0082353 17.61 24.981)" r="117.14"/>
+ <linearGradient id="a">
+ <stop offset="0"/>
+ <stop stop-opacity="0" offset="1"/>
+ </linearGradient>
+ <radialGradient id="c" xlink:href="#a" gradientUnits="userSpaceOnUse" cy="486.65" cx="605.71" gradientTransform="matrix(-.015663 0 0 .0082353 14.39 24.981)" r="117.14"/>
+ <linearGradient id="e" y2="609.51" gradientUnits="userSpaceOnUse" y1="366.65" gradientTransform="matrix(.045769 0 0 .0082353 -.54232 24.981)" x2="302.86" x1="302.86">
+ <stop stop-opacity="0" offset="0"/>
+ <stop offset=".5"/>
+ <stop stop-opacity="0" offset="1"/>
+ </linearGradient>
+ </defs>
+ <g>
+ <rect opacity=".15" height="2" width="22.1" y="28" x="4.95" fill="url(#e)"/>
+ <path opacity=".15" d="m4.95 28v1.9999c-0.80662 0.0038-1.95-0.44807-1.95-1.0001 0-0.552 0.90012-0.99982 1.95-0.99982z" fill="url(#c)"/>
+ <path opacity=".15" d="m27.05 28v1.9999c0.80661 0.0038 1.95-0.44807 1.95-1.0001 0-0.552-0.90012-0.99982-1.95-0.99982z" fill="url(#d)"/>
+ <path stroke-linejoin="round" style="color:#000000" d="m4.4473 5.4473c5.2946 0 23.105 0.00147 23.105 0.00147l0.000029 23.104h-23.105v-23.105z" stroke="url(#f)" stroke-width=".89464" fill="url(#b)"/>
+ </g>
+ <path opacity=".5" stroke-linejoin="round" d="m26.557 27.557h-21.113v-21.113h21.113z" stroke="url(#g)" stroke-linecap="round" stroke-width=".88668" fill="none"/>
+ <path d="m7.0633 24.902c0-0.30708 0.10601-0.56488 0.31803-0.7734 0.21203-0.2123 0.47138-0.31845 0.77805-0.31846 0.2991 0.000007 0.55277 0.10616 0.76101 0.31846 0.21202 0.20852 0.31803 0.46632 0.31803 0.7734 0 0.29951-0.10601 0.55541-0.31803 0.76771-0.20824 0.20852-0.46191 0.31278-0.76101 0.31277-0.30667 0.000007-0.56603-0.10425-0.77805-0.31277-0.2121-0.209-0.3181-0.465-0.3181-0.768m-0.0633-4.931v1.816c2.3202 0 4.2047 1.8882 4.2047 4.2129h1.8223c0-3.33-2.7035-6.0293-6.027-6.0293zm0.00312-3.9745v2.0078c4.4053 0 7.9822 3.5816 7.9822 7.9928h2.0147c0.000015-5.5219-4.4823-10.001-9.9969-10.001z" fill="#fff"/>
+</svg>
diff --git a/core/img/filetypes/application-sgf.png b/core/img/filetypes/application-sgf.png
deleted file mode 100644
index 48996c54394..00000000000
--- a/core/img/filetypes/application-sgf.png
+++ /dev/null
Binary files differ
diff --git a/core/img/filetypes/application-vnd.oasis.opendocument.formula.png b/core/img/filetypes/application-vnd.oasis.opendocument.formula.png
deleted file mode 100644
index e0cf49542d4..00000000000
--- a/core/img/filetypes/application-vnd.oasis.opendocument.formula.png
+++ /dev/null
Binary files differ
diff --git a/core/img/filetypes/application-vnd.oasis.opendocument.graphics.png b/core/img/filetypes/application-vnd.oasis.opendocument.graphics.png
deleted file mode 100644
index b326a0543a5..00000000000
--- a/core/img/filetypes/application-vnd.oasis.opendocument.graphics.png
+++ /dev/null
Binary files differ
diff --git a/core/img/filetypes/application-vnd.oasis.opendocument.presentation.png b/core/img/filetypes/application-vnd.oasis.opendocument.presentation.png
deleted file mode 100644
index 7c6fd246840..00000000000
--- a/core/img/filetypes/application-vnd.oasis.opendocument.presentation.png
+++ /dev/null
Binary files differ
diff --git a/core/img/filetypes/application-vnd.oasis.opendocument.spreadsheet.png b/core/img/filetypes/application-vnd.oasis.opendocument.spreadsheet.png
deleted file mode 100644
index 8b0e85b0670..00000000000
--- a/core/img/filetypes/application-vnd.oasis.opendocument.spreadsheet.png
+++ /dev/null
Binary files differ
diff --git a/core/img/filetypes/application-vnd.oasis.opendocument.text.png b/core/img/filetypes/application-vnd.oasis.opendocument.text.png
deleted file mode 100644
index 48452eb3e86..00000000000
--- a/core/img/filetypes/application-vnd.oasis.opendocument.text.png
+++ /dev/null
Binary files differ
diff --git a/core/img/filetypes/application-x-7z-compressed.png b/core/img/filetypes/application-x-7z-compressed.png
deleted file mode 100644
index 2cd08aebf95..00000000000
--- a/core/img/filetypes/application-x-7z-compressed.png
+++ /dev/null
Binary files differ
diff --git a/core/img/filetypes/application-x-bzip-compressed-tar.png b/core/img/filetypes/application-x-bzip-compressed-tar.png
deleted file mode 100644
index 2cd08aebf95..00000000000
--- a/core/img/filetypes/application-x-bzip-compressed-tar.png
+++ /dev/null
Binary files differ
diff --git a/core/img/filetypes/application-x-bzip.png b/core/img/filetypes/application-x-bzip.png
deleted file mode 100644
index 2cd08aebf95..00000000000
--- a/core/img/filetypes/application-x-bzip.png
+++ /dev/null
Binary files differ
diff --git a/core/img/filetypes/application-x-compressed-tar.png b/core/img/filetypes/application-x-compressed-tar.png
deleted file mode 100644
index 2cd08aebf95..00000000000
--- a/core/img/filetypes/application-x-compressed-tar.png
+++ /dev/null
Binary files differ
diff --git a/core/img/filetypes/application-x-deb.png b/core/img/filetypes/application-x-deb.png
deleted file mode 100644
index 2cd08aebf95..00000000000
--- a/core/img/filetypes/application-x-deb.png
+++ /dev/null
Binary files differ
diff --git a/core/img/filetypes/application-x-debian-package.png b/core/img/filetypes/application-x-debian-package.png
deleted file mode 100644
index 1d6db5f933a..00000000000
--- a/core/img/filetypes/application-x-debian-package.png
+++ /dev/null
Binary files differ
diff --git a/core/img/filetypes/application-x-gzip.png b/core/img/filetypes/application-x-gzip.png
deleted file mode 100644
index 2cd08aebf95..00000000000
--- a/core/img/filetypes/application-x-gzip.png
+++ /dev/null
Binary files differ
diff --git a/core/img/filetypes/application-x-lzma-compressed-tar.png b/core/img/filetypes/application-x-lzma-compressed-tar.png
deleted file mode 100644
index 2cd08aebf95..00000000000
--- a/core/img/filetypes/application-x-lzma-compressed-tar.png
+++ /dev/null
Binary files differ
diff --git a/core/img/filetypes/application-x-rar.png b/core/img/filetypes/application-x-rar.png
deleted file mode 100644
index 2cd08aebf95..00000000000
--- a/core/img/filetypes/application-x-rar.png
+++ /dev/null
Binary files differ
diff --git a/core/img/filetypes/application-x-rpm.png b/core/img/filetypes/application-x-rpm.png
deleted file mode 100644
index 2cd08aebf95..00000000000
--- a/core/img/filetypes/application-x-rpm.png
+++ /dev/null
Binary files differ
diff --git a/core/img/filetypes/application-x-tar.png b/core/img/filetypes/application-x-tar.png
deleted file mode 100644
index 2cd08aebf95..00000000000
--- a/core/img/filetypes/application-x-tar.png
+++ /dev/null
Binary files differ
diff --git a/core/img/filetypes/application-x-tarz.png b/core/img/filetypes/application-x-tarz.png
deleted file mode 100644
index 2cd08aebf95..00000000000
--- a/core/img/filetypes/application-x-tarz.png
+++ /dev/null
Binary files differ
diff --git a/core/img/filetypes/application-zip.png b/core/img/filetypes/application-zip.png
deleted file mode 100644
index 2cd08aebf95..00000000000
--- a/core/img/filetypes/application-zip.png
+++ /dev/null
Binary files differ
diff --git a/core/img/filetypes/application.png b/core/img/filetypes/application.png
index 1dee9e36609..9152cc1b744 100644
--- a/core/img/filetypes/application.png
+++ b/core/img/filetypes/application.png
Binary files differ
diff --git a/core/img/filetypes/application.svg b/core/img/filetypes/application.svg
new file mode 100644
index 00000000000..870a4ac2467
--- /dev/null
+++ b/core/img/filetypes/application.svg
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="32" width="32" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/">
+ <defs>
+ <linearGradient id="e" y2="25" xlink:href="#a" gradientUnits="userSpaceOnUse" x2="16" gradientTransform="matrix(1 0 0 -1 0 34.004)" y1="9" x1="16"/>
+ <linearGradient id="a">
+ <stop offset="0"/>
+ <stop stop-opacity="0" offset="1"/>
+ </linearGradient>
+ <linearGradient id="f" y2="25" xlink:href="#a" gradientUnits="userSpaceOnUse" x2="16" y1="9" x1="16"/>
+ <linearGradient id="g" y2="4.9969" gradientUnits="userSpaceOnUse" x2="19.927" gradientTransform="matrix(.66667 0 0 .66667 0.0000011 .33333)" y1="44.949" x1="19.927">
+ <stop stop-color="#505050" offset="0"/>
+ <stop stop-color="#8e8e8e" offset="1"/>
+ </linearGradient>
+ <linearGradient id="i" y2="43" gradientUnits="userSpaceOnUse" x2="24" gradientTransform="matrix(.62162 0 0 .62162 1.0811 2.0811)" y1="5" x1="24">
+ <stop stop-color="#fff" offset="0"/>
+ <stop stop-color="#fff" stop-opacity=".23529" offset=".063165"/>
+ <stop stop-color="#fff" stop-opacity=".15686" offset=".95056"/>
+ <stop stop-color="#fff" stop-opacity=".39216" offset="1"/>
+ </linearGradient>
+ <radialGradient id="b" gradientUnits="userSpaceOnUse" cy="8.4498" cx="7.4957" gradientTransform="matrix(1.2454e-8 1.4981 -1.5848 -2.76e-8 29.391 -6.3556)" r="20">
+ <stop stop-color="#c7c7c7" offset="0"/>
+ <stop stop-color="#a6a6a6" offset=".26238"/>
+ <stop stop-color="#7b7b7b" offset=".70495"/>
+ <stop stop-color="#595959" offset="1"/>
+ </radialGradient>
+ <linearGradient id="h" y2="3.899" gradientUnits="userSpaceOnUse" x2="24" gradientTransform="matrix(.64103 0 0 .64103 .61539 1.6154)" y1="44" x1="24">
+ <stop stop-color="#505050" offset="0"/>
+ <stop stop-color="#8e8e8e" offset="1"/>
+ </linearGradient>
+ <radialGradient id="d" gradientUnits="userSpaceOnUse" cy="43.5" cx="4.993" gradientTransform="matrix(2.0038 0 0 1.4 27.988 -17.4)" r="2.5">
+ <stop stop-color="#181818" offset="0"/>
+ <stop stop-color="#181818" stop-opacity="0" offset="1"/>
+ </radialGradient>
+ <radialGradient id="c" gradientUnits="userSpaceOnUse" cy="43.5" cx="4.993" gradientTransform="matrix(2.0038 0 0 1.4 -20.012 -104.4)" r="2.5">
+ <stop stop-color="#181818" offset="0"/>
+ <stop stop-color="#181818" stop-opacity="0" offset="1"/>
+ </radialGradient>
+ <linearGradient id="j" y2="39.999" gradientUnits="userSpaceOnUse" x2="25.058" y1="47.028" x1="25.058">
+ <stop stop-color="#181818" stop-opacity="0" offset="0"/>
+ <stop stop-color="#181818" offset=".5"/>
+ <stop stop-color="#181818" stop-opacity="0" offset="1"/>
+ </linearGradient>
+ </defs>
+ <g transform="matrix(0.7 0 0 .33333 -0.8 15.333)">
+ <g opacity=".4" transform="matrix(1.0526 0 0 1.2857 -1.2632 -13.429)">
+ <rect height="7" width="5" y="40" x="38" fill="url(#d)"/>
+ <rect transform="scale(-1)" height="7" width="5" y="-47" x="-10" fill="url(#c)"/>
+ <rect height="7" width="28" y="40" x="10" fill="url(#j)"/>
+ </g>
+ </g>
+ <rect stroke-linejoin="round" height="25" stroke="url(#h)" stroke-linecap="round" fill="url(#b)" style="color:#000000" rx="2" ry="2" width="25" y="4.5" x="3.5"/>
+ <rect opacity=".5" stroke-linejoin="round" rx="1" ry="1" height="23" width="23" stroke="url(#i)" stroke-linecap="round" y="5.5" x="4.5" fill="none"/>
+ <g>
+ <path opacity="0.41" style="color:#000000" d="m15 10c-0.277 0-0.5 0.223-0.5 0.5v1.6875c-0.54864 0.14074-1.055 0.37601-1.5312 0.65625l-1.219-1.219c-0.19587-0.19587-0.49163-0.19587-0.6875 0l-1.437 1.437c-0.19587 0.19587-0.19587 0.49163 0 0.6875l1.2188 1.2188c-0.28 0.476-0.516 0.982-0.656 1.531h-1.688c-0.277 0-0.5 0.223-0.5 0.5v2c0 0.277 0.223 0.5 0.5 0.5h1.6875c0.14074 0.54864 0.37601 1.055 0.65625 1.5312l-1.219 1.219c-0.19587 0.19587-0.19587 0.49163 0 0.6875l1.4375 1.4375c0.19587 0.19587 0.49163 0.19587 0.6875 0l1.2188-1.2188c0.47623 0.28024 0.98261 0.51551 1.5312 0.65625v1.6875c0 0.277 0.223 0.5 0.5 0.5h2c0.277 0 0.5-0.223 0.5-0.5v-1.6875c0.54864-0.14074 1.055-0.37601 1.5312-0.65625l1.219 1.219c0.19587 0.19587 0.49163 0.19587 0.6875 0l1.4375-1.4375c0.19587-0.19587 0.19587-0.49163 0-0.6875l-1.22-1.219c0.28-0.476 0.516-0.982 0.656-1.531h1.6875c0.277 0 0.5-0.223 0.5-0.5v-2c0-0.277-0.223-0.5-0.5-0.5h-1.6875c-0.14-0.549-0.376-1.055-0.656-1.531l1.219-1.219c0.19587-0.19587 0.19587-0.49163 0-0.6875l-1.437-1.437c-0.19587-0.19587-0.49163-0.19587-0.6875 0l-1.2188 1.2188c-0.476-0.28-0.982-0.516-1.531-0.656v-1.688c0-0.277-0.223-0.5-0.5-0.5h-2zm1 5c1.6569 0 3 1.3431 3 3s-1.3431 3-3 3-3-1.3431-3-3 1.3431-3 3-3z" fill="#fff"/>
+ <path style="color:#000000" d="m15 9c-0.277 0-0.5 0.223-0.5 0.5v1.6875c-0.54864 0.14074-1.055 0.37601-1.5312 0.65625l-1.219-1.219c-0.19587-0.19587-0.49163-0.19587-0.6875 0l-1.437 1.437c-0.19587 0.19587-0.19587 0.49163 0 0.6875l1.2188 1.2188c-0.28 0.476-0.516 0.982-0.656 1.531h-1.688c-0.277 0-0.5 0.223-0.5 0.5v2c0 0.277 0.223 0.5 0.5 0.5h1.6875c0.14074 0.54864 0.37601 1.055 0.65625 1.5312l-1.219 1.219c-0.19587 0.19587-0.19587 0.49163 0 0.6875l1.4375 1.4375c0.19587 0.19587 0.49163 0.19587 0.6875 0l1.2188-1.2188c0.47623 0.28024 0.98261 0.51551 1.5312 0.65625v1.6875c0 0.277 0.223 0.5 0.5 0.5h2c0.277 0 0.5-0.223 0.5-0.5v-1.6875c0.54864-0.14074 1.055-0.37601 1.5312-0.65625l1.219 1.219c0.19587 0.19587 0.49163 0.19587 0.6875 0l1.4375-1.4375c0.19587-0.19587 0.19587-0.49163 0-0.6875l-1.22-1.219c0.28-0.476 0.516-0.982 0.656-1.531h1.6875c0.277 0 0.5-0.223 0.5-0.5v-2c0-0.277-0.223-0.5-0.5-0.5h-1.6875c-0.14-0.549-0.376-1.055-0.656-1.531l1.219-1.219c0.19587-0.19587 0.19587-0.49163 0-0.6875l-1.437-1.437c-0.19587-0.19587-0.49163-0.19587-0.6875 0l-1.2188 1.2188c-0.476-0.28-0.982-0.516-1.531-0.656v-1.688c0-0.277-0.223-0.5-0.5-0.5h-2zm1 5c1.6569 0 3 1.3431 3 3s-1.3431 3-3 3-3-1.3431-3-3 1.3431-3 3-3z" fill="url(#g)"/>
+ <path opacity=".1" stroke-linejoin="round" style="color:#000000" d="m15.062 9.5625c-0.02465 0.61514 0.0508 1.2431-0.0404 1.8499-0.22156 0.48267-0.86813 0.38946-1.2591 0.66131-0.35888 0.1777-0.83286 0.55716-1.2005 0.17633l-1.1562-1.1562-1.3125 1.3125c0.41328 0.43651 0.87815 0.8308 1.2579 1.2948 0.23668 0.48316-0.28717 0.88122-0.39325 1.3266-0.17191 0.37402-0.17866 1.0023-0.7161 1.0335-0.55991 0.0032-1.1199 0.000478-1.6798 0.0014v1.875c0.61514 0.02465 1.2431-0.0508 1.8499 0.0404 0.48267 0.22156 0.38946 0.86813 0.66131 1.2591 0.1777 0.35888 0.55716 0.83286 0.17633 1.2005l-1.1562 1.1562 1.3125 1.3125c0.43651-0.41328 0.8308-0.87815 1.2948-1.2579 0.48316-0.23668 0.88122 0.28717 1.3266 0.39325 0.37402 0.17191 1.0023 0.17866 1.0335 0.7161 0.0032 0.55991 0.000478 1.1199 0.0014 1.6798h1.875c0.02465-0.61514-0.0508-1.2431 0.0404-1.8499 0.22156-0.48267 0.86813-0.38946 1.2591-0.66131 0.35888-0.1777 0.83286-0.55716 1.2005-0.17633l1.1562 1.1562 1.3125-1.3125c-0.41328-0.43651-0.87815-0.8308-1.2579-1.2948-0.23668-0.48316 0.28717-0.88122 0.39325-1.3266 0.17191-0.37402 0.17866-1.0023 0.7161-1.0335 0.55991-0.0032 1.1199-0.000478 1.6798-0.0014v-1.875c-0.61514-0.02465-1.2431 0.0508-1.8499-0.0404-0.482-0.222-0.389-0.869-0.661-1.26-0.177-0.359-0.557-0.833-0.176-1.201l1.1562-1.1562-1.3125-1.3125c-0.43651 0.41328-0.8308 0.87815-1.2948 1.2579-0.48316 0.23668-0.88122-0.28717-1.3266-0.39325-0.37402-0.17191-1.0023-0.17866-1.0335-0.7161-0.0032-0.55991-0.000478-1.1199-0.0014-1.6798h-1.875z" stroke="url(#f)" fill="none"/>
+ <path opacity=".1" stroke-linejoin="round" style="color:#000000" d="m16 20.566c1.9374 0.05315 3.6634-1.7201 3.5613-3.6545 0.004-1.9389-1.8147-3.6163-3.7447-3.4659-1.9392 0.04516-3.5671 1.9074-3.3688 3.832 0.10413 1.8114 1.739 3.3229 3.5521 3.2884z" stroke="url(#e)" fill="none"/>
+ </g>
+</svg>
diff --git a/core/img/filetypes/audio.png b/core/img/filetypes/audio.png
index a8b3ede3df9..3f56a7e2a9a 100644
--- a/core/img/filetypes/audio.png
+++ b/core/img/filetypes/audio.png
Binary files differ
diff --git a/core/img/filetypes/audio.svg b/core/img/filetypes/audio.svg
new file mode 100644
index 00000000000..d5eda38e8aa
--- /dev/null
+++ b/core/img/filetypes/audio.svg
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="32px" width="32px" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/">
+ <defs>
+ <linearGradient id="e" y2="24.628" gradientUnits="userSpaceOnUse" x2="20.055" gradientTransform="matrix(.52104 0 0 .81327 3.4707 .35442)" y1="15.298" x1="16.626">
+ <stop stop-color="#fff" offset="0"/>
+ <stop stop-color="#fff" stop-opacity="0" offset="1"/>
+ </linearGradient>
+ <linearGradient id="d" y2="43" gradientUnits="userSpaceOnUse" x2="24" gradientTransform="matrix(.62162 0 0 .62162 1.0811 2.0811)" y1="5" x1="24">
+ <stop stop-color="#fff" offset="0"/>
+ <stop stop-color="#fff" stop-opacity=".23529" offset=".063165"/>
+ <stop stop-color="#fff" stop-opacity=".15686" offset=".95056"/>
+ <stop stop-color="#fff" stop-opacity=".39216" offset="1"/>
+ </linearGradient>
+ <radialGradient id="a" gradientUnits="userSpaceOnUse" cy="8.4498" cx="7.4957" gradientTransform="matrix(1.2454e-8 1.4981 -1.5848 -2.76e-8 29.391 -6.3556)" r="20">
+ <stop stop-color="#3e3e3e" offset="0"/>
+ <stop stop-color="#343434" offset=".26238"/>
+ <stop stop-color="#272727" offset=".70495"/>
+ <stop stop-color="#1d1d1d" offset="1"/>
+ </radialGradient>
+ <radialGradient id="c" gradientUnits="userSpaceOnUse" cy="43.5" cx="4.993" gradientTransform="matrix(2.0038 0 0 1.4 27.988 -17.4)" r="2.5">
+ <stop stop-color="#181818" offset="0"/>
+ <stop stop-color="#181818" stop-opacity="0" offset="1"/>
+ </radialGradient>
+ <radialGradient id="b" gradientUnits="userSpaceOnUse" cy="43.5" cx="4.993" gradientTransform="matrix(2.0038 0 0 1.4 -20.012 -104.4)" r="2.5">
+ <stop stop-color="#181818" offset="0"/>
+ <stop stop-color="#181818" stop-opacity="0" offset="1"/>
+ </radialGradient>
+ <linearGradient id="f" y2="39.999" gradientUnits="userSpaceOnUse" x2="25.058" y1="47.028" x1="25.058">
+ <stop stop-color="#181818" stop-opacity="0" offset="0"/>
+ <stop stop-color="#181818" offset=".5"/>
+ <stop stop-color="#181818" stop-opacity="0" offset="1"/>
+ </linearGradient>
+ </defs>
+ <g transform="matrix(0.7 0 0 .33333 -0.8 15.333)">
+ <g opacity=".4" transform="matrix(1.0526 0 0 1.2857 -1.2632 -13.429)">
+ <rect height="7" width="5" y="40" x="38" fill="url(#c)"/>
+ <rect transform="scale(-1)" height="7" width="5" y="-47" x="-10" fill="url(#b)"/>
+ <rect height="7" width="28" y="40" x="10" fill="url(#f)"/>
+ </g>
+ </g>
+ <rect style="color:#000000" height="25" width="25" y="4.5" x="3.5" fill="url(#a)"/>
+ <rect opacity=".7" style="color:#000000" height="25" width="25" stroke="#000" y="4.5" x="3.5" fill="none"/>
+ <rect opacity=".5" height="23" width="23" stroke="url(#d)" stroke-linecap="round" y="5.5" x="4.5" fill="none"/>
+ <g>
+ <path opacity=".1" d="m4 5 0.008 15c0.6904-0.015 23.468-5.529 23.992-5.795v-9.205z" fill-rule="evenodd" fill="url(#e)"/>
+ <path opacity=".1" style="color:#000000" d="m16.467 8.0001c-0.53931-0.077588-0.45336 0.42193-0.44484 0.7731-0.0059 4.1692 0.01172 8.3407-0.0088 12.508-0.145 0.32452-0.55212 0.0099-0.80112 0.07215-1.7342-0.05405-3.6017 1.1946-3.847 3.0302-0.25326 1.3789 1.032 2.5932 2.3216 2.6149 1.9178 0.05257 3.5779-1.8787 3.3343-3.8146 0.0065-3.3283-0.01298-6.6593 0.0097-9.9859 0.13139-0.31618 0.4856-0.01847 0.65097 0.09458 1.5212 0.9203 2.8505 2.4463 2.9447 4.3279 0.0815 1.0885-0.14664 2.173-0.46032 3.2072 1.3984-2.3007 1.3227-5.5038-0.40514-7.6054-1.3305-1.3884-2.5797-3.0451-2.8335-5.0311-0.04896-0.18667-0.30655-0.18423-0.46044-0.19158z" fill="#fff"/>
+ <path opacity=".9" style="color:#000000" d="m16.467 7.0001c-0.53931-0.077588-0.45336 0.42193-0.44484 0.7731-0.0059 4.1692 0.01172 8.3407-0.0088 12.508-0.145 0.32452-0.55212 0.0099-0.80112 0.07215-1.7342-0.05405-3.6017 1.1946-3.847 3.0302-0.25326 1.3789 1.032 2.5932 2.3216 2.6149 1.9178 0.05257 3.5779-1.8787 3.3343-3.8146 0.0065-3.3283-0.01298-6.6593 0.0097-9.9859 0.13139-0.31618 0.4856-0.01847 0.65097 0.09458 1.5212 0.9203 2.8505 2.4463 2.9447 4.3279 0.0815 1.0885-0.14664 2.173-0.46032 3.2072 1.3984-2.3007 1.3227-5.5038-0.40514-7.6054-1.33-1.388-2.58-3.0443-2.833-5.0303-0.049-0.1866-0.307-0.1842-0.461-0.1916z"/>
+ </g>
+</svg>
diff --git a/core/img/filetypes/calendar.png b/core/img/filetypes/calendar.png
new file mode 100644
index 00000000000..d85b1db651c
--- /dev/null
+++ b/core/img/filetypes/calendar.png
Binary files differ
diff --git a/core/img/filetypes/calendar.svg b/core/img/filetypes/calendar.svg
new file mode 100644
index 00000000000..0016749b936
--- /dev/null
+++ b/core/img/filetypes/calendar.svg
@@ -0,0 +1,94 @@
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="32" width="32" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/">
+ <defs>
+ <radialGradient id="radialGradient3134" spreadMethod="reflect" gradientUnits="userSpaceOnUse" cy="4.9179" cx="14" gradientTransform="matrix(1.0912316,-1.8501946e-8,3.7499995e-8,1.5922783,7.222757,-4.4685113)" r="2">
+ <stop stop-color="#FFF" offset="0"/>
+ <stop stop-color="#8f8f8f" offset="1"/>
+ </radialGradient>
+ <radialGradient id="radialGradient3139" spreadMethod="reflect" gradientUnits="userSpaceOnUse" cy="4.9179" cx="14" gradientTransform="matrix(1.0912316,-1.8501946e-8,3.7499995e-8,1.5922783,-5.7772427,-4.4685114)" r="2">
+ <stop stop-color="#FFF" offset="0"/>
+ <stop stop-color="#8f8f8f" offset="1"/>
+ </radialGradient>
+ <linearGradient id="linearGradient3144" y2="43" gradientUnits="userSpaceOnUse" x2="24" gradientTransform="matrix(0.60000361,0,0,0.64185429,1.599978,-16.778802)" y1="5" x1="24">
+ <stop stop-color="#FFF" offset="0"/>
+ <stop stop-color="#FFF" stop-opacity="0.23529412" offset="0.063165"/>
+ <stop stop-color="#FFF" stop-opacity="0.15686275" offset="0.95056"/>
+ <stop stop-color="#FFF" stop-opacity="0.39215687" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient3147" y2="43" gradientUnits="userSpaceOnUse" x2="24" gradientTransform="matrix(0.62162164,0,0,0.62162164,1.0810837,2.0810874)" y1="5" x1="24">
+ <stop stop-color="#FFF" offset="0"/>
+ <stop stop-color="#FFF" stop-opacity="0.23529412" offset="0.063165"/>
+ <stop stop-color="#FFF" stop-opacity="0.15686275" offset="0.95056"/>
+ <stop stop-color="#FFF" stop-opacity="0.39215687" offset="1"/>
+ </linearGradient>
+ <radialGradient id="radialGradient3150" gradientUnits="userSpaceOnUse" cy="8.4498" cx="7.4957" gradientTransform="matrix(0,0.90632943,-1.9732085,-3.8243502e-8,32.673223,-1.9201377)" r="20">
+ <stop stop-color="#f89b7e" offset="0"/>
+ <stop stop-color="#e35d4f" offset="0.26238"/>
+ <stop stop-color="#c6262e" offset="0.66094"/>
+ <stop stop-color="#690b2c" offset="1"/>
+ </radialGradient>
+ <linearGradient id="linearGradient3152" y2="3.899" gradientUnits="userSpaceOnUse" x2="24" gradientTransform="matrix(0.64102567,0,0,0.64102567,0.6153831,1.615384)" y1="44" x1="24">
+ <stop stop-color="#791235" offset="0"/>
+ <stop stop-color="#dd3b27" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient3155" y2="18.684" gradientUnits="userSpaceOnUse" x2="23.954" gradientTransform="matrix(0.65,0,0,0.50000001,0.4000028,3.9999996)" y1="15.999" x1="23.954">
+ <stop stop-color="#000" offset="0"/>
+ <stop stop-color="#000" stop-opacity="0" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient3158" y2="44.984" gradientUnits="userSpaceOnUse" x2="19.36" gradientTransform="matrix(0.64102564,0,0,0.64185429,0.6153845,0.95838337)" y1="16.138" x1="19.36">
+ <stop stop-color="#f4f4f4" offset="0"/>
+ <stop stop-color="#dbdbdb" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient3160" y2="3.8905" gradientUnits="userSpaceOnUse" x2="24" gradientTransform="matrix(0.64102564,0,0,0.64185429,0.6153845,1.5793381)" y1="44" x1="24">
+ <stop stop-color="#787878" offset="0"/>
+ <stop stop-color="#AAA" offset="1"/>
+ </linearGradient>
+ <radialGradient id="radialGradient2976" gradientUnits="userSpaceOnUse" cy="43.5" cx="4.993" gradientTransform="matrix(2.003784,0,0,1.4,27.98813,-17.4)" r="2.5">
+ <stop stop-color="#181818" offset="0"/>
+ <stop stop-color="#181818" stop-opacity="0" offset="1"/>
+ </radialGradient>
+ <radialGradient id="radialGradient2978" gradientUnits="userSpaceOnUse" cy="43.5" cx="4.993" gradientTransform="matrix(2.003784,0,0,1.4,-20.01187,-104.4)" r="2.5">
+ <stop stop-color="#181818" offset="0"/>
+ <stop stop-color="#181818" stop-opacity="0" offset="1"/>
+ </radialGradient>
+ <linearGradient id="linearGradient2980" y2="39.999" gradientUnits="userSpaceOnUse" x2="25.058" y1="47.028" x1="25.058">
+ <stop stop-color="#181818" stop-opacity="0" offset="0"/>
+ <stop stop-color="#181818" offset="0.5"/>
+ <stop stop-color="#181818" stop-opacity="0" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient3566" y2="3.899" gradientUnits="userSpaceOnUse" x2="24" gradientTransform="matrix(0.64102567,0,0,0.64102567,0.6153831,0.6153843)" y1="44" x1="24">
+ <stop stop-color="#791235" offset="0"/>
+ <stop stop-color="#dd3b27" offset="1"/>
+ </linearGradient>
+ </defs>
+ <metadata>
+ <rdf:RDF>
+ <cc:Work rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+ <dc:title/>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <path stroke-linejoin="round" style="enable-background:accumulate;color:#000000;" d="m5.5,3.5c7.0683,0.00685,14.137-0.013705,21.205,0.010288,1.238,0.083322,1.9649,1.3578,1.7949,2.5045l-24.99-0.7199c0.081-0.9961,0.9903-1.8161,1.9897-1.7949z" stroke-dashoffset="0" stroke="url(#linearGradient3566)" stroke-linecap="round" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="1" fill="none"/>
+ <g transform="matrix(0.6999997,0,0,0.3333336,-0.8000003,15.33333)">
+ <g opacity="0.4" transform="matrix(1.052632,0,0,1.285713,-1.263158,-13.42854)">
+ <rect height="7" width="5" y="40" x="38" fill="url(#radialGradient2976)"/>
+ <rect transform="scale(-1,-1)" height="7" width="5" y="-47" x="-10" fill="url(#radialGradient2978)"/>
+ <rect height="7" width="28" y="40" x="10" fill="url(#linearGradient2980)"/>
+ </g>
+ </g>
+ <path stroke-linejoin="round" style="enable-background:accumulate;color:#000000;" d="m28.5,7.0148s0.0137,13.794-0.01029,20.69c-0.084,1.238-1.358,1.965-2.505,1.795-6.896-0.007-13.794,0.014-20.69-0.01-1.238-0.084-1.9649-1.358-1.7949-2.505,0.0068-6.896,0.0103-20.69,0.0103-20.69z" fill-rule="nonzero" stroke-dashoffset="0" stroke="url(#linearGradient3160)" stroke-linecap="round" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="0.99999994" fill="url(#linearGradient3158)"/>
+ <rect opacity="0.3" style="enable-background:accumulate;" fill-rule="nonzero" rx="0" ry="0" height="2" width="26" y="12" x="3" fill="url(#linearGradient3155)"/>
+ <path stroke-linejoin="round" style="enable-background:accumulate;color:#000000;" d="m5.5,4.5c7.0683,0.00685,14.137-0.013705,21.205,0.010288,1.238,0.083322,1.9649,1.3578,1.7949,2.5045l0.073,4.4852h-25.073l0.0103-5.2051c0.081-0.9961,0.9903-1.8161,1.9897-1.7949z" fill-rule="nonzero" stroke-dashoffset="0" stroke="url(#linearGradient3152)" stroke-linecap="round" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="1" fill="url(#radialGradient3150)"/>
+ <rect opacity="0.5" stroke-linejoin="round" stroke-dasharray="none" stroke-dashoffset="0" rx="1" ry="1" height="23" width="23" stroke="url(#linearGradient3147)" stroke-linecap="round" stroke-miterlimit="4" y="5.5" x="4.5" stroke-width="1" fill="none"/>
+ <path opacity="0.5" stroke-linejoin="round" d="m26.5,10.5h-21" stroke-dashoffset="0" stroke="url(#linearGradient3144)" stroke-linecap="square" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="0.99999982" fill="none"/>
+ <rect opacity="0.4" style="enable-background:accumulate;" fill-rule="nonzero" rx="1.8086" ry="1.5304" height="7.0604" width="3" y="2.9396" x="8" fill="#FFF"/>
+ <rect style="enable-background:accumulate;" fill-rule="nonzero" rx="1.5869" ry="1.5869" height="2.7652" width="3" y="6.2348" x="8" fill="#cc3429"/>
+ <rect style="enable-background:accumulate;" fill-rule="nonzero" rx="1.8086" ry="1.3912" height="7" width="3" y="1.0188" x="8" fill="url(#radialGradient3139)"/>
+ <rect opacity="0.4" style="enable-background:accumulate;" fill-rule="nonzero" rx="1.8086" ry="1.5304" height="7.0604" width="3" y="2.9396" x="21" fill="#FFF"/>
+ <rect style="enable-background:accumulate;" fill-rule="nonzero" rx="1.5869" ry="1.5869" height="2.7652" width="3" y="6.2348" x="21" fill="#cc3429"/>
+ <rect style="enable-background:accumulate;" fill-rule="nonzero" rx="1.8086" ry="1.3912" height="7" width="3" y="1.0188" x="21" fill="url(#radialGradient3134)"/>
+ <rect style="enable-background:accumulate;color:#000000;" height="3.9477" width="19.876" y="14.023" x="6.1231" fill="#c5c5c5"/>
+ <path opacity="0.3" stroke-linejoin="round" style="enable-background:accumulate;color:#000000;" d="M6.5182,14.553,25.505,14.564,25.415,26.505,6.4289,26.494zm0.33122,8.8955,18.622,0.01098m-18.89-2.957,18.622,0.01098m-18.532-14.898,18.622,0.011m-3.6545-2.8956-0.0893,11.828m-2.9014-11.783-0.0893,11.828m-2.902-11.917-0.089,11.827m-2.9014-11.783-0.0893,11.828m-2.8347-11.839-0.0893,11.828" stroke-dashoffset="0" stroke="#000" stroke-linecap="round" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="1" fill="none"/>
+</svg>
diff --git a/core/img/filetypes/code-script.png b/core/img/filetypes/code-script.png
deleted file mode 100644
index 63fe6ceff5b..00000000000
--- a/core/img/filetypes/code-script.png
+++ /dev/null
Binary files differ
diff --git a/core/img/filetypes/code.png b/core/img/filetypes/code.png
deleted file mode 100644
index 0c76bd12977..00000000000
--- a/core/img/filetypes/code.png
+++ /dev/null
Binary files differ
diff --git a/core/img/filetypes/database.png b/core/img/filetypes/database.png
index 3d09261a26e..24788b2a37f 100644
--- a/core/img/filetypes/database.png
+++ b/core/img/filetypes/database.png
Binary files differ
diff --git a/core/img/filetypes/database.svg b/core/img/filetypes/database.svg
new file mode 100644
index 00000000000..6dfac54e68b
--- /dev/null
+++ b/core/img/filetypes/database.svg
@@ -0,0 +1,54 @@
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="32" width="32" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/">
+ <defs>
+ <linearGradient id="linearGradient3136" y2="-24.582" spreadMethod="reflect" gradientUnits="userSpaceOnUse" x2="102.31" gradientTransform="matrix(0.4581255,0,0,0.4388939,-31.619713,14.933095)" y1="-2.3925" x1="102.31">
+ <stop stop-color="#a5a6a8" offset="0"/>
+ <stop stop-color="#e8e8e8" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient3138" y2="-2.3758" gradientUnits="userSpaceOnUse" x2="109.96" gradientTransform="matrix(0.4581255,0,0,0.4388939,-31.619713,14.933095)" y1="-24.911" x1="109.96">
+ <stop stop-color="#b3b3b3" offset="0"/>
+ <stop stop-color="#dadada" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient3141" y2="-7.6657" xlink:href="#linearGradient2793" spreadMethod="reflect" gradientUnits="userSpaceOnUse" x2="89.424" gradientTransform="matrix(0.4578345,0,0,0.432286,-31.591968,18.911518)" y1="-7.6657" x1="103.95"/>
+ <linearGradient id="linearGradient2793">
+ <stop stop-color="#868688" offset="0"/>
+ <stop stop-color="#d9d9da" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient3143" y2="27.546" xlink:href="#linearGradient3858" gradientUnits="userSpaceOnUse" x2="89.018" gradientTransform="translate(-78.157465,-9.546111)" y1="22.537" x1="89.018"/>
+ <linearGradient id="linearGradient3858">
+ <stop stop-color="#a0a0a0" offset="0"/>
+ <stop stop-color="#4a4a4a" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient3147" y2="-7.6657" xlink:href="#linearGradient2793" spreadMethod="reflect" gradientUnits="userSpaceOnUse" x2="89.424" gradientTransform="matrix(0.4578345,0,0,0.432286,-31.591968,24.911518)" y1="-7.6657" x1="103.95"/>
+ <linearGradient id="linearGradient3149" y2="27.546" xlink:href="#linearGradient3858" gradientUnits="userSpaceOnUse" x2="89.018" gradientTransform="translate(-78.157465,-3.546111)" y1="22.537" x1="89.018"/>
+ <linearGradient id="linearGradient3153" y2="-7.6657" xlink:href="#linearGradient2793" spreadMethod="reflect" gradientUnits="userSpaceOnUse" x2="89.424" gradientTransform="matrix(0.4578345,0,0,0.432286,-31.591968,30.911518)" y1="-7.6657" x1="103.95"/>
+ <linearGradient id="linearGradient3155" y2="27.546" xlink:href="#linearGradient3858" gradientUnits="userSpaceOnUse" x2="89.018" gradientTransform="translate(-78.157465,2.453889)" y1="22.537" x1="89.018"/>
+ <linearGradient id="linearGradient3098" y2="44.137" gradientUnits="userSpaceOnUse" x2="21.381" gradientTransform="matrix(0.59999998,0,0,0.60526317,1.6000001,2.1710523)" y1="5.0525" x1="21.381">
+ <stop stop-color="#FFF" offset="0"/>
+ <stop stop-color="#FFF" stop-opacity="0.23529412" offset="0.081258"/>
+ <stop stop-color="#FFF" stop-opacity="0.15686275" offset="0.92328"/>
+ <stop stop-color="#FFF" stop-opacity="0.39215687" offset="1"/>
+ </linearGradient>
+ <radialGradient id="radialGradient3232" gradientUnits="userSpaceOnUse" cy="41.636" cx="23.335" gradientTransform="matrix(0.5745243,0,0,0.2209368,2.59375,17.801069)" r="22.627">
+ <stop stop-color="#000" offset="0"/>
+ <stop stop-color="#000" stop-opacity="0" offset="1"/>
+ </radialGradient>
+ </defs>
+ <metadata>
+ <rdf:RDF>
+ <cc:Work rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+ <dc:title/>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <path opacity="0.3" d="m29,27c0.0011,2.7613-5.8195,5-13,5s-13.001-2.239-13-5c-0.0011-2.761,5.8195-5,13-5s13.001,2.2387,13,5z" fill-rule="evenodd" fill="url(#radialGradient3232)"/>
+ <path d="m27.49,25.068c0,2.4466-5.1487,4.4322-11.493,4.4322-6.344,0-11.493-1.9856-11.493-4.4322,0.11446-5.4694-1.4047-4.34,11.493-4.4322,13.193-0.0952,11.331-1.1267,11.493,4.4322z" stroke="url(#linearGradient3155)" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="1" fill="url(#linearGradient3153)"/>
+ <path d="m27.5,21c0,2.4853-5.1487,4.5-11.5,4.5s-11.5-2.0147-11.5-4.5,5.1487-4.5,11.5-4.5,11.5,2.0147,11.5,4.5z" stroke="#d8d8d8" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="1" fill="#868688"/>
+ <path d="m27.49,19.068c0,2.4466-5.1487,4.4322-11.493,4.4322-6.344,0-11.493-1.9856-11.493-4.4322,0.11446-5.4694-1.4047-4.34,11.493-4.4322,13.193-0.0952,11.331-1.1267,11.493,4.4322z" stroke="url(#linearGradient3149)" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="1" fill="url(#linearGradient3147)"/>
+ <path d="m27.5,15c0,2.4853-5.1487,4.5-11.5,4.5s-11.5-2.0147-11.5-4.5,5.1487-4.5,11.5-4.5,11.5,2.0147,11.5,4.5z" stroke="#d8d8d8" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="1" fill="#868688"/>
+ <path d="M27.49,13.068c0,2.446-5.149,4.432-11.493,4.432-6.3435,0-11.492-1.986-11.492-4.432,0.1144-5.4697-1.4047-4.3402,11.492-4.4325,13.193-0.0952,11.331-1.1267,11.493,4.4325z" stroke="url(#linearGradient3143)" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="1" fill="url(#linearGradient3141)"/>
+ <path d="m27.5,9c0,2.4853-5.1487,4.5-11.5,4.5s-11.5-2.015-11.5-4.5c0-2.4853,5.1487-4.5,11.5-4.5,6.351,0,11.5,2.0147,11.5,4.5z" stroke="url(#linearGradient3138)" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="1" fill="url(#linearGradient3136)"/>
+ <rect opacity="0.5" style="enable-background:accumulate;color:#000000;" rx="17.5" ry="4" height="23" width="21" stroke="url(#linearGradient3098)" y="5.5" x="5.5" stroke-width="1" fill="none"/>
+</svg>
diff --git a/core/img/filetypes/file.png b/core/img/filetypes/file.png
index 8b8b1ca0000..c20f13c2e13 100644
--- a/core/img/filetypes/file.png
+++ b/core/img/filetypes/file.png
Binary files differ
diff --git a/core/img/filetypes/file.svg b/core/img/filetypes/file.svg
new file mode 100644
index 00000000000..3d91c341143
--- /dev/null
+++ b/core/img/filetypes/file.svg
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="32" width="32" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/">
+ <defs>
+ <linearGradient id="a">
+ <stop offset="0"/>
+ <stop stop-opacity="0" offset="1"/>
+ </linearGradient>
+ <linearGradient id="f" y2="43" gradientUnits="userSpaceOnUse" x2="24" gradientTransform="matrix(.56757 0 0 .72973 2.3784 -2.5135)" y1="5.5641" x1="24">
+ <stop stop-color="#fff" offset="0"/>
+ <stop stop-color="#fff" stop-opacity=".23529" offset=".036262"/>
+ <stop stop-color="#fff" stop-opacity=".15686" offset=".95056"/>
+ <stop stop-color="#fff" stop-opacity=".39216" offset="1"/>
+ </linearGradient>
+ <linearGradient id="e" y2="47.013" gradientUnits="userSpaceOnUse" x2="25.132" gradientTransform="matrix(.65714 0 0 .63012 .22856 -1.0896)" y1=".98521" x1="25.132">
+ <stop stop-color="#f4f4f4" offset="0"/>
+ <stop stop-color="#dbdbdb" offset="1"/>
+ </linearGradient>
+ <radialGradient id="c" xlink:href="#a" gradientUnits="userSpaceOnUse" cy="486.65" cx="605.71" gradientTransform="matrix(.015663 0 0 .0082353 17.61 25.981)" r="117.14"/>
+ <radialGradient id="b" xlink:href="#a" gradientUnits="userSpaceOnUse" cy="486.65" cx="605.71" gradientTransform="matrix(-.015663 0 0 .0082353 14.39 25.981)" r="117.14"/>
+ <linearGradient id="d" y2="609.51" gradientUnits="userSpaceOnUse" x2="302.86" gradientTransform="matrix(.045769 0 0 .0082353 -.54232 25.981)" y1="366.65" x1="302.86">
+ <stop stop-opacity="0" offset="0"/>
+ <stop offset=".5"/>
+ <stop stop-opacity="0" offset="1"/>
+ </linearGradient>
+ </defs>
+ <g>
+ <g>
+ <rect opacity=".15" height="2" width="22.1" y="29" x="4.95" fill="url(#d)"/>
+ <path opacity=".15" d="m4.95 29v1.9999c-0.80662 0.0038-1.95-0.44807-1.95-1.0001 0-0.552 0.90012-0.99982 1.95-0.99982z" fill="url(#b)"/>
+ <path opacity=".15" d="m27.05 29v1.9999c0.80661 0.0038 1.95-0.44807 1.95-1.0001 0-0.552-0.90012-0.99982-1.95-0.99982z" fill="url(#c)"/>
+ </g>
+ <path d="m4.5 0.49996c5.2705 0 23 0.00185 23 0.00185l0.000028 28.998h-23v-29z" fill="url(#e)"/>
+ </g>
+ <path stroke-linejoin="round" d="m26.5 28.5h-21v-27h21z" stroke="url(#f)" stroke-linecap="round" fill="none"/>
+ <path stroke-linejoin="round" opacity=".3" d="m4.5 0.49996c5.2705 0 23 0.00185 23 0.00185l0.000028 28.998h-23v-29z" stroke="#000" stroke-width=".99992" fill="none"/>
+</svg>
diff --git a/core/img/filetypes/flash.png b/core/img/filetypes/flash.png
index 9f5db634a4f..bcde641da3c 100644
--- a/core/img/filetypes/flash.png
+++ b/core/img/filetypes/flash.png
Binary files differ
diff --git a/core/img/filetypes/flash.svg b/core/img/filetypes/flash.svg
new file mode 100644
index 00000000000..cb823703d9b
--- /dev/null
+++ b/core/img/filetypes/flash.svg
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="32" width="32" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/">
+ <defs>
+ <linearGradient id="a">
+ <stop offset="0"/>
+ <stop stop-opacity="0" offset="1"/>
+ </linearGradient>
+ <linearGradient id="j" y2="43" gradientUnits="userSpaceOnUse" x2="24" gradientTransform="matrix(.56757 0 0 .72973 2.3784 -2.5135)" y1="5.5641" x1="24">
+ <stop stop-color="#fff" offset="0"/>
+ <stop stop-color="#fff" stop-opacity=".23529" offset=".036262"/>
+ <stop stop-color="#fff" stop-opacity=".15686" offset=".95056"/>
+ <stop stop-color="#fff" stop-opacity=".39216" offset="1"/>
+ </linearGradient>
+ <linearGradient id="i" y2="47.013" gradientUnits="userSpaceOnUse" x2="25.132" gradientTransform="matrix(.65714 0 0 .63012 .22856 -1.0896)" y1=".98521" x1="25.132">
+ <stop stop-color="#f4f4f4" offset="0"/>
+ <stop stop-color="#dbdbdb" offset="1"/>
+ </linearGradient>
+ <radialGradient id="d" xlink:href="#a" gradientUnits="userSpaceOnUse" cy="486.65" cx="605.71" gradientTransform="matrix(.015663 0 0 .0082353 17.61 25.981)" r="117.14"/>
+ <radialGradient id="c" xlink:href="#a" gradientUnits="userSpaceOnUse" cy="486.65" cx="605.71" gradientTransform="matrix(-.015663 0 0 .0082353 14.39 25.981)" r="117.14"/>
+ <linearGradient id="h" y2="609.51" gradientUnits="userSpaceOnUse" x2="302.86" gradientTransform="matrix(.045769 0 0 .0082353 -.54232 25.981)" y1="366.65" x1="302.86">
+ <stop stop-opacity="0" offset="0"/>
+ <stop offset=".5"/>
+ <stop stop-opacity="0" offset="1"/>
+ </linearGradient>
+ <linearGradient id="g" y2="25.726" gradientUnits="userSpaceOnUse" x2="27.401" gradientTransform="matrix(.65714 0 0 .65901 .22856 .17230)" y1="22.442" x1="27.401">
+ <stop offset="0"/>
+ <stop stop-opacity="0" offset="1"/>
+ </linearGradient>
+ <linearGradient id="f" y2="35" gradientUnits="userSpaceOnUse" x2="25" gradientTransform="matrix(.65714 0 0 .65901 .22856 .17230)" y1="12" x1="25">
+ <stop offset="0"/>
+ <stop stop-opacity="0" offset="1"/>
+ </linearGradient>
+ <radialGradient id="b" fx="30.345" gradientUnits="userSpaceOnUse" cy="10.417" cx="28.897" gradientTransform="matrix(.85740 -2.1584e-8 0 1.4143 -9.1048 9.1644)" r="20">
+ <stop stop-color="#f8b17e" offset="0"/>
+ <stop stop-color="#e35d4f" offset=".26238"/>
+ <stop stop-color="#c6262e" offset=".66094"/>
+ <stop stop-color="#690b54" offset="1"/>
+ </radialGradient>
+ <linearGradient id="e" y2="36.647" gradientUnits="userSpaceOnUse" x2="21.587" gradientTransform="matrix(.65714 0 0 .65901 -0.1 -.12653)" y1="11.492" x1="21.587">
+ <stop stop-color="#911313" offset="0"/>
+ <stop stop-color="#bc301e" offset="1"/>
+ </linearGradient>
+ </defs>
+ <g>
+ <g>
+ <rect opacity=".15" height="2" width="22.1" y="29" x="4.95" fill="url(#h)"/>
+ <path opacity=".15" d="m4.95 29v1.9999c-0.80662 0.0038-1.95-0.44807-1.95-1.0001 0-0.552 0.90012-0.99982 1.95-0.99982z" fill="url(#c)"/>
+ <path opacity=".15" d="m27.05 29v1.9999c0.80661 0.0038 1.95-0.44807 1.95-1.0001 0-0.552-0.90012-0.99982-1.95-0.99982z" fill="url(#d)"/>
+ </g>
+ <path d="m4.5 0.49996c5.2705 0 23 0.00185 23 0.00185l0.000028 28.998h-23v-29z" fill="url(#i)"/>
+ </g>
+ <path stroke-linejoin="round" d="m26.5 28.5h-21v-27h21z" stroke="url(#j)" stroke-linecap="round" fill="none"/>
+ <path stroke-linejoin="round" opacity=".3" d="m4.5 0.49996c5.2705 0 23 0.00185 23 0.00185l0.000028 28.998h-23v-29z" stroke="#000" stroke-width=".99992" fill="none"/>
+ <path opacity=".6" style="color:#000000" d="m22.499 8.0004c-2.6636-0.029674-5.0587 1.658-6.5324 3.7793-0.94364 1.305-1.5732 2.7991-2.0832 4.3148-0.69136 1.6778-1.5201 3.4583-3.0765 4.5016-0.45903 0.43459-1.0981 0.2-1.5957 0.43224-0.34845 0.3228-0.14701 0.84514-0.20078 1.2625 0.014388 0.76734-0.029122 1.5402 0.022375 2.304 0.18898 0.54758 0.88853 0.37796 1.3325 0.38828 2.2257-0.09973 4.2002-1.5034 5.3804-3.336 0.54977-0.82122 0.97797-1.7194 1.3143-2.6473 1.5061-0.0077 3.0142 0.01532 4.519-0.01144 0.47522-0.09148 0.43944-0.63085 0.42264-1.001-0.0162-0.88446 0.03272-1.7755-0.02502-2.6558-0.16487-0.50455-0.76136-0.34818-1.1638-0.37106h-1.4529c0.52776-1.2578 1.4889-2.5011 2.8611-2.8681 0.36161 0.0036 0.81834-0.19473 0.77518-0.62481-0.01611-1.0312 0.03245-2.0689-0.02468-3.096-0.06232-0.20565-0.25794-0.35925-0.47259-0.37101z" fill="#fff"/>
+ <g stroke-linecap="round">
+ <path stroke-linejoin="round" style="color:#000000" d="m9.5 20.5v3s4.9977 0.73959 7.2131-6c0.14685-0.000002 4.7869 0 4.7869 0v-3h-3s1.2833-3.7081 4-4l-0.000016-3s-5.0297-0.35936-7.7464 6.7199c-2.35 6.933-5.254 6.28-5.254 6.28z" stroke="url(#e)" fill="url(#b)"/>
+ <path opacity=".1" style="color:#000000" d="m21.5 9.8357v-1.2407c-1.6165 0.19395-3.8735 2.0585-4.8706 4.0955-0.67454 1.078-0.96187 2.016-1.4144 3.1932-0.81519 1.9428-2.1324 4.1368-4.0625 5.1513" stroke="url(#f)" fill="none"/>
+ <path opacity=".1" style="color:#000000" d="m20.5 16.656v-1.1418l-2.3993-0.02926" stroke="url(#g)" fill="none"/>
+ </g>
+</svg>
diff --git a/core/img/filetypes/folder-drag-accept.png b/core/img/filetypes/folder-drag-accept.png
new file mode 100644
index 00000000000..19c2d2eebd4
--- /dev/null
+++ b/core/img/filetypes/folder-drag-accept.png
Binary files differ
diff --git a/core/img/filetypes/folder-drag-accept.svg b/core/img/filetypes/folder-drag-accept.svg
new file mode 100644
index 00000000000..a7885c80be7
--- /dev/null
+++ b/core/img/filetypes/folder-drag-accept.svg
@@ -0,0 +1,335 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="32px"
+ height="32px"
+ id="svg17313"
+ version="1.1"
+ inkscape:version="0.48.3.1 r9886"
+ sodipodi:docname="folder-drag-accept.svg"
+ inkscape:export-filename="folder-drag-accept.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90">
+ <defs
+ id="defs17315">
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3454-2-5-0-3-4"
+ id="linearGradient8576"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.89186139,0,0,0.86792712,3.12074,9.575029)"
+ x1="27.557428"
+ y1="7.162672"
+ x2="27.557428"
+ y2="21.386522" />
+ <linearGradient
+ id="linearGradient3454-2-5-0-3-4">
+ <stop
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1"
+ id="stop3456-4-9-38-1-8" />
+ <stop
+ offset="0.0097359"
+ style="stop-color:#ffffff;stop-opacity:0.23529412"
+ id="stop3458-39-80-3-5-5" />
+ <stop
+ offset="0.99001008"
+ style="stop-color:#ffffff;stop-opacity:0.15686275"
+ id="stop3460-7-0-2-4-2" />
+ <stop
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0.39215687"
+ id="stop3462-0-9-8-7-2" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6129-963-697-142-998-580-273-5"
+ id="linearGradient8564"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.7467531,0,0,0.5519934,-1.92198,5.720099)"
+ x1="22.934725"
+ y1="49.629246"
+ x2="22.809399"
+ y2="36.657963" />
+ <linearGradient
+ id="linearGradient6129-963-697-142-998-580-273-5">
+ <stop
+ id="stop2661-1"
+ style="stop-color:#0a0a0a;stop-opacity:0.498"
+ offset="0" />
+ <stop
+ id="stop2663-85"
+ style="stop-color:#0a0a0a;stop-opacity:0"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4632-0-6-4-3-4"
+ id="linearGradient8568"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.64444432,0,0,0.54135319,0.53343,5.488719)"
+ x1="35.792694"
+ y1="17.118193"
+ x2="35.792694"
+ y2="43.761127" />
+ <linearGradient
+ id="linearGradient4632-0-6-4-3-4">
+ <stop
+ style="stop-color:#b4cee1;stop-opacity:1;"
+ offset="0"
+ id="stop4634-4-4-7-7-4" />
+ <stop
+ style="stop-color:#5d9fcd;stop-opacity:1;"
+ offset="1"
+ id="stop4636-3-1-5-1-3" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5048-585-0"
+ id="linearGradient16107"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.05114282,0,0,0.01591575,-2.4899573,22.29927)"
+ x1="302.85715"
+ y1="366.64789"
+ x2="302.85715"
+ y2="609.50507" />
+ <linearGradient
+ id="linearGradient5048-585-0">
+ <stop
+ id="stop2667-18"
+ style="stop-color:#000000;stop-opacity:0"
+ offset="0" />
+ <stop
+ id="stop2669-9"
+ style="stop-color:#000000;stop-opacity:1"
+ offset="0.5" />
+ <stop
+ id="stop2671-33"
+ style="stop-color:#000000;stop-opacity:0"
+ offset="1" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060-179-67"
+ id="radialGradient16109"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.01983573,0,0,0.01591575,16.38765,22.29927)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <linearGradient
+ id="linearGradient5060-179-67">
+ <stop
+ id="stop2675-81"
+ style="stop-color:#000000;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop2677-2"
+ style="stop-color:#000000;stop-opacity:0"
+ offset="1" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060-820-4"
+ id="radialGradient16111"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-0.01983573,0,0,0.01591575,15.60139,22.29927)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <linearGradient
+ id="linearGradient5060-820-4">
+ <stop
+ id="stop2681-5"
+ style="stop-color:#000000;stop-opacity:1"
+ offset="0" />
+ <stop
+ id="stop2683-00"
+ style="stop-color:#000000;stop-opacity:0"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4325"
+ id="linearGradient8584"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.54383556,0,0,0.61466406,3.26879,5.091139)"
+ x1="21.37039"
+ y1="4.73244"
+ x2="21.37039"
+ y2="34.143417" />
+ <linearGradient
+ id="linearGradient4325">
+ <stop
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1"
+ id="stop4327" />
+ <stop
+ offset="0.1106325"
+ style="stop-color:#ffffff;stop-opacity:0.23529412"
+ id="stop4329" />
+ <stop
+ offset="0.99001008"
+ style="stop-color:#ffffff;stop-opacity:0.15686275"
+ id="stop4331" />
+ <stop
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0.39215687"
+ id="stop4333" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4646-7-4-3-5"
+ id="linearGradient8580"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.61904762,0,0,0.61904762,-30.3919,1.428569)"
+ x1="62.988873"
+ y1="17.469706"
+ x2="62.988873"
+ y2="20.469706" />
+ <linearGradient
+ id="linearGradient4646-7-4-3-5">
+ <stop
+ offset="0"
+ style="stop-color:#f9f9f9;stop-opacity:1"
+ id="stop4648-8-0-3-6" />
+ <stop
+ offset="1"
+ style="stop-color:#d8d8d8;stop-opacity:1"
+ id="stop4650-1-7-3-4" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3104-8-8-97-4-6-11-5-5-0">
+ <stop
+ offset="0"
+ style="stop-color:#000000;stop-opacity:0.32173914"
+ id="stop3106-5-4-3-5-0-2-1-0-6" />
+ <stop
+ offset="1"
+ style="stop-color:#000000;stop-opacity:0.27826086"
+ id="stop3108-4-3-7-8-2-0-7-9-1" />
+ </linearGradient>
+ <linearGradient
+ y2="3.6336823"
+ x2="-51.786404"
+ y1="53.514328"
+ x1="-51.786404"
+ gradientTransform="matrix(0.50703384,0,0,0.50300255,68.02913,1.329769)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient17311"
+ xlink:href="#linearGradient3104-8-8-97-4-6-11-5-5-0"
+ inkscape:collect="always" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="11.197802"
+ inkscape:cx="16"
+ inkscape:cy="16"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:window-width="1366"
+ inkscape:window-height="744"
+ inkscape:window-x="0"
+ inkscape:window-y="24"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata17318">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <path
+ style="opacity:0.8;color:#000000;fill:none;stroke:url(#linearGradient17311);stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="use8307"
+ inkscape:connector-curvature="0"
+ d="m 4.00009,6.500079 c -0.43342,0.005 -0.5,0.21723 -0.5,0.6349 l 0,1.36502 c -1.24568,0 -1,-0.002 -1,0.54389 l 0,9.45611 27,-1.36005 0,-8.09606 c 0,-0.41767 -0.34799,-0.54876 -0.78141,-0.54389 l -14.21859,0 0,-1.36502 c 0,-0.41767 -0.26424,-0.63977 -0.69767,-0.6349 z"
+ sodipodi:nodetypes="csccccsccscc" />
+ <path
+ id="use8309"
+ d="m 4.00009,6.999999 0,2 -1,0 0,6 26,0 0,-6 -15,0 0,-2 z"
+ style="color:#000000;fill:url(#linearGradient8580);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccccccc" />
+ <path
+ id="use8311"
+ d="m 4.50009,7.499999 0,2 -1,0 0,6 25,0 0,-6 -15,0 0,-2 z"
+ style="color:#000000;fill:none;stroke:url(#linearGradient8584);stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccccccc" />
+ <g
+ id="use8313"
+ transform="translate(9e-5,-1.000001)">
+ <rect
+ style="opacity:0.3;fill:url(#linearGradient16107);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible"
+ id="rect16101"
+ y="28.134747"
+ x="3.6471815"
+ height="3.8652544"
+ width="24.694677" />
+ <path
+ style="opacity:0.3;fill:url(#radialGradient16109);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible"
+ id="path16103"
+ inkscape:connector-curvature="0"
+ d="m 28.341859,28.13488 c 0,0 0,3.865041 0,3.865041 1.021491,0.0073 2.469468,-0.86596 2.469468,-1.932769 0,-1.06681 -1.139908,-1.932272 -2.469468,-1.932272 z" />
+ <path
+ style="opacity:0.3;fill:url(#radialGradient16111);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible"
+ id="path16105"
+ inkscape:connector-curvature="0"
+ d="m 3.6471816,28.13488 c 0,0 0,3.865041 0,3.865041 -1.0214912,0.0073 -2.4694678,-0.86596 -2.4694678,-1.932769 0,-1.06681 1.1399068,-1.932272 2.4694678,-1.932272 z" />
+ </g>
+ <path
+ style="color:#000000;fill:url(#linearGradient8568);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.9176628;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="use8315"
+ inkscape:connector-curvature="0"
+ d="m 0.92644,14.421049 c -0.69105,0.067 -0.32196,0.76007 -0.37705,1.14977 0.0802,0.25184 1.5982,13.2362 1.5982,13.68205 0,0.38752 0.22667,0.32187 0.80101,0.32187 8.4994,0 17.89808,0 26.39748,0 0.61872,0.012 0.48796,0.006 0.48796,-0.32797 0.0452,-0.17069 1.63945,-14.29767 1.66234,-14.52079 0,-0.23495 0.0581,-0.30493 -0.30493,-0.30493 -9.0765,0 -21.1885,0 -30.26501,0 z"
+ sodipodi:nodetypes="ccsscccsc" />
+ <path
+ style="opacity:0.4;fill:url(#linearGradient8564);fill-opacity:1;stroke:none"
+ id="use8317"
+ inkscape:connector-curvature="0"
+ d="m 0.68182,13.999999 30.63618,2.3e-4 c 0.4137,0 0.68181,0.24597 0.68181,0.55177 l -1.67322,14.91546 c 0.01,0.38693 -0.1364,0.54035 -0.61707,0.53224 l -27.25613,-0.01 c -0.4137,0 -0.83086,-0.22836 -0.83086,-0.53417 L 0,14.551709 c 0,-0.3058 0.26812,-0.55199 0.68182,-0.55199 z"
+ sodipodi:nodetypes="cscccccccc" />
+ <path
+ sodipodi:nodetypes="ccccc"
+ inkscape:connector-curvature="0"
+ id="use8572"
+ d="m 1.49991,15.411759 1.62516,13.17647 25.74917,0 1.62467,-13.17647 z"
+ style="opacity:0.5;color:#000000;fill:none;stroke:url(#linearGradient8576);stroke-width:0.90748531;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <path
+ style="opacity:0.3;color:#000000;fill:none;stroke:#000000;stroke-width:0.9176628;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="use8315-2"
+ inkscape:connector-curvature="0"
+ d="m 0.92644,14.42105 c -0.69105,0.067 -0.32196,0.76007 -0.37705,1.14977 0.0802,0.25184 1.5982,13.236199 1.5982,13.682049 0,0.38752 0.22667,0.32187 0.80101,0.32187 8.4994,0 17.89808,0 26.39748,0 0.61872,0.012 0.48796,0.006 0.48796,-0.32797 0.0452,-0.17069 1.63945,-14.297669 1.66234,-14.520789 0,-0.23495 0.0581,-0.30493 -0.30493,-0.30493 -9.0765,0 -21.1885,0 -30.26501,0 z"
+ sodipodi:nodetypes="ccsscccsc" />
+ </g>
+</svg>
diff --git a/core/img/filetypes/folder-external.png b/core/img/filetypes/folder-external.png
new file mode 100644
index 00000000000..997f07b2bac
--- /dev/null
+++ b/core/img/filetypes/folder-external.png
Binary files differ
diff --git a/core/img/filetypes/folder-external.svg b/core/img/filetypes/folder-external.svg
new file mode 100644
index 00000000000..89ec9a8ecaa
--- /dev/null
+++ b/core/img/filetypes/folder-external.svg
@@ -0,0 +1,68 @@
+<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="32px" width="32px" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/">
+ <metadata>
+ <rdf:RDF>
+ <cc:Work rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+ <dc:title/>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <defs>
+ <linearGradient id="c" y2="21.387" gradientUnits="userSpaceOnUse" x2="27.557" gradientTransform="matrix(.89186 0 0 1.0539 3.1208 5.4125)" y1="7.1627" x1="27.557">
+ <stop stop-color="#fff" offset="0"/>
+ <stop stop-color="#fff" stop-opacity=".23529" offset="0.0097359"/>
+ <stop stop-color="#fff" stop-opacity=".15686" offset="0.99001"/>
+ <stop stop-color="#fff" stop-opacity=".39216" offset="1"/>
+ </linearGradient>
+ <linearGradient id="d" y2="36.658" gradientUnits="userSpaceOnUse" x2="22.809" gradientTransform="matrix(0.74675,0,0,0.65549,-1.9219,3.1676)" y1="49.629" x1="22.935">
+ <stop stop-color="#0a0a0a" stop-opacity=".498" offset="0"/>
+ <stop stop-color="#0a0a0a" stop-opacity="0" offset="1"/>
+ </linearGradient>
+ <linearGradient id="e" y2="43.761" gradientUnits="userSpaceOnUse" x2="35.793" gradientTransform="matrix(.64444 0 0 .64286 .53352 .89286)" y1="17.118" x1="35.793">
+ <stop stop-color="#b4cee1" offset="0"/>
+ <stop stop-color="#5d9fcd" offset="1"/>
+ </linearGradient>
+ <linearGradient id="f" y2="609.51" gradientUnits="userSpaceOnUse" x2="302.86" gradientTransform="matrix(.051143 0 0 .015916 -2.49 22.299)" y1="366.65" x1="302.86">
+ <stop stop-opacity="0" offset="0"/>
+ <stop offset="0.5"/>
+ <stop stop-opacity="0" offset="1"/>
+ </linearGradient>
+ <radialGradient id="b" gradientUnits="userSpaceOnUse" cy="486.65" cx="605.71" gradientTransform="matrix(.019836 0 0 .015916 16.388 22.299)" r="117.14">
+ <stop offset="0"/>
+ <stop stop-opacity="0" offset="1"/>
+ </radialGradient>
+ <radialGradient id="a" gradientUnits="userSpaceOnUse" cy="486.65" cx="605.71" gradientTransform="matrix(-.019836 0 0 .015916 15.601 22.299)" r="117.14">
+ <stop offset="0"/>
+ <stop stop-opacity="0" offset="1"/>
+ </radialGradient>
+ <linearGradient id="g" y2="34.143" gradientUnits="userSpaceOnUse" x2="21.37" gradientTransform="matrix(.54384 0 0 .61466 3.2689 5.0911)" y1="4.7324" x1="21.37">
+ <stop stop-color="#fff" offset="0"/>
+ <stop stop-color="#fff" stop-opacity=".23529" offset="0.11063"/>
+ <stop stop-color="#fff" stop-opacity=".15686" offset="0.99001"/>
+ <stop stop-color="#fff" stop-opacity=".39216" offset="1"/>
+ </linearGradient>
+ <linearGradient id="h" y2="16" gradientUnits="userSpaceOnUse" x2="62.989" gradientTransform="matrix(.61905 0 0 .61905 -30.392 1.4286)" y1="13" x1="62.989">
+ <stop stop-color="#f9f9f9" offset="0"/>
+ <stop stop-color="#d8d8d8" offset="1"/>
+ </linearGradient>
+ <linearGradient id="i" y2="3.6337" gradientUnits="userSpaceOnUse" y1="53.514" gradientTransform="matrix(.50703 0 0 0.503 68.029 1.3298)" x2="-51.786" x1="-51.786">
+ <stop stop-opacity=".32174" offset="0"/>
+ <stop stop-opacity=".27826" offset="1"/>
+ </linearGradient>
+ </defs>
+ <path opacity=".8" style="color:#000000;" d="m4.0002,6.5001c-0.43342,0.005-0.5,0.21723-0.5,0.6349v1.365c-1.2457,0-1-0.002-1,0.54389,0.0216,6.5331,0,6.9014,0,7.4561,0.90135,0,27-2.349,27-3.36v-4.0961c0-0.41767-0.34799-0.54876-0.78141-0.54389h-14.219v-1.365c0-0.41767-0.26424-0.63977-0.69767-0.6349h-9.8023z" stroke="url(#i)" fill="none"/>
+ <path style="color:#000000;" d="m4.0002,7v2h-1v4h26v-4h-15v-2h-10z" fill="url(#h)"/>
+ <path style="color:#000000;" d="m4.5002,7.5v2h-1v4h25v-4h-15v-2h-9z" stroke="url(#g)" stroke-linecap="round" fill="none"/>
+ <g transform="translate(.00017936 -1)">
+ <rect opacity="0.3" height="3.8653" width="24.695" y="28.135" x="3.6472" fill="url(#f)"/>
+ <path opacity=".3" d="m28.342,28.135v3.865c1.0215,0.0073,2.4695-0.86596,2.4695-1.9328s-1.1399-1.9323-2.4695-1.9323z" fill="url(#b)"/>
+ <path opacity=".3" d="m3.6472,28.135v3.865c-1.0215,0.0073-2.4695-0.86596-2.4695-1.9328s1.1399-1.9323,2.4695-1.9323z" fill="url(#a)"/>
+ </g>
+ <path style="color:#000000;" d="m1.927,11.5c-0.69105,0.0796-0.32196,0.90258-0.37705,1.3654,0.0802,0.29906,0.59771,15.718,0.59771,16.247,0,0.46018,0.22667,0.38222,0.80101,0.38222h26.397c0.61872,0.0143,0.48796,0.007,0.48796-0.38947,0.0452-0.20269,0.63993-16.978,0.66282-17.243,0-0.279,0.0581-0.3621-0.30493-0.3621h-28.265z" fill="url(#e)"/>
+ <path opacity="0.4" fill="url(#d)" d="m1.682,13,28.636,0.00027c0.4137,0,0.68181,0.29209,0.68181,0.65523l-0.6735,17.712c0.01,0.45948-0.1364,0.64166-0.61707,0.63203l-27.256-0.0115c-0.4137,0-0.83086-0.27118-0.83086-0.63432l-0.62244-17.698c0-0.36314,0.26812-0.65549,0.68182-0.65549z"/>
+ <path opacity=".5" style="color:#000000;" d="m2.5002,12.5,0.62498,16h25.749l0.62498-16z" stroke="url(#c)" stroke-linecap="round" fill="none"/>
+ <path opacity=".3" stroke-linejoin="round" style="color:#000000;" d="m1.927,11.5c-0.69105,0.0796-0.32196,0.90258-0.37705,1.3654,0.0802,0.29906,0.59771,15.718,0.59771,16.247,0,0.46018,0.22667,0.38222,0.80101,0.38222h26.397c0.61872,0.0143,0.48796,0.007,0.48796-0.38947,0.0452-0.20269,0.63993-16.978,0.66282-17.243,0-0.279,0.0581-0.3621-0.30493-0.3621h-28.265z" stroke="#000" stroke-linecap="round" fill="none"/>
+ <path opacity="0.3" fill="#FFF" d="m16,16,2,2-3,3,2,2,3-3,2,2,0-6-6,0zm-4,1c-0.554,0-1,0.446-1,1v8c0,0.554,0.446,1,1,1h8c0.554,0,1-0.446,1-1v-3l-1-1v4h-8v-8h4l-1-1h-3z"/>
+ <path opacity="0.7" fill="#000" d="m16,15,2,2-3,3,2,2,3-3,2,2,0-6-6,0zm-4,1c-0.554,0-1,0.446-1,1v8c0,0.554,0.446,1,1,1h8c0.554,0,1-0.446,1-1v-3l-1-1v4h-8v-8h4l-1-1h-3z"/>
+</svg>
diff --git a/core/img/filetypes/folder-public.png b/core/img/filetypes/folder-public.png
new file mode 100644
index 00000000000..c716607e26e
--- /dev/null
+++ b/core/img/filetypes/folder-public.png
Binary files differ
diff --git a/core/img/filetypes/folder-public.svg b/core/img/filetypes/folder-public.svg
new file mode 100644
index 00000000000..a949833f95a
--- /dev/null
+++ b/core/img/filetypes/folder-public.svg
@@ -0,0 +1,68 @@
+<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="32px" width="32px" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/">
+ <metadata>
+ <rdf:RDF>
+ <cc:Work rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+ <dc:title/>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <defs>
+ <linearGradient id="c" y2="21.387" gradientUnits="userSpaceOnUse" x2="27.557" gradientTransform="matrix(.89186 0 0 1.0539 3.1208 5.4125)" y1="7.1627" x1="27.557">
+ <stop stop-color="#fff" offset="0"/>
+ <stop stop-color="#fff" stop-opacity=".23529" offset="0.0097359"/>
+ <stop stop-color="#fff" stop-opacity=".15686" offset="0.99001"/>
+ <stop stop-color="#fff" stop-opacity=".39216" offset="1"/>
+ </linearGradient>
+ <linearGradient id="d" y2="36.658" gradientUnits="userSpaceOnUse" x2="22.809" gradientTransform="matrix(0.74675,0,0,0.65549,-1.9219,3.1676)" y1="49.629" x1="22.935">
+ <stop stop-color="#0a0a0a" stop-opacity=".498" offset="0"/>
+ <stop stop-color="#0a0a0a" stop-opacity="0" offset="1"/>
+ </linearGradient>
+ <linearGradient id="e" y2="43.761" gradientUnits="userSpaceOnUse" x2="35.793" gradientTransform="matrix(.64444 0 0 .64286 .53352 .89286)" y1="17.118" x1="35.793">
+ <stop stop-color="#b4cee1" offset="0"/>
+ <stop stop-color="#5d9fcd" offset="1"/>
+ </linearGradient>
+ <linearGradient id="f" y2="609.51" gradientUnits="userSpaceOnUse" x2="302.86" gradientTransform="matrix(.051143 0 0 .015916 -2.49 22.299)" y1="366.65" x1="302.86">
+ <stop stop-opacity="0" offset="0"/>
+ <stop offset="0.5"/>
+ <stop stop-opacity="0" offset="1"/>
+ </linearGradient>
+ <radialGradient id="b" gradientUnits="userSpaceOnUse" cy="486.65" cx="605.71" gradientTransform="matrix(.019836 0 0 .015916 16.388 22.299)" r="117.14">
+ <stop offset="0"/>
+ <stop stop-opacity="0" offset="1"/>
+ </radialGradient>
+ <radialGradient id="a" gradientUnits="userSpaceOnUse" cy="486.65" cx="605.71" gradientTransform="matrix(-.019836 0 0 .015916 15.601 22.299)" r="117.14">
+ <stop offset="0"/>
+ <stop stop-opacity="0" offset="1"/>
+ </radialGradient>
+ <linearGradient id="g" y2="34.143" gradientUnits="userSpaceOnUse" x2="21.37" gradientTransform="matrix(.54384 0 0 .61466 3.2689 5.0911)" y1="4.7324" x1="21.37">
+ <stop stop-color="#fff" offset="0"/>
+ <stop stop-color="#fff" stop-opacity=".23529" offset="0.11063"/>
+ <stop stop-color="#fff" stop-opacity=".15686" offset="0.99001"/>
+ <stop stop-color="#fff" stop-opacity=".39216" offset="1"/>
+ </linearGradient>
+ <linearGradient id="h" y2="16" gradientUnits="userSpaceOnUse" x2="62.989" gradientTransform="matrix(.61905 0 0 .61905 -30.392 1.4286)" y1="13" x1="62.989">
+ <stop stop-color="#f9f9f9" offset="0"/>
+ <stop stop-color="#d8d8d8" offset="1"/>
+ </linearGradient>
+ <linearGradient id="i" y2="3.6337" gradientUnits="userSpaceOnUse" y1="53.514" gradientTransform="matrix(.50703 0 0 0.503 68.029 1.3298)" x2="-51.786" x1="-51.786">
+ <stop stop-opacity=".32174" offset="0"/>
+ <stop stop-opacity=".27826" offset="1"/>
+ </linearGradient>
+ </defs>
+ <path opacity=".8" style="color:#000000;" d="m4.0002,6.5001c-0.43342,0.005-0.5,0.21723-0.5,0.6349v1.365c-1.2457,0-1-0.002-1,0.54389,0.0216,6.5331,0,6.9014,0,7.4561,0.90135,0,27-2.349,27-3.36v-4.0961c0-0.41767-0.34799-0.54876-0.78141-0.54389h-14.219v-1.365c0-0.41767-0.26424-0.63977-0.69767-0.6349h-9.8023z" stroke="url(#i)" fill="none"/>
+ <path style="color:#000000;" d="m4.0002,7v2h-1v4h26v-4h-15v-2h-10z" fill="url(#h)"/>
+ <path style="color:#000000;" d="m4.5002,7.5v2h-1v4h25v-4h-15v-2h-9z" stroke="url(#g)" stroke-linecap="round" fill="none"/>
+ <g transform="translate(.00017936 -1)">
+ <rect opacity="0.3" height="3.8653" width="24.695" y="28.135" x="3.6472" fill="url(#f)"/>
+ <path opacity=".3" d="m28.342,28.135v3.865c1.0215,0.0073,2.4695-0.86596,2.4695-1.9328s-1.1399-1.9323-2.4695-1.9323z" fill="url(#b)"/>
+ <path opacity=".3" d="m3.6472,28.135v3.865c-1.0215,0.0073-2.4695-0.86596-2.4695-1.9328s1.1399-1.9323,2.4695-1.9323z" fill="url(#a)"/>
+ </g>
+ <path style="color:#000000;" d="m1.927,11.5c-0.69105,0.0796-0.32196,0.90258-0.37705,1.3654,0.0802,0.29906,0.59771,15.718,0.59771,16.247,0,0.46018,0.22667,0.38222,0.80101,0.38222h26.397c0.61872,0.0143,0.48796,0.007,0.48796-0.38947,0.0452-0.20269,0.63993-16.978,0.66282-17.243,0-0.279,0.0581-0.3621-0.30493-0.3621h-28.265z" fill="url(#e)"/>
+ <path opacity="0.4" fill="url(#d)" d="m1.682,13,28.636,0.00027c0.4137,0,0.68181,0.29209,0.68181,0.65523l-0.6735,17.712c0.01,0.45948-0.1364,0.64166-0.61707,0.63203l-27.256-0.0115c-0.4137,0-0.83086-0.27118-0.83086-0.63432l-0.62244-17.698c0-0.36314,0.26812-0.65549,0.68182-0.65549z"/>
+ <path opacity=".5" style="color:#000000;" d="m2.5002,12.5,0.62498,16h25.749l0.62498-16z" stroke="url(#c)" stroke-linecap="round" fill="none"/>
+ <path opacity=".3" stroke-linejoin="round" style="color:#000000;" d="m1.927,11.5c-0.69105,0.0796-0.32196,0.90258-0.37705,1.3654,0.0802,0.29906,0.59771,15.718,0.59771,16.247,0,0.46018,0.22667,0.38222,0.80101,0.38222h26.397c0.61872,0.0143,0.48796,0.007,0.48796-0.38947,0.0452-0.20269,0.63993-16.978,0.66282-17.243,0-0.279,0.0581-0.3621-0.30493-0.3621h-28.265z" stroke="#000" stroke-linecap="round" fill="none"/>
+ <path opacity="0.3" fill="#FFF" d="m16,14c-3.866,0-7,3.134-7,7s3.134,7,7,7,7-3.134,7-7-3.134-7-7-7zm0.80208,0.89323c1.2011,0.02671,2.2625,0.74821,3.3359,1.2214l1.732,2.3971-0.274,1.03,0.529,0.3281-0.009,1.2213c-0.0121,0.34937,0.005,0.69921-0.0091,1.0482-0.16635,0.66235-0.55063,1.2666-0.875,1.8685-0.21989,0.10841,0.02005-0.7185-0.11849-0.97526,0.032-0.5934-0.471-0.566-0.811-0.2364-0.421,0.2454-1.346,0.3194-1.376-0.3464-0.239-0.8001-0.035-1.6526,0.291-2.3971l-0.537-0.6563,0.191-1.6862-0.857-0.8658,0.201-0.948-1.0028-0.5651c-0.1977-0.1552-0.5738-0.2166-0.6563-0.4284,0.0814-0.0046,0.166-0.0109,0.2461-0.0091zm-2.4609,0.0091c0.03144,0.0046,0.06999,0.02643,0.1276,0.07292,0.338,0.1857-0.0825,0.3964-0.1823,0.5925-0.5398,0.3651,0.166,0.6641,0.401,0.957,0.3767-0.1082,0.7535-0.6467,1.3034-0.483,0.7034-0.2195,0.5913,0.5891,0.9935,0.9479,0.0522,0.1689,0.88,0.7185,0.3828,0.5377-0.4095-0.3174-0.8649-0.2935-1.1576,0.1641-0.7909,0.4286-0.3228-0.8252-0.7018-1.1302-0.5729-0.6392-0.3328,0.4775-0.401,0.8112-0.3725-0.0081-1.0681-0.2866-1.4492,0.1641l0.3736,0.6106,0.4467-0.6836c0.1085-0.2474,0.2447,0.1923,0.3645,0.2735,0.1431,0.2759,0.823,0.7434,0.3099,0.875-0.7606,0.4219-1.3589,1.0618-2.0052,1.6315-0.218,0.46-0.663,0.4074-0.9388,0.0273-0.6672-0.4105-0.6177,0.6566-0.5833,1.0573l0.58333-0.36458v0.60156c-0.0165,0.1138-0.0024,0.2322-0.0091,0.3464-0.4087,0.427-0.8207-0.5995-1.1758-0.8295l-0.0273-1.5039c0.0129-0.4225-0.0763-0.8551,0.0091-1.2669,0.8038-0.8625,1.6202-1.7561,2.0964-2.8529h0.78385c0.5478,0.2654,0.2357-0.5881,0.4557-0.556zm-1.1576,7.8204c0.0951-0.01014,0.20328,0.01157,0.31901,0.07292,0.73794,0.10562,1.2897,0.6409,1.8776,1.0482,0.46872,0.46452,1.4828,0.31578,1.5951,1.1029-0.17061,0.85375-1.0105,1.3122-1.75,1.6133-0.1846,0.103-0.383,0.185-0.5925,0.219-0.6856,0.171-0.982-0.532-1.1211-1.058-0.3104-0.65-1.0862-1.142-0.9752-1.941,0.0182-0.397,0.235-1.0134,0.6471-1.0573z"/>
+ <path opacity="0.7" d="m16,13c-3.866,0-7,3.134-7,7s3.134,7,7,7,7-3.134,7-7-3.134-7-7-7zm0.80208,0.89323c1.2011,0.02671,2.2625,0.74821,3.3359,1.2214l1.732,2.3971-0.274,1.03,0.529,0.3281-0.009,1.2213c-0.0121,0.34937,0.005,0.69921-0.0091,1.0482-0.16635,0.66235-0.55063,1.2666-0.875,1.8685-0.21989,0.10841,0.02005-0.7185-0.11849-0.97526,0.032-0.5934-0.471-0.566-0.811-0.2364-0.421,0.2454-1.346,0.3194-1.376-0.3464-0.239-0.8001-0.035-1.6526,0.291-2.3971l-0.537-0.6563,0.191-1.6862-0.857-0.8658,0.201-0.948-1.0028-0.5651c-0.1977-0.1552-0.5738-0.2166-0.6563-0.4284,0.0814-0.0046,0.166-0.0109,0.2461-0.0091zm-2.4609,0.0091c0.03144,0.0046,0.06999,0.02643,0.1276,0.07292,0.338,0.1857-0.0825,0.3964-0.1823,0.5925-0.5398,0.3651,0.166,0.6641,0.401,0.957,0.3767-0.1082,0.7535-0.6467,1.3034-0.483,0.7034-0.2195,0.5913,0.5891,0.9935,0.9479,0.0522,0.1689,0.88,0.7185,0.3828,0.5377-0.4095-0.3174-0.8649-0.2935-1.1576,0.1641-0.7909,0.4286-0.3228-0.8252-0.7018-1.1302-0.5729-0.6392-0.3328,0.4775-0.401,0.8112-0.3725-0.0081-1.0681-0.2866-1.4492,0.1641l0.3736,0.6106,0.4467-0.6836c0.1085-0.2474,0.2447,0.1923,0.3645,0.2735,0.1431,0.2759,0.823,0.7434,0.3099,0.875-0.7606,0.4219-1.3589,1.0618-2.0052,1.6315-0.218,0.46-0.663,0.4074-0.9388,0.0273-0.6672-0.4105-0.6177,0.6566-0.5833,1.0573l0.58333-0.36458v0.60156c-0.0165,0.1138-0.0024,0.2322-0.0091,0.3464-0.4087,0.427-0.8207-0.5995-1.1758-0.8295l-0.0273-1.5039c0.0129-0.4225-0.0763-0.8551,0.0091-1.2669,0.8038-0.8625,1.6202-1.7561,2.0964-2.8529h0.78385c0.5478,0.2654,0.2357-0.5881,0.4557-0.556zm-1.1576,7.8204c0.0951-0.01014,0.20328,0.01157,0.31901,0.07292,0.73794,0.10562,1.2897,0.6409,1.8776,1.0482,0.46872,0.46452,1.4828,0.31578,1.5951,1.1029-0.17061,0.85375-1.0105,1.3122-1.75,1.6133-0.1846,0.103-0.383,0.185-0.5925,0.219-0.6856,0.171-0.982-0.532-1.1211-1.058-0.3104-0.65-1.0862-1.142-0.9752-1.941,0.0182-0.397,0.235-1.0134,0.6471-1.0573z"/>
+</svg>
diff --git a/core/img/filetypes/folder-shared.png b/core/img/filetypes/folder-shared.png
new file mode 100644
index 00000000000..e547a242062
--- /dev/null
+++ b/core/img/filetypes/folder-shared.png
Binary files differ
diff --git a/core/img/filetypes/folder-shared.svg b/core/img/filetypes/folder-shared.svg
new file mode 100644
index 00000000000..56aa9634d27
--- /dev/null
+++ b/core/img/filetypes/folder-shared.svg
@@ -0,0 +1,68 @@
+<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="32px" width="32px" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/">
+ <metadata>
+ <rdf:RDF>
+ <cc:Work rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+ <dc:title/>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <defs>
+ <linearGradient id="c" y2="21.387" gradientUnits="userSpaceOnUse" x2="27.557" gradientTransform="matrix(.89186 0 0 1.0539 3.1208 5.4125)" y1="7.1627" x1="27.557">
+ <stop stop-color="#fff" offset="0"/>
+ <stop stop-color="#fff" stop-opacity=".23529" offset="0.0097359"/>
+ <stop stop-color="#fff" stop-opacity=".15686" offset="0.99001"/>
+ <stop stop-color="#fff" stop-opacity=".39216" offset="1"/>
+ </linearGradient>
+ <linearGradient id="d" y2="36.658" gradientUnits="userSpaceOnUse" x2="22.809" gradientTransform="matrix(.74675 0 0 .65549 -1.9219 1.1676)" y1="49.629" x1="22.935">
+ <stop stop-color="#0a0a0a" stop-opacity=".498" offset="0"/>
+ <stop stop-color="#0a0a0a" stop-opacity="0" offset="1"/>
+ </linearGradient>
+ <linearGradient id="e" y2="43.761" gradientUnits="userSpaceOnUse" x2="35.793" gradientTransform="matrix(.64444 0 0 .64286 .53352 .89286)" y1="17.118" x1="35.793">
+ <stop stop-color="#b4cee1" offset="0"/>
+ <stop stop-color="#5d9fcd" offset="1"/>
+ </linearGradient>
+ <linearGradient id="f" y2="609.51" gradientUnits="userSpaceOnUse" x2="302.86" gradientTransform="matrix(.051143 0 0 .015916 -2.49 22.299)" y1="366.65" x1="302.86">
+ <stop stop-opacity="0" offset="0"/>
+ <stop offset="0.5"/>
+ <stop stop-opacity="0" offset="1"/>
+ </linearGradient>
+ <radialGradient id="b" gradientUnits="userSpaceOnUse" cy="486.65" cx="605.71" gradientTransform="matrix(.019836 0 0 .015916 16.388 22.299)" r="117.14">
+ <stop offset="0"/>
+ <stop stop-opacity="0" offset="1"/>
+ </radialGradient>
+ <radialGradient id="a" gradientUnits="userSpaceOnUse" cy="486.65" cx="605.71" gradientTransform="matrix(-.019836 0 0 .015916 15.601 22.299)" r="117.14">
+ <stop offset="0"/>
+ <stop stop-opacity="0" offset="1"/>
+ </radialGradient>
+ <linearGradient id="g" y2="34.143" gradientUnits="userSpaceOnUse" x2="21.37" gradientTransform="matrix(.54384 0 0 .61466 3.2689 5.0911)" y1="4.7324" x1="21.37">
+ <stop stop-color="#fff" offset="0"/>
+ <stop stop-color="#fff" stop-opacity=".23529" offset="0.11063"/>
+ <stop stop-color="#fff" stop-opacity=".15686" offset="0.99001"/>
+ <stop stop-color="#fff" stop-opacity=".39216" offset="1"/>
+ </linearGradient>
+ <linearGradient id="h" y2="16" gradientUnits="userSpaceOnUse" x2="62.989" gradientTransform="matrix(.61905 0 0 .61905 -30.392 1.4286)" y1="13" x1="62.989">
+ <stop stop-color="#f9f9f9" offset="0"/>
+ <stop stop-color="#d8d8d8" offset="1"/>
+ </linearGradient>
+ <linearGradient id="i" y2="3.6337" gradientUnits="userSpaceOnUse" y1="53.514" gradientTransform="matrix(.50703 0 0 0.503 68.029 1.3298)" x2="-51.786" x1="-51.786">
+ <stop stop-opacity=".32174" offset="0"/>
+ <stop stop-opacity=".27826" offset="1"/>
+ </linearGradient>
+ </defs>
+ <path opacity=".8" style="color:#000000;" d="m4.0002,6.5001c-0.43342,0.005-0.5,0.21723-0.5,0.6349v1.365c-1.2457,0-1-0.002-1,0.54389,0.0216,6.5331,0,6.9014,0,7.4561,0.90135,0,27-2.349,27-3.36v-4.0961c0-0.41767-0.34799-0.54876-0.78141-0.54389h-14.219v-1.365c0-0.41767-0.26424-0.63977-0.69767-0.6349h-9.8023z" stroke="url(#i)" fill="none"/>
+ <path style="color:#000000;" d="m4.0002,7v2h-1v4h26v-4h-15v-2h-10z" fill="url(#h)"/>
+ <path style="color:#000000;" d="m4.5002,7.5v2h-1v4h25v-4h-15v-2h-9z" stroke="url(#g)" stroke-linecap="round" fill="none"/>
+ <g transform="translate(.00017936 -1)">
+ <rect opacity="0.3" height="3.8653" width="24.695" y="28.135" x="3.6472" fill="url(#f)"/>
+ <path opacity=".3" d="m28.342,28.135v3.865c1.0215,0.0073,2.4695-0.86596,2.4695-1.9328s-1.1399-1.9323-2.4695-1.9323z" fill="url(#b)"/>
+ <path opacity=".3" d="m3.6472,28.135v3.865c-1.0215,0.0073-2.4695-0.86596-2.4695-1.9328s1.1399-1.9323,2.4695-1.9323z" fill="url(#a)"/>
+ </g>
+ <path style="color:#000000;" d="m1.927,11.5c-0.69105,0.0796-0.32196,0.90258-0.37705,1.3654,0.0802,0.29906,0.59771,15.718,0.59771,16.247,0,0.46018,0.22667,0.38222,0.80101,0.38222h26.397c0.61872,0.0143,0.48796,0.007,0.48796-0.38947,0.0452-0.20269,0.63993-16.978,0.66282-17.243,0-0.279,0.0581-0.3621-0.30493-0.3621h-28.265z" fill="url(#e)"/>
+ <path opacity=".4" d="m1.682,11,28.636,0.00027c0.4137,0,0.68181,0.29209,0.68181,0.65523l-0.6735,17.712c0.01,0.45948-0.1364,0.64166-0.61707,0.63203l-27.256-0.0115c-0.4137,0-0.83086-0.27118-0.83086-0.63432l-0.62244-17.698c0-0.36314,0.26812-0.65549,0.68182-0.65549z" fill="url(#d)"/>
+ <path opacity=".5" style="color:#000000;" d="m2.5002,12.5,0.62498,16h25.749l0.62498-16z" stroke="url(#c)" stroke-linecap="round" fill="none"/>
+ <path opacity=".3" stroke-linejoin="round" style="color:#000000;" d="m1.927,11.5c-0.69105,0.0796-0.32196,0.90258-0.37705,1.3654,0.0802,0.29906,0.59771,15.718,0.59771,16.247,0,0.46018,0.22667,0.38222,0.80101,0.38222h26.397c0.61872,0.0143,0.48796,0.007,0.48796-0.38947,0.0452-0.20269,0.63993-16.978,0.66282-17.243,0-0.279,0.0581-0.3621-0.30493-0.3621h-28.265z" stroke="#000" stroke-linecap="round" fill="none"/>
+ <path opacity="0.3" style="block-progression:tb;text-indent:0;color:#000000;text-transform:none;" fill="#FFF" d="m12.388,16.483c-0.96482,0-1.7833,0.70559-1.7833,1.6162,0.0069,0.28781,0.03259,0.64272,0.20434,1.3933v0.01858l0.01857,0.01857c0.05513,0.15793,0.13537,0.24827,0.24149,0.37154,0.10612,0.12326,0.23263,0.26834,0.35294,0.39011,0.01415,0.01433,0.02323,0.0232,0.03715,0.03716,0.02386,0.10383,0.05276,0.21557,0.0743,0.3158,0.05732,0.26668,0.05144,0.45553,0.03716,0.52015-0.4146,0.1454-0.9304,0.3187-1.3932,0.5199-0.2598,0.113-0.4949,0.2139-0.6873,0.3344-0.1923,0.1206-0.3836,0.2116-0.4458,0.483-0.000797,0.01237-0.000797,0.02479,0,0.03716-0.06076,0.55788-0.15266,1.3783-0.22291,1.932-0.015166,0.11656,0.046264,0.23943,0.14861,0.29723,0.84033,0.45393,2.1312,0.63663,3.418,0.63161,1.2868-0.005,2.5674-0.19845,3.3808-0.63161,0.10234-0.0578,0.16378-0.18067,0.14861-0.29723-0.0224-0.173-0.05-0.5633-0.0743-0.9474-0.0243-0.384-0.0454-0.7617-0.0743-0.9845-0.0101-0.0552-0.0362-0.1074-0.0743-0.1486-0.2584-0.3086-0.6445-0.4973-1.096-0.6874-0.4122-0.1735-0.8954-0.3538-1.3746-0.5573-0.02682-0.05975-0.05346-0.23358,0-0.50157,0.01436-0.07196,0.03684-0.14903,0.05573-0.22292,0.04503-0.05044,0.08013-0.09166,0.13003-0.14861,0.1064-0.1215,0.2207-0.2489,0.3157-0.3715,0.0951-0.1226,0.1728-0.2279,0.223-0.3715l0.01857-0.01858c0.1941-0.7837,0.1942-1.1107,0.2043-1.3933v-0.01857c0-0.91058-0.81848-1.6162-1.7833-1.6162zm5.101-1.4831c-1.4067,0-2.6,1.0287-2.6,2.3562,0.01,0.4196,0.04751,0.93701,0.29791,2.0312v0.02708l0.02708,0.02708c0.08038,0.23025,0.19736,0.36196,0.35208,0.54166s0.33917,0.39121,0.51458,0.56874c0.02064,0.02089,0.03386,0.03383,0.05416,0.05418,0.03479,0.15137,0.07693,0.31428,0.10833,0.46041,0.08357,0.38879,0.07499,0.66411,0.05417,0.75832-0.6045,0.2122-1.3565,0.465-2.0312,0.7583-0.3789,0.1647-0.7217,0.3118-1.0021,0.4875-0.28044,0.17574-0.55934,0.30851-0.64999,0.70416-0.0012,0.01804-0.0012,0.03613,0,0.05418-0.08858,0.81334-0.22257,2.0094-0.325,2.8166-0.02211,0.16993,0.06745,0.34906,0.21666,0.43333,1.2252,0.66179,3.1072,0.92814,4.9833,0.92082,1.8761-0.0073,3.7431-0.28932,4.9291-0.92082,0.14921-0.08427,0.23878-0.2634,0.21666-0.43333-0.0327-0.25234-0.07287-0.82136-0.10833-1.3812-0.03546-0.55988-0.06625-1.1106-0.10833-1.4354-0.01468-0.0805-0.05274-0.15661-0.10833-0.21666-0.377-0.4498-0.94-0.7248-1.598-1.002-0.601-0.253-1.306-0.5158-2.004-0.8125-0.0391-0.08711-0.07795-0.34054,0-0.73124,0.02093-0.10491,0.05371-0.21727,0.08125-0.325,0.06566-0.07354,0.11683-0.13363,0.18958-0.21666,0.15516-0.17709,0.32189-0.36287,0.46041-0.54166s0.25186-0.33217,0.325-0.54166l0.02708-0.02708c0.28309-1.1425,0.28324-1.6193,0.29792-2.0312v-0.02708c0-1.3275-1.1933-2.3562-2.6-2.3562z"/>
+ <path opacity="0.7" style="block-progression:tb;color:#000000;text-transform:none;text-indent:0;" d="m12.388,15.483c-0.96482,0-1.7833,0.70559-1.7833,1.6162,0.0069,0.28781,0.03259,0.64272,0.20434,1.3933v0.01858l0.01857,0.01857c0.05513,0.15793,0.13537,0.24827,0.24149,0.37154,0.10612,0.12326,0.23263,0.26834,0.35294,0.39011,0.01415,0.01433,0.02323,0.0232,0.03715,0.03716,0.02386,0.10383,0.05276,0.21557,0.0743,0.3158,0.05732,0.26668,0.05144,0.45553,0.03716,0.52015-0.4146,0.1454-0.9304,0.3187-1.3932,0.5199-0.2598,0.113-0.4949,0.2139-0.6873,0.3344-0.1923,0.1206-0.3836,0.2116-0.4458,0.483-0.000797,0.01237-0.000797,0.02479,0,0.03716-0.06076,0.55788-0.15266,1.3783-0.22291,1.932-0.015166,0.11656,0.046264,0.23943,0.14861,0.29723,0.84033,0.45393,2.1312,0.63663,3.418,0.63161,1.2868-0.005,2.5674-0.19845,3.3808-0.63161,0.10234-0.0578,0.16378-0.18067,0.14861-0.29723-0.0224-0.173-0.05-0.5633-0.0743-0.9474-0.0243-0.384-0.0454-0.7617-0.0743-0.9845-0.0101-0.0552-0.0362-0.1074-0.0743-0.1486-0.2584-0.3086-0.6445-0.4973-1.096-0.6874-0.4122-0.1735-0.8954-0.3538-1.3746-0.5573-0.02682-0.05975-0.05346-0.23358,0-0.50157,0.01436-0.07196,0.03684-0.14903,0.05573-0.22292,0.04503-0.05044,0.08013-0.09166,0.13003-0.14861,0.1064-0.1215,0.2207-0.2489,0.3157-0.3715,0.0951-0.1226,0.1728-0.2279,0.223-0.3715l0.01857-0.01858c0.1941-0.7837,0.1942-1.1107,0.2043-1.3933v-0.01857c0-0.91058-0.81848-1.6162-1.7833-1.6162zm5.101-1.4831c-1.4067,0-2.6,1.0287-2.6,2.3562,0.01,0.4196,0.04751,0.93701,0.29791,2.0312v0.02708l0.02708,0.02708c0.08038,0.23025,0.19736,0.36196,0.35208,0.54166s0.33917,0.39121,0.51458,0.56874c0.02064,0.02089,0.03386,0.03383,0.05416,0.05418,0.03479,0.15137,0.07693,0.31428,0.10833,0.46041,0.08357,0.38879,0.07499,0.66411,0.05417,0.75832-0.6045,0.2122-1.3565,0.465-2.0312,0.7583-0.3789,0.1647-0.7217,0.3118-1.0021,0.4875-0.28044,0.17574-0.55934,0.30851-0.64999,0.70416-0.0012,0.01804-0.0012,0.03613,0,0.05418-0.08858,0.81334-0.22257,2.0094-0.325,2.8166-0.02211,0.16993,0.06745,0.34906,0.21666,0.43333,1.2252,0.66179,3.1072,0.92814,4.9833,0.92082,1.8761-0.0073,3.7431-0.28932,4.9291-0.92082,0.14921-0.08427,0.23878-0.2634,0.21666-0.43333-0.0327-0.25234-0.07287-0.82136-0.10833-1.3812-0.03546-0.55988-0.06625-1.1106-0.10833-1.4354-0.01468-0.0805-0.05274-0.15661-0.10833-0.21666-0.377-0.4498-0.94-0.7248-1.598-1.002-0.601-0.253-1.306-0.5158-2.004-0.8125-0.0391-0.08711-0.07795-0.34054,0-0.73124,0.02093-0.10491,0.05371-0.21727,0.08125-0.325,0.06566-0.07354,0.11683-0.13363,0.18958-0.21666,0.15516-0.17709,0.32189-0.36287,0.46041-0.54166s0.25186-0.33217,0.325-0.54166l0.02708-0.02708c0.28309-1.1425,0.28324-1.6193,0.29792-2.0312v-0.02708c0-1.3275-1.1933-2.3562-2.6-2.3562z"/>
+</svg>
diff --git a/core/img/filetypes/folder.png b/core/img/filetypes/folder.png
index 784e8fa4823..b7be63d5836 100644
--- a/core/img/filetypes/folder.png
+++ b/core/img/filetypes/folder.png
Binary files differ
diff --git a/core/img/filetypes/folder.svg b/core/img/filetypes/folder.svg
new file mode 100644
index 00000000000..92d4cc22718
--- /dev/null
+++ b/core/img/filetypes/folder.svg
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="32px" width="32px" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/">
+ <defs>
+ <linearGradient id="c" y2="21.387" gradientUnits="userSpaceOnUse" x2="27.557" gradientTransform="matrix(.89186 0 0 1.0539 3.1208 5.4125)" y1="7.1627" x1="27.557">
+ <stop stop-color="#fff" offset="0"/>
+ <stop stop-color="#fff" stop-opacity=".23529" offset=".0097359"/>
+ <stop stop-color="#fff" stop-opacity=".15686" offset=".99001"/>
+ <stop stop-color="#fff" stop-opacity=".39216" offset="1"/>
+ </linearGradient>
+ <linearGradient id="d" y2="36.658" gradientUnits="userSpaceOnUse" x2="22.809" gradientTransform="matrix(.74675 0 0 .65549 -1.9219 1.1676)" y1="49.629" x1="22.935">
+ <stop stop-color="#0a0a0a" stop-opacity=".498" offset="0"/>
+ <stop stop-color="#0a0a0a" stop-opacity="0" offset="1"/>
+ </linearGradient>
+ <linearGradient id="e" y2="43.761" gradientUnits="userSpaceOnUse" x2="35.793" gradientTransform="matrix(.64444 0 0 .64286 .53352 .89286)" y1="17.118" x1="35.793">
+ <stop stop-color="#b4cee1" offset="0"/>
+ <stop stop-color="#5d9fcd" offset="1"/>
+ </linearGradient>
+ <linearGradient id="f" y2="609.51" gradientUnits="userSpaceOnUse" x2="302.86" gradientTransform="matrix(.051143 0 0 .015916 -2.49 22.299)" y1="366.65" x1="302.86">
+ <stop stop-opacity="0" offset="0"/>
+ <stop offset=".5"/>
+ <stop stop-opacity="0" offset="1"/>
+ </linearGradient>
+ <radialGradient id="b" gradientUnits="userSpaceOnUse" cy="486.65" cx="605.71" gradientTransform="matrix(.019836 0 0 .015916 16.388 22.299)" r="117.14">
+ <stop offset="0"/>
+ <stop stop-opacity="0" offset="1"/>
+ </radialGradient>
+ <radialGradient id="a" gradientUnits="userSpaceOnUse" cy="486.65" cx="605.71" gradientTransform="matrix(-.019836 0 0 .015916 15.601 22.299)" r="117.14">
+ <stop offset="0"/>
+ <stop stop-opacity="0" offset="1"/>
+ </radialGradient>
+ <linearGradient id="g" y2="34.143" gradientUnits="userSpaceOnUse" x2="21.37" gradientTransform="matrix(.54384 0 0 .61466 3.2689 5.0911)" y1="4.7324" x1="21.37">
+ <stop stop-color="#fff" offset="0"/>
+ <stop stop-color="#fff" stop-opacity=".23529" offset=".11063"/>
+ <stop stop-color="#fff" stop-opacity=".15686" offset=".99001"/>
+ <stop stop-color="#fff" stop-opacity=".39216" offset="1"/>
+ </linearGradient>
+ <linearGradient id="h" y2="16" gradientUnits="userSpaceOnUse" x2="62.989" gradientTransform="matrix(.61905 0 0 .61905 -30.392 1.4286)" y1="13" x1="62.989">
+ <stop stop-color="#f9f9f9" offset="0"/>
+ <stop stop-color="#d8d8d8" offset="1"/>
+ </linearGradient>
+ <linearGradient id="i" y2="3.6337" gradientUnits="userSpaceOnUse" y1="53.514" gradientTransform="matrix(.50703 0 0 0.503 68.029 1.3298)" x2="-51.786" x1="-51.786">
+ <stop stop-opacity=".32174" offset="0"/>
+ <stop stop-opacity=".27826" offset="1"/>
+ </linearGradient>
+ </defs>
+ <g>
+ <path opacity=".8" style="color:#000000" d="m4.0002 6.5001c-0.43342 0.005-0.5 0.21723-0.5 0.6349v1.365c-1.2457 0-1-0.002-1 0.54389 0.0216 6.5331 0 6.9014 0 7.4561 0.90135 0 27-2.349 27-3.36v-4.0961c0-0.41767-0.34799-0.54876-0.78141-0.54389h-14.219v-1.365c0-0.41767-0.26424-0.63977-0.69767-0.6349h-9.8023z" stroke="url(#i)" fill="none"/>
+ <path style="color:#000000" d="m4.0002 7v2h-1v4h26v-4h-15v-2h-10z" fill="url(#h)"/>
+ <path style="color:#000000" d="m4.5002 7.5v2h-1v4h25v-4h-15v-2h-9z" stroke="url(#g)" stroke-linecap="round" fill="none"/>
+ </g>
+ <g transform="translate(.00017936 -1)">
+ <rect opacity=".3" height="3.8653" width="24.695" y="28.135" x="3.6472" fill="url(#f)"/>
+ <path opacity=".3" d="m28.342 28.135v3.865c1.0215 0.0073 2.4695-0.86596 2.4695-1.9328s-1.1399-1.9323-2.4695-1.9323z" fill="url(#b)"/>
+ <path opacity=".3" d="m3.6472 28.135v3.865c-1.0215 0.0073-2.4695-0.86596-2.4695-1.9328s1.1399-1.9323 2.4695-1.9323z" fill="url(#a)"/>
+ </g>
+ <path style="color:#000000" d="m1.927 11.5c-0.69105 0.0796-0.32196 0.90258-0.37705 1.3654 0.0802 0.29906 0.59771 15.718 0.59771 16.247 0 0.46018 0.22667 0.38222 0.80101 0.38222h26.397c0.61872 0.0143 0.48796 0.007 0.48796-0.38947 0.0452-0.20269 0.63993-16.978 0.66282-17.243 0-0.279 0.0581-0.3621-0.30493-0.3621h-28.265z" fill="url(#e)"/>
+ <path opacity=".4" d="m1.682 11 28.636 0.00027c0.4137 0 0.68181 0.29209 0.68181 0.65523l-0.6735 17.712c0.01 0.45948-0.1364 0.64166-0.61707 0.63203l-27.256-0.0115c-0.4137 0-0.83086-0.27118-0.83086-0.63432l-0.62244-17.698c0-0.36314 0.26812-0.65549 0.68182-0.65549z" fill="url(#d)"/>
+ <path opacity=".5" style="color:#000000" d="m2.5002 12.5 0.62498 16h25.749l0.62498-16z" stroke="url(#c)" stroke-linecap="round" fill="none"/>
+ <path opacity=".3" stroke-linejoin="round" style="color:#000000" d="m1.927 11.5c-0.69105 0.0796-0.32196 0.90258-0.37705 1.3654 0.0802 0.29906 0.59771 15.718 0.59771 16.247 0 0.46018 0.22667 0.38222 0.80101 0.38222h26.397c0.61872 0.0143 0.48796 0.007 0.48796-0.38947 0.0452-0.20269 0.63993-16.978 0.66282-17.243 0-0.279 0.0581-0.3621-0.30493-0.3621h-28.265z" stroke="#000" stroke-linecap="round" fill="none"/>
+</svg>
diff --git a/core/img/filetypes/font.png b/core/img/filetypes/font.png
index 81e41de7d3a..9404c3ca6ac 100644
--- a/core/img/filetypes/font.png
+++ b/core/img/filetypes/font.png
Binary files differ
diff --git a/core/img/filetypes/font.svg b/core/img/filetypes/font.svg
new file mode 100644
index 00000000000..8fca5ff9eff
--- /dev/null
+++ b/core/img/filetypes/font.svg
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="32" width="32" version="1.0" xmlns:cc="http://creativecommons.org/ns#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/">
+ <defs>
+ <linearGradient id="a">
+ <stop offset="0"/>
+ <stop stop-opacity="0" offset="1"/>
+ </linearGradient>
+ <linearGradient id="h" y2="45.497" gradientUnits="userSpaceOnUse" x2="22.056" gradientTransform="matrix(.85825 0 0 .86435 .35576 -11.07)" y1="15.834" x1="22.056">
+ <stop stop-color="#575757" offset="0"/>
+ <stop stop-color="#333" offset="1"/>
+ </linearGradient>
+ <radialGradient id="e" xlink:href="#a" gradientUnits="userSpaceOnUse" cy="36.686" cx="-6.1603" gradientTransform="matrix(.25444 0 0 .18504 6.1544 20.059)" r="14.098"/>
+ <radialGradient id="d" xlink:href="#a" gradientUnits="userSpaceOnUse" cy="36.686" cx="-6.1603" gradientTransform="matrix(.83270 0 0 .18284 17.869 20.171)" r="14.098"/>
+ <radialGradient id="c" xlink:href="#a" gradientUnits="userSpaceOnUse" cy="36.686" cx="-6.1603" gradientTransform="matrix(.69391 0 0 .18504 25.492 20.059)" r="14.098"/>
+ <linearGradient id="g" y2="103.13" gradientUnits="userSpaceOnUse" x2="143.92" gradientTransform="matrix(.97891 0 0 .95244 -119.66 -63.433)" y1="75.221" x1="143.92">
+ <stop stop-color="#f8b17e" offset="0"/>
+ <stop stop-color="#e35d4f" offset=".31210"/>
+ <stop stop-color="#c6262e" offset=".57054"/>
+ <stop stop-color="#690b54" offset="1"/>
+ </linearGradient>
+ <linearGradient id="f" y2="75.221" gradientUnits="userSpaceOnUse" x2="153.41" gradientTransform="matrix(.97891 0 0 .95244 -119.66 -63.433)" y1="98.785" x1="153.41">
+ <stop stop-color="#791235" offset="0"/>
+ <stop stop-color="#dd3b27" offset="1"/>
+ </linearGradient>
+ <radialGradient id="b" xlink:href="#a" gradientUnits="userSpaceOnUse" cy="36.686" cx="-6.1603" gradientTransform="matrix(.25444 0 0 .18504 22.459 20.059)" r="14.098"/>
+ </defs>
+ <g>
+ <g fill-rule="evenodd">
+ <path opacity=".2" d="m24.478 26.848a3.587 2.6087 0 1 1 -7.1739 0 3.587 2.6087 0 1 1 7.1739 0z" fill="url(#b)"/>
+ <path d="m29.106 9.9132c-0.478-1.0813-1.642-0.968-2.441-1.1397-2.646-0.3044-5.287 0.181-7.504 1.6705-2.1399 1.4497-4.0763 3.4112-5.4365 5.9425-1.1823 2.2548-1.7132 5.267-0.96727 8.1364 0.58709 1.9316 2.3544 3.1247 3.845 2.803 2.2818-0.38055 3.9079-2.4984 5.2493-4.5646 0.60658-0.85208 0.97918-1.9805 1.6952-2.6966-0.1019 1.8363-0.14753 3.7435 0.26981 5.6082 0.2372 1.0995 1.1049 1.9662 1.9843 1.9261 0.89467-0.10266 1.5757-0.87918 2.3174-1.386 0.66706-0.59088 1.4312-1.0989 1.9035-1.9532-0.08137-1.4151-1.3465-0.52654-1.7881-0.04084-0.61732 0.97151-1.8927 0.19955-1.6199-1.1225 0.14283-3.0198 0.84698-5.8557 1.4425-8.7028 0.3348-1.5009 0.68722-2.9931 1.0492-4.4802h-0.000001zm-3.696 1.8848c-1.1333 3.5797-2.3575 7.223-4.4519 9.9984-0.98815 1.2662-2.437 2.4144-4.0344 1.8053-1.1039-0.48951-1.3597-2.0989-1.3836-3.3097-0.14247-3.5752 1.5838-6.5362 3.7419-8.3224 1.5043-1.1975 3.4487-1.7396 5.3479-1.1547 0.35854 0.1335 0.74746 0.47906 0.78012 0.983v-0.000001z" stroke="url(#f)" fill="url(#g)"/>
+ <path opacity=".2" d="m31 26.848a9.7826 2.6087 0 1 1 -19.565 0 9.7826 2.6087 0 1 1 19.565 0z" fill="url(#c)"/>
+ <path opacity=".05" d="m24.478 26.879a11.739 2.5777 0 1 1 -23.478 0 11.739 2.5777 0 1 1 23.478 0z" fill="url(#d)"/>
+ <path opacity=".2" d="m8.1739 26.848a3.587 2.6087 0 1 1 -7.1739 0 3.587 2.6087 0 1 1 7.1739 0z" fill="url(#e)"/>
+ </g>
+ <path d="m19.663 27.5c-0.79147-2.2568-1.583-4.5913-2.3744-6.8481h-9.7253c-0.8117 2.284-1.6229 4.564-2.4341 6.848h-3.1514c3.0005-8.2609 6.001-15.739 9.0016-24h2.8497c3.0061 8.2609 6.0122 15.739 9.0183 24h-3.1849zm-3.337-10.109-3.913-10.391-3.913 10.391z" stroke="#333" stroke-width="1px" fill="url(#h)"/>
+ </g>
+</svg>
diff --git a/core/img/filetypes/image-svg+xml.png b/core/img/filetypes/image-svg+xml.png
index a1291c2dfad..e3dd52489d3 100644
--- a/core/img/filetypes/image-svg+xml.png
+++ b/core/img/filetypes/image-svg+xml.png
Binary files differ
diff --git a/core/img/filetypes/image-svg+xml.svg b/core/img/filetypes/image-svg+xml.svg
new file mode 100644
index 00000000000..06df5f54da6
--- /dev/null
+++ b/core/img/filetypes/image-svg+xml.svg
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="32px" width="32px" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/">
+ <defs>
+ <linearGradient id="h" y2="43" gradientUnits="userSpaceOnUse" x2="24" gradientTransform="matrix(.56757 0 0 .72973 2.3784 -2.5135)" y1="5.5641" x1="24">
+ <stop stop-color="#fff" offset="0"/>
+ <stop stop-color="#fff" stop-opacity=".23529" offset=".036262"/>
+ <stop stop-color="#fff" stop-opacity=".15686" offset=".95056"/>
+ <stop stop-color="#fff" stop-opacity=".39216" offset="1"/>
+ </linearGradient>
+ <linearGradient id="g" y2="47.013" gradientUnits="userSpaceOnUse" x2="25.132" gradientTransform="matrix(.65714 0 0 .63012 .22856 -1.0896)" y1=".98521" x1="25.132">
+ <stop stop-color="#f4f4f4" offset="0"/>
+ <stop stop-color="#dbdbdb" offset="1"/>
+ </linearGradient>
+ <linearGradient id="f" y2="2.9062" gradientUnits="userSpaceOnUse" x2="-51.786" gradientTransform="matrix(.53064 0 0 .58970 39.27 -1.7919)" y1="50.786" x1="-51.786">
+ <stop stop-color="#a0a0a0" offset="0"/>
+ <stop stop-color="#bebebe" offset="1"/>
+ </linearGradient>
+ <radialGradient id="c" xlink:href="#a" gradientUnits="userSpaceOnUse" cy="486.65" cx="605.71" gradientTransform="matrix(.015663 0 0 .0082353 17.61 25.981)" r="117.14"/>
+ <linearGradient id="a">
+ <stop offset="0"/>
+ <stop stop-opacity="0" offset="1"/>
+ </linearGradient>
+ <radialGradient id="b" xlink:href="#a" gradientUnits="userSpaceOnUse" cy="486.65" cx="605.71" gradientTransform="matrix(-.015663 0 0 .0082353 14.39 25.981)" r="117.14"/>
+ <linearGradient id="e" y2="609.51" gradientUnits="userSpaceOnUse" y1="366.65" gradientTransform="matrix(.045769 0 0 .0082353 -.54232 25.981)" x2="302.86" x1="302.86">
+ <stop stop-opacity="0" offset="0"/>
+ <stop offset=".5"/>
+ <stop stop-opacity="0" offset="1"/>
+ </linearGradient>
+ <linearGradient id="d" y2="13.664" gradientUnits="userSpaceOnUse" x2="16.887" gradientTransform="matrix(.65943 0 0 .64652 -27.821 1.2237)" y1="24.24" x1="28.534">
+ <stop stop-color="#fda852" offset="0"/>
+ <stop stop-color="#fff" stop-opacity="0" offset="1"/>
+ </linearGradient>
+ </defs>
+ <g>
+ <g>
+ <rect opacity=".15" height="2" width="22.1" y="29" x="4.95" fill="url(#e)"/>
+ <path opacity=".15" d="m4.95 29v1.9999c-0.80662 0.0038-1.95-0.44807-1.95-1.0001 0-0.552 0.90012-0.99982 1.95-0.99982z" fill="url(#b)"/>
+ <path opacity=".15" d="m27.05 29v1.9999c0.80661 0.0038 1.95-0.44807 1.95-1.0001 0-0.552-0.90012-0.99982-1.95-0.99982z" fill="url(#c)"/>
+ </g>
+ <path stroke-linejoin="round" d="m4.5 0.49996c5.2705 0 23 0.00185 23 0.00185l0.000028 28.998h-23v-29z" stroke="url(#f)" stroke-width=".99992" fill="url(#g)"/>
+ </g>
+ <path stroke-linejoin="round" d="m26.5 28.5h-21v-27h21z" stroke="url(#h)" stroke-linecap="round" fill="none"/>
+ <g transform="translate(27.788 -2.3184)">
+ <g>
+ <path d="m-17.037 24.229c2.7541 1.8316 8.7672-0.61882 3.7681-7.1764-4.9538-6.4982 4.9219-10.76 7.8525-3.2453" fill-rule="evenodd" stroke="#ea541a" stroke-width="1px" fill="url(#d)"/>
+ <rect height="2" width="2" y="22.818" x="-18.788" fill="#ea541a"/>
+ <rect height="2" width="2" y="12.818" x="-6.788" fill="#ea541a"/>
+ </g>
+ <path d="m-17.699 11.147 9.5001 12.316" stroke="#ea541a" stroke-width="1px" fill="none"/>
+ <g>
+ <path d="m-16.288 11.318c0.000372 0.55218-0.44745 1-1 1s-1.0004-0.44782-1-1c-0.000372-0.55218 0.44745-1 1-1s1.0004 0.44782 1 1z" stroke="#ea541a" fill="#e6e6e6"/>
+ <path d="m-7.288 23.318c0.000373 0.55218-0.44745 1-1 1s-1.0004-0.44782-1-1c-0.000372-0.55218 0.44745-1 1-1s1.0004 0.44782 1 1z" stroke="#ea541a" fill="#e6e6e6"/>
+ <rect height="2" width="2" y="15.818" x="-14.788" fill="#ea541a"/>
+ </g>
+ </g>
+</svg>
diff --git a/core/img/filetypes/image.png b/core/img/filetypes/image.png
index 4a158fef7e0..087f5dcdbdf 100644
--- a/core/img/filetypes/image.png
+++ b/core/img/filetypes/image.png
Binary files differ
diff --git a/core/img/filetypes/image.svg b/core/img/filetypes/image.svg
new file mode 100644
index 00000000000..50991f7359d
--- /dev/null
+++ b/core/img/filetypes/image.svg
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="32" width="32" version="1.0" xmlns:cc="http://creativecommons.org/ns#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/">
+ <defs>
+ <radialGradient id="c" xlink:href="#a" gradientUnits="userSpaceOnUse" cy="486.65" cx="605.71" gradientTransform="matrix(.028917 0 0 .012353 26.973 38.471)" r="117.14"/>
+ <linearGradient id="a">
+ <stop offset="0"/>
+ <stop stop-opacity="0" offset="1"/>
+ </linearGradient>
+ <radialGradient id="b" xlink:href="#a" gradientUnits="userSpaceOnUse" cy="486.65" cx="605.71" gradientTransform="matrix(-.028917 0 0 .012353 21.027 38.471)" r="117.14"/>
+ <linearGradient id="k" y2="609.51" gradientUnits="userSpaceOnUse" x2="302.86" gradientTransform="matrix(.084497 0 0 .012353 -6.5396 38.471)" y1="366.65" x1="302.86">
+ <stop stop-opacity="0" offset="0"/>
+ <stop offset=".5"/>
+ <stop stop-opacity="0" offset="1"/>
+ </linearGradient>
+ <linearGradient id="e" y2="24.628" gradientUnits="userSpaceOnUse" x2="20.055" gradientTransform="matrix(.57894 0 0 .65062 2.0784 1.9502)" y1="15.298" x1="16.626">
+ <stop stop-color="#fff" offset="0"/>
+ <stop stop-color="#fff" stop-opacity="0" offset="1"/>
+ </linearGradient>
+ <linearGradient id="h" y2="43" gradientUnits="userSpaceOnUse" x2="24" gradientTransform="matrix(.77477 0 0 .61261 -2.5946 1.2973)" y1="5.5641" x1="24">
+ <stop stop-color="#fff" offset="0"/>
+ <stop stop-color="#fff" stop-opacity=".23529" offset=".036262"/>
+ <stop stop-color="#fff" stop-opacity=".15686" offset=".95056"/>
+ <stop stop-color="#fff" stop-opacity=".39216" offset="1"/>
+ </linearGradient>
+ <linearGradient id="g" y2="47.013" gradientUnits="userSpaceOnUse" x2="25.132" gradientTransform="matrix(.85714 0 0 .52148 -4.5714 2.6844)" y1=".98521" x1="25.132">
+ <stop stop-color="#f4f4f4" offset="0"/>
+ <stop stop-color="#dbdbdb" offset="1"/>
+ </linearGradient>
+ <linearGradient id="f" y2="2.9062" gradientUnits="userSpaceOnUse" x2="-51.786" gradientTransform="matrix(.69214 0 0 .48803 46.352 2.1033)" y1="50.786" x1="-51.786">
+ <stop stop-color="#a0a0a0" offset="0"/>
+ <stop stop-color="#bebebe" offset="1"/>
+ </linearGradient>
+ <linearGradient id="j" y2="96.253" gradientUnits="userSpaceOnUse" x2="45.567" gradientTransform="matrix(.32723 0 0 .25356 -38.234 -30.559)" y1="15.27" x1="45.414">
+ <stop stop-color="#262626" offset="0"/>
+ <stop stop-color="#4d4d4d" offset="1"/>
+ </linearGradient>
+ <linearGradient id="i" y2="-40.164" gradientUnits="userSpaceOnUse" x2="-24.098" gradientTransform="matrix(.74286 0 0 .74074 1.8384 4.0069)" y1="-13.091" x1="-24.032">
+ <stop stop-color="#1d1d1d" offset="0"/>
+ <stop offset="1"/>
+ </linearGradient>
+ <linearGradient id="d" y2="-174.97" gradientUnits="userSpaceOnUse" x2="149.98" gradientTransform="matrix(.28088 0 0 .28276 -22.128 49.806)" y1="-104.24" x1="149.98">
+ <stop stop-color="#272727" offset="0"/>
+ <stop stop-color="#454545" offset="1"/>
+ </linearGradient>
+ </defs>
+ <g>
+ <g opacity=".4" transform="matrix(.66667 0 0 .66667 0 -1.6667)" stroke-width=".0225">
+ <rect height="3" width="40.8" y="43" x="3.6" fill="url(#k)"/>
+ <path d="m3.6 43v2.9998c-1.4891 0.006-3.6-0.672-3.6-1.5s1.6618-1.5 3.6-1.5z" fill="url(#b)"/>
+ <path d="m44.4 43v2.9998c1.4891 0.0056 3.6-0.67211 3.6-1.5001 0-0.828-1.6618-1.4997-3.6-1.4997z" fill="url(#c)"/>
+ </g>
+ <path stroke-linejoin="round" d="m0.99997 4c6.8745 0 30 0.0015 30 0.0015l0.000036 23.999h-30v-24z" stroke="url(#f)" stroke-width=".0066667" fill="url(#g)"/>
+ <path stroke-linejoin="round" d="m30.333 27.333h-28.667v-22.667h28.667z" stroke="url(#h)" stroke-linecap="round" stroke-width=".0066667" fill="none"/>
+ </g>
+ <g>
+ <rect transform="matrix(-.99999 .0037552 .0024409 -1 0 0)" rx="0" ry="0" height="19.903" width="25.952" stroke="url(#i)" stroke-linecap="round" y="-26.012" x="-29.015" stroke-width=".0066668" fill="url(#j)"/>
+ <path style="color:#000000" d="m14.458 9.5417c-0.73638 0-1.3333 1.1939-1.3333 2.6667 0 0.24505 0.01072 0.48294 0.04167 0.70833-0.15826-0.15989-0.30816-0.33156-0.5-0.47917-1.1673-0.89808-2.4885-1.1461-2.9375-0.5625-0.44904 0.58363 0.14525 1.7894 1.3125 2.6875 0.22148 0.1704 0.44175 0.29391 0.66667 0.41667-0.25479 0.03257-0.52266 0.08822-0.79167 0.16667-1.4139 0.41232-2.3937 1.3347-2.1875 2.0417 0.20616 0.70693 1.5236 0.93315 2.9375 0.52083 0.2651-0.07731 0.52042-0.1633 0.75-0.27083-0.05604 0.10202-0.11595 0.20204-0.16667 0.3125-2.7782 2.4796-5.0625 7.2292-5.0625 7.2292l0.95833 0.02083c0.5207-1.25 1.8077-3.994 3.7925-6.293-0.28085 1.1684-0.0992 2.2006 0.5 2.4167 0.69271 0.24982 1.667-0.67708 2.1667-2.0625 0.04494-0.12462 0.06976-0.25209 0.10417-0.375 0.05396 0.11891 0.10152 0.23517 0.16667 0.35417 0.70727 1.2918 1.8124 2.062 2.4583 1.7083 0.64591-0.35364 0.58227-1.6874-0.125-2.9792-0.04035-0.07369-0.08227-0.13821-0.125-0.20833 0.07835 0.02437 0.14794 0.04131 0.22917 0.0625 1.4251 0.37181 2.7308 0.10836 2.9167-0.60417 0.18591-0.71253-0.82495-1.5865-2.25-1.9583-0.02183-0.0057-0.04073-0.01544-0.0625-0.02083 0.01921-0.01078 0.04331-0.0098 0.0625-0.02083 1.2754-0.73638 2.014-1.8623 1.6458-2.5-0.36819-0.63772-1.7037-0.54888-2.9792 0.1875-0.40854 0.23587-0.74162 0.50638-1.0208 0.79167 0.10589-0.38234 0.16667-0.82364 0.16667-1.2917 0-1.4728-0.59695-2.6667-1.3333-2.6667zm0.042 4.4583c0.92048 0 1.6667 0.74619 1.6667 1.6667 0 0.92047-0.74619 1.6667-1.6667 1.6667-0.92048 0-1.6667-0.74619-1.6667-1.6667 0-0.921 0.747-1.667 1.667-1.667z" fill="url(#d)"/>
+ <path fill="#d2d2d2" d="m14.458 10.188c-0.73638 0-1.3333 1.1939-1.3333 2.6667 0 0.24504 0.01072 0.48294 0.04167 0.70833-0.15826-0.15989-0.30816-0.33156-0.5-0.47917-1.1673-0.89808-2.4885-1.1461-2.9375-0.5625-0.44904 0.58363 0.14525 1.7894 1.3125 2.6875 0.22148 0.1704 0.44175 0.29391 0.66667 0.41667-0.25479 0.03257-0.52266 0.08822-0.79167 0.16667-1.4139 0.41232-2.3937 1.3347-2.1875 2.0417 0.20616 0.70693 1.5236 0.93315 2.9375 0.52083 0.2651-0.07731 0.52042-0.1633 0.75-0.27083-0.05604 0.10202-0.11595 0.20204-0.16667 0.3125-2.7782 2.479-5.0625 7.229-5.0625 7.229l0.95833 0.02083c0.52039-1.2493 1.8073-3.9927 3.7917-6.2917-0.28085 1.1684-0.0992 2.2006 0.5 2.4167 0.69271 0.24982 1.667-0.67708 2.1667-2.0625 0.04494-0.12462 0.06976-0.25209 0.10417-0.375 0.05396 0.11891 0.10152 0.23517 0.16667 0.35417 0.70727 1.2918 1.8124 2.062 2.4583 1.7083 0.64591-0.35364 0.58227-1.6874-0.125-2.9792-0.04035-0.07369-0.08227-0.13821-0.125-0.20833 0.07835 0.02437 0.14794 0.04131 0.22917 0.0625 1.4251 0.37181 2.7308 0.10836 2.9167-0.60417 0.18591-0.71253-0.82495-1.5865-2.25-1.9583-0.02183-0.0057-0.04073-0.01544-0.0625-0.02083 0.01921-0.01078 0.04331-0.0098 0.0625-0.02083 1.2754-0.73638 2.014-1.8623 1.6458-2.5-0.36819-0.63772-1.7037-0.54888-2.9792 0.1875-0.40854 0.23587-0.74162 0.50638-1.0208 0.79167 0.10589-0.38234 0.16667-0.82364 0.16667-1.2917 0-1.4728-0.59695-2.6667-1.3333-2.6667zm0.042 4.458c0.92048 0 1.6667 0.74619 1.6667 1.6667 0 0.92048-0.74619 1.6667-1.6667 1.6667-0.92048 0-1.6667-0.74619-1.6667-1.6667 0-0.92048 0.74619-1.6667 1.6667-1.6667z"/>
+ <path opacity=".15" d="m2.6667 5.6667 0.0087 12c0.7672-0.012 26.076-4.424 26.658-4.636l-0.000092-7.3644z" fill-rule="evenodd" fill="url(#e)"/>
+ </g>
+</svg>
diff --git a/core/img/filetypes/link.png b/core/img/filetypes/link.png
deleted file mode 100644
index 68f21d30116..00000000000
--- a/core/img/filetypes/link.png
+++ /dev/null
Binary files differ
diff --git a/core/img/filetypes/model.png b/core/img/filetypes/model.png
deleted file mode 100644
index 7851cf34c94..00000000000
--- a/core/img/filetypes/model.png
+++ /dev/null
Binary files differ
diff --git a/core/img/filetypes/ms-excel.png b/core/img/filetypes/ms-excel.png
deleted file mode 100644
index b977d7e52e2..00000000000
--- a/core/img/filetypes/ms-excel.png
+++ /dev/null
Binary files differ
diff --git a/core/img/filetypes/ms-powerpoint.png b/core/img/filetypes/ms-powerpoint.png
deleted file mode 100644
index c4eff0387d5..00000000000
--- a/core/img/filetypes/ms-powerpoint.png
+++ /dev/null
Binary files differ
diff --git a/core/img/filetypes/package-x-generic.png b/core/img/filetypes/package-x-generic.png
new file mode 100644
index 00000000000..e08cc5480ce
--- /dev/null
+++ b/core/img/filetypes/package-x-generic.png
Binary files differ
diff --git a/core/img/filetypes/package-x-generic.svg b/core/img/filetypes/package-x-generic.svg
new file mode 100644
index 00000000000..13ab5b7550e
--- /dev/null
+++ b/core/img/filetypes/package-x-generic.svg
@@ -0,0 +1,62 @@
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="32" width="32" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/">
+ <metadata>
+ <rdf:RDF>
+ <cc:Work rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+ <dc:title/>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <defs>
+ <linearGradient id="linearGradient2886" y2="17.5" spreadMethod="reflect" gradientUnits="userSpaceOnUse" x2="3.0052" gradientTransform="matrix(0.70749164,0,0,0.69402746,-0.97979919,-1.6454802)" y1="17.5" x1="44.995">
+ <stop stop-color="#FFF" stop-opacity="0" offset="0"/>
+ <stop stop-color="#FFF" offset="0.245"/>
+ <stop stop-color="#FFF" offset="0.7735"/>
+ <stop stop-color="#FFF" stop-opacity="0" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient2889" y2="8" gradientUnits="userSpaceOnUse" x2="26" gradientTransform="matrix(0.99999976,0,0,0.71428568,-7.9999942,-1.7142862)" y1="22" x1="26">
+ <stop stop-color="#FFF" offset="0"/>
+ <stop stop-color="#FFF" offset="0.30213"/>
+ <stop stop-color="#FFF" stop-opacity="0.6901961" offset="0.39747"/>
+ <stop stop-color="#FFF" stop-opacity="0" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient2892" y2="45.934" gradientUnits="userSpaceOnUse" x2="43.007" gradientTransform="matrix(0.90694933,0,0,0.81526518,-5.2693853,-5.0638302)" y1="30.555" x1="23.452">
+ <stop stop-color="#FFF" stop-opacity="0" offset="0"/>
+ <stop stop-color="#FFF" stop-opacity="0" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient2895" y2="37.277" gradientUnits="userSpaceOnUse" x2="24.997" gradientTransform="matrix(0.90694933,0,0,1.0807825,-5.2693853,-11.995491)" y1="15.378" x1="24.823">
+ <stop stop-color="#dac197" offset="0"/>
+ <stop stop-color="#c1a581" offset="0.23942"/>
+ <stop stop-color="#dbc298" offset="0.27582"/>
+ <stop stop-color="#a68b60" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient2897" y2="45.042" gradientUnits="userSpaceOnUse" x2="15.464" gradientTransform="matrix(0.70732457,0,0,0.69402746,-0.97578945,-1.3832872)" y1="7.9757" x1="15.464">
+ <stop stop-color="#c9af8b" offset="0"/>
+ <stop stop-color="#ad8757" offset="0.23942"/>
+ <stop stop-color="#c2a57f" offset="0.27582"/>
+ <stop stop-color="#9d7d53" offset="1"/>
+ </linearGradient>
+ <radialGradient id="radialGradient2903" xlink:href="#linearGradient3681" gradientUnits="userSpaceOnUse" cy="41.5" cx="5" gradientTransform="matrix(0.5938225,0,0,1.5366531,-6.6594735,-103.93618)" r="5"/>
+ <linearGradient id="linearGradient3681">
+ <stop stop-color="#000" offset="0"/>
+ <stop stop-color="#000" stop-opacity="0" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient2905" y2="35" gradientUnits="userSpaceOnUse" x2="17.554" gradientTransform="matrix(1.7570316,0,0,1.3969574,-17.394014,-16.411698)" y1="46" x1="17.554">
+ <stop stop-color="#000" stop-opacity="0" offset="0"/>
+ <stop stop-color="#000" offset="0.5"/>
+ <stop stop-color="#000" stop-opacity="0" offset="1"/>
+ </linearGradient>
+ <radialGradient id="radialGradient2983" xlink:href="#linearGradient3681" gradientUnits="userSpaceOnUse" cy="41.5" cx="5" gradientTransform="matrix(0.5938225,0,0,1.5366531,41.140892,-103.93618)" r="5"/>
+ </defs>
+ <g opacity="0.4" transform="matrix(0.6905424,0,0,0.6781532,-0.50408884,-0.4485072)">
+ <rect transform="scale(-1,-1)" height="15.367" width="2.9602" y="-47.848" x="-3.6904" fill="url(#radialGradient2903)"/>
+ <rect height="15.367" width="40.412" y="32.482" x="3.6904" fill="url(#linearGradient2905)"/>
+ <rect transform="scale(1,-1)" height="15.367" width="2.9602" y="-47.848" x="44.11" fill="url(#radialGradient2983)"/>
+ </g>
+ <path stroke-linejoin="miter" d="m5.3977,4.5159,20.864,0c1.218,0,1.7661-0.19887,2.116,0.69403l2.1232,5.29v18.081c0,1.078,0.0728,0.91332-1.1452,0.91332h-26.712c-1.218,0-1.1452,0.16471-1.1452-0.91332v-18.081l2.1232-5.29c0.3401-0.87486,0.55789-0.69403,1.7759-0.69403z" fill-rule="nonzero" stroke-dashoffset="0" display="block" stroke="url(#linearGradient2897)" stroke-linecap="round" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="0.99420077" fill="url(#linearGradient2895)"/>
+ <path opacity="0.50549454" stroke-linejoin="miter" d="m6.0608,5.219,19.56,0c1.1418,0,1.8485,0.38625,2.3268,1.4478l1.6473,4.4555v16.063c0,1.0137-0.57913,1.5241-1.721,1.5241h-23.86c-1.1418,0-1.6076-0.56135-1.6076-1.5751v-16.012l1.5942-4.551c0.31884-0.82269,0.91924-1.3522,2.0611-1.3522z" stroke-dashoffset="0" display="block" stroke="url(#linearGradient2892)" stroke-linecap="butt" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="0.74211526" fill="none"/>
+ <path opacity="0.4" style="enable-background:accumulate;" d="m14,4h4v10h-1.1812-1.2094-0.97359-0.63585v-10z" fill-rule="nonzero" fill="url(#linearGradient2889)"/>
+ <path opacity="0.4" stroke-linejoin="miter" d="m1.5001,10.5,29,0" stroke="url(#linearGradient2886)" stroke-linecap="square" stroke-width="0.99999994px" fill="none"/>
+</svg>
diff --git a/core/img/filetypes/presentation.png b/core/img/filetypes/presentation.png
deleted file mode 100644
index b4aaad9a45c..00000000000
--- a/core/img/filetypes/presentation.png
+++ /dev/null
Binary files differ
diff --git a/core/img/filetypes/readme-2.txt b/core/img/filetypes/readme-2.txt
deleted file mode 100644
index 5a606f9a0bb..00000000000
--- a/core/img/filetypes/readme-2.txt
+++ /dev/null
@@ -1,28 +0,0 @@
-15.02.2012
-
-Following new icons have been added:
-core/img/filetypes/application-vnd.oasis.opendocument.formula.png
-core/img/filetypes/application-vnd.oasis.opendocument.graphics.png
-core/img/filetypes/application-vnd.oasis.opendocument.presentation.png
-core/img/filetypes/application-vnd.oasis.opendocument.spreadsheet.png
-core/img/filetypes/application-vnd.oasis.opendocument.text.png
- Download: http://odftoolkit.org/ODF-Icons#ODF_Icons
- License: Apache 2.0
-
-core/img/filetypes/application-x-7z-compressed.png
-core/img/filetypes/application-x-bzip-compressed-tar.png
-core/img/filetypes/application-x-bzip.png
-core/img/filetypes/application-x-compressed-tar.png
-core/img/filetypes/application-x-deb.png
-core/img/filetypes/application-x-debian-package.png
-core/img/filetypes/application-x-gzip.png
-core/img/filetypes/application-x-lzma-compressed-tar.png
-core/img/filetypes/application-x-rar.png
-core/img/filetypes/application-x-rpm.png
-core/img/filetypes/application-x-tar.png
-core/img/filetypes/application-x-tarz.png
-core/img/filetypes/application-zip.png
- Author: Gomez Hyuuga
- License: Creative Commons Attribution-Share Alike 3.0 Unported License
- Download: http://kde-look.org/content/show.php/?content=101767
-
diff --git a/core/img/filetypes/readme.txt b/core/img/filetypes/readme.txt
deleted file mode 100644
index 400a64d7857..00000000000
--- a/core/img/filetypes/readme.txt
+++ /dev/null
@@ -1,22 +0,0 @@
-Silk icon set 1.3
-
-_________________________________________
-Mark James
-http://www.famfamfam.com/lab/icons/silk/
-_________________________________________
-
-This work is licensed under a
-Creative Commons Attribution 2.5 License.
-[ http://creativecommons.org/licenses/by/2.5/ ]
-
-This means you may use it for any purpose,
-and make any changes you like.
-All I ask is that you include a link back
-to this page in your credits.
-
-Are you using this icon set? Send me an email
-(including a link or picture if available) to
-mjames@gmail.com
-
-Any other questions about this icon set please
-contact mjames@gmail.com \ No newline at end of file
diff --git a/core/img/filetypes/ruby.png b/core/img/filetypes/ruby.png
deleted file mode 100644
index f59b7c4365f..00000000000
--- a/core/img/filetypes/ruby.png
+++ /dev/null
Binary files differ
diff --git a/core/img/filetypes/spreadsheet.png b/core/img/filetypes/spreadsheet.png
deleted file mode 100644
index abcd93689a0..00000000000
--- a/core/img/filetypes/spreadsheet.png
+++ /dev/null
Binary files differ
diff --git a/core/img/filetypes/text-calendar.png b/core/img/filetypes/text-calendar.png
deleted file mode 100644
index 658913852d6..00000000000
--- a/core/img/filetypes/text-calendar.png
+++ /dev/null
Binary files differ
diff --git a/core/img/filetypes/text-code.png b/core/img/filetypes/text-code.png
new file mode 100644
index 00000000000..753d151f538
--- /dev/null
+++ b/core/img/filetypes/text-code.png
Binary files differ
diff --git a/core/img/filetypes/text-code.svg b/core/img/filetypes/text-code.svg
new file mode 100644
index 00000000000..61a5c19f511
--- /dev/null
+++ b/core/img/filetypes/text-code.svg
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="32px" width="32px" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/">
+ <defs>
+ <linearGradient id="g" y2="43" gradientUnits="userSpaceOnUse" x2="24" gradientTransform="matrix(.56757 0 0 .72973 2.3784 -2.5135)" y1="5.5641" x1="24">
+ <stop stop-color="#fff" offset="0"/>
+ <stop stop-color="#fff" stop-opacity=".23529" offset=".036262"/>
+ <stop stop-color="#fff" stop-opacity=".15686" offset=".95056"/>
+ <stop stop-color="#fff" stop-opacity=".39216" offset="1"/>
+ </linearGradient>
+ <linearGradient id="f" y2="47.013" gradientUnits="userSpaceOnUse" x2="25.132" gradientTransform="matrix(.65714 0 0 .63012 .22856 -1.0896)" y1=".98521" x1="25.132">
+ <stop stop-color="#f4f4f4" offset="0"/>
+ <stop stop-color="#dbdbdb" offset="1"/>
+ </linearGradient>
+ <linearGradient id="e" y2="2.9062" gradientUnits="userSpaceOnUse" x2="-51.786" gradientTransform="matrix(.53064 0 0 .58970 39.27 -1.7919)" y1="50.786" x1="-51.786">
+ <stop stop-color="#a0a0a0" offset="0"/>
+ <stop stop-color="#bebebe" offset="1"/>
+ </linearGradient>
+ <radialGradient id="c" xlink:href="#a" gradientUnits="userSpaceOnUse" cy="486.65" cx="605.71" gradientTransform="matrix(.015663 0 0 .0082353 17.61 25.981)" r="117.14"/>
+ <linearGradient id="a">
+ <stop offset="0"/>
+ <stop stop-opacity="0" offset="1"/>
+ </linearGradient>
+ <radialGradient id="b" xlink:href="#a" gradientUnits="userSpaceOnUse" cy="486.65" cx="605.71" gradientTransform="matrix(-.015663 0 0 .0082353 14.39 25.981)" r="117.14"/>
+ <linearGradient id="d" y2="609.51" gradientUnits="userSpaceOnUse" y1="366.65" gradientTransform="matrix(.045769 0 0 .0082353 -.54232 25.981)" x2="302.86" x1="302.86">
+ <stop stop-opacity="0" offset="0"/>
+ <stop offset=".5"/>
+ <stop stop-opacity="0" offset="1"/>
+ </linearGradient>
+ </defs>
+ <g>
+ <g>
+ <rect opacity=".15" height="2" width="22.1" y="29" x="4.95" fill="url(#d)"/>
+ <path opacity=".15" d="m4.95 29v1.9999c-0.80662 0.0038-1.95-0.44807-1.95-1.0001 0-0.552 0.90012-0.99982 1.95-0.99982z" fill="url(#b)"/>
+ <path opacity=".15" d="m27.05 29v1.9999c0.80661 0.0038 1.95-0.44807 1.95-1.0001 0-0.552-0.90012-0.99982-1.95-0.99982z" fill="url(#c)"/>
+ </g>
+ <path stroke-linejoin="round" d="m4.5 0.49996c5.2705 0 23 0.00185 23 0.00185l0.000028 28.998h-23v-29z" stroke="url(#e)" stroke-width=".99992" fill="url(#f)"/>
+ </g>
+ <path stroke-linejoin="round" d="m26.5 28.5h-21v-27h21z" stroke="url(#g)" stroke-linecap="round" fill="none"/>
+ <path d="m8 5.505h2.3438zm2.6875 0h2.1875zm2.5312 0h1.9375zm2.25 0h0.84375zm-7.4688 2h3.6562zm4.0625 0h1.75zm2.0625 0h0.875zm1.2188 0h1.5938zm1.9375 0h1.625zm-9.282 1.995h4.2812zm4.625 0h4.625zm1.703 8h0.84375zm1.1875 0h1.875zm2.25 0h4.9062zm-2.6875 2.075h1.8438zm-1.028 5.925h2.9688zm3.8562 0h1.1875z" stroke="#89adc2" stroke-width="1px" fill="none"/>
+ <g transform="translate(27.06 6.7752)">
+ <path d="m-15.57 10.277h0.93368v1h-0.93368z" fill="#d48eb3"/>
+ <path d="m-14.483 10.277h0.41011v1h-0.41011z" fill="#d48eb3"/>
+ <path opacity=".7" d="m-19.06 16.277h1.9967v1h-1.9967v-1z" fill="#666"/>
+ <path opacity=".7" d="m-16.907 16.277h2.1395v1h-2.1395v-1z" fill="#666"/>
+ <g fill="#d48eb3">
+ <path d="m-14.611 16.277h0.85436v1h-0.85436v-1z"/>
+ <path d="m-13.6 16.277h2.0125v1h-2.0125v-1z"/>
+ <path d="m-9.8967 16.277h0.53704v1h-0.53704v-1z"/>
+ <path d="m-11.431 16.277h1.3779v1h-1.3779v-1z"/>
+ <path d="m-9.2031 16.277h0.31492v1h-0.31492v-1z"/>
+ <path d="m-8.7317 16.277h0.85436v1h-0.85436v-1z"/>
+ <path d="m-16.466 12.277h2.3933v1h-2.3933z"/>
+ </g>
+ <path d="m-19.06 14.277h1.8063v1h-1.8063v-1z" fill="#94d48e"/>
+ <path d="m-17.105 14.277h0.56877v1h-0.56877v-1z" fill="#94d48e"/>
+ <path opacity=".7" d="m-16.387 14.277h1.2986v1h-1.2986v-1z" fill="#666"/>
+ <path opacity=".7" d="m-14.939 14.277h0.88609v1h-0.88609v-1z" fill="#666"/>
+ <path d="m-19.06 18.277h1.4875v1h-1.4875v-1z" fill="#de6161"/>
+ <path opacity=".7" d="m-17.334 18.277h2.6472v1h-2.6472v-1z" fill="#666"/>
+ </g>
+ <g>
+ <path d="m8 12v1h3.0625v-1h-3.062zm0 2v1h3.0938v-1h-3.094z" fill="#b78ed4"/>
+ <path d="m12.406 12v1h5.594v-1zm0.03125 2v1h5.0938v-1z" fill="#d48eb3"/>
+ <path d="m8 17v1h2.5312v-1zm0 2.031v0.969h2.2188v-0.96875z" fill="#94d48e"/>
+ </g>
+</svg>
diff --git a/core/img/filetypes/text-css.png b/core/img/filetypes/text-css.png
deleted file mode 100644
index 23f3101811f..00000000000
--- a/core/img/filetypes/text-css.png
+++ /dev/null
Binary files differ
diff --git a/core/img/filetypes/text-html.png b/core/img/filetypes/text-html.png
index 55d1072eafd..dd17b750103 100644
--- a/core/img/filetypes/text-html.png
+++ b/core/img/filetypes/text-html.png
Binary files differ
diff --git a/core/img/filetypes/text-html.svg b/core/img/filetypes/text-html.svg
new file mode 100644
index 00000000000..c41964738d0
--- /dev/null
+++ b/core/img/filetypes/text-html.svg
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="32px" width="32px" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/">
+ <defs>
+ <linearGradient id="g" y2="43" gradientUnits="userSpaceOnUse" x2="24" gradientTransform="matrix(.56757 0 0 .72973 2.3784 -2.5135)" y1="5.5641" x1="24">
+ <stop stop-color="#fff" offset="0"/>
+ <stop stop-color="#fff" stop-opacity=".23529" offset=".036262"/>
+ <stop stop-color="#fff" stop-opacity=".15686" offset=".95056"/>
+ <stop stop-color="#fff" stop-opacity=".39216" offset="1"/>
+ </linearGradient>
+ <linearGradient id="f" y2="47.013" gradientUnits="userSpaceOnUse" x2="25.132" gradientTransform="matrix(.65714 0 0 .63012 .22856 -1.0896)" y1=".98521" x1="25.132">
+ <stop stop-color="#f4f4f4" offset="0"/>
+ <stop stop-color="#dbdbdb" offset="1"/>
+ </linearGradient>
+ <linearGradient id="e" y2="2.9062" gradientUnits="userSpaceOnUse" x2="-51.786" gradientTransform="matrix(.53064 0 0 .58970 39.27 -1.7919)" y1="50.786" x1="-51.786">
+ <stop stop-color="#a0a0a0" offset="0"/>
+ <stop stop-color="#bebebe" offset="1"/>
+ </linearGradient>
+ <radialGradient id="c" xlink:href="#a" gradientUnits="userSpaceOnUse" cy="486.65" cx="605.71" gradientTransform="matrix(.015663 0 0 .0082353 17.61 25.981)" r="117.14"/>
+ <linearGradient id="a">
+ <stop offset="0"/>
+ <stop stop-opacity="0" offset="1"/>
+ </linearGradient>
+ <radialGradient id="b" xlink:href="#a" gradientUnits="userSpaceOnUse" cy="486.65" cx="605.71" gradientTransform="matrix(-.015663 0 0 .0082353 14.39 25.981)" r="117.14"/>
+ <linearGradient id="d" y2="609.51" gradientUnits="userSpaceOnUse" y1="366.65" gradientTransform="matrix(.045769 0 0 .0082353 -.54232 25.981)" x2="302.86" x1="302.86">
+ <stop stop-opacity="0" offset="0"/>
+ <stop offset=".5"/>
+ <stop stop-opacity="0" offset="1"/>
+ </linearGradient>
+ </defs>
+ <g>
+ <g>
+ <rect opacity=".15" height="2" width="22.1" y="29" x="4.95" fill="url(#d)"/>
+ <path opacity=".15" d="m4.95 29v1.9999c-0.80662 0.0038-1.95-0.44807-1.95-1.0001 0-0.552 0.90012-0.99982 1.95-0.99982z" fill="url(#b)"/>
+ <path opacity=".15" d="m27.05 29v1.9999c0.80661 0.0038 1.95-0.44807 1.95-1.0001 0-0.552-0.90012-0.99982-1.95-0.99982z" fill="url(#c)"/>
+ </g>
+ <path stroke-linejoin="round" d="m4.5 0.49996c5.2705 0 23 0.00185 23 0.00185l0.000028 28.998h-23v-29z" stroke="url(#e)" stroke-width=".99992" fill="url(#f)"/>
+ </g>
+ <path stroke-linejoin="round" d="m26.5 28.5h-21v-27h21z" stroke="url(#g)" stroke-linecap="round" fill="none"/>
+ <g fill="#fff">
+ <rect opacity=".6" style="color:#000000" fill-rule="evenodd" transform="matrix(1 0 -.42525 .90508 0 0)" height="8.839" width="1.2412" y="14.363" x="23.867"/>
+ <path opacity=".6" d="m23.142 16.907-2.939-3.68 0.979-1.227 3.818 4.907-3.919 5.093-1.081-1.12 3.142-3.973z"/>
+ <path opacity=".6" d="m8.8581 16.907 2.9389-3.68-0.979-1.227-3.818 4.907 3.919 5.093 1.081-1.12-3.1419-3.973z"/>
+ </g>
+ <g>
+ <path opacity=".4" d="m8.8581 15.907 2.9389-3.68-0.979-1.227-3.818 4.907 3.919 5.093 1.081-1.12-3.1419-3.973z" fill="#666"/>
+ <rect opacity=".4" style="color:#000000" fill-rule="evenodd" transform="matrix(1 0 -.42525 .90508 0 0)" height="8.839" width="1.2412" y="13.259" x="23.397"/>
+ <path opacity=".4" d="m23.142 15.907-2.939-3.68 0.979-1.227 3.818 4.907-3.919 5.093-1.081-1.12 3.142-3.973z" fill="#666"/>
+ </g>
+</svg>
diff --git a/core/img/filetypes/text-vcard.png b/core/img/filetypes/text-vcard.png
index c02f315d207..2e52d1ecb3a 100644
--- a/core/img/filetypes/text-vcard.png
+++ b/core/img/filetypes/text-vcard.png
Binary files differ
diff --git a/core/img/filetypes/text-vcard.svg b/core/img/filetypes/text-vcard.svg
new file mode 100644
index 00000000000..27054be57e6
--- /dev/null
+++ b/core/img/filetypes/text-vcard.svg
@@ -0,0 +1,60 @@
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="32" width="32" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/">
+ <defs>
+ <linearGradient id="linearGradient5060">
+ <stop stop-color="#000" offset="0"/>
+ <stop stop-color="#000" stop-opacity="0" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient3013" y2="43" gradientUnits="userSpaceOnUse" x2="24" gradientTransform="matrix(0.56756757,0,0,0.72972971,2.378382,-2.5135063)" y1="5.5641" x1="24">
+ <stop stop-color="#FFF" offset="0"/>
+ <stop stop-color="#FFF" stop-opacity="0.23529412" offset="0.036262"/>
+ <stop stop-color="#FFF" stop-opacity="0.15686275" offset="0.95056"/>
+ <stop stop-color="#FFF" stop-opacity="0.39215687" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient3016" y2="47.013" gradientUnits="userSpaceOnUse" x2="25.132" gradientTransform="matrix(0.65714319,0,0,0.63012397,0.228556,-1.0896478)" y1="0.98521" x1="25.132">
+ <stop stop-color="#f4f4f4" offset="0"/>
+ <stop stop-color="#dbdbdb" offset="1"/>
+ </linearGradient>
+ <radialGradient id="radialGradient3021" xlink:href="#linearGradient5060" gradientUnits="userSpaceOnUse" cy="486.65" cx="605.71" gradientTransform="matrix(0.01566318,0,0,0.00823529,17.610433,25.980565)" r="117.14"/>
+ <radialGradient id="radialGradient3024" xlink:href="#linearGradient5060" gradientUnits="userSpaceOnUse" cy="486.65" cx="605.71" gradientTransform="matrix(-0.01566318,0,0,0.00823529,14.389566,25.980565)" r="117.14"/>
+ <linearGradient id="linearGradient3027" y2="609.51" gradientUnits="userSpaceOnUse" x2="302.86" gradientTransform="matrix(0.04576928,0,0,0.00823529,-0.5423243,25.980548)" y1="366.65" x1="302.86">
+ <stop stop-color="#000" stop-opacity="0" offset="0"/>
+ <stop stop-color="#000" offset="0.5"/>
+ <stop stop-color="#000" stop-opacity="0" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient3032" y2="32.596" gradientUnits="userSpaceOnUse" x2="24" gradientTransform="matrix(0.502671,0,0,0.64629877,2.711822,0.7961773)" y1="14.916" x1="24">
+ <stop stop-color="#FFF" offset="0"/>
+ <stop stop-color="#FFF" stop-opacity="0.23529412" offset="0.12291"/>
+ <stop stop-color="#FFF" stop-opacity="0.15686275" offset="0.93706"/>
+ <stop stop-color="#FFF" stop-opacity="0.39215687" offset="1"/>
+ </linearGradient>
+ <radialGradient id="radialGradient3035" gradientUnits="userSpaceOnUse" cy="8.4498" cx="10.904" gradientTransform="matrix(0,0.96917483,-0.82965977,0,23.014205,-1.785221)" r="20">
+ <stop stop-color="#5f5f5f" offset="0"/>
+ <stop stop-color="#4f4f4f" offset="0.26238"/>
+ <stop stop-color="#3b3b3b" offset="0.70495"/>
+ <stop stop-color="#2b2b2b" offset="1"/>
+ </radialGradient>
+ <linearGradient id="linearGradient3037" y2="3.899" gradientUnits="userSpaceOnUse" x2="24" gradientTransform="matrix(0.65627449,0,0,0.6892852,0.2531134,-0.2111202)" y1="44" x1="24">
+ <stop stop-color="#272727" offset="0"/>
+ <stop stop-color="#454545" offset="1"/>
+ </linearGradient>
+ </defs>
+ <metadata>
+ <rdf:RDF>
+ <cc:Work rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+ <dc:title/>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <rect opacity="0.15" fill-rule="nonzero" height="2" width="22.1" y="29" x="4.95" fill="url(#linearGradient3027)"/>
+ <path opacity="0.15" d="m4.95,29v1.9999c-0.80662,0.0038-1.95-0.44807-1.95-1.0001,0-0.552,0.90012-0.99982,1.95-0.99982z" fill-rule="nonzero" fill="url(#radialGradient3024)"/>
+ <path opacity="0.15" d="m27.05,29v1.9999c0.80661,0.0038,1.95-0.44807,1.95-1.0001,0-0.552-0.90012-0.99982-1.95-0.99982z" fill-rule="nonzero" fill="url(#radialGradient3021)"/>
+ <path d="m4.5,0.49996c5.2705,0,23,0.00185,23,0.00185l0.000028,28.998h-23v-29z" fill="url(#linearGradient3016)"/>
+ <path stroke-linejoin="round" d="m26.5,28.5-21,0,0-27,21,0z" stroke-dashoffset="0" stroke="url(#linearGradient3013)" stroke-linecap="round" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="0.99999994" fill="none"/>
+ <path stroke-linejoin="round" opacity="0.3" d="m4.5,0.49996c5.2705,0,23,0.00185,23,0.00185l0.000028,28.998h-23v-29z" stroke-dashoffset="0" stroke="#000" stroke-linecap="butt" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="0.99992186000000005" fill="none"/>
+ <path opacity="0.4" style="enable-background:accumulate;" d="m15.942,10c-0.43193-0.00263-0.8112,0.0802-1.0693,0.25173-0.33304,0.22128-0.47989,0.24937-0.57286,0.09682-0.08897-0.14595-0.16986-0.12965-0.24824,0.07745-0.06628,0.17515-0.20484,0.25511-0.36281,0.19364-0.15062-0.05862-0.21239-0.03973-0.15276,0.05809,0.05729,0.09402,0.02929,0.17427-0.05728,0.17427s-0.36382,0.2966-0.61105,0.65837c-0.39411,0.57668-0.45839,0.84025-0.45829,2.0526,0.000055,0.76062,0.07517,1.5012-0.15276,1.5491-0.13368,0.02806-0.12095,0.55674-0.05728,1.1037,0.08325,0.71528,0.20761,1.0657,0.55377,1.3942,0.53917,0.51164,1.0312,1.3973,1.0312,1.8783,0,0.65888-1.5163,1.812-3.7844,2.8648l-0.001,1.647h11.999l0.001-1.818c-1.8832-0.86856-3.4418-2.0704-3.4418-2.6933,0-0.47982,0.47343-1.3672,1.0121-1.8783,0.34616-0.32849,0.48961-0.6789,0.57286-1.3942,0.06366-0.54699,0.07227-1.0601-0.05728-1.1037-0.17854-0.06014-0.17188-0.79471-0.17188-1.5491-0.000001-1.0814-0.06787-1.4838-0.34372-1.9364-0.54889-0.9006-2.3323-1.6188-3.6281-1.6265z" fill-rule="evenodd" fill="#FFF"/>
+ <path stroke-linejoin="round" style="enable-background:accumulate;color:#000000;" d="m15.942,9.5292c-0.6255-0.1462-1.3748,0.30347-1.3748,0.30347l-0.6729,0.33632s-0.72918,0.63672-0.73698,0.85303c-0.41044,0.72679-0.22336,1.6075-0.26498,2.4026,0.03999,0.68261-0.43452,1.1887-0.1965,1.8808-0.03472,0.66822,0.51558,1.0601,0.86937,1.5434,0.39816,0.61145,0.93889,1.4093,0.51306,2.141-0.78719,1.1416-2.0959,1.7466-3.2907,2.3686-0.4059,0.04157-0.25309,0.43145-0.28027,0.70942-0.000647,0.22106-0.07334,0.51408,0.25088,0.41058h10.742v-1.1474c-1.1567-0.58611-2.3639-1.2139-3.1747-2.2562-0.48709-0.69808,0.0011-1.5369,0.38553-2.1576,0.2993-0.51701,0.92489-0.84736,0.93383-1.5066,0.23004-0.66882-0.1171-1.2225-0.18189-1.8604-0.08471-0.84572,0.14453-1.7705-0.25914-2.5574-0.54732-0.80518-1.5498-1.1578-2.4596-1.3737-0.26389-0.053253-0.53234-0.088037-0.80184-0.09011z" fill-rule="nonzero" stroke-dashoffset="0" stroke="url(#linearGradient3037)" stroke-linecap="round" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="0.99999994" fill="url(#radialGradient3035)"/>
+ <path opacity="0.5" stroke-linejoin="round" style="enable-background:accumulate;color:#000000;" d="m15.797,10.502c-0.10657-0.01105-0.27196,0.03765-0.51076,0.15329-0.17676,0.08559-0.43781,0.15994-0.7045,0.21077l0.01761,0.01916c-0.0033,0.002-0.1837,0.11082-0.29941,0.19161-0.02225,0.01554-0.034,0.0057-0.05284,0.01916-0.0059,0.0083-0.01447,0.01546-0.01761,0.01916-0.07635,0.08979-0.22535,0.27657-0.33464,0.47903-0.11417,0.2115-0.16633,0.4404-0.15851,0.49819a0.52517,0.57134,0,0,1,0.01761,0.13413c-0.05039,0.58523,0.11775,1.3768-0.1409,2.261a0.52517,0.57134,0,0,1,-0.035,0.115c-0.09831,0.18139-0.02434,0.78987,0.1409,1.2455,0.54115,0.61932,1.1974,1.4444,1.18,2.5676a0.52517,0.57134,0,0,1,-0.0176,0.13412c-0.28591,1.0661-1.1672,1.5797-1.726,2.0119a0.52517,0.57134,0,0,1,-0.01761,0.01916c-0.524,0.378-1.084,0.623-1.637,0.919h9c-1.027-0.52495-2.0438-1.1451-2.8532-2.1077-0.0057-0.0069-0.0119-0.01231-0.01761-0.01916-0.37728-0.42677-0.45342-1.0116-0.36986-1.4754,0.08208-0.45566,0.27492-0.83741,0.45793-1.1497,0.0063-0.01067,0.01139-0.02783,0.01761-0.03833,0.18432-0.36085,0.41144-0.60748,0.5636-0.80477,0.15849-0.2055,0.22438-0.31795,0.22896-0.47903a0.52517,0.57134,0,0,1,0.03523,-0.15329c0.05659-0.18584,0.03263-0.33442-0.01761-0.57483-0.04928-0.23579-0.14777-0.55211-0.17612-0.9389-0.000556-0.0075,0.000501-0.01151,0-0.01916-0.04688-0.50185,0.0086-0.95368,0-1.3413-0.0086-0.3855-0.07421-0.66627-0.22896-0.90057-0.0021-0.0024,0.0021-0.01679,0-0.01916-0.54915-0.61896-1.4523-0.93653-2.3073-0.97721a0.52517,0.57134,0,0,1,-0.03523,0z" stroke-dashoffset="0" stroke="url(#linearGradient3032)" stroke-linecap="round" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="1" fill="none"/>
+</svg>
diff --git a/core/img/filetypes/text-x-c++.png b/core/img/filetypes/text-x-c++.png
deleted file mode 100644
index a87cf847cb7..00000000000
--- a/core/img/filetypes/text-x-c++.png
+++ /dev/null
Binary files differ
diff --git a/core/img/filetypes/text-x-c.png b/core/img/filetypes/text-x-c.png
index 34a05cccf06..b9edd1e866e 100644
--- a/core/img/filetypes/text-x-c.png
+++ b/core/img/filetypes/text-x-c.png
Binary files differ
diff --git a/core/img/filetypes/text-x-c.svg b/core/img/filetypes/text-x-c.svg
new file mode 100644
index 00000000000..35a6a0cdfe2
--- /dev/null
+++ b/core/img/filetypes/text-x-c.svg
@@ -0,0 +1,75 @@
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="32.002" width="32" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/">
+ <defs>
+ <linearGradient id="linearGradient3161" y2="14" xlink:href="#linearGradient3830" gradientUnits="userSpaceOnUse" x2="25" gradientTransform="translate(0,-4.6093084e-4)" y1="43" x1="25"/>
+ <linearGradient id="linearGradient3830">
+ <stop stop-color="#FFF" offset="0"/>
+ <stop stop-color="#FFF" stop-opacity="0" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient3164" y2="28.585" xlink:href="#linearGradient3830" gradientUnits="userSpaceOnUse" x2="30" gradientTransform="translate(0,-4.6093084e-4)" y1="9.9828" x1="30"/>
+ <radialGradient id="radialGradient3167" fx="7.2758" gradientUnits="userSpaceOnUse" cy="9.9571" cx="7.8061" gradientTransform="matrix(-1.6167311e-7,6.6018651,-8.0922115,-1.9817022e-7,104.56429,-60.072946)" r="12.672">
+ <stop stop-color="#90dbec" offset="0"/>
+ <stop stop-color="#55c1ec" offset="0.26238"/>
+ <stop stop-color="#3689e6" offset="0.70495"/>
+ <stop stop-color="#2b63a0" offset="1"/>
+ </radialGradient>
+ <linearGradient id="linearGradient3169" y2="0.91791" gradientUnits="userSpaceOnUse" x2="25" gradientTransform="translate(0,-4.6093084e-4)" y1="47.935" x1="25">
+ <stop stop-color="#185f9a" offset="0"/>
+ <stop stop-color="#599ec9" offset="1"/>
+ </linearGradient>
+ <radialGradient id="radialGradient3172" gradientUnits="userSpaceOnUse" cy="63.965" cx="15.116" gradientTransform="matrix(1.139227,0,0,0.4068666,6.7799989,7.7466159)" r="12.289">
+ <stop stop-color="#000" offset="0"/>
+ <stop stop-color="#000" stop-opacity="0" offset="1"/>
+ </radialGradient>
+ <linearGradient id="linearGradient3243" y2="0.50543" gradientUnits="userSpaceOnUse" x2="21.253" gradientTransform="translate(0,0.99953907)" y1="44.301" x1="21.253">
+ <stop stop-color="#AAA" offset="0"/>
+ <stop stop-color="#c8c8c8" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient3988" y2="43" gradientUnits="userSpaceOnUse" x2="24" gradientTransform="matrix(0.89189189,0,0,1.1351351,2.5945999,-4.7432314)" y1="5.5641" x1="24">
+ <stop stop-color="#FFF" offset="0"/>
+ <stop stop-color="#FFF" stop-opacity="0.23529412" offset="0.036262"/>
+ <stop stop-color="#FFF" stop-opacity="0.15686275" offset="0.95056"/>
+ <stop stop-color="#FFF" stop-opacity="0.39215687" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient3322" y2="47.013" gradientUnits="userSpaceOnUse" x2="25.132" gradientTransform="matrix(1,0,0,0.9561695,-9.9999999e-8,-1.9149218)" y1="0.98521" x1="25.132">
+ <stop stop-color="#f4f4f4" offset="0"/>
+ <stop stop-color="#dbdbdb" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient3324" y2="2.9062" gradientUnits="userSpaceOnUse" x2="-51.786" gradientTransform="matrix(0.8074968,0,0,0.8948322,59.410232,-2.9805531)" y1="50.786" x1="-51.786">
+ <stop stop-color="#a0a0a0" offset="0"/>
+ <stop stop-color="#bebebe" offset="1"/>
+ </linearGradient>
+ <radialGradient id="radialGradient3327" xlink:href="#linearGradient5060" gradientUnits="userSpaceOnUse" cy="486.65" cx="605.71" gradientTransform="matrix(0.02303995,0,0,0.01470022,26.360882,37.040176)" r="117.14"/>
+ <linearGradient id="linearGradient5060">
+ <stop stop-color="#000" offset="0"/>
+ <stop stop-color="#000" stop-opacity="0" offset="1"/>
+ </linearGradient>
+ <radialGradient id="radialGradient3330" xlink:href="#linearGradient5060" gradientUnits="userSpaceOnUse" cy="486.65" cx="605.71" gradientTransform="matrix(-0.02303994,0,0,0.01470022,21.62311,37.040176)" r="117.14"/>
+ <linearGradient id="linearGradient4091" y2="609.51" gradientUnits="userSpaceOnUse" x2="302.86" gradientTransform="matrix(0.06732488,0,0,0.01470022,-0.3411391,37.040146)" y1="366.65" x1="302.86">
+ <stop stop-color="#000" stop-opacity="0" offset="0"/>
+ <stop stop-color="#000" offset="0.5"/>
+ <stop stop-color="#000" stop-opacity="0" offset="1"/>
+ </linearGradient>
+ </defs>
+ <metadata>
+ <rdf:RDF>
+ <cc:Work rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+ <dc:title/>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g transform="matrix(0.66666667,0,0,0.66666667,0,0.00184133)">
+ <rect opacity="0.3" fill-rule="nonzero" height="3.5701" width="32.508" y="42.43" x="7.7378" fill="url(#linearGradient4091)"/>
+ <path opacity="0.3" d="m7.7378,42.43v3.5699c-1.1865,0.0067-2.8684-0.79982-2.8684-1.7852,0-0.98533,1.324-1.7847,2.8684-1.7847z" fill-rule="nonzero" fill="url(#radialGradient3330)"/>
+ <path opacity="0.3" d="m40.246,42.43v3.5699c1.1865,0.0067,2.8684-0.79982,2.8684-1.7852,0-0.98533-1.324-1.7847-2.8684-1.7847z" fill-rule="nonzero" fill="url(#radialGradient3327)"/>
+ <path stroke-linejoin="round" d="M6.5,0.4972c8.02,0,35,0.0028,35,0.0028l0.000042,44.003h-35v-44.006z" stroke-dashoffset="0" stroke="url(#linearGradient3324)" stroke-linecap="butt" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="0.99992186" fill="url(#linearGradient3322)"/>
+ <path stroke-linejoin="round" d="m40.5,43.5-33,0,0-42,33,0z" stroke-dashoffset="0" stroke="url(#linearGradient3988)" stroke-linecap="round" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="1" fill="none"/>
+ <path d="m11,6.9995,0,1,2.375,0,0-1zm2.6875,0,0,1,2.25,0,0-1zm2.5625,0,0,1,1.9688,0,0-1zm2.2812,0,0,1,0.875,0,0-1zm1.1875,0,0,1,1.9375,0,0-1zm2.2812,0,0,1,5,0,0-1zm-11,2,0,1,3.7812,0,0-1zm4.1562,0,0,1,1.8125,0,0-1zm2.1562,0,0,1,0.84375,0,0-1zm1.2188,0,0,1,1.625,0,0-1zm2,0,0,1,1.625,0,0-1zm1.9688,0,0,1,2.6562,0,0-1zm3.0312,0,0,1,3.4688,0,0-1zm-16.904,2.0005v1h4.1875v-1zm4.5,0,0,1,4.5,0,0-1zm-4.5,2,0,1,2.3125,0,0-1zm2.625,0,0,1,2.1562,0,0-1zm2.4688,0,0,1,1.9062,0,0-1zm-5.0938,3,0,1,3.0625,0,0-1zm3.4062,0,0,1,5.5938,0,0-1zm-3.4062,2,0,1,3.0938,0,0-1zm3.4375,0,0,1,5.0938,0,0-1c-2.793,2.816-6.7194,8.5464-5.0938,0zm5.4688,0,0,1,1.9062,0,0-1zm2.2188,0,0,1,1.9062,0,0-1zm2.2188,0,0,1,2.75,0,0-1zm3.0938,0,0,1,0.5625,0,0-1zm-16.438,3,0,1,2.3438,0,0-1zm0,2,0,1,1,0,0-1zm0,2,0,1,2.75,0,0-1zm9,0,0,1,2.3438,0,0-1zm2.6562,0,0,1,2.1875,0,0-1zm2.5,0,0,1,1.8438,0,0-1zm-14.156,2,0,1,2.9375,0,0-1zm9,0,0,1,1.875,0,0-1zm2.1875,0,0,1,4.8125,0,0-1zm5.125,0,0,1,3.6875,0,0-1zm-16.312,2,0,1,2.5312,0,0-1zm9,0,0,1,2.4375,0,0-1zm2.7812,0,0,1,4.2812,0,0-1zm4.5938,0,0,1,2.9375,0,0-1zm-16.376,2.156v0.96875h2.2188v-0.96875zm2.5625,0,0,0.96875,2.125,0,0-0.96875zm-2.562,2.844v1h4.2812v-1zm4.625,0,0,1,4.5938,0,0-1zm11.75,0,0,1,2.9688,0,0-1zm3.2812,0,0,1,1.1562,0,0-1zm1.5,0,0,1,0.6875,0,0-1zm1,0,0,1,1.8438,0,0-1zm-22.156,2,0,1,3.6875,0,0-1zm3.9688,0,0,1,1.7812,0,0-1zm2.1562,0,0,1,0.8125,0,0-1zm1.0312,0,0,1,1.625,0,0-1zm1.875,0,0,1,1.625,0,0-1zm2.125,0,0,1,2.5938,0,0-1zm2.9062,0,0,1,3.375,0,0-1zm3.8438,0,0,1,2.2812,0,0-1zm2.5625,0,0,1,0.53125,0,0-1zm-20.469,2,0,1,3.0312,0,0-1zm3.3438,0,0,1,3.3438,0,0-1zm5.5938,0,0,1,2.4375,0,0-1zm2.75,0,0,1,2.25,0,0-1zm2.5938,0,0,1,1.9375,0,0-1zm2.25,0,0,1,3.0938,0,0-1zm3.4375,0,0,1,5.0312,0,0-1z" fill="url(#linearGradient3243)"/>
+ <path opacity="0.3" d="M38,33.772c0.002,2.762-6.267,5.001-14,5.001s-14.002-2.239-14-5.001c-0.0015-2.762,6.267-5.001,14-5.001,7.7331,0,14.002,2.2392,14,5.001z" fill="url(#radialGradient3172)"/>
+ <path stroke-linejoin="round" style="enable-background:accumulate;" d="m24,10.5c-6.9,0-12.5,5.6-12.5,12.5s5.6,12.5,12.5,12.5c5.1254,0,10-3.5,11.553-8h-5.536c-1.3314,1.7506-3.794,3-6.0175,3-4.14,0-7.5-3.36-7.5-7.5-0.000002-4.14,3.36-7.5,7.5-7.5,2.6674,0,5.1835,1.9004,6.5132,4h4.9491c-0.46238-4.5-5.9604-9-11.462-9z" fill-rule="nonzero" stroke-dashoffset="0" stroke="url(#linearGradient3169)" stroke-linecap="square" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="1" fill="url(#radialGradient3167)"/>
+ <path opacity="0.5" stroke-linejoin="miter" style="enable-background:accumulate;" d="m34.125,17.937c-1.85-3.7875-5.876-6.4337-10.125-6.375-4.4493-0.06217-8.7511,2.7592-10.485,6.8537-1.8453,4.1071-0.95053,9.2567,2.2024,12.479,2.1403,2.3057,5.2836,3.5679,8.4064,3.5424" stroke-dashoffset="0" stroke="url(#linearGradient3164)" stroke-linecap="square" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="1" fill="none"/>
+ <path opacity="0.5" stroke-linejoin="miter" style="enable-background:accumulate;" d="m23.561,14.448c-4.0197,0.13299-7.6119,3.4686-8.0541,7.4638-0.56609,3.8529,1.8882,7.8464,5.5554,9.1288,3.0106,1.1697,7.3287,0.17216,9.3618-2.5497h4.5763" stroke-dashoffset="0" stroke="url(#linearGradient3161)" stroke-linecap="square" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="1" fill="none"/>
+ </g>
+</svg>
diff --git a/core/img/filetypes/text-x-csharp.png b/core/img/filetypes/text-x-csharp.png
deleted file mode 100644
index ffb8fc932f3..00000000000
--- a/core/img/filetypes/text-x-csharp.png
+++ /dev/null
Binary files differ
diff --git a/core/img/filetypes/text-x-h.png b/core/img/filetypes/text-x-h.png
index e902abb0767..37a8805b506 100644
--- a/core/img/filetypes/text-x-h.png
+++ b/core/img/filetypes/text-x-h.png
Binary files differ
diff --git a/core/img/filetypes/text-x-h.svg b/core/img/filetypes/text-x-h.svg
new file mode 100644
index 00000000000..38ed04690fc
--- /dev/null
+++ b/core/img/filetypes/text-x-h.svg
@@ -0,0 +1,79 @@
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="32.002" width="32" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/">
+ <defs>
+ <linearGradient id="linearGradient3471" y2="36.456" gradientUnits="userSpaceOnUse" x2="21.038" gradientTransform="matrix(0.58514285,0,0,0.60235363,3.8713637,10.911281)" y1="29.845" x1="21.038">
+ <stop stop-color="#FFF" offset="0"/>
+ <stop stop-color="#FFF" stop-opacity="0" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient4596-7" y2="34.607" gradientUnits="userSpaceOnUse" x2="26.884" gradientTransform="translate(4.1160985,-1.6069009)" y1="12.607" x1="26.884">
+ <stop stop-color="#FFF" offset="0"/>
+ <stop stop-color="#FFF" stop-opacity="0.23529412" offset="0.090909"/>
+ <stop stop-color="#FFF" stop-opacity="0.15686275" offset="0.95455"/>
+ <stop stop-color="#FFF" stop-opacity="0.39215687" offset="1"/>
+ </linearGradient>
+ <radialGradient id="radialGradient3394" fx="9.3065" xlink:href="#linearGradient3242-6-6" gradientUnits="userSpaceOnUse" cy="10.244" cx="9.8368" gradientTransform="matrix(0,7.1403659,-7.3430977,0,93.723115,-67.567174)" r="12.672"/>
+ <linearGradient id="linearGradient3242-6-6">
+ <stop stop-color="#f8b17e" offset="0"/>
+ <stop stop-color="#e35d4f" offset="0.26238"/>
+ <stop stop-color="#c6262e" offset="0.66094"/>
+ <stop stop-color="#690b54" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient3396" y2="4.9451" xlink:href="#linearGradient2490-6-6" gradientUnits="userSpaceOnUse" x2="25" gradientTransform="matrix(0.98529211,0,0,1.0090832,-3.0293205,-2.6661519)" y1="49.945" x1="25"/>
+ <linearGradient id="linearGradient2490-6-6">
+ <stop stop-color="#791235" offset="0"/>
+ <stop stop-color="#dd3b27" offset="1"/>
+ </linearGradient>
+ <radialGradient id="radialGradient3399" fx="9.3065" xlink:href="#linearGradient3242-6-6" gradientUnits="userSpaceOnUse" cy="10.244" cx="9.8368" gradientTransform="matrix(0,7.1403659,-7.3430977,0,93.723115,-67.168075)" r="12.672"/>
+ <linearGradient id="linearGradient3401" y2="4.9451" xlink:href="#linearGradient2490-6-6" gradientUnits="userSpaceOnUse" x2="25" gradientTransform="matrix(0.98529211,0,0,1.0090832,-3.0293205,-2.2670529)" y1="49.945" x1="25"/>
+ <linearGradient id="linearGradient3797" y2="0.4976" gradientUnits="userSpaceOnUse" x2="23.749" y1="44.759" x1="23.749">
+ <stop stop-color="#a3a3a3" offset="0"/>
+ <stop stop-color="#bababa" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient3988" y2="43" gradientUnits="userSpaceOnUse" x2="24" gradientTransform="matrix(0.89189189,0,0,1.1351351,2.5945999,-4.7432314)" y1="5.5641" x1="24">
+ <stop stop-color="#FFF" offset="0"/>
+ <stop stop-color="#FFF" stop-opacity="0.23529412" offset="0.036262"/>
+ <stop stop-color="#FFF" stop-opacity="0.15686275" offset="0.95056"/>
+ <stop stop-color="#FFF" stop-opacity="0.39215687" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient3322" y2="47.013" gradientUnits="userSpaceOnUse" x2="25.132" gradientTransform="matrix(1,0,0,0.9561695,-9.9999999e-8,-1.9149218)" y1="0.98521" x1="25.132">
+ <stop stop-color="#f4f4f4" offset="0"/>
+ <stop stop-color="#dbdbdb" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient3324" y2="2.9062" gradientUnits="userSpaceOnUse" x2="-51.786" gradientTransform="matrix(0.8074968,0,0,0.8948322,59.410232,-2.9805531)" y1="50.786" x1="-51.786">
+ <stop stop-color="#a0a0a0" offset="0"/>
+ <stop stop-color="#bebebe" offset="1"/>
+ </linearGradient>
+ <radialGradient id="radialGradient3327" xlink:href="#linearGradient5060" gradientUnits="userSpaceOnUse" cy="486.65" cx="605.71" gradientTransform="matrix(0.02303995,0,0,0.01470022,26.360882,37.040176)" r="117.14"/>
+ <linearGradient id="linearGradient5060">
+ <stop stop-color="#000" offset="0"/>
+ <stop stop-color="#000" stop-opacity="0" offset="1"/>
+ </linearGradient>
+ <radialGradient id="radialGradient3330" xlink:href="#linearGradient5060" gradientUnits="userSpaceOnUse" cy="486.65" cx="605.71" gradientTransform="matrix(-0.02303994,0,0,0.01470022,21.62311,37.040176)" r="117.14"/>
+ <linearGradient id="linearGradient4333" y2="609.51" gradientUnits="userSpaceOnUse" x2="302.86" gradientTransform="matrix(0.06732488,0,0,0.01470022,-0.3411391,37.040146)" y1="366.65" x1="302.86">
+ <stop stop-color="#000" stop-opacity="0" offset="0"/>
+ <stop stop-color="#000" offset="0.5"/>
+ <stop stop-color="#000" stop-opacity="0" offset="1"/>
+ </linearGradient>
+ </defs>
+ <metadata>
+ <rdf:RDF>
+ <cc:Work rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+ <dc:title/>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g transform="matrix(0.66666667,0,0,0.66666667,0,0.00184133)">
+ <rect opacity="0.3" fill-rule="nonzero" height="3.5701" width="32.508" y="42.43" x="7.7378" fill="url(#linearGradient4333)"/>
+ <path opacity="0.3" d="m7.7378,42.43v3.5699c-1.1865,0.0067-2.8684-0.79982-2.8684-1.7852,0-0.98533,1.324-1.7847,2.8684-1.7847z" fill-rule="nonzero" fill="url(#radialGradient3330)"/>
+ <path opacity="0.3" d="m40.246,42.43v3.5699c1.1865,0.0067,2.8684-0.79982,2.8684-1.7852,0-0.98533-1.324-1.7847-2.8684-1.7847z" fill-rule="nonzero" fill="url(#radialGradient3327)"/>
+ <path stroke-linejoin="round" d="M6.5,0.4972c8.02,0,35,0.0028,35,0.0028l0.000042,44.003h-35v-44.006z" stroke-dashoffset="0" stroke="url(#linearGradient3324)" stroke-linecap="butt" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="0.99992186" fill="url(#linearGradient3322)"/>
+ <path stroke-linejoin="round" d="m40.5,43.5-33,0,0-42,33,0z" stroke-dashoffset="0" stroke="url(#linearGradient3988)" stroke-linecap="round" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="1" fill="none"/>
+ <path d="m11,21,0,1,2.3438,0,0-1h-2.344zm0,4,0,1,2.75,0,0-1-2.75,0zm0,2,0,1,2.9375,0,0-1h-5.282zm0,2,0,1,2.5312,0,0-1h-4.875zm0,2.1562,0,0.96875,2.2188,0,0-0.96875-2.2188,0zm0.406-10.156v1h2.25v-1h-2.25zm-2.75,2,0,1,1,0,0-1-1,0zm3.1562,2,0,1,1.8438,0,0-1-1.8438,0zm0.125,2,0,1,2.7188,0,0-1-2.7188,0zm-0.34375,2,0,1,2.0625,0,0-1-2.0625,0zm-0.375,2.1562,0,0.96875,2.125,0,0-0.96875-2.125,0zm-2.562,2.844v1h4.2812v-1h-4.281zm0,2,0,1,3.6875,0,0-1h-3.688zm3.9688,0,0,1,1.7812,0,0-1-1.7812,0zm-0.625,2,0,1,3.3438,0,0-1-3.3438,0zm-3.344,0h3.0367v1h-3.037v-1zm3.4062-22,0,1,5.5938,0,0-1-5.5938,0zm0.03125,2,0,1,5.0938,0,0-1-5.0938,0zm1.1875,16,0,1,4.5938,0,0-1-4.5938,0zm4.9375,0,0,1,1.8125,0,0-1-1.8125,0zm2.1562,0,0,1,4.3125,0,0-1-4.3125,0zm4.6562,0,0,1,2.9688,0,0-1-2.9688,0zm3.2812,0,0,1,1.1562,0,0-1-1.1562,0zm1.5,0,0,1,0.6875,0,0-1-0.6875,0zm1,0,0,1,1.8438,0,0-1-1.8438,0zm-16.031,2,0,1,0.8125,0,0-1-0.8125,0zm1.0312,0,0,1,1.625,0,0-1-1.625,0zm1.875,0,0,1,1.625,0,0-1-1.625,0zm2.125,0,0,1,2.5938,0,0-1-2.5938,0zm2.9062,0,0,1,3.375,0,0-1-3.375,0zm3.8438,0,0,1,2.2812,0,0-1-2.2812,0zm2.5625,0,0,1h0.532v-1h-0.531zm-20.468-20v1h3.0625v-1h-3.062zm0,2,0,1,3.0938,0,0-1h-3.094zm0-11,0,1,2.375,0,0-1-2.375,0zm2.6875,0,0,1,2.25,0,0-1-2.25,0zm2.5625,0,0,1,1.9688,0,0-1-1.9688,0zm2.2812,0,0,1,0.875,0,0-1-0.875,0zm1.1875,0,0,1,1.9375,0,0-1-1.9375,0zm2.2812,0,0,1,5,0,0-1-5,0zm-11,2l0.001,1h3.7812v-1h-3.7812zm4.1562,0,0,1,1.8125,0,0-1-1.8125,0zm2.1562,0,0,1,0.84375,0,0-1-0.84375,0zm1.2188,0,0,1,1.625,0,0-1-1.625,0zm2,0,0,1,1.625,0,0-1-1.625,0zm1.9688,0,0,1,2.6562,0,0-1-2.6562,0zm3.0312,0,0,1,3.4688,0,0-1-3.4688,0zm-14.53,2v1h4.1875v-1h-4.188zm4.5,0,0,1,4.5,0,0-1-4.5,0zm-4.5,2,0,1,2.3125,0,0-1h-2.312zm2.625,0,0,1,2.1562,0,0-1-2.1562,0zm2.4688,0,0,1,1.9062,0,0-1-1.9062,0zm3.8125,5,0,1,1.9062,0,0-1-1.9062,0zm2.2188,0,0,1,1.9062,0,0-1-1.9062,0zm2.2188,0,0,1,2.75,0,0-1-2.75,0zm3.0938,0,0,1,0.5625,0,0-1-0.5625,0zm-7.438,7v1h2.3438v-1h-2.344zm2.6562,0,0,1,2.1875,0,0-1-2.1875,0zm2.5,0,0,1h1.844v-1h-1.844zm-5.156,2v1h1.875v-1h-1.875zm2.1875,0,0,1,4.8125,0,0-1-4.8125,0zm5.125,0,0,1,3.6875,0,0-1-3.6875,0zm-7.313,2v1h2.4375v-1h-2.438zm2.7812,0,0,1,4.2812,0,0-1-4.2812,0zm4.5938,0,0,1,2.9375,0,0-1-2.9375,0zm-7.375,2.125v0.96875h1.875v-0.96875h-1.875zm2.1875,0,0,0.96875,1.9062,0,0-0.96875-1.9062,0zm2.2188,0,0,0.96875,2.7188,0,0-0.96875-2.7188,0zm3.0312,0,0,0.96875,0.5625,0,0-0.96875-0.5625,0zm0.875,0,0,0.96875,3.5312,0,0-0.96875-3.5312,0zm-8.375,6.875,0,1,2.4375,0,0-1-2.4375,0zm2.75,0,0,1,2.25,0,0-1-2.25,0zm2.5938,0,0,1,1.9375,0,0-1-1.9375,0zm2.25,0,0,1,3.0938,0,0-1-3.0938,0zm3.4375,0,0,1,5.0312,0,0-1-5.0312,0z" fill="url(#linearGradient3797)"/>
+ <path stroke-linejoin="round" style="color:#000000;enable-background:accumulate;" d="m34.549,33.5-4.4021,0,0-9.6523c-0.000012-1.1924-0.18283-2.0842-0.54845-2.6754-0.35602-0.6011-0.90929-0.90166-1.6598-0.90167-0.56771,0.000013-1.044,0.11826-1.4289,0.35476-0.38489,0.23652-0.69279,0.58634-0.92371,1.0495-0.23094,0.46316-0.39451,1.0347-0.49072,1.7147-0.09623,0.67996-0.14434,1.4584-0.14433,2.3355v7.7751h-4.4021v-23h4.4021l0.02888,8.588c0.47147-0.85731,1.0728-1.4732,1.8041-1.8477,0.73126-0.3843,1.5588-0.57646,2.4825-0.57648,0.79861,0.000017,1.5203,0.11827,2.1649,0.35476,0.65428,0.22666,1.2124,0.58635,1.6742,1.079,0.46184,0.49273,0.81785,1.1234,1.068,1.892,0.25016,0.7588,0.37524,1.6703,0.37526,2.7346v10.776z" fill-rule="nonzero" stroke-dashoffset="0" stroke="url(#linearGradient3401)" stroke-linecap="butt" stroke-miterlimit="4" stroke-width="0.99999994" fill="url(#radialGradient3399)"/>
+ <path stroke-linejoin="round" style="color:#000000;enable-background:accumulate;" d="m11.5,30.987c-0.000001-0.46315,0.06254-0.8524,0.18763-1.1677,0.1347-0.32519,0.31752-0.58633,0.54845-0.78342,0.23092-0.19708,0.50034-0.33997,0.80825-0.42866,0.3079-0.08868,0.63986-0.13303,0.99588-0.13303,0.33676,0.000004,0.65429,0.04435,0.95258,0.13303,0.3079,0.08869,0.57731,0.23158,0.80825,0.42866,0.23092,0.19709,0.41374,0.45823,0.54845,0.78342,0.1347,0.31534,0.20206,0.70459,0.20206,1.1677-0.000007,0.44345-0.06736,0.82284-0.20206,1.1382-0.13471,0.31534-0.31753,0.57648-0.54845,0.78342-0.23093,0.20694-0.50035,0.35476-0.80825,0.44344-0.299,0.1-0.616,0.149-0.953,0.149-0.35602,0-0.68798-0.04927-0.99588-0.14782-0.30791-0.08869-0.57732-0.2365-0.80825-0.44344s-0.41375-0.46808-0.54845-0.78342c-0.12509-0.31534-0.18763-0.69473-0.18763-1.1382" fill-rule="nonzero" stroke-dashoffset="0" stroke="url(#linearGradient3396)" stroke-linecap="butt" stroke-miterlimit="4" stroke-width="0.99999994" fill="url(#radialGradient3394)"/>
+ <path stroke-linejoin="round" opacity="0.5" style="color:#000000;enable-background:accumulate;" d="m18.531,11.75,0,20.719,2.4062,0,0-6.6875c-0.000007-0.91545,0.051-1.7426,0.15625-2.4688,0.11019-0.76037,0.32838-1.4191,0.625-2,0.30993-0.60695,0.75513-1.1031,1.3125-1.4375,0.54784-0.32869,1.2249-0.53123,1.9688-0.53125,1.0265,0.000018,1.9995,0.53062,2.5312,1.375h0.03125c0.0051,0.008-0.005,0.02321,0,0.03125,0.52572,0.84456,0.71874,1.9068,0.71875,3.1875v8.5312h2.4062v-9.6562c-0.000015-0.95546-0.12792-1.7045-0.34375-2.3438a1.0305,1.0305,0,0,1,0,-0.03125c-0.218-0.661-0.505-1.118-0.842-1.469-0.357-0.372-0.809-0.674-1.312-0.844-0.52338-0.18746-1.1259-0.28124-1.8438-0.28125-0.80443,0.000015-1.4868,0.14206-2.0625,0.4375-0.52554,0.26278-0.96905,0.71674-1.375,1.4375a1.0305,1.0305,0,0,1,-0.907,0.53h-0.25a1.0305,1.0305,0,0,1,-1.0312,-1.0938c0.03222-0.47267,0.08842-0.92314,0.125-1.3438,0.02673-0.34755,0.04266-0.73126,0.0625-1.1875,0.01907-0.44831,0.03124-0.89069,0.03125-1.2812v-3.5938h-2.4062z" transform="matrix(1,0,0,1.0135747,2.96875,-0.44075226)" stroke-dashoffset="0" stroke="url(#linearGradient4596-7)" stroke-linecap="butt" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="0.99328101" fill="none"/>
+ <path stroke-linejoin="round" opacity="0.5" style="color:#000000;enable-background:accumulate;" d="m12.5,31c-0.000001-0.27647,0.03714-0.50882,0.11143-0.69706,0.08-0.19412,0.18857-0.35,0.32571-0.46765,0.13714-0.11764,0.29714-0.20294,0.48-0.25588,0.18286-0.05293,0.38-0.07941,0.59143-0.07941,0.2,0.000003,0.38857,0.02647,0.56571,0.07941,0.18285,0.05294,0.34285,0.13824,0.48,0.25588,0.13714,0.11765,0.24571,0.27353,0.32571,0.46765,0.08,0.18824,0.12,0.42059,0.12,0.69706-0.000004,0.26471-0.04001,0.49118-0.12,0.67941-0.08,0.18824-0.18858,0.34412-0.32571,0.46765-0.13715,0.12353-0.29715,0.21176-0.48,0.26471-0.17715,0.05882-0.36572,0.08823-0.56571,0.08823-0.21143,0-0.40857-0.02941-0.59143-0.08823-0.18286-0.05294-0.34286-0.14118-0.48-0.26471-0.137-0.123-0.246-0.279-0.326-0.468-0.074-0.188-0.111-0.414-0.111-0.679" stroke-dashoffset="0" stroke="url(#linearGradient3471)" stroke-linecap="butt" stroke-miterlimit="4" stroke-width="0.99999994" fill="none"/>
+ </g>
+</svg>
diff --git a/core/img/filetypes/text-x-javascript.png b/core/img/filetypes/text-x-javascript.png
new file mode 100644
index 00000000000..24d09ce9781
--- /dev/null
+++ b/core/img/filetypes/text-x-javascript.png
Binary files differ
diff --git a/core/img/filetypes/text-x-javascript.svg b/core/img/filetypes/text-x-javascript.svg
new file mode 100644
index 00000000000..0cc52ce6ba7
--- /dev/null
+++ b/core/img/filetypes/text-x-javascript.svg
@@ -0,0 +1,76 @@
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="32" width="32" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/">
+ <defs>
+ <linearGradient id="linearGradient4596" y2="34.607" gradientUnits="userSpaceOnUse" x2="29.465" gradientTransform="translate(4.1160985,-1.6069009)" y1="17.607" x1="29.465">
+ <stop stop-color="#FFF" offset="0"/>
+ <stop stop-color="#FFF" stop-opacity="0.23529412" offset="0.17647"/>
+ <stop stop-color="#FFF" stop-opacity="0.15686275" offset="0.82353"/>
+ <stop stop-color="#FFF" stop-opacity="0.39215687" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient4467-5" y2="41.607" gradientUnits="userSpaceOnUse" x2="13.884" gradientTransform="translate(4.1160985,-1.6069009)" y1="12.607" x1="13.884">
+ <stop stop-color="#FFF" offset="0"/>
+ <stop stop-color="#FFF" stop-opacity="0.23529412" offset="0.036262"/>
+ <stop stop-color="#FFF" stop-opacity="0.15686275" offset="0.82759"/>
+ <stop stop-color="#FFF" stop-opacity="0.39215687" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient3797" y2="0.4976" gradientUnits="userSpaceOnUse" x2="23.749" y1="44.759" x1="23.749">
+ <stop stop-color="#a3a3a3" offset="0"/>
+ <stop stop-color="#bababa" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient3988" y2="43" gradientUnits="userSpaceOnUse" x2="24" gradientTransform="matrix(0.89189189,0,0,1.1351351,2.5945999,-4.7432314)" y1="5.5641" x1="24">
+ <stop stop-color="#FFF" offset="0"/>
+ <stop stop-color="#FFF" stop-opacity="0.23529412" offset="0.036262"/>
+ <stop stop-color="#FFF" stop-opacity="0.15686275" offset="0.95056"/>
+ <stop stop-color="#FFF" stop-opacity="0.39215687" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient3322" y2="47.013" gradientUnits="userSpaceOnUse" x2="25.132" gradientTransform="matrix(1,0,0,0.9561695,-9.9999999e-8,-1.9149218)" y1="0.98521" x1="25.132">
+ <stop stop-color="#f4f4f4" offset="0"/>
+ <stop stop-color="#dbdbdb" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient3324" y2="2.9062" gradientUnits="userSpaceOnUse" x2="-51.786" gradientTransform="matrix(0.8074968,0,0,0.8948322,59.410232,-2.9805531)" y1="50.786" x1="-51.786">
+ <stop stop-color="#a0a0a0" offset="0"/>
+ <stop stop-color="#bebebe" offset="1"/>
+ </linearGradient>
+ <radialGradient id="radialGradient3327" xlink:href="#linearGradient5060" gradientUnits="userSpaceOnUse" cy="486.65" cx="605.71" gradientTransform="matrix(0.02303995,0,0,0.01470022,26.360882,37.040176)" r="117.14"/>
+ <linearGradient id="linearGradient5060">
+ <stop stop-color="#000" offset="0"/>
+ <stop stop-color="#000" stop-opacity="0" offset="1"/>
+ </linearGradient>
+ <radialGradient id="radialGradient3330" xlink:href="#linearGradient5060" gradientUnits="userSpaceOnUse" cy="486.65" cx="605.71" gradientTransform="matrix(-0.02303994,0,0,0.01470022,21.62311,37.040176)" r="117.14"/>
+ <linearGradient id="linearGradient4704" y2="609.51" gradientUnits="userSpaceOnUse" x2="302.86" gradientTransform="matrix(0.06732488,0,0,0.01470022,-0.3411391,37.040146)" y1="366.65" x1="302.86">
+ <stop stop-color="#000" stop-opacity="0" offset="0"/>
+ <stop stop-color="#000" offset="0.5"/>
+ <stop stop-color="#000" stop-opacity="0" offset="1"/>
+ </linearGradient>
+ <radialGradient id="radialGradient3815" fx="8.5513" gradientUnits="userSpaceOnUse" cy="10.244" cx="9.0816" gradientTransform="matrix(0,7.0760926,-7.4527115,0,100.32061,-66.261922)" r="12.672">
+ <stop stop-color="#ffcd7d" offset="0"/>
+ <stop stop-color="#fc8f36" offset="0.26238"/>
+ <stop stop-color="#e23a0e" offset="0.70495"/>
+ <stop stop-color="#ac441f" offset="1"/>
+ </radialGradient>
+ <linearGradient id="linearGradient3817" y2="4.9451" gradientUnits="userSpaceOnUse" x2="25" gradientTransform="translate(2.123909,-1.9451008)" y1="49.945" x1="25">
+ <stop stop-color="#ba3d12" offset="0"/>
+ <stop stop-color="#db6737" offset="1"/>
+ </linearGradient>
+ </defs>
+ <metadata>
+ <rdf:RDF>
+ <cc:Work rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+ <dc:title/>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g transform="scale(0.66666667,0.66666667)">
+ <rect opacity="0.3" fill-rule="nonzero" height="3.5701" width="32.508" y="42.43" x="7.7378" fill="url(#linearGradient4704)"/>
+ <path opacity="0.3" d="m7.7378,42.43v3.5699c-1.1865,0.0067-2.8684-0.79982-2.8684-1.7852,0-0.98533,1.324-1.7847,2.8684-1.7847z" fill-rule="nonzero" fill="url(#radialGradient3330)"/>
+ <path opacity="0.3" d="m40.246,42.43v3.5699c1.1865,0.0067,2.8684-0.79982,2.8684-1.7852,0-0.98533-1.324-1.7847-2.8684-1.7847z" fill-rule="nonzero" fill="url(#radialGradient3327)"/>
+ <path stroke-linejoin="round" d="M6.5,0.4972c8.02,0,35,0.0028,35,0.0028l0.000042,44.003h-35v-44.006z" stroke-dashoffset="0" stroke="url(#linearGradient3324)" stroke-linecap="butt" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="0.99992186" fill="url(#linearGradient3322)"/>
+ <path stroke-linejoin="round" d="m40.5,43.5-33,0,0-42,33,0z" stroke-dashoffset="0" stroke="url(#linearGradient3988)" stroke-linecap="round" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="1" fill="none"/>
+ <path d="m11,21,0,1,2.3438,0,0-1h-2.344zm0,4,0,1,2.75,0,0-1-2.75,0zm0,2,0,1,2.9375,0,0-1h-5.282zm0,2,0,1,2.5312,0,0-1h-4.875zm0,2.1562,0,0.96875,2.2188,0,0-0.96875-2.2188,0zm0.406-10.156v1h2.25v-1h-2.25zm-2.75,2,0,1,1,0,0-1-1,0zm3.1562,2,0,1,1.8438,0,0-1-1.8438,0zm0.125,2,0,1,2.7188,0,0-1-2.7188,0zm-0.34375,2,0,1,2.0625,0,0-1-2.0625,0zm-0.375,2.1562,0,0.96875,2.125,0,0-0.96875-2.125,0zm-2.562,2.844v1h4.2812v-1h-4.281zm0,2,0,1,3.6875,0,0-1h-3.688zm3.9688,0,0,1,1.7812,0,0-1-1.7812,0zm-0.625,2,0,1,3.3438,0,0-1-3.3438,0zm-3.344,0h3.0367v1h-3.037v-1zm3.4062-22,0,1,5.5938,0,0-1-5.5938,0zm0.03125,2,0,1,5.0938,0,0-1-5.0938,0zm1.1875,16,0,1,4.5938,0,0-1-4.5938,0zm4.9375,0,0,1,1.8125,0,0-1-1.8125,0zm2.1562,0,0,1,4.3125,0,0-1-4.3125,0zm4.6562,0,0,1,2.9688,0,0-1-2.9688,0zm3.2812,0,0,1,1.1562,0,0-1-1.1562,0zm1.5,0,0,1,0.6875,0,0-1-0.6875,0zm1,0,0,1,1.8438,0,0-1-1.8438,0zm-16.031,2,0,1,0.8125,0,0-1-0.8125,0zm1.0312,0,0,1,1.625,0,0-1-1.625,0zm1.875,0,0,1,1.625,0,0-1-1.625,0zm2.125,0,0,1,2.5938,0,0-1-2.5938,0zm2.9062,0,0,1,3.375,0,0-1-3.375,0zm3.8438,0,0,1,2.2812,0,0-1-2.2812,0zm2.5625,0,0,1h0.532v-1h-0.531zm-20.468-20v1h3.0625v-1h-3.062zm0,2,0,1,3.0938,0,0-1h-3.094zm0-11,0,1,2.375,0,0-1-2.375,0zm2.6875,0,0,1,2.25,0,0-1-2.25,0zm2.5625,0,0,1,1.9688,0,0-1-1.9688,0zm2.2812,0,0,1,0.875,0,0-1-0.875,0zm1.1875,0,0,1,1.9375,0,0-1-1.9375,0zm2.2812,0,0,1,5,0,0-1-5,0zm-11,2l0.001,1h3.7812v-1h-3.7812zm4.1562,0,0,1,1.8125,0,0-1-1.8125,0zm2.1562,0,0,1,0.84375,0,0-1-0.84375,0zm1.2188,0,0,1,1.625,0,0-1-1.625,0zm2,0,0,1,1.625,0,0-1-1.625,0zm1.9688,0,0,1,2.6562,0,0-1-2.6562,0zm3.0312,0,0,1,3.4688,0,0-1-3.4688,0zm-14.53,2v1h4.1875v-1h-4.188zm4.5,0,0,1,4.5,0,0-1-4.5,0zm-4.5,2,0,1,2.3125,0,0-1h-2.312zm2.625,0,0,1,2.1562,0,0-1-2.1562,0zm2.4688,0,0,1,1.9062,0,0-1-1.9062,0zm3.8125,5,0,1,1.9062,0,0-1-1.9062,0zm2.2188,0,0,1,1.9062,0,0-1-1.9062,0zm2.2188,0,0,1,2.75,0,0-1-2.75,0zm3.0938,0,0,1,0.5625,0,0-1-0.5625,0zm-7.438,7v1h2.3438v-1h-2.344zm2.6562,0,0,1,2.1875,0,0-1-2.1875,0zm2.5,0,0,1h1.844v-1h-1.844zm-5.156,2v1h1.875v-1h-1.875zm2.1875,0,0,1,4.8125,0,0-1-4.8125,0zm5.125,0,0,1,3.6875,0,0-1-3.6875,0zm-7.313,2v1h2.4375v-1h-2.438zm2.7812,0,0,1,4.2812,0,0-1-4.2812,0zm4.5938,0,0,1,2.9375,0,0-1-2.9375,0zm-7.375,2.125v0.96875h1.875v-0.96875h-1.875zm2.1875,0,0,0.96875,1.9062,0,0-0.96875-1.9062,0zm2.2188,0,0,0.96875,2.7188,0,0-0.96875-2.7188,0zm3.0312,0,0,0.96875,0.5625,0,0-0.96875-0.5625,0zm0.875,0,0,0.96875,3.5312,0,0-0.96875-3.5312,0zm-8.375,6.875,0,1,2.4375,0,0-1-2.4375,0zm2.75,0,0,1,2.25,0,0-1-2.25,0zm2.5938,0,0,1,1.9375,0,0-1-1.9375,0zm2.25,0,0,1,3.0938,0,0-1-3.0938,0zm3.4375,0,0,1,5.0312,0,0-1-5.0312,0z" fill="url(#linearGradient3797)"/>
+ <path stroke-linejoin="round" style="color:#000000;" d="m37.105,28.194c-0.000013,0.91667-0.16668,1.7188-0.5,2.4062-0.33335,0.6875-0.8073,1.2604-1.4219,1.7188-0.61459,0.45833-1.3594,0.80208-2.2344,1.0312-0.87501,0.22917-1.8542,0.34375-2.9375,0.34375-0.57292,0-1.1042-0.02083-1.5938-0.0625-0.48959-0.03125-0.95313-0.08854-1.3906-0.17188-0.4375-0.08333-0.85938-0.1875-1.2656-0.3125-0.40625-0.125-0.81771-0.28125-1.2344-0.46875v-3.9375c0.4375,0.21876,0.89583,0.41667,1.375,0.59375,0.48958,0.17709,0.97395,0.33334,1.4531,0.46875,0.47916,0.125,0.9427,0.22396,1.3906,0.29688,0.45833,0.07292,0.8802,0.10938,1.2656,0.10938,0.42708,0.000004,0.79166-0.03646,1.0938-0.10938,0.30208-0.08333,0.54687-0.1927,0.73438-0.32812,0.19791-0.14583,0.33853-0.3125,0.42188-0.5,0.09374-0.19791,0.14062-0.40624,0.14062-0.625-0.000008-0.21874-0.03647-0.41145-0.10938-0.57812-0.06251-0.17708-0.21355-0.35937-0.45312-0.54688-0.23959-0.19791-0.59376-0.41666-1.0625-0.65625-0.45834-0.24999-1.0781-0.55208-1.8594-0.90625-0.76042-0.34374-1.4219-0.68228-1.9844-1.0156-0.55209-0.34374-1.0104-0.72395-1.375-1.1406-0.35417-0.41666-0.61979-0.89061-0.79688-1.4219-0.17708-0.54166-0.26563-1.1823-0.26562-1.9219-0.000001-0.81249,0.15625-1.5208,0.46875-2.125,0.3125-0.61457,0.75521-1.125,1.3281-1.5312,0.57291-0.40623,1.2604-0.70832,2.0625-0.90625,0.8125-0.20832,1.7135-0.31248,2.7031-0.3125,1.0417,0.000018,2.0312,0.11981,2.9688,0.35938,0.93749,0.2396,1.901,0.59898,2.8906,1.0781l-1.4375,3.375c-0.794-0.376-1.549-0.683-2.268-0.923-0.71876-0.23957-1.4375-0.35936-2.1562-0.35938-0.64584,0.000015-1.1146,0.1146-1.4062,0.34375-0.28126,0.22918-0.42188,0.54168-0.42188,0.9375-0.000005,0.20835,0.03645,0.39585,0.10938,0.5625,0.07291,0.15626,0.21874,0.32293,0.4375,0.5,0.21874,0.16668,0.52603,0.35418,0.92188,0.5625,0.39582,0.19793,0.91145,0.44272,1.5469,0.73438,0.73957,0.32293,1.4062,0.64584,2,0.96875,0.59374,0.31251,1.1042,0.67188,1.5312,1.0781,0.42707,0.40626,0.7552,0.88022,0.98438,1.4219,0.22915,0.54167,0.34374,1.1979,0.34375,1.9688m-24.526,11.906c-0.67708-0.000006-1.2708-0.03646-1.7812-0.10938-0.511-0.063-0.9428-0.141-1.297-0.235v-4.0312c0.38542,0.08333,0.79167,0.15625,1.2188,0.21875,0.41667,0.0625,0.875,0.09375,1.375,0.09375,0.47917-0.000002,0.92188-0.05209,1.3281-0.15625,0.41666-0.10417,0.77604-0.28646,1.0781-0.54688,0.3125-0.25,0.55208-0.58854,0.71875-1.0156,0.17708-0.42708,0.26562-0.96354,0.26562-1.6094v-22.172h5.0906v22.016c0,1.3125-0.19272,2.4427-0.57812,3.3906-0.37501,0.94791-0.90626,1.7292-1.5938,2.3438-0.67709,0.625-1.4896,1.0833-2.4375,1.375-0.948,0.29-1.995,0.436-3.141,0.436z" fill-rule="nonzero" stroke-dashoffset="0" stroke="url(#linearGradient3817)" stroke-linecap="butt" stroke-miterlimit="4" stroke-width="1" fill="url(#radialGradient3815)"/>
+ <path opacity="0.5" stroke-linejoin="round" style="enable-background:accumulate;color:#000000;" d="m16.531,11.562,0,21.156c-0.000003,0.74521-0.14604,1.4057-0.375,1.9688h0.03125c-0.0053,0.01356-0.02582,0.01774-0.03125,0.03125-0.21291,0.52977-0.51641,1.033-0.96875,1.4062-0.01075,0.0093-0.02039,0.02213-0.03125,0.03125-0.42364,0.35547-0.94402,0.58756-1.4688,0.71875-0.5068,0.12994-1.0399,0.1875-1.5938,0.1875-0.54293,0-1.0548-0.02228-1.5312-0.09375-0.01053-0.0015-0.02074,0.0016-0.03125,0v1.9375c0.14199,0.02453,0.25,0.04337,0.40625,0.0625a1.0305,1.0305,0,0,1,0.03125,0c0.4327,0.06181,0.93779,0.09374,1.5938,0.09375h0.25c1.0584-0.000006,2.0104-0.14984,2.8438-0.40625,0.8161-0.25111,1.5028-0.60837,2.0625-1.125a1.0305,1.0305,0,0,1,0,-0.03125c0.56066-0.5012,0.98871-1.119,1.3125-1.9375,0.32074-0.78887,0.5-1.7802,0.5-3v-21h-3z" stroke-dashoffset="0" stroke="url(#linearGradient4467-5)" stroke-linecap="butt" stroke-miterlimit="4" stroke-width="1" fill="none"/>
+ <path opacity="0.5" stroke-linejoin="round" style="enable-background:accumulate;color:#000000;" d="m31.062,16.625c-0.91729,0.000017-1.7568,0.09872-2.4688,0.28125-0.6983,0.17232-1.2665,0.42933-1.7188,0.75-0.43783,0.31048-0.75495,0.67432-1,1.1562-0.22591,0.43677-0.34375,0.97587-0.34375,1.6562-0.000001,0.67187,0.0572,1.1952,0.1875,1.5938,0.13076,0.39228,0.3626,0.74863,0.625,1.0625,0.27891,0.31876,0.63321,0.6313,1.125,0.9375,0.54028,0.32018,1.1571,0.64423,1.875,0.96875,0.78022,0.35371,1.4056,0.66564,1.9062,0.9375,0.0091,0.0047,0.02219-0.0047,0.03125,0,0.48031,0.2467,0.86296,0.48708,1.1875,0.75,0.01,0.0081,0.02142,0.02313,0.03125,0.03125,0.29407,0.23569,0.56733,0.5282,0.71875,0.90625,0.0064,0.0161-0.006,0.04609,0,0.0625,0.0023,0.0064,0.02897-0.0065,0.03125,0,0.11318,0.2766,0.18749,0.5805,0.1875,0.9375-0.000015,0.40344-0.11735,0.74498-0.25,1.0312-0.0031,0.0069,0.0032,0.02432,0,0.03125h-0.03125c-0.14902,0.31791-0.36691,0.67002-0.6875,0.90625a1.0305,1.0305,0,0,1,-0.03125,0c-0.37162,0.26839-0.71579,0.37311-1.0625,0.46875a1.0305,1.0305,0,0,1,-0.03125,0c-0.376,0.092-0.832,0.157-1.343,0.157-0.47826,0.000005-0.9298-0.0492-1.4062-0.125-0.45579-0.07419-0.96671-0.17338-1.5-0.3125a1.0305,1.0305,0,0,1,-0.03125,0c-0.50955-0.144-0.9949-0.3173-1.5-0.5v1.6562c0.16564,0.0631,0.33735,0.13746,0.5,0.1875,0.3613,0.11117,0.74977,0.23508,1.1562,0.3125,0.37252,0.07096,0.77865,0.09491,1.25,0.125a1.0305,1.0305,0,0,1,0.03125,0c0.45573,0.03879,0.95205,0.0625,1.5,0.0625,1.0107,0,1.9133-0.10974,2.6875-0.3125,0.77223-0.20225,1.389-0.48131,1.875-0.84375,0.4815-0.35909,0.82413-0.78767,1.0938-1.3438,0.25489-0.52574,0.40624-1.177,0.40625-1.9688-0.000011-0.66872-0.08918-1.1823-0.25-1.5625-0.17948-0.42419-0.42147-0.74998-0.75-1.0625-0.35949-0.34194-0.77277-0.66986-1.2812-0.9375a1.0305,1.0305,0,0,1,-0.03125,0c-0.56267-0.306-1.1894-0.62451-1.9062-0.9375a1.0305,1.0305,0,0,1,-0.03125,0c-0.62352-0.28619-1.1526-0.52942-1.5938-0.75-0.43674-0.22984-0.78885-0.44773-1.0625-0.65625a1.0305,1.0305,0,0,1,-0.03125,0c-0.29046-0.23511-0.54194-0.49605-0.71875-0.875a1.0305,1.0305,0,0,1,0,-0.03125c-0.11448-0.26163-0.21876-0.58868-0.21875-0.96875-0.000008-0.667,0.32053-1.3491,0.8125-1.75a1.0305,1.0305,0,0,1,0.03125,0c0.58219-0.45741,1.2635-0.56248,2.0312-0.5625,0.81828,0.000017,1.6395,0.12985,2.4688,0.40625,0.46119,0.15374,0.94101,0.36068,1.4062,0.5625l0.625-1.4375c-0.604-0.25-1.22-0.541-1.783-0.684-0.838-0.215-1.746-0.313-2.719-0.313z" stroke-dashoffset="0" stroke="url(#linearGradient4596)" stroke-linecap="butt" stroke-miterlimit="4" stroke-width="1" fill="none"/>
+ </g>
+</svg>
diff --git a/core/img/filetypes/text-x-php.png b/core/img/filetypes/text-x-php.png
deleted file mode 100644
index 7868a25945c..00000000000
--- a/core/img/filetypes/text-x-php.png
+++ /dev/null
Binary files differ
diff --git a/core/img/filetypes/text-x-python.png b/core/img/filetypes/text-x-python.png
new file mode 100644
index 00000000000..57148f4b90d
--- /dev/null
+++ b/core/img/filetypes/text-x-python.png
Binary files differ
diff --git a/core/img/filetypes/text-x-python.svg b/core/img/filetypes/text-x-python.svg
new file mode 100644
index 00000000000..00755e6d0c2
--- /dev/null
+++ b/core/img/filetypes/text-x-python.svg
@@ -0,0 +1,87 @@
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="32.002" width="32" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/">
+ <defs>
+ <linearGradient id="linearGradient4326" y2="41.607" gradientUnits="userSpaceOnUse" x2="49.884" gradientTransform="translate(-15.883902,-1.6069009)" y1="20.607" x1="49.884">
+ <stop stop-color="#FFF" offset="0"/>
+ <stop stop-color="#FFF" stop-opacity="0.23529412" offset="0.036262"/>
+ <stop stop-color="#FFF" stop-opacity="0.15686275" offset="0.66667"/>
+ <stop stop-color="#FFF" stop-opacity="0.39215687" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient4352" y2="14.148" gradientUnits="userSpaceOnUse" x2="33.715" gradientTransform="translate(-15.883902,-1.6069009)" y1="26.955" x1="33.715">
+ <stop stop-color="#FFF" offset="0"/>
+ <stop stop-color="#FFF" stop-opacity="0.23529412" offset="0.38322"/>
+ <stop stop-color="#FFF" stop-opacity="0.15686275" offset="0.95056"/>
+ <stop stop-color="#FFF" stop-opacity="0.39215687" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient4338" y2="35.642" gradientUnits="userSpaceOnUse" x2="29.465" gradientTransform="translate(-15.883902,-1.6069009)" y1="13.12" x1="29.465">
+ <stop stop-color="#FFF" offset="0"/>
+ <stop stop-color="#FFF" stop-opacity="0.23529412" offset="0.2789"/>
+ <stop stop-color="#FFF" stop-opacity="0.15686275" offset="0.95056"/>
+ <stop stop-color="#FFF" stop-opacity="0.39215687" offset="1"/>
+ </linearGradient>
+ <radialGradient id="radialGradient3352" xlink:href="#linearGradient3846-5" gradientUnits="userSpaceOnUse" cy="23.403" cx="9.966" gradientTransform="matrix(0,3.4561718,-4.1186673,0,121.20805,-33.840698)" r="13.931"/>
+ <linearGradient id="linearGradient3846-5">
+ <stop stop-color="#fff3cb" offset="0"/>
+ <stop stop-color="#fdde76" offset="0.26238"/>
+ <stop stop-color="#f9c440" offset="0.66094"/>
+ <stop stop-color="#e48b20" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient3354" y2="8.4049" xlink:href="#linearGradient3856-6" gradientUnits="userSpaceOnUse" x2="21.483" gradientTransform="matrix(1.6508808,0,0,1.6568311,-9.7968269,-13.801098)" y1="35.376" x1="21.483"/>
+ <linearGradient id="linearGradient3856-6">
+ <stop stop-color="#b67926" offset="0"/>
+ <stop stop-color="#eab41a" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient3797" y2="0.4976" gradientUnits="userSpaceOnUse" x2="23.749" y1="44.759" x1="23.749">
+ <stop stop-color="#a3a3a3" offset="0"/>
+ <stop stop-color="#bababa" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient3988" y2="43" gradientUnits="userSpaceOnUse" x2="24" gradientTransform="matrix(0.89189189,0,0,1.1351351,2.5945999,-4.7432314)" y1="5.5641" x1="24">
+ <stop stop-color="#FFF" offset="0"/>
+ <stop stop-color="#FFF" stop-opacity="0.23529412" offset="0.036262"/>
+ <stop stop-color="#FFF" stop-opacity="0.15686275" offset="0.95056"/>
+ <stop stop-color="#FFF" stop-opacity="0.39215687" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient3322" y2="47.013" gradientUnits="userSpaceOnUse" x2="25.132" gradientTransform="matrix(1,0,0,0.9561695,-9.9999999e-8,-1.9149218)" y1="0.98521" x1="25.132">
+ <stop stop-color="#f4f4f4" offset="0"/>
+ <stop stop-color="#dbdbdb" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient3324" y2="2.9062" gradientUnits="userSpaceOnUse" x2="-51.786" gradientTransform="matrix(0.8074968,0,0,0.8948322,59.410232,-2.9805531)" y1="50.786" x1="-51.786">
+ <stop stop-color="#a0a0a0" offset="0"/>
+ <stop stop-color="#bebebe" offset="1"/>
+ </linearGradient>
+ <radialGradient id="radialGradient3327" xlink:href="#linearGradient5060" gradientUnits="userSpaceOnUse" cy="486.65" cx="605.71" gradientTransform="matrix(0.02303995,0,0,0.01470022,26.360882,37.040176)" r="117.14"/>
+ <linearGradient id="linearGradient5060">
+ <stop stop-color="#000" offset="0"/>
+ <stop stop-color="#000" stop-opacity="0" offset="1"/>
+ </linearGradient>
+ <radialGradient id="radialGradient3330" xlink:href="#linearGradient5060" gradientUnits="userSpaceOnUse" cy="486.65" cx="605.71" gradientTransform="matrix(-0.02303994,0,0,0.01470022,21.62311,37.040176)" r="117.14"/>
+ <linearGradient id="linearGradient4474" y2="609.51" gradientUnits="userSpaceOnUse" x2="302.86" gradientTransform="matrix(0.06732488,0,0,0.01470022,-0.3411391,37.040146)" y1="366.65" x1="302.86">
+ <stop stop-color="#000" stop-opacity="0" offset="0"/>
+ <stop stop-color="#000" offset="0.5"/>
+ <stop stop-color="#000" stop-opacity="0" offset="1"/>
+ </linearGradient>
+ </defs>
+ <metadata>
+ <rdf:RDF>
+ <cc:Work rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+ <dc:title/>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g transform="matrix(0.66666667,0,0,0.66666667,0,0.00184133)">
+ <rect opacity="0.3" fill-rule="nonzero" height="3.5701" width="32.508" y="42.43" x="7.7378" fill="url(#linearGradient4474)"/>
+ <path opacity="0.3" d="m7.7378,42.43v3.5699c-1.1865,0.0067-2.8684-0.79982-2.8684-1.7852,0-0.98533,1.324-1.7847,2.8684-1.7847z" fill-rule="nonzero" fill="url(#radialGradient3330)"/>
+ <path opacity="0.3" d="m40.246,42.43v3.5699c1.1865,0.0067,2.8684-0.79982,2.8684-1.7852,0-0.98533-1.324-1.7847-2.8684-1.7847z" fill-rule="nonzero" fill="url(#radialGradient3327)"/>
+ <path stroke-linejoin="round" d="M6.5,0.4972c8.02,0,35,0.0028,35,0.0028l0.000042,44.003h-35v-44.006z" stroke-dashoffset="0" stroke="url(#linearGradient3324)" stroke-linecap="butt" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="0.99992186" fill="url(#linearGradient3322)"/>
+ <path stroke-linejoin="round" d="m40.5,43.5-33,0,0-42,33,0z" stroke-dashoffset="0" stroke="url(#linearGradient3988)" stroke-linecap="round" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="1" fill="none"/>
+ <path d="m11,21,0,1,2.3438,0,0-1h-2.344zm0,4,0,1,2.75,0,0-1-2.75,0zm0,2,0,1,2.9375,0,0-1h-5.282zm0,2,0,1,2.5312,0,0-1h-4.875zm0,2.1562,0,0.96875,2.2188,0,0-0.96875-2.2188,0zm0.406-10.156v1h2.25v-1h-2.25zm-2.75,2,0,1,1,0,0-1-1,0zm3.1562,2,0,1,1.8438,0,0-1-1.8438,0zm0.125,2,0,1,2.7188,0,0-1-2.7188,0zm-0.34375,2,0,1,2.0625,0,0-1-2.0625,0zm-0.375,2.1562,0,0.96875,2.125,0,0-0.96875-2.125,0zm-2.562,2.844v1h4.2812v-1h-4.281zm0,2,0,1,3.6875,0,0-1h-3.688zm3.9688,0,0,1,1.7812,0,0-1-1.7812,0zm-0.625,2,0,1,3.3438,0,0-1-3.3438,0zm-3.344,0h3.0367v1h-3.037v-1zm3.4062-22,0,1,5.5938,0,0-1-5.5938,0zm0.03125,2,0,1,5.0938,0,0-1-5.0938,0zm1.1875,16,0,1,4.5938,0,0-1-4.5938,0zm4.9375,0,0,1,1.8125,0,0-1-1.8125,0zm2.1562,0,0,1,4.3125,0,0-1-4.3125,0zm4.6562,0,0,1,2.9688,0,0-1-2.9688,0zm3.2812,0,0,1,1.1562,0,0-1-1.1562,0zm1.5,0,0,1,0.6875,0,0-1-0.6875,0zm1,0,0,1,1.8438,0,0-1-1.8438,0zm-16.031,2,0,1,0.8125,0,0-1-0.8125,0zm1.0312,0,0,1,1.625,0,0-1-1.625,0zm1.875,0,0,1,1.625,0,0-1-1.625,0zm2.125,0,0,1,2.5938,0,0-1-2.5938,0zm2.9062,0,0,1,3.375,0,0-1-3.375,0zm3.8438,0,0,1,2.2812,0,0-1-2.2812,0zm2.5625,0,0,1h0.532v-1h-0.531zm-20.468-20v1h3.0625v-1h-3.062zm0,2,0,1,3.0938,0,0-1h-3.094zm0-11,0,1,2.375,0,0-1-2.375,0zm2.6875,0,0,1,2.25,0,0-1-2.25,0zm2.5625,0,0,1,1.9688,0,0-1-1.9688,0zm2.2812,0,0,1,0.875,0,0-1-0.875,0zm1.1875,0,0,1,1.9375,0,0-1-1.9375,0zm2.2812,0,0,1,5,0,0-1-5,0zm-11,2l0.001,1h3.7812v-1h-3.7812zm4.1562,0,0,1,1.8125,0,0-1-1.8125,0zm2.1562,0,0,1,0.84375,0,0-1-0.84375,0zm1.2188,0,0,1,1.625,0,0-1-1.625,0zm2,0,0,1,1.625,0,0-1-1.625,0zm1.9688,0,0,1,2.6562,0,0-1-2.6562,0zm3.0312,0,0,1,3.4688,0,0-1-3.4688,0zm-14.53,2v1h4.1875v-1h-4.188zm4.5,0,0,1,4.5,0,0-1-4.5,0zm-4.5,2,0,1,2.3125,0,0-1h-2.312zm2.625,0,0,1,2.1562,0,0-1-2.1562,0zm2.4688,0,0,1,1.9062,0,0-1-1.9062,0zm3.8125,5,0,1,1.9062,0,0-1-1.9062,0zm2.2188,0,0,1,1.9062,0,0-1-1.9062,0zm2.2188,0,0,1,2.75,0,0-1-2.75,0zm3.0938,0,0,1,0.5625,0,0-1-0.5625,0zm-7.438,7v1h2.3438v-1h-2.344zm2.6562,0,0,1,2.1875,0,0-1-2.1875,0zm2.5,0,0,1h1.844v-1h-1.844zm-5.156,2v1h1.875v-1h-1.875zm2.1875,0,0,1,4.8125,0,0-1-4.8125,0zm5.125,0,0,1,3.6875,0,0-1-3.6875,0zm-7.313,2v1h2.4375v-1h-2.438zm2.7812,0,0,1,4.2812,0,0-1-4.2812,0zm4.5938,0,0,1,2.9375,0,0-1-2.9375,0zm-7.375,2.125v0.96875h1.875v-0.96875h-1.875zm2.1875,0,0,0.96875,1.9062,0,0-0.96875-1.9062,0zm2.2188,0,0,0.96875,2.7188,0,0-0.96875-2.7188,0zm3.0312,0,0,0.96875,0.5625,0,0-0.96875-0.5625,0zm0.875,0,0,0.96875,3.5312,0,0-0.96875-3.5312,0zm-8.375,6.875,0,1,2.4375,0,0-1-2.4375,0zm2.75,0,0,1,2.25,0,0-1-2.25,0zm2.5938,0,0,1,1.9375,0,0-1-1.9375,0zm2.25,0,0,1,3.0938,0,0-1-3.0938,0zm3.4375,0,0,1,5.0312,0,0-1-5.0312,0z" fill="url(#linearGradient3797)"/>
+ <g stroke-linejoin="round" style="color:#000000;letter-spacing:0px;word-spacing:0px;enable-background:accumulate;" font-weight="bold" font-family="Droid Sans" fill-rule="nonzero" line-height="125%" stroke-dashoffset="0" font-size="32px" font-style="normal" stroke="url(#linearGradient3354)" stroke-linecap="butt" stroke-miterlimit="4" font-stretch="normal" font-variant="normal" stroke-width="0.9922713" fill="url(#radialGradient3352)">
+ <path d="m25.746,18.293,4.5664,0,2.4609,8.5996,0.60156,2.2695c0.03645-0.2552,0.07747-0.51497,0.12305-0.7793,0.04556-0.26432,0.09569-0.52408,0.15039-0.7793,0.06379-0.26432,0.1276-0.5013,0.19141-0.71094l2.4062-8.5996h4.5938l-6.043,17.24c-0.56511,1.6133-1.3353,2.8118-2.3105,3.5957-0.97527,0.78385-2.1966,1.1758-3.6641,1.1758-0.47396-0.000006-0.88412-0.02735-1.2305-0.08203-0.34636-0.04558-0.64258-0.09571-0.88867-0.15039v-3.3086c0.1914,0.04557,0.43294,0.08658,0.72461,0.12305,0.29166,0.03646,0.597,0.05468,0.91602,0.05469,0.4375-0.000003,0.81119-0.05925,1.1211-0.17773,0.30989-0.11849,0.57421-0.28711,0.79297-0.50586,0.22786-0.20964,0.41927-0.46484,0.57422-0.76562,0.16406-0.30078,0.30533-0.63802,0.42383-1.0117l0.25977-0.76562-5.7695-15.422m-11.406,3.1914,0.95312,0c1.3646,0.000012,2.3906-0.27082,3.0781-0.8125,0.6979-0.54165,1.0469-1.4219,1.0469-2.6406-0.000013-1.1354-0.31251-1.9739-0.9375-2.5156-0.6146-0.54165-1.5833-0.81248-2.9062-0.8125h-1.2344v6.7812m9.9844-3.625c-0.000018,1-0.15106,1.9583-0.45312,2.875-0.3021,0.91668-0.8021,1.724-1.5,2.4219-0.68752,0.69793-1.599,1.2552-2.7344,1.6719-1.125,0.41668-2.5208,0.62501-4.1875,0.625h-1.1094v8.125h-4.8438v-22.844h6.3438c1.4687,0.000023,2.7344,0.16669,3.7969,0.5,1.0729,0.32294,1.9531,0.79169,2.6406,1.4062,0.6979,0.60419,1.2135,1.349,1.5469,2.2344,0.33332,0.87502,0.49998,1.8698,0.5,2.9844" stroke="url(#linearGradient3354)" fill="url(#radialGradient3352)"/>
+ </g>
+ <path stroke-linejoin="round" opacity="0.8" style="color:#000000;enable-background:accumulate;" d="m10.469,11.719,0,20.875,2.9062,0,0-7.1562a0.97158,0.97158,0,0,1,0.96875,-0.96875h1.0938c1.5857,0.000008,2.8653-0.20009,3.8438-0.5625,1.0403-0.38177,1.8488-0.8716,2.4062-1.4375,0.60221-0.60221,0.9956-1.2593,1.25-2.0312,0.26608-0.80746,0.40623-1.6502,0.40625-2.5625-0.000016-1.0177-0.1544-1.913-0.4375-2.6562-0.28511-0.75726-0.68346-1.3533-1.25-1.8438a0.97158,0.97158,0,0,1,-0.031,-0.03c-0.5457-0.48779-1.2973-0.86009-2.2812-1.1562-0.94313-0.29586-2.1047-0.46873-3.5-0.46875h-5.375z" stroke-dashoffset="0" stroke="url(#linearGradient4338)" stroke-linecap="butt" stroke-miterlimit="4" stroke-width="1" fill="none"/>
+ <path stroke-linejoin="round" opacity="0.8" style="color:#000000;enable-background:accumulate;" d="m14.188,13.719a0.97158,0.97158,0,0,1,0.15625,0h1.2188c1.444,0.000021,2.6588,0.30588,3.5312,1.0625,0.0069,0.006,0.02437-0.0061,0.03125,0l-0.03125,0.03125c0.8717,0.76818,1.2812,1.915,1.2812,3.2188-0.000015,1.3862-0.43158,2.6369-1.4062,3.4062h-0.03125c-0.93629,0.7268-2.1746,1.0313-3.6562,1.0312h-0.9375a0.97158,0.97158,0,0,1,-0.969,-0.969v-6.8125a0.97158,0.97158,0,0,1,0.8125,-0.96875z" stroke-dashoffset="0" stroke="url(#linearGradient4352)" stroke-linecap="butt" stroke-miterlimit="4" stroke-width="1" fill="none"/>
+ <path stroke-linejoin="round" opacity="0.8" style="color:#000000;enable-background:accumulate;" d="m27.156,19.25,5.2812,14.125c0.08288,0.21909,0.08288,0.46841,0,0.6875l-0.25,0.6875-0.03125,0.0625c-0.11452,0.35874-0.24034,0.75454-0.4375,1.125-0.0067,0.01252-0.02443,0.01874-0.03125,0.03125-0.21274,0.39778-0.48826,0.72429-0.75,0.96875-0.01011,0.01011-0.02099,0.02128-0.03125,0.03125-0.30722,0.29848-0.68482,0.53114-1.0938,0.6875-0.43825,0.16756-0.9291,0.25-1.4688,0.25-0.23646-0.000002-0.44385-0.01211-0.65625-0.03125v1.375c0.01198,0.0016,0.01908-0.0016,0.03125,0,0.01042-0.000168,0.02083-0.000168,0.03125,0,0.30338,0.0479,0.64191,0.09374,1.0625,0.09375,1.2893-0.000006,2.3062-0.33575,3.0938-0.96875,0.79412-0.63827,1.4766-1.6621,2-3.1562l5.594-15.969h-2.5l-2.2188,7.9062c0.000168,0.01042,0.000168,0.02083,0,0.03125-0.05961,0.19584-0.12825,0.37949-0.1875,0.625-0.05465,0.25498-0.08383,0.47993-0.125,0.71875-0.04289,0.24875-0.09138,0.48621-0.125,0.71875-0.0011,0.0099,0.001,0.02129,0,0.03125l-1.0312,1.5625c-0.488-0.552-0.84-1.577-1.188-2.313-0.058-0.485-0.153-0.926-0.281-1.343l-2.282-7.938z" stroke-dashoffset="0" stroke="url(#linearGradient4326)" stroke-linecap="butt" stroke-miterlimit="4" stroke-width="1" fill="none"/>
+ </g>
+</svg>
diff --git a/core/img/filetypes/text.png b/core/img/filetypes/text.png
index 813f712f726..6b069c82c11 100644
--- a/core/img/filetypes/text.png
+++ b/core/img/filetypes/text.png
Binary files differ
diff --git a/core/img/filetypes/text.svg b/core/img/filetypes/text.svg
new file mode 100644
index 00000000000..69a1bcd98c3
--- /dev/null
+++ b/core/img/filetypes/text.svg
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="32px" width="32px" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/">
+ <defs>
+ <linearGradient id="e" y2="3.3639" gradientUnits="userSpaceOnUse" x2="22.004" gradientTransform="matrix(.66858 0 0 .67037 -.67962 -2.3083)" y1="47.813" x1="22.004">
+ <stop stop-color="#aaa" offset="0"/>
+ <stop stop-color="#c8c8c8" offset="1"/>
+ </linearGradient>
+ <linearGradient id="g" y2="43" gradientUnits="userSpaceOnUse" x2="24" gradientTransform="matrix(.56757 0 0 .72973 2.3784 -2.5135)" y1="5.5641" x1="24">
+ <stop stop-color="#fff" offset="0"/>
+ <stop stop-color="#fff" stop-opacity=".23529" offset=".036262"/>
+ <stop stop-color="#fff" stop-opacity=".15686" offset=".95056"/>
+ <stop stop-color="#fff" stop-opacity=".39216" offset="1"/>
+ </linearGradient>
+ <linearGradient id="f" y2="47.013" gradientUnits="userSpaceOnUse" x2="25.132" gradientTransform="matrix(.65714 0 0 .63012 .22856 -1.0896)" y1=".98521" x1="25.132">
+ <stop stop-color="#f4f4f4" offset="0"/>
+ <stop stop-color="#dbdbdb" offset="1"/>
+ </linearGradient>
+ <radialGradient id="c" xlink:href="#a" gradientUnits="userSpaceOnUse" cy="486.65" cx="605.71" gradientTransform="matrix(.015663 0 0 .0082353 17.61 25.981)" r="117.14"/>
+ <linearGradient id="a">
+ <stop offset="0"/>
+ <stop stop-opacity="0" offset="1"/>
+ </linearGradient>
+ <radialGradient id="b" xlink:href="#a" gradientUnits="userSpaceOnUse" cy="486.65" cx="605.71" gradientTransform="matrix(-.015663 0 0 .0082353 14.39 25.981)" r="117.14"/>
+ <linearGradient id="d" y2="609.51" gradientUnits="userSpaceOnUse" y1="366.65" gradientTransform="matrix(.045769 0 0 .0082353 -.54232 25.981)" x2="302.86" x1="302.86">
+ <stop stop-opacity="0" offset="0"/>
+ <stop offset=".5"/>
+ <stop stop-opacity="0" offset="1"/>
+ </linearGradient>
+ </defs>
+ <g>
+ <g>
+ <rect opacity=".15" height="2" width="22.1" y="29" x="4.95" fill="url(#d)"/>
+ <path opacity=".15" d="m4.95 29v1.9999c-0.80662 0.0038-1.95-0.44807-1.95-1.0001 0-0.552 0.90012-0.99982 1.95-0.99982z" fill="url(#b)"/>
+ <path opacity=".15" d="m27.05 29v1.9999c0.80661 0.0038 1.95-0.44807 1.95-1.0001 0-0.552-0.90012-0.99982-1.95-0.99982z" fill="url(#c)"/>
+ </g>
+ <path d="m4.5 0.49996c5.2705 0 23 0.00185 23 0.00185l0.000028 28.998h-23v-29z" fill="url(#f)"/>
+ </g>
+ <g fill="none">
+ <path stroke-linejoin="round" d="m26.5 28.5h-21v-27h21z" stroke="url(#g)" stroke-linecap="round"/>
+ <path opacity=".3" stroke-linejoin="round" d="m4.5 0.49996c5.2705 0 23 0.00185 23 0.00185l0.000028 28.998h-23v-29z" stroke="#000" stroke-width=".99992"/>
+ <path d="m8 5.5677h1.567zm1.7968 0h1.4625zm1.6924 0h1.2954zm1.5043 0h0.56412zm0.79394 0h1.2536zm1.5043 0h3.3011zm3.5101 0h2.5281zm2.737 0h0.77305zm-13.539 1.9218h2.0684zm2.2774 0h3.3847zm3.5936 0h1.6506zm1.8595 0h1.5461zm1.755 0h1.3163zm1.5252 0 2.0684 0.020955zm2.2565 0.020955h3.3638zm-13.266 1.9895h2.8624zm3.0922 0h3.0922zm3.3011 0h1.2327zm1.4416 0h2.9042zm3.0922 0h1.9849zm2.2147 0h0.79394zm1.0029 0h0.43876zm0.66858 0h1.2327zm-14.813 2h1.0656zm1.3998 0h3.9488zm-1.3998 3h2.6325zm2.8415 0h2.8206zm3.0295 0h1.0864zm1.2954 0h2.6534zm2.8624 0h3.3429zm3.5727 0h1.2327zm-13.602 2h2.8624zm3.0922 0h3.0922zm3.3011 0h1.2327zm1.4416 0h2.9042zm3.0922 0h1.9849zm2.2147 0h0.79394zm1.0029 0h0.43876zm0.66858 0h1.2327zm-14.813 2h2.4445zm2.7161 0h1.17zm1.379 0h0.58501zm0.81484 0h1.0656zm1.2954 0h1.0864zm1.2954 0h1.7341zm1.964 0h2.2565zm2.4654 0h1.5043zm1.7132 0h0.37608zm-13.643 2.9895h2.0684zm2.2774 0h3.3847zm3.5936 0h1.6506zm1.8595 0h1.5461zm1.755 0h1.3163zm1.5252 0 2.0684 0.02095zm2.2565 0.02095h3.3638zm-13.266 1.989h2.5908zm2.8206 0h0.81484zm1.0238 0h1.8595zm2.0684 0h2.737zm2.9668 0h1.8595zm2.0475 0h0.39697zm0.6059 0h2.3609zm2.6117 0h1.2327zm-14.145 2h2.5908zm2.8206 0h1.17zm1.379 0h1.8386zm2.0475 0h1.9849zm2.2147 0h0.79394zm1.0029 0h0.43876zm0.66858 0h1.2327z" stroke="url(#e)" stroke-width="1px"/>
+ </g>
+</svg>
diff --git a/core/img/filetypes/video.png b/core/img/filetypes/video.png
index b0ce7bb198a..045754df26f 100644
--- a/core/img/filetypes/video.png
+++ b/core/img/filetypes/video.png
Binary files differ
diff --git a/core/img/filetypes/video.svg b/core/img/filetypes/video.svg
new file mode 100644
index 00000000000..67691369ac9
--- /dev/null
+++ b/core/img/filetypes/video.svg
@@ -0,0 +1,85 @@
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="32" width="32" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/">
+ <defs>
+ <radialGradient id="radialGradient4384" xlink:href="#linearGradient5747" gradientUnits="userSpaceOnUse" cy="43.5" cx="4.993" gradientTransform="matrix(1.6030273,0,0,0.59999988,541.99052,860.76219)" r="2.5"/>
+ <linearGradient id="linearGradient5747">
+ <stop stop-color="#000" offset="0"/>
+ <stop stop-color="#000" stop-opacity="0" offset="1"/>
+ </linearGradient>
+ <radialGradient id="radialGradient4386" xlink:href="#linearGradient5747" gradientUnits="userSpaceOnUse" cy="43.5" cx="4.993" gradientTransform="matrix(1.6030273,0,0,0.59999988,-535.0095,-912.96218)" r="2.5"/>
+ <linearGradient id="linearGradient4388" y2="39.999" xlink:href="#linearGradient5747" spreadMethod="reflect" gradientUnits="userSpaceOnUse" x2="25.058" gradientTransform="matrix(0.82142859,0,0,0.42857134,518.78572,868.21933)" y1="43.544" x1="25.058"/>
+ <radialGradient id="radialGradient4390" gradientUnits="userSpaceOnUse" cy="8.4498" cx="7.4957" gradientTransform="matrix(-0.00959868,1.5579153,-1.486926,-0.02419163,551.13616,849.77731)" r="20">
+ <stop stop-color="#f8b17e" offset="0"/>
+ <stop stop-color="#e35d4f" offset="0.26238"/>
+ <stop stop-color="#c6262e" offset="0.66094"/>
+ <stop stop-color="#690b54" offset="1"/>
+ </radialGradient>
+ <linearGradient id="linearGradient4392" y2="860.36" xlink:href="#linearGradient3173" gradientUnits="userSpaceOnUse" x2="547" y1="887.36" x1="547"/>
+ <linearGradient id="linearGradient3173" y2="3.899" gradientUnits="userSpaceOnUse" x2="24" gradientTransform="matrix(2.641026,0,0,2.641026,0.6153903,-60.384616)" y1="44" x1="24">
+ <stop stop-color="#791235" offset="0"/>
+ <stop stop-color="#bf1d09" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient4394" y2="43" xlink:href="#linearGradient3128" gradientUnits="userSpaceOnUse" x2="24" gradientTransform="matrix(0.37837838,0,0,0.64864865,529.41891,858.29461)" y1="5" x1="24"/>
+ <linearGradient id="linearGradient3128" y2="43" gradientUnits="userSpaceOnUse" x2="24" gradientTransform="matrix(2.7297298,0,0,2.7297298,-1.5135111,-62.513486)" y1="5.3301" x1="24">
+ <stop stop-color="#FFF" offset="0"/>
+ <stop stop-color="#FFF" stop-opacity="0.23529412" offset="0.029825"/>
+ <stop stop-color="#FFF" stop-opacity="0.15686275" offset="0.96141"/>
+ <stop stop-color="#FFF" stop-opacity="0.39215687" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient4396" y2="43" xlink:href="#linearGradient3128" gradientUnits="userSpaceOnUse" x2="24" gradientTransform="matrix(0.10810808,0,0,0.64864865,524.90556,858.29461)" y1="5" x1="24"/>
+ <linearGradient id="linearGradient4398" y2="812.36" xlink:href="#linearGradient5761" gradientUnits="userSpaceOnUse" x2="532" gradientTransform="matrix(0.79999998,0,0,0.79999998,-1306.0622,-122.38971)" y1="812.36" x1="526"/>
+ <linearGradient id="linearGradient5761">
+ <stop stop-color="#FFF" offset="0"/>
+ <stop stop-color="#FFF" stop-opacity="0" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient4400" y2="812.36" xlink:href="#linearGradient5761" gradientUnits="userSpaceOnUse" x2="532" gradientTransform="matrix(0.79999998,0,0,0.79999998,-1300.0622,-122.38971)" y1="812.36" x1="526"/>
+ <linearGradient id="linearGradient4402" y2="812.36" xlink:href="#linearGradient5761" gradientUnits="userSpaceOnUse" x2="532" gradientTransform="matrix(0.79999998,0,0,0.79999998,-1294.0622,-122.38971)" y1="812.36" x1="526"/>
+ <linearGradient id="linearGradient4404" y2="812.36" xlink:href="#linearGradient5761" gradientUnits="userSpaceOnUse" x2="532" gradientTransform="matrix(0.79999998,0,0,0.79999998,-1288.0622,-122.38971)" y1="812.36" x1="526"/>
+ <linearGradient id="linearGradient4406" y2="43" xlink:href="#linearGradient3128" gradientUnits="userSpaceOnUse" x2="24" gradientTransform="matrix(-0.10810808,0,0,0.64864865,552.09444,858.29461)" y1="5" x1="24"/>
+ <linearGradient id="linearGradient4408" y2="812.36" xlink:href="#linearGradient5761" gradientUnits="userSpaceOnUse" x2="532" gradientTransform="matrix(0.79999998,0,0,0.79999998,-1306.0622,-1199.3897)" y1="812.36" x1="526"/>
+ <linearGradient id="linearGradient4410" y2="812.36" xlink:href="#linearGradient5761" gradientUnits="userSpaceOnUse" x2="532" gradientTransform="matrix(0.79999998,0,0,0.79999998,-1300.0622,-1199.3897)" y1="812.36" x1="526"/>
+ <linearGradient id="linearGradient4412" y2="812.36" xlink:href="#linearGradient5761" gradientUnits="userSpaceOnUse" x2="532" gradientTransform="matrix(0.79999998,0,0,0.79999998,-1294.0622,-1199.3897)" y1="812.36" x1="526"/>
+ <linearGradient id="linearGradient4414" y2="812.36" xlink:href="#linearGradient5761" gradientUnits="userSpaceOnUse" x2="532" gradientTransform="matrix(0.79999998,0,0,0.79999998,-1288.0622,-1199.3897)" y1="812.36" x1="526"/>
+ <linearGradient id="linearGradient4417" y2="448.3" xlink:href="#linearGradient3173" gradientUnits="userSpaceOnUse" x2="598.77" y1="475.7" x1="598.77"/>
+ </defs>
+ <metadata>
+ <rdf:RDF>
+ <cc:Work rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+ <dc:title/>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g transform="translate(0,-1020.3622)">
+ <g transform="translate(-523,163.00004)">
+ <rect opacity="0.4" height="3" width="4" y="885.36" x="550" fill="url(#radialGradient4384)"/>
+ <rect opacity="0.4" transform="scale(-1,-1)" height="3" width="4" y="-888.36" x="-527" fill="url(#radialGradient4386)"/>
+ <rect opacity="0.4" height="3" width="23" y="885.36" x="527" fill="url(#linearGradient4388)"/>
+ <rect stroke-linejoin="round" style="enable-background:accumulate;color:#000000;" stroke-dasharray="none" fill-rule="nonzero" stroke-dashoffset="0" height="26" width="16" stroke="url(#linearGradient4392)" stroke-linecap="round" stroke-miterlimit="4" y="860.86" x="530.5" stroke-width="1" fill="url(#radialGradient4390)"/>
+ <rect opacity="0.5" stroke-linejoin="round" stroke-dasharray="none" stroke-dashoffset="0" height="24" width="14" stroke="url(#linearGradient4394)" stroke-linecap="round" stroke-miterlimit="4" y="861.86" x="531.5" stroke-width="1" fill="none"/>
+ <path stroke-linejoin="miter" style="enable-background:accumulate;color:#000000;" d="m525.5,860.86c-0.554,0-1,0.446-1,1v24c0,0.554,0.446,1,1,1h2,2,1v-1-2-20-2-1h-1-2-2zm1,3,1,0,1,0,0,2-2,0,0-2zm0,6,2,0,0,2-2,0,0-2zm0,6,2,0,0,2-2,0,0-2zm0,6,2,0,0,2-1,0-1,0,0-2z" fill-opacity="0.78431373" fill-rule="nonzero" stroke-dashoffset="0" stroke="#000" stroke-linecap="round" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="0.99999994" fill="#000"/>
+ <path opacity="0.3" stroke-linejoin="miter" d="m525.5,861.86,0,24,1,0,3,0,0-3,0-18,0-3-3,0-1,0z" stroke-dashoffset="0" stroke="url(#linearGradient4396)" stroke-linecap="round" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="1" fill="none"/>
+ <rect opacity="0.12" stroke-linejoin="round" stroke-dasharray="none" transform="matrix(0,-1,1,0,0,0)" stroke-dashoffset="0" rx="1" ry="1" height="4" width="4" stroke="url(#linearGradient4398)" stroke-linecap="butt" stroke-miterlimit="4" y="525.5" x="-884.86" stroke-width="1" fill="none"/>
+ <rect opacity="0.12" stroke-linejoin="round" stroke-dasharray="none" transform="matrix(0,-1,1,0,0,0)" stroke-dashoffset="0" rx="1" ry="1" height="4" width="4" stroke="url(#linearGradient4400)" stroke-linecap="butt" stroke-miterlimit="4" y="525.5" x="-878.86" stroke-width="1" fill="none"/>
+ <rect opacity="0.12" stroke-linejoin="round" stroke-dasharray="none" transform="matrix(0,-1,1,0,0,0)" stroke-dashoffset="0" rx="1" ry="1" height="4" width="4" stroke="url(#linearGradient4402)" stroke-linecap="butt" stroke-miterlimit="4" y="525.5" x="-872.86" stroke-width="1" fill="none"/>
+ <rect opacity="0.12" stroke-linejoin="round" stroke-dasharray="none" transform="matrix(0,-1,1,0,0,0)" stroke-dashoffset="0" rx="1" ry="1" height="4" width="4" stroke="url(#linearGradient4404)" stroke-linecap="butt" stroke-miterlimit="4" y="525.5" x="-866.86" stroke-width="1" fill="none"/>
+ <rect opacity="0.4" fill-rule="evenodd" rx="1" ry="1" height="3" width="3" y="863.36" x="526" fill="#000"/>
+ <rect opacity="0.4" fill-rule="evenodd" rx="1" ry="1" height="3" width="3" y="869.36" x="526" fill="#000"/>
+ <rect opacity="0.4" fill-rule="evenodd" rx="1" ry="1" height="3" width="3" y="875.36" x="526" fill="#000"/>
+ <rect opacity="0.4" fill-rule="evenodd" rx="1" ry="1" height="3" width="3" y="881.36" x="526" fill="#000"/>
+ <path stroke-linejoin="miter" style="enable-background:accumulate;color:#000000;" d="m551.5,860.86c0.554,0,1,0.446,1,1v24c0,0.554-0.446,1-1,1h-2-2-1v-1-2-20-2-1h1,2,2zm-1,3-1,0-1,0,0,2,2,0,0-2zm0,6-2,0,0,2,2,0,0-2zm0,6-2,0,0,2,2,0,0-2zm0,6-2,0,0,2,1,0,1,0,0-2z" fill-opacity="0.78431373" fill-rule="nonzero" stroke-dashoffset="0" stroke="#000" stroke-linecap="round" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="0.99999994" fill="#000"/>
+ <path opacity="0.3" stroke-linejoin="miter" d="m551.5,861.86,0,24-1,0-3,0,0-3,0-18,0-3,3,0,1,0z" stroke-dashoffset="0" stroke="url(#linearGradient4406)" stroke-linecap="round" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="1" fill="none"/>
+ <rect opacity="0.12" stroke-linejoin="round" stroke-dasharray="none" transform="matrix(0,-1,-1,0,0,0)" stroke-dashoffset="0" rx="1" ry="1" height="4" width="4" stroke="url(#linearGradient4408)" stroke-linecap="butt" stroke-miterlimit="4" y="-551.5" x="-884.86" stroke-width="1" fill="none"/>
+ <rect opacity="0.12" stroke-linejoin="round" stroke-dasharray="none" transform="matrix(0,-1,-1,0,0,0)" stroke-dashoffset="0" rx="1" ry="1" height="4" width="4" stroke="url(#linearGradient4410)" stroke-linecap="butt" stroke-miterlimit="4" y="-551.5" x="-878.86" stroke-width="1" fill="none"/>
+ <rect opacity="0.12" stroke-linejoin="round" stroke-dasharray="none" transform="matrix(0,-1,-1,0,0,0)" stroke-dashoffset="0" rx="1" ry="1" height="4" width="4" stroke="url(#linearGradient4412)" stroke-linecap="butt" stroke-miterlimit="4" y="-551.5" x="-872.86" stroke-width="1" fill="none"/>
+ <rect opacity="0.12" stroke-linejoin="round" stroke-dasharray="none" transform="matrix(0,-1,-1,0,0,0)" stroke-dashoffset="0" rx="1" ry="1" height="4" width="4" stroke="url(#linearGradient4414)" stroke-linecap="butt" stroke-miterlimit="4" y="-551.5" x="-866.86" stroke-width="1" fill="none"/>
+ <rect opacity="0.4" transform="scale(-1,1)" fill-rule="evenodd" rx="1" ry="1" height="3" width="3" y="863.36" x="-551" fill="#000"/>
+ <rect opacity="0.4" transform="scale(-1,1)" fill-rule="evenodd" rx="1" ry="1" height="3" width="3" y="869.36" x="-551" fill="#000"/>
+ <rect opacity="0.4" transform="scale(-1,1)" fill-rule="evenodd" rx="1" ry="1" height="3" width="3" y="875.36" x="-551" fill="#000"/>
+ <rect opacity="0.4" transform="scale(-1,1)" fill-rule="evenodd" rx="1" ry="1" height="3" width="3" y="881.36" x="-551" fill="#000"/>
+ <path opacity="0.31999996" stroke-linejoin="round" d="m599.62,474.79,0-25.573l22.14,12.78z" fill-rule="evenodd" transform="matrix(0.45152364,0,0,0.43013404,262.75848,675.64025)" stroke="url(#linearGradient4417)" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="2.26912189" fill="url(#linearGradient4417)"/>
+ <path stroke-linejoin="round" d="m599.62,474.79,0-25.573l22.14,12.78z" fill-rule="evenodd" transform="matrix(0.36121892,0,0,0.35192785,317.90678,710.77151)" stroke="#FFF" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="2.80470967" fill="#fafafa"/>
+ </g>
+ </g>
+</svg>
diff --git a/core/img/filetypes/web.png b/core/img/filetypes/web.png
new file mode 100644
index 00000000000..c3802312645
--- /dev/null
+++ b/core/img/filetypes/web.png
Binary files differ
diff --git a/core/img/filetypes/web.svg b/core/img/filetypes/web.svg
new file mode 100644
index 00000000000..67775a2233b
--- /dev/null
+++ b/core/img/filetypes/web.svg
@@ -0,0 +1,45 @@
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="32" width="32" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/">
+ <metadata>
+ <rdf:RDF>
+ <cc:Work rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+ <dc:title/>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <defs>
+ <radialGradient id="radialGradient2418" gradientUnits="userSpaceOnUse" cy="24.149" cx="17.814" gradientTransform="matrix(-2.643979,0,2.93653e-8,2.534421,78.72514,-37.986139)" r="9.125">
+ <stop stop-color="#FFF" offset="0"/>
+ <stop stop-color="#b6b6b6" offset="1"/>
+ </radialGradient>
+ <linearGradient id="linearGradient3036" y2="-1.4615" gradientUnits="userSpaceOnUse" x2="62.2" gradientTransform="matrix(1.4102489,0,0,1.4102168,-71.718053,20.951038)" y1="-12.489" x1="62.2">
+ <stop stop-color="#FFF" offset="0"/>
+ <stop stop-color="#FFF" stop-opacity="0" offset="1"/>
+ </linearGradient>
+ <radialGradient id="radialGradient3040" gradientUnits="userSpaceOnUse" cy="-8.7256" cx="61.24" gradientTransform="matrix(0,2.3489394,-2.3489382,0,-4.4959784,-137.19908)" r="9.7553">
+ <stop stop-color="#51cfee" offset="0"/>
+ <stop stop-color="#49a3d2" offset="0.26238"/>
+ <stop stop-color="#3470b4" offset="0.70495"/>
+ <stop stop-color="#273567" offset="1"/>
+ </radialGradient>
+ <linearGradient id="linearGradient3042" y2="2.6887" gradientUnits="userSpaceOnUse" x2="20" gradientTransform="matrix(0.65334267,0,0,0.65332778,0.05996007,0.58024139)" y1="43" x1="20">
+ <stop stop-color="#254b6d" offset="0"/>
+ <stop stop-color="#415b73" offset="0.5"/>
+ <stop stop-color="#6195b5" offset="1"/>
+ </linearGradient>
+ <radialGradient id="radialGradient3045" gradientUnits="userSpaceOnUse" cy="4.625" cx="62.625" gradientTransform="matrix(1.4431373,0,0,0.58310714,-74.376473,23.107603)" r="10.625">
+ <stop stop-color="#000" offset="0"/>
+ <stop stop-color="#000" stop-opacity="0" offset="1"/>
+ </radialGradient>
+ </defs>
+ <path opacity="0.4" d="m31.333,25.804a15.333,6.1955,0,0,1,-30.667,0,15.333,6.1955,0,1,1,30.667,0z" fill-rule="evenodd" fill="url(#radialGradient3045)"/>
+ <path d="M29,15.999c0,7.18-5.821,13.001-13,13.001-7.1793,0-13-5.821-13-13.001,0-7.179,5.8207-12.999,13-12.999,7.179,0,13,5.8199,13,12.999z" fill-rule="nonzero" stroke="url(#linearGradient3042)" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="0.66666669" fill="url(#radialGradient3040)"/>
+ <path opacity="0.4" d="M16.219,3.4688l-1.563,0.1874-1.75,0.4688c0.148-0.0517,0.316-0.1067,0.469-0.1562l-0.219-0.3438-0.656,0.0938-0.344,0.3124-0.531,0.0938-0.469,0.2188-0.218,0.0937-0.063,0.0937-0.344,0.0626-0.219,0.4374-0.25-0.5312-0.0932,0.2188,0.0312,0.5937-0.4062,0.375-0.25,0.6563h0.5l0.2182-0.4376,0.063-0.1562c0.228-0.1612,0.456-0.3448,0.687-0.5l0.532,0.1875c0.08,0.055,0.169,0.101,0.25,0.1563l-1.532,0.3124,0.5,0.375h0.126c-1.3646,1.3155-3.5724,3.8488-4.1255,8.2808,0.024,0.113,0.4375,0.782,0.4375,0.782l1,0.562,0.9688,0.282,0.4374,0.531,0.6558,0.5,0.376-0.094,0.281,0.156v0.094l-0.375,1-0.282,0.437,0.094,0.188-0.2498,0.812,0.8438,1.532,0.844,0.75,0.406,0.531-0.062,1.125,0.281,0.656-0.281,1.219c-0.005,0.013-0.019,0.032,0,0.094,0.036,0.123,1.5,0.944,1.593,0.875,0.093-0.071,0.188-0.125,0.188-0.125l-0.094-0.281,0.375-0.344,0.156-0.375,0.594-0.219,0.469-1.156-0.125-0.344,0.312-0.469,0.719-0.187,0.375-0.844-0.094-1.062,0.563-0.782,0.093-0.812c-0.771-0.384-1.546-0.793-2.312-1.188l-0.375-0.718-0.687-0.157-0.407-1.031-0.906,0.125-0.813-0.594-0.843,0.75v0.094c-0.256-0.074-0.585-0.079-0.8128-0.219l-0.1562-0.531v-0.594l-0.5938,0.063c0.0471-0.374,0.1089-0.752,0.1563-1.125h-0.3437l-0.3438,0.437-0.3125,0.156-0.4687-0.281-0.0313-0.562,0.0937-0.657,0.6876-0.531h0.5624l0.125-0.312,0.6876,0.156,0.5002,0.656,0.093-1.093,0.907-0.719,0.312-0.813,0.688-0.25,0.343-0.562,0.876-0.1565,0.406-0.625h-1.282l0.813-0.375h0.563l0.718-0.25,0.156,0.6875,0.313-0.5-0.375-0.25,0.094-0.2812-0.282-0.2813-0.312-0.0625,0.062-0.3438-0.218-0.4687-0.156,0.0625,0.468-0.7188c0.759-0.2351,1.44-0.4872,2.156-0.8124l-0.062,0.3124,0.375,0.25,0.625-0.4374-0.312-0.3438-0.438,0.2188-0.125-0.0313c0.031-0.0142,0.063-0.0168,0.094-0.0313l0.625-1.625-1.375-0.5624zm-3.563,0.7812l-0.344,0.3125,0.876,0.5937,0.593-0.1874-0.406,0.2812h-0.063l0.219,0.1562v0.4688l-0.469,0.5,0.126,0.25-0.5,0.875,0.031,0.3125-0.5,0.2187-0.313,0.6876-0.156-0.6563-0.875-0.3437-0.156-0.5,1.187-0.6876,0.438-0.4062c0.019,0.0129,0.043,0.0183,0.062,0.0312l0.5-0.4687-0.437-0.1875v-0.0312l-0.063-0.0313-0.062,0.0313-0.032-0.0313,0.063-0.0313-0.094-0.0312-0.219-0.4688-1-0.125-0.031-0.0937,0.438,0.0625,0.25-0.25,0.531-0.0938c0.128-0.0622,0.277-0.1055,0.406-0.1562zm-0.281,1.1562l0.031,0.0313,0.906-0.1875-0.124-0.0938-0.813,0.25zm11.687,0l-0.25,0.1563v0.3437l-0.937,0.5938,0.187,0.875,0.532-0.375,0.344,0.375,0.374,0.2188,0.25-0.6563-0.124-0.375,0.124-0.2813,0.282-0.25c-0.251-0.2223-0.515-0.4216-0.782-0.625zm-12.437,0.25l-0.063,0.1876s-0.398,0.0687-0.5,0.0937c-0.019,0.018-0.042,0.0438-0.062,0.0625v-0.1562l0.625-0.1876zm13.5,0.625l-0.031,0.0626v0.5c0.162-0.0442,0.335-0.0728,0.5-0.0938-0.154-0.159-0.308-0.3175-0.469-0.4688zm-3.687,0.0626v0.3437l0.218,0.25v0.5313l-0.125,0.7187,0.594-0.125,0.406-0.4063-0.375-0.375c-0.124-0.3308-0.251-0.6201-0.406-0.9374h-0.312zm4.218,0.4687l-0.5,0.375-0.062,0.25-0.719,0.625-0.719-0.1875v-0.4375l-0.344,0.2187,0.157,0.4063h-0.531l-0.313,0.5-0.344,0.4063-0.656,0.125,0.375,0.375,0.094,0.375h-0.469l-0.625,0.3442v1h0.281l0.281,0.281,0.594-0.281,0.219-0.594,0.469-0.282,0.094-0.218,0.718-0.1878,0.406,0.4378,0.407,0.25-0.25,0.468,0.406-0.093,0.187-0.5-0.5-0.5628h0.219l0.5,0.4058,0.063,0.532,0.437,0.5,0.125-0.719,0.219-0.125c0.239,0.249,0.423,0.563,0.625,0.844l0.75,0.031,0.406,0.281-0.187,0.282-0.438,0.406h-0.625l-0.812-0.282-0.438,0.063-0.312,0.344-0.906-0.907-0.626-0.187-0.937,0.125-0.813,0.219c-0.462,0.524-0.937,1.049-1.374,1.593l-0.5,1.282,0.25,0.281-0.469,0.625,0.5,1.156c0.412,0.467,0.838,0.94,1.25,1.406l0.593-0.531,0.25,0.313,0.657-0.406,0.219,0.25h0.656l0.375,0.406-0.219,0.781,0.469,0.531-0.031,0.875,0.343,0.657-0.25,0.562c-0.024,0.404-0.062,0.815-0.062,1.219,0.198,0.547,0.406,1.073,0.593,1.625l0.126,0.875v0.469h0.218c0.885-0.838,1.651-1.794,2.282-2.844,0.482-0.804,0.881-1.661,1.187-2.563v-0.656l0.437-0.937c0.179-0.869,0.282-1.768,0.282-2.688,0-3.561-1.408-6.7926-3.688-9.1875zm-4.718,0.25l-0.344,0.125,0.094,0.6563,0.468-0.25-0.218-0.5313zm6.593,5.9375l0.531,0.625,0.657,1.406,0.406,0.438-0.187,0.469,0.343,0.437c-0.165,0.011-0.33,0.031-0.5,0.031-0.308-0.649-0.546-1.32-0.781-2l-0.406-0.437-0.219-0.813,0.156-0.156z" fill-rule="nonzero" fill="#000"/>
+ <path opacity="0.4" d="m28.333,15.999c0,6.812-5.5222,12.334-12.333,12.334-6.8111,0-12.333-5.5221-12.333-12.334-0.0003-6.811,5.5216-12.332,12.333-12.332,6.8107,0,12.333,5.5215,12.333,12.333z" stroke="url(#linearGradient3036)" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="0.66666704" fill="none"/>
+ <g transform="matrix(0.66660406,-0.00913426,0.00913426,0.66660406,-0.1924644,0.35723586)" stroke-dashoffset="0" stroke-linecap="butt" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="1">
+ <path stroke-linejoin="round" d="m30.5,20.937,17,16.5-7.75,0.25s3.25,6.75,3.25,6.75c1,3-3.5,4.125-4.25,1.875,0,0-3-6.75-3-6.75l-5.5,5.875,0.25-24.5z" fill-rule="evenodd" stroke="#666" fill="url(#radialGradient2418)"/>
+ <path opacity="0.4" stroke-linejoin="miter" d="m31.657,23.379,13.476,13.186-6.9219,0.27746s3.8721,7.7566,3.8721,7.7566c0.40273,1.6501-2.0283,2.4126-2.5071,1.1529,0,0-3.6831-7.845-3.6831-7.845l-4.4247,4.7083,0.18907-19.236z" stroke="#FFF" fill="none"/>
+ </g>
+</svg>
diff --git a/core/img/filetypes/x-.png b/core/img/filetypes/x-.png
deleted file mode 100644
index 8443c23eb94..00000000000
--- a/core/img/filetypes/x-.png
+++ /dev/null
Binary files differ
diff --git a/core/img/filetypes/x-office-document.png b/core/img/filetypes/x-office-document.png
new file mode 100644
index 00000000000..fcd28e9a292
--- /dev/null
+++ b/core/img/filetypes/x-office-document.png
Binary files differ
diff --git a/core/img/filetypes/x-office-document.svg b/core/img/filetypes/x-office-document.svg
new file mode 100644
index 00000000000..fc51a3a1b70
--- /dev/null
+++ b/core/img/filetypes/x-office-document.svg
@@ -0,0 +1,60 @@
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="32px" width="32px" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/">
+ <defs>
+ <linearGradient id="linearGradient3128" y2="43" gradientUnits="userSpaceOnUse" x2="24" gradientTransform="matrix(0.66891894,0,0,0.72972973,1.8209495,-2.513506)" y1="5.5641" x1="24">
+ <stop stop-color="#FFF" offset="0"/>
+ <stop stop-color="#FFF" stop-opacity="0.23529412" offset="0.036262"/>
+ <stop stop-color="#FFF" stop-opacity="0.15686275" offset="0.95056"/>
+ <stop stop-color="#FFF" stop-opacity="0.39215687" offset="1"/>
+ </linearGradient>
+ <radialGradient id="radialGradient3134" fx="7.2758" gradientUnits="userSpaceOnUse" cy="9.9571" cx="7.8061" gradientTransform="matrix(-1.1778817e-7,4.3521887,-5.895642,-1.3064099e-7,75.941947,-39.43508)" r="12.672">
+ <stop stop-color="#90dbec" offset="0"/>
+ <stop stop-color="#55c1ec" offset="0.26238"/>
+ <stop stop-color="#3689e6" offset="0.70495"/>
+ <stop stop-color="#2b63a0" offset="1"/>
+ </radialGradient>
+ <linearGradient id="linearGradient3071" y2="6.0421" gradientUnits="userSpaceOnUse" y1="36.042" gradientTransform="translate(-2.9820961,-6.0420673)" x2="21.982" x1="21.982">
+ <stop stop-color="#AAA" offset="0"/>
+ <stop stop-color="#c8c8c8" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient3119" y2="43" gradientUnits="userSpaceOnUse" x2="24" gradientTransform="matrix(0.56756757,0,0,0.72972971,2.378382,-2.5135063)" y1="5.5641" x1="24">
+ <stop stop-color="#FFF" offset="0"/>
+ <stop stop-color="#FFF" stop-opacity="0.23529412" offset="0.036262"/>
+ <stop stop-color="#FFF" stop-opacity="0.15686275" offset="0.95056"/>
+ <stop stop-color="#FFF" stop-opacity="0.39215687" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient3122" y2="47.013" gradientUnits="userSpaceOnUse" x2="25.132" gradientTransform="matrix(0.65714319,0,0,0.63012397,0.228556,-1.0896478)" y1="0.98521" x1="25.132">
+ <stop stop-color="#f4f4f4" offset="0"/>
+ <stop stop-color="#dbdbdb" offset="1"/>
+ </linearGradient>
+ <radialGradient id="radialGradient3045" xlink:href="#linearGradient5060" gradientUnits="userSpaceOnUse" cy="486.65" cx="605.71" gradientTransform="matrix(0.01566318,0,0,0.00823529,17.610433,25.980565)" r="117.14"/>
+ <linearGradient id="linearGradient5060">
+ <stop stop-color="#000" offset="0"/>
+ <stop stop-color="#000" stop-opacity="0" offset="1"/>
+ </linearGradient>
+ <radialGradient id="radialGradient3048" xlink:href="#linearGradient5060" gradientUnits="userSpaceOnUse" cy="486.65" cx="605.71" gradientTransform="matrix(-0.01566318,0,0,0.00823529,14.389566,25.980565)" r="117.14"/>
+ <linearGradient id="linearGradient3936" y2="609.51" gradientUnits="userSpaceOnUse" y1="366.65" gradientTransform="matrix(0.04576928,0,0,0.00823529,-0.5423243,25.980548)" x2="302.86" x1="302.86">
+ <stop stop-color="#000" stop-opacity="0" offset="0"/>
+ <stop stop-color="#000" offset="0.5"/>
+ <stop stop-color="#000" stop-opacity="0" offset="1"/>
+ </linearGradient>
+ </defs>
+ <metadata>
+ <rdf:RDF>
+ <cc:Work rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+ <dc:title/>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <rect opacity="0.15" fill-rule="nonzero" height="2" width="22.1" y="29" x="4.95" fill="url(#linearGradient3936)"/>
+ <path opacity="0.15" d="m4.95,29v1.9999c-0.80662,0.0038-1.95-0.44807-1.95-1.0001,0-0.552,0.90012-0.99982,1.95-0.99982z" fill-rule="nonzero" fill="url(#radialGradient3048)"/>
+ <path opacity="0.15" d="m27.05,29v1.9999c0.80661,0.0038,1.95-0.44807,1.95-1.0001,0-0.552-0.90012-0.99982-1.95-0.99982z" fill-rule="nonzero" fill="url(#radialGradient3045)"/>
+ <path d="m4.5,0.49996c5.2705,0,23,0.00185,23,0.00185l0.000028,28.998h-23v-29z" fill="url(#linearGradient3122)"/>
+ <path stroke-linejoin="round" d="m26.5,28.5-21,0,0-27,21,0z" stroke-dashoffset="0" stroke="url(#linearGradient3119)" stroke-linecap="round" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="0.99999994" fill="none"/>
+ <path stroke-linejoin="miter" d="m11,5.505,1.3436,0zm1.6874,0,2.1875,0zm2.5312,0,1.9375,0zm2.25,0,0.84375,0zm1.1875,0,1.875,0zm2.25,0,3.0938,0zm-9.9061,2,2.6561,0zm3.0624,0,1.75,0zm2.0625,0,0.875,0zm1.2188,0,1.5938,0zm1.9375,0,1.625,0zm1.9375,0,2.5938,0zm-10.219,1.995,3.2811,0zm3.6249,0,4.625,0zm4.9375,0,1.8438,0zm-9.906,2h1.5938zm1.0936,0,5.9062,0zm-1.0936,3.0372,2.0936,0zm2.4061,0,5.0625,0zm5.375,0,2.4688,0zm2.7812,0,2.3125,0zm-10.562,1.963h1.3436zm1.6874,0,2.1562,0zm2.5312,0,1.9375,0zm2.25,0,0.84375,0zm1.1875,0,1.875,0zm2.25,0,3.0938,0zm-9.9061,2.0753,3.2811,0zm3.6249,0,4.625,0zm4.9375,0,1.8438,0zm-8.562,2.925h2.0936zm2.4061,0,5.0625,0zm5.375,0,2.4688,0zm-7.7811,2,2.8749,0zm3.2186,0,1.2188,0zm1.5312,0,2.7812,0zm3.0938,0,4.0938,0zm-7.8436,2,2.8749,0zm3.2186,0,1.75,0zm2.0625,0,2.75,0zm3.0625,0,2.9688,0z" stroke="url(#linearGradient3071)" stroke-linecap="butt" stroke-width="1px" fill="none"/>
+ <path style="enable-background:accumulate;color:#000000;" d="m8.0261,29.5h-3.3605c-0.31067-0.34338-0.074432-1.0251-0.14825-1.5112v-27.322l0.043327-0.11794,0.10492-0.048698h3.3084" fill-rule="nonzero" fill="url(#radialGradient3134)"/>
+ <path opacity="0.5" stroke-linejoin="round" d="m8.5,28.5-3,0,0-27,3,0" stroke-dashoffset="0" stroke="url(#linearGradient3128)" stroke-linecap="butt" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="0.99999994" fill="none"/>
+ <path opacity="0.3" stroke-linejoin="round" d="m4.5,0.49996c5.2705,0,23,0.00185,23,0.00185l0.000028,28.998h-23v-29z" stroke-dashoffset="0" stroke="#000" stroke-linecap="butt" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="0.99992186" fill="none"/>
+</svg>
diff --git a/core/img/filetypes/x-office-presentation.png b/core/img/filetypes/x-office-presentation.png
new file mode 100644
index 00000000000..7ee552ba7c8
--- /dev/null
+++ b/core/img/filetypes/x-office-presentation.png
Binary files differ
diff --git a/core/img/filetypes/x-office-presentation.svg b/core/img/filetypes/x-office-presentation.svg
new file mode 100644
index 00000000000..821798d50fd
--- /dev/null
+++ b/core/img/filetypes/x-office-presentation.svg
@@ -0,0 +1,109 @@
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="32" width="32" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/">
+ <defs>
+ <linearGradient id="linearGradient5060">
+ <stop stop-color="#000" offset="0"/>
+ <stop stop-color="#000" stop-opacity="0" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient3012" y2="43" gradientUnits="userSpaceOnUse" x2="24" gradientTransform="matrix(0.72972916,0,0,0.56756756,-1.5145621,3.3783836)" y1="3.5542" x1="24">
+ <stop stop-color="#FFF" offset="0"/>
+ <stop stop-color="#FFF" stop-opacity="0.23529412" offset="0.11257"/>
+ <stop stop-color="#FFF" stop-opacity="0.15686275" offset="0.95056"/>
+ <stop stop-color="#FFF" stop-opacity="0.39215687" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient3015" y2="47.013" gradientUnits="userSpaceOnUse" x2="25.132" gradientTransform="matrix(0.82857173,0,0,0.49975339,-3.8857226,4.2392369)" y1="0.98521" x1="25.132">
+ <stop stop-color="#f4f4f4" offset="0"/>
+ <stop stop-color="#dbdbdb" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient3017" y2="2.9062" gradientUnits="userSpaceOnUse" x2="-51.786" gradientTransform="matrix(0.66906899,0,0,0.46769474,45.339917,3.6822722)" y1="50.786" x1="-51.786">
+ <stop stop-color="#a0a0a0" offset="0"/>
+ <stop stop-color="#bebebe" offset="1"/>
+ </linearGradient>
+ <radialGradient id="radialGradient3020" xlink:href="#linearGradient5060" gradientUnits="userSpaceOnUse" cy="486.65" cx="605.71" gradientTransform="matrix(0.01927775,0,0,0.0082353,17.982069,24.980564)" r="117.14"/>
+ <radialGradient id="radialGradient3023" xlink:href="#linearGradient5060" gradientUnits="userSpaceOnUse" cy="486.65" cx="605.71" gradientTransform="matrix(-0.01927775,0,0,0.0082353,14.01793,24.980564)" r="117.14"/>
+ <linearGradient id="linearGradient3026" y2="609.51" gradientUnits="userSpaceOnUse" x2="302.86" gradientTransform="matrix(0.05633135,0,0,0.0082353,-4.3597632,24.980547)" y1="366.65" x1="302.86">
+ <stop stop-color="#000" stop-opacity="0" offset="0"/>
+ <stop stop-color="#000" offset="0.5"/>
+ <stop stop-color="#000" stop-opacity="0" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient3076" y2="43" gradientUnits="userSpaceOnUse" y1="5.5641" gradientTransform="matrix(0.66891892,0,0,0.56756756,-1.17905,3.378385)" x2="24" x1="24">
+ <stop stop-color="#FFF" offset="0"/>
+ <stop stop-color="#FFF" stop-opacity="0.23529412" offset="0.036262"/>
+ <stop stop-color="#FFF" stop-opacity="0.15686275" offset="0.95056"/>
+ <stop stop-color="#FFF" stop-opacity="0.39215687" offset="1"/>
+ </linearGradient>
+ <radialGradient id="radialGradient3192" gradientUnits="userSpaceOnUse" fx="7.2758" cx="7.8061" cy="9.9571" r="12.672" gradientTransform="matrix(-1.3251168e-7,3.451736,-6.6325968,-1.0361182e-7,81.872186,-26.172651)">
+ <stop stop-color="#f9c590" offset="0"/>
+ <stop stop-color="#f19860" offset="0.39698"/>
+ <stop stop-color="#ce5d36" offset="1"/>
+ </radialGradient>
+ <linearGradient id="linearGradient3194" y2="0.91791" gradientUnits="userSpaceOnUse" y1="47.935" gradientTransform="matrix(0.81962722,0,0,0.52284254,-3.8315518,5.2357996)" x2="25" x1="25">
+ <stop stop-color="#71171c" offset="0"/>
+ <stop stop-color="#ed8137" offset="1"/>
+ </linearGradient>
+ <clipPath id="clipPath3877">
+ <path style="enable-background:accumulate;color:#000000;" fill-rule="nonzero" fill="#FFF" d="m10.751-0.72642,19.105,0.025195,0,10.481-19.105-0.025202z"/>
+ </clipPath>
+ <linearGradient id="linearGradient3514" y2="25.647" gradientUnits="userSpaceOnUse" x2="22.004" gradientTransform="matrix(1.3394176,0,0,-1.9826305,-11.198083,94.86293)" y1="63.218" x1="22.004">
+ <stop stop-color="#AAA" offset="0"/>
+ <stop stop-color="#c8c8c8" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient3550" y2="37.546" gradientUnits="userSpaceOnUse" x2="25.132" gradientTransform="matrix(1.081295,0,0,0.62485417,-6.1734925,-3.6471464)" y1="15.285" x1="25.132">
+ <stop stop-color="#f4f4f4" offset="0"/>
+ <stop stop-color="#dbdbdb" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient3552" y2="17.555" gradientUnits="userSpaceOnUse" x2="-51.786" gradientTransform="matrix(0.87314224,0,0,0.58477041,58.066492,-4.3435334)" y1="41.798" x1="-51.786">
+ <stop stop-color="#AAA" offset="0"/>
+ <stop stop-color="#c8c8c8" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient3554" y2="35.721" gradientUnits="userSpaceOnUse" x2="24" gradientTransform="matrix(1.0820661,0,0,0.61449222,-5.6480107,-2.535845)" y1="14.203" x1="24">
+ <stop stop-color="#FFF" offset="0"/>
+ <stop stop-color="#FFF" stop-opacity="0" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient3556" y2="37.546" gradientUnits="userSpaceOnUse" x2="25.132" gradientTransform="matrix(1,0,0,0.9561695,-0.49905668,-2.9300489)" y1="15.285" x1="25.132">
+ <stop stop-color="#f4f4f4" offset="0"/>
+ <stop stop-color="#dbdbdb" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient3558" y2="17.555" gradientUnits="userSpaceOnUse" x2="-51.786" gradientTransform="matrix(0.8074968,0,0,0.8948322,58.911175,-3.9956799)" y1="41.798" x1="-51.786">
+ <stop stop-color="#AAA" offset="0"/>
+ <stop stop-color="#c8c8c8" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient3560" y2="35.721" gradientUnits="userSpaceOnUse" x2="24" gradientTransform="matrix(1.0351164,0,0,0.9866216,-0.70291674,-2.1699512)" y1="14.203" x1="24">
+ <stop stop-color="#FFF" offset="0"/>
+ <stop stop-color="#FFF" stop-opacity="0" offset="1"/>
+ </linearGradient>
+ </defs>
+ <metadata>
+ <rdf:RDF>
+ <cc:Work rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+ <dc:title/>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <rect opacity="0.15" fill-rule="nonzero" height="2" width="27.2" y="28" x="2.4" fill="url(#linearGradient3026)"/>
+ <path opacity="0.15" d="m2.4,28v1.9999c-0.9928,0.004-2.4-0.448-2.4-1s1.1078-1,2.4-1z" fill-rule="nonzero" fill="url(#radialGradient3023)"/>
+ <path opacity="0.15" d="m29.6,28v1.9999c0.99276,0.0038,2.4-0.44808,2.4-1.0001,0-0.552-1.1078-0.99982-2.4-0.99982z" fill-rule="nonzero" fill="url(#radialGradient3020)"/>
+ <g stroke-linejoin="round" opacity="0.5" clip-path="url(#clipPath3877)" stroke-dashoffset="0" transform="matrix(1.6122259,0,0,1.1260917,-16.324081,-7.0128768)" stroke-linecap="butt" stroke-miterlimit="4">
+ <path style="enable-background:accumulate;color:#000000;" d="m13.531,7.5891,13.037,0,0,24.901-13.037,0z" fill-rule="nonzero" stroke="url(#linearGradient3558)" stroke-width="0.74210644" fill="url(#linearGradient3556)"/>
+ <path opacity="0.6" style="enable-background:accumulate;color:#000000;" d="m14.31,9.4115,11.413,0,0,22.194-11.413,0z" stroke="url(#linearGradient3560)" stroke-width="0.74210638" fill="none"/>
+ </g>
+ <g stroke-linejoin="round" stroke-dashoffset="0" transform="translate(0,1)" stroke-linecap="butt" stroke-miterlimit="4" stroke-width="0.9999218">
+ <path opacity="0.75" style="enable-background:accumulate;color:#000000;" d="m3.5,2.5,25,0.037621,0,16.962-24.859,0z" fill-rule="nonzero" stroke="url(#linearGradient3552)" fill="url(#linearGradient3550)"/>
+ <path opacity="0.45" style="enable-background:accumulate;color:#000000;" d="m4.5,3.5,23,0.016517-0.11298,14.984-22.701,0z" stroke="url(#linearGradient3554)" fill="none"/>
+ </g>
+ <path stroke-linejoin="round" d="m1.5,5.5c6.6454,0,29,0.00149,29,0.00149l0.000036,22.999h-29v-23z" stroke-dashoffset="0" stroke="url(#linearGradient3017)" stroke-linecap="butt" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="0.9999218" fill="url(#linearGradient3015)"/>
+ <path stroke-linejoin="miter" d="m29.5,27.5-27,0,0-21h27z" stroke-dashoffset="0" stroke="url(#linearGradient3012)" stroke-linecap="round" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="0.99999994" fill="none"/>
+ <path stroke-linejoin="round" style="enable-background:accumulate;color:#000000;" d="m6,28.5h-4.3138c-0.3495-0.27233-0.083736-0.81302-0.16678-1.1986v-21.669l0.048743-0.093529,0.11803-0.038626h4.2551" fill-rule="nonzero" stroke-dashoffset="0" stroke="url(#linearGradient3194)" stroke-linecap="butt" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="1" fill="url(#radialGradient3192)"/>
+ <path opacity="0.5" stroke-linejoin="round" d="m5.5,27.5-3,0,0-21,3,0" stroke-dashoffset="0" stroke="url(#linearGradient3076)" stroke-linecap="round" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="0.99999994" fill="none"/>
+ <path stroke-linejoin="miter" d="m11,8.5,4,0" stroke="#AAA" stroke-linecap="butt" stroke-width="1px" fill="none"/>
+ <path stroke-linejoin="miter" d="m16,8.5,2,0" stroke="#AAA" stroke-linecap="butt" stroke-width="1px" fill="none"/>
+ <path stroke-linejoin="miter" d="m19,8.5,1,0" stroke="#AAA" stroke-linecap="butt" stroke-width="1px" fill="none"/>
+ <path stroke-linejoin="miter" d="m21,8.5,2,0" stroke="#AAA" stroke-linecap="butt" stroke-width="1px" fill="none"/>
+ <g transform="matrix(1.1415362,0,0,1.1415362,-13.519352,-19.587007)" fill-rule="nonzero">
+ <path opacity="0.4" style="enable-background:accumulate;color:#000000;" d="m34.75,25.813a3.8795,3.8795,0,1,1,-2.0522,-3.4222l-1.8273,3.4222z" transform="matrix(1.57008,0,0,1.57008,-16.477866,-6.8527053)" fill="#FFF"/>
+ <path opacity="0.15" style="enable-background:accumulate;color:#000000;" d="m34.75,25.813a3.8795,3.8795,0,1,1,-2.0522,-3.4222l-1.8273,3.4222z" transform="matrix(1.57008,0,0,1.57008,-16.477866,-7.6014805)" fill="#000"/>
+ </g>
+ <path style="baseline-shift:baseline;block-progression:tb;color:#000000;direction:ltr;text-indent:0;text-align:start;enable-background:accumulate;text-transform:none;" fill="url(#linearGradient3514)" d="m7.1562,25,0-1,2.2188,0,0,1zm2.6562,0,0-1,6.3438,0,0,1zm-2.6562-4,0-1,2.9688,0,0,1zm3.7188,0,0-1,2.3438,0,0,1zm2.9375,0,0-1,1.1875,0,0,1zm-6.6562-4,0-1,3.2812,0,0,1zm3.875,0,0-1,1.6562,0,0,1zm2.2188,0,0-1,1.75,0,0,1zm-6.0938-4,0-1,3.2812,0,0,1zm3.9062,0,0-1,2.3438,0,0,1z"/>
+</svg>
diff --git a/core/img/filetypes/x-office-spreadsheet.png b/core/img/filetypes/x-office-spreadsheet.png
new file mode 100644
index 00000000000..dfdc74a8bf6
--- /dev/null
+++ b/core/img/filetypes/x-office-spreadsheet.png
Binary files differ
diff --git a/core/img/filetypes/x-office-spreadsheet.svg b/core/img/filetypes/x-office-spreadsheet.svg
new file mode 100644
index 00000000000..af40bb252a2
--- /dev/null
+++ b/core/img/filetypes/x-office-spreadsheet.svg
@@ -0,0 +1,64 @@
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="32px" width="32px" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/">
+ <defs>
+ <linearGradient id="linearGradient3119" y2="43" gradientUnits="userSpaceOnUse" x2="24" gradientTransform="matrix(0.56756757,0,0,0.72972971,2.378382,-2.5135063)" y1="5.5641" x1="24">
+ <stop stop-color="#FFF" offset="0"/>
+ <stop stop-color="#FFF" stop-opacity="0.23529412" offset="0.036262"/>
+ <stop stop-color="#FFF" stop-opacity="0.15686275" offset="0.95056"/>
+ <stop stop-color="#FFF" stop-opacity="0.39215687" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient3122" y2="47.013" gradientUnits="userSpaceOnUse" x2="25.132" gradientTransform="matrix(0.65714319,0,0,0.63012397,0.228556,-1.0896478)" y1="0.98521" x1="25.132">
+ <stop stop-color="#f4f4f4" offset="0"/>
+ <stop stop-color="#dbdbdb" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient3124" y2="2.9062" gradientUnits="userSpaceOnUse" x2="-51.786" gradientTransform="matrix(0.53064102,0,0,0.58970216,39.269585,-1.7919079)" y1="50.786" x1="-51.786">
+ <stop stop-color="#a0a0a0" offset="0"/>
+ <stop stop-color="#bebebe" offset="1"/>
+ </linearGradient>
+ <radialGradient id="radialGradient3045" xlink:href="#linearGradient5060" gradientUnits="userSpaceOnUse" cy="486.65" cx="605.71" gradientTransform="matrix(0.01566318,0,0,0.00823529,17.610433,25.980565)" r="117.14"/>
+ <linearGradient id="linearGradient5060">
+ <stop stop-color="#000" offset="0"/>
+ <stop stop-color="#000" stop-opacity="0" offset="1"/>
+ </linearGradient>
+ <radialGradient id="radialGradient3048" xlink:href="#linearGradient5060" gradientUnits="userSpaceOnUse" cy="486.65" cx="605.71" gradientTransform="matrix(-0.01566318,0,0,0.00823529,14.389566,25.980565)" r="117.14"/>
+ <linearGradient id="linearGradient3180" y2="609.51" gradientUnits="userSpaceOnUse" y1="366.65" gradientTransform="matrix(0.04576928,0,0,0.00823529,-0.5423243,25.980548)" x2="302.86" x1="302.86">
+ <stop stop-color="#000" stop-opacity="0" offset="0"/>
+ <stop stop-color="#000" offset="0.5"/>
+ <stop stop-color="#000" stop-opacity="0" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient3522">
+ <stop stop-color="#a3c0d0" offset="0"/>
+ <stop stop-color="#5a8caa" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient3160" y2="46.562" xlink:href="#linearGradient3522" gradientUnits="userSpaceOnUse" x2="19.515" gradientTransform="matrix(0.66297508,0,0,0.5353155,-0.83152673,1.3896027)" y1="12.443" x1="19.515"/>
+ <linearGradient id="linearGradient3163" y2="46.562" xlink:href="#linearGradient3522" gradientUnits="userSpaceOnUse" x2="19.515" gradientTransform="matrix(0.5348003,0,0,0.65679881,2.2155346,-0.57397791)" y1="12.443" x1="19.515"/>
+ </defs>
+ <metadata>
+ <rdf:RDF>
+ <cc:Work rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+ <dc:title/>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <rect opacity="0.15" fill-rule="nonzero" height="2" width="22.1" y="29" x="4.95" fill="url(#linearGradient3180)"/>
+ <path opacity="0.15" d="m4.95,29v1.9999c-0.80662,0.0038-1.95-0.44807-1.95-1.0001,0-0.552,0.90012-0.99982,1.95-0.99982z" fill-rule="nonzero" fill="url(#radialGradient3048)"/>
+ <path opacity="0.15" d="m27.05,29v1.9999c0.80661,0.0038,1.95-0.44807,1.95-1.0001,0-0.552-0.90012-0.99982-1.95-0.99982z" fill-rule="nonzero" fill="url(#radialGradient3045)"/>
+ <path stroke-linejoin="round" d="m4.5,0.49996c5.2705,0,23,0.00185,23,0.00185l0.000028,28.998h-23v-29z" stroke-dashoffset="0" stroke="url(#linearGradient3124)" stroke-linecap="butt" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="0.99992186" fill="url(#linearGradient3122)"/>
+ <path stroke-linejoin="round" d="m26.5,28.5-21,0,0-27,21,0z" stroke-dashoffset="0" stroke="url(#linearGradient3119)" stroke-linecap="round" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="0.99999994" fill="none"/>
+ <path d="m8.5605,7.7356,3.0828,0,0,17.645-3.0828,0,0-17.645z" fill="url(#linearGradient3163)"/>
+ <path d="m11,6,12.036,0,0,2-12.036,0,0-2z" fill="url(#linearGradient3160)"/>
+ <rect height="2.0746" width="3.0786" y="5.9254" x="8.0005" fill="#c0d4df"/>
+ <path stroke-linejoin="miter" d="m15.5,5.5,0,20" stroke-opacity="0.3241762" stroke="#2c465d" stroke-linecap="butt" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="0.99999994" fill="none"/>
+ <path stroke-linejoin="miter" d="m23.333,8.5-14.667,0" stroke="#6c6c6c" stroke-linecap="butt" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="1" fill="none"/>
+ <path stroke-linejoin="miter" d="m23.334,10.5-14.667,0" stroke-opacity="0.3241762" stroke="#2c465d" stroke-linecap="butt" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="0.99999994" fill="none"/>
+ <path stroke-linejoin="miter" d="m23.5,13.5-15,0" stroke-opacity="0.3241762" stroke="#2c465d" stroke-linecap="butt" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="0.99999994" fill="none"/>
+ <path stroke-linejoin="miter" d="m23.5,16.5-15,0" stroke-opacity="0.3241762" stroke="#2c465d" stroke-linecap="butt" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="0.99999994" fill="none"/>
+ <path stroke-linejoin="miter" d="m23.5,19.5-15,0" stroke-opacity="0.3241762" stroke="#2c465d" stroke-linecap="butt" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="0.99999994" fill="none"/>
+ <path opacity="0.2" stroke-linejoin="round" d="M8.5005,6.5093,22.447,6.4907" fill-rule="evenodd" stroke="#FFF" stroke-linecap="square" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="1" fill="#FFF"/>
+ <path stroke-linejoin="miter" d="m11.5,5.5,0,20" stroke="#6c6c6c" stroke-linecap="butt" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="0.99999994" fill="none"/>
+ <rect stroke-linejoin="miter" stroke-dasharray="none" stroke-dashoffset="0" height="19.998" width="14.998" stroke="#6c6c6c" stroke-linecap="square" stroke-miterlimit="4" y="5.5011" x="8.5011" stroke-width="1.0022" fill="none"/>
+ <path stroke-linejoin="miter" d="m23.5,22.5-15,0" stroke-opacity="0.3241762" stroke="#2c465d" stroke-linecap="butt" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="0.99999994" fill="none"/>
+ <path stroke-linejoin="miter" d="m19.5,5.5,0,20" stroke-opacity="0.3241762" stroke="#2c465d" stroke-linecap="butt" stroke-miterlimit="4" stroke-dasharray="none" stroke-width="0.99999994" fill="none"/>
+</svg>
diff --git a/core/js/js.js b/core/js/js.js
index af4a6d6b336..1999ff73d23 100644
--- a/core/js/js.js
+++ b/core/js/js.js
@@ -431,9 +431,16 @@ OC.Notification={
OC.Breadcrumb={
container:null,
- crumbs:[],
show:function(dir, leafname, leaflink){
- OC.Breadcrumb.clear();
+ if(!this.container){//default
+ this.container=$('#controls');
+ }
+ this._show(this.container, dir, leafname, leaflink);
+ },
+ _show:function(container, dir, leafname, leaflink){
+ var self = this;
+
+ this._clear(container);
// show home + path in subdirectories
if (dir && dir !== '/') {
@@ -450,8 +457,7 @@ OC.Breadcrumb={
crumbImg.attr('src',OC.imagePath('core','places/home'));
crumbLink.append(crumbImg);
crumb.append(crumbLink);
- OC.Breadcrumb.container.prepend(crumb);
- OC.Breadcrumb.crumbs.push(crumb);
+ container.prepend(crumb);
//add path parts
var segments = dir.split('/');
@@ -460,20 +466,23 @@ OC.Breadcrumb={
if (name !== '') {
pathurl = pathurl+'/'+name;
var link = OC.linkTo('files','index.php')+'?dir='+encodeURIComponent(pathurl);
- OC.Breadcrumb.push(name, link);
+ self._push(container, name, link);
}
});
}
//add leafname
if (leafname && leaflink) {
- OC.Breadcrumb.push(leafname, leaflink);
+ this._push(container, leafname, leaflink);
}
},
push:function(name, link){
- if(!OC.Breadcrumb.container){//default
- OC.Breadcrumb.container=$('#controls');
+ if(!this.container){//default
+ this.container=$('#controls');
}
+ return this._push(OC.Breadcrumb.container, name, link);
+ },
+ _push:function(container, name, link){
var crumb=$('<div/>');
crumb.addClass('crumb').addClass('last');
@@ -482,30 +491,30 @@ OC.Breadcrumb={
crumbLink.text(name);
crumb.append(crumbLink);
- var existing=OC.Breadcrumb.container.find('div.crumb');
+ var existing=container.find('div.crumb');
if(existing.length){
existing.removeClass('last');
existing.last().after(crumb);
}else{
- OC.Breadcrumb.container.prepend(crumb);
+ container.prepend(crumb);
}
- OC.Breadcrumb.crumbs.push(crumb);
return crumb;
},
pop:function(){
- if(!OC.Breadcrumb.container){//default
- OC.Breadcrumb.container=$('#controls');
+ if(!this.container){//default
+ this.container=$('#controls');
}
- OC.Breadcrumb.container.find('div.crumb').last().remove();
- OC.Breadcrumb.container.find('div.crumb').last().addClass('last');
- OC.Breadcrumb.crumbs.pop();
+ this.container.find('div.crumb').last().remove();
+ this.container.find('div.crumb').last().addClass('last');
},
clear:function(){
- if(!OC.Breadcrumb.container){//default
- OC.Breadcrumb.container=$('#controls');
+ if(!this.container){//default
+ this.container=$('#controls');
}
- OC.Breadcrumb.container.find('div.crumb').remove();
- OC.Breadcrumb.crumbs=[];
+ this._clear(this.container);
+ },
+ _clear:function(container) {
+ container.find('div.crumb').remove();
}
};
diff --git a/core/js/oc-dialogs.js b/core/js/oc-dialogs.js
index 4092b8d0746..f184a1022bc 100644
--- a/core/js/oc-dialogs.js
+++ b/core/js/oc-dialogs.js
@@ -77,7 +77,7 @@ var OCdialogs = {
self.$filePicker = $tmpl.octemplate({
dialog_name: dialog_name,
title: title
- }).data('path', '');
+ }).data('path', '').data('multiselect', multiselect).data('mimetype', mimetype_filter);
if (modal === undefined) {
modal = false;
@@ -100,7 +100,7 @@ var OCdialogs = {
self._handlePickerClick(event, $(this));
});
self._fillFilePicker('');
- }).data('multiselect', multiselect).data('mimetype',mimetype_filter);
+ });
// build buttons
var functionToCall = function() {
@@ -285,7 +285,11 @@ var OCdialogs = {
filename: entry.name,
date: OC.mtime2date(entry.mtime)
});
- $li.find('img').attr('src', entry.mimetype_icon);
+ if (entry.mimetype === "httpd/unix-directory") {
+ $li.find('img').attr('src', OC.imagePath('core', 'filetypes/folder.png'));
+ } else {
+ $li.find('img').attr('src', OC.Router.generate('core_ajax_preview', {x:32, y:32, file:escapeHTML(dir+'/'+entry.name)}) );
+ }
self.$filelist.append($li);
});
diff --git a/core/js/oc-requesttoken.js b/core/js/oc-requesttoken.js
index 6cc6b5a855b..0d7f40c592a 100644
--- a/core/js/oc-requesttoken.js
+++ b/core/js/oc-requesttoken.js
@@ -1,3 +1,4 @@
-$(document).bind('ajaxSend', function(elm, xhr, s) {
+$(document).on('ajaxSend',function(elm, xhr, s) {
xhr.setRequestHeader('requesttoken', oc_requesttoken);
});
+
diff --git a/core/js/placeholder.js b/core/js/placeholder.js
index 16543541cb4..d63730547d7 100644
--- a/core/js/placeholder.js
+++ b/core/js/placeholder.js
@@ -34,23 +34,20 @@
*
* Which will result in:
*
- * <div id="albumart" style="background-color: rgb(123, 123, 123); ... ">T</div>
+ * <div id="albumart" style="background-color: hsl(123, 90%, 65%); ... ">T</div>
*
*/
(function ($) {
$.fn.placeholder = function(seed) {
var hash = md5(seed),
- maxRange = parseInt('ffffffffff', 16),
- red = parseInt(hash.substr(0,10), 16) / maxRange * 256,
- green = parseInt(hash.substr(10,10), 16) / maxRange * 256,
- blue = parseInt(hash.substr(20,10), 16) / maxRange * 256,
- rgb = [Math.floor(red), Math.floor(green), Math.floor(blue)],
+ maxRange = parseInt('ffffffffffffffffffffffffffffffff', 16),
+ hue = parseInt(hash, 16) / maxRange * 256,
height = this.height();
- this.css('background-color', 'rgb(' + rgb.join(',') + ')');
+ this.css('background-color', 'hsl(' + hue + ', 90%, 65%)');
// CSS rules
- this.css('color', 'rgb(255, 255, 255)');
+ this.css('color', '#fff');
this.css('font-weight', 'bold');
this.css('text-align', 'center');
diff --git a/core/l10n/ar.php b/core/l10n/ar.php
index 84f076f3018..17c3ab293c6 100644
--- a/core/l10n/ar.php
+++ b/core/l10n/ar.php
@@ -1,5 +1,6 @@
<?php
$TRANSLATIONS = array(
+"group" => "مجموعة",
"Category type not provided." => "نوع التصنيف لم يدخل",
"No category to add?" => "ألا توجد فئة للإضافة؟",
"This category already exists: %s" => "هذا التصنيف موجود مسبقا : %s",
diff --git a/core/l10n/ca.php b/core/l10n/ca.php
index c389ad01883..a77924b1218 100644
--- a/core/l10n/ca.php
+++ b/core/l10n/ca.php
@@ -1,6 +1,7 @@
<?php
$TRANSLATIONS = array(
"%s shared »%s« with you" => "%s ha compartit »%s« amb tu",
+"group" => "grup",
"Category type not provided." => "No s'ha especificat el tipus de categoria.",
"No category to add?" => "No voleu afegir cap categoria?",
"This category already exists: %s" => "Aquesta categoria ja existeix: %s",
diff --git a/core/l10n/cs_CZ.php b/core/l10n/cs_CZ.php
index d104a9fbe80..1301dae32f3 100644
--- a/core/l10n/cs_CZ.php
+++ b/core/l10n/cs_CZ.php
@@ -1,6 +1,7 @@
<?php
$TRANSLATIONS = array(
"%s shared »%s« with you" => "%s s vámi sdílí »%s«",
+"group" => "skupina",
"Turned on maintenance mode" => "Zapnut režim údržby",
"Turned off maintenance mode" => "Vypnut režim údržby",
"Updated database" => "Zaktualizována databáze",
diff --git a/core/l10n/cy_GB.php b/core/l10n/cy_GB.php
index 442970fbb0b..1f6c50524b3 100644
--- a/core/l10n/cy_GB.php
+++ b/core/l10n/cy_GB.php
@@ -1,5 +1,6 @@
<?php
$TRANSLATIONS = array(
+"group" => "grŵp",
"Category type not provided." => "Math o gategori heb ei ddarparu.",
"No category to add?" => "Dim categori i'w ychwanegu?",
"This category already exists: %s" => "Mae'r categori hwn eisoes yn bodoli: %s",
diff --git a/core/l10n/da.php b/core/l10n/da.php
index 5a1fe65f441..abaea4ba6a5 100644
--- a/core/l10n/da.php
+++ b/core/l10n/da.php
@@ -1,6 +1,7 @@
<?php
$TRANSLATIONS = array(
"%s shared »%s« with you" => "%s delte »%s« med sig",
+"group" => "gruppe",
"Turned on maintenance mode" => "Startede vedligeholdelsestilstand",
"Turned off maintenance mode" => "standsede vedligeholdelsestilstand",
"Updated database" => "Opdaterede database",
diff --git a/core/l10n/de.php b/core/l10n/de.php
index 655305488f3..1f205a9db5b 100644
--- a/core/l10n/de.php
+++ b/core/l10n/de.php
@@ -1,6 +1,7 @@
<?php
$TRANSLATIONS = array(
"%s shared »%s« with you" => "%s teilte »%s« mit Ihnen",
+"group" => "Gruppe",
"Turned on maintenance mode" => "Wartungsmodus eingeschaltet",
"Turned off maintenance mode" => "Wartungsmodus ausgeschaltet",
"Updated database" => "Datenbank aktualisiert",
diff --git a/core/l10n/de_CH.php b/core/l10n/de_CH.php
index 2dde9eb5367..6e01b3e2083 100644
--- a/core/l10n/de_CH.php
+++ b/core/l10n/de_CH.php
@@ -1,6 +1,7 @@
<?php
$TRANSLATIONS = array(
"%s shared »%s« with you" => "%s teilt »%s« mit Ihnen",
+"group" => "Gruppe",
"Category type not provided." => "Kategorie nicht angegeben.",
"No category to add?" => "Keine Kategorie hinzuzufügen?",
"This category already exists: %s" => "Die nachfolgende Kategorie existiert bereits: %s",
diff --git a/core/l10n/de_DE.php b/core/l10n/de_DE.php
index 1311a76d693..a29fc4547c6 100644
--- a/core/l10n/de_DE.php
+++ b/core/l10n/de_DE.php
@@ -1,6 +1,7 @@
<?php
$TRANSLATIONS = array(
"%s shared »%s« with you" => "%s geteilt »%s« mit Ihnen",
+"group" => "Gruppe",
"Turned on maintenance mode" => "Wartungsmodus eingeschaltet ",
"Turned off maintenance mode" => "Wartungsmodus ausgeschaltet",
"Updated database" => "Datenbank aktualisiert",
diff --git a/core/l10n/el.php b/core/l10n/el.php
index 51a3a68d788..54c13c89bfa 100644
--- a/core/l10n/el.php
+++ b/core/l10n/el.php
@@ -1,6 +1,7 @@
<?php
$TRANSLATIONS = array(
"%s shared »%s« with you" => "Ο %s διαμοιράστηκε μαζί σας το »%s«",
+"group" => "ομάδα",
"Category type not provided." => "Δεν δώθηκε τύπος κατηγορίας.",
"No category to add?" => "Δεν έχετε κατηγορία να προσθέσετε;",
"This category already exists: %s" => "Αυτή η κατηγορία υπάρχει ήδη: %s",
diff --git a/core/l10n/eo.php b/core/l10n/eo.php
index fc688b103a6..669f677d46d 100644
--- a/core/l10n/eo.php
+++ b/core/l10n/eo.php
@@ -1,6 +1,7 @@
<?php
$TRANSLATIONS = array(
"%s shared »%s« with you" => "%s kunhavigis “%s” kun vi",
+"group" => "grupo",
"Category type not provided." => "Ne proviziĝis tipon de kategorio.",
"No category to add?" => "Ĉu neniu kategorio estas aldonota?",
"This category already exists: %s" => "Tiu kategorio jam ekzistas: %s",
diff --git a/core/l10n/es.php b/core/l10n/es.php
index 9e7f5656683..077f677e972 100644
--- a/core/l10n/es.php
+++ b/core/l10n/es.php
@@ -1,6 +1,7 @@
<?php
$TRANSLATIONS = array(
"%s shared »%s« with you" => "%s compatido »%s« contigo",
+"group" => "grupo",
"Category type not provided." => "Tipo de categoría no proporcionado.",
"No category to add?" => "¿Ninguna categoría para añadir?",
"This category already exists: %s" => "Esta categoría ya existe: %s",
diff --git a/core/l10n/es_AR.php b/core/l10n/es_AR.php
index cd51ba2f441..389251de8aa 100644
--- a/core/l10n/es_AR.php
+++ b/core/l10n/es_AR.php
@@ -1,6 +1,7 @@
<?php
$TRANSLATIONS = array(
"%s shared »%s« with you" => "%s compartió \"%s\" con vos",
+"group" => "grupo",
"Category type not provided." => "Tipo de categoría no provisto. ",
"No category to add?" => "¿Ninguna categoría para añadir?",
"This category already exists: %s" => "Esta categoría ya existe: %s",
diff --git a/core/l10n/et_EE.php b/core/l10n/et_EE.php
index d9d007819d3..5391a144349 100644
--- a/core/l10n/et_EE.php
+++ b/core/l10n/et_EE.php
@@ -1,6 +1,7 @@
<?php
$TRANSLATIONS = array(
"%s shared »%s« with you" => "%s jagas sinuga »%s«",
+"group" => "grupp",
"Turned on maintenance mode" => "Haldusreziimis",
"Turned off maintenance mode" => "Haldusreziim lõpetatud",
"Updated database" => "Uuendatud andmebaas",
diff --git a/core/l10n/eu.php b/core/l10n/eu.php
index ae241e93873..1e0eb36e1e3 100644
--- a/core/l10n/eu.php
+++ b/core/l10n/eu.php
@@ -1,6 +1,7 @@
<?php
$TRANSLATIONS = array(
"%s shared »%s« with you" => "%s-ek »%s« zurekin partekatu du",
+"group" => "taldea",
"Category type not provided." => "Kategoria mota ez da zehaztu.",
"No category to add?" => "Ez dago gehitzeko kategoriarik?",
"This category already exists: %s" => "Kategoria hau dagoeneko existitzen da: %s",
diff --git a/core/l10n/fa.php b/core/l10n/fa.php
index a9e17a194ae..82356c0ab12 100644
--- a/core/l10n/fa.php
+++ b/core/l10n/fa.php
@@ -1,6 +1,7 @@
<?php
$TRANSLATIONS = array(
"%s shared »%s« with you" => "%s به اشتراک گذاشته شده است »%s« توسط شما",
+"group" => "گروه",
"Category type not provided." => "نوع دسته بندی ارائه نشده است.",
"No category to add?" => "آیا گروه دیگری برای افزودن ندارید",
"This category already exists: %s" => "این دسته هم اکنون وجود دارد: %s",
diff --git a/core/l10n/fi_FI.php b/core/l10n/fi_FI.php
index 7efeaa1fac2..25f5f466ef9 100644
--- a/core/l10n/fi_FI.php
+++ b/core/l10n/fi_FI.php
@@ -1,6 +1,7 @@
<?php
$TRANSLATIONS = array(
"%s shared »%s« with you" => "%s jakoi kohteen »%s« kanssasi",
+"group" => "ryhmä",
"Turned on maintenance mode" => "Siirrytty ylläpitotilaan",
"Turned off maintenance mode" => "Ylläpitotila laitettu pois päältä",
"Updated database" => "Tietokanta ajan tasalla",
diff --git a/core/l10n/fr.php b/core/l10n/fr.php
index 3f85cb1503f..0f338a09340 100644
--- a/core/l10n/fr.php
+++ b/core/l10n/fr.php
@@ -1,6 +1,13 @@
<?php
$TRANSLATIONS = array(
"%s shared »%s« with you" => "%s partagé »%s« avec vous",
+"group" => "groupe",
+"Turned on maintenance mode" => "Basculé en mode maintenance",
+"Turned off maintenance mode" => "Basculé en mode production (non maintenance)",
+"Updated database" => "Base de données mise à jour",
+"Updating filecache, this may take really long..." => "En cours de mise à jour de cache de fichiers. Cette opération peut être très longue...",
+"Updated filecache" => "Cache de fichier mis à jour",
+"... %d%% done ..." => "... %d%% effectué ...",
"Category type not provided." => "Type de catégorie non spécifié.",
"No category to add?" => "Pas de catégorie à ajouter ?",
"This category already exists: %s" => "Cette catégorie existe déjà : %s",
@@ -30,13 +37,13 @@ $TRANSLATIONS = array(
"December" => "décembre",
"Settings" => "Paramètres",
"seconds ago" => "il y a quelques secondes",
-"_%n minute ago_::_%n minutes ago_" => array("",""),
-"_%n hour ago_::_%n hours ago_" => array("",""),
+"_%n minute ago_::_%n minutes ago_" => array("il y a %n minute","il y a %n minutes"),
+"_%n hour ago_::_%n hours ago_" => array("Il y a %n heure","Il y a %n heures"),
"today" => "aujourd'hui",
"yesterday" => "hier",
-"_%n day ago_::_%n days ago_" => array("",""),
+"_%n day ago_::_%n days ago_" => array("il y a %n jour","il y a %n jours"),
"last month" => "le mois dernier",
-"_%n month ago_::_%n months ago_" => array("",""),
+"_%n month ago_::_%n months ago_" => array("Il y a %n mois","Il y a %n mois"),
"months ago" => "il y a plusieurs mois",
"last year" => "l'année dernière",
"years ago" => "il y a plusieurs années",
@@ -83,6 +90,7 @@ $TRANSLATIONS = array(
"Email sent" => "Email envoyé",
"The update was unsuccessful. Please report this issue to the <a href=\"https://github.com/owncloud/core/issues\" target=\"_blank\">ownCloud community</a>." => "La mise à jour a échoué. Veuillez signaler ce problème à la <a href=\"https://github.com/owncloud/core/issues\" target=\"_blank\">communauté ownCloud</a>.",
"The update was successful. Redirecting you to ownCloud now." => "La mise à jour a réussi. Vous êtes redirigé maintenant vers ownCloud.",
+"%s password reset" => "Réinitialisation de votre mot de passe %s",
"Use the following link to reset your password: {link}" => "Utilisez le lien suivant pour réinitialiser votre mot de passe : {link}",
"The link to reset your password has been sent to your email.<br>If you do not receive it within a reasonable amount of time, check your spam/junk folders.<br>If it is not there ask your local administrator ." => "Le lien permettant de réinitialiser votre mot de passe vous a été transmis.<br>Si vous ne le recevez pas dans un délai raisonnable, vérifier votre boîte de pourriels.<br>Au besoin, contactez votre administrateur local.",
"Request failed!<br>Did you make sure your email/username was right?" => "Requête en échec!<br>Avez-vous vérifié vos courriel/nom d'utilisateur?",
@@ -107,9 +115,11 @@ $TRANSLATIONS = array(
"Add" => "Ajouter",
"Security Warning" => "Avertissement de sécurité",
"Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" => "Votre version de PHP est vulnérable à l'attaque par caractère NULL (CVE-2006-7243)",
+"Please update your PHP installation to use %s securely." => "Veuillez mettre à jour votre installation PHP pour utiliser %s de façon sécurisée.",
"No secure random number generator is available, please enable the PHP OpenSSL extension." => "Aucun générateur de nombre aléatoire sécurisé n'est disponible, veuillez activer l'extension PHP OpenSSL",
"Without a secure random number generator an attacker may be able to predict password reset tokens and take over your account." => "Sans générateur de nombre aléatoire sécurisé, un attaquant peut être en mesure de prédire les jetons de réinitialisation du mot de passe, et ainsi prendre le contrôle de votre compte utilisateur.",
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." => "Votre répertoire data est certainement accessible depuis l'internet car le fichier .htaccess ne semble pas fonctionner",
+"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." => "Pour les informations de configuration de votre serveur, veuillez lire la <a href=\"%s\" target=\"_blank\">documentation</a>.",
"Create an <strong>admin account</strong>" => "Créer un <strong>compte administrateur</strong>",
"Advanced" => "Avancé",
"Data folder" => "Répertoire des données",
diff --git a/core/l10n/gl.php b/core/l10n/gl.php
index 56027e4cf1a..663d769ee98 100644
--- a/core/l10n/gl.php
+++ b/core/l10n/gl.php
@@ -1,6 +1,7 @@
<?php
$TRANSLATIONS = array(
"%s shared »%s« with you" => "%s compartiu «%s» con vostede",
+"group" => "grupo",
"Turned on maintenance mode" => "Modo de mantemento activado",
"Turned off maintenance mode" => "Modo de mantemento desactivado",
"Updated database" => "Base de datos actualizada",
diff --git a/core/l10n/he.php b/core/l10n/he.php
index b197a67b116..d5d83fea330 100644
--- a/core/l10n/he.php
+++ b/core/l10n/he.php
@@ -1,6 +1,7 @@
<?php
$TRANSLATIONS = array(
"%s shared »%s« with you" => "%s שיתף/שיתפה איתך את »%s«",
+"group" => "קבוצה",
"Category type not provided." => "סוג הקטגוריה לא סופק.",
"No category to add?" => "אין קטגוריה להוספה?",
"This category already exists: %s" => "הקטגוריה הבאה כבר קיימת: %s",
diff --git a/core/l10n/hi.php b/core/l10n/hi.php
index 00cb5926d70..29e67f68abf 100644
--- a/core/l10n/hi.php
+++ b/core/l10n/hi.php
@@ -1,5 +1,15 @@
<?php
$TRANSLATIONS = array(
+"Category type not provided." => "कैटेगरी प्रकार उपलब्ध नहीं है",
+"This category already exists: %s" => "यह कैटेगरी पहले से ही मौजूद है: %s",
+"Object type not provided." => "ऑब्जेक्ट प्रकार नहीं दिया हुआ",
+"Sunday" => "रविवार",
+"Monday" => "सोमवार",
+"Tuesday" => "मंगलवार",
+"Wednesday" => "बुधवार",
+"Thursday" => "बृहस्पतिवार",
+"Friday" => "शुक्रवार",
+"Saturday" => "शनिवार",
"January" => "जनवरी",
"February" => "फरवरी",
"March" => "मार्च",
@@ -21,6 +31,9 @@ $TRANSLATIONS = array(
"Share" => "साझा करें",
"Share with" => "के साथ साझा",
"Password" => "पासवर्ड",
+"Send" => "भेजें",
+"Sending ..." => "भेजा जा रहा है",
+"Email sent" => "ईमेल भेज दिया गया है ",
"Use the following link to reset your password: {link}" => "आगे दिये गये लिंक का उपयोग पासवर्ड बदलने के लिये किजीये: {link}",
"You will receive a link to reset your password via Email." => "पासवर्ड बदलने कि लिंक आपको ई-मेल द्वारा भेजी जायेगी|",
"Username" => "प्रयोक्ता का नाम",
@@ -31,6 +44,7 @@ $TRANSLATIONS = array(
"Apps" => "Apps",
"Help" => "सहयोग",
"Cloud not found" => "क्लौड नहीं मिला ",
+"Add" => "डाले",
"Create an <strong>admin account</strong>" => "व्यवस्थापक खाता बनाएँ",
"Advanced" => "उन्नत",
"Data folder" => "डाटा फोल्डर",
diff --git a/core/l10n/hu_HU.php b/core/l10n/hu_HU.php
index c231d7f9a44..93f96e17847 100644
--- a/core/l10n/hu_HU.php
+++ b/core/l10n/hu_HU.php
@@ -1,6 +1,7 @@
<?php
$TRANSLATIONS = array(
"%s shared »%s« with you" => "%s megosztotta Önnel ezt: »%s«",
+"group" => "csoport",
"Category type not provided." => "Nincs megadva a kategória típusa.",
"No category to add?" => "Nincs hozzáadandó kategória?",
"This category already exists: %s" => "Ez a kategória már létezik: %s",
diff --git a/core/l10n/id.php b/core/l10n/id.php
index fc6cb788fb0..0f222918c95 100644
--- a/core/l10n/id.php
+++ b/core/l10n/id.php
@@ -1,5 +1,6 @@
<?php
$TRANSLATIONS = array(
+"group" => "grup",
"Category type not provided." => "Tipe kategori tidak diberikan.",
"No category to add?" => "Tidak ada kategori yang akan ditambahkan?",
"This category already exists: %s" => "Kategori ini sudah ada: %s",
diff --git a/core/l10n/it.php b/core/l10n/it.php
index 63a7545d891..71f6ffdf50e 100644
--- a/core/l10n/it.php
+++ b/core/l10n/it.php
@@ -1,6 +1,7 @@
<?php
$TRANSLATIONS = array(
"%s shared »%s« with you" => "%s ha condiviso «%s» con te",
+"group" => "gruppo",
"Turned on maintenance mode" => "Modalità di manutenzione attivata",
"Turned off maintenance mode" => "Modalità di manutenzione disattivata",
"Updated database" => "Database aggiornato",
diff --git a/core/l10n/ja_JP.php b/core/l10n/ja_JP.php
index 2ab85f13d30..82e4153367d 100644
--- a/core/l10n/ja_JP.php
+++ b/core/l10n/ja_JP.php
@@ -1,6 +1,13 @@
<?php
$TRANSLATIONS = array(
"%s shared »%s« with you" => "%sが あなたと »%s«を共有しました",
+"group" => "グループ",
+"Turned on maintenance mode" => "メンテナンスモードがオンになりました",
+"Turned off maintenance mode" => "メンテナンスモードがオフになりました",
+"Updated database" => "データベース更新完了",
+"Updating filecache, this may take really long..." => "ファイルキャッシュを更新しています、しばらく掛かる恐れがあります...",
+"Updated filecache" => "ファイルキャッシュ更新完了",
+"... %d%% done ..." => "... %d%% 完了 ...",
"Category type not provided." => "カテゴリタイプは提供されていません。",
"No category to add?" => "追加するカテゴリはありませんか?",
"This category already exists: %s" => "このカテゴリはすでに存在します: %s",
diff --git a/core/l10n/ka_GE.php b/core/l10n/ka_GE.php
index 0f4b23906d6..15cacc8b218 100644
--- a/core/l10n/ka_GE.php
+++ b/core/l10n/ka_GE.php
@@ -1,5 +1,6 @@
<?php
$TRANSLATIONS = array(
+"group" => "ჯგუფი",
"Category type not provided." => "კატეგორიის ტიპი არ არის განხილული.",
"No category to add?" => "არ არის კატეგორია დასამატებლად?",
"This category already exists: %s" => "კატეგორია უკვე არსებობს: %s",
diff --git a/core/l10n/ko.php b/core/l10n/ko.php
index c4b6b9f091b..0265f38dc07 100644
--- a/core/l10n/ko.php
+++ b/core/l10n/ko.php
@@ -1,5 +1,6 @@
<?php
$TRANSLATIONS = array(
+"group" => "그룹",
"Category type not provided." => "분류 형식이 제공되지 않았습니다.",
"No category to add?" => "추가할 분류가 없습니까?",
"This category already exists: %s" => "분류가 이미 존재합니다: %s",
diff --git a/core/l10n/lb.php b/core/l10n/lb.php
index 8a5a28957c4..5f4c415bed7 100644
--- a/core/l10n/lb.php
+++ b/core/l10n/lb.php
@@ -1,6 +1,7 @@
<?php
$TRANSLATIONS = array(
"%s shared »%s« with you" => "Den/D' %s huet »%s« mat dir gedeelt",
+"group" => "Grupp",
"Category type not provided." => "Typ vun der Kategorie net uginn.",
"No category to add?" => "Keng Kategorie fir bäizesetzen?",
"This category already exists: %s" => "Dës Kategorie existéiert schon: %s",
diff --git a/core/l10n/lt_LT.php b/core/l10n/lt_LT.php
index 5db8f6c21a9..7b0c3ed4f80 100644
--- a/core/l10n/lt_LT.php
+++ b/core/l10n/lt_LT.php
@@ -1,6 +1,7 @@
<?php
$TRANSLATIONS = array(
"%s shared »%s« with you" => "%s pasidalino »%s« su tavimi",
+"group" => "grupė",
"Category type not provided." => "Kategorija nenurodyta.",
"No category to add?" => "Nepridėsite jokios kategorijos?",
"This category already exists: %s" => "Ši kategorija jau egzistuoja: %s",
diff --git a/core/l10n/lv.php b/core/l10n/lv.php
index ddfc6008983..57b9186f3cf 100644
--- a/core/l10n/lv.php
+++ b/core/l10n/lv.php
@@ -1,6 +1,7 @@
<?php
$TRANSLATIONS = array(
"%s shared »%s« with you" => "%s kopīgots »%s« ar jums",
+"group" => "grupa",
"Category type not provided." => "Kategorijas tips nav norādīts.",
"No category to add?" => "Nav kategoriju, ko pievienot?",
"This category already exists: %s" => "Šāda kategorija jau eksistē — %s",
diff --git a/core/l10n/mk.php b/core/l10n/mk.php
index e2416dc052c..6a8ec50061c 100644
--- a/core/l10n/mk.php
+++ b/core/l10n/mk.php
@@ -1,5 +1,6 @@
<?php
$TRANSLATIONS = array(
+"group" => "група",
"Category type not provided." => "Не беше доставен тип на категорија.",
"No category to add?" => "Нема категорија да се додаде?",
"Object type not provided." => "Не беше доставен тип на објект.",
diff --git a/core/l10n/nb_NO.php b/core/l10n/nb_NO.php
index 393dc0d7d11..132b65daab2 100644
--- a/core/l10n/nb_NO.php
+++ b/core/l10n/nb_NO.php
@@ -1,6 +1,7 @@
<?php
$TRANSLATIONS = array(
"%s shared »%s« with you" => "%s delte »%s« med deg",
+"group" => "gruppe",
"No category to add?" => "Ingen kategorier å legge til?",
"This category already exists: %s" => "Denne kategorien finnes allerede: %s",
"No categories selected for deletion." => "Ingen kategorier merket for sletting.",
diff --git a/core/l10n/nl.php b/core/l10n/nl.php
index 6a2d1a03a10..6d5d5dc9917 100644
--- a/core/l10n/nl.php
+++ b/core/l10n/nl.php
@@ -1,6 +1,7 @@
<?php
$TRANSLATIONS = array(
"%s shared »%s« with you" => "%s deelde »%s« met jou",
+"group" => "groep",
"Category type not provided." => "Categorie type niet opgegeven.",
"No category to add?" => "Geen categorie om toe te voegen?",
"This category already exists: %s" => "Deze categorie bestaat al: %s",
diff --git a/core/l10n/nn_NO.php b/core/l10n/nn_NO.php
index f73cb96076e..942824ecb74 100644
--- a/core/l10n/nn_NO.php
+++ b/core/l10n/nn_NO.php
@@ -1,5 +1,6 @@
<?php
$TRANSLATIONS = array(
+"group" => "gruppe",
"Category type not provided." => "Ingen kategoritype.",
"No category to add?" => "Ingen kategori å leggja til?",
"This category already exists: %s" => "Denne kategorien finst alt: %s",
diff --git a/core/l10n/oc.php b/core/l10n/oc.php
index 68bf2f89a2a..0ca3cc427a0 100644
--- a/core/l10n/oc.php
+++ b/core/l10n/oc.php
@@ -1,5 +1,6 @@
<?php
$TRANSLATIONS = array(
+"group" => "grop",
"No category to add?" => "Pas de categoria d'ajustar ?",
"No categories selected for deletion." => "Pas de categorias seleccionadas per escafar.",
"Sunday" => "Dimenge",
diff --git a/core/l10n/pl.php b/core/l10n/pl.php
index 1188e555316..48f6dff6184 100644
--- a/core/l10n/pl.php
+++ b/core/l10n/pl.php
@@ -1,6 +1,7 @@
<?php
$TRANSLATIONS = array(
"%s shared »%s« with you" => "%s Współdzielone »%s« z tobą",
+"group" => "grupa",
"Category type not provided." => "Nie podano typu kategorii.",
"No category to add?" => "Brak kategorii do dodania?",
"This category already exists: %s" => "Ta kategoria już istnieje: %s",
diff --git a/core/l10n/pt_BR.php b/core/l10n/pt_BR.php
index 8db5262e94b..84762cde5e4 100644
--- a/core/l10n/pt_BR.php
+++ b/core/l10n/pt_BR.php
@@ -1,6 +1,7 @@
<?php
$TRANSLATIONS = array(
"%s shared »%s« with you" => "%s compartilhou »%s« com você",
+"group" => "grupo",
"Category type not provided." => "Tipo de categoria não fornecido.",
"No category to add?" => "Nenhuma categoria a adicionar?",
"This category already exists: %s" => "Esta categoria já existe: %s",
diff --git a/core/l10n/pt_PT.php b/core/l10n/pt_PT.php
index 25ddaa322d5..2afb9ef9b39 100644
--- a/core/l10n/pt_PT.php
+++ b/core/l10n/pt_PT.php
@@ -1,6 +1,7 @@
<?php
$TRANSLATIONS = array(
"%s shared »%s« with you" => "%s partilhado »%s« contigo",
+"group" => "grupo",
"Category type not provided." => "Tipo de categoria não fornecido",
"No category to add?" => "Nenhuma categoria para adicionar?",
"This category already exists: %s" => "A categoria já existe: %s",
diff --git a/core/l10n/ro.php b/core/l10n/ro.php
index 7e33003bcce..ca0e409f71f 100644
--- a/core/l10n/ro.php
+++ b/core/l10n/ro.php
@@ -1,6 +1,7 @@
<?php
$TRANSLATIONS = array(
"%s shared »%s« with you" => "%s Partajat »%s« cu tine de",
+"group" => "grup",
"Category type not provided." => "Tipul de categorie nu a fost specificat.",
"No category to add?" => "Nici o categorie de adăugat?",
"This category already exists: %s" => "Această categorie deja există: %s",
diff --git a/core/l10n/ru.php b/core/l10n/ru.php
index 503ca579ce7..d79326aff32 100644
--- a/core/l10n/ru.php
+++ b/core/l10n/ru.php
@@ -1,6 +1,7 @@
<?php
$TRANSLATIONS = array(
"%s shared »%s« with you" => "%s поделился »%s« с вами",
+"group" => "группа",
"Category type not provided." => "Тип категории не предоставлен",
"No category to add?" => "Нет категорий для добавления?",
"This category already exists: %s" => "Эта категория уже существует: %s",
diff --git a/core/l10n/si_LK.php b/core/l10n/si_LK.php
index 475cdf5613a..184566b5f1c 100644
--- a/core/l10n/si_LK.php
+++ b/core/l10n/si_LK.php
@@ -1,5 +1,6 @@
<?php
$TRANSLATIONS = array(
+"group" => "කණ්ඩායම",
"No categories selected for deletion." => "මකා දැමීම සඳහා ප්‍රවර්ගයන් තෝරා නොමැත.",
"Sunday" => "ඉරිදා",
"Monday" => "සඳුදා",
diff --git a/core/l10n/sk_SK.php b/core/l10n/sk_SK.php
index 82745d617e9..ed061068b4b 100644
--- a/core/l10n/sk_SK.php
+++ b/core/l10n/sk_SK.php
@@ -1,6 +1,7 @@
<?php
$TRANSLATIONS = array(
"%s shared »%s« with you" => "%s s Vami zdieľa »%s«",
+"group" => "skupina",
"Turned on maintenance mode" => "Mód údržby zapnutý",
"Turned off maintenance mode" => "Mód údržby vypnutý",
"Updated database" => "Databáza aktualizovaná",
diff --git a/core/l10n/sl.php b/core/l10n/sl.php
index 0b72f1dc4e4..460ca99eeab 100644
--- a/core/l10n/sl.php
+++ b/core/l10n/sl.php
@@ -1,6 +1,7 @@
<?php
$TRANSLATIONS = array(
"%s shared »%s« with you" => "%s je delil »%s« z vami",
+"group" => "skupina",
"Category type not provided." => "Vrsta kategorije ni podana.",
"No category to add?" => "Ali ni kategorije za dodajanje?",
"This category already exists: %s" => "Kategorija že obstaja: %s",
diff --git a/core/l10n/sr.php b/core/l10n/sr.php
index 3de06c70883..89c13c49254 100644
--- a/core/l10n/sr.php
+++ b/core/l10n/sr.php
@@ -1,5 +1,6 @@
<?php
$TRANSLATIONS = array(
+"group" => "група",
"Category type not provided." => "Врста категорије није унет.",
"No category to add?" => "Додати још неку категорију?",
"Object type not provided." => "Врста објекта није унета.",
diff --git a/core/l10n/sv.php b/core/l10n/sv.php
index 74d285a35a6..9bfd91d2691 100644
--- a/core/l10n/sv.php
+++ b/core/l10n/sv.php
@@ -1,6 +1,7 @@
<?php
$TRANSLATIONS = array(
"%s shared »%s« with you" => "%s delade »%s« med dig",
+"group" => "Grupp",
"Turned on maintenance mode" => "Aktiverade underhållsläge",
"Turned off maintenance mode" => "Deaktiverade underhållsläge",
"Updated database" => "Uppdaterade databasen",
diff --git a/core/l10n/ta_LK.php b/core/l10n/ta_LK.php
index 3fc461d4284..a1a286275eb 100644
--- a/core/l10n/ta_LK.php
+++ b/core/l10n/ta_LK.php
@@ -1,5 +1,6 @@
<?php
$TRANSLATIONS = array(
+"group" => "குழு",
"Category type not provided." => "பிரிவு வகைகள் வழங்கப்படவில்லை",
"No category to add?" => "சேர்ப்பதற்கான வகைகள் இல்லையா?",
"Object type not provided." => "பொருள் வகை வழங்கப்படவில்லை",
diff --git a/core/l10n/th_TH.php b/core/l10n/th_TH.php
index bb5181fd9e6..90fec245c95 100644
--- a/core/l10n/th_TH.php
+++ b/core/l10n/th_TH.php
@@ -1,5 +1,6 @@
<?php
$TRANSLATIONS = array(
+"group" => "กลุ่มผู้ใช้งาน",
"Category type not provided." => "ยังไม่ได้ระบุชนิดของหมวดหมู่",
"No category to add?" => "ไม่มีหมวดหมู่ที่ต้องการเพิ่ม?",
"Object type not provided." => "ชนิดของวัตถุยังไม่ได้ถูกระบุ",
diff --git a/core/l10n/tr.php b/core/l10n/tr.php
index 6dd54057950..8b6c261d64c 100644
--- a/core/l10n/tr.php
+++ b/core/l10n/tr.php
@@ -1,6 +1,7 @@
<?php
$TRANSLATIONS = array(
"%s shared »%s« with you" => "%s sizinle »%s« paylaşımında bulundu",
+"group" => "grup",
"Category type not provided." => "Kategori türü girilmedi.",
"No category to add?" => "Eklenecek kategori yok?",
"This category already exists: %s" => "Bu kategori zaten mevcut: %s",
diff --git a/core/l10n/ug.php b/core/l10n/ug.php
index eb16e841c67..e77718233de 100644
--- a/core/l10n/ug.php
+++ b/core/l10n/ug.php
@@ -1,5 +1,6 @@
<?php
$TRANSLATIONS = array(
+"group" => "گۇرۇپپا",
"Sunday" => "يەكشەنبە",
"Monday" => "دۈشەنبە",
"Tuesday" => "سەيشەنبە",
diff --git a/core/l10n/uk.php b/core/l10n/uk.php
index 6fcb23d0a32..8e74855dd08 100644
--- a/core/l10n/uk.php
+++ b/core/l10n/uk.php
@@ -1,5 +1,6 @@
<?php
$TRANSLATIONS = array(
+"group" => "група",
"Category type not provided." => "Не вказано тип категорії.",
"No category to add?" => "Відсутні категорії для додавання?",
"This category already exists: %s" => "Ця категорія вже існує: %s",
diff --git a/core/l10n/vi.php b/core/l10n/vi.php
index 305839b4760..1ccf03c0aaa 100644
--- a/core/l10n/vi.php
+++ b/core/l10n/vi.php
@@ -1,5 +1,6 @@
<?php
$TRANSLATIONS = array(
+"group" => "nhóm",
"Category type not provided." => "Kiểu hạng mục không được cung cấp.",
"No category to add?" => "Không có danh mục được thêm?",
"This category already exists: %s" => "Danh mục này đã tồn tại: %s",
diff --git a/core/l10n/zh_CN.php b/core/l10n/zh_CN.php
index 08d70dfee66..ddcc902c8d7 100644
--- a/core/l10n/zh_CN.php
+++ b/core/l10n/zh_CN.php
@@ -1,6 +1,7 @@
<?php
$TRANSLATIONS = array(
"%s shared »%s« with you" => "%s 向您分享了 »%s«",
+"group" => "组",
"Turned on maintenance mode" => "启用维护模式",
"Turned off maintenance mode" => "关闭维护模式",
"Updated database" => "数据库已更新",
diff --git a/core/l10n/zh_TW.php b/core/l10n/zh_TW.php
index fabec7537d1..c25a58dc8ea 100644
--- a/core/l10n/zh_TW.php
+++ b/core/l10n/zh_TW.php
@@ -1,10 +1,17 @@
<?php
$TRANSLATIONS = array(
"%s shared »%s« with you" => "%s 與您分享了 %s",
+"group" => "群組",
+"Turned on maintenance mode" => "已啓用維護模式",
+"Turned off maintenance mode" => "已停用維護模式",
+"Updated database" => "已更新資料庫",
+"Updating filecache, this may take really long..." => "更新檔案快取,這可能要很久…",
+"Updated filecache" => "已更新檔案快取",
+"... %d%% done ..." => "已完成 %d%%",
"Category type not provided." => "未提供分類類型。",
"No category to add?" => "沒有可增加的分類?",
-"This category already exists: %s" => "分類已經存在: %s",
-"Object type not provided." => "不支援的物件類型",
+"This category already exists: %s" => "分類已經存在:%s",
+"Object type not provided." => "未指定物件類型",
"%s ID not provided." => "未提供 %s ID 。",
"Error adding %s to favorites." => "加入 %s 到最愛時發生錯誤。",
"No categories selected for deletion." => "沒有選擇要刪除的分類。",
@@ -56,20 +63,20 @@ $TRANSLATIONS = array(
"Error while changing permissions" => "修改權限時發生錯誤",
"Shared with you and the group {group} by {owner}" => "由 {owner} 分享給您和 {group}",
"Shared with you by {owner}" => "{owner} 已經和您分享",
-"Share with" => "與...分享",
+"Share with" => "分享給別人",
"Share with link" => "使用連結分享",
"Password protect" => "密碼保護",
"Password" => "密碼",
"Allow Public Upload" => "允許任何人上傳",
"Email link to person" => "將連結 email 給別人",
"Send" => "寄出",
-"Set expiration date" => "設置到期日",
+"Set expiration date" => "指定到期日",
"Expiration date" => "到期日",
"Share via email:" => "透過電子郵件分享:",
"No people found" => "沒有找到任何人",
"Resharing is not allowed" => "不允許重新分享",
"Shared in {item} with {user}" => "已和 {user} 分享 {item}",
-"Unshare" => "取消共享",
+"Unshare" => "取消分享",
"can edit" => "可編輯",
"access control" => "存取控制",
"create" => "建立",
@@ -77,15 +84,15 @@ $TRANSLATIONS = array(
"delete" => "刪除",
"share" => "分享",
"Password protected" => "受密碼保護",
-"Error unsetting expiration date" => "解除過期日設定失敗",
-"Error setting expiration date" => "錯誤的到期日設定",
-"Sending ..." => "正在傳送...",
+"Error unsetting expiration date" => "取消到期日設定失敗",
+"Error setting expiration date" => "設定到期日發生錯誤",
+"Sending ..." => "正在傳送…",
"Email sent" => "Email 已寄出",
"The update was unsuccessful. Please report this issue to the <a href=\"https://github.com/owncloud/core/issues\" target=\"_blank\">ownCloud community</a>." => "升級失敗,請將此問題回報 <a href=\"https://github.com/owncloud/core/issues\" target=\"_blank\">ownCloud 社群</a>。",
"The update was successful. Redirecting you to ownCloud now." => "升級成功,正將您重新導向至 ownCloud 。",
"%s password reset" => "%s 密碼重設",
"Use the following link to reset your password: {link}" => "請至以下連結重設您的密碼: {link}",
-"The link to reset your password has been sent to your email.<br>If you do not receive it within a reasonable amount of time, check your spam/junk folders.<br>If it is not there ask your local administrator ." => "重設密碼的連結已經寄至您的電子郵件信箱,如果您過了一段時間還是沒有收到它,請檢查看看它是不是被放到垃圾郵件了,如果還是沒有的話,請聯絡您的 ownCloud 系統管理員。",
+"The link to reset your password has been sent to your email.<br>If you do not receive it within a reasonable amount of time, check your spam/junk folders.<br>If it is not there ask your local administrator ." => "重設密碼的連結已經寄至您的電子郵件信箱,如果您過了一段時間還是沒有收到它,請檢查看看它是不是被歸為垃圾郵件了,如果還是沒有的話,請聯絡您的 ownCloud 系統管理員。",
"Request failed!<br>Did you make sure your email/username was right?" => "請求失敗!<br>您確定填入的電子郵件地址或是帳號名稱是正確的嗎?",
"You will receive a link to reset your password via Email." => "重設密碼的連結將會寄到您的電子郵件信箱。",
"Username" => "使用者名稱",
@@ -102,8 +109,8 @@ $TRANSLATIONS = array(
"Admin" => "管理",
"Help" => "說明",
"Access forbidden" => "存取被拒",
-"Cloud not found" => "未發現雲端",
-"Hey there,\n\njust letting you know that %s shared %s with you.\nView it: %s\n\nCheers!" => "嗨,\n\n通知您,%s 與您分享了 %s 。\n看一下:%s",
+"Cloud not found" => "找不到網頁",
+"Hey there,\n\njust letting you know that %s shared %s with you.\nView it: %s\n\nCheers!" => "嗨,\n\n通知您一聲,%s 與您分享了 %s 。\n您可以到 %s 看看",
"Edit categories" => "編輯分類",
"Add" => "增加",
"Security Warning" => "安全性警告",
@@ -115,7 +122,7 @@ $TRANSLATIONS = array(
"For information how to properly configure your server, please see the <a href=\"%s\" target=\"_blank\">documentation</a>." => "請參考<a href=\"%s\" target=\"_blank\">說明文件</a>以瞭解如何正確設定您的伺服器。",
"Create an <strong>admin account</strong>" => "建立一個<strong>管理者帳號</strong>",
"Advanced" => "進階",
-"Data folder" => "資料夾",
+"Data folder" => "資料儲存位置",
"Configure the database" => "設定資料庫",
"will be used" => "將會使用",
"Database user" => "資料庫使用者",
@@ -132,8 +139,8 @@ $TRANSLATIONS = array(
"Lost your password?" => "忘記密碼?",
"remember" => "記住",
"Log in" => "登入",
-"Alternative Logins" => "替代登入方法",
-"Hey there,<br><br>just letting you know that %s shared »%s« with you.<br><a href=\"%s\">View it!</a><br><br>Cheers!" => "嗨,<br><br>通知您,%s 與您分享了 %s ,<br><a href=\"%s\">看一下吧</a>",
-"Updating ownCloud to version %s, this may take a while." => "正在將 Owncloud 升級至版本 %s ,這可能需要一點時間。"
+"Alternative Logins" => "其他登入方法",
+"Hey there,<br><br>just letting you know that %s shared »%s« with you.<br><a href=\"%s\">View it!</a><br><br>Cheers!" => "嗨,<br><br>通知您一聲,%s 與您分享了 %s ,<br><a href=\"%s\">看一下吧</a>",
+"Updating ownCloud to version %s, this may take a while." => "正在將 ownCloud 升級至版本 %s ,這可能需要一點時間。"
);
$PLURAL_FORMS = "nplurals=1; plural=0;";
diff --git a/core/lostpassword/controller.php b/core/lostpassword/controller.php
index 74a5be2b96f..f761e45d25f 100644
--- a/core/lostpassword/controller.php
+++ b/core/lostpassword/controller.php
@@ -42,7 +42,7 @@ class OC_Core_LostPassword_Controller {
}
if (OC_User::userExists($_POST['user']) && $continue) {
- $token = hash('sha256', OC_Util::generate_random_bytes(30).OC_Config::getValue('passwordsalt', ''));
+ $token = hash('sha256', OC_Util::generateRandomBytes(30).OC_Config::getValue('passwordsalt', ''));
OC_Preferences::setValue($_POST['user'], 'owncloud', 'lostpassword',
hash('sha256', $token)); // Hash the token again to prevent timing attacks
$email = OC_Preferences::getValue($_POST['user'], 'settings', 'email', '');
diff --git a/core/minimizer.php b/core/minimizer.php
index 4da9037c413..eeeddf86a81 100644
--- a/core/minimizer.php
+++ b/core/minimizer.php
@@ -5,11 +5,11 @@ OC_App::loadApps();
if ($service == 'core.css') {
$minimizer = new OC_Minimizer_CSS();
- $files = OC_TemplateLayout::findStylesheetFiles(OC_Util::$core_styles);
+ $files = OC_TemplateLayout::findStylesheetFiles(OC_Util::$coreStyles);
$minimizer->output($files, $service);
}
else if ($service == 'core.js') {
$minimizer = new OC_Minimizer_JS();
- $files = OC_TemplateLayout::findJavascriptFiles(OC_Util::$core_scripts);
+ $files = OC_TemplateLayout::findJavascriptFiles(OC_Util::$coreScripts);
$minimizer->output($files, $service);
}
diff --git a/core/routes.php b/core/routes.php
index dd8222d4378..f0f8ce571e2 100644
--- a/core/routes.php
+++ b/core/routes.php
@@ -42,7 +42,8 @@ $this->create('js_config', '/core/js/config.js')
// Routing
$this->create('core_ajax_routes', '/core/routes.json')
->action('OC_Router', 'JSRoutes');
-
+$this->create('core_ajax_preview', '/core/preview.png')
+ ->actionInclude('core/ajax/preview.php');
OC::$CLASSPATH['OC_Core_LostPassword_Controller'] = 'core/lostpassword/controller.php';
$this->create('core_lostpassword_index', '/lostpassword/')
->get()
diff --git a/core/setup.php b/core/setup.php
index 40e30db533a..4758c23b045 100644
--- a/core/setup.php
+++ b/core/setup.php
@@ -33,8 +33,8 @@ $opts = array(
'hasOracle' => $hasOracle,
'hasMSSQL' => $hasMSSQL,
'directory' => $datadir,
- 'secureRNG' => OC_Util::secureRNG_available(),
- 'htaccessWorking' => OC_Util::ishtaccessworking(),
+ 'secureRNG' => OC_Util::secureRNGAvailable(),
+ 'htaccessWorking' => OC_Util::isHtAccessWorking(),
'vulnerableToNullByte' => $vulnerableToNullByte,
'errors' => array(),
);
diff --git a/db_structure.xml b/db_structure.xml
index f926ab44cd4..24742c242ee 100644
--- a/db_structure.xml
+++ b/db_structure.xml
@@ -383,7 +383,7 @@
<name>user</name>
<type>text</type>
<default></default>
- <notnull>true</notnull>
+ <notnull>false</notnull>
<length>64</length>
</field>
@@ -397,8 +397,6 @@
<index>
<name>id_user_index</name>
- <unique>true</unique>
- <primary>true</primary>
<field>
<name>fileid</name>
<sorting>ascending</sorting>
diff --git a/l10n/ar/core.po b/l10n/ar/core.po
index c9594857940..47fc1f25710 100644
--- a/l10n/ar/core.po
+++ b/l10n/ar/core.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:32-0400\n"
-"PO-Revision-Date: 2013-08-30 13:33+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Arabic (http://www.transifex.com/projects/p/owncloud/language/ar/)\n"
"MIME-Version: 1.0\n"
@@ -24,7 +24,7 @@ msgstr ""
#: ajax/share.php:227
msgid "group"
-msgstr ""
+msgstr "مجموعة"
#: ajax/update.php:11
msgid "Turned on maintenance mode"
diff --git a/l10n/ar/files.po b/l10n/ar/files.po
index b8086649e4a..39c537e3a5d 100644
--- a/l10n/ar/files.po
+++ b/l10n/ar/files.po
@@ -3,13 +3,14 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# ibrahim_9090 <ibrahim9090@gmail.com>, 2013
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:31-0400\n"
-"PO-Revision-Date: 2013-08-30 13:34+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-09-01 13:30+0000\n"
+"Last-Translator: ibrahim_9090 <ibrahim9090@gmail.com>\n"
"Language-Team: Arabic (http://www.transifex.com/projects/p/owncloud/language/ar/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -29,11 +30,11 @@ msgstr "فشل في نقل %s"
#: ajax/upload.php:16 ajax/upload.php:45
msgid "Unable to set upload directory."
-msgstr ""
+msgstr "غير قادر على تحميل المجلد"
#: ajax/upload.php:22
msgid "Invalid Token"
-msgstr ""
+msgstr "علامة غير صالحة"
#: ajax/upload.php:59
msgid "No file was uploaded. Unknown error"
@@ -76,7 +77,7 @@ msgstr "لا يوجد مساحة تخزينية كافية"
#: ajax/upload.php:109
msgid "Upload failed"
-msgstr ""
+msgstr "عملية الرفع فشلت"
#: ajax/upload.php:127
msgid "Invalid directory."
@@ -92,7 +93,7 @@ msgstr "فشل في رفع ملفاتك , إما أنها مجلد أو حجمه
#: js/file-upload.js:24
msgid "Not enough space available"
-msgstr ""
+msgstr "لا توجد مساحة كافية"
#: js/file-upload.js:64
msgid "Upload cancelled."
@@ -109,9 +110,9 @@ msgstr "عنوان ال URL لا يجوز أن يكون فارغا."
#: js/file-upload.js:244 lib/app.php:53
msgid "Invalid folder name. Usage of 'Shared' is reserved by ownCloud"
-msgstr ""
+msgstr "تسمية ملف غير صالحة. استخدام الاسم \"shared\" محجوز بواسطة ownCloud"
-#: js/file-upload.js:275 js/file-upload.js:291 js/files.js:511 js/files.js:549
+#: js/file-upload.js:276 js/file-upload.js:292 js/files.js:512 js/files.js:550
msgid "Error"
msgstr "خطأ"
@@ -127,35 +128,35 @@ msgstr "حذف بشكل دائم"
msgid "Rename"
msgstr "إعادة تسميه"
-#: js/filelist.js:49 js/filelist.js:52 js/filelist.js:573
+#: js/filelist.js:50 js/filelist.js:53 js/filelist.js:575
msgid "Pending"
msgstr "قيد الانتظار"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "{new_name} already exists"
msgstr "{new_name} موجود مسبقا"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "replace"
msgstr "استبدال"
-#: js/filelist.js:305
+#: js/filelist.js:307
msgid "suggest name"
msgstr "اقترح إسم"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "cancel"
msgstr "إلغاء"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "replaced {new_name} with {old_name}"
msgstr "استبدل {new_name} بـ {old_name}"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "undo"
msgstr "تراجع"
-#: js/filelist.js:422 js/filelist.js:488 js/files.js:580
+#: js/filelist.js:424 js/filelist.js:490 js/files.js:581
msgid "%n folder"
msgid_plural "%n folders"
msgstr[0] ""
@@ -165,7 +166,7 @@ msgstr[3] ""
msgstr[4] ""
msgstr[5] ""
-#: js/filelist.js:423 js/filelist.js:489 js/files.js:586
+#: js/filelist.js:425 js/filelist.js:491 js/files.js:587
msgid "%n file"
msgid_plural "%n files"
msgstr[0] ""
@@ -175,11 +176,11 @@ msgstr[3] ""
msgstr[4] ""
msgstr[5] ""
-#: js/filelist.js:430
+#: js/filelist.js:432
msgid "{dirs} and {files}"
-msgstr ""
+msgstr "{dirs} و {files}"
-#: js/filelist.js:561
+#: js/filelist.js:563
msgid "Uploading %n file"
msgid_plural "Uploading %n files"
msgstr[0] ""
@@ -189,9 +190,9 @@ msgstr[3] ""
msgstr[4] ""
msgstr[5] ""
-#: js/filelist.js:626
+#: js/filelist.js:628
msgid "files uploading"
-msgstr ""
+msgstr "يتم تحميل الملفات"
#: js/files.js:52
msgid "'.' is an invalid file name."
@@ -219,7 +220,7 @@ msgstr "مساحتك التخزينية امتلأت تقريبا "
msgid ""
"Encryption was disabled but your files are still encrypted. Please go to "
"your personal settings to decrypt your files."
-msgstr ""
+msgstr "تم تعطيل التشفير لكن ملفاتك لا تزال مشفرة. فضلا اذهب إلى الإعدادات الشخصية لإزالة التشفير عن ملفاتك."
#: js/files.js:245
msgid ""
@@ -227,15 +228,15 @@ msgid ""
"big."
msgstr "جاري تجهيز عملية التحميل. قد تستغرق بعض الوقت اذا كان حجم الملفات كبير."
-#: js/files.js:562 templates/index.php:67
+#: js/files.js:563 templates/index.php:69
msgid "Name"
msgstr "اسم"
-#: js/files.js:563 templates/index.php:78
+#: js/files.js:564 templates/index.php:81
msgid "Size"
msgstr "حجم"
-#: js/files.js:564 templates/index.php:80
+#: js/files.js:565 templates/index.php:83
msgid "Modified"
msgstr "معدل"
@@ -312,33 +313,33 @@ msgstr "لا تملك صلاحيات الكتابة هنا."
msgid "Nothing in here. Upload something!"
msgstr "لا يوجد شيء هنا. إرفع بعض الملفات!"
-#: templates/index.php:73
+#: templates/index.php:75
msgid "Download"
msgstr "تحميل"
-#: templates/index.php:85 templates/index.php:86
+#: templates/index.php:88 templates/index.php:89
msgid "Unshare"
msgstr "إلغاء مشاركة"
-#: templates/index.php:91 templates/index.php:92
+#: templates/index.php:94 templates/index.php:95
msgid "Delete"
msgstr "إلغاء"
-#: templates/index.php:105
+#: templates/index.php:108
msgid "Upload too large"
msgstr "حجم الترفيع أعلى من المسموح"
-#: templates/index.php:107
+#: templates/index.php:110
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "حجم الملفات التي تريد ترفيعها أعلى من المسموح على الخادم."
-#: templates/index.php:112
+#: templates/index.php:115
msgid "Files are being scanned, please wait."
msgstr "يرجى الانتظار , جاري فحص الملفات ."
-#: templates/index.php:115
+#: templates/index.php:118
msgid "Current scanning"
msgstr "الفحص الحالي"
diff --git a/l10n/bg_BG/files.po b/l10n/bg_BG/files.po
index a57ea88b76f..3d91bd55b82 100644
--- a/l10n/bg_BG/files.po
+++ b/l10n/bg_BG/files.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:31-0400\n"
-"PO-Revision-Date: 2013-08-30 13:34+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Bulgarian (Bulgaria) (http://www.transifex.com/projects/p/owncloud/language/bg_BG/)\n"
"MIME-Version: 1.0\n"
@@ -76,7 +76,7 @@ msgstr ""
#: ajax/upload.php:109
msgid "Upload failed"
-msgstr ""
+msgstr "Качването е неуспешно"
#: ajax/upload.php:127
msgid "Invalid directory."
@@ -111,7 +111,7 @@ msgstr ""
msgid "Invalid folder name. Usage of 'Shared' is reserved by ownCloud"
msgstr ""
-#: js/file-upload.js:275 js/file-upload.js:291 js/files.js:511 js/files.js:549
+#: js/file-upload.js:276 js/file-upload.js:292 js/files.js:512 js/files.js:550
msgid "Error"
msgstr "Грешка"
@@ -127,57 +127,57 @@ msgstr "Изтриване завинаги"
msgid "Rename"
msgstr "Преименуване"
-#: js/filelist.js:49 js/filelist.js:52 js/filelist.js:573
+#: js/filelist.js:50 js/filelist.js:53 js/filelist.js:575
msgid "Pending"
msgstr "Чакащо"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "{new_name} already exists"
msgstr ""
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "replace"
msgstr "препокриване"
-#: js/filelist.js:305
+#: js/filelist.js:307
msgid "suggest name"
msgstr ""
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "cancel"
msgstr "отказ"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "replaced {new_name} with {old_name}"
msgstr ""
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "undo"
msgstr "възтановяване"
-#: js/filelist.js:422 js/filelist.js:488 js/files.js:580
+#: js/filelist.js:424 js/filelist.js:490 js/files.js:581
msgid "%n folder"
msgid_plural "%n folders"
msgstr[0] ""
msgstr[1] ""
-#: js/filelist.js:423 js/filelist.js:489 js/files.js:586
+#: js/filelist.js:425 js/filelist.js:491 js/files.js:587
msgid "%n file"
msgid_plural "%n files"
msgstr[0] ""
msgstr[1] ""
-#: js/filelist.js:430
+#: js/filelist.js:432
msgid "{dirs} and {files}"
msgstr ""
-#: js/filelist.js:561
+#: js/filelist.js:563
msgid "Uploading %n file"
msgid_plural "Uploading %n files"
msgstr[0] ""
msgstr[1] ""
-#: js/filelist.js:626
+#: js/filelist.js:628
msgid "files uploading"
msgstr ""
@@ -215,15 +215,15 @@ msgid ""
"big."
msgstr ""
-#: js/files.js:562 templates/index.php:67
+#: js/files.js:563 templates/index.php:69
msgid "Name"
msgstr "Име"
-#: js/files.js:563 templates/index.php:78
+#: js/files.js:564 templates/index.php:81
msgid "Size"
msgstr "Размер"
-#: js/files.js:564 templates/index.php:80
+#: js/files.js:565 templates/index.php:83
msgid "Modified"
msgstr "Променено"
@@ -300,33 +300,33 @@ msgstr ""
msgid "Nothing in here. Upload something!"
msgstr "Няма нищо тук. Качете нещо."
-#: templates/index.php:73
+#: templates/index.php:75
msgid "Download"
msgstr "Изтегляне"
-#: templates/index.php:85 templates/index.php:86
+#: templates/index.php:88 templates/index.php:89
msgid "Unshare"
msgstr ""
-#: templates/index.php:91 templates/index.php:92
+#: templates/index.php:94 templates/index.php:95
msgid "Delete"
msgstr "Изтриване"
-#: templates/index.php:105
+#: templates/index.php:108
msgid "Upload too large"
msgstr "Файлът който сте избрали за качване е прекалено голям"
-#: templates/index.php:107
+#: templates/index.php:110
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "Файловете които се опитвате да качите са по-големи от позволеното за сървъра."
-#: templates/index.php:112
+#: templates/index.php:115
msgid "Files are being scanned, please wait."
msgstr "Файловете се претърсват, изчакайте."
-#: templates/index.php:115
+#: templates/index.php:118
msgid "Current scanning"
msgstr ""
diff --git a/l10n/ca/core.po b/l10n/ca/core.po
index 21836c30a8b..6585814d749 100644
--- a/l10n/ca/core.po
+++ b/l10n/ca/core.po
@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:32-0400\n"
-"PO-Revision-Date: 2013-08-30 13:33+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Catalan (http://www.transifex.com/projects/p/owncloud/language/ca/)\n"
"MIME-Version: 1.0\n"
@@ -26,7 +26,7 @@ msgstr "%s ha compartit »%s« amb tu"
#: ajax/share.php:227
msgid "group"
-msgstr ""
+msgstr "grup"
#: ajax/update.php:11
msgid "Turned on maintenance mode"
diff --git a/l10n/ca/files.po b/l10n/ca/files.po
index 8bedc7b3618..ecc26a9b132 100644
--- a/l10n/ca/files.po
+++ b/l10n/ca/files.po
@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:31-0400\n"
-"PO-Revision-Date: 2013-08-30 13:34+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Catalan (http://www.transifex.com/projects/p/owncloud/language/ca/)\n"
"MIME-Version: 1.0\n"
@@ -78,7 +78,7 @@ msgstr "No hi ha prou espai disponible"
#: ajax/upload.php:109
msgid "Upload failed"
-msgstr ""
+msgstr "La pujada ha fallat"
#: ajax/upload.php:127
msgid "Invalid directory."
@@ -113,7 +113,7 @@ msgstr "La URL no pot ser buida"
msgid "Invalid folder name. Usage of 'Shared' is reserved by ownCloud"
msgstr "Nom de carpeta no vàlid. L'ús de 'Shared' està reservat per Owncloud"
-#: js/file-upload.js:275 js/file-upload.js:291 js/files.js:511 js/files.js:549
+#: js/file-upload.js:276 js/file-upload.js:292 js/files.js:512 js/files.js:550
msgid "Error"
msgstr "Error"
@@ -129,57 +129,57 @@ msgstr "Esborra permanentment"
msgid "Rename"
msgstr "Reanomena"
-#: js/filelist.js:49 js/filelist.js:52 js/filelist.js:573
+#: js/filelist.js:50 js/filelist.js:53 js/filelist.js:575
msgid "Pending"
msgstr "Pendent"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "{new_name} already exists"
msgstr "{new_name} ja existeix"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "replace"
msgstr "substitueix"
-#: js/filelist.js:305
+#: js/filelist.js:307
msgid "suggest name"
msgstr "sugereix un nom"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "cancel"
msgstr "cancel·la"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "replaced {new_name} with {old_name}"
msgstr "s'ha substituït {old_name} per {new_name}"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "undo"
msgstr "desfés"
-#: js/filelist.js:422 js/filelist.js:488 js/files.js:580
+#: js/filelist.js:424 js/filelist.js:490 js/files.js:581
msgid "%n folder"
msgid_plural "%n folders"
msgstr[0] "%n carpeta"
msgstr[1] "%n carpetes"
-#: js/filelist.js:423 js/filelist.js:489 js/files.js:586
+#: js/filelist.js:425 js/filelist.js:491 js/files.js:587
msgid "%n file"
msgid_plural "%n files"
msgstr[0] "%n fitxer"
msgstr[1] "%n fitxers"
-#: js/filelist.js:430
+#: js/filelist.js:432
msgid "{dirs} and {files}"
msgstr ""
-#: js/filelist.js:561
+#: js/filelist.js:563
msgid "Uploading %n file"
msgid_plural "Uploading %n files"
msgstr[0] "Pujant %n fitxer"
msgstr[1] "Pujant %n fitxers"
-#: js/filelist.js:626
+#: js/filelist.js:628
msgid "files uploading"
msgstr "fitxers pujant"
@@ -217,15 +217,15 @@ msgid ""
"big."
msgstr "S'està preparant la baixada. Pot trigar una estona si els fitxers són grans."
-#: js/files.js:562 templates/index.php:67
+#: js/files.js:563 templates/index.php:69
msgid "Name"
msgstr "Nom"
-#: js/files.js:563 templates/index.php:78
+#: js/files.js:564 templates/index.php:81
msgid "Size"
msgstr "Mida"
-#: js/files.js:564 templates/index.php:80
+#: js/files.js:565 templates/index.php:83
msgid "Modified"
msgstr "Modificat"
@@ -302,33 +302,33 @@ msgstr "No teniu permisos d'escriptura aquí."
msgid "Nothing in here. Upload something!"
msgstr "Res per aquí. Pugeu alguna cosa!"
-#: templates/index.php:73
+#: templates/index.php:75
msgid "Download"
msgstr "Baixa"
-#: templates/index.php:85 templates/index.php:86
+#: templates/index.php:88 templates/index.php:89
msgid "Unshare"
msgstr "Deixa de compartir"
-#: templates/index.php:91 templates/index.php:92
+#: templates/index.php:94 templates/index.php:95
msgid "Delete"
msgstr "Esborra"
-#: templates/index.php:105
+#: templates/index.php:108
msgid "Upload too large"
msgstr "La pujada és massa gran"
-#: templates/index.php:107
+#: templates/index.php:110
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "Els fitxers que esteu intentant pujar excedeixen la mida màxima de pujada del servidor"
-#: templates/index.php:112
+#: templates/index.php:115
msgid "Files are being scanned, please wait."
msgstr "S'estan escanejant els fitxers, espereu"
-#: templates/index.php:115
+#: templates/index.php:118
msgid "Current scanning"
msgstr "Actualment escanejant"
diff --git a/l10n/cs_CZ/core.po b/l10n/cs_CZ/core.po
index 41edc0ee8a0..3689101c5df 100644
--- a/l10n/cs_CZ/core.po
+++ b/l10n/cs_CZ/core.po
@@ -12,9 +12,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:32-0400\n"
-"PO-Revision-Date: 2013-08-30 13:33+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-31 08:00+0000\n"
+"Last-Translator: pstast <petr@stastny.eu>\n"
"Language-Team: Czech (Czech Republic) (http://www.transifex.com/projects/p/owncloud/language/cs_CZ/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -29,7 +29,7 @@ msgstr "%s s vámi sdílí »%s«"
#: ajax/share.php:227
msgid "group"
-msgstr ""
+msgstr "skupina"
#: ajax/update.php:11
msgid "Turned on maintenance mode"
diff --git a/l10n/cs_CZ/files.po b/l10n/cs_CZ/files.po
index 94cdb7b62b6..503fc964125 100644
--- a/l10n/cs_CZ/files.po
+++ b/l10n/cs_CZ/files.po
@@ -11,9 +11,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:31-0400\n"
-"PO-Revision-Date: 2013-08-30 13:34+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-31 08:10+0000\n"
+"Last-Translator: pstast <petr@stastny.eu>\n"
"Language-Team: Czech (Czech Republic) (http://www.transifex.com/projects/p/owncloud/language/cs_CZ/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -80,7 +80,7 @@ msgstr "Nedostatek dostupného úložného prostoru"
#: ajax/upload.php:109
msgid "Upload failed"
-msgstr ""
+msgstr "Odesílání selhalo"
#: ajax/upload.php:127
msgid "Invalid directory."
@@ -115,7 +115,7 @@ msgstr "URL nemůže být prázdná."
msgid "Invalid folder name. Usage of 'Shared' is reserved by ownCloud"
msgstr "Název složky nelze použít. Použití názvu 'Shared' je ownCloudem rezervováno"
-#: js/file-upload.js:275 js/file-upload.js:291 js/files.js:511 js/files.js:549
+#: js/file-upload.js:276 js/file-upload.js:292 js/files.js:512 js/files.js:550
msgid "Error"
msgstr "Chyba"
@@ -131,60 +131,60 @@ msgstr "Trvale odstranit"
msgid "Rename"
msgstr "Přejmenovat"
-#: js/filelist.js:49 js/filelist.js:52 js/filelist.js:573
+#: js/filelist.js:50 js/filelist.js:53 js/filelist.js:575
msgid "Pending"
msgstr "Nevyřízené"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "{new_name} already exists"
msgstr "{new_name} již existuje"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "replace"
msgstr "nahradit"
-#: js/filelist.js:305
+#: js/filelist.js:307
msgid "suggest name"
msgstr "navrhnout název"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "cancel"
msgstr "zrušit"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "replaced {new_name} with {old_name}"
msgstr "nahrazeno {new_name} s {old_name}"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "undo"
msgstr "vrátit zpět"
-#: js/filelist.js:422 js/filelist.js:488 js/files.js:580
+#: js/filelist.js:424 js/filelist.js:490 js/files.js:581
msgid "%n folder"
msgid_plural "%n folders"
msgstr[0] "%n složka"
msgstr[1] "%n složky"
msgstr[2] "%n složek"
-#: js/filelist.js:423 js/filelist.js:489 js/files.js:586
+#: js/filelist.js:425 js/filelist.js:491 js/files.js:587
msgid "%n file"
msgid_plural "%n files"
msgstr[0] "%n soubor"
msgstr[1] "%n soubory"
msgstr[2] "%n souborů"
-#: js/filelist.js:430
+#: js/filelist.js:432
msgid "{dirs} and {files}"
-msgstr ""
+msgstr "{dirs} a {files}"
-#: js/filelist.js:561
+#: js/filelist.js:563
msgid "Uploading %n file"
msgid_plural "Uploading %n files"
msgstr[0] "Nahrávám %n soubor"
msgstr[1] "Nahrávám %n soubory"
msgstr[2] "Nahrávám %n souborů"
-#: js/filelist.js:626
+#: js/filelist.js:628
msgid "files uploading"
msgstr "soubory se odesílají"
@@ -222,15 +222,15 @@ msgid ""
"big."
msgstr "Vaše soubory ke stažení se připravují. Pokud jsou velké, může to chvíli trvat."
-#: js/files.js:562 templates/index.php:67
+#: js/files.js:563 templates/index.php:69
msgid "Name"
msgstr "Název"
-#: js/files.js:563 templates/index.php:78
+#: js/files.js:564 templates/index.php:81
msgid "Size"
msgstr "Velikost"
-#: js/files.js:564 templates/index.php:80
+#: js/files.js:565 templates/index.php:83
msgid "Modified"
msgstr "Upraveno"
@@ -307,33 +307,33 @@ msgstr "Nemáte zde práva zápisu."
msgid "Nothing in here. Upload something!"
msgstr "Žádný obsah. Nahrajte něco."
-#: templates/index.php:73
+#: templates/index.php:75
msgid "Download"
msgstr "Stáhnout"
-#: templates/index.php:85 templates/index.php:86
+#: templates/index.php:88 templates/index.php:89
msgid "Unshare"
msgstr "Zrušit sdílení"
-#: templates/index.php:91 templates/index.php:92
+#: templates/index.php:94 templates/index.php:95
msgid "Delete"
msgstr "Smazat"
-#: templates/index.php:105
+#: templates/index.php:108
msgid "Upload too large"
msgstr "Odesílaný soubor je příliš velký"
-#: templates/index.php:107
+#: templates/index.php:110
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "Soubory, které se snažíte odeslat, překračují limit velikosti odesílání na tomto serveru."
-#: templates/index.php:112
+#: templates/index.php:115
msgid "Files are being scanned, please wait."
msgstr "Soubory se prohledávají, prosím čekejte."
-#: templates/index.php:115
+#: templates/index.php:118
msgid "Current scanning"
msgstr "Aktuální prohledávání"
diff --git a/l10n/cy_GB/core.po b/l10n/cy_GB/core.po
index 638507e646f..700bfe97729 100644
--- a/l10n/cy_GB/core.po
+++ b/l10n/cy_GB/core.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:32-0400\n"
-"PO-Revision-Date: 2013-08-30 13:33+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Welsh (United Kingdom) (http://www.transifex.com/projects/p/owncloud/language/cy_GB/)\n"
"MIME-Version: 1.0\n"
@@ -25,7 +25,7 @@ msgstr ""
#: ajax/share.php:227
msgid "group"
-msgstr ""
+msgstr "grŵp"
#: ajax/update.php:11
msgid "Turned on maintenance mode"
diff --git a/l10n/cy_GB/files.po b/l10n/cy_GB/files.po
index c1e83e56cc9..7507b666b09 100644
--- a/l10n/cy_GB/files.po
+++ b/l10n/cy_GB/files.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:31-0400\n"
-"PO-Revision-Date: 2013-08-30 13:34+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Welsh (United Kingdom) (http://www.transifex.com/projects/p/owncloud/language/cy_GB/)\n"
"MIME-Version: 1.0\n"
@@ -76,7 +76,7 @@ msgstr "Dim digon o le storio ar gael"
#: ajax/upload.php:109
msgid "Upload failed"
-msgstr ""
+msgstr "Methwyd llwytho i fyny"
#: ajax/upload.php:127
msgid "Invalid directory."
@@ -111,7 +111,7 @@ msgstr "Does dim hawl cael URL gwag."
msgid "Invalid folder name. Usage of 'Shared' is reserved by ownCloud"
msgstr ""
-#: js/file-upload.js:275 js/file-upload.js:291 js/files.js:511 js/files.js:549
+#: js/file-upload.js:276 js/file-upload.js:292 js/files.js:512 js/files.js:550
msgid "Error"
msgstr "Gwall"
@@ -127,35 +127,35 @@ msgstr "Dileu'n barhaol"
msgid "Rename"
msgstr "Ailenwi"
-#: js/filelist.js:49 js/filelist.js:52 js/filelist.js:573
+#: js/filelist.js:50 js/filelist.js:53 js/filelist.js:575
msgid "Pending"
msgstr "I ddod"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "{new_name} already exists"
msgstr "{new_name} yn bodoli'n barod"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "replace"
msgstr "amnewid"
-#: js/filelist.js:305
+#: js/filelist.js:307
msgid "suggest name"
msgstr "awgrymu enw"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "cancel"
msgstr "diddymu"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "replaced {new_name} with {old_name}"
msgstr "newidiwyd {new_name} yn lle {old_name}"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "undo"
msgstr "dadwneud"
-#: js/filelist.js:422 js/filelist.js:488 js/files.js:580
+#: js/filelist.js:424 js/filelist.js:490 js/files.js:581
msgid "%n folder"
msgid_plural "%n folders"
msgstr[0] ""
@@ -163,7 +163,7 @@ msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
-#: js/filelist.js:423 js/filelist.js:489 js/files.js:586
+#: js/filelist.js:425 js/filelist.js:491 js/files.js:587
msgid "%n file"
msgid_plural "%n files"
msgstr[0] ""
@@ -171,11 +171,11 @@ msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
-#: js/filelist.js:430
+#: js/filelist.js:432
msgid "{dirs} and {files}"
msgstr ""
-#: js/filelist.js:561
+#: js/filelist.js:563
msgid "Uploading %n file"
msgid_plural "Uploading %n files"
msgstr[0] ""
@@ -183,7 +183,7 @@ msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
-#: js/filelist.js:626
+#: js/filelist.js:628
msgid "files uploading"
msgstr "ffeiliau'n llwytho i fyny"
@@ -221,15 +221,15 @@ msgid ""
"big."
msgstr "Wrthi'n paratoi i lwytho i lawr. Gall gymryd peth amser os yw'r ffeiliau'n fawr."
-#: js/files.js:562 templates/index.php:67
+#: js/files.js:563 templates/index.php:69
msgid "Name"
msgstr "Enw"
-#: js/files.js:563 templates/index.php:78
+#: js/files.js:564 templates/index.php:81
msgid "Size"
msgstr "Maint"
-#: js/files.js:564 templates/index.php:80
+#: js/files.js:565 templates/index.php:83
msgid "Modified"
msgstr "Addaswyd"
@@ -306,33 +306,33 @@ msgstr "Nid oes gennych hawliau ysgrifennu fan hyn."
msgid "Nothing in here. Upload something!"
msgstr "Does dim byd fan hyn. Llwythwch rhywbeth i fyny!"
-#: templates/index.php:73
+#: templates/index.php:75
msgid "Download"
msgstr "Llwytho i lawr"
-#: templates/index.php:85 templates/index.php:86
+#: templates/index.php:88 templates/index.php:89
msgid "Unshare"
msgstr "Dad-rannu"
-#: templates/index.php:91 templates/index.php:92
+#: templates/index.php:94 templates/index.php:95
msgid "Delete"
msgstr "Dileu"
-#: templates/index.php:105
+#: templates/index.php:108
msgid "Upload too large"
msgstr "Maint llwytho i fyny'n rhy fawr"
-#: templates/index.php:107
+#: templates/index.php:110
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "Mae'r ffeiliau rydych yn ceisio llwytho i fyny'n fwy na maint mwyaf llwytho ffeiliau i fyny ar y gweinydd hwn."
-#: templates/index.php:112
+#: templates/index.php:115
msgid "Files are being scanned, please wait."
msgstr "Arhoswch, mae ffeiliau'n cael eu sganio."
-#: templates/index.php:115
+#: templates/index.php:118
msgid "Current scanning"
msgstr "Sganio cyfredol"
diff --git a/l10n/da/core.po b/l10n/da/core.po
index 5c71f405c59..adc2e0f26ca 100644
--- a/l10n/da/core.po
+++ b/l10n/da/core.po
@@ -11,8 +11,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:32-0400\n"
-"PO-Revision-Date: 2013-08-30 13:33+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Danish (http://www.transifex.com/projects/p/owncloud/language/da/)\n"
"MIME-Version: 1.0\n"
@@ -28,7 +28,7 @@ msgstr "%s delte »%s« med sig"
#: ajax/share.php:227
msgid "group"
-msgstr ""
+msgstr "gruppe"
#: ajax/update.php:11
msgid "Turned on maintenance mode"
diff --git a/l10n/da/files.po b/l10n/da/files.po
index 3f9da02827c..fb180ee25be 100644
--- a/l10n/da/files.po
+++ b/l10n/da/files.po
@@ -10,9 +10,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:31-0400\n"
-"PO-Revision-Date: 2013-08-30 13:34+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-31 17:27+0000\n"
+"Last-Translator: Sappe\n"
"Language-Team: Danish (http://www.transifex.com/projects/p/owncloud/language/da/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -79,7 +79,7 @@ msgstr "Der er ikke nok plads til rådlighed"
#: ajax/upload.php:109
msgid "Upload failed"
-msgstr ""
+msgstr "Upload fejlede"
#: ajax/upload.php:127
msgid "Invalid directory."
@@ -114,7 +114,7 @@ msgstr "URLen kan ikke være tom."
msgid "Invalid folder name. Usage of 'Shared' is reserved by ownCloud"
msgstr "Ugyldigt mappenavn. Brug af 'Shared' er forbeholdt af ownCloud"
-#: js/file-upload.js:275 js/file-upload.js:291 js/files.js:511 js/files.js:549
+#: js/file-upload.js:276 js/file-upload.js:292 js/files.js:512 js/files.js:550
msgid "Error"
msgstr "Fejl"
@@ -130,57 +130,57 @@ msgstr "Slet permanent"
msgid "Rename"
msgstr "Omdøb"
-#: js/filelist.js:49 js/filelist.js:52 js/filelist.js:573
+#: js/filelist.js:50 js/filelist.js:53 js/filelist.js:575
msgid "Pending"
msgstr "Afventer"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "{new_name} already exists"
msgstr "{new_name} eksisterer allerede"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "replace"
msgstr "erstat"
-#: js/filelist.js:305
+#: js/filelist.js:307
msgid "suggest name"
msgstr "foreslå navn"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "cancel"
msgstr "fortryd"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "replaced {new_name} with {old_name}"
msgstr "erstattede {new_name} med {old_name}"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "undo"
msgstr "fortryd"
-#: js/filelist.js:422 js/filelist.js:488 js/files.js:580
+#: js/filelist.js:424 js/filelist.js:490 js/files.js:581
msgid "%n folder"
msgid_plural "%n folders"
msgstr[0] "%n mappe"
msgstr[1] "%n mapper"
-#: js/filelist.js:423 js/filelist.js:489 js/files.js:586
+#: js/filelist.js:425 js/filelist.js:491 js/files.js:587
msgid "%n file"
msgid_plural "%n files"
msgstr[0] "%n fil"
msgstr[1] "%n filer"
-#: js/filelist.js:430
+#: js/filelist.js:432
msgid "{dirs} and {files}"
-msgstr ""
+msgstr "{dirs} og {files}"
-#: js/filelist.js:561
+#: js/filelist.js:563
msgid "Uploading %n file"
msgid_plural "Uploading %n files"
msgstr[0] "Uploader %n fil"
msgstr[1] "Uploader %n filer"
-#: js/filelist.js:626
+#: js/filelist.js:628
msgid "files uploading"
msgstr "uploader filer"
@@ -218,15 +218,15 @@ msgid ""
"big."
msgstr "Dit download forberedes. Dette kan tage lidt tid ved større filer."
-#: js/files.js:562 templates/index.php:67
+#: js/files.js:563 templates/index.php:69
msgid "Name"
msgstr "Navn"
-#: js/files.js:563 templates/index.php:78
+#: js/files.js:564 templates/index.php:81
msgid "Size"
msgstr "Størrelse"
-#: js/files.js:564 templates/index.php:80
+#: js/files.js:565 templates/index.php:83
msgid "Modified"
msgstr "Ændret"
@@ -303,33 +303,33 @@ msgstr "Du har ikke skriverettigheder her."
msgid "Nothing in here. Upload something!"
msgstr "Her er tomt. Upload noget!"
-#: templates/index.php:73
+#: templates/index.php:75
msgid "Download"
msgstr "Download"
-#: templates/index.php:85 templates/index.php:86
+#: templates/index.php:88 templates/index.php:89
msgid "Unshare"
msgstr "Fjern deling"
-#: templates/index.php:91 templates/index.php:92
+#: templates/index.php:94 templates/index.php:95
msgid "Delete"
msgstr "Slet"
-#: templates/index.php:105
+#: templates/index.php:108
msgid "Upload too large"
msgstr "Upload er for stor"
-#: templates/index.php:107
+#: templates/index.php:110
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "Filerne, du prøver at uploade, er større end den maksimale størrelse for fil-upload på denne server."
-#: templates/index.php:112
+#: templates/index.php:115
msgid "Files are being scanned, please wait."
msgstr "Filerne bliver indlæst, vent venligst."
-#: templates/index.php:115
+#: templates/index.php:118
msgid "Current scanning"
msgstr "Indlæser"
diff --git a/l10n/de/core.po b/l10n/de/core.po
index 23574ea9813..0a572015282 100644
--- a/l10n/de/core.po
+++ b/l10n/de/core.po
@@ -15,8 +15,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:32-0400\n"
-"PO-Revision-Date: 2013-08-30 13:33+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: German <translations@owncloud.org>\n"
"MIME-Version: 1.0\n"
@@ -32,7 +32,7 @@ msgstr "%s teilte »%s« mit Ihnen"
#: ajax/share.php:227
msgid "group"
-msgstr ""
+msgstr "Gruppe"
#: ajax/update.php:11
msgid "Turned on maintenance mode"
diff --git a/l10n/de/files.po b/l10n/de/files.po
index eb931d39214..21a1d8cafb2 100644
--- a/l10n/de/files.po
+++ b/l10n/de/files.po
@@ -13,9 +13,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:31-0400\n"
-"PO-Revision-Date: 2013-08-30 13:34+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-31 18:00+0000\n"
+"Last-Translator: Mario Siegmann <mario_siegmann@web.de>\n"
"Language-Team: German <translations@owncloud.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -82,7 +82,7 @@ msgstr "Nicht genug Speicher vorhanden."
#: ajax/upload.php:109
msgid "Upload failed"
-msgstr ""
+msgstr "Hochladen fehlgeschlagen"
#: ajax/upload.php:127
msgid "Invalid directory."
@@ -117,7 +117,7 @@ msgstr "Die URL darf nicht leer sein."
msgid "Invalid folder name. Usage of 'Shared' is reserved by ownCloud"
msgstr "Der Ordnername ist ungültig. Nur ownCloud kann den Ordner \"Shared\" anlegen"
-#: js/file-upload.js:275 js/file-upload.js:291 js/files.js:511 js/files.js:549
+#: js/file-upload.js:276 js/file-upload.js:292 js/files.js:512 js/files.js:550
msgid "Error"
msgstr "Fehler"
@@ -133,57 +133,57 @@ msgstr "Endgültig löschen"
msgid "Rename"
msgstr "Umbenennen"
-#: js/filelist.js:49 js/filelist.js:52 js/filelist.js:573
+#: js/filelist.js:50 js/filelist.js:53 js/filelist.js:575
msgid "Pending"
msgstr "Ausstehend"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "{new_name} already exists"
msgstr "{new_name} existiert bereits"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "replace"
msgstr "ersetzen"
-#: js/filelist.js:305
+#: js/filelist.js:307
msgid "suggest name"
msgstr "Namen vorschlagen"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "cancel"
msgstr "abbrechen"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "replaced {new_name} with {old_name}"
msgstr "{old_name} ersetzt durch {new_name}"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "undo"
msgstr "rückgängig machen"
-#: js/filelist.js:422 js/filelist.js:488 js/files.js:580
+#: js/filelist.js:424 js/filelist.js:490 js/files.js:581
msgid "%n folder"
msgid_plural "%n folders"
msgstr[0] "%n Ordner"
msgstr[1] "%n Ordner"
-#: js/filelist.js:423 js/filelist.js:489 js/files.js:586
+#: js/filelist.js:425 js/filelist.js:491 js/files.js:587
msgid "%n file"
msgid_plural "%n files"
msgstr[0] "%n Datei"
msgstr[1] "%n Dateien"
-#: js/filelist.js:430
+#: js/filelist.js:432
msgid "{dirs} and {files}"
-msgstr ""
+msgstr "{dirs} und {files}"
-#: js/filelist.js:561
+#: js/filelist.js:563
msgid "Uploading %n file"
msgid_plural "Uploading %n files"
msgstr[0] "%n Datei wird hochgeladen"
msgstr[1] "%n Dateien werden hochgeladen"
-#: js/filelist.js:626
+#: js/filelist.js:628
msgid "files uploading"
msgstr "Dateien werden hoch geladen"
@@ -221,15 +221,15 @@ msgid ""
"big."
msgstr "Dein Download wird vorbereitet. Dies kann bei größeren Dateien etwas dauern."
-#: js/files.js:562 templates/index.php:67
+#: js/files.js:563 templates/index.php:69
msgid "Name"
msgstr "Name"
-#: js/files.js:563 templates/index.php:78
+#: js/files.js:564 templates/index.php:81
msgid "Size"
msgstr "Größe"
-#: js/files.js:564 templates/index.php:80
+#: js/files.js:565 templates/index.php:83
msgid "Modified"
msgstr "Geändert"
@@ -306,33 +306,33 @@ msgstr "Du hast hier keine Schreib-Berechtigung."
msgid "Nothing in here. Upload something!"
msgstr "Alles leer. Lade etwas hoch!"
-#: templates/index.php:73
+#: templates/index.php:75
msgid "Download"
msgstr "Herunterladen"
-#: templates/index.php:85 templates/index.php:86
+#: templates/index.php:88 templates/index.php:89
msgid "Unshare"
msgstr "Freigabe aufheben"
-#: templates/index.php:91 templates/index.php:92
+#: templates/index.php:94 templates/index.php:95
msgid "Delete"
msgstr "Löschen"
-#: templates/index.php:105
+#: templates/index.php:108
msgid "Upload too large"
msgstr "Der Upload ist zu groß"
-#: templates/index.php:107
+#: templates/index.php:110
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "Die Datei überschreitet die Maximalgröße für Uploads auf diesem Server."
-#: templates/index.php:112
+#: templates/index.php:115
msgid "Files are being scanned, please wait."
msgstr "Dateien werden gescannt, bitte warten."
-#: templates/index.php:115
+#: templates/index.php:118
msgid "Current scanning"
msgstr "Scanne"
diff --git a/l10n/de_CH/core.po b/l10n/de_CH/core.po
index 47c4fa12e7f..9469c953841 100644
--- a/l10n/de_CH/core.po
+++ b/l10n/de_CH/core.po
@@ -16,8 +16,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:32-0400\n"
-"PO-Revision-Date: 2013-08-30 13:33+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: German (Switzerland) (http://www.transifex.com/projects/p/owncloud/language/de_CH/)\n"
"MIME-Version: 1.0\n"
@@ -33,7 +33,7 @@ msgstr "%s teilt »%s« mit Ihnen"
#: ajax/share.php:227
msgid "group"
-msgstr ""
+msgstr "Gruppe"
#: ajax/update.php:11
msgid "Turned on maintenance mode"
diff --git a/l10n/de_CH/files.po b/l10n/de_CH/files.po
index a1c58799f33..95d27fc4a67 100644
--- a/l10n/de_CH/files.po
+++ b/l10n/de_CH/files.po
@@ -16,8 +16,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:31-0400\n"
-"PO-Revision-Date: 2013-08-30 13:34+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: German (Switzerland) (http://www.transifex.com/projects/p/owncloud/language/de_CH/)\n"
"MIME-Version: 1.0\n"
@@ -85,7 +85,7 @@ msgstr "Nicht genug Speicher vorhanden."
#: ajax/upload.php:109
msgid "Upload failed"
-msgstr ""
+msgstr "Hochladen fehlgeschlagen"
#: ajax/upload.php:127
msgid "Invalid directory."
@@ -120,7 +120,7 @@ msgstr "Die URL darf nicht leer sein."
msgid "Invalid folder name. Usage of 'Shared' is reserved by ownCloud"
msgstr "Ungültiger Ordnername. Die Verwendung von «Shared» ist ownCloud vorbehalten."
-#: js/file-upload.js:275 js/file-upload.js:291 js/files.js:511 js/files.js:549
+#: js/file-upload.js:276 js/file-upload.js:292 js/files.js:512 js/files.js:550
msgid "Error"
msgstr "Fehler"
@@ -136,57 +136,57 @@ msgstr "Endgültig löschen"
msgid "Rename"
msgstr "Umbenennen"
-#: js/filelist.js:49 js/filelist.js:52 js/filelist.js:573
+#: js/filelist.js:50 js/filelist.js:53 js/filelist.js:575
msgid "Pending"
msgstr "Ausstehend"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "{new_name} already exists"
msgstr "{new_name} existiert bereits"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "replace"
msgstr "ersetzen"
-#: js/filelist.js:305
+#: js/filelist.js:307
msgid "suggest name"
msgstr "Namen vorschlagen"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "cancel"
msgstr "abbrechen"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "replaced {new_name} with {old_name}"
msgstr "{old_name} wurde ersetzt durch {new_name}"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "undo"
msgstr "rückgängig machen"
-#: js/filelist.js:422 js/filelist.js:488 js/files.js:580
+#: js/filelist.js:424 js/filelist.js:490 js/files.js:581
msgid "%n folder"
msgid_plural "%n folders"
msgstr[0] ""
msgstr[1] "%n Ordner"
-#: js/filelist.js:423 js/filelist.js:489 js/files.js:586
+#: js/filelist.js:425 js/filelist.js:491 js/files.js:587
msgid "%n file"
msgid_plural "%n files"
msgstr[0] ""
msgstr[1] "%n Dateien"
-#: js/filelist.js:430
+#: js/filelist.js:432
msgid "{dirs} and {files}"
msgstr ""
-#: js/filelist.js:561
+#: js/filelist.js:563
msgid "Uploading %n file"
msgid_plural "Uploading %n files"
msgstr[0] "%n Datei wird hochgeladen"
msgstr[1] "%n Dateien werden hochgeladen"
-#: js/filelist.js:626
+#: js/filelist.js:628
msgid "files uploading"
msgstr "Dateien werden hoch geladen"
@@ -224,15 +224,15 @@ msgid ""
"big."
msgstr "Ihr Download wird vorbereitet. Dies kann bei grösseren Dateien etwas dauern."
-#: js/files.js:562 templates/index.php:67
+#: js/files.js:563 templates/index.php:69
msgid "Name"
msgstr "Name"
-#: js/files.js:563 templates/index.php:78
+#: js/files.js:564 templates/index.php:81
msgid "Size"
msgstr "Grösse"
-#: js/files.js:564 templates/index.php:80
+#: js/files.js:565 templates/index.php:83
msgid "Modified"
msgstr "Geändert"
@@ -309,33 +309,33 @@ msgstr "Sie haben hier keine Schreib-Berechtigungen."
msgid "Nothing in here. Upload something!"
msgstr "Alles leer. Laden Sie etwas hoch!"
-#: templates/index.php:73
+#: templates/index.php:75
msgid "Download"
msgstr "Herunterladen"
-#: templates/index.php:85 templates/index.php:86
+#: templates/index.php:88 templates/index.php:89
msgid "Unshare"
msgstr "Freigabe aufheben"
-#: templates/index.php:91 templates/index.php:92
+#: templates/index.php:94 templates/index.php:95
msgid "Delete"
msgstr "Löschen"
-#: templates/index.php:105
+#: templates/index.php:108
msgid "Upload too large"
msgstr "Der Upload ist zu gross"
-#: templates/index.php:107
+#: templates/index.php:110
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "Die Datei überschreitet die Maximalgrösse für Uploads auf diesem Server."
-#: templates/index.php:112
+#: templates/index.php:115
msgid "Files are being scanned, please wait."
msgstr "Dateien werden gescannt, bitte warten."
-#: templates/index.php:115
+#: templates/index.php:118
msgid "Current scanning"
msgstr "Scanne"
diff --git a/l10n/de_DE/core.po b/l10n/de_DE/core.po
index 1a3f292dc07..000f19fdda5 100644
--- a/l10n/de_DE/core.po
+++ b/l10n/de_DE/core.po
@@ -15,8 +15,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:32-0400\n"
-"PO-Revision-Date: 2013-08-30 13:33+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: German (Germany) <translations@owncloud.org>\n"
"MIME-Version: 1.0\n"
@@ -32,7 +32,7 @@ msgstr "%s geteilt »%s« mit Ihnen"
#: ajax/share.php:227
msgid "group"
-msgstr ""
+msgstr "Gruppe"
#: ajax/update.php:11
msgid "Turned on maintenance mode"
diff --git a/l10n/de_DE/files.po b/l10n/de_DE/files.po
index 1282d6306c9..cf3e5f3eb62 100644
--- a/l10n/de_DE/files.po
+++ b/l10n/de_DE/files.po
@@ -7,6 +7,7 @@
# SteinQuadrat, 2013
# I Robot <owncloud-bot@tmit.eu>, 2013
# Marcel Kühlhorn <susefan93@gmx.de>, 2013
+# Mario Siegmann <mario_siegmann@web.de>, 2013
# traductor <transifex-2.7.mensaje@spamgourmet.com>, 2013
# noxin <transifex.com@davidmainzer.com>, 2013
# Mirodin <blobbyjj@ymail.com>, 2013
@@ -15,9 +16,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:31-0400\n"
-"PO-Revision-Date: 2013-08-30 13:34+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-31 18:00+0000\n"
+"Last-Translator: Mario Siegmann <mario_siegmann@web.de>\n"
"Language-Team: German (Germany) <translations@owncloud.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -84,7 +85,7 @@ msgstr "Nicht genug Speicher vorhanden."
#: ajax/upload.php:109
msgid "Upload failed"
-msgstr ""
+msgstr "Hochladen fehlgeschlagen"
#: ajax/upload.php:127
msgid "Invalid directory."
@@ -119,7 +120,7 @@ msgstr "Die URL darf nicht leer sein."
msgid "Invalid folder name. Usage of 'Shared' is reserved by ownCloud"
msgstr "Ungültiger Ordnername. Die Verwendung von \"Shared\" ist ownCloud vorbehalten."
-#: js/file-upload.js:275 js/file-upload.js:291 js/files.js:511 js/files.js:549
+#: js/file-upload.js:276 js/file-upload.js:292 js/files.js:512 js/files.js:550
msgid "Error"
msgstr "Fehler"
@@ -135,57 +136,57 @@ msgstr "Endgültig löschen"
msgid "Rename"
msgstr "Umbenennen"
-#: js/filelist.js:49 js/filelist.js:52 js/filelist.js:573
+#: js/filelist.js:50 js/filelist.js:53 js/filelist.js:575
msgid "Pending"
msgstr "Ausstehend"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "{new_name} already exists"
msgstr "{new_name} existiert bereits"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "replace"
msgstr "ersetzen"
-#: js/filelist.js:305
+#: js/filelist.js:307
msgid "suggest name"
msgstr "Namen vorschlagen"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "cancel"
msgstr "abbrechen"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "replaced {new_name} with {old_name}"
msgstr "{old_name} wurde ersetzt durch {new_name}"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "undo"
msgstr "rückgängig machen"
-#: js/filelist.js:422 js/filelist.js:488 js/files.js:580
+#: js/filelist.js:424 js/filelist.js:490 js/files.js:581
msgid "%n folder"
msgid_plural "%n folders"
msgstr[0] "%n Ordner"
msgstr[1] "%n Ordner"
-#: js/filelist.js:423 js/filelist.js:489 js/files.js:586
+#: js/filelist.js:425 js/filelist.js:491 js/files.js:587
msgid "%n file"
msgid_plural "%n files"
msgstr[0] "%n Datei"
msgstr[1] "%n Dateien"
-#: js/filelist.js:430
+#: js/filelist.js:432
msgid "{dirs} and {files}"
-msgstr ""
+msgstr "{dirs} und {files}"
-#: js/filelist.js:561
+#: js/filelist.js:563
msgid "Uploading %n file"
msgid_plural "Uploading %n files"
msgstr[0] "%n Datei wird hoch geladen"
msgstr[1] "%n Dateien werden hoch geladen"
-#: js/filelist.js:626
+#: js/filelist.js:628
msgid "files uploading"
msgstr "Dateien werden hoch geladen"
@@ -223,15 +224,15 @@ msgid ""
"big."
msgstr "Ihr Download wird vorbereitet. Dies kann bei größeren Dateien etwas dauern."
-#: js/files.js:562 templates/index.php:67
+#: js/files.js:563 templates/index.php:69
msgid "Name"
msgstr "Name"
-#: js/files.js:563 templates/index.php:78
+#: js/files.js:564 templates/index.php:81
msgid "Size"
msgstr "Größe"
-#: js/files.js:564 templates/index.php:80
+#: js/files.js:565 templates/index.php:83
msgid "Modified"
msgstr "Geändert"
@@ -308,33 +309,33 @@ msgstr "Sie haben hier keine Schreib-Berechtigungen."
msgid "Nothing in here. Upload something!"
msgstr "Alles leer. Laden Sie etwas hoch!"
-#: templates/index.php:73
+#: templates/index.php:75
msgid "Download"
msgstr "Herunterladen"
-#: templates/index.php:85 templates/index.php:86
+#: templates/index.php:88 templates/index.php:89
msgid "Unshare"
msgstr "Freigabe aufheben"
-#: templates/index.php:91 templates/index.php:92
+#: templates/index.php:94 templates/index.php:95
msgid "Delete"
msgstr "Löschen"
-#: templates/index.php:105
+#: templates/index.php:108
msgid "Upload too large"
msgstr "Der Upload ist zu groß"
-#: templates/index.php:107
+#: templates/index.php:110
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "Die Datei überschreitet die Maximalgröße für Uploads auf diesem Server."
-#: templates/index.php:112
+#: templates/index.php:115
msgid "Files are being scanned, please wait."
msgstr "Dateien werden gescannt, bitte warten."
-#: templates/index.php:115
+#: templates/index.php:118
msgid "Current scanning"
msgstr "Scanne"
diff --git a/l10n/el/core.po b/l10n/el/core.po
index 31ff37b3eeb..ca0b80f304b 100644
--- a/l10n/el/core.po
+++ b/l10n/el/core.po
@@ -14,8 +14,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:32-0400\n"
-"PO-Revision-Date: 2013-08-30 13:33+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Greek (http://www.transifex.com/projects/p/owncloud/language/el/)\n"
"MIME-Version: 1.0\n"
@@ -31,7 +31,7 @@ msgstr "Ο %s διαμοιράστηκε μαζί σας το »%s«"
#: ajax/share.php:227
msgid "group"
-msgstr ""
+msgstr "ομάδα"
#: ajax/update.php:11
msgid "Turned on maintenance mode"
diff --git a/l10n/el/files.po b/l10n/el/files.po
index 50dcd3f9477..bd017bcd8e7 100644
--- a/l10n/el/files.po
+++ b/l10n/el/files.po
@@ -10,8 +10,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:31-0400\n"
-"PO-Revision-Date: 2013-08-30 13:34+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Greek (http://www.transifex.com/projects/p/owncloud/language/el/)\n"
"MIME-Version: 1.0\n"
@@ -79,7 +79,7 @@ msgstr "Μη επαρκής διαθέσιμος αποθηκευτικός χώ
#: ajax/upload.php:109
msgid "Upload failed"
-msgstr ""
+msgstr "Η μεταφόρτωση απέτυχε"
#: ajax/upload.php:127
msgid "Invalid directory."
@@ -114,7 +114,7 @@ msgstr "Η URL δεν μπορεί να είναι κενή."
msgid "Invalid folder name. Usage of 'Shared' is reserved by ownCloud"
msgstr "Μη έγκυρο όνομα φακέλου. Η χρήση του 'Κοινόχρηστος' χρησιμοποιείται από το ownCloud"
-#: js/file-upload.js:275 js/file-upload.js:291 js/files.js:511 js/files.js:549
+#: js/file-upload.js:276 js/file-upload.js:292 js/files.js:512 js/files.js:550
msgid "Error"
msgstr "Σφάλμα"
@@ -130,57 +130,57 @@ msgstr "Μόνιμη διαγραφή"
msgid "Rename"
msgstr "Μετονομασία"
-#: js/filelist.js:49 js/filelist.js:52 js/filelist.js:573
+#: js/filelist.js:50 js/filelist.js:53 js/filelist.js:575
msgid "Pending"
msgstr "Εκκρεμεί"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "{new_name} already exists"
msgstr "{new_name} υπάρχει ήδη"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "replace"
msgstr "αντικατέστησε"
-#: js/filelist.js:305
+#: js/filelist.js:307
msgid "suggest name"
msgstr "συνιστώμενο όνομα"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "cancel"
msgstr "ακύρωση"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "replaced {new_name} with {old_name}"
msgstr "αντικαταστάθηκε το {new_name} με {old_name}"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "undo"
msgstr "αναίρεση"
-#: js/filelist.js:422 js/filelist.js:488 js/files.js:580
+#: js/filelist.js:424 js/filelist.js:490 js/files.js:581
msgid "%n folder"
msgid_plural "%n folders"
msgstr[0] "%n φάκελος"
msgstr[1] "%n φάκελοι"
-#: js/filelist.js:423 js/filelist.js:489 js/files.js:586
+#: js/filelist.js:425 js/filelist.js:491 js/files.js:587
msgid "%n file"
msgid_plural "%n files"
msgstr[0] "%n αρχείο"
msgstr[1] "%n αρχεία"
-#: js/filelist.js:430
+#: js/filelist.js:432
msgid "{dirs} and {files}"
msgstr ""
-#: js/filelist.js:561
+#: js/filelist.js:563
msgid "Uploading %n file"
msgid_plural "Uploading %n files"
msgstr[0] "Ανέβασμα %n αρχείου"
msgstr[1] "Ανέβασμα %n αρχείων"
-#: js/filelist.js:626
+#: js/filelist.js:628
msgid "files uploading"
msgstr "αρχεία ανεβαίνουν"
@@ -218,15 +218,15 @@ msgid ""
"big."
msgstr "Η λήψη προετοιμάζεται. Αυτό μπορεί να πάρει ώρα εάν τα αρχεία έχουν μεγάλο μέγεθος."
-#: js/files.js:562 templates/index.php:67
+#: js/files.js:563 templates/index.php:69
msgid "Name"
msgstr "Όνομα"
-#: js/files.js:563 templates/index.php:78
+#: js/files.js:564 templates/index.php:81
msgid "Size"
msgstr "Μέγεθος"
-#: js/files.js:564 templates/index.php:80
+#: js/files.js:565 templates/index.php:83
msgid "Modified"
msgstr "Τροποποιήθηκε"
@@ -303,33 +303,33 @@ msgstr "Δεν έχετε δικαιώματα εγγραφής εδώ."
msgid "Nothing in here. Upload something!"
msgstr "Δεν υπάρχει τίποτα εδώ. Ανεβάστε κάτι!"
-#: templates/index.php:73
+#: templates/index.php:75
msgid "Download"
msgstr "Λήψη"
-#: templates/index.php:85 templates/index.php:86
+#: templates/index.php:88 templates/index.php:89
msgid "Unshare"
msgstr "Σταμάτημα διαμοιρασμού"
-#: templates/index.php:91 templates/index.php:92
+#: templates/index.php:94 templates/index.php:95
msgid "Delete"
msgstr "Διαγραφή"
-#: templates/index.php:105
+#: templates/index.php:108
msgid "Upload too large"
msgstr "Πολύ μεγάλο αρχείο προς αποστολή"
-#: templates/index.php:107
+#: templates/index.php:110
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "Τα αρχεία που προσπαθείτε να ανεβάσετε υπερβαίνουν το μέγιστο μέγεθος αποστολής αρχείων σε αυτόν τον διακομιστή."
-#: templates/index.php:112
+#: templates/index.php:115
msgid "Files are being scanned, please wait."
msgstr "Τα αρχεία σαρώνονται, παρακαλώ περιμένετε."
-#: templates/index.php:115
+#: templates/index.php:118
msgid "Current scanning"
msgstr "Τρέχουσα ανίχνευση"
diff --git a/l10n/en_GB/core.po b/l10n/en_GB/core.po
index 26e1f3c14a9..95570ce896f 100644
--- a/l10n/en_GB/core.po
+++ b/l10n/en_GB/core.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:32-0400\n"
-"PO-Revision-Date: 2013-08-30 13:34+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:40+0000\n"
"Last-Translator: mnestis <transifex@mnestis.net>\n"
"Language-Team: English (United Kingdom) (http://www.transifex.com/projects/p/owncloud/language/en_GB/)\n"
"MIME-Version: 1.0\n"
diff --git a/l10n/en_GB/files.po b/l10n/en_GB/files.po
index 04300969e06..f7d558ebe2a 100644
--- a/l10n/en_GB/files.po
+++ b/l10n/en_GB/files.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:31-0400\n"
-"PO-Revision-Date: 2013-08-30 13:34+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:40+0000\n"
"Last-Translator: mnestis <transifex@mnestis.net>\n"
"Language-Team: English (United Kingdom) (http://www.transifex.com/projects/p/owncloud/language/en_GB/)\n"
"MIME-Version: 1.0\n"
@@ -112,7 +112,7 @@ msgstr "URL cannot be empty."
msgid "Invalid folder name. Usage of 'Shared' is reserved by ownCloud"
msgstr "Invalid folder name. Usage of 'Shared' is reserved by ownCloud"
-#: js/file-upload.js:275 js/file-upload.js:291 js/files.js:511 js/files.js:549
+#: js/file-upload.js:276 js/file-upload.js:292 js/files.js:512 js/files.js:550
msgid "Error"
msgstr "Error"
@@ -128,57 +128,57 @@ msgstr "Delete permanently"
msgid "Rename"
msgstr "Rename"
-#: js/filelist.js:49 js/filelist.js:52 js/filelist.js:573
+#: js/filelist.js:50 js/filelist.js:53 js/filelist.js:575
msgid "Pending"
msgstr "Pending"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "{new_name} already exists"
msgstr "{new_name} already exists"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "replace"
msgstr "replace"
-#: js/filelist.js:305
+#: js/filelist.js:307
msgid "suggest name"
msgstr "suggest name"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "cancel"
msgstr "cancel"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "replaced {new_name} with {old_name}"
msgstr "replaced {new_name} with {old_name}"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "undo"
msgstr "undo"
-#: js/filelist.js:422 js/filelist.js:488 js/files.js:580
+#: js/filelist.js:424 js/filelist.js:490 js/files.js:581
msgid "%n folder"
msgid_plural "%n folders"
msgstr[0] "%n folder"
msgstr[1] "%n folders"
-#: js/filelist.js:423 js/filelist.js:489 js/files.js:586
+#: js/filelist.js:425 js/filelist.js:491 js/files.js:587
msgid "%n file"
msgid_plural "%n files"
msgstr[0] "%n file"
msgstr[1] "%n files"
-#: js/filelist.js:430
+#: js/filelist.js:432
msgid "{dirs} and {files}"
msgstr "{dirs} and {files}"
-#: js/filelist.js:561
+#: js/filelist.js:563
msgid "Uploading %n file"
msgid_plural "Uploading %n files"
msgstr[0] "Uploading %n file"
msgstr[1] "Uploading %n files"
-#: js/filelist.js:626
+#: js/filelist.js:628
msgid "files uploading"
msgstr "files uploading"
@@ -216,15 +216,15 @@ msgid ""
"big."
msgstr "Your download is being prepared. This might take some time if the files are big."
-#: js/files.js:562 templates/index.php:67
+#: js/files.js:563 templates/index.php:69
msgid "Name"
msgstr "Name"
-#: js/files.js:563 templates/index.php:78
+#: js/files.js:564 templates/index.php:81
msgid "Size"
msgstr "Size"
-#: js/files.js:564 templates/index.php:80
+#: js/files.js:565 templates/index.php:83
msgid "Modified"
msgstr "Modified"
@@ -301,33 +301,33 @@ msgstr "You don’t have write permission here."
msgid "Nothing in here. Upload something!"
msgstr "Nothing in here. Upload something!"
-#: templates/index.php:73
+#: templates/index.php:75
msgid "Download"
msgstr "Download"
-#: templates/index.php:85 templates/index.php:86
+#: templates/index.php:88 templates/index.php:89
msgid "Unshare"
msgstr "Unshare"
-#: templates/index.php:91 templates/index.php:92
+#: templates/index.php:94 templates/index.php:95
msgid "Delete"
msgstr "Delete"
-#: templates/index.php:105
+#: templates/index.php:108
msgid "Upload too large"
msgstr "Upload too large"
-#: templates/index.php:107
+#: templates/index.php:110
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "The files you are trying to upload exceed the maximum size for file uploads on this server."
-#: templates/index.php:112
+#: templates/index.php:115
msgid "Files are being scanned, please wait."
msgstr "Files are being scanned, please wait."
-#: templates/index.php:115
+#: templates/index.php:118
msgid "Current scanning"
msgstr "Current scanning"
diff --git a/l10n/eo/core.po b/l10n/eo/core.po
index 1c4e9c35417..dd1d6ebc5e2 100644
--- a/l10n/eo/core.po
+++ b/l10n/eo/core.po
@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:32-0400\n"
-"PO-Revision-Date: 2013-08-30 13:33+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Esperanto (http://www.transifex.com/projects/p/owncloud/language/eo/)\n"
"MIME-Version: 1.0\n"
@@ -26,7 +26,7 @@ msgstr "%s kunhavigis “%s” kun vi"
#: ajax/share.php:227
msgid "group"
-msgstr ""
+msgstr "grupo"
#: ajax/update.php:11
msgid "Turned on maintenance mode"
diff --git a/l10n/eo/files.po b/l10n/eo/files.po
index af8d82e0aab..3db69832bef 100644
--- a/l10n/eo/files.po
+++ b/l10n/eo/files.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:31-0400\n"
-"PO-Revision-Date: 2013-08-30 13:34+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Esperanto (http://www.transifex.com/projects/p/owncloud/language/eo/)\n"
"MIME-Version: 1.0\n"
@@ -77,7 +77,7 @@ msgstr "Ne haveblas sufiĉa memoro"
#: ajax/upload.php:109
msgid "Upload failed"
-msgstr ""
+msgstr "Alŝuto malsukcesis"
#: ajax/upload.php:127
msgid "Invalid directory."
@@ -112,7 +112,7 @@ msgstr "URL ne povas esti malplena."
msgid "Invalid folder name. Usage of 'Shared' is reserved by ownCloud"
msgstr "Nevalida dosierujnomo. La uzo de “Shared” estas rezervita de ownCloud."
-#: js/file-upload.js:275 js/file-upload.js:291 js/files.js:511 js/files.js:549
+#: js/file-upload.js:276 js/file-upload.js:292 js/files.js:512 js/files.js:550
msgid "Error"
msgstr "Eraro"
@@ -128,57 +128,57 @@ msgstr "Forigi por ĉiam"
msgid "Rename"
msgstr "Alinomigi"
-#: js/filelist.js:49 js/filelist.js:52 js/filelist.js:573
+#: js/filelist.js:50 js/filelist.js:53 js/filelist.js:575
msgid "Pending"
msgstr "Traktotaj"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "{new_name} already exists"
msgstr "{new_name} jam ekzistas"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "replace"
msgstr "anstataŭigi"
-#: js/filelist.js:305
+#: js/filelist.js:307
msgid "suggest name"
msgstr "sugesti nomon"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "cancel"
msgstr "nuligi"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "replaced {new_name} with {old_name}"
msgstr "anstataŭiĝis {new_name} per {old_name}"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "undo"
msgstr "malfari"
-#: js/filelist.js:422 js/filelist.js:488 js/files.js:580
+#: js/filelist.js:424 js/filelist.js:490 js/files.js:581
msgid "%n folder"
msgid_plural "%n folders"
msgstr[0] ""
msgstr[1] ""
-#: js/filelist.js:423 js/filelist.js:489 js/files.js:586
+#: js/filelist.js:425 js/filelist.js:491 js/files.js:587
msgid "%n file"
msgid_plural "%n files"
msgstr[0] ""
msgstr[1] ""
-#: js/filelist.js:430
+#: js/filelist.js:432
msgid "{dirs} and {files}"
msgstr ""
-#: js/filelist.js:561
+#: js/filelist.js:563
msgid "Uploading %n file"
msgid_plural "Uploading %n files"
msgstr[0] ""
msgstr[1] ""
-#: js/filelist.js:626
+#: js/filelist.js:628
msgid "files uploading"
msgstr "dosieroj estas alŝutataj"
@@ -216,15 +216,15 @@ msgid ""
"big."
msgstr "Via elŝuto pretiĝatas. Ĉi tio povas daŭri iom da tempo se la dosieroj grandas."
-#: js/files.js:562 templates/index.php:67
+#: js/files.js:563 templates/index.php:69
msgid "Name"
msgstr "Nomo"
-#: js/files.js:563 templates/index.php:78
+#: js/files.js:564 templates/index.php:81
msgid "Size"
msgstr "Grando"
-#: js/files.js:564 templates/index.php:80
+#: js/files.js:565 templates/index.php:83
msgid "Modified"
msgstr "Modifita"
@@ -301,33 +301,33 @@ msgstr "Vi ne havas permeson skribi ĉi tie."
msgid "Nothing in here. Upload something!"
msgstr "Nenio estas ĉi tie. Alŝutu ion!"
-#: templates/index.php:73
+#: templates/index.php:75
msgid "Download"
msgstr "Elŝuti"
-#: templates/index.php:85 templates/index.php:86
+#: templates/index.php:88 templates/index.php:89
msgid "Unshare"
msgstr "Malkunhavigi"
-#: templates/index.php:91 templates/index.php:92
+#: templates/index.php:94 templates/index.php:95
msgid "Delete"
msgstr "Forigi"
-#: templates/index.php:105
+#: templates/index.php:108
msgid "Upload too large"
msgstr "Alŝuto tro larĝa"
-#: templates/index.php:107
+#: templates/index.php:110
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "La dosieroj, kiujn vi provas alŝuti, transpasas la maksimuman grandon por dosieralŝutoj en ĉi tiu servilo."
-#: templates/index.php:112
+#: templates/index.php:115
msgid "Files are being scanned, please wait."
msgstr "Dosieroj estas skanataj, bonvolu atendi."
-#: templates/index.php:115
+#: templates/index.php:118
msgid "Current scanning"
msgstr "Nuna skano"
diff --git a/l10n/es/core.po b/l10n/es/core.po
index d700f044722..4a006b413d6 100644
--- a/l10n/es/core.po
+++ b/l10n/es/core.po
@@ -16,8 +16,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:32-0400\n"
-"PO-Revision-Date: 2013-08-30 13:33+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Spanish (http://www.transifex.com/projects/p/owncloud/language/es/)\n"
"MIME-Version: 1.0\n"
@@ -33,7 +33,7 @@ msgstr "%s compatido »%s« contigo"
#: ajax/share.php:227
msgid "group"
-msgstr ""
+msgstr "grupo"
#: ajax/update.php:11
msgid "Turned on maintenance mode"
diff --git a/l10n/es/files.po b/l10n/es/files.po
index 764ab8c2f26..150143b933d 100644
--- a/l10n/es/files.po
+++ b/l10n/es/files.po
@@ -12,8 +12,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:31-0400\n"
-"PO-Revision-Date: 2013-08-30 13:34+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Spanish (http://www.transifex.com/projects/p/owncloud/language/es/)\n"
"MIME-Version: 1.0\n"
@@ -81,7 +81,7 @@ msgstr "No hay suficiente espacio disponible"
#: ajax/upload.php:109
msgid "Upload failed"
-msgstr ""
+msgstr "Error en la subida"
#: ajax/upload.php:127
msgid "Invalid directory."
@@ -116,7 +116,7 @@ msgstr "La URL no puede estar vacía."
msgid "Invalid folder name. Usage of 'Shared' is reserved by ownCloud"
msgstr "Nombre de carpeta invalido. El uso de \"Shared\" está reservado por ownCloud"
-#: js/file-upload.js:275 js/file-upload.js:291 js/files.js:511 js/files.js:549
+#: js/file-upload.js:276 js/file-upload.js:292 js/files.js:512 js/files.js:550
msgid "Error"
msgstr "Error"
@@ -132,57 +132,57 @@ msgstr "Eliminar permanentemente"
msgid "Rename"
msgstr "Renombrar"
-#: js/filelist.js:49 js/filelist.js:52 js/filelist.js:573
+#: js/filelist.js:50 js/filelist.js:53 js/filelist.js:575
msgid "Pending"
msgstr "Pendiente"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "{new_name} already exists"
msgstr "{new_name} ya existe"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "replace"
msgstr "reemplazar"
-#: js/filelist.js:305
+#: js/filelist.js:307
msgid "suggest name"
msgstr "sugerir nombre"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "cancel"
msgstr "cancelar"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "replaced {new_name} with {old_name}"
msgstr "reemplazado {new_name} con {old_name}"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "undo"
msgstr "deshacer"
-#: js/filelist.js:422 js/filelist.js:488 js/files.js:580
+#: js/filelist.js:424 js/filelist.js:490 js/files.js:581
msgid "%n folder"
msgid_plural "%n folders"
msgstr[0] ""
msgstr[1] ""
-#: js/filelist.js:423 js/filelist.js:489 js/files.js:586
+#: js/filelist.js:425 js/filelist.js:491 js/files.js:587
msgid "%n file"
msgid_plural "%n files"
msgstr[0] ""
msgstr[1] ""
-#: js/filelist.js:430
+#: js/filelist.js:432
msgid "{dirs} and {files}"
msgstr ""
-#: js/filelist.js:561
+#: js/filelist.js:563
msgid "Uploading %n file"
msgid_plural "Uploading %n files"
msgstr[0] ""
msgstr[1] ""
-#: js/filelist.js:626
+#: js/filelist.js:628
msgid "files uploading"
msgstr "subiendo archivos"
@@ -220,15 +220,15 @@ msgid ""
"big."
msgstr "Su descarga está siendo preparada. Esto puede tardar algún tiempo si los archivos son grandes."
-#: js/files.js:562 templates/index.php:67
+#: js/files.js:563 templates/index.php:69
msgid "Name"
msgstr "Nombre"
-#: js/files.js:563 templates/index.php:78
+#: js/files.js:564 templates/index.php:81
msgid "Size"
msgstr "Tamaño"
-#: js/files.js:564 templates/index.php:80
+#: js/files.js:565 templates/index.php:83
msgid "Modified"
msgstr "Modificado"
@@ -305,33 +305,33 @@ msgstr "No tiene permisos de escritura aquí."
msgid "Nothing in here. Upload something!"
msgstr "No hay nada aquí. ¡Suba algo!"
-#: templates/index.php:73
+#: templates/index.php:75
msgid "Download"
msgstr "Descargar"
-#: templates/index.php:85 templates/index.php:86
+#: templates/index.php:88 templates/index.php:89
msgid "Unshare"
msgstr "Dejar de compartir"
-#: templates/index.php:91 templates/index.php:92
+#: templates/index.php:94 templates/index.php:95
msgid "Delete"
msgstr "Eliminar"
-#: templates/index.php:105
+#: templates/index.php:108
msgid "Upload too large"
msgstr "Subida demasido grande"
-#: templates/index.php:107
+#: templates/index.php:110
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "Los archivos que estás intentando subir sobrepasan el tamaño máximo permitido en este servidor."
-#: templates/index.php:112
+#: templates/index.php:115
msgid "Files are being scanned, please wait."
msgstr "Los archivos están siendo escaneados, por favor espere."
-#: templates/index.php:115
+#: templates/index.php:118
msgid "Current scanning"
msgstr "Escaneo actual"
diff --git a/l10n/es/lib.po b/l10n/es/lib.po
index 45ab92b80c1..43f652d3a58 100644
--- a/l10n/es/lib.po
+++ b/l10n/es/lib.po
@@ -3,15 +3,16 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# Dharth <emilpg@gmail.com>, 2013
# pablomillaquen <pablomillaquen@gmail.com>, 2013
# xhiena <xhiena@gmail.com>, 2013
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-25 19:18-0400\n"
-"PO-Revision-Date: 2013-08-25 23:18+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-31 23:40+0000\n"
+"Last-Translator: Dharth <emilpg@gmail.com>\n"
"Language-Team: Spanish (http://www.transifex.com/projects/p/owncloud/language/es/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -24,11 +25,11 @@ msgstr ""
msgid ""
"App \"%s\" can't be installed because it is not compatible with this version"
" of ownCloud."
-msgstr ""
+msgstr "La aplicación \"%s\" no puede ser instalada porque no es compatible con esta versión de ownCloud"
#: app.php:250
msgid "No app name specified"
-msgstr ""
+msgstr "No se ha especificado nombre de la aplicación"
#: app.php:361
msgid "Help"
@@ -88,44 +89,44 @@ msgstr "Descargue los archivos en trozos más pequeños, por separado o solicít
#: installer.php:63
msgid "No source specified when installing app"
-msgstr ""
+msgstr "No se ha especificado origen cuando se ha instalado la aplicación"
#: installer.php:70
msgid "No href specified when installing app from http"
-msgstr ""
+msgstr "No href especificado cuando se ha instalado la aplicación"
#: installer.php:75
msgid "No path specified when installing app from local file"
-msgstr ""
+msgstr "Sin path especificado cuando se ha instalado la aplicación desde el fichero local"
#: installer.php:89
#, php-format
msgid "Archives of type %s are not supported"
-msgstr ""
+msgstr "Ficheros de tipo %s no son soportados"
#: installer.php:103
msgid "Failed to open archive when installing app"
-msgstr ""
+msgstr "Fallo de apertura de fichero mientras se instala la aplicación"
#: installer.php:123
msgid "App does not provide an info.xml file"
-msgstr ""
+msgstr "La aplicación no suministra un fichero info.xml"
#: installer.php:129
msgid "App can't be installed because of not allowed code in the App"
-msgstr ""
+msgstr "La aplicación no puede ser instalada por tener código no autorizado en la aplicación"
#: installer.php:138
msgid ""
"App can't be installed because it is not compatible with this version of "
"ownCloud"
-msgstr ""
+msgstr "La aplicación no se puede instalar porque no es compatible con esta versión de ownCloud"
#: installer.php:144
msgid ""
"App can't be installed because it contains the <shipped>true</shipped> tag "
"which is not allowed for non shipped apps"
-msgstr ""
+msgstr "La aplicación no se puede instalar porque contiene la etiqueta\n<shipped>\ntrue\n</shipped>\nque no está permitida para aplicaciones no distribuidas"
#: installer.php:150
msgid ""
@@ -266,51 +267,51 @@ msgstr "Su servidor web aún no está configurado adecuadamente para permitir si
msgid "Please double check the <a href='%s'>installation guides</a>."
msgstr "Por favor, vuelva a comprobar las <a href='%s'>guías de instalación</a>."
-#: template/functions.php:80
+#: template/functions.php:96
msgid "seconds ago"
msgstr "hace segundos"
-#: template/functions.php:81
+#: template/functions.php:97
msgid "%n minute ago"
msgid_plural "%n minutes ago"
msgstr[0] ""
msgstr[1] ""
-#: template/functions.php:82
+#: template/functions.php:98
msgid "%n hour ago"
msgid_plural "%n hours ago"
msgstr[0] ""
msgstr[1] ""
-#: template/functions.php:83
+#: template/functions.php:99
msgid "today"
msgstr "hoy"
-#: template/functions.php:84
+#: template/functions.php:100
msgid "yesterday"
msgstr "ayer"
-#: template/functions.php:85
+#: template/functions.php:101
msgid "%n day go"
msgid_plural "%n days ago"
msgstr[0] ""
msgstr[1] ""
-#: template/functions.php:86
+#: template/functions.php:102
msgid "last month"
msgstr "mes pasado"
-#: template/functions.php:87
+#: template/functions.php:103
msgid "%n month ago"
msgid_plural "%n months ago"
msgstr[0] ""
msgstr[1] ""
-#: template/functions.php:88
+#: template/functions.php:104
msgid "last year"
msgstr "año pasado"
-#: template/functions.php:89
+#: template/functions.php:105
msgid "years ago"
msgstr "hace años"
diff --git a/l10n/es_AR/core.po b/l10n/es_AR/core.po
index ee3f80addf2..6dd2898c492 100644
--- a/l10n/es_AR/core.po
+++ b/l10n/es_AR/core.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:32-0400\n"
-"PO-Revision-Date: 2013-08-30 13:33+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Spanish (Argentina) (http://www.transifex.com/projects/p/owncloud/language/es_AR/)\n"
"MIME-Version: 1.0\n"
@@ -25,7 +25,7 @@ msgstr "%s compartió \"%s\" con vos"
#: ajax/share.php:227
msgid "group"
-msgstr ""
+msgstr "grupo"
#: ajax/update.php:11
msgid "Turned on maintenance mode"
diff --git a/l10n/es_AR/files.po b/l10n/es_AR/files.po
index 9e7e5a0922a..3a53061ec69 100644
--- a/l10n/es_AR/files.po
+++ b/l10n/es_AR/files.po
@@ -10,8 +10,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:31-0400\n"
-"PO-Revision-Date: 2013-08-30 13:34+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Spanish (Argentina) (http://www.transifex.com/projects/p/owncloud/language/es_AR/)\n"
"MIME-Version: 1.0\n"
@@ -79,7 +79,7 @@ msgstr "No hay suficiente almacenamiento"
#: ajax/upload.php:109
msgid "Upload failed"
-msgstr ""
+msgstr "Error al subir el archivo"
#: ajax/upload.php:127
msgid "Invalid directory."
@@ -114,7 +114,7 @@ msgstr "La URL no puede estar vacía"
msgid "Invalid folder name. Usage of 'Shared' is reserved by ownCloud"
msgstr "Nombre de directorio inválido. El uso de \"Shared\" está reservado por ownCloud"
-#: js/file-upload.js:275 js/file-upload.js:291 js/files.js:511 js/files.js:549
+#: js/file-upload.js:276 js/file-upload.js:292 js/files.js:512 js/files.js:550
msgid "Error"
msgstr "Error"
@@ -130,57 +130,57 @@ msgstr "Borrar permanentemente"
msgid "Rename"
msgstr "Cambiar nombre"
-#: js/filelist.js:49 js/filelist.js:52 js/filelist.js:573
+#: js/filelist.js:50 js/filelist.js:53 js/filelist.js:575
msgid "Pending"
msgstr "Pendientes"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "{new_name} already exists"
msgstr "{new_name} ya existe"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "replace"
msgstr "reemplazar"
-#: js/filelist.js:305
+#: js/filelist.js:307
msgid "suggest name"
msgstr "sugerir nombre"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "cancel"
msgstr "cancelar"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "replaced {new_name} with {old_name}"
msgstr "se reemplazó {new_name} con {old_name}"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "undo"
msgstr "deshacer"
-#: js/filelist.js:422 js/filelist.js:488 js/files.js:580
+#: js/filelist.js:424 js/filelist.js:490 js/files.js:581
msgid "%n folder"
msgid_plural "%n folders"
msgstr[0] ""
msgstr[1] ""
-#: js/filelist.js:423 js/filelist.js:489 js/files.js:586
+#: js/filelist.js:425 js/filelist.js:491 js/files.js:587
msgid "%n file"
msgid_plural "%n files"
msgstr[0] ""
msgstr[1] ""
-#: js/filelist.js:430
+#: js/filelist.js:432
msgid "{dirs} and {files}"
msgstr ""
-#: js/filelist.js:561
+#: js/filelist.js:563
msgid "Uploading %n file"
msgid_plural "Uploading %n files"
msgstr[0] ""
msgstr[1] ""
-#: js/filelist.js:626
+#: js/filelist.js:628
msgid "files uploading"
msgstr "Subiendo archivos"
@@ -218,15 +218,15 @@ msgid ""
"big."
msgstr "Tu descarga se está preparando. Esto puede demorar si los archivos son muy grandes."
-#: js/files.js:562 templates/index.php:67
+#: js/files.js:563 templates/index.php:69
msgid "Name"
msgstr "Nombre"
-#: js/files.js:563 templates/index.php:78
+#: js/files.js:564 templates/index.php:81
msgid "Size"
msgstr "Tamaño"
-#: js/files.js:564 templates/index.php:80
+#: js/files.js:565 templates/index.php:83
msgid "Modified"
msgstr "Modificado"
@@ -303,33 +303,33 @@ msgstr "No tenés permisos de escritura acá."
msgid "Nothing in here. Upload something!"
msgstr "No hay nada. ¡Subí contenido!"
-#: templates/index.php:73
+#: templates/index.php:75
msgid "Download"
msgstr "Descargar"
-#: templates/index.php:85 templates/index.php:86
+#: templates/index.php:88 templates/index.php:89
msgid "Unshare"
msgstr "Dejar de compartir"
-#: templates/index.php:91 templates/index.php:92
+#: templates/index.php:94 templates/index.php:95
msgid "Delete"
msgstr "Borrar"
-#: templates/index.php:105
+#: templates/index.php:108
msgid "Upload too large"
msgstr "El tamaño del archivo que querés subir es demasiado grande"
-#: templates/index.php:107
+#: templates/index.php:110
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "Los archivos que intentás subir sobrepasan el tamaño máximo "
-#: templates/index.php:112
+#: templates/index.php:115
msgid "Files are being scanned, please wait."
msgstr "Se están escaneando los archivos, por favor esperá."
-#: templates/index.php:115
+#: templates/index.php:118
msgid "Current scanning"
msgstr "Escaneo actual"
diff --git a/l10n/et_EE/core.po b/l10n/et_EE/core.po
index 7b3a992357f..95b66e51b7a 100644
--- a/l10n/et_EE/core.po
+++ b/l10n/et_EE/core.po
@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:32-0400\n"
-"PO-Revision-Date: 2013-08-30 13:33+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Estonian (Estonia) (http://www.transifex.com/projects/p/owncloud/language/et_EE/)\n"
"MIME-Version: 1.0\n"
@@ -26,7 +26,7 @@ msgstr "%s jagas sinuga »%s«"
#: ajax/share.php:227
msgid "group"
-msgstr ""
+msgstr "grupp"
#: ajax/update.php:11
msgid "Turned on maintenance mode"
diff --git a/l10n/et_EE/files.po b/l10n/et_EE/files.po
index f69d10f72ec..79f5e340cfb 100644
--- a/l10n/et_EE/files.po
+++ b/l10n/et_EE/files.po
@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:31-0400\n"
-"PO-Revision-Date: 2013-08-30 13:34+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Estonian (Estonia) (http://www.transifex.com/projects/p/owncloud/language/et_EE/)\n"
"MIME-Version: 1.0\n"
@@ -78,7 +78,7 @@ msgstr "Saadaval pole piisavalt ruumi"
#: ajax/upload.php:109
msgid "Upload failed"
-msgstr ""
+msgstr "Üleslaadimine ebaõnnestus"
#: ajax/upload.php:127
msgid "Invalid directory."
@@ -113,7 +113,7 @@ msgstr "URL ei saa olla tühi."
msgid "Invalid folder name. Usage of 'Shared' is reserved by ownCloud"
msgstr "Vigane kausta nimi. 'Shared' kasutamine on reserveeritud ownCloud poolt."
-#: js/file-upload.js:275 js/file-upload.js:291 js/files.js:511 js/files.js:549
+#: js/file-upload.js:276 js/file-upload.js:292 js/files.js:512 js/files.js:550
msgid "Error"
msgstr "Viga"
@@ -129,57 +129,57 @@ msgstr "Kustuta jäädavalt"
msgid "Rename"
msgstr "Nimeta ümber"
-#: js/filelist.js:49 js/filelist.js:52 js/filelist.js:573
+#: js/filelist.js:50 js/filelist.js:53 js/filelist.js:575
msgid "Pending"
msgstr "Ootel"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "{new_name} already exists"
msgstr "{new_name} on juba olemas"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "replace"
msgstr "asenda"
-#: js/filelist.js:305
+#: js/filelist.js:307
msgid "suggest name"
msgstr "soovita nime"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "cancel"
msgstr "loobu"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "replaced {new_name} with {old_name}"
msgstr "asendas nime {old_name} nimega {new_name}"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "undo"
msgstr "tagasi"
-#: js/filelist.js:422 js/filelist.js:488 js/files.js:580
+#: js/filelist.js:424 js/filelist.js:490 js/files.js:581
msgid "%n folder"
msgid_plural "%n folders"
msgstr[0] "%n kataloog"
msgstr[1] "%n kataloogi"
-#: js/filelist.js:423 js/filelist.js:489 js/files.js:586
+#: js/filelist.js:425 js/filelist.js:491 js/files.js:587
msgid "%n file"
msgid_plural "%n files"
msgstr[0] "%n fail"
msgstr[1] "%n faili"
-#: js/filelist.js:430
+#: js/filelist.js:432
msgid "{dirs} and {files}"
msgstr ""
-#: js/filelist.js:561
+#: js/filelist.js:563
msgid "Uploading %n file"
msgid_plural "Uploading %n files"
msgstr[0] "Laadin üles %n faili"
msgstr[1] "Laadin üles %n faili"
-#: js/filelist.js:626
+#: js/filelist.js:628
msgid "files uploading"
msgstr "faili üleslaadimisel"
@@ -217,15 +217,15 @@ msgid ""
"big."
msgstr "Valmistatakse allalaadimist. See võib võtta veidi aega, kui on tegu suurte failidega. "
-#: js/files.js:562 templates/index.php:67
+#: js/files.js:563 templates/index.php:69
msgid "Name"
msgstr "Nimi"
-#: js/files.js:563 templates/index.php:78
+#: js/files.js:564 templates/index.php:81
msgid "Size"
msgstr "Suurus"
-#: js/files.js:564 templates/index.php:80
+#: js/files.js:565 templates/index.php:83
msgid "Modified"
msgstr "Muudetud"
@@ -302,33 +302,33 @@ msgstr "Siin puudvad sul kirjutamisõigused."
msgid "Nothing in here. Upload something!"
msgstr "Siin pole midagi. Lae midagi üles!"
-#: templates/index.php:73
+#: templates/index.php:75
msgid "Download"
msgstr "Lae alla"
-#: templates/index.php:85 templates/index.php:86
+#: templates/index.php:88 templates/index.php:89
msgid "Unshare"
msgstr "Lõpeta jagamine"
-#: templates/index.php:91 templates/index.php:92
+#: templates/index.php:94 templates/index.php:95
msgid "Delete"
msgstr "Kustuta"
-#: templates/index.php:105
+#: templates/index.php:108
msgid "Upload too large"
msgstr "Üleslaadimine on liiga suur"
-#: templates/index.php:107
+#: templates/index.php:110
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "Failid, mida sa proovid üles laadida, ületab serveri poolt üleslaetavatele failidele määratud maksimaalse suuruse."
-#: templates/index.php:112
+#: templates/index.php:115
msgid "Files are being scanned, please wait."
msgstr "Faile skannitakse, palun oota."
-#: templates/index.php:115
+#: templates/index.php:118
msgid "Current scanning"
msgstr "Praegune skannimine"
diff --git a/l10n/eu/core.po b/l10n/eu/core.po
index 004b38fc512..962c4efed51 100644
--- a/l10n/eu/core.po
+++ b/l10n/eu/core.po
@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:32-0400\n"
-"PO-Revision-Date: 2013-08-30 13:33+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Basque (http://www.transifex.com/projects/p/owncloud/language/eu/)\n"
"MIME-Version: 1.0\n"
@@ -26,7 +26,7 @@ msgstr "%s-ek »%s« zurekin partekatu du"
#: ajax/share.php:227
msgid "group"
-msgstr ""
+msgstr "taldea"
#: ajax/update.php:11
msgid "Turned on maintenance mode"
diff --git a/l10n/eu/files.po b/l10n/eu/files.po
index bb64b84c230..4456f2df9e3 100644
--- a/l10n/eu/files.po
+++ b/l10n/eu/files.po
@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:31-0400\n"
-"PO-Revision-Date: 2013-08-30 13:34+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Basque (http://www.transifex.com/projects/p/owncloud/language/eu/)\n"
"MIME-Version: 1.0\n"
@@ -78,7 +78,7 @@ msgstr "Ez dago behar aina leku erabilgarri,"
#: ajax/upload.php:109
msgid "Upload failed"
-msgstr ""
+msgstr "igotzeak huts egin du"
#: ajax/upload.php:127
msgid "Invalid directory."
@@ -113,7 +113,7 @@ msgstr "URLa ezin da hutsik egon."
msgid "Invalid folder name. Usage of 'Shared' is reserved by ownCloud"
msgstr "Karpeta izne baliogabea. \"Shared\" karpeta erabilpena OwnCloudentzat erreserbaturik dago."
-#: js/file-upload.js:275 js/file-upload.js:291 js/files.js:511 js/files.js:549
+#: js/file-upload.js:276 js/file-upload.js:292 js/files.js:512 js/files.js:550
msgid "Error"
msgstr "Errorea"
@@ -129,57 +129,57 @@ msgstr "Ezabatu betirako"
msgid "Rename"
msgstr "Berrizendatu"
-#: js/filelist.js:49 js/filelist.js:52 js/filelist.js:573
+#: js/filelist.js:50 js/filelist.js:53 js/filelist.js:575
msgid "Pending"
msgstr "Zain"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "{new_name} already exists"
msgstr "{new_name} dagoeneko existitzen da"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "replace"
msgstr "ordeztu"
-#: js/filelist.js:305
+#: js/filelist.js:307
msgid "suggest name"
msgstr "aholkatu izena"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "cancel"
msgstr "ezeztatu"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "replaced {new_name} with {old_name}"
msgstr " {new_name}-k {old_name} ordezkatu du"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "undo"
msgstr "desegin"
-#: js/filelist.js:422 js/filelist.js:488 js/files.js:580
+#: js/filelist.js:424 js/filelist.js:490 js/files.js:581
msgid "%n folder"
msgid_plural "%n folders"
msgstr[0] "karpeta %n"
msgstr[1] "%n karpeta"
-#: js/filelist.js:423 js/filelist.js:489 js/files.js:586
+#: js/filelist.js:425 js/filelist.js:491 js/files.js:587
msgid "%n file"
msgid_plural "%n files"
msgstr[0] "fitxategi %n"
msgstr[1] "%n fitxategi"
-#: js/filelist.js:430
+#: js/filelist.js:432
msgid "{dirs} and {files}"
msgstr ""
-#: js/filelist.js:561
+#: js/filelist.js:563
msgid "Uploading %n file"
msgid_plural "Uploading %n files"
msgstr[0] "Fitxategi %n igotzen"
msgstr[1] "%n fitxategi igotzen"
-#: js/filelist.js:626
+#: js/filelist.js:628
msgid "files uploading"
msgstr "fitxategiak igotzen"
@@ -217,15 +217,15 @@ msgid ""
"big."
msgstr "Zure deskarga prestatu egin behar da. Denbora bat har lezake fitxategiak handiak badira. "
-#: js/files.js:562 templates/index.php:67
+#: js/files.js:563 templates/index.php:69
msgid "Name"
msgstr "Izena"
-#: js/files.js:563 templates/index.php:78
+#: js/files.js:564 templates/index.php:81
msgid "Size"
msgstr "Tamaina"
-#: js/files.js:564 templates/index.php:80
+#: js/files.js:565 templates/index.php:83
msgid "Modified"
msgstr "Aldatuta"
@@ -302,33 +302,33 @@ msgstr "Ez duzu hemen idazteko baimenik."
msgid "Nothing in here. Upload something!"
msgstr "Ez dago ezer. Igo zerbait!"
-#: templates/index.php:73
+#: templates/index.php:75
msgid "Download"
msgstr "Deskargatu"
-#: templates/index.php:85 templates/index.php:86
+#: templates/index.php:88 templates/index.php:89
msgid "Unshare"
msgstr "Ez elkarbanatu"
-#: templates/index.php:91 templates/index.php:92
+#: templates/index.php:94 templates/index.php:95
msgid "Delete"
msgstr "Ezabatu"
-#: templates/index.php:105
+#: templates/index.php:108
msgid "Upload too large"
msgstr "Igoera handiegia da"
-#: templates/index.php:107
+#: templates/index.php:110
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "Igotzen saiatzen ari zaren fitxategiak zerbitzari honek igotzeko onartzen duena baino handiagoak dira."
-#: templates/index.php:112
+#: templates/index.php:115
msgid "Files are being scanned, please wait."
msgstr "Fitxategiak eskaneatzen ari da, itxoin mezedez."
-#: templates/index.php:115
+#: templates/index.php:118
msgid "Current scanning"
msgstr "Orain eskaneatzen ari da"
diff --git a/l10n/fa/core.po b/l10n/fa/core.po
index 4fb8afd07bb..477f3475fc5 100644
--- a/l10n/fa/core.po
+++ b/l10n/fa/core.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:32-0400\n"
-"PO-Revision-Date: 2013-08-30 13:33+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Persian (http://www.transifex.com/projects/p/owncloud/language/fa/)\n"
"MIME-Version: 1.0\n"
@@ -25,7 +25,7 @@ msgstr "%s به اشتراک گذاشته شده است »%s« توسط شما"
#: ajax/share.php:227
msgid "group"
-msgstr ""
+msgstr "گروه"
#: ajax/update.php:11
msgid "Turned on maintenance mode"
diff --git a/l10n/fa/files.po b/l10n/fa/files.po
index 362a1dc80ae..1db2606ef50 100644
--- a/l10n/fa/files.po
+++ b/l10n/fa/files.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:31-0400\n"
-"PO-Revision-Date: 2013-08-30 13:34+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Persian (http://www.transifex.com/projects/p/owncloud/language/fa/)\n"
"MIME-Version: 1.0\n"
@@ -77,7 +77,7 @@ msgstr "فضای کافی در دسترس نیست"
#: ajax/upload.php:109
msgid "Upload failed"
-msgstr ""
+msgstr "بارگزاری ناموفق بود"
#: ajax/upload.php:127
msgid "Invalid directory."
@@ -112,7 +112,7 @@ msgstr "URL نمی تواند خالی باشد."
msgid "Invalid folder name. Usage of 'Shared' is reserved by ownCloud"
msgstr "نام پوشه نامعتبر است. استفاده از 'به اشتراک گذاشته شده' متعلق به ownCloud میباشد."
-#: js/file-upload.js:275 js/file-upload.js:291 js/files.js:511 js/files.js:549
+#: js/file-upload.js:276 js/file-upload.js:292 js/files.js:512 js/files.js:550
msgid "Error"
msgstr "خطا"
@@ -128,54 +128,54 @@ msgstr "حذف قطعی"
msgid "Rename"
msgstr "تغییرنام"
-#: js/filelist.js:49 js/filelist.js:52 js/filelist.js:573
+#: js/filelist.js:50 js/filelist.js:53 js/filelist.js:575
msgid "Pending"
msgstr "در انتظار"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "{new_name} already exists"
msgstr "{نام _جدید} در حال حاضر وجود دارد."
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "replace"
msgstr "جایگزین"
-#: js/filelist.js:305
+#: js/filelist.js:307
msgid "suggest name"
msgstr "پیشنهاد نام"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "cancel"
msgstr "لغو"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "replaced {new_name} with {old_name}"
msgstr "{نام_جدید} با { نام_قدیمی} جایگزین شد."
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "undo"
msgstr "بازگشت"
-#: js/filelist.js:422 js/filelist.js:488 js/files.js:580
+#: js/filelist.js:424 js/filelist.js:490 js/files.js:581
msgid "%n folder"
msgid_plural "%n folders"
msgstr[0] ""
-#: js/filelist.js:423 js/filelist.js:489 js/files.js:586
+#: js/filelist.js:425 js/filelist.js:491 js/files.js:587
msgid "%n file"
msgid_plural "%n files"
msgstr[0] ""
-#: js/filelist.js:430
+#: js/filelist.js:432
msgid "{dirs} and {files}"
msgstr ""
-#: js/filelist.js:561
+#: js/filelist.js:563
msgid "Uploading %n file"
msgid_plural "Uploading %n files"
msgstr[0] ""
-#: js/filelist.js:626
+#: js/filelist.js:628
msgid "files uploading"
msgstr "بارگذاری فایل ها"
@@ -213,15 +213,15 @@ msgid ""
"big."
msgstr "دانلود شما در حال آماده شدن است. در صورتیکه پرونده ها بزرگ باشند ممکن است مدتی طول بکشد."
-#: js/files.js:562 templates/index.php:67
+#: js/files.js:563 templates/index.php:69
msgid "Name"
msgstr "نام"
-#: js/files.js:563 templates/index.php:78
+#: js/files.js:564 templates/index.php:81
msgid "Size"
msgstr "اندازه"
-#: js/files.js:564 templates/index.php:80
+#: js/files.js:565 templates/index.php:83
msgid "Modified"
msgstr "تاریخ"
@@ -298,33 +298,33 @@ msgstr "شما اجازه ی نوشتن در اینجا را ندارید"
msgid "Nothing in here. Upload something!"
msgstr "اینجا هیچ چیز نیست."
-#: templates/index.php:73
+#: templates/index.php:75
msgid "Download"
msgstr "دانلود"
-#: templates/index.php:85 templates/index.php:86
+#: templates/index.php:88 templates/index.php:89
msgid "Unshare"
msgstr "لغو اشتراک"
-#: templates/index.php:91 templates/index.php:92
+#: templates/index.php:94 templates/index.php:95
msgid "Delete"
msgstr "حذف"
-#: templates/index.php:105
+#: templates/index.php:108
msgid "Upload too large"
msgstr "سایز فایل برای آپلود زیاد است(م.تنظیمات در php.ini)"
-#: templates/index.php:107
+#: templates/index.php:110
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "فایلها بیش از حد تعیین شده در این سرور هستند\nمترجم:با تغییر فایل php,ini میتوان این محدودیت را برطرف کرد"
-#: templates/index.php:112
+#: templates/index.php:115
msgid "Files are being scanned, please wait."
msgstr "پرونده ها در حال بازرسی هستند لطفا صبر کنید"
-#: templates/index.php:115
+#: templates/index.php:118
msgid "Current scanning"
msgstr "بازرسی کنونی"
diff --git a/l10n/fi_FI/core.po b/l10n/fi_FI/core.po
index 56d1039db0f..f76c82e4827 100644
--- a/l10n/fi_FI/core.po
+++ b/l10n/fi_FI/core.po
@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:32-0400\n"
-"PO-Revision-Date: 2013-08-30 13:33+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Finnish (Finland) (http://www.transifex.com/projects/p/owncloud/language/fi_FI/)\n"
"MIME-Version: 1.0\n"
@@ -26,7 +26,7 @@ msgstr "%s jakoi kohteen »%s« kanssasi"
#: ajax/share.php:227
msgid "group"
-msgstr ""
+msgstr "ryhmä"
#: ajax/update.php:11
msgid "Turned on maintenance mode"
diff --git a/l10n/fi_FI/files.po b/l10n/fi_FI/files.po
index 69f2485ac90..2c0837f88bc 100644
--- a/l10n/fi_FI/files.po
+++ b/l10n/fi_FI/files.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:31-0400\n"
-"PO-Revision-Date: 2013-08-30 13:34+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 17:20+0000\n"
+"Last-Translator: Jiri Grönroos <jiri.gronroos@iki.fi>\n"
"Language-Team: Finnish (Finland) (http://www.transifex.com/projects/p/owncloud/language/fi_FI/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -77,7 +77,7 @@ msgstr "Tallennustilaa ei ole riittävästi käytettävissä"
#: ajax/upload.php:109
msgid "Upload failed"
-msgstr ""
+msgstr "Lähetys epäonnistui"
#: ajax/upload.php:127
msgid "Invalid directory."
@@ -112,7 +112,7 @@ msgstr "Verkko-osoite ei voi olla tyhjä"
msgid "Invalid folder name. Usage of 'Shared' is reserved by ownCloud"
msgstr ""
-#: js/file-upload.js:275 js/file-upload.js:291 js/files.js:511 js/files.js:549
+#: js/file-upload.js:276 js/file-upload.js:292 js/files.js:512 js/files.js:550
msgid "Error"
msgstr "Virhe"
@@ -128,57 +128,57 @@ msgstr "Poista pysyvästi"
msgid "Rename"
msgstr "Nimeä uudelleen"
-#: js/filelist.js:49 js/filelist.js:52 js/filelist.js:573
+#: js/filelist.js:50 js/filelist.js:53 js/filelist.js:575
msgid "Pending"
msgstr "Odottaa"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "{new_name} already exists"
msgstr "{new_name} on jo olemassa"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "replace"
msgstr "korvaa"
-#: js/filelist.js:305
+#: js/filelist.js:307
msgid "suggest name"
msgstr "ehdota nimeä"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "cancel"
msgstr "peru"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "replaced {new_name} with {old_name}"
msgstr ""
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "undo"
msgstr "kumoa"
-#: js/filelist.js:422 js/filelist.js:488 js/files.js:580
+#: js/filelist.js:424 js/filelist.js:490 js/files.js:581
msgid "%n folder"
msgid_plural "%n folders"
msgstr[0] "%n kansio"
msgstr[1] "%n kansiota"
-#: js/filelist.js:423 js/filelist.js:489 js/files.js:586
+#: js/filelist.js:425 js/filelist.js:491 js/files.js:587
msgid "%n file"
msgid_plural "%n files"
msgstr[0] "%n tiedosto"
msgstr[1] "%n tiedostoa"
-#: js/filelist.js:430
+#: js/filelist.js:432
msgid "{dirs} and {files}"
-msgstr ""
+msgstr "{dirs} ja {files}"
-#: js/filelist.js:561
+#: js/filelist.js:563
msgid "Uploading %n file"
msgid_plural "Uploading %n files"
msgstr[0] "Lähetetään %n tiedosto"
msgstr[1] "Lähetetään %n tiedostoa"
-#: js/filelist.js:626
+#: js/filelist.js:628
msgid "files uploading"
msgstr ""
@@ -216,15 +216,15 @@ msgid ""
"big."
msgstr "Lataustasi valmistellaan. Tämä saattaa kestää hetken, jos tiedostot ovat suuria kooltaan."
-#: js/files.js:562 templates/index.php:67
+#: js/files.js:563 templates/index.php:69
msgid "Name"
msgstr "Nimi"
-#: js/files.js:563 templates/index.php:78
+#: js/files.js:564 templates/index.php:81
msgid "Size"
msgstr "Koko"
-#: js/files.js:564 templates/index.php:80
+#: js/files.js:565 templates/index.php:83
msgid "Modified"
msgstr "Muokattu"
@@ -301,33 +301,33 @@ msgstr "Tunnuksellasi ei ole kirjoitusoikeuksia tänne."
msgid "Nothing in here. Upload something!"
msgstr "Täällä ei ole mitään. Lähetä tänne jotakin!"
-#: templates/index.php:73
+#: templates/index.php:75
msgid "Download"
msgstr "Lataa"
-#: templates/index.php:85 templates/index.php:86
+#: templates/index.php:88 templates/index.php:89
msgid "Unshare"
msgstr "Peru jakaminen"
-#: templates/index.php:91 templates/index.php:92
+#: templates/index.php:94 templates/index.php:95
msgid "Delete"
msgstr "Poista"
-#: templates/index.php:105
+#: templates/index.php:108
msgid "Upload too large"
msgstr "Lähetettävä tiedosto on liian suuri"
-#: templates/index.php:107
+#: templates/index.php:110
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "Lähetettäväksi valitsemasi tiedostot ylittävät palvelimen salliman tiedostokoon rajan."
-#: templates/index.php:112
+#: templates/index.php:115
msgid "Files are being scanned, please wait."
msgstr "Tiedostoja tarkistetaan, odota hetki."
-#: templates/index.php:115
+#: templates/index.php:118
msgid "Current scanning"
msgstr "Tämänhetkinen tutkinta"
diff --git a/l10n/fr/core.po b/l10n/fr/core.po
index 5aaca8e3f70..4215f9dc597 100644
--- a/l10n/fr/core.po
+++ b/l10n/fr/core.po
@@ -12,9 +12,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:32-0400\n"
-"PO-Revision-Date: 2013-08-30 13:33+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-09-03 07:43-0400\n"
+"PO-Revision-Date: 2013-09-03 09:30+0000\n"
+"Last-Translator: Christophe Lherieau <skimpax@gmail.com>\n"
"Language-Team: French (http://www.transifex.com/projects/p/owncloud/language/fr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -29,32 +29,32 @@ msgstr "%s partagé »%s« avec vous"
#: ajax/share.php:227
msgid "group"
-msgstr ""
+msgstr "groupe"
#: ajax/update.php:11
msgid "Turned on maintenance mode"
-msgstr ""
+msgstr "Basculé en mode maintenance"
#: ajax/update.php:14
msgid "Turned off maintenance mode"
-msgstr ""
+msgstr "Basculé en mode production (non maintenance)"
#: ajax/update.php:17
msgid "Updated database"
-msgstr ""
+msgstr "Base de données mise à jour"
#: ajax/update.php:20
msgid "Updating filecache, this may take really long..."
-msgstr ""
+msgstr "En cours de mise à jour de cache de fichiers. Cette opération peut être très longue..."
#: ajax/update.php:23
msgid "Updated filecache"
-msgstr ""
+msgstr "Cache de fichier mis à jour"
#: ajax/update.php:26
#, php-format
msgid "... %d%% done ..."
-msgstr ""
+msgstr "... %d%% effectué ..."
#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25
msgid "Category type not provided."
@@ -182,14 +182,14 @@ msgstr "il y a quelques secondes"
#: js/js.js:813
msgid "%n minute ago"
msgid_plural "%n minutes ago"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "il y a %n minute"
+msgstr[1] "il y a %n minutes"
#: js/js.js:814
msgid "%n hour ago"
msgid_plural "%n hours ago"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Il y a %n heure"
+msgstr[1] "Il y a %n heures"
#: js/js.js:815
msgid "today"
@@ -202,8 +202,8 @@ msgstr "hier"
#: js/js.js:817
msgid "%n day ago"
msgid_plural "%n days ago"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "il y a %n jour"
+msgstr[1] "il y a %n jours"
#: js/js.js:818
msgid "last month"
@@ -212,8 +212,8 @@ msgstr "le mois dernier"
#: js/js.js:819
msgid "%n month ago"
msgid_plural "%n months ago"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Il y a %n mois"
+msgstr[1] "Il y a %n mois"
#: js/js.js:820
msgid "months ago"
@@ -410,7 +410,7 @@ msgstr "La mise à jour a réussi. Vous êtes redirigé maintenant vers ownCloud
#: lostpassword/controller.php:61
#, php-format
msgid "%s password reset"
-msgstr ""
+msgstr "Réinitialisation de votre mot de passe %s"
#: lostpassword/templates/email.php:2
msgid "Use the following link to reset your password: {link}"
@@ -527,7 +527,7 @@ msgstr "Votre version de PHP est vulnérable à l'attaque par caractère NULL (C
#: templates/installation.php:26
#, php-format
msgid "Please update your PHP installation to use %s securely."
-msgstr ""
+msgstr "Veuillez mettre à jour votre installation PHP pour utiliser %s de façon sécurisée."
#: templates/installation.php:32
msgid ""
@@ -552,7 +552,7 @@ msgstr "Votre répertoire data est certainement accessible depuis l'internet car
msgid ""
"For information how to properly configure your server, please see the <a "
"href=\"%s\" target=\"_blank\">documentation</a>."
-msgstr ""
+msgstr "Pour les informations de configuration de votre serveur, veuillez lire la <a href=\"%s\" target=\"_blank\">documentation</a>."
#: templates/installation.php:47
msgid "Create an <strong>admin account</strong>"
diff --git a/l10n/fr/files.po b/l10n/fr/files.po
index bd1b9b97978..aca28388062 100644
--- a/l10n/fr/files.po
+++ b/l10n/fr/files.po
@@ -10,9 +10,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:31-0400\n"
-"PO-Revision-Date: 2013-08-30 13:34+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-09-03 07:42-0400\n"
+"PO-Revision-Date: 2013-09-03 09:25+0000\n"
+"Last-Translator: Christophe Lherieau <skimpax@gmail.com>\n"
"Language-Team: French (http://www.transifex.com/projects/p/owncloud/language/fr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -79,7 +79,7 @@ msgstr "Plus assez d'espace de stockage disponible"
#: ajax/upload.php:109
msgid "Upload failed"
-msgstr ""
+msgstr "Échec de l'envoi"
#: ajax/upload.php:127
msgid "Invalid directory."
@@ -114,7 +114,7 @@ msgstr "L'URL ne peut-être vide"
msgid "Invalid folder name. Usage of 'Shared' is reserved by ownCloud"
msgstr "Nom de dossier invalide. L'utilisation du mot 'Shared' est réservée à Owncloud"
-#: js/file-upload.js:275 js/file-upload.js:291 js/files.js:511 js/files.js:549
+#: js/file-upload.js:276 js/file-upload.js:292 js/files.js:512 js/files.js:550
msgid "Error"
msgstr "Erreur"
@@ -130,57 +130,57 @@ msgstr "Supprimer de façon définitive"
msgid "Rename"
msgstr "Renommer"
-#: js/filelist.js:49 js/filelist.js:52 js/filelist.js:573
+#: js/filelist.js:50 js/filelist.js:53 js/filelist.js:575
msgid "Pending"
msgstr "En attente"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "{new_name} already exists"
msgstr "{new_name} existe déjà"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "replace"
msgstr "remplacer"
-#: js/filelist.js:305
+#: js/filelist.js:307
msgid "suggest name"
msgstr "Suggérer un nom"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "cancel"
msgstr "annuler"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "replaced {new_name} with {old_name}"
msgstr "{new_name} a été remplacé par {old_name}"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "undo"
msgstr "annuler"
-#: js/filelist.js:422 js/filelist.js:488 js/files.js:580
+#: js/filelist.js:424 js/filelist.js:490 js/files.js:581
msgid "%n folder"
msgid_plural "%n folders"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "%n dossier"
+msgstr[1] "%n dossiers"
-#: js/filelist.js:423 js/filelist.js:489 js/files.js:586
+#: js/filelist.js:425 js/filelist.js:491 js/files.js:587
msgid "%n file"
msgid_plural "%n files"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "%n fichier"
+msgstr[1] "%n fichiers"
-#: js/filelist.js:430
+#: js/filelist.js:432
msgid "{dirs} and {files}"
-msgstr ""
+msgstr "{dir} et {files}"
-#: js/filelist.js:561
+#: js/filelist.js:563
msgid "Uploading %n file"
msgid_plural "Uploading %n files"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Téléversement de %n fichier"
+msgstr[1] "Téléversement de %n fichiers"
-#: js/filelist.js:626
+#: js/filelist.js:628
msgid "files uploading"
msgstr "fichiers en cours d'envoi"
@@ -210,7 +210,7 @@ msgstr "Votre espace de stockage est presque plein ({usedSpacePercent}%)"
msgid ""
"Encryption was disabled but your files are still encrypted. Please go to "
"your personal settings to decrypt your files."
-msgstr ""
+msgstr "Le chiffrement était désactivé mais vos fichiers sont toujours chiffrés. Veuillez vous rendre sur vos Paramètres personnels pour déchiffrer vos fichiers."
#: js/files.js:245
msgid ""
@@ -218,15 +218,15 @@ msgid ""
"big."
msgstr "Votre téléchargement est cours de préparation. Ceci peut nécessiter un certain temps si les fichiers sont volumineux."
-#: js/files.js:562 templates/index.php:67
+#: js/files.js:563 templates/index.php:69
msgid "Name"
msgstr "Nom"
-#: js/files.js:563 templates/index.php:78
+#: js/files.js:564 templates/index.php:81
msgid "Size"
msgstr "Taille"
-#: js/files.js:564 templates/index.php:80
+#: js/files.js:565 templates/index.php:83
msgid "Modified"
msgstr "Modifié"
@@ -303,33 +303,33 @@ msgstr "Vous n'avez pas le droit d'écriture ici."
msgid "Nothing in here. Upload something!"
msgstr "Il n'y a rien ici ! Envoyez donc quelque chose :)"
-#: templates/index.php:73
+#: templates/index.php:75
msgid "Download"
msgstr "Télécharger"
-#: templates/index.php:85 templates/index.php:86
+#: templates/index.php:88 templates/index.php:89
msgid "Unshare"
msgstr "Ne plus partager"
-#: templates/index.php:91 templates/index.php:92
+#: templates/index.php:94 templates/index.php:95
msgid "Delete"
msgstr "Supprimer"
-#: templates/index.php:105
+#: templates/index.php:108
msgid "Upload too large"
msgstr "Téléversement trop volumineux"
-#: templates/index.php:107
+#: templates/index.php:110
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "Les fichiers que vous essayez d'envoyer dépassent la taille maximale permise par ce serveur."
-#: templates/index.php:112
+#: templates/index.php:115
msgid "Files are being scanned, please wait."
msgstr "Les fichiers sont en cours d'analyse, veuillez patienter."
-#: templates/index.php:115
+#: templates/index.php:118
msgid "Current scanning"
msgstr "Analyse en cours"
diff --git a/l10n/fr/files_encryption.po b/l10n/fr/files_encryption.po
index 174e4d3f3a3..6616ed62275 100644
--- a/l10n/fr/files_encryption.po
+++ b/l10n/fr/files_encryption.po
@@ -11,9 +11,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-21 08:10-0400\n"
-"PO-Revision-Date: 2013-08-19 19:20+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-09-03 07:42-0400\n"
+"PO-Revision-Date: 2013-09-03 10:00+0000\n"
+"Last-Translator: Christophe Lherieau <skimpax@gmail.com>\n"
"Language-Team: French (http://www.transifex.com/projects/p/owncloud/language/fr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -65,20 +65,20 @@ msgid ""
"files."
msgstr "Votre clé de sécurité privée n'est pas valide! Il est probable que votre mot de passe ait été changé sans passer par le système ownCloud (par éxemple: le serveur de votre entreprise). Ain d'avoir à nouveau accès à vos fichiers cryptés, vous pouvez mettre à jour votre clé de sécurité privée dans les paramètres personnels de votre compte."
-#: hooks/hooks.php:41
+#: hooks/hooks.php:51
msgid "Missing requirements."
msgstr "Système minimum requis non respecté."
-#: hooks/hooks.php:42
+#: hooks/hooks.php:52
msgid ""
"Please make sure that PHP 5.3.3 or newer is installed and that OpenSSL "
"together with the PHP extension is enabled and configured properly. For now,"
" the encryption app has been disabled."
-msgstr ""
+msgstr "Veuillez vous assurer qu'une version de PHP 5.3.3 ou supérieure est installée et qu'OpenSSL et son extension PHP sont activés et configurés correctement. En attendant, l'application de chiffrement été désactivée."
-#: hooks/hooks.php:249
+#: hooks/hooks.php:250
msgid "Following users are not set up for encryption:"
-msgstr ""
+msgstr "Les utilisateurs suivants ne sont pas configurés pour le chiffrement :"
#: js/settings-admin.js:11
msgid "Saving..."
diff --git a/l10n/fr/files_sharing.po b/l10n/fr/files_sharing.po
index c6eae4ea599..6f0ea28d9c5 100644
--- a/l10n/fr/files_sharing.po
+++ b/l10n/fr/files_sharing.po
@@ -4,13 +4,14 @@
#
# Translators:
# square <benben390-390@yahoo.fr>, 2013
+# Christophe Lherieau <skimpax@gmail.com>, 2013
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-19 15:06-0400\n"
-"PO-Revision-Date: 2013-08-19 18:23+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-09-03 07:43-0400\n"
+"PO-Revision-Date: 2013-09-03 11:10+0000\n"
+"Last-Translator: Christophe Lherieau <skimpax@gmail.com>\n"
"Language-Team: French (http://www.transifex.com/projects/p/owncloud/language/fr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -32,27 +33,27 @@ msgstr "Envoyer"
#: templates/part.404.php:3
msgid "Sorry, this link doesn’t seem to work anymore."
-msgstr ""
+msgstr "Désolé, mais le lien semble ne plus fonctionner."
#: templates/part.404.php:4
msgid "Reasons might be:"
-msgstr ""
+msgstr "Les raisons peuvent être :"
#: templates/part.404.php:6
msgid "the item was removed"
-msgstr ""
+msgstr "l'item a été supprimé"
#: templates/part.404.php:7
msgid "the link expired"
-msgstr ""
+msgstr "le lien a expiré"
#: templates/part.404.php:8
msgid "sharing is disabled"
-msgstr ""
+msgstr "le partage est désactivé"
#: templates/part.404.php:10
msgid "For more info, please ask the person who sent this link."
-msgstr ""
+msgstr "Pour plus d'informations, veuillez contacter la personne qui a envoyé ce lien."
#: templates/public.php:15
#, php-format
@@ -64,7 +65,7 @@ msgstr "%s a partagé le répertoire %s avec vous"
msgid "%s shared the file %s with you"
msgstr "%s a partagé le fichier %s avec vous"
-#: templates/public.php:26 templates/public.php:88
+#: templates/public.php:26 templates/public.php:92
msgid "Download"
msgstr "Télécharger"
@@ -76,6 +77,6 @@ msgstr "Envoyer"
msgid "Cancel upload"
msgstr "Annuler l'envoi"
-#: templates/public.php:85
+#: templates/public.php:89
msgid "No preview available for"
msgstr "Pas d'aperçu disponible pour"
diff --git a/l10n/fr/files_trashbin.po b/l10n/fr/files_trashbin.po
index 464c518b8a5..52238114518 100644
--- a/l10n/fr/files_trashbin.po
+++ b/l10n/fr/files_trashbin.po
@@ -3,13 +3,14 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# Christophe Lherieau <skimpax@gmail.com>, 2013
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-15 04:47-0400\n"
-"PO-Revision-Date: 2013-08-15 08:48+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-09-03 07:43-0400\n"
+"PO-Revision-Date: 2013-09-03 09:30+0000\n"
+"Last-Translator: Christophe Lherieau <skimpax@gmail.com>\n"
"Language-Team: French (http://www.transifex.com/projects/p/owncloud/language/fr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -27,45 +28,45 @@ msgstr "Impossible d'effacer %s de façon permanente"
msgid "Couldn't restore %s"
msgstr "Impossible de restaurer %s"
-#: js/trash.js:7 js/trash.js:100
+#: js/trash.js:7 js/trash.js:102
msgid "perform restore operation"
msgstr "effectuer l'opération de restauration"
-#: js/trash.js:20 js/trash.js:48 js/trash.js:118 js/trash.js:146
+#: js/trash.js:20 js/trash.js:49 js/trash.js:120 js/trash.js:148
msgid "Error"
msgstr "Erreur"
-#: js/trash.js:36
+#: js/trash.js:37
msgid "delete file permanently"
msgstr "effacer définitivement le fichier"
-#: js/trash.js:127
+#: js/trash.js:129
msgid "Delete permanently"
msgstr "Supprimer de façon définitive"
-#: js/trash.js:182 templates/index.php:17
+#: js/trash.js:184 templates/index.php:17
msgid "Name"
msgstr "Nom"
-#: js/trash.js:183 templates/index.php:27
+#: js/trash.js:185 templates/index.php:27
msgid "Deleted"
msgstr "Effacé"
-#: js/trash.js:191
+#: js/trash.js:193
msgid "%n folder"
msgid_plural "%n folders"
msgstr[0] ""
-msgstr[1] ""
+msgstr[1] "%n dossiers"
-#: js/trash.js:197
+#: js/trash.js:199
msgid "%n file"
msgid_plural "%n files"
msgstr[0] ""
-msgstr[1] ""
+msgstr[1] "%n fichiers"
-#: lib/trash.php:819 lib/trash.php:821
+#: lib/trash.php:814 lib/trash.php:816
msgid "restored"
-msgstr ""
+msgstr "restauré"
#: templates/index.php:9
msgid "Nothing in here. Your trash bin is empty!"
diff --git a/l10n/fr/files_versions.po b/l10n/fr/files_versions.po
index 79799c762b9..d5ea6a33082 100644
--- a/l10n/fr/files_versions.po
+++ b/l10n/fr/files_versions.po
@@ -3,13 +3,14 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# Christophe Lherieau <skimpax@gmail.com>, 2013
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-07-28 01:56-0400\n"
-"PO-Revision-Date: 2013-07-27 06:10+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-09-03 07:43-0400\n"
+"PO-Revision-Date: 2013-09-03 11:10+0000\n"
+"Last-Translator: Christophe Lherieau <skimpax@gmail.com>\n"
"Language-Team: French (http://www.transifex.com/projects/p/owncloud/language/fr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -28,16 +29,16 @@ msgstr "Versions"
#: js/versions.js:53
msgid "Failed to revert {file} to revision {timestamp}."
-msgstr ""
+msgstr "Échec du retour du fichier {file} à la révision {timestamp}."
#: js/versions.js:79
msgid "More versions..."
-msgstr ""
+msgstr "Plus de versions..."
#: js/versions.js:116
msgid "No other versions available"
-msgstr ""
+msgstr "Aucune autre version disponible"
-#: js/versions.js:149
+#: js/versions.js:145
msgid "Restore"
msgstr "Restaurer"
diff --git a/l10n/fr/lib.po b/l10n/fr/lib.po
index 5bd611ff268..bc0c4a9abbd 100644
--- a/l10n/fr/lib.po
+++ b/l10n/fr/lib.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-25 19:18-0400\n"
-"PO-Revision-Date: 2013-08-25 23:18+0000\n"
+"POT-Creation-Date: 2013-09-03 07:44-0400\n"
+"PO-Revision-Date: 2013-09-03 09:30+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: French (http://www.transifex.com/projects/p/owncloud/language/fr/)\n"
"MIME-Version: 1.0\n"
@@ -265,51 +265,51 @@ msgstr "Votre serveur web, n'est pas correctement configuré pour permettre la s
msgid "Please double check the <a href='%s'>installation guides</a>."
msgstr "Veuillez vous référer au <a href='%s'>guide d'installation</a>."
-#: template/functions.php:80
+#: template/functions.php:96
msgid "seconds ago"
msgstr "il y a quelques secondes"
-#: template/functions.php:81
+#: template/functions.php:97
msgid "%n minute ago"
msgid_plural "%n minutes ago"
msgstr[0] ""
-msgstr[1] ""
+msgstr[1] "il y a %n minutes"
-#: template/functions.php:82
+#: template/functions.php:98
msgid "%n hour ago"
msgid_plural "%n hours ago"
msgstr[0] ""
-msgstr[1] ""
+msgstr[1] "Il y a %n heures"
-#: template/functions.php:83
+#: template/functions.php:99
msgid "today"
msgstr "aujourd'hui"
-#: template/functions.php:84
+#: template/functions.php:100
msgid "yesterday"
msgstr "hier"
-#: template/functions.php:85
+#: template/functions.php:101
msgid "%n day go"
msgid_plural "%n days ago"
msgstr[0] ""
-msgstr[1] ""
+msgstr[1] "il y a %n jours"
-#: template/functions.php:86
+#: template/functions.php:102
msgid "last month"
msgstr "le mois dernier"
-#: template/functions.php:87
+#: template/functions.php:103
msgid "%n month ago"
msgid_plural "%n months ago"
msgstr[0] ""
-msgstr[1] ""
+msgstr[1] "Il y a %n mois"
-#: template/functions.php:88
+#: template/functions.php:104
msgid "last year"
msgstr "l'année dernière"
-#: template/functions.php:89
+#: template/functions.php:105
msgid "years ago"
msgstr "il y a plusieurs années"
diff --git a/l10n/fr/settings.po b/l10n/fr/settings.po
index bd79bb2891d..fd619afbb0c 100644
--- a/l10n/fr/settings.po
+++ b/l10n/fr/settings.po
@@ -11,9 +11,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-25 19:18-0400\n"
-"PO-Revision-Date: 2013-08-25 23:18+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-09-03 07:44-0400\n"
+"PO-Revision-Date: 2013-09-03 09:50+0000\n"
+"Last-Translator: Christophe Lherieau <skimpax@gmail.com>\n"
"Language-Team: French (http://www.transifex.com/projects/p/owncloud/language/fr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -88,53 +88,53 @@ msgstr "Impossible de supprimer l'utilisateur du groupe %s"
msgid "Couldn't update app."
msgstr "Impossible de mettre à jour l'application"
-#: js/apps.js:35
+#: js/apps.js:43
msgid "Update to {appversion}"
msgstr "Mettre à jour vers {appversion}"
-#: js/apps.js:41 js/apps.js:74 js/apps.js:100
+#: js/apps.js:49 js/apps.js:82 js/apps.js:108
msgid "Disable"
msgstr "Désactiver"
-#: js/apps.js:41 js/apps.js:81 js/apps.js:94 js/apps.js:109
+#: js/apps.js:49 js/apps.js:89 js/apps.js:102 js/apps.js:117
msgid "Enable"
msgstr "Activer"
-#: js/apps.js:63
+#: js/apps.js:71
msgid "Please wait...."
msgstr "Veuillez patienter…"
-#: js/apps.js:71 js/apps.js:72 js/apps.js:92
+#: js/apps.js:79 js/apps.js:80 js/apps.js:100
msgid "Error while disabling app"
-msgstr ""
+msgstr "Erreur lors de la désactivation de l'application"
-#: js/apps.js:91 js/apps.js:104 js/apps.js:105
+#: js/apps.js:99 js/apps.js:112 js/apps.js:113
msgid "Error while enabling app"
-msgstr ""
+msgstr "Erreur lors de l'activation de l'application"
-#: js/apps.js:115
+#: js/apps.js:123
msgid "Updating...."
msgstr "Mise à jour..."
-#: js/apps.js:118
+#: js/apps.js:126
msgid "Error while updating app"
msgstr "Erreur lors de la mise à jour de l'application"
-#: js/apps.js:118
+#: js/apps.js:126
msgid "Error"
msgstr "Erreur"
-#: js/apps.js:119 templates/apps.php:43
+#: js/apps.js:127 templates/apps.php:43
msgid "Update"
msgstr "Mettre à jour"
-#: js/apps.js:122
+#: js/apps.js:130
msgid "Updated"
msgstr "Mise à jour effectuée avec succès"
#: js/personal.js:150
msgid "Decrypting files... Please wait, this can take some time."
-msgstr ""
+msgstr "Déchiffrement en cours... Cela peut prendre un certain temps."
#: js/personal.js:172
msgid "Saving..."
@@ -196,7 +196,7 @@ msgid ""
"configure your webserver in a way that the data directory is no longer "
"accessible or you move the data directory outside the webserver document "
"root."
-msgstr ""
+msgstr "Votre dossier de données et vos fichiers sont probablement accessibles depuis internet. Le fichier .htaccess ne fonctionne pas. Nous vous recommandons vivement de configurer votre serveur web de façon à ce que ce dossier de données ne soit plus accessible, ou bien de le déplacer à l'extérieur de la racine du serveur web."
#: templates/admin.php:29
msgid "Setup Warning"
@@ -211,7 +211,7 @@ msgstr "Votre serveur web, n'est pas correctement configuré pour permettre la s
#: templates/admin.php:33
#, php-format
msgid "Please double check the <a href=\"%s\">installation guides</a>."
-msgstr ""
+msgstr "Veuillez consulter à nouveau les <a href=\"%s\">guides d'installation</a>."
#: templates/admin.php:44
msgid "Module 'fileinfo' missing"
@@ -233,7 +233,7 @@ msgid ""
"System locale can't be set to %s. This means that there might be problems "
"with certain characters in file names. We strongly suggest to install the "
"required packages on your system to support %s."
-msgstr ""
+msgstr "Le localisation du système n'a pu être configurée à %s. Cela signifie qu'il pourrait y avoir des problèmes avec certains caractères dans les noms de fichiers. Il est fortement recommandé d'installer les paquets requis pour le support de %s."
#: templates/admin.php:75
msgid "Internet connection not working"
@@ -246,7 +246,7 @@ msgid ""
"installation of 3rd party apps don´t work. Accessing files from remote and "
"sending of notification emails might also not work. We suggest to enable "
"internet connection for this server if you want to have all features."
-msgstr ""
+msgstr "Ce serveur ne peut se connecter à internet. Cela signifie que certaines fonctionnalités, telles que le montage de supports de stockage distants, les notifications de mises à jour ou l'installation d'applications tierces ne fonctionneront pas. L'accès aux fichiers à distance, ainsi que les notifications par mails ne seront pas fonctionnels également. Il est recommandé d'activer la connexion internet pour ce serveur si vous souhaitez disposer de l'ensemble des fonctionnalités offertes."
#: templates/admin.php:92
msgid "Cron"
@@ -260,11 +260,11 @@ msgstr "Exécute une tâche à chaque chargement de page"
msgid ""
"cron.php is registered at a webcron service to call cron.php once a minute "
"over http."
-msgstr ""
+msgstr "cron.php est enregistré en tant que service webcron pour appeler cron.php une fois par minute via http."
#: templates/admin.php:115
msgid "Use systems cron service to call the cron.php file once a minute."
-msgstr ""
+msgstr "Utilise le service cron du système pour appeler cron.php une fois par minute."
#: templates/admin.php:120
msgid "Sharing"
@@ -288,12 +288,12 @@ msgstr "Autoriser les utilisateurs à partager des éléments publiquement à l'
#: templates/admin.php:143
msgid "Allow public uploads"
-msgstr ""
+msgstr "Autoriser les téléversements publics"
#: templates/admin.php:144
msgid ""
"Allow users to enable others to upload into their publicly shared folders"
-msgstr ""
+msgstr "Permet d'autoriser les autres utilisateurs à téléverser dans le dossier partagé public de l'utilisateur"
#: templates/admin.php:152
msgid "Allow resharing"
@@ -322,14 +322,14 @@ msgstr "Forcer HTTPS"
#: templates/admin.php:185
#, php-format
msgid "Forces the clients to connect to %s via an encrypted connection."
-msgstr ""
+msgstr "Forcer les clients à se connecter à %s via une connexion chiffrée."
#: templates/admin.php:191
#, php-format
msgid ""
"Please connect to your %s via HTTPS to enable or disable the SSL "
"enforcement."
-msgstr ""
+msgstr "Veuillez vous connecter à cette instance %s via HTTPS pour activer ou désactiver SSL."
#: templates/admin.php:203
msgid "Log"
@@ -483,15 +483,15 @@ msgstr "Chiffrement"
#: templates/personal.php:119
msgid "The encryption app is no longer enabled, decrypt all your file"
-msgstr ""
+msgstr "L'application de chiffrement n'est plus activée, déchiffrez tous vos fichiers"
#: templates/personal.php:125
msgid "Log-in password"
-msgstr ""
+msgstr "Mot de passe de connexion"
#: templates/personal.php:130
msgid "Decrypt all Files"
-msgstr ""
+msgstr "Déchiffrer tous les fichiers"
#: templates/users.php:21
msgid "Login Name"
diff --git a/l10n/fr/user_webdavauth.po b/l10n/fr/user_webdavauth.po
index c4a85dce02d..d24a55c6e23 100644
--- a/l10n/fr/user_webdavauth.po
+++ b/l10n/fr/user_webdavauth.po
@@ -5,7 +5,7 @@
# Translators:
# Adalberto Rodrigues <rodrigues_adalberto@yahoo.fr>, 2013
# Christophe Lherieau <skimpax@gmail.com>, 2013
-# mishka <mishka.lazzlo@gmail.com>, 2013
+# mishka, 2013
# ouafnico <nicolas@shivaserv.fr>, 2012
# Robert Di Rosa <>, 2012
# Romain DEP. <rom1dep@gmail.com>, 2012-2013
@@ -13,9 +13,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-07-27 01:56-0400\n"
-"PO-Revision-Date: 2013-07-27 05:57+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-09-03 07:43-0400\n"
+"PO-Revision-Date: 2013-09-03 10:00+0000\n"
+"Last-Translator: Christophe Lherieau <skimpax@gmail.com>\n"
"Language-Team: French (http://www.transifex.com/projects/p/owncloud/language/fr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -29,11 +29,11 @@ msgstr "Authentification WebDAV"
#: templates/settings.php:4
msgid "Address: "
-msgstr ""
+msgstr "Adresse :"
#: templates/settings.php:7
msgid ""
"The user credentials will be sent to this address. This plugin checks the "
"response and will interpret the HTTP statuscodes 401 and 403 as invalid "
"credentials, and all other responses as valid credentials."
-msgstr ""
+msgstr "Les informations de connexion de l'utilisateur seront envoyées à cette adresse. Ce module analyse le code de la réponse HTTP et considère les codes 401 et 403 comme une authentification invalide et tout autre valeur comme une authentification valide."
diff --git a/l10n/gl/core.po b/l10n/gl/core.po
index ed5c0b1b091..6565f0ea8d9 100644
--- a/l10n/gl/core.po
+++ b/l10n/gl/core.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:32-0400\n"
-"PO-Revision-Date: 2013-08-30 13:33+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Galician (http://www.transifex.com/projects/p/owncloud/language/gl/)\n"
"MIME-Version: 1.0\n"
@@ -25,7 +25,7 @@ msgstr "%s compartiu «%s» con vostede"
#: ajax/share.php:227
msgid "group"
-msgstr ""
+msgstr "grupo"
#: ajax/update.php:11
msgid "Turned on maintenance mode"
diff --git a/l10n/gl/files.po b/l10n/gl/files.po
index f655969e064..6de09cdb0f7 100644
--- a/l10n/gl/files.po
+++ b/l10n/gl/files.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:31-0400\n"
-"PO-Revision-Date: 2013-08-30 13:34+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Galician (http://www.transifex.com/projects/p/owncloud/language/gl/)\n"
"MIME-Version: 1.0\n"
@@ -77,7 +77,7 @@ msgstr "Non hai espazo de almacenamento abondo"
#: ajax/upload.php:109
msgid "Upload failed"
-msgstr ""
+msgstr "Produciuse un fallou no envío"
#: ajax/upload.php:127
msgid "Invalid directory."
@@ -112,7 +112,7 @@ msgstr "O URL non pode quedar baleiro."
msgid "Invalid folder name. Usage of 'Shared' is reserved by ownCloud"
msgstr "Nome de cartafol incorrecto. O uso de «Compartido» e «Shared» está reservado para o ownClod"
-#: js/file-upload.js:275 js/file-upload.js:291 js/files.js:511 js/files.js:549
+#: js/file-upload.js:276 js/file-upload.js:292 js/files.js:512 js/files.js:550
msgid "Error"
msgstr "Erro"
@@ -128,57 +128,57 @@ msgstr "Eliminar permanentemente"
msgid "Rename"
msgstr "Renomear"
-#: js/filelist.js:49 js/filelist.js:52 js/filelist.js:573
+#: js/filelist.js:50 js/filelist.js:53 js/filelist.js:575
msgid "Pending"
msgstr "Pendentes"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "{new_name} already exists"
msgstr "Xa existe un {new_name}"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "replace"
msgstr "substituír"
-#: js/filelist.js:305
+#: js/filelist.js:307
msgid "suggest name"
msgstr "suxerir nome"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "cancel"
msgstr "cancelar"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "replaced {new_name} with {old_name}"
msgstr "substituír {new_name} por {old_name}"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "undo"
msgstr "desfacer"
-#: js/filelist.js:422 js/filelist.js:488 js/files.js:580
+#: js/filelist.js:424 js/filelist.js:490 js/files.js:581
msgid "%n folder"
msgid_plural "%n folders"
msgstr[0] "%n cartafol"
msgstr[1] "%n cartafoles"
-#: js/filelist.js:423 js/filelist.js:489 js/files.js:586
+#: js/filelist.js:425 js/filelist.js:491 js/files.js:587
msgid "%n file"
msgid_plural "%n files"
msgstr[0] "%n ficheiro"
msgstr[1] "%n ficheiros"
-#: js/filelist.js:430
+#: js/filelist.js:432
msgid "{dirs} and {files}"
msgstr ""
-#: js/filelist.js:561
+#: js/filelist.js:563
msgid "Uploading %n file"
msgid_plural "Uploading %n files"
msgstr[0] "Cargando %n ficheiro"
msgstr[1] "Cargando %n ficheiros"
-#: js/filelist.js:626
+#: js/filelist.js:628
msgid "files uploading"
msgstr "ficheiros enviándose"
@@ -216,15 +216,15 @@ msgid ""
"big."
msgstr "Está a prepararse a súa descarga. Isto pode levar bastante tempo se os ficheiros son grandes."
-#: js/files.js:562 templates/index.php:67
+#: js/files.js:563 templates/index.php:69
msgid "Name"
msgstr "Nome"
-#: js/files.js:563 templates/index.php:78
+#: js/files.js:564 templates/index.php:81
msgid "Size"
msgstr "Tamaño"
-#: js/files.js:564 templates/index.php:80
+#: js/files.js:565 templates/index.php:83
msgid "Modified"
msgstr "Modificado"
@@ -301,33 +301,33 @@ msgstr "Non ten permisos para escribir aquí."
msgid "Nothing in here. Upload something!"
msgstr "Aquí non hai nada. Envíe algo."
-#: templates/index.php:73
+#: templates/index.php:75
msgid "Download"
msgstr "Descargar"
-#: templates/index.php:85 templates/index.php:86
+#: templates/index.php:88 templates/index.php:89
msgid "Unshare"
msgstr "Deixar de compartir"
-#: templates/index.php:91 templates/index.php:92
+#: templates/index.php:94 templates/index.php:95
msgid "Delete"
msgstr "Eliminar"
-#: templates/index.php:105
+#: templates/index.php:108
msgid "Upload too large"
msgstr "Envío demasiado grande"
-#: templates/index.php:107
+#: templates/index.php:110
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "Os ficheiros que tenta enviar exceden do tamaño máximo permitido neste servidor"
-#: templates/index.php:112
+#: templates/index.php:115
msgid "Files are being scanned, please wait."
msgstr "Estanse analizando os ficheiros. Agarde."
-#: templates/index.php:115
+#: templates/index.php:118
msgid "Current scanning"
msgstr "Análise actual"
diff --git a/l10n/he/core.po b/l10n/he/core.po
index ccf747517c2..a505ffebd53 100644
--- a/l10n/he/core.po
+++ b/l10n/he/core.po
@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:32-0400\n"
-"PO-Revision-Date: 2013-08-30 13:33+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Hebrew (http://www.transifex.com/projects/p/owncloud/language/he/)\n"
"MIME-Version: 1.0\n"
@@ -26,7 +26,7 @@ msgstr "%s שיתף/שיתפה איתך את »%s«"
#: ajax/share.php:227
msgid "group"
-msgstr ""
+msgstr "קבוצה"
#: ajax/update.php:11
msgid "Turned on maintenance mode"
diff --git a/l10n/he/files.po b/l10n/he/files.po
index 9002e898ceb..dd480450974 100644
--- a/l10n/he/files.po
+++ b/l10n/he/files.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:31-0400\n"
-"PO-Revision-Date: 2013-08-30 13:34+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Hebrew (http://www.transifex.com/projects/p/owncloud/language/he/)\n"
"MIME-Version: 1.0\n"
@@ -77,7 +77,7 @@ msgstr "אין די שטח פנוי באחסון"
#: ajax/upload.php:109
msgid "Upload failed"
-msgstr ""
+msgstr "ההעלאה נכשלה"
#: ajax/upload.php:127
msgid "Invalid directory."
@@ -112,7 +112,7 @@ msgstr "קישור אינו יכול להיות ריק."
msgid "Invalid folder name. Usage of 'Shared' is reserved by ownCloud"
msgstr ""
-#: js/file-upload.js:275 js/file-upload.js:291 js/files.js:511 js/files.js:549
+#: js/file-upload.js:276 js/file-upload.js:292 js/files.js:512 js/files.js:550
msgid "Error"
msgstr "שגיאה"
@@ -128,57 +128,57 @@ msgstr "מחק לצמיתות"
msgid "Rename"
msgstr "שינוי שם"
-#: js/filelist.js:49 js/filelist.js:52 js/filelist.js:573
+#: js/filelist.js:50 js/filelist.js:53 js/filelist.js:575
msgid "Pending"
msgstr "ממתין"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "{new_name} already exists"
msgstr "{new_name} כבר קיים"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "replace"
msgstr "החלפה"
-#: js/filelist.js:305
+#: js/filelist.js:307
msgid "suggest name"
msgstr "הצעת שם"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "cancel"
msgstr "ביטול"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "replaced {new_name} with {old_name}"
msgstr "{new_name} הוחלף ב־{old_name}"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "undo"
msgstr "ביטול"
-#: js/filelist.js:422 js/filelist.js:488 js/files.js:580
+#: js/filelist.js:424 js/filelist.js:490 js/files.js:581
msgid "%n folder"
msgid_plural "%n folders"
msgstr[0] ""
msgstr[1] ""
-#: js/filelist.js:423 js/filelist.js:489 js/files.js:586
+#: js/filelist.js:425 js/filelist.js:491 js/files.js:587
msgid "%n file"
msgid_plural "%n files"
msgstr[0] ""
msgstr[1] ""
-#: js/filelist.js:430
+#: js/filelist.js:432
msgid "{dirs} and {files}"
msgstr ""
-#: js/filelist.js:561
+#: js/filelist.js:563
msgid "Uploading %n file"
msgid_plural "Uploading %n files"
msgstr[0] ""
msgstr[1] ""
-#: js/filelist.js:626
+#: js/filelist.js:628
msgid "files uploading"
msgstr "קבצים בהעלאה"
@@ -216,15 +216,15 @@ msgid ""
"big."
msgstr ""
-#: js/files.js:562 templates/index.php:67
+#: js/files.js:563 templates/index.php:69
msgid "Name"
msgstr "שם"
-#: js/files.js:563 templates/index.php:78
+#: js/files.js:564 templates/index.php:81
msgid "Size"
msgstr "גודל"
-#: js/files.js:564 templates/index.php:80
+#: js/files.js:565 templates/index.php:83
msgid "Modified"
msgstr "זמן שינוי"
@@ -301,33 +301,33 @@ msgstr ""
msgid "Nothing in here. Upload something!"
msgstr "אין כאן שום דבר. אולי ברצונך להעלות משהו?"
-#: templates/index.php:73
+#: templates/index.php:75
msgid "Download"
msgstr "הורדה"
-#: templates/index.php:85 templates/index.php:86
+#: templates/index.php:88 templates/index.php:89
msgid "Unshare"
msgstr "הסר שיתוף"
-#: templates/index.php:91 templates/index.php:92
+#: templates/index.php:94 templates/index.php:95
msgid "Delete"
msgstr "מחיקה"
-#: templates/index.php:105
+#: templates/index.php:108
msgid "Upload too large"
msgstr "העלאה גדולה מידי"
-#: templates/index.php:107
+#: templates/index.php:110
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "הקבצים שניסית להעלות חרגו מהגודל המקסימלי להעלאת קבצים על שרת זה."
-#: templates/index.php:112
+#: templates/index.php:115
msgid "Files are being scanned, please wait."
msgstr "הקבצים נסרקים, נא להמתין."
-#: templates/index.php:115
+#: templates/index.php:118
msgid "Current scanning"
msgstr "הסריקה הנוכחית"
diff --git a/l10n/hi/core.po b/l10n/hi/core.po
index 479e61d7c60..dd5f832c464 100644
--- a/l10n/hi/core.po
+++ b/l10n/hi/core.po
@@ -3,14 +3,15 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# Debanjum <debanjum@gmail.com>, 2013
# rktaiwala <rktaiwala@gmail.com>, 2013
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:32-0400\n"
-"PO-Revision-Date: 2013-08-30 13:33+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-09-03 07:43-0400\n"
+"PO-Revision-Date: 2013-09-03 11:00+0000\n"
+"Last-Translator: Debanjum <debanjum@gmail.com>\n"
"Language-Team: Hindi (http://www.transifex.com/projects/p/owncloud/language/hi/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -54,7 +55,7 @@ msgstr ""
#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25
msgid "Category type not provided."
-msgstr ""
+msgstr "कैटेगरी प्रकार उपलब्ध नहीं है"
#: ajax/vcategories/add.php:30
msgid "No category to add?"
@@ -63,13 +64,13 @@ msgstr ""
#: ajax/vcategories/add.php:37
#, php-format
msgid "This category already exists: %s"
-msgstr ""
+msgstr "यह कैटेगरी पहले से ही मौजूद है: %s"
#: ajax/vcategories/addToFavorites.php:26 ajax/vcategories/delete.php:27
#: ajax/vcategories/favorites.php:24
#: ajax/vcategories/removeFromFavorites.php:26
msgid "Object type not provided."
-msgstr ""
+msgstr "ऑब्जेक्ट प्रकार नहीं दिया हुआ"
#: ajax/vcategories/addToFavorites.php:30
#: ajax/vcategories/removeFromFavorites.php:30
@@ -93,31 +94,31 @@ msgstr ""
#: js/config.php:32
msgid "Sunday"
-msgstr ""
+msgstr "रविवार"
#: js/config.php:33
msgid "Monday"
-msgstr ""
+msgstr "सोमवार"
#: js/config.php:34
msgid "Tuesday"
-msgstr ""
+msgstr "मंगलवार"
#: js/config.php:35
msgid "Wednesday"
-msgstr ""
+msgstr "बुधवार"
#: js/config.php:36
msgid "Thursday"
-msgstr ""
+msgstr "बृहस्पतिवार"
#: js/config.php:37
msgid "Friday"
-msgstr ""
+msgstr "शुक्रवार"
#: js/config.php:38
msgid "Saturday"
-msgstr ""
+msgstr "शनिवार"
#: js/config.php:43
msgid "January"
@@ -318,7 +319,7 @@ msgstr ""
#: js/share.js:203
msgid "Send"
-msgstr ""
+msgstr "भेजें"
#: js/share.js:208
msgid "Set expiration date"
@@ -386,11 +387,11 @@ msgstr ""
#: js/share.js:670
msgid "Sending ..."
-msgstr ""
+msgstr "भेजा जा रहा है"
#: js/share.js:681
msgid "Email sent"
-msgstr ""
+msgstr "ईमेल भेज दिया गया है "
#: js/update.js:17
msgid ""
@@ -509,7 +510,7 @@ msgstr ""
#: templates/edit_categories_dialog.php:16
msgid "Add"
-msgstr ""
+msgstr "डाले"
#: templates/installation.php:24 templates/installation.php:31
#: templates/installation.php:38
diff --git a/l10n/hu_HU/core.po b/l10n/hu_HU/core.po
index 85a6b3a0d1d..b4bbc396445 100644
--- a/l10n/hu_HU/core.po
+++ b/l10n/hu_HU/core.po
@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:32-0400\n"
-"PO-Revision-Date: 2013-08-30 13:33+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Hungarian (Hungary) (http://www.transifex.com/projects/p/owncloud/language/hu_HU/)\n"
"MIME-Version: 1.0\n"
@@ -26,7 +26,7 @@ msgstr "%s megosztotta Önnel ezt: »%s«"
#: ajax/share.php:227
msgid "group"
-msgstr ""
+msgstr "csoport"
#: ajax/update.php:11
msgid "Turned on maintenance mode"
diff --git a/l10n/hu_HU/files.po b/l10n/hu_HU/files.po
index 48876d9d474..402bd723361 100644
--- a/l10n/hu_HU/files.po
+++ b/l10n/hu_HU/files.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:31-0400\n"
-"PO-Revision-Date: 2013-08-30 13:34+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Hungarian (Hungary) (http://www.transifex.com/projects/p/owncloud/language/hu_HU/)\n"
"MIME-Version: 1.0\n"
@@ -77,7 +77,7 @@ msgstr "Nincs elég szabad hely."
#: ajax/upload.php:109
msgid "Upload failed"
-msgstr ""
+msgstr "A feltöltés nem sikerült"
#: ajax/upload.php:127
msgid "Invalid directory."
@@ -112,7 +112,7 @@ msgstr "Az URL nem lehet semmi."
msgid "Invalid folder name. Usage of 'Shared' is reserved by ownCloud"
msgstr "Érvénytelen mappanév. A 'Shared' az ownCloud számára fenntartott elnevezés"
-#: js/file-upload.js:275 js/file-upload.js:291 js/files.js:511 js/files.js:549
+#: js/file-upload.js:276 js/file-upload.js:292 js/files.js:512 js/files.js:550
msgid "Error"
msgstr "Hiba"
@@ -128,57 +128,57 @@ msgstr "Végleges törlés"
msgid "Rename"
msgstr "Átnevezés"
-#: js/filelist.js:49 js/filelist.js:52 js/filelist.js:573
+#: js/filelist.js:50 js/filelist.js:53 js/filelist.js:575
msgid "Pending"
msgstr "Folyamatban"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "{new_name} already exists"
msgstr "{new_name} már létezik"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "replace"
msgstr "írjuk fölül"
-#: js/filelist.js:305
+#: js/filelist.js:307
msgid "suggest name"
msgstr "legyen más neve"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "cancel"
msgstr "mégse"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "replaced {new_name} with {old_name}"
msgstr "{new_name} fájlt kicseréltük ezzel: {old_name}"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "undo"
msgstr "visszavonás"
-#: js/filelist.js:422 js/filelist.js:488 js/files.js:580
+#: js/filelist.js:424 js/filelist.js:490 js/files.js:581
msgid "%n folder"
msgid_plural "%n folders"
msgstr[0] ""
msgstr[1] ""
-#: js/filelist.js:423 js/filelist.js:489 js/files.js:586
+#: js/filelist.js:425 js/filelist.js:491 js/files.js:587
msgid "%n file"
msgid_plural "%n files"
msgstr[0] ""
msgstr[1] ""
-#: js/filelist.js:430
+#: js/filelist.js:432
msgid "{dirs} and {files}"
msgstr ""
-#: js/filelist.js:561
+#: js/filelist.js:563
msgid "Uploading %n file"
msgid_plural "Uploading %n files"
msgstr[0] ""
msgstr[1] ""
-#: js/filelist.js:626
+#: js/filelist.js:628
msgid "files uploading"
msgstr "fájl töltődik föl"
@@ -216,15 +216,15 @@ msgid ""
"big."
msgstr "Készül a letöltendő állomány. Ez eltarthat egy ideig, ha nagyok a fájlok."
-#: js/files.js:562 templates/index.php:67
+#: js/files.js:563 templates/index.php:69
msgid "Name"
msgstr "Név"
-#: js/files.js:563 templates/index.php:78
+#: js/files.js:564 templates/index.php:81
msgid "Size"
msgstr "Méret"
-#: js/files.js:564 templates/index.php:80
+#: js/files.js:565 templates/index.php:83
msgid "Modified"
msgstr "Módosítva"
@@ -301,33 +301,33 @@ msgstr "Itt nincs írásjoga."
msgid "Nothing in here. Upload something!"
msgstr "Itt nincs semmi. Töltsön fel valamit!"
-#: templates/index.php:73
+#: templates/index.php:75
msgid "Download"
msgstr "Letöltés"
-#: templates/index.php:85 templates/index.php:86
+#: templates/index.php:88 templates/index.php:89
msgid "Unshare"
msgstr "A megosztás visszavonása"
-#: templates/index.php:91 templates/index.php:92
+#: templates/index.php:94 templates/index.php:95
msgid "Delete"
msgstr "Törlés"
-#: templates/index.php:105
+#: templates/index.php:108
msgid "Upload too large"
msgstr "A feltöltés túl nagy"
-#: templates/index.php:107
+#: templates/index.php:110
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "A feltöltendő állományok mérete meghaladja a kiszolgálón megengedett maximális méretet."
-#: templates/index.php:112
+#: templates/index.php:115
msgid "Files are being scanned, please wait."
msgstr "A fájllista ellenőrzése zajlik, kis türelmet!"
-#: templates/index.php:115
+#: templates/index.php:118
msgid "Current scanning"
msgstr "Ellenőrzés alatt"
diff --git a/l10n/hu_HU/files_encryption.po b/l10n/hu_HU/files_encryption.po
index 7f282b4ac56..b21350959cb 100644
--- a/l10n/hu_HU/files_encryption.po
+++ b/l10n/hu_HU/files_encryption.po
@@ -3,13 +3,14 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# blackc0de <complic@vipmail.hu>, 2013
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-21 08:10-0400\n"
-"PO-Revision-Date: 2013-08-19 19:20+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-09-03 07:42-0400\n"
+"PO-Revision-Date: 2013-09-01 19:30+0000\n"
+"Last-Translator: blackc0de <complic@vipmail.hu>\n"
"Language-Team: Hungarian (Hungary) (http://www.transifex.com/projects/p/owncloud/language/hu_HU/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -28,7 +29,7 @@ msgstr ""
#: ajax/adminrecovery.php:48
msgid "Recovery key successfully disabled"
-msgstr ""
+msgstr "Visszaállítási kulcs sikeresen kikapcsolva"
#: ajax/adminrecovery.php:53
msgid ""
@@ -37,11 +38,11 @@ msgstr ""
#: ajax/changeRecoveryPassword.php:49
msgid "Password successfully changed."
-msgstr ""
+msgstr "Jelszó sikeresen megváltoztatva."
#: ajax/changeRecoveryPassword.php:51
msgid "Could not change the password. Maybe the old password was not correct."
-msgstr ""
+msgstr "A jelszót nem lehet megváltoztatni! Lehet, hogy hibás volt a régi jelszó."
#: ajax/updatePrivateKeyPassword.php:51
msgid "Private key password successfully updated."
@@ -61,18 +62,18 @@ msgid ""
"files."
msgstr ""
-#: hooks/hooks.php:41
+#: hooks/hooks.php:51
msgid "Missing requirements."
msgstr ""
-#: hooks/hooks.php:42
+#: hooks/hooks.php:52
msgid ""
"Please make sure that PHP 5.3.3 or newer is installed and that OpenSSL "
"together with the PHP extension is enabled and configured properly. For now,"
" the encryption app has been disabled."
-msgstr ""
+msgstr "Kérlek győződj meg arról, hogy PHP 5.3.3 vagy annál frissebb van telepítve, valamint a PHP-hez tartozó OpenSSL bővítmény be van-e kapcsolva és az helyesen van-e konfigurálva! Ki lett kapcsolva ideiglenesen a titkosító alkalmazás."
-#: hooks/hooks.php:249
+#: hooks/hooks.php:250
msgid "Following users are not set up for encryption:"
msgstr ""
@@ -92,7 +93,7 @@ msgstr ""
#: templates/invalid_private_key.php:7
msgid "personal settings"
-msgstr ""
+msgstr "személyes beállítások"
#: templates/settings-admin.php:5 templates/settings-personal.php:4
msgid "Encryption"
@@ -109,11 +110,11 @@ msgstr ""
#: templates/settings-admin.php:21 templates/settings-personal.php:54
msgid "Enabled"
-msgstr ""
+msgstr "Bekapcsolva"
#: templates/settings-admin.php:29 templates/settings-personal.php:62
msgid "Disabled"
-msgstr ""
+msgstr "Kikapcsolva"
#: templates/settings-admin.php:34
msgid "Change recovery key password:"
@@ -129,7 +130,7 @@ msgstr ""
#: templates/settings-admin.php:53
msgid "Change Password"
-msgstr ""
+msgstr "Jelszó megváltoztatása"
#: templates/settings-personal.php:11
msgid "Your private key password no longer match your log-in password:"
@@ -147,19 +148,19 @@ msgstr ""
#: templates/settings-personal.php:24
msgid "Old log-in password"
-msgstr ""
+msgstr "Régi bejelentkezési jelszó"
#: templates/settings-personal.php:30
msgid "Current log-in password"
-msgstr ""
+msgstr "Jelenlegi bejelentkezési jelszó"
#: templates/settings-personal.php:35
msgid "Update Private Key Password"
-msgstr ""
+msgstr "Privát kulcs jelszó frissítése"
#: templates/settings-personal.php:45
msgid "Enable password recovery:"
-msgstr ""
+msgstr "Jelszó-visszaállítás bekapcsolása"
#: templates/settings-personal.php:47
msgid ""
diff --git a/l10n/id/core.po b/l10n/id/core.po
index 51d44b0f572..071ac769a96 100644
--- a/l10n/id/core.po
+++ b/l10n/id/core.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:32-0400\n"
-"PO-Revision-Date: 2013-08-30 13:33+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Indonesian (http://www.transifex.com/projects/p/owncloud/language/id/)\n"
"MIME-Version: 1.0\n"
@@ -24,7 +24,7 @@ msgstr ""
#: ajax/share.php:227
msgid "group"
-msgstr ""
+msgstr "grup"
#: ajax/update.php:11
msgid "Turned on maintenance mode"
diff --git a/l10n/it/core.po b/l10n/it/core.po
index 9a45ffabc38..e5cdd51793d 100644
--- a/l10n/it/core.po
+++ b/l10n/it/core.po
@@ -10,8 +10,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:32-0400\n"
-"PO-Revision-Date: 2013-08-30 13:33+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Italian (http://www.transifex.com/projects/p/owncloud/language/it/)\n"
"MIME-Version: 1.0\n"
@@ -27,7 +27,7 @@ msgstr "%s ha condiviso «%s» con te"
#: ajax/share.php:227
msgid "group"
-msgstr ""
+msgstr "gruppo"
#: ajax/update.php:11
msgid "Turned on maintenance mode"
diff --git a/l10n/it/files.po b/l10n/it/files.po
index 6b88648425a..58b33501e9e 100644
--- a/l10n/it/files.po
+++ b/l10n/it/files.po
@@ -9,9 +9,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:31-0400\n"
-"PO-Revision-Date: 2013-08-30 13:34+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-09-01 15:54+0000\n"
+"Last-Translator: Vincenzo Reale <vinx.reale@gmail.com>\n"
"Language-Team: Italian (http://www.transifex.com/projects/p/owncloud/language/it/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -78,7 +78,7 @@ msgstr "Spazio di archiviazione insufficiente"
#: ajax/upload.php:109
msgid "Upload failed"
-msgstr ""
+msgstr "Caricamento non riuscito"
#: ajax/upload.php:127
msgid "Invalid directory."
@@ -113,7 +113,7 @@ msgstr "L'URL non può essere vuoto."
msgid "Invalid folder name. Usage of 'Shared' is reserved by ownCloud"
msgstr "Nome della cartella non valido. L'uso di 'Shared' è riservato a ownCloud"
-#: js/file-upload.js:275 js/file-upload.js:291 js/files.js:511 js/files.js:549
+#: js/file-upload.js:276 js/file-upload.js:292 js/files.js:512 js/files.js:550
msgid "Error"
msgstr "Errore"
@@ -129,57 +129,57 @@ msgstr "Elimina definitivamente"
msgid "Rename"
msgstr "Rinomina"
-#: js/filelist.js:49 js/filelist.js:52 js/filelist.js:573
+#: js/filelist.js:50 js/filelist.js:53 js/filelist.js:575
msgid "Pending"
msgstr "In corso"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "{new_name} already exists"
msgstr "{new_name} esiste già"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "replace"
msgstr "sostituisci"
-#: js/filelist.js:305
+#: js/filelist.js:307
msgid "suggest name"
msgstr "suggerisci nome"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "cancel"
msgstr "annulla"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "replaced {new_name} with {old_name}"
msgstr "sostituito {new_name} con {old_name}"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "undo"
msgstr "annulla"
-#: js/filelist.js:422 js/filelist.js:488 js/files.js:580
+#: js/filelist.js:424 js/filelist.js:490 js/files.js:581
msgid "%n folder"
msgid_plural "%n folders"
msgstr[0] "%n cartella"
msgstr[1] "%n cartelle"
-#: js/filelist.js:423 js/filelist.js:489 js/files.js:586
+#: js/filelist.js:425 js/filelist.js:491 js/files.js:587
msgid "%n file"
msgid_plural "%n files"
msgstr[0] "%n file"
msgstr[1] "%n file"
-#: js/filelist.js:430
+#: js/filelist.js:432
msgid "{dirs} and {files}"
-msgstr ""
+msgstr "{dirs} e {files}"
-#: js/filelist.js:561
+#: js/filelist.js:563
msgid "Uploading %n file"
msgid_plural "Uploading %n files"
msgstr[0] "Caricamento di %n file in corso"
msgstr[1] "Caricamento di %n file in corso"
-#: js/filelist.js:626
+#: js/filelist.js:628
msgid "files uploading"
msgstr "caricamento file"
@@ -217,15 +217,15 @@ msgid ""
"big."
msgstr "Il tuo scaricamento è in fase di preparazione. Ciò potrebbe richiedere del tempo se i file sono grandi."
-#: js/files.js:562 templates/index.php:67
+#: js/files.js:563 templates/index.php:69
msgid "Name"
msgstr "Nome"
-#: js/files.js:563 templates/index.php:78
+#: js/files.js:564 templates/index.php:81
msgid "Size"
msgstr "Dimensione"
-#: js/files.js:564 templates/index.php:80
+#: js/files.js:565 templates/index.php:83
msgid "Modified"
msgstr "Modificato"
@@ -302,33 +302,33 @@ msgstr "Qui non hai i permessi di scrittura."
msgid "Nothing in here. Upload something!"
msgstr "Non c'è niente qui. Carica qualcosa!"
-#: templates/index.php:73
+#: templates/index.php:75
msgid "Download"
msgstr "Scarica"
-#: templates/index.php:85 templates/index.php:86
+#: templates/index.php:88 templates/index.php:89
msgid "Unshare"
msgstr "Rimuovi condivisione"
-#: templates/index.php:91 templates/index.php:92
+#: templates/index.php:94 templates/index.php:95
msgid "Delete"
msgstr "Elimina"
-#: templates/index.php:105
+#: templates/index.php:108
msgid "Upload too large"
msgstr "Caricamento troppo grande"
-#: templates/index.php:107
+#: templates/index.php:110
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "I file che stai provando a caricare superano la dimensione massima consentita su questo server."
-#: templates/index.php:112
+#: templates/index.php:115
msgid "Files are being scanned, please wait."
msgstr "Scansione dei file in corso, attendi"
-#: templates/index.php:115
+#: templates/index.php:118
msgid "Current scanning"
msgstr "Scansione corrente"
diff --git a/l10n/it/lib.po b/l10n/it/lib.po
index e119006c71e..fb5632409a4 100644
--- a/l10n/it/lib.po
+++ b/l10n/it/lib.po
@@ -4,14 +4,15 @@
#
# Translators:
# Francesco Capuano <francesco@capu.it>, 2013
+# polxmod <paolo.velati@gmail.com>, 2013
# Vincenzo Reale <vinx.reale@gmail.com>, 2013
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:33-0400\n"
-"PO-Revision-Date: 2013-08-29 19:30+0000\n"
-"Last-Translator: Vincenzo Reale <vinx.reale@gmail.com>\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-31 13:30+0000\n"
+"Last-Translator: polxmod <paolo.velati@gmail.com>\n"
"Language-Team: Italian (http://www.transifex.com/projects/p/owncloud/language/it/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -125,7 +126,7 @@ msgstr "L'applicazione non può essere installata poiché non è compatibile con
msgid ""
"App can't be installed because it contains the <shipped>true</shipped> tag "
"which is not allowed for non shipped apps"
-msgstr ""
+msgstr "L'applicazione non può essere installata poiché contiene il tag <shipped>true<shipped> che non è permesso alle applicazioni non shipped"
#: installer.php:150
msgid ""
@@ -266,51 +267,51 @@ msgstr "Il tuo server web non è configurato correttamente per consentire la sin
msgid "Please double check the <a href='%s'>installation guides</a>."
msgstr "Leggi attentamente le <a href='%s'>guide d'installazione</a>."
-#: template/functions.php:80
+#: template/functions.php:96
msgid "seconds ago"
msgstr "secondi fa"
-#: template/functions.php:81
+#: template/functions.php:97
msgid "%n minute ago"
msgid_plural "%n minutes ago"
msgstr[0] "%n minuto fa"
msgstr[1] "%n minuti fa"
-#: template/functions.php:82
+#: template/functions.php:98
msgid "%n hour ago"
msgid_plural "%n hours ago"
msgstr[0] "%n ora fa"
msgstr[1] "%n ore fa"
-#: template/functions.php:83
+#: template/functions.php:99
msgid "today"
msgstr "oggi"
-#: template/functions.php:84
+#: template/functions.php:100
msgid "yesterday"
msgstr "ieri"
-#: template/functions.php:85
+#: template/functions.php:101
msgid "%n day go"
msgid_plural "%n days ago"
msgstr[0] "%n giorno fa"
msgstr[1] "%n giorni fa"
-#: template/functions.php:86
+#: template/functions.php:102
msgid "last month"
msgstr "mese scorso"
-#: template/functions.php:87
+#: template/functions.php:103
msgid "%n month ago"
msgid_plural "%n months ago"
msgstr[0] "%n mese fa"
msgstr[1] "%n mesi fa"
-#: template/functions.php:88
+#: template/functions.php:104
msgid "last year"
msgstr "anno scorso"
-#: template/functions.php:89
+#: template/functions.php:105
msgid "years ago"
msgstr "anni fa"
diff --git a/l10n/it/settings.po b/l10n/it/settings.po
index 57cb219901f..2ef86dac439 100644
--- a/l10n/it/settings.po
+++ b/l10n/it/settings.po
@@ -5,14 +5,15 @@
# Translators:
# Francesco Apruzzese <cescoap@gmail.com>, 2013
# idetao <marcxosm@gmail.com>, 2013
+# polxmod <paolo.velati@gmail.com>, 2013
# Vincenzo Reale <vinx.reale@gmail.com>, 2013
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-25 19:18-0400\n"
-"PO-Revision-Date: 2013-08-25 23:18+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-09-01 15:53+0000\n"
+"Last-Translator: Vincenzo Reale <vinx.reale@gmail.com>\n"
"Language-Team: Italian (http://www.transifex.com/projects/p/owncloud/language/it/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -87,47 +88,47 @@ msgstr "Impossibile rimuovere l'utente dal gruppo %s"
msgid "Couldn't update app."
msgstr "Impossibile aggiornate l'applicazione."
-#: js/apps.js:35
+#: js/apps.js:43
msgid "Update to {appversion}"
msgstr "Aggiorna a {appversion}"
-#: js/apps.js:41 js/apps.js:74 js/apps.js:100
+#: js/apps.js:49 js/apps.js:82 js/apps.js:108
msgid "Disable"
msgstr "Disabilita"
-#: js/apps.js:41 js/apps.js:81 js/apps.js:94 js/apps.js:109
+#: js/apps.js:49 js/apps.js:89 js/apps.js:102 js/apps.js:117
msgid "Enable"
msgstr "Abilita"
-#: js/apps.js:63
+#: js/apps.js:71
msgid "Please wait...."
msgstr "Attendere..."
-#: js/apps.js:71 js/apps.js:72 js/apps.js:92
+#: js/apps.js:79 js/apps.js:80 js/apps.js:100
msgid "Error while disabling app"
-msgstr ""
+msgstr "Errore durante la disattivazione"
-#: js/apps.js:91 js/apps.js:104 js/apps.js:105
+#: js/apps.js:99 js/apps.js:112 js/apps.js:113
msgid "Error while enabling app"
-msgstr ""
+msgstr "Errore durante l'attivazione"
-#: js/apps.js:115
+#: js/apps.js:123
msgid "Updating...."
msgstr "Aggiornamento in corso..."
-#: js/apps.js:118
+#: js/apps.js:126
msgid "Error while updating app"
msgstr "Errore durante l'aggiornamento"
-#: js/apps.js:118
+#: js/apps.js:126
msgid "Error"
msgstr "Errore"
-#: js/apps.js:119 templates/apps.php:43
+#: js/apps.js:127 templates/apps.php:43
msgid "Update"
msgstr "Aggiorna"
-#: js/apps.js:122
+#: js/apps.js:130
msgid "Updated"
msgstr "Aggiornato"
diff --git a/l10n/ja_JP/core.po b/l10n/ja_JP/core.po
index 7effb5774b6..38ce1ffd25b 100644
--- a/l10n/ja_JP/core.po
+++ b/l10n/ja_JP/core.po
@@ -11,9 +11,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:32-0400\n"
-"PO-Revision-Date: 2013-08-30 13:33+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-31 09:50+0000\n"
+"Last-Translator: plazmism <gomidori@live.jp>\n"
"Language-Team: Japanese (Japan) (http://www.transifex.com/projects/p/owncloud/language/ja_JP/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -28,32 +28,32 @@ msgstr "%sが あなたと »%s«を共有しました"
#: ajax/share.php:227
msgid "group"
-msgstr ""
+msgstr "グループ"
#: ajax/update.php:11
msgid "Turned on maintenance mode"
-msgstr ""
+msgstr "メンテナンスモードがオンになりました"
#: ajax/update.php:14
msgid "Turned off maintenance mode"
-msgstr ""
+msgstr "メンテナンスモードがオフになりました"
#: ajax/update.php:17
msgid "Updated database"
-msgstr ""
+msgstr "データベース更新完了"
#: ajax/update.php:20
msgid "Updating filecache, this may take really long..."
-msgstr ""
+msgstr "ファイルキャッシュを更新しています、しばらく掛かる恐れがあります..."
#: ajax/update.php:23
msgid "Updated filecache"
-msgstr ""
+msgstr "ファイルキャッシュ更新完了"
#: ajax/update.php:26
#, php-format
msgid "... %d%% done ..."
-msgstr ""
+msgstr "... %d%% 完了 ..."
#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25
msgid "Category type not provided."
diff --git a/l10n/ja_JP/files.po b/l10n/ja_JP/files.po
index b8591173f30..249beb05f61 100644
--- a/l10n/ja_JP/files.po
+++ b/l10n/ja_JP/files.po
@@ -12,9 +12,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:31-0400\n"
-"PO-Revision-Date: 2013-08-30 13:34+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-31 00:40+0000\n"
+"Last-Translator: tt yn <tetuyano+transi@gmail.com>\n"
"Language-Team: Japanese (Japan) (http://www.transifex.com/projects/p/owncloud/language/ja_JP/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -81,7 +81,7 @@ msgstr "ストレージに十分な空き容量がありません"
#: ajax/upload.php:109
msgid "Upload failed"
-msgstr ""
+msgstr "アップロードに失敗"
#: ajax/upload.php:127
msgid "Invalid directory."
@@ -116,7 +116,7 @@ msgstr "URLは空にできません。"
msgid "Invalid folder name. Usage of 'Shared' is reserved by ownCloud"
msgstr "無効なフォルダ名です。'Shared' の利用はownCloudで予約済みです"
-#: js/file-upload.js:275 js/file-upload.js:291 js/files.js:511 js/files.js:549
+#: js/file-upload.js:276 js/file-upload.js:292 js/files.js:512 js/files.js:550
msgid "Error"
msgstr "エラー"
@@ -132,54 +132,54 @@ msgstr "完全に削除する"
msgid "Rename"
msgstr "名前の変更"
-#: js/filelist.js:49 js/filelist.js:52 js/filelist.js:573
+#: js/filelist.js:50 js/filelist.js:53 js/filelist.js:575
msgid "Pending"
msgstr "中断"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "{new_name} already exists"
msgstr "{new_name} はすでに存在しています"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "replace"
msgstr "置き換え"
-#: js/filelist.js:305
+#: js/filelist.js:307
msgid "suggest name"
msgstr "推奨名称"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "cancel"
msgstr "キャンセル"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "replaced {new_name} with {old_name}"
msgstr "{old_name} を {new_name} に置換"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "undo"
msgstr "元に戻す"
-#: js/filelist.js:422 js/filelist.js:488 js/files.js:580
+#: js/filelist.js:424 js/filelist.js:490 js/files.js:581
msgid "%n folder"
msgid_plural "%n folders"
msgstr[0] "%n個のフォルダ"
-#: js/filelist.js:423 js/filelist.js:489 js/files.js:586
+#: js/filelist.js:425 js/filelist.js:491 js/files.js:587
msgid "%n file"
msgid_plural "%n files"
msgstr[0] "%n個のファイル"
-#: js/filelist.js:430
+#: js/filelist.js:432
msgid "{dirs} and {files}"
-msgstr ""
+msgstr "{dirs} と {files}"
-#: js/filelist.js:561
+#: js/filelist.js:563
msgid "Uploading %n file"
msgid_plural "Uploading %n files"
msgstr[0] "%n 個のファイルをアップロード中"
-#: js/filelist.js:626
+#: js/filelist.js:628
msgid "files uploading"
msgstr "ファイルをアップロード中"
@@ -217,15 +217,15 @@ msgid ""
"big."
msgstr "ダウンロードの準備中です。ファイルサイズが大きい場合は少し時間がかかるかもしれません。"
-#: js/files.js:562 templates/index.php:67
+#: js/files.js:563 templates/index.php:69
msgid "Name"
msgstr "名前"
-#: js/files.js:563 templates/index.php:78
+#: js/files.js:564 templates/index.php:81
msgid "Size"
msgstr "サイズ"
-#: js/files.js:564 templates/index.php:80
+#: js/files.js:565 templates/index.php:83
msgid "Modified"
msgstr "変更"
@@ -302,33 +302,33 @@ msgstr "あなたには書き込み権限がありません。"
msgid "Nothing in here. Upload something!"
msgstr "ここには何もありません。何かアップロードしてください。"
-#: templates/index.php:73
+#: templates/index.php:75
msgid "Download"
msgstr "ダウンロード"
-#: templates/index.php:85 templates/index.php:86
+#: templates/index.php:88 templates/index.php:89
msgid "Unshare"
msgstr "共有解除"
-#: templates/index.php:91 templates/index.php:92
+#: templates/index.php:94 templates/index.php:95
msgid "Delete"
msgstr "削除"
-#: templates/index.php:105
+#: templates/index.php:108
msgid "Upload too large"
msgstr "アップロードには大きすぎます。"
-#: templates/index.php:107
+#: templates/index.php:110
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "アップロードしようとしているファイルは、サーバで規定された最大サイズを超えています。"
-#: templates/index.php:112
+#: templates/index.php:115
msgid "Files are being scanned, please wait."
msgstr "ファイルをスキャンしています、しばらくお待ちください。"
-#: templates/index.php:115
+#: templates/index.php:118
msgid "Current scanning"
msgstr "スキャン中"
diff --git a/l10n/ja_JP/lib.po b/l10n/ja_JP/lib.po
index 3d14cbeb36d..78f82700487 100644
--- a/l10n/ja_JP/lib.po
+++ b/l10n/ja_JP/lib.po
@@ -9,9 +9,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-25 19:18-0400\n"
-"PO-Revision-Date: 2013-08-25 23:18+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-31 01:10+0000\n"
+"Last-Translator: tt yn <tetuyano+transi@gmail.com>\n"
"Language-Team: Japanese (Japan) (http://www.transifex.com/projects/p/owncloud/language/ja_JP/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -24,11 +24,11 @@ msgstr ""
msgid ""
"App \"%s\" can't be installed because it is not compatible with this version"
" of ownCloud."
-msgstr ""
+msgstr " \"%s\" アプリは、このバージョンのownCloudと互換性がない為、インストールできません。"
#: app.php:250
msgid "No app name specified"
-msgstr ""
+msgstr "アプリ名が未指定"
#: app.php:361
msgid "Help"
@@ -88,38 +88,38 @@ msgstr "ファイルは、小さいファイルに分割されてダウンロー
#: installer.php:63
msgid "No source specified when installing app"
-msgstr ""
+msgstr "アプリインストール時のソースが未指定"
#: installer.php:70
msgid "No href specified when installing app from http"
-msgstr ""
+msgstr "アプリインストール時のhttpの URL が未指定"
#: installer.php:75
msgid "No path specified when installing app from local file"
-msgstr ""
+msgstr "アプリインストール時のローカルファイルのパスが未指定"
#: installer.php:89
#, php-format
msgid "Archives of type %s are not supported"
-msgstr ""
+msgstr "\"%s\"タイプのアーカイブ形式は未サポート"
#: installer.php:103
msgid "Failed to open archive when installing app"
-msgstr ""
+msgstr "アプリをインストール中にアーカイブファイルを開けませんでした。"
#: installer.php:123
msgid "App does not provide an info.xml file"
-msgstr ""
+msgstr "アプリにinfo.xmlファイルが入っていません"
#: installer.php:129
msgid "App can't be installed because of not allowed code in the App"
-msgstr ""
+msgstr "アプリで許可されないコードが入っているのが原因でアプリがインストールできません"
#: installer.php:138
msgid ""
"App can't be installed because it is not compatible with this version of "
"ownCloud"
-msgstr ""
+msgstr "アプリは、このバージョンのownCloudと互換性がない為、インストールできません。"
#: installer.php:144
msgid ""
@@ -131,16 +131,16 @@ msgstr ""
msgid ""
"App can't be installed because the version in info.xml/version is not the "
"same as the version reported from the app store"
-msgstr ""
+msgstr "info.xml/versionのバージョンがアプリストアのバージョンと合っていない為、アプリはインストールされません"
#: installer.php:160
msgid "App directory already exists"
-msgstr ""
+msgstr "アプリディレクトリは既に存在します"
#: installer.php:173
#, php-format
msgid "Can't create app folder. Please fix permissions. %s"
-msgstr ""
+msgstr "アプリフォルダを作成出来ませんでした。%s のパーミッションを修正してください。"
#: json.php:28
msgid "Application is not enabled"
@@ -266,47 +266,47 @@ msgstr "WebDAVインタフェースが動作していないと考えられるた
msgid "Please double check the <a href='%s'>installation guides</a>."
msgstr "<a href='%s'>インストールガイド</a>をよく確認してください。"
-#: template/functions.php:80
+#: template/functions.php:96
msgid "seconds ago"
msgstr "数秒前"
-#: template/functions.php:81
+#: template/functions.php:97
msgid "%n minute ago"
msgid_plural "%n minutes ago"
msgstr[0] "%n 分前"
-#: template/functions.php:82
+#: template/functions.php:98
msgid "%n hour ago"
msgid_plural "%n hours ago"
msgstr[0] "%n 時間後"
-#: template/functions.php:83
+#: template/functions.php:99
msgid "today"
msgstr "今日"
-#: template/functions.php:84
+#: template/functions.php:100
msgid "yesterday"
msgstr "昨日"
-#: template/functions.php:85
+#: template/functions.php:101
msgid "%n day go"
msgid_plural "%n days ago"
msgstr[0] "%n 日後"
-#: template/functions.php:86
+#: template/functions.php:102
msgid "last month"
msgstr "一月前"
-#: template/functions.php:87
+#: template/functions.php:103
msgid "%n month ago"
msgid_plural "%n months ago"
msgstr[0] "%n カ月後"
-#: template/functions.php:88
+#: template/functions.php:104
msgid "last year"
msgstr "一年前"
-#: template/functions.php:89
+#: template/functions.php:105
msgid "years ago"
msgstr "年前"
diff --git a/l10n/ja_JP/settings.po b/l10n/ja_JP/settings.po
index f61f73ba228..e265ca7d475 100644
--- a/l10n/ja_JP/settings.po
+++ b/l10n/ja_JP/settings.po
@@ -10,9 +10,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-25 19:18-0400\n"
-"PO-Revision-Date: 2013-08-25 23:18+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-31 00:40+0000\n"
+"Last-Translator: tt yn <tetuyano+transi@gmail.com>\n"
"Language-Team: Japanese (Japan) (http://www.transifex.com/projects/p/owncloud/language/ja_JP/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -87,47 +87,47 @@ msgstr "ユーザをグループ %s から削除できません"
msgid "Couldn't update app."
msgstr "アプリを更新出来ませんでした。"
-#: js/apps.js:35
+#: js/apps.js:43
msgid "Update to {appversion}"
msgstr "{appversion} に更新"
-#: js/apps.js:41 js/apps.js:74 js/apps.js:100
+#: js/apps.js:49 js/apps.js:82 js/apps.js:108
msgid "Disable"
msgstr "無効"
-#: js/apps.js:41 js/apps.js:81 js/apps.js:94 js/apps.js:109
+#: js/apps.js:49 js/apps.js:89 js/apps.js:102 js/apps.js:117
msgid "Enable"
msgstr "有効化"
-#: js/apps.js:63
+#: js/apps.js:71
msgid "Please wait...."
msgstr "しばらくお待ちください。"
-#: js/apps.js:71 js/apps.js:72 js/apps.js:92
+#: js/apps.js:79 js/apps.js:80 js/apps.js:100
msgid "Error while disabling app"
-msgstr ""
+msgstr "アプリ無効化中にエラーが発生"
-#: js/apps.js:91 js/apps.js:104 js/apps.js:105
+#: js/apps.js:99 js/apps.js:112 js/apps.js:113
msgid "Error while enabling app"
-msgstr ""
+msgstr "アプリ有効化中にエラーが発生"
-#: js/apps.js:115
+#: js/apps.js:123
msgid "Updating...."
msgstr "更新中...."
-#: js/apps.js:118
+#: js/apps.js:126
msgid "Error while updating app"
msgstr "アプリの更新中にエラーが発生"
-#: js/apps.js:118
+#: js/apps.js:126
msgid "Error"
msgstr "エラー"
-#: js/apps.js:119 templates/apps.php:43
+#: js/apps.js:127 templates/apps.php:43
msgid "Update"
msgstr "更新"
-#: js/apps.js:122
+#: js/apps.js:130
msgid "Updated"
msgstr "更新済み"
diff --git a/l10n/ka_GE/core.po b/l10n/ka_GE/core.po
index 5611a467957..8cd45561ae0 100644
--- a/l10n/ka_GE/core.po
+++ b/l10n/ka_GE/core.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:32-0400\n"
-"PO-Revision-Date: 2013-08-30 13:33+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Georgian (Georgia) (http://www.transifex.com/projects/p/owncloud/language/ka_GE/)\n"
"MIME-Version: 1.0\n"
@@ -24,7 +24,7 @@ msgstr ""
#: ajax/share.php:227
msgid "group"
-msgstr ""
+msgstr "ჯგუფი"
#: ajax/update.php:11
msgid "Turned on maintenance mode"
diff --git a/l10n/ka_GE/files.po b/l10n/ka_GE/files.po
index b162233b9c0..36a1787cd34 100644
--- a/l10n/ka_GE/files.po
+++ b/l10n/ka_GE/files.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:31-0400\n"
-"PO-Revision-Date: 2013-08-30 13:34+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Georgian (Georgia) (http://www.transifex.com/projects/p/owncloud/language/ka_GE/)\n"
"MIME-Version: 1.0\n"
@@ -76,7 +76,7 @@ msgstr "საცავში საკმარისი ადგილი ა
#: ajax/upload.php:109
msgid "Upload failed"
-msgstr ""
+msgstr "ატვირთვა ვერ განხორციელდა"
#: ajax/upload.php:127
msgid "Invalid directory."
@@ -111,7 +111,7 @@ msgstr "URL არ შეიძლება იყოს ცარიელი."
msgid "Invalid folder name. Usage of 'Shared' is reserved by ownCloud"
msgstr ""
-#: js/file-upload.js:275 js/file-upload.js:291 js/files.js:511 js/files.js:549
+#: js/file-upload.js:276 js/file-upload.js:292 js/files.js:512 js/files.js:550
msgid "Error"
msgstr "შეცდომა"
@@ -127,54 +127,54 @@ msgstr "სრულად წაშლა"
msgid "Rename"
msgstr "გადარქმევა"
-#: js/filelist.js:49 js/filelist.js:52 js/filelist.js:573
+#: js/filelist.js:50 js/filelist.js:53 js/filelist.js:575
msgid "Pending"
msgstr "მოცდის რეჟიმში"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "{new_name} already exists"
msgstr "{new_name} უკვე არსებობს"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "replace"
msgstr "შეცვლა"
-#: js/filelist.js:305
+#: js/filelist.js:307
msgid "suggest name"
msgstr "სახელის შემოთავაზება"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "cancel"
msgstr "უარყოფა"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "replaced {new_name} with {old_name}"
msgstr "{new_name} შეცვლილია {old_name}–ით"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "undo"
msgstr "დაბრუნება"
-#: js/filelist.js:422 js/filelist.js:488 js/files.js:580
+#: js/filelist.js:424 js/filelist.js:490 js/files.js:581
msgid "%n folder"
msgid_plural "%n folders"
msgstr[0] ""
-#: js/filelist.js:423 js/filelist.js:489 js/files.js:586
+#: js/filelist.js:425 js/filelist.js:491 js/files.js:587
msgid "%n file"
msgid_plural "%n files"
msgstr[0] ""
-#: js/filelist.js:430
+#: js/filelist.js:432
msgid "{dirs} and {files}"
msgstr ""
-#: js/filelist.js:561
+#: js/filelist.js:563
msgid "Uploading %n file"
msgid_plural "Uploading %n files"
msgstr[0] ""
-#: js/filelist.js:626
+#: js/filelist.js:628
msgid "files uploading"
msgstr "ფაილები იტვირთება"
@@ -212,15 +212,15 @@ msgid ""
"big."
msgstr "გადმოწერის მოთხოვნა მუშავდება. ის მოითხოვს გარკვეულ დროს რაგდან ფაილები არის დიდი ზომის."
-#: js/files.js:562 templates/index.php:67
+#: js/files.js:563 templates/index.php:69
msgid "Name"
msgstr "სახელი"
-#: js/files.js:563 templates/index.php:78
+#: js/files.js:564 templates/index.php:81
msgid "Size"
msgstr "ზომა"
-#: js/files.js:564 templates/index.php:80
+#: js/files.js:565 templates/index.php:83
msgid "Modified"
msgstr "შეცვლილია"
@@ -297,33 +297,33 @@ msgstr "თქვენ არ გაქვთ ჩაწერის უფლ
msgid "Nothing in here. Upload something!"
msgstr "აქ არაფერი არ არის. ატვირთე რამე!"
-#: templates/index.php:73
+#: templates/index.php:75
msgid "Download"
msgstr "ჩამოტვირთვა"
-#: templates/index.php:85 templates/index.php:86
+#: templates/index.php:88 templates/index.php:89
msgid "Unshare"
msgstr "გაუზიარებადი"
-#: templates/index.php:91 templates/index.php:92
+#: templates/index.php:94 templates/index.php:95
msgid "Delete"
msgstr "წაშლა"
-#: templates/index.php:105
+#: templates/index.php:108
msgid "Upload too large"
msgstr "ასატვირთი ფაილი ძალიან დიდია"
-#: templates/index.php:107
+#: templates/index.php:110
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "ფაილის ზომა რომლის ატვირთვასაც თქვენ აპირებთ, აჭარბებს სერვერზე დაშვებულ მაქსიმუმს."
-#: templates/index.php:112
+#: templates/index.php:115
msgid "Files are being scanned, please wait."
msgstr "მიმდინარეობს ფაილების სკანირება, გთხოვთ დაელოდოთ."
-#: templates/index.php:115
+#: templates/index.php:118
msgid "Current scanning"
msgstr "მიმდინარე სკანირება"
diff --git a/l10n/ko/core.po b/l10n/ko/core.po
index 414603b41db..5e7d67575a2 100644
--- a/l10n/ko/core.po
+++ b/l10n/ko/core.po
@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:32-0400\n"
-"PO-Revision-Date: 2013-08-30 13:33+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Korean (http://www.transifex.com/projects/p/owncloud/language/ko/)\n"
"MIME-Version: 1.0\n"
@@ -26,7 +26,7 @@ msgstr ""
#: ajax/share.php:227
msgid "group"
-msgstr ""
+msgstr "그룹"
#: ajax/update.php:11
msgid "Turned on maintenance mode"
diff --git a/l10n/ko/files.po b/l10n/ko/files.po
index f7c84013950..f97b6b2dd26 100644
--- a/l10n/ko/files.po
+++ b/l10n/ko/files.po
@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:31-0400\n"
-"PO-Revision-Date: 2013-08-30 13:34+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Korean (http://www.transifex.com/projects/p/owncloud/language/ko/)\n"
"MIME-Version: 1.0\n"
@@ -78,7 +78,7 @@ msgstr "저장소가 용량이 충분하지 않습니다."
#: ajax/upload.php:109
msgid "Upload failed"
-msgstr ""
+msgstr "업로드 실패"
#: ajax/upload.php:127
msgid "Invalid directory."
@@ -113,7 +113,7 @@ msgstr "URL을 입력해야 합니다."
msgid "Invalid folder name. Usage of 'Shared' is reserved by ownCloud"
msgstr ""
-#: js/file-upload.js:275 js/file-upload.js:291 js/files.js:511 js/files.js:549
+#: js/file-upload.js:276 js/file-upload.js:292 js/files.js:512 js/files.js:550
msgid "Error"
msgstr "오류"
@@ -129,54 +129,54 @@ msgstr "영원히 삭제"
msgid "Rename"
msgstr "이름 바꾸기"
-#: js/filelist.js:49 js/filelist.js:52 js/filelist.js:573
+#: js/filelist.js:50 js/filelist.js:53 js/filelist.js:575
msgid "Pending"
msgstr "대기 중"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "{new_name} already exists"
msgstr "{new_name}이(가) 이미 존재함"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "replace"
msgstr "바꾸기"
-#: js/filelist.js:305
+#: js/filelist.js:307
msgid "suggest name"
msgstr "이름 제안"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "cancel"
msgstr "취소"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "replaced {new_name} with {old_name}"
msgstr "{old_name}이(가) {new_name}(으)로 대체됨"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "undo"
msgstr "되돌리기"
-#: js/filelist.js:422 js/filelist.js:488 js/files.js:580
+#: js/filelist.js:424 js/filelist.js:490 js/files.js:581
msgid "%n folder"
msgid_plural "%n folders"
msgstr[0] ""
-#: js/filelist.js:423 js/filelist.js:489 js/files.js:586
+#: js/filelist.js:425 js/filelist.js:491 js/files.js:587
msgid "%n file"
msgid_plural "%n files"
msgstr[0] ""
-#: js/filelist.js:430
+#: js/filelist.js:432
msgid "{dirs} and {files}"
msgstr ""
-#: js/filelist.js:561
+#: js/filelist.js:563
msgid "Uploading %n file"
msgid_plural "Uploading %n files"
msgstr[0] ""
-#: js/filelist.js:626
+#: js/filelist.js:628
msgid "files uploading"
msgstr "파일 업로드중"
@@ -214,15 +214,15 @@ msgid ""
"big."
msgstr "다운로드가 준비 중입니다. 파일 크기가 크다면 시간이 오래 걸릴 수도 있습니다."
-#: js/files.js:562 templates/index.php:67
+#: js/files.js:563 templates/index.php:69
msgid "Name"
msgstr "이름"
-#: js/files.js:563 templates/index.php:78
+#: js/files.js:564 templates/index.php:81
msgid "Size"
msgstr "크기"
-#: js/files.js:564 templates/index.php:80
+#: js/files.js:565 templates/index.php:83
msgid "Modified"
msgstr "수정됨"
@@ -299,33 +299,33 @@ msgstr "당신은 여기에 쓰기를 할 수 있는 권한이 없습니다."
msgid "Nothing in here. Upload something!"
msgstr "내용이 없습니다. 업로드할 수 있습니다!"
-#: templates/index.php:73
+#: templates/index.php:75
msgid "Download"
msgstr "다운로드"
-#: templates/index.php:85 templates/index.php:86
+#: templates/index.php:88 templates/index.php:89
msgid "Unshare"
msgstr "공유 해제"
-#: templates/index.php:91 templates/index.php:92
+#: templates/index.php:94 templates/index.php:95
msgid "Delete"
msgstr "삭제"
-#: templates/index.php:105
+#: templates/index.php:108
msgid "Upload too large"
msgstr "업로드한 파일이 너무 큼"
-#: templates/index.php:107
+#: templates/index.php:110
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "이 파일이 서버에서 허용하는 최대 업로드 가능 용량보다 큽니다."
-#: templates/index.php:112
+#: templates/index.php:115
msgid "Files are being scanned, please wait."
msgstr "파일을 검색하고 있습니다. 기다려 주십시오."
-#: templates/index.php:115
+#: templates/index.php:118
msgid "Current scanning"
msgstr "현재 검색"
diff --git a/l10n/lb/core.po b/l10n/lb/core.po
index 6acfd95e044..73f9dacaf60 100644
--- a/l10n/lb/core.po
+++ b/l10n/lb/core.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:32-0400\n"
-"PO-Revision-Date: 2013-08-30 13:33+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Luxembourgish (http://www.transifex.com/projects/p/owncloud/language/lb/)\n"
"MIME-Version: 1.0\n"
@@ -25,7 +25,7 @@ msgstr "Den/D' %s huet »%s« mat dir gedeelt"
#: ajax/share.php:227
msgid "group"
-msgstr ""
+msgstr "Grupp"
#: ajax/update.php:11
msgid "Turned on maintenance mode"
diff --git a/l10n/lt_LT/core.po b/l10n/lt_LT/core.po
index 493b46ace2c..6f77486ddf4 100644
--- a/l10n/lt_LT/core.po
+++ b/l10n/lt_LT/core.po
@@ -10,8 +10,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:32-0400\n"
-"PO-Revision-Date: 2013-08-30 13:33+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Lithuanian (Lithuania) (http://www.transifex.com/projects/p/owncloud/language/lt_LT/)\n"
"MIME-Version: 1.0\n"
@@ -27,7 +27,7 @@ msgstr "%s pasidalino »%s« su tavimi"
#: ajax/share.php:227
msgid "group"
-msgstr ""
+msgstr "grupė"
#: ajax/update.php:11
msgid "Turned on maintenance mode"
diff --git a/l10n/lt_LT/files.po b/l10n/lt_LT/files.po
index 6fe0fe92913..af72860fc58 100644
--- a/l10n/lt_LT/files.po
+++ b/l10n/lt_LT/files.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:31-0400\n"
-"PO-Revision-Date: 2013-08-30 13:34+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Lithuanian (Lithuania) (http://www.transifex.com/projects/p/owncloud/language/lt_LT/)\n"
"MIME-Version: 1.0\n"
@@ -77,7 +77,7 @@ msgstr "Nepakanka vietos serveryje"
#: ajax/upload.php:109
msgid "Upload failed"
-msgstr ""
+msgstr "Nusiuntimas nepavyko"
#: ajax/upload.php:127
msgid "Invalid directory."
@@ -112,7 +112,7 @@ msgstr "URL negali būti tuščias."
msgid "Invalid folder name. Usage of 'Shared' is reserved by ownCloud"
msgstr "Negalimas aplanko pavadinimas. 'Shared' pavadinimas yra rezervuotas ownCloud"
-#: js/file-upload.js:275 js/file-upload.js:291 js/files.js:511 js/files.js:549
+#: js/file-upload.js:276 js/file-upload.js:292 js/files.js:512 js/files.js:550
msgid "Error"
msgstr "Klaida"
@@ -128,60 +128,60 @@ msgstr "Ištrinti negrįžtamai"
msgid "Rename"
msgstr "Pervadinti"
-#: js/filelist.js:49 js/filelist.js:52 js/filelist.js:573
+#: js/filelist.js:50 js/filelist.js:53 js/filelist.js:575
msgid "Pending"
msgstr "Laukiantis"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "{new_name} already exists"
msgstr "{new_name} jau egzistuoja"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "replace"
msgstr "pakeisti"
-#: js/filelist.js:305
+#: js/filelist.js:307
msgid "suggest name"
msgstr "pasiūlyti pavadinimą"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "cancel"
msgstr "atšaukti"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "replaced {new_name} with {old_name}"
msgstr "pakeiskite {new_name} į {old_name}"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "undo"
msgstr "anuliuoti"
-#: js/filelist.js:422 js/filelist.js:488 js/files.js:580
+#: js/filelist.js:424 js/filelist.js:490 js/files.js:581
msgid "%n folder"
msgid_plural "%n folders"
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
-#: js/filelist.js:423 js/filelist.js:489 js/files.js:586
+#: js/filelist.js:425 js/filelist.js:491 js/files.js:587
msgid "%n file"
msgid_plural "%n files"
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
-#: js/filelist.js:430
+#: js/filelist.js:432
msgid "{dirs} and {files}"
msgstr ""
-#: js/filelist.js:561
+#: js/filelist.js:563
msgid "Uploading %n file"
msgid_plural "Uploading %n files"
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
-#: js/filelist.js:626
+#: js/filelist.js:628
msgid "files uploading"
msgstr "įkeliami failai"
@@ -219,15 +219,15 @@ msgid ""
"big."
msgstr "Jūsų atsisiuntimas yra paruošiamas. tai gali užtrukti jei atsisiunčiamas didelis failas."
-#: js/files.js:562 templates/index.php:67
+#: js/files.js:563 templates/index.php:69
msgid "Name"
msgstr "Pavadinimas"
-#: js/files.js:563 templates/index.php:78
+#: js/files.js:564 templates/index.php:81
msgid "Size"
msgstr "Dydis"
-#: js/files.js:564 templates/index.php:80
+#: js/files.js:565 templates/index.php:83
msgid "Modified"
msgstr "Pakeista"
@@ -304,33 +304,33 @@ msgstr "Jūs neturite rašymo leidimo."
msgid "Nothing in here. Upload something!"
msgstr "Čia tuščia. Įkelkite ką nors!"
-#: templates/index.php:73
+#: templates/index.php:75
msgid "Download"
msgstr "Atsisiųsti"
-#: templates/index.php:85 templates/index.php:86
+#: templates/index.php:88 templates/index.php:89
msgid "Unshare"
msgstr "Nebesidalinti"
-#: templates/index.php:91 templates/index.php:92
+#: templates/index.php:94 templates/index.php:95
msgid "Delete"
msgstr "Ištrinti"
-#: templates/index.php:105
+#: templates/index.php:108
msgid "Upload too large"
msgstr "Įkėlimui failas per didelis"
-#: templates/index.php:107
+#: templates/index.php:110
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "Bandomų įkelti failų dydis viršija maksimalų, kuris leidžiamas šiame serveryje"
-#: templates/index.php:112
+#: templates/index.php:115
msgid "Files are being scanned, please wait."
msgstr "Skenuojami failai, prašome palaukti."
-#: templates/index.php:115
+#: templates/index.php:118
msgid "Current scanning"
msgstr "Šiuo metu skenuojama"
diff --git a/l10n/lv/core.po b/l10n/lv/core.po
index 689ad0da124..65e8cfde0e4 100644
--- a/l10n/lv/core.po
+++ b/l10n/lv/core.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:32-0400\n"
-"PO-Revision-Date: 2013-08-30 13:33+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Latvian (http://www.transifex.com/projects/p/owncloud/language/lv/)\n"
"MIME-Version: 1.0\n"
@@ -25,7 +25,7 @@ msgstr "%s kopīgots »%s« ar jums"
#: ajax/share.php:227
msgid "group"
-msgstr ""
+msgstr "grupa"
#: ajax/update.php:11
msgid "Turned on maintenance mode"
diff --git a/l10n/lv/files.po b/l10n/lv/files.po
index 5eff48359db..ac1b1e7ab6b 100644
--- a/l10n/lv/files.po
+++ b/l10n/lv/files.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:31-0400\n"
-"PO-Revision-Date: 2013-08-30 13:34+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Latvian (http://www.transifex.com/projects/p/owncloud/language/lv/)\n"
"MIME-Version: 1.0\n"
@@ -77,7 +77,7 @@ msgstr "Nav pietiekami daudz vietas"
#: ajax/upload.php:109
msgid "Upload failed"
-msgstr ""
+msgstr "Neizdevās augšupielādēt"
#: ajax/upload.php:127
msgid "Invalid directory."
@@ -112,7 +112,7 @@ msgstr "URL nevar būt tukšs."
msgid "Invalid folder name. Usage of 'Shared' is reserved by ownCloud"
msgstr "Kļūdains mapes nosaukums. 'Shared' lietošana ir rezervēta no ownCloud"
-#: js/file-upload.js:275 js/file-upload.js:291 js/files.js:511 js/files.js:549
+#: js/file-upload.js:276 js/file-upload.js:292 js/files.js:512 js/files.js:550
msgid "Error"
msgstr "Kļūda"
@@ -128,60 +128,60 @@ msgstr "Dzēst pavisam"
msgid "Rename"
msgstr "Pārsaukt"
-#: js/filelist.js:49 js/filelist.js:52 js/filelist.js:573
+#: js/filelist.js:50 js/filelist.js:53 js/filelist.js:575
msgid "Pending"
msgstr "Gaida savu kārtu"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "{new_name} already exists"
msgstr "{new_name} jau eksistē"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "replace"
msgstr "aizvietot"
-#: js/filelist.js:305
+#: js/filelist.js:307
msgid "suggest name"
msgstr "ieteiktais nosaukums"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "cancel"
msgstr "atcelt"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "replaced {new_name} with {old_name}"
msgstr "aizvietoja {new_name} ar {old_name}"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "undo"
msgstr "atsaukt"
-#: js/filelist.js:422 js/filelist.js:488 js/files.js:580
+#: js/filelist.js:424 js/filelist.js:490 js/files.js:581
msgid "%n folder"
msgid_plural "%n folders"
msgstr[0] "%n mapes"
msgstr[1] "%n mape"
msgstr[2] "%n mapes"
-#: js/filelist.js:423 js/filelist.js:489 js/files.js:586
+#: js/filelist.js:425 js/filelist.js:491 js/files.js:587
msgid "%n file"
msgid_plural "%n files"
msgstr[0] "%n faili"
msgstr[1] "%n fails"
msgstr[2] "%n faili"
-#: js/filelist.js:430
+#: js/filelist.js:432
msgid "{dirs} and {files}"
msgstr ""
-#: js/filelist.js:561
+#: js/filelist.js:563
msgid "Uploading %n file"
msgid_plural "Uploading %n files"
msgstr[0] "%n"
msgstr[1] "Augšupielāde %n failu"
msgstr[2] "Augšupielāde %n failus"
-#: js/filelist.js:626
+#: js/filelist.js:628
msgid "files uploading"
msgstr "fails augšupielādējas"
@@ -219,15 +219,15 @@ msgid ""
"big."
msgstr "Tiek sagatavota lejupielāde. Tas var aizņemt kādu laiciņu, ja datnes ir lielas."
-#: js/files.js:562 templates/index.php:67
+#: js/files.js:563 templates/index.php:69
msgid "Name"
msgstr "Nosaukums"
-#: js/files.js:563 templates/index.php:78
+#: js/files.js:564 templates/index.php:81
msgid "Size"
msgstr "Izmērs"
-#: js/files.js:564 templates/index.php:80
+#: js/files.js:565 templates/index.php:83
msgid "Modified"
msgstr "Mainīts"
@@ -304,33 +304,33 @@ msgstr "Jums nav tiesību šeit rakstīt."
msgid "Nothing in here. Upload something!"
msgstr "Te vēl nekas nav. Rīkojies, sāc augšupielādēt!"
-#: templates/index.php:73
+#: templates/index.php:75
msgid "Download"
msgstr "Lejupielādēt"
-#: templates/index.php:85 templates/index.php:86
+#: templates/index.php:88 templates/index.php:89
msgid "Unshare"
msgstr "Pārtraukt dalīšanos"
-#: templates/index.php:91 templates/index.php:92
+#: templates/index.php:94 templates/index.php:95
msgid "Delete"
msgstr "Dzēst"
-#: templates/index.php:105
+#: templates/index.php:108
msgid "Upload too large"
msgstr "Datne ir par lielu, lai to augšupielādētu"
-#: templates/index.php:107
+#: templates/index.php:110
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "Augšupielādējamās datnes pārsniedz servera pieļaujamo datņu augšupielādes apjomu"
-#: templates/index.php:112
+#: templates/index.php:115
msgid "Files are being scanned, please wait."
msgstr "Datnes šobrīd tiek caurskatītas, lūdzu, uzgaidiet."
-#: templates/index.php:115
+#: templates/index.php:118
msgid "Current scanning"
msgstr "Šobrīd tiek caurskatīts"
diff --git a/l10n/mk/core.po b/l10n/mk/core.po
index c94527ab533..a426e2ec182 100644
--- a/l10n/mk/core.po
+++ b/l10n/mk/core.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:32-0400\n"
-"PO-Revision-Date: 2013-08-30 13:33+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Macedonian (http://www.transifex.com/projects/p/owncloud/language/mk/)\n"
"MIME-Version: 1.0\n"
@@ -24,7 +24,7 @@ msgstr ""
#: ajax/share.php:227
msgid "group"
-msgstr ""
+msgstr "група"
#: ajax/update.php:11
msgid "Turned on maintenance mode"
diff --git a/l10n/nb_NO/core.po b/l10n/nb_NO/core.po
index 4bd2753d756..68b8f11bed3 100644
--- a/l10n/nb_NO/core.po
+++ b/l10n/nb_NO/core.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:32-0400\n"
-"PO-Revision-Date: 2013-08-30 13:33+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Norwegian Bokmål (Norway) (http://www.transifex.com/projects/p/owncloud/language/nb_NO/)\n"
"MIME-Version: 1.0\n"
@@ -25,7 +25,7 @@ msgstr "%s delte »%s« med deg"
#: ajax/share.php:227
msgid "group"
-msgstr ""
+msgstr "gruppe"
#: ajax/update.php:11
msgid "Turned on maintenance mode"
diff --git a/l10n/nb_NO/files.po b/l10n/nb_NO/files.po
index c59874212be..21093f1c7e0 100644
--- a/l10n/nb_NO/files.po
+++ b/l10n/nb_NO/files.po
@@ -10,8 +10,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:31-0400\n"
-"PO-Revision-Date: 2013-08-30 13:34+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Norwegian Bokmål (Norway) (http://www.transifex.com/projects/p/owncloud/language/nb_NO/)\n"
"MIME-Version: 1.0\n"
@@ -79,7 +79,7 @@ msgstr "Ikke nok lagringsplass"
#: ajax/upload.php:109
msgid "Upload failed"
-msgstr ""
+msgstr "Opplasting feilet"
#: ajax/upload.php:127
msgid "Invalid directory."
@@ -114,7 +114,7 @@ msgstr "URL-en kan ikke være tom."
msgid "Invalid folder name. Usage of 'Shared' is reserved by ownCloud"
msgstr "Ugyldig mappenavn. Bruk av \"Shared\" er reservert av ownCloud."
-#: js/file-upload.js:275 js/file-upload.js:291 js/files.js:511 js/files.js:549
+#: js/file-upload.js:276 js/file-upload.js:292 js/files.js:512 js/files.js:550
msgid "Error"
msgstr "Feil"
@@ -130,57 +130,57 @@ msgstr "Slett permanent"
msgid "Rename"
msgstr "Gi nytt navn"
-#: js/filelist.js:49 js/filelist.js:52 js/filelist.js:573
+#: js/filelist.js:50 js/filelist.js:53 js/filelist.js:575
msgid "Pending"
msgstr "Ventende"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "{new_name} already exists"
msgstr "{new_name} finnes allerede"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "replace"
msgstr "erstatt"
-#: js/filelist.js:305
+#: js/filelist.js:307
msgid "suggest name"
msgstr "foreslå navn"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "cancel"
msgstr "avbryt"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "replaced {new_name} with {old_name}"
msgstr "erstattet {new_name} med {old_name}"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "undo"
msgstr "angre"
-#: js/filelist.js:422 js/filelist.js:488 js/files.js:580
+#: js/filelist.js:424 js/filelist.js:490 js/files.js:581
msgid "%n folder"
msgid_plural "%n folders"
msgstr[0] "%n mappe"
msgstr[1] "%n mapper"
-#: js/filelist.js:423 js/filelist.js:489 js/files.js:586
+#: js/filelist.js:425 js/filelist.js:491 js/files.js:587
msgid "%n file"
msgid_plural "%n files"
msgstr[0] "%n fil"
msgstr[1] "%n filer"
-#: js/filelist.js:430
+#: js/filelist.js:432
msgid "{dirs} and {files}"
msgstr ""
-#: js/filelist.js:561
+#: js/filelist.js:563
msgid "Uploading %n file"
msgid_plural "Uploading %n files"
msgstr[0] "Laster opp %n fil"
msgstr[1] "Laster opp %n filer"
-#: js/filelist.js:626
+#: js/filelist.js:628
msgid "files uploading"
msgstr "filer lastes opp"
@@ -218,15 +218,15 @@ msgid ""
"big."
msgstr "Nedlastingen din klargjøres. Hvis filene er store kan dette ta litt tid."
-#: js/files.js:562 templates/index.php:67
+#: js/files.js:563 templates/index.php:69
msgid "Name"
msgstr "Navn"
-#: js/files.js:563 templates/index.php:78
+#: js/files.js:564 templates/index.php:81
msgid "Size"
msgstr "Størrelse"
-#: js/files.js:564 templates/index.php:80
+#: js/files.js:565 templates/index.php:83
msgid "Modified"
msgstr "Endret"
@@ -303,33 +303,33 @@ msgstr "Du har ikke skrivetilgang her."
msgid "Nothing in here. Upload something!"
msgstr "Ingenting her. Last opp noe!"
-#: templates/index.php:73
+#: templates/index.php:75
msgid "Download"
msgstr "Last ned"
-#: templates/index.php:85 templates/index.php:86
+#: templates/index.php:88 templates/index.php:89
msgid "Unshare"
msgstr "Avslutt deling"
-#: templates/index.php:91 templates/index.php:92
+#: templates/index.php:94 templates/index.php:95
msgid "Delete"
msgstr "Slett"
-#: templates/index.php:105
+#: templates/index.php:108
msgid "Upload too large"
msgstr "Filen er for stor"
-#: templates/index.php:107
+#: templates/index.php:110
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "Filene du prøver å laste opp er for store for å laste opp til denne serveren."
-#: templates/index.php:112
+#: templates/index.php:115
msgid "Files are being scanned, please wait."
msgstr "Skanner filer, vennligst vent."
-#: templates/index.php:115
+#: templates/index.php:118
msgid "Current scanning"
msgstr "Pågående skanning"
diff --git a/l10n/nl/core.po b/l10n/nl/core.po
index 340455fdb1e..c7b2e1c117b 100644
--- a/l10n/nl/core.po
+++ b/l10n/nl/core.po
@@ -10,8 +10,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:32-0400\n"
-"PO-Revision-Date: 2013-08-30 13:33+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Dutch (http://www.transifex.com/projects/p/owncloud/language/nl/)\n"
"MIME-Version: 1.0\n"
@@ -27,7 +27,7 @@ msgstr "%s deelde »%s« met jou"
#: ajax/share.php:227
msgid "group"
-msgstr ""
+msgstr "groep"
#: ajax/update.php:11
msgid "Turned on maintenance mode"
diff --git a/l10n/nl/files.po b/l10n/nl/files.po
index 1ef60e724ab..c42cf442efe 100644
--- a/l10n/nl/files.po
+++ b/l10n/nl/files.po
@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:31-0400\n"
-"PO-Revision-Date: 2013-08-30 13:34+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Dutch (http://www.transifex.com/projects/p/owncloud/language/nl/)\n"
"MIME-Version: 1.0\n"
@@ -78,7 +78,7 @@ msgstr "Niet genoeg opslagruimte beschikbaar"
#: ajax/upload.php:109
msgid "Upload failed"
-msgstr ""
+msgstr "Upload mislukt"
#: ajax/upload.php:127
msgid "Invalid directory."
@@ -113,7 +113,7 @@ msgstr "URL kan niet leeg zijn."
msgid "Invalid folder name. Usage of 'Shared' is reserved by ownCloud"
msgstr "Ongeldige mapnaam. Gebruik van 'Gedeeld' is voorbehouden aan Owncloud zelf"
-#: js/file-upload.js:275 js/file-upload.js:291 js/files.js:511 js/files.js:549
+#: js/file-upload.js:276 js/file-upload.js:292 js/files.js:512 js/files.js:550
msgid "Error"
msgstr "Fout"
@@ -129,57 +129,57 @@ msgstr "Verwijder definitief"
msgid "Rename"
msgstr "Hernoem"
-#: js/filelist.js:49 js/filelist.js:52 js/filelist.js:573
+#: js/filelist.js:50 js/filelist.js:53 js/filelist.js:575
msgid "Pending"
msgstr "In behandeling"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "{new_name} already exists"
msgstr "{new_name} bestaat al"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "replace"
msgstr "vervang"
-#: js/filelist.js:305
+#: js/filelist.js:307
msgid "suggest name"
msgstr "Stel een naam voor"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "cancel"
msgstr "annuleren"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "replaced {new_name} with {old_name}"
msgstr "verving {new_name} met {old_name}"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "undo"
msgstr "ongedaan maken"
-#: js/filelist.js:422 js/filelist.js:488 js/files.js:580
+#: js/filelist.js:424 js/filelist.js:490 js/files.js:581
msgid "%n folder"
msgid_plural "%n folders"
msgstr[0] ""
msgstr[1] "%n mappen"
-#: js/filelist.js:423 js/filelist.js:489 js/files.js:586
+#: js/filelist.js:425 js/filelist.js:491 js/files.js:587
msgid "%n file"
msgid_plural "%n files"
msgstr[0] ""
msgstr[1] "%n bestanden"
-#: js/filelist.js:430
+#: js/filelist.js:432
msgid "{dirs} and {files}"
msgstr ""
-#: js/filelist.js:561
+#: js/filelist.js:563
msgid "Uploading %n file"
msgid_plural "Uploading %n files"
msgstr[0] "%n bestand aan het uploaden"
msgstr[1] "%n bestanden aan het uploaden"
-#: js/filelist.js:626
+#: js/filelist.js:628
msgid "files uploading"
msgstr "bestanden aan het uploaden"
@@ -217,15 +217,15 @@ msgid ""
"big."
msgstr "Uw download wordt voorbereid. Dit kan enige tijd duren bij grote bestanden."
-#: js/files.js:562 templates/index.php:67
+#: js/files.js:563 templates/index.php:69
msgid "Name"
msgstr "Naam"
-#: js/files.js:563 templates/index.php:78
+#: js/files.js:564 templates/index.php:81
msgid "Size"
msgstr "Grootte"
-#: js/files.js:564 templates/index.php:80
+#: js/files.js:565 templates/index.php:83
msgid "Modified"
msgstr "Aangepast"
@@ -302,33 +302,33 @@ msgstr "U hebt hier geen schrijfpermissies."
msgid "Nothing in here. Upload something!"
msgstr "Er bevindt zich hier niets. Upload een bestand!"
-#: templates/index.php:73
+#: templates/index.php:75
msgid "Download"
msgstr "Downloaden"
-#: templates/index.php:85 templates/index.php:86
+#: templates/index.php:88 templates/index.php:89
msgid "Unshare"
msgstr "Stop met delen"
-#: templates/index.php:91 templates/index.php:92
+#: templates/index.php:94 templates/index.php:95
msgid "Delete"
msgstr "Verwijder"
-#: templates/index.php:105
+#: templates/index.php:108
msgid "Upload too large"
msgstr "Upload is te groot"
-#: templates/index.php:107
+#: templates/index.php:110
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "De bestanden die u probeert te uploaden zijn groter dan de maximaal toegestane bestandsgrootte voor deze server."
-#: templates/index.php:112
+#: templates/index.php:115
msgid "Files are being scanned, please wait."
msgstr "Bestanden worden gescand, even wachten."
-#: templates/index.php:115
+#: templates/index.php:118
msgid "Current scanning"
msgstr "Er wordt gescand"
diff --git a/l10n/nn_NO/core.po b/l10n/nn_NO/core.po
index dd3e636cc48..8772791ae01 100644
--- a/l10n/nn_NO/core.po
+++ b/l10n/nn_NO/core.po
@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:32-0400\n"
-"PO-Revision-Date: 2013-08-30 13:33+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Norwegian Nynorsk (Norway) (http://www.transifex.com/projects/p/owncloud/language/nn_NO/)\n"
"MIME-Version: 1.0\n"
@@ -26,7 +26,7 @@ msgstr ""
#: ajax/share.php:227
msgid "group"
-msgstr ""
+msgstr "gruppe"
#: ajax/update.php:11
msgid "Turned on maintenance mode"
diff --git a/l10n/nn_NO/files.po b/l10n/nn_NO/files.po
index be3bfcba3ee..623cceba50c 100644
--- a/l10n/nn_NO/files.po
+++ b/l10n/nn_NO/files.po
@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:31-0400\n"
-"PO-Revision-Date: 2013-08-30 13:34+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Norwegian Nynorsk (Norway) (http://www.transifex.com/projects/p/owncloud/language/nn_NO/)\n"
"MIME-Version: 1.0\n"
@@ -78,7 +78,7 @@ msgstr "Ikkje nok lagringsplass tilgjengeleg"
#: ajax/upload.php:109
msgid "Upload failed"
-msgstr ""
+msgstr "Feil ved opplasting"
#: ajax/upload.php:127
msgid "Invalid directory."
@@ -113,7 +113,7 @@ msgstr "Nettadressa kan ikkje vera tom."
msgid "Invalid folder name. Usage of 'Shared' is reserved by ownCloud"
msgstr "Ugyldig mappenamn. Mappa «Shared» er reservert av ownCloud"
-#: js/file-upload.js:275 js/file-upload.js:291 js/files.js:511 js/files.js:549
+#: js/file-upload.js:276 js/file-upload.js:292 js/files.js:512 js/files.js:550
msgid "Error"
msgstr "Feil"
@@ -129,57 +129,57 @@ msgstr "Slett for godt"
msgid "Rename"
msgstr "Endra namn"
-#: js/filelist.js:49 js/filelist.js:52 js/filelist.js:573
+#: js/filelist.js:50 js/filelist.js:53 js/filelist.js:575
msgid "Pending"
msgstr "Under vegs"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "{new_name} already exists"
msgstr "{new_name} finst allereie"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "replace"
msgstr "byt ut"
-#: js/filelist.js:305
+#: js/filelist.js:307
msgid "suggest name"
msgstr "føreslå namn"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "cancel"
msgstr "avbryt"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "replaced {new_name} with {old_name}"
msgstr "bytte ut {new_name} med {old_name}"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "undo"
msgstr "angre"
-#: js/filelist.js:422 js/filelist.js:488 js/files.js:580
+#: js/filelist.js:424 js/filelist.js:490 js/files.js:581
msgid "%n folder"
msgid_plural "%n folders"
msgstr[0] ""
msgstr[1] ""
-#: js/filelist.js:423 js/filelist.js:489 js/files.js:586
+#: js/filelist.js:425 js/filelist.js:491 js/files.js:587
msgid "%n file"
msgid_plural "%n files"
msgstr[0] ""
msgstr[1] ""
-#: js/filelist.js:430
+#: js/filelist.js:432
msgid "{dirs} and {files}"
msgstr ""
-#: js/filelist.js:561
+#: js/filelist.js:563
msgid "Uploading %n file"
msgid_plural "Uploading %n files"
msgstr[0] ""
msgstr[1] ""
-#: js/filelist.js:626
+#: js/filelist.js:628
msgid "files uploading"
msgstr "filer lastar opp"
@@ -217,15 +217,15 @@ msgid ""
"big."
msgstr "Gjer klar nedlastinga di. Dette kan ta ei stund viss filene er store."
-#: js/files.js:562 templates/index.php:67
+#: js/files.js:563 templates/index.php:69
msgid "Name"
msgstr "Namn"
-#: js/files.js:563 templates/index.php:78
+#: js/files.js:564 templates/index.php:81
msgid "Size"
msgstr "Storleik"
-#: js/files.js:564 templates/index.php:80
+#: js/files.js:565 templates/index.php:83
msgid "Modified"
msgstr "Endra"
@@ -302,33 +302,33 @@ msgstr "Du har ikkje skriverettar her."
msgid "Nothing in here. Upload something!"
msgstr "Ingenting her. Last noko opp!"
-#: templates/index.php:73
+#: templates/index.php:75
msgid "Download"
msgstr "Last ned"
-#: templates/index.php:85 templates/index.php:86
+#: templates/index.php:88 templates/index.php:89
msgid "Unshare"
msgstr "Udel"
-#: templates/index.php:91 templates/index.php:92
+#: templates/index.php:94 templates/index.php:95
msgid "Delete"
msgstr "Slett"
-#: templates/index.php:105
+#: templates/index.php:108
msgid "Upload too large"
msgstr "For stor opplasting"
-#: templates/index.php:107
+#: templates/index.php:110
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "Filene du prøver å lasta opp er større enn maksgrensa til denne tenaren."
-#: templates/index.php:112
+#: templates/index.php:115
msgid "Files are being scanned, please wait."
msgstr "Skannar filer, ver venleg og vent."
-#: templates/index.php:115
+#: templates/index.php:118
msgid "Current scanning"
msgstr "Køyrande skanning"
diff --git a/l10n/oc/core.po b/l10n/oc/core.po
index f419c3efaf3..5b2896c6e35 100644
--- a/l10n/oc/core.po
+++ b/l10n/oc/core.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:32-0400\n"
-"PO-Revision-Date: 2013-08-30 13:33+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Occitan (post 1500) (http://www.transifex.com/projects/p/owncloud/language/oc/)\n"
"MIME-Version: 1.0\n"
@@ -24,7 +24,7 @@ msgstr ""
#: ajax/share.php:227
msgid "group"
-msgstr ""
+msgstr "grop"
#: ajax/update.php:11
msgid "Turned on maintenance mode"
diff --git a/l10n/pl/core.po b/l10n/pl/core.po
index edaed21e00e..6680a8ba6b3 100644
--- a/l10n/pl/core.po
+++ b/l10n/pl/core.po
@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:32-0400\n"
-"PO-Revision-Date: 2013-08-30 13:33+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Polish (http://www.transifex.com/projects/p/owncloud/language/pl/)\n"
"MIME-Version: 1.0\n"
@@ -26,7 +26,7 @@ msgstr "%s Współdzielone »%s« z tobą"
#: ajax/share.php:227
msgid "group"
-msgstr ""
+msgstr "grupa"
#: ajax/update.php:11
msgid "Turned on maintenance mode"
diff --git a/l10n/pl/files.po b/l10n/pl/files.po
index fc486609894..8bab0cf5908 100644
--- a/l10n/pl/files.po
+++ b/l10n/pl/files.po
@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:31-0400\n"
-"PO-Revision-Date: 2013-08-30 13:34+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Polish (http://www.transifex.com/projects/p/owncloud/language/pl/)\n"
"MIME-Version: 1.0\n"
@@ -78,7 +78,7 @@ msgstr "Za mało dostępnego miejsca"
#: ajax/upload.php:109
msgid "Upload failed"
-msgstr ""
+msgstr "Wysyłanie nie powiodło się"
#: ajax/upload.php:127
msgid "Invalid directory."
@@ -113,7 +113,7 @@ msgstr "URL nie może być pusty."
msgid "Invalid folder name. Usage of 'Shared' is reserved by ownCloud"
msgstr "Nieprawidłowa nazwa folderu. Wykorzystanie 'Shared' jest zarezerwowane przez ownCloud"
-#: js/file-upload.js:275 js/file-upload.js:291 js/files.js:511 js/files.js:549
+#: js/file-upload.js:276 js/file-upload.js:292 js/files.js:512 js/files.js:550
msgid "Error"
msgstr "Błąd"
@@ -129,60 +129,60 @@ msgstr "Trwale usuń"
msgid "Rename"
msgstr "Zmień nazwę"
-#: js/filelist.js:49 js/filelist.js:52 js/filelist.js:573
+#: js/filelist.js:50 js/filelist.js:53 js/filelist.js:575
msgid "Pending"
msgstr "Oczekujące"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "{new_name} already exists"
msgstr "{new_name} już istnieje"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "replace"
msgstr "zastąp"
-#: js/filelist.js:305
+#: js/filelist.js:307
msgid "suggest name"
msgstr "zasugeruj nazwę"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "cancel"
msgstr "anuluj"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "replaced {new_name} with {old_name}"
msgstr "zastąpiono {new_name} przez {old_name}"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "undo"
msgstr "cofnij"
-#: js/filelist.js:422 js/filelist.js:488 js/files.js:580
+#: js/filelist.js:424 js/filelist.js:490 js/files.js:581
msgid "%n folder"
msgid_plural "%n folders"
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
-#: js/filelist.js:423 js/filelist.js:489 js/files.js:586
+#: js/filelist.js:425 js/filelist.js:491 js/files.js:587
msgid "%n file"
msgid_plural "%n files"
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
-#: js/filelist.js:430
+#: js/filelist.js:432
msgid "{dirs} and {files}"
msgstr ""
-#: js/filelist.js:561
+#: js/filelist.js:563
msgid "Uploading %n file"
msgid_plural "Uploading %n files"
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
-#: js/filelist.js:626
+#: js/filelist.js:628
msgid "files uploading"
msgstr "pliki wczytane"
@@ -220,15 +220,15 @@ msgid ""
"big."
msgstr "Pobieranie jest przygotowywane. Może to zająć trochę czasu jeśli pliki są duże."
-#: js/files.js:562 templates/index.php:67
+#: js/files.js:563 templates/index.php:69
msgid "Name"
msgstr "Nazwa"
-#: js/files.js:563 templates/index.php:78
+#: js/files.js:564 templates/index.php:81
msgid "Size"
msgstr "Rozmiar"
-#: js/files.js:564 templates/index.php:80
+#: js/files.js:565 templates/index.php:83
msgid "Modified"
msgstr "Modyfikacja"
@@ -305,33 +305,33 @@ msgstr "Nie masz uprawnień do zapisu w tym miejscu."
msgid "Nothing in here. Upload something!"
msgstr "Pusto. Wyślij coś!"
-#: templates/index.php:73
+#: templates/index.php:75
msgid "Download"
msgstr "Pobierz"
-#: templates/index.php:85 templates/index.php:86
+#: templates/index.php:88 templates/index.php:89
msgid "Unshare"
msgstr "Zatrzymaj współdzielenie"
-#: templates/index.php:91 templates/index.php:92
+#: templates/index.php:94 templates/index.php:95
msgid "Delete"
msgstr "Usuń"
-#: templates/index.php:105
+#: templates/index.php:108
msgid "Upload too large"
msgstr "Ładowany plik jest za duży"
-#: templates/index.php:107
+#: templates/index.php:110
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "Pliki, które próbujesz przesłać, przekraczają maksymalną dopuszczalną wielkość."
-#: templates/index.php:112
+#: templates/index.php:115
msgid "Files are being scanned, please wait."
msgstr "Skanowanie plików, proszę czekać."
-#: templates/index.php:115
+#: templates/index.php:118
msgid "Current scanning"
msgstr "Aktualnie skanowane"
diff --git a/l10n/pt_BR/core.po b/l10n/pt_BR/core.po
index 44989e4aad8..b3280313839 100644
--- a/l10n/pt_BR/core.po
+++ b/l10n/pt_BR/core.po
@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:32-0400\n"
-"PO-Revision-Date: 2013-08-30 13:33+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/owncloud/language/pt_BR/)\n"
"MIME-Version: 1.0\n"
@@ -26,7 +26,7 @@ msgstr "%s compartilhou »%s« com você"
#: ajax/share.php:227
msgid "group"
-msgstr ""
+msgstr "grupo"
#: ajax/update.php:11
msgid "Turned on maintenance mode"
diff --git a/l10n/pt_BR/files.po b/l10n/pt_BR/files.po
index 5f0718ae9da..53543fba7d5 100644
--- a/l10n/pt_BR/files.po
+++ b/l10n/pt_BR/files.po
@@ -10,9 +10,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:31-0400\n"
-"PO-Revision-Date: 2013-08-30 13:34+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-09-03 07:42-0400\n"
+"PO-Revision-Date: 2013-09-02 15:40+0000\n"
+"Last-Translator: Flávio Veras <flaviove@gmail.com>\n"
"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/owncloud/language/pt_BR/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -79,7 +79,7 @@ msgstr "Espaço de armazenamento insuficiente"
#: ajax/upload.php:109
msgid "Upload failed"
-msgstr ""
+msgstr "Falha no envio"
#: ajax/upload.php:127
msgid "Invalid directory."
@@ -114,7 +114,7 @@ msgstr "URL não pode ficar em branco"
msgid "Invalid folder name. Usage of 'Shared' is reserved by ownCloud"
msgstr "Nome de pasta inválido. O uso do nome 'Compartilhado' é reservado ao ownCloud"
-#: js/file-upload.js:275 js/file-upload.js:291 js/files.js:511 js/files.js:549
+#: js/file-upload.js:276 js/file-upload.js:292 js/files.js:512 js/files.js:550
msgid "Error"
msgstr "Erro"
@@ -130,57 +130,57 @@ msgstr "Excluir permanentemente"
msgid "Rename"
msgstr "Renomear"
-#: js/filelist.js:49 js/filelist.js:52 js/filelist.js:573
+#: js/filelist.js:50 js/filelist.js:53 js/filelist.js:575
msgid "Pending"
msgstr "Pendente"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "{new_name} already exists"
msgstr "{new_name} já existe"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "replace"
msgstr "substituir"
-#: js/filelist.js:305
+#: js/filelist.js:307
msgid "suggest name"
msgstr "sugerir nome"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "cancel"
msgstr "cancelar"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "replaced {new_name} with {old_name}"
msgstr "Substituído {old_name} por {new_name} "
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "undo"
msgstr "desfazer"
-#: js/filelist.js:422 js/filelist.js:488 js/files.js:580
+#: js/filelist.js:424 js/filelist.js:490 js/files.js:581
msgid "%n folder"
msgid_plural "%n folders"
msgstr[0] ""
msgstr[1] ""
-#: js/filelist.js:423 js/filelist.js:489 js/files.js:586
+#: js/filelist.js:425 js/filelist.js:491 js/files.js:587
msgid "%n file"
msgid_plural "%n files"
msgstr[0] ""
msgstr[1] ""
-#: js/filelist.js:430
+#: js/filelist.js:432
msgid "{dirs} and {files}"
-msgstr ""
+msgstr "{dirs} e {files}"
-#: js/filelist.js:561
+#: js/filelist.js:563
msgid "Uploading %n file"
msgid_plural "Uploading %n files"
msgstr[0] ""
msgstr[1] ""
-#: js/filelist.js:626
+#: js/filelist.js:628
msgid "files uploading"
msgstr "enviando arquivos"
@@ -210,7 +210,7 @@ msgstr "Seu armazenamento está quase cheio ({usedSpacePercent}%)"
msgid ""
"Encryption was disabled but your files are still encrypted. Please go to "
"your personal settings to decrypt your files."
-msgstr ""
+msgstr "Encriptação foi desabilitada mas seus arquivos continuam encriptados. Por favor vá a suas configurações pessoais para descriptar seus arquivos."
#: js/files.js:245
msgid ""
@@ -218,15 +218,15 @@ msgid ""
"big."
msgstr "Seu download está sendo preparado. Isto pode levar algum tempo se os arquivos forem grandes."
-#: js/files.js:562 templates/index.php:67
+#: js/files.js:563 templates/index.php:69
msgid "Name"
msgstr "Nome"
-#: js/files.js:563 templates/index.php:78
+#: js/files.js:564 templates/index.php:81
msgid "Size"
msgstr "Tamanho"
-#: js/files.js:564 templates/index.php:80
+#: js/files.js:565 templates/index.php:83
msgid "Modified"
msgstr "Modificado"
@@ -303,33 +303,33 @@ msgstr "Você não possui permissão de escrita aqui."
msgid "Nothing in here. Upload something!"
msgstr "Nada aqui.Carrege alguma coisa!"
-#: templates/index.php:73
+#: templates/index.php:75
msgid "Download"
msgstr "Baixar"
-#: templates/index.php:85 templates/index.php:86
+#: templates/index.php:88 templates/index.php:89
msgid "Unshare"
msgstr "Descompartilhar"
-#: templates/index.php:91 templates/index.php:92
+#: templates/index.php:94 templates/index.php:95
msgid "Delete"
msgstr "Excluir"
-#: templates/index.php:105
+#: templates/index.php:108
msgid "Upload too large"
msgstr "Upload muito grande"
-#: templates/index.php:107
+#: templates/index.php:110
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "Os arquivos que você está tentando carregar excedeu o tamanho máximo para arquivos no servidor."
-#: templates/index.php:112
+#: templates/index.php:115
msgid "Files are being scanned, please wait."
msgstr "Arquivos sendo escaneados, por favor aguarde."
-#: templates/index.php:115
+#: templates/index.php:118
msgid "Current scanning"
msgstr "Scanning atual"
diff --git a/l10n/pt_PT/core.po b/l10n/pt_PT/core.po
index e188e5ccc38..ee257663691 100644
--- a/l10n/pt_PT/core.po
+++ b/l10n/pt_PT/core.po
@@ -11,8 +11,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:32-0400\n"
-"PO-Revision-Date: 2013-08-30 13:33+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Portuguese (Portugal) (http://www.transifex.com/projects/p/owncloud/language/pt_PT/)\n"
"MIME-Version: 1.0\n"
@@ -28,7 +28,7 @@ msgstr "%s partilhado »%s« contigo"
#: ajax/share.php:227
msgid "group"
-msgstr ""
+msgstr "grupo"
#: ajax/update.php:11
msgid "Turned on maintenance mode"
diff --git a/l10n/pt_PT/files.po b/l10n/pt_PT/files.po
index 78b08930414..21d8f249a2b 100644
--- a/l10n/pt_PT/files.po
+++ b/l10n/pt_PT/files.po
@@ -5,13 +5,14 @@
# Translators:
# bmgmatias <bmgmatias@gmail.com>, 2013
# FernandoMASilva, 2013
+# Helder Meneses <helder.meneses@gmail.com>, 2013
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:31-0400\n"
-"PO-Revision-Date: 2013-08-30 13:34+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-31 14:50+0000\n"
+"Last-Translator: Helder Meneses <helder.meneses@gmail.com>\n"
"Language-Team: Portuguese (Portugal) (http://www.transifex.com/projects/p/owncloud/language/pt_PT/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -78,7 +79,7 @@ msgstr "Não há espaço suficiente em disco"
#: ajax/upload.php:109
msgid "Upload failed"
-msgstr ""
+msgstr "Carregamento falhou"
#: ajax/upload.php:127
msgid "Invalid directory."
@@ -113,7 +114,7 @@ msgstr "O URL não pode estar vazio."
msgid "Invalid folder name. Usage of 'Shared' is reserved by ownCloud"
msgstr "Nome da pasta inválido. Palavra 'Shared' é reservado pela ownCloud"
-#: js/file-upload.js:275 js/file-upload.js:291 js/files.js:511 js/files.js:549
+#: js/file-upload.js:276 js/file-upload.js:292 js/files.js:512 js/files.js:550
msgid "Error"
msgstr "Erro"
@@ -129,57 +130,57 @@ msgstr "Eliminar permanentemente"
msgid "Rename"
msgstr "Renomear"
-#: js/filelist.js:49 js/filelist.js:52 js/filelist.js:573
+#: js/filelist.js:50 js/filelist.js:53 js/filelist.js:575
msgid "Pending"
msgstr "Pendente"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "{new_name} already exists"
msgstr "O nome {new_name} já existe"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "replace"
msgstr "substituir"
-#: js/filelist.js:305
+#: js/filelist.js:307
msgid "suggest name"
msgstr "sugira um nome"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "cancel"
msgstr "cancelar"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "replaced {new_name} with {old_name}"
msgstr "substituido {new_name} por {old_name}"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "undo"
msgstr "desfazer"
-#: js/filelist.js:422 js/filelist.js:488 js/files.js:580
+#: js/filelist.js:424 js/filelist.js:490 js/files.js:581
msgid "%n folder"
msgid_plural "%n folders"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "%n pasta"
+msgstr[1] "%n pastas"
-#: js/filelist.js:423 js/filelist.js:489 js/files.js:586
+#: js/filelist.js:425 js/filelist.js:491 js/files.js:587
msgid "%n file"
msgid_plural "%n files"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "%n ficheiro"
+msgstr[1] "%n ficheiros"
-#: js/filelist.js:430
+#: js/filelist.js:432
msgid "{dirs} and {files}"
-msgstr ""
+msgstr "{dirs} e {files}"
-#: js/filelist.js:561
+#: js/filelist.js:563
msgid "Uploading %n file"
msgid_plural "Uploading %n files"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "A carregar %n ficheiro"
+msgstr[1] "A carregar %n ficheiros"
-#: js/filelist.js:626
+#: js/filelist.js:628
msgid "files uploading"
msgstr "A enviar os ficheiros"
@@ -209,7 +210,7 @@ msgstr "O seu espaço de armazenamento está quase cheiro ({usedSpacePercent}%)"
msgid ""
"Encryption was disabled but your files are still encrypted. Please go to "
"your personal settings to decrypt your files."
-msgstr ""
+msgstr "A encriptação foi desactivada mas os seus ficheiros continuam encriptados. Por favor consulte as suas definições pessoais para desencriptar os ficheiros."
#: js/files.js:245
msgid ""
@@ -217,15 +218,15 @@ msgid ""
"big."
msgstr "O seu download está a ser preparado. Este processo pode demorar algum tempo se os ficheiros forem grandes."
-#: js/files.js:562 templates/index.php:67
+#: js/files.js:563 templates/index.php:69
msgid "Name"
msgstr "Nome"
-#: js/files.js:563 templates/index.php:78
+#: js/files.js:564 templates/index.php:81
msgid "Size"
msgstr "Tamanho"
-#: js/files.js:564 templates/index.php:80
+#: js/files.js:565 templates/index.php:83
msgid "Modified"
msgstr "Modificado"
@@ -302,33 +303,33 @@ msgstr "Não tem permissões de escrita aqui."
msgid "Nothing in here. Upload something!"
msgstr "Vazio. Envie alguma coisa!"
-#: templates/index.php:73
+#: templates/index.php:75
msgid "Download"
msgstr "Transferir"
-#: templates/index.php:85 templates/index.php:86
+#: templates/index.php:88 templates/index.php:89
msgid "Unshare"
msgstr "Deixar de partilhar"
-#: templates/index.php:91 templates/index.php:92
+#: templates/index.php:94 templates/index.php:95
msgid "Delete"
msgstr "Eliminar"
-#: templates/index.php:105
+#: templates/index.php:108
msgid "Upload too large"
msgstr "Upload muito grande"
-#: templates/index.php:107
+#: templates/index.php:110
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "Os ficheiro que está a tentar enviar excedem o tamanho máximo de envio neste servidor."
-#: templates/index.php:112
+#: templates/index.php:115
msgid "Files are being scanned, please wait."
msgstr "Os ficheiros estão a ser analisados, por favor aguarde."
-#: templates/index.php:115
+#: templates/index.php:118
msgid "Current scanning"
msgstr "Análise actual"
diff --git a/l10n/pt_PT/files_trashbin.po b/l10n/pt_PT/files_trashbin.po
index e23fb508d18..64a86f404cf 100644
--- a/l10n/pt_PT/files_trashbin.po
+++ b/l10n/pt_PT/files_trashbin.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-15 04:47-0400\n"
-"PO-Revision-Date: 2013-08-15 08:48+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-31 14:50+0000\n"
+"Last-Translator: Helder Meneses <helder.meneses@gmail.com>\n"
"Language-Team: Portuguese (Portugal) (http://www.transifex.com/projects/p/owncloud/language/pt_PT/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -28,43 +28,43 @@ msgstr "Não foi possível eliminar %s de forma permanente"
msgid "Couldn't restore %s"
msgstr "Não foi possível restaurar %s"
-#: js/trash.js:7 js/trash.js:100
+#: js/trash.js:7 js/trash.js:102
msgid "perform restore operation"
msgstr "executar a operação de restauro"
-#: js/trash.js:20 js/trash.js:48 js/trash.js:118 js/trash.js:146
+#: js/trash.js:20 js/trash.js:49 js/trash.js:120 js/trash.js:148
msgid "Error"
msgstr "Erro"
-#: js/trash.js:36
+#: js/trash.js:37
msgid "delete file permanently"
msgstr "Eliminar permanentemente o(s) ficheiro(s)"
-#: js/trash.js:127
+#: js/trash.js:129
msgid "Delete permanently"
msgstr "Eliminar permanentemente"
-#: js/trash.js:182 templates/index.php:17
+#: js/trash.js:184 templates/index.php:17
msgid "Name"
msgstr "Nome"
-#: js/trash.js:183 templates/index.php:27
+#: js/trash.js:185 templates/index.php:27
msgid "Deleted"
msgstr "Apagado"
-#: js/trash.js:191
+#: js/trash.js:193
msgid "%n folder"
msgid_plural "%n folders"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "%n pasta"
+msgstr[1] "%n pastas"
-#: js/trash.js:197
+#: js/trash.js:199
msgid "%n file"
msgid_plural "%n files"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "%n ficheiro"
+msgstr[1] "%n ficheiros"
-#: lib/trash.php:819 lib/trash.php:821
+#: lib/trash.php:814 lib/trash.php:816
msgid "restored"
msgstr "Restaurado"
diff --git a/l10n/pt_PT/settings.po b/l10n/pt_PT/settings.po
index 3e43edd8945..e2768600954 100644
--- a/l10n/pt_PT/settings.po
+++ b/l10n/pt_PT/settings.po
@@ -11,9 +11,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-25 19:18-0400\n"
-"PO-Revision-Date: 2013-08-25 23:18+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-31 14:50+0000\n"
+"Last-Translator: Helder Meneses <helder.meneses@gmail.com>\n"
"Language-Team: Portuguese (Portugal) (http://www.transifex.com/projects/p/owncloud/language/pt_PT/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -88,53 +88,53 @@ msgstr "Impossível apagar utilizador do grupo %s"
msgid "Couldn't update app."
msgstr "Não foi possível actualizar a aplicação."
-#: js/apps.js:35
+#: js/apps.js:43
msgid "Update to {appversion}"
msgstr "Actualizar para a versão {appversion}"
-#: js/apps.js:41 js/apps.js:74 js/apps.js:100
+#: js/apps.js:49 js/apps.js:82 js/apps.js:108
msgid "Disable"
msgstr "Desactivar"
-#: js/apps.js:41 js/apps.js:81 js/apps.js:94 js/apps.js:109
+#: js/apps.js:49 js/apps.js:89 js/apps.js:102 js/apps.js:117
msgid "Enable"
msgstr "Activar"
-#: js/apps.js:63
+#: js/apps.js:71
msgid "Please wait...."
msgstr "Por favor aguarde..."
-#: js/apps.js:71 js/apps.js:72 js/apps.js:92
+#: js/apps.js:79 js/apps.js:80 js/apps.js:100
msgid "Error while disabling app"
-msgstr ""
+msgstr "Erro enquanto desactivava a aplicação"
-#: js/apps.js:91 js/apps.js:104 js/apps.js:105
+#: js/apps.js:99 js/apps.js:112 js/apps.js:113
msgid "Error while enabling app"
-msgstr ""
+msgstr "Erro enquanto activava a aplicação"
-#: js/apps.js:115
+#: js/apps.js:123
msgid "Updating...."
msgstr "A Actualizar..."
-#: js/apps.js:118
+#: js/apps.js:126
msgid "Error while updating app"
msgstr "Erro enquanto actualizava a aplicação"
-#: js/apps.js:118
+#: js/apps.js:126
msgid "Error"
msgstr "Erro"
-#: js/apps.js:119 templates/apps.php:43
+#: js/apps.js:127 templates/apps.php:43
msgid "Update"
msgstr "Actualizar"
-#: js/apps.js:122
+#: js/apps.js:130
msgid "Updated"
msgstr "Actualizado"
#: js/personal.js:150
msgid "Decrypting files... Please wait, this can take some time."
-msgstr ""
+msgstr "A desencriptar os ficheiros... Por favor aguarde, esta operação pode demorar algum tempo."
#: js/personal.js:172
msgid "Saving..."
@@ -483,15 +483,15 @@ msgstr "Encriptação"
#: templates/personal.php:119
msgid "The encryption app is no longer enabled, decrypt all your file"
-msgstr ""
+msgstr "A aplicação de encriptação não se encontra mais disponível, desencripte o seu ficheiro"
#: templates/personal.php:125
msgid "Log-in password"
-msgstr ""
+msgstr "Password de entrada"
#: templates/personal.php:130
msgid "Decrypt all Files"
-msgstr ""
+msgstr "Desencriptar todos os ficheiros"
#: templates/users.php:21
msgid "Login Name"
diff --git a/l10n/ro/core.po b/l10n/ro/core.po
index 93a50da14d5..6cbf39f5e00 100644
--- a/l10n/ro/core.po
+++ b/l10n/ro/core.po
@@ -11,8 +11,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:32-0400\n"
-"PO-Revision-Date: 2013-08-30 13:33+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Romanian (http://www.transifex.com/projects/p/owncloud/language/ro/)\n"
"MIME-Version: 1.0\n"
@@ -28,7 +28,7 @@ msgstr "%s Partajat »%s« cu tine de"
#: ajax/share.php:227
msgid "group"
-msgstr ""
+msgstr "grup"
#: ajax/update.php:11
msgid "Turned on maintenance mode"
diff --git a/l10n/ro/files.po b/l10n/ro/files.po
index 6c1b9795dad..c25183110d0 100644
--- a/l10n/ro/files.po
+++ b/l10n/ro/files.po
@@ -10,8 +10,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:31-0400\n"
-"PO-Revision-Date: 2013-08-30 13:34+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Romanian (http://www.transifex.com/projects/p/owncloud/language/ro/)\n"
"MIME-Version: 1.0\n"
@@ -79,7 +79,7 @@ msgstr "Nu este suficient spațiu disponibil"
#: ajax/upload.php:109
msgid "Upload failed"
-msgstr ""
+msgstr "Încărcarea a eșuat"
#: ajax/upload.php:127
msgid "Invalid directory."
@@ -114,7 +114,7 @@ msgstr "Adresa URL nu poate fi goală."
msgid "Invalid folder name. Usage of 'Shared' is reserved by ownCloud"
msgstr "Nume de dosar invalid. Utilizarea 'Shared' e rezervată de ownCloud"
-#: js/file-upload.js:275 js/file-upload.js:291 js/files.js:511 js/files.js:549
+#: js/file-upload.js:276 js/file-upload.js:292 js/files.js:512 js/files.js:550
msgid "Error"
msgstr "Eroare"
@@ -130,60 +130,60 @@ msgstr "Stergere permanenta"
msgid "Rename"
msgstr "Redenumire"
-#: js/filelist.js:49 js/filelist.js:52 js/filelist.js:573
+#: js/filelist.js:50 js/filelist.js:53 js/filelist.js:575
msgid "Pending"
msgstr "În așteptare"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "{new_name} already exists"
msgstr "{new_name} deja exista"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "replace"
msgstr "înlocuire"
-#: js/filelist.js:305
+#: js/filelist.js:307
msgid "suggest name"
msgstr "sugerează nume"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "cancel"
msgstr "anulare"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "replaced {new_name} with {old_name}"
msgstr "{new_name} inlocuit cu {old_name}"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "undo"
msgstr "Anulează ultima acțiune"
-#: js/filelist.js:422 js/filelist.js:488 js/files.js:580
+#: js/filelist.js:424 js/filelist.js:490 js/files.js:581
msgid "%n folder"
msgid_plural "%n folders"
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
-#: js/filelist.js:423 js/filelist.js:489 js/files.js:586
+#: js/filelist.js:425 js/filelist.js:491 js/files.js:587
msgid "%n file"
msgid_plural "%n files"
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
-#: js/filelist.js:430
+#: js/filelist.js:432
msgid "{dirs} and {files}"
msgstr ""
-#: js/filelist.js:561
+#: js/filelist.js:563
msgid "Uploading %n file"
msgid_plural "Uploading %n files"
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
-#: js/filelist.js:626
+#: js/filelist.js:628
msgid "files uploading"
msgstr "fișiere se încarcă"
@@ -221,15 +221,15 @@ msgid ""
"big."
msgstr "Se pregătește descărcarea. Aceasta poate să dureze ceva timp dacă fișierele sunt mari."
-#: js/files.js:562 templates/index.php:67
+#: js/files.js:563 templates/index.php:69
msgid "Name"
msgstr "Nume"
-#: js/files.js:563 templates/index.php:78
+#: js/files.js:564 templates/index.php:81
msgid "Size"
msgstr "Dimensiune"
-#: js/files.js:564 templates/index.php:80
+#: js/files.js:565 templates/index.php:83
msgid "Modified"
msgstr "Modificat"
@@ -306,33 +306,33 @@ msgstr "Nu ai permisiunea de a sterge fisiere aici."
msgid "Nothing in here. Upload something!"
msgstr "Nimic aici. Încarcă ceva!"
-#: templates/index.php:73
+#: templates/index.php:75
msgid "Download"
msgstr "Descarcă"
-#: templates/index.php:85 templates/index.php:86
+#: templates/index.php:88 templates/index.php:89
msgid "Unshare"
msgstr "Anulare partajare"
-#: templates/index.php:91 templates/index.php:92
+#: templates/index.php:94 templates/index.php:95
msgid "Delete"
msgstr "Șterge"
-#: templates/index.php:105
+#: templates/index.php:108
msgid "Upload too large"
msgstr "Fișierul încărcat este prea mare"
-#: templates/index.php:107
+#: templates/index.php:110
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "Fișierul care l-ai încărcat a depășită limita maximă admisă la încărcare pe acest server."
-#: templates/index.php:112
+#: templates/index.php:115
msgid "Files are being scanned, please wait."
msgstr "Fișierele sunt scanate, te rog așteptă."
-#: templates/index.php:115
+#: templates/index.php:118
msgid "Current scanning"
msgstr "În curs de scanare"
diff --git a/l10n/ru/core.po b/l10n/ru/core.po
index 59c411b7209..7721c948b2e 100644
--- a/l10n/ru/core.po
+++ b/l10n/ru/core.po
@@ -15,8 +15,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:32-0400\n"
-"PO-Revision-Date: 2013-08-30 13:33+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Russian (http://www.transifex.com/projects/p/owncloud/language/ru/)\n"
"MIME-Version: 1.0\n"
@@ -32,7 +32,7 @@ msgstr "%s поделился »%s« с вами"
#: ajax/share.php:227
msgid "group"
-msgstr ""
+msgstr "группа"
#: ajax/update.php:11
msgid "Turned on maintenance mode"
diff --git a/l10n/ru/files.po b/l10n/ru/files.po
index 7a7e2c74f9e..a97a10cc9ad 100644
--- a/l10n/ru/files.po
+++ b/l10n/ru/files.po
@@ -12,8 +12,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:31-0400\n"
-"PO-Revision-Date: 2013-08-30 13:34+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Russian (http://www.transifex.com/projects/p/owncloud/language/ru/)\n"
"MIME-Version: 1.0\n"
@@ -81,7 +81,7 @@ msgstr "Недостаточно доступного места в хранил
#: ajax/upload.php:109
msgid "Upload failed"
-msgstr ""
+msgstr "Ошибка загрузки"
#: ajax/upload.php:127
msgid "Invalid directory."
@@ -116,7 +116,7 @@ msgstr "Ссылка не может быть пустой."
msgid "Invalid folder name. Usage of 'Shared' is reserved by ownCloud"
msgstr "Неправильное имя каталога. Имя 'Shared' зарезервировано."
-#: js/file-upload.js:275 js/file-upload.js:291 js/files.js:511 js/files.js:549
+#: js/file-upload.js:276 js/file-upload.js:292 js/files.js:512 js/files.js:550
msgid "Error"
msgstr "Ошибка"
@@ -132,60 +132,60 @@ msgstr "Удалено навсегда"
msgid "Rename"
msgstr "Переименовать"
-#: js/filelist.js:49 js/filelist.js:52 js/filelist.js:573
+#: js/filelist.js:50 js/filelist.js:53 js/filelist.js:575
msgid "Pending"
msgstr "Ожидание"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "{new_name} already exists"
msgstr "{new_name} уже существует"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "replace"
msgstr "заменить"
-#: js/filelist.js:305
+#: js/filelist.js:307
msgid "suggest name"
msgstr "предложить название"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "cancel"
msgstr "отмена"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "replaced {new_name} with {old_name}"
msgstr "заменено {new_name} на {old_name}"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "undo"
msgstr "отмена"
-#: js/filelist.js:422 js/filelist.js:488 js/files.js:580
+#: js/filelist.js:424 js/filelist.js:490 js/files.js:581
msgid "%n folder"
msgid_plural "%n folders"
msgstr[0] "%n папка"
msgstr[1] "%n папки"
msgstr[2] "%n папок"
-#: js/filelist.js:423 js/filelist.js:489 js/files.js:586
+#: js/filelist.js:425 js/filelist.js:491 js/files.js:587
msgid "%n file"
msgid_plural "%n files"
msgstr[0] "%n файл"
msgstr[1] "%n файла"
msgstr[2] "%n файлов"
-#: js/filelist.js:430
+#: js/filelist.js:432
msgid "{dirs} and {files}"
msgstr ""
-#: js/filelist.js:561
+#: js/filelist.js:563
msgid "Uploading %n file"
msgid_plural "Uploading %n files"
msgstr[0] "Закачка %n файла"
msgstr[1] "Закачка %n файлов"
msgstr[2] "Закачка %n файлов"
-#: js/filelist.js:626
+#: js/filelist.js:628
msgid "files uploading"
msgstr "файлы загружаются"
@@ -223,15 +223,15 @@ msgid ""
"big."
msgstr "Загрузка началась. Это может потребовать много времени, если файл большого размера."
-#: js/files.js:562 templates/index.php:67
+#: js/files.js:563 templates/index.php:69
msgid "Name"
msgstr "Имя"
-#: js/files.js:563 templates/index.php:78
+#: js/files.js:564 templates/index.php:81
msgid "Size"
msgstr "Размер"
-#: js/files.js:564 templates/index.php:80
+#: js/files.js:565 templates/index.php:83
msgid "Modified"
msgstr "Изменён"
@@ -308,33 +308,33 @@ msgstr "У вас нет разрешений на запись здесь."
msgid "Nothing in here. Upload something!"
msgstr "Здесь ничего нет. Загрузите что-нибудь!"
-#: templates/index.php:73
+#: templates/index.php:75
msgid "Download"
msgstr "Скачать"
-#: templates/index.php:85 templates/index.php:86
+#: templates/index.php:88 templates/index.php:89
msgid "Unshare"
msgstr "Закрыть общий доступ"
-#: templates/index.php:91 templates/index.php:92
+#: templates/index.php:94 templates/index.php:95
msgid "Delete"
msgstr "Удалить"
-#: templates/index.php:105
+#: templates/index.php:108
msgid "Upload too large"
msgstr "Файл слишком велик"
-#: templates/index.php:107
+#: templates/index.php:110
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "Файлы, которые вы пытаетесь загрузить, превышают лимит для файлов на этом сервере."
-#: templates/index.php:112
+#: templates/index.php:115
msgid "Files are being scanned, please wait."
msgstr "Подождите, файлы сканируются."
-#: templates/index.php:115
+#: templates/index.php:118
msgid "Current scanning"
msgstr "Текущее сканирование"
diff --git a/l10n/si_LK/core.po b/l10n/si_LK/core.po
index 613e0555003..87d7c2b49e7 100644
--- a/l10n/si_LK/core.po
+++ b/l10n/si_LK/core.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:32-0400\n"
-"PO-Revision-Date: 2013-08-30 13:33+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Sinhala (Sri Lanka) (http://www.transifex.com/projects/p/owncloud/language/si_LK/)\n"
"MIME-Version: 1.0\n"
@@ -24,7 +24,7 @@ msgstr ""
#: ajax/share.php:227
msgid "group"
-msgstr ""
+msgstr "කණ්ඩායම"
#: ajax/update.php:11
msgid "Turned on maintenance mode"
diff --git a/l10n/si_LK/files.po b/l10n/si_LK/files.po
index 5a47ffe3d4d..ea7a70653c1 100644
--- a/l10n/si_LK/files.po
+++ b/l10n/si_LK/files.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:31-0400\n"
-"PO-Revision-Date: 2013-08-30 13:34+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Sinhala (Sri Lanka) (http://www.transifex.com/projects/p/owncloud/language/si_LK/)\n"
"MIME-Version: 1.0\n"
@@ -76,7 +76,7 @@ msgstr ""
#: ajax/upload.php:109
msgid "Upload failed"
-msgstr ""
+msgstr "උඩුගත කිරීම අසාර්ථකයි"
#: ajax/upload.php:127
msgid "Invalid directory."
@@ -111,7 +111,7 @@ msgstr "යොමුව හිස් විය නොහැක"
msgid "Invalid folder name. Usage of 'Shared' is reserved by ownCloud"
msgstr ""
-#: js/file-upload.js:275 js/file-upload.js:291 js/files.js:511 js/files.js:549
+#: js/file-upload.js:276 js/file-upload.js:292 js/files.js:512 js/files.js:550
msgid "Error"
msgstr "දෝෂයක්"
@@ -127,57 +127,57 @@ msgstr ""
msgid "Rename"
msgstr "නැවත නම් කරන්න"
-#: js/filelist.js:49 js/filelist.js:52 js/filelist.js:573
+#: js/filelist.js:50 js/filelist.js:53 js/filelist.js:575
msgid "Pending"
msgstr ""
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "{new_name} already exists"
msgstr ""
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "replace"
msgstr "ප්‍රතිස්ථාපනය කරන්න"
-#: js/filelist.js:305
+#: js/filelist.js:307
msgid "suggest name"
msgstr "නමක් යෝජනා කරන්න"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "cancel"
msgstr "අත් හරින්න"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "replaced {new_name} with {old_name}"
msgstr ""
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "undo"
msgstr "නිෂ්ප්‍රභ කරන්න"
-#: js/filelist.js:422 js/filelist.js:488 js/files.js:580
+#: js/filelist.js:424 js/filelist.js:490 js/files.js:581
msgid "%n folder"
msgid_plural "%n folders"
msgstr[0] ""
msgstr[1] ""
-#: js/filelist.js:423 js/filelist.js:489 js/files.js:586
+#: js/filelist.js:425 js/filelist.js:491 js/files.js:587
msgid "%n file"
msgid_plural "%n files"
msgstr[0] ""
msgstr[1] ""
-#: js/filelist.js:430
+#: js/filelist.js:432
msgid "{dirs} and {files}"
msgstr ""
-#: js/filelist.js:561
+#: js/filelist.js:563
msgid "Uploading %n file"
msgid_plural "Uploading %n files"
msgstr[0] ""
msgstr[1] ""
-#: js/filelist.js:626
+#: js/filelist.js:628
msgid "files uploading"
msgstr ""
@@ -215,15 +215,15 @@ msgid ""
"big."
msgstr ""
-#: js/files.js:562 templates/index.php:67
+#: js/files.js:563 templates/index.php:69
msgid "Name"
msgstr "නම"
-#: js/files.js:563 templates/index.php:78
+#: js/files.js:564 templates/index.php:81
msgid "Size"
msgstr "ප්‍රමාණය"
-#: js/files.js:564 templates/index.php:80
+#: js/files.js:565 templates/index.php:83
msgid "Modified"
msgstr "වෙනස් කළ"
@@ -300,33 +300,33 @@ msgstr ""
msgid "Nothing in here. Upload something!"
msgstr "මෙහි කිසිවක් නොමැත. යමක් උඩුගත කරන්න"
-#: templates/index.php:73
+#: templates/index.php:75
msgid "Download"
msgstr "බාන්න"
-#: templates/index.php:85 templates/index.php:86
+#: templates/index.php:88 templates/index.php:89
msgid "Unshare"
msgstr "නොබෙදු"
-#: templates/index.php:91 templates/index.php:92
+#: templates/index.php:94 templates/index.php:95
msgid "Delete"
msgstr "මකා දමන්න"
-#: templates/index.php:105
+#: templates/index.php:108
msgid "Upload too large"
msgstr "උඩුගත කිරීම විශාල වැඩිය"
-#: templates/index.php:107
+#: templates/index.php:110
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "ඔබ උඩුගත කිරීමට තැත් කරන ගොනු මෙම සේවාදායකයා උඩුගත කිරීමට ඉඩදී ඇති උපරිම ගොනු විශාලත්වයට වඩා වැඩිය"
-#: templates/index.php:112
+#: templates/index.php:115
msgid "Files are being scanned, please wait."
msgstr "ගොනු පරික්ෂා කෙරේ. මඳක් රැඳී සිටින්න"
-#: templates/index.php:115
+#: templates/index.php:118
msgid "Current scanning"
msgstr "වර්තමාන පරික්ෂාව"
diff --git a/l10n/sk_SK/core.po b/l10n/sk_SK/core.po
index 0c6bbe58a8c..d1688333716 100644
--- a/l10n/sk_SK/core.po
+++ b/l10n/sk_SK/core.po
@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:32-0400\n"
-"PO-Revision-Date: 2013-08-30 13:33+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Slovak (Slovakia) (http://www.transifex.com/projects/p/owncloud/language/sk_SK/)\n"
"MIME-Version: 1.0\n"
@@ -26,7 +26,7 @@ msgstr "%s s Vami zdieľa »%s«"
#: ajax/share.php:227
msgid "group"
-msgstr ""
+msgstr "skupina"
#: ajax/update.php:11
msgid "Turned on maintenance mode"
diff --git a/l10n/sk_SK/files.po b/l10n/sk_SK/files.po
index 6b81e2d7efe..0ec318ec279 100644
--- a/l10n/sk_SK/files.po
+++ b/l10n/sk_SK/files.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:31-0400\n"
-"PO-Revision-Date: 2013-08-30 13:34+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Slovak (Slovakia) (http://www.transifex.com/projects/p/owncloud/language/sk_SK/)\n"
"MIME-Version: 1.0\n"
@@ -77,7 +77,7 @@ msgstr "Nedostatok dostupného úložného priestoru"
#: ajax/upload.php:109
msgid "Upload failed"
-msgstr ""
+msgstr "Odoslanie bolo neúspešné"
#: ajax/upload.php:127
msgid "Invalid directory."
@@ -112,7 +112,7 @@ msgstr "URL nemôže byť prázdne."
msgid "Invalid folder name. Usage of 'Shared' is reserved by ownCloud"
msgstr "Neplatný názov priečinka. Názov \"Shared\" je rezervovaný pre ownCloud"
-#: js/file-upload.js:275 js/file-upload.js:291 js/files.js:511 js/files.js:549
+#: js/file-upload.js:276 js/file-upload.js:292 js/files.js:512 js/files.js:550
msgid "Error"
msgstr "Chyba"
@@ -128,60 +128,60 @@ msgstr "Zmazať trvalo"
msgid "Rename"
msgstr "Premenovať"
-#: js/filelist.js:49 js/filelist.js:52 js/filelist.js:573
+#: js/filelist.js:50 js/filelist.js:53 js/filelist.js:575
msgid "Pending"
msgstr "Prebieha"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "{new_name} already exists"
msgstr "{new_name} už existuje"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "replace"
msgstr "nahradiť"
-#: js/filelist.js:305
+#: js/filelist.js:307
msgid "suggest name"
msgstr "pomôcť s menom"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "cancel"
msgstr "zrušiť"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "replaced {new_name} with {old_name}"
msgstr "prepísaný {new_name} súborom {old_name}"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "undo"
msgstr "vrátiť"
-#: js/filelist.js:422 js/filelist.js:488 js/files.js:580
+#: js/filelist.js:424 js/filelist.js:490 js/files.js:581
msgid "%n folder"
msgid_plural "%n folders"
msgstr[0] "%n priečinok"
msgstr[1] "%n priečinky"
msgstr[2] "%n priečinkov"
-#: js/filelist.js:423 js/filelist.js:489 js/files.js:586
+#: js/filelist.js:425 js/filelist.js:491 js/files.js:587
msgid "%n file"
msgid_plural "%n files"
msgstr[0] "%n súbor"
msgstr[1] "%n súbory"
msgstr[2] "%n súborov"
-#: js/filelist.js:430
+#: js/filelist.js:432
msgid "{dirs} and {files}"
msgstr ""
-#: js/filelist.js:561
+#: js/filelist.js:563
msgid "Uploading %n file"
msgid_plural "Uploading %n files"
msgstr[0] "Nahrávam %n súbor"
msgstr[1] "Nahrávam %n súbory"
msgstr[2] "Nahrávam %n súborov"
-#: js/filelist.js:626
+#: js/filelist.js:628
msgid "files uploading"
msgstr "nahrávanie súborov"
@@ -219,15 +219,15 @@ msgid ""
"big."
msgstr "Vaše sťahovanie sa pripravuje. Ak sú sťahované súbory veľké, môže to chvíľu trvať."
-#: js/files.js:562 templates/index.php:67
+#: js/files.js:563 templates/index.php:69
msgid "Name"
msgstr "Názov"
-#: js/files.js:563 templates/index.php:78
+#: js/files.js:564 templates/index.php:81
msgid "Size"
msgstr "Veľkosť"
-#: js/files.js:564 templates/index.php:80
+#: js/files.js:565 templates/index.php:83
msgid "Modified"
msgstr "Upravené"
@@ -304,33 +304,33 @@ msgstr "Nemáte oprávnenie na zápis."
msgid "Nothing in here. Upload something!"
msgstr "Žiadny súbor. Nahrajte niečo!"
-#: templates/index.php:73
+#: templates/index.php:75
msgid "Download"
msgstr "Sťahovanie"
-#: templates/index.php:85 templates/index.php:86
+#: templates/index.php:88 templates/index.php:89
msgid "Unshare"
msgstr "Zrušiť zdieľanie"
-#: templates/index.php:91 templates/index.php:92
+#: templates/index.php:94 templates/index.php:95
msgid "Delete"
msgstr "Zmazať"
-#: templates/index.php:105
+#: templates/index.php:108
msgid "Upload too large"
msgstr "Nahrávanie je príliš veľké"
-#: templates/index.php:107
+#: templates/index.php:110
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "Súbory, ktoré sa snažíte nahrať, presahujú maximálnu veľkosť pre nahratie súborov na tento server."
-#: templates/index.php:112
+#: templates/index.php:115
msgid "Files are being scanned, please wait."
msgstr "Čakajte, súbory sú prehľadávané."
-#: templates/index.php:115
+#: templates/index.php:118
msgid "Current scanning"
msgstr "Práve prezerané"
diff --git a/l10n/sl/core.po b/l10n/sl/core.po
index fa6ea1ad860..73fa71d789d 100644
--- a/l10n/sl/core.po
+++ b/l10n/sl/core.po
@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:32-0400\n"
-"PO-Revision-Date: 2013-08-30 13:33+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Slovenian (http://www.transifex.com/projects/p/owncloud/language/sl/)\n"
"MIME-Version: 1.0\n"
@@ -26,7 +26,7 @@ msgstr "%s je delil »%s« z vami"
#: ajax/share.php:227
msgid "group"
-msgstr ""
+msgstr "skupina"
#: ajax/update.php:11
msgid "Turned on maintenance mode"
diff --git a/l10n/sl/files.po b/l10n/sl/files.po
index 1428fd2d734..79716d1228f 100644
--- a/l10n/sl/files.po
+++ b/l10n/sl/files.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:31-0400\n"
-"PO-Revision-Date: 2013-08-30 13:34+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Slovenian (http://www.transifex.com/projects/p/owncloud/language/sl/)\n"
"MIME-Version: 1.0\n"
@@ -77,7 +77,7 @@ msgstr "Na voljo ni dovolj prostora"
#: ajax/upload.php:109
msgid "Upload failed"
-msgstr ""
+msgstr "Pošiljanje je spodletelo"
#: ajax/upload.php:127
msgid "Invalid directory."
@@ -112,7 +112,7 @@ msgstr "Naslov URL ne sme biti prazna vrednost."
msgid "Invalid folder name. Usage of 'Shared' is reserved by ownCloud"
msgstr "Ime mape je neveljavno. Uporaba oznake \"Souporaba\" je rezervirana za ownCloud"
-#: js/file-upload.js:275 js/file-upload.js:291 js/files.js:511 js/files.js:549
+#: js/file-upload.js:276 js/file-upload.js:292 js/files.js:512 js/files.js:550
msgid "Error"
msgstr "Napaka"
@@ -128,35 +128,35 @@ msgstr "Izbriši dokončno"
msgid "Rename"
msgstr "Preimenuj"
-#: js/filelist.js:49 js/filelist.js:52 js/filelist.js:573
+#: js/filelist.js:50 js/filelist.js:53 js/filelist.js:575
msgid "Pending"
msgstr "V čakanju ..."
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "{new_name} already exists"
msgstr "{new_name} že obstaja"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "replace"
msgstr "zamenjaj"
-#: js/filelist.js:305
+#: js/filelist.js:307
msgid "suggest name"
msgstr "predlagaj ime"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "cancel"
msgstr "prekliči"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "replaced {new_name} with {old_name}"
msgstr "preimenovano ime {new_name} z imenom {old_name}"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "undo"
msgstr "razveljavi"
-#: js/filelist.js:422 js/filelist.js:488 js/files.js:580
+#: js/filelist.js:424 js/filelist.js:490 js/files.js:581
msgid "%n folder"
msgid_plural "%n folders"
msgstr[0] ""
@@ -164,7 +164,7 @@ msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
-#: js/filelist.js:423 js/filelist.js:489 js/files.js:586
+#: js/filelist.js:425 js/filelist.js:491 js/files.js:587
msgid "%n file"
msgid_plural "%n files"
msgstr[0] ""
@@ -172,11 +172,11 @@ msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
-#: js/filelist.js:430
+#: js/filelist.js:432
msgid "{dirs} and {files}"
msgstr ""
-#: js/filelist.js:561
+#: js/filelist.js:563
msgid "Uploading %n file"
msgid_plural "Uploading %n files"
msgstr[0] ""
@@ -184,7 +184,7 @@ msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
-#: js/filelist.js:626
+#: js/filelist.js:628
msgid "files uploading"
msgstr "poteka pošiljanje datotek"
@@ -222,15 +222,15 @@ msgid ""
"big."
msgstr "Postopek priprave datoteke za prejem je lahko dolgotrajen, če je datoteka zelo velika."
-#: js/files.js:562 templates/index.php:67
+#: js/files.js:563 templates/index.php:69
msgid "Name"
msgstr "Ime"
-#: js/files.js:563 templates/index.php:78
+#: js/files.js:564 templates/index.php:81
msgid "Size"
msgstr "Velikost"
-#: js/files.js:564 templates/index.php:80
+#: js/files.js:565 templates/index.php:83
msgid "Modified"
msgstr "Spremenjeno"
@@ -307,33 +307,33 @@ msgstr "Za to mesto ni ustreznih dovoljenj za pisanje."
msgid "Nothing in here. Upload something!"
msgstr "Tukaj še ni ničesar. Najprej je treba kakšno datoteko poslati v oblak!"
-#: templates/index.php:73
+#: templates/index.php:75
msgid "Download"
msgstr "Prejmi"
-#: templates/index.php:85 templates/index.php:86
+#: templates/index.php:88 templates/index.php:89
msgid "Unshare"
msgstr "Prekliči souporabo"
-#: templates/index.php:91 templates/index.php:92
+#: templates/index.php:94 templates/index.php:95
msgid "Delete"
msgstr "Izbriši"
-#: templates/index.php:105
+#: templates/index.php:108
msgid "Upload too large"
msgstr "Prekoračenje omejitve velikosti"
-#: templates/index.php:107
+#: templates/index.php:110
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "Datoteke, ki jih želite poslati, presegajo največjo dovoljeno velikost na strežniku."
-#: templates/index.php:112
+#: templates/index.php:115
msgid "Files are being scanned, please wait."
msgstr "Poteka preučevanje datotek, počakajte ..."
-#: templates/index.php:115
+#: templates/index.php:118
msgid "Current scanning"
msgstr "Trenutno poteka preučevanje"
diff --git a/l10n/sr/core.po b/l10n/sr/core.po
index be1b85599a1..3a92c457140 100644
--- a/l10n/sr/core.po
+++ b/l10n/sr/core.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:32-0400\n"
-"PO-Revision-Date: 2013-08-30 13:33+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Serbian (http://www.transifex.com/projects/p/owncloud/language/sr/)\n"
"MIME-Version: 1.0\n"
@@ -24,7 +24,7 @@ msgstr ""
#: ajax/share.php:227
msgid "group"
-msgstr ""
+msgstr "група"
#: ajax/update.php:11
msgid "Turned on maintenance mode"
diff --git a/l10n/sr/files.po b/l10n/sr/files.po
index c5f4089097c..5e4429bcc04 100644
--- a/l10n/sr/files.po
+++ b/l10n/sr/files.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:31-0400\n"
-"PO-Revision-Date: 2013-08-30 13:34+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Serbian (http://www.transifex.com/projects/p/owncloud/language/sr/)\n"
"MIME-Version: 1.0\n"
@@ -76,7 +76,7 @@ msgstr "Нема довољно простора"
#: ajax/upload.php:109
msgid "Upload failed"
-msgstr ""
+msgstr "Отпремање није успело"
#: ajax/upload.php:127
msgid "Invalid directory."
@@ -111,7 +111,7 @@ msgstr "Адреса не може бити празна."
msgid "Invalid folder name. Usage of 'Shared' is reserved by ownCloud"
msgstr ""
-#: js/file-upload.js:275 js/file-upload.js:291 js/files.js:511 js/files.js:549
+#: js/file-upload.js:276 js/file-upload.js:292 js/files.js:512 js/files.js:550
msgid "Error"
msgstr "Грешка"
@@ -127,60 +127,60 @@ msgstr "Обриши за стално"
msgid "Rename"
msgstr "Преименуј"
-#: js/filelist.js:49 js/filelist.js:52 js/filelist.js:573
+#: js/filelist.js:50 js/filelist.js:53 js/filelist.js:575
msgid "Pending"
msgstr "На чекању"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "{new_name} already exists"
msgstr "{new_name} већ постоји"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "replace"
msgstr "замени"
-#: js/filelist.js:305
+#: js/filelist.js:307
msgid "suggest name"
msgstr "предложи назив"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "cancel"
msgstr "откажи"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "replaced {new_name} with {old_name}"
msgstr "замењено {new_name} са {old_name}"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "undo"
msgstr "опозови"
-#: js/filelist.js:422 js/filelist.js:488 js/files.js:580
+#: js/filelist.js:424 js/filelist.js:490 js/files.js:581
msgid "%n folder"
msgid_plural "%n folders"
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
-#: js/filelist.js:423 js/filelist.js:489 js/files.js:586
+#: js/filelist.js:425 js/filelist.js:491 js/files.js:587
msgid "%n file"
msgid_plural "%n files"
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
-#: js/filelist.js:430
+#: js/filelist.js:432
msgid "{dirs} and {files}"
msgstr ""
-#: js/filelist.js:561
+#: js/filelist.js:563
msgid "Uploading %n file"
msgid_plural "Uploading %n files"
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
-#: js/filelist.js:626
+#: js/filelist.js:628
msgid "files uploading"
msgstr "датотеке се отпремају"
@@ -218,15 +218,15 @@ msgid ""
"big."
msgstr "Припремам преузимање. Ово може да потраје ако су датотеке велике."
-#: js/files.js:562 templates/index.php:67
+#: js/files.js:563 templates/index.php:69
msgid "Name"
msgstr "Име"
-#: js/files.js:563 templates/index.php:78
+#: js/files.js:564 templates/index.php:81
msgid "Size"
msgstr "Величина"
-#: js/files.js:564 templates/index.php:80
+#: js/files.js:565 templates/index.php:83
msgid "Modified"
msgstr "Измењено"
@@ -303,33 +303,33 @@ msgstr "Овде немате дозволу за писање."
msgid "Nothing in here. Upload something!"
msgstr "Овде нема ничег. Отпремите нешто!"
-#: templates/index.php:73
+#: templates/index.php:75
msgid "Download"
msgstr "Преузми"
-#: templates/index.php:85 templates/index.php:86
+#: templates/index.php:88 templates/index.php:89
msgid "Unshare"
msgstr "Укини дељење"
-#: templates/index.php:91 templates/index.php:92
+#: templates/index.php:94 templates/index.php:95
msgid "Delete"
msgstr "Обриши"
-#: templates/index.php:105
+#: templates/index.php:108
msgid "Upload too large"
msgstr "Датотека је превелика"
-#: templates/index.php:107
+#: templates/index.php:110
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "Датотеке које желите да отпремите прелазе ограничење у величини."
-#: templates/index.php:112
+#: templates/index.php:115
msgid "Files are being scanned, please wait."
msgstr "Скенирам датотеке…"
-#: templates/index.php:115
+#: templates/index.php:118
msgid "Current scanning"
msgstr "Тренутно скенирање"
diff --git a/l10n/sv/core.po b/l10n/sv/core.po
index 0147f55088e..04d23af90d9 100644
--- a/l10n/sv/core.po
+++ b/l10n/sv/core.po
@@ -11,8 +11,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:32-0400\n"
-"PO-Revision-Date: 2013-08-30 13:33+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Swedish (http://www.transifex.com/projects/p/owncloud/language/sv/)\n"
"MIME-Version: 1.0\n"
@@ -28,7 +28,7 @@ msgstr "%s delade »%s« med dig"
#: ajax/share.php:227
msgid "group"
-msgstr ""
+msgstr "Grupp"
#: ajax/update.php:11
msgid "Turned on maintenance mode"
diff --git a/l10n/sv/files.po b/l10n/sv/files.po
index 00cbd7f1a36..2e311fca6d7 100644
--- a/l10n/sv/files.po
+++ b/l10n/sv/files.po
@@ -11,9 +11,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:31-0400\n"
-"PO-Revision-Date: 2013-08-30 13:34+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-31 16:50+0000\n"
+"Last-Translator: Magnus Höglund <magnus@linux.com>\n"
"Language-Team: Swedish (http://www.transifex.com/projects/p/owncloud/language/sv/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -80,7 +80,7 @@ msgstr "Inte tillräckligt med lagringsutrymme tillgängligt"
#: ajax/upload.php:109
msgid "Upload failed"
-msgstr ""
+msgstr "Misslyckad uppladdning"
#: ajax/upload.php:127
msgid "Invalid directory."
@@ -115,7 +115,7 @@ msgstr "URL kan inte vara tom."
msgid "Invalid folder name. Usage of 'Shared' is reserved by ownCloud"
msgstr "Ogiltigt mappnamn. Användning av 'Shared' är reserverad av ownCloud"
-#: js/file-upload.js:275 js/file-upload.js:291 js/files.js:511 js/files.js:549
+#: js/file-upload.js:276 js/file-upload.js:292 js/files.js:512 js/files.js:550
msgid "Error"
msgstr "Fel"
@@ -131,57 +131,57 @@ msgstr "Radera permanent"
msgid "Rename"
msgstr "Byt namn"
-#: js/filelist.js:49 js/filelist.js:52 js/filelist.js:573
+#: js/filelist.js:50 js/filelist.js:53 js/filelist.js:575
msgid "Pending"
msgstr "Väntar"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "{new_name} already exists"
msgstr "{new_name} finns redan"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "replace"
msgstr "ersätt"
-#: js/filelist.js:305
+#: js/filelist.js:307
msgid "suggest name"
msgstr "föreslå namn"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "cancel"
msgstr "avbryt"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "replaced {new_name} with {old_name}"
msgstr "ersatt {new_name} med {old_name}"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "undo"
msgstr "ångra"
-#: js/filelist.js:422 js/filelist.js:488 js/files.js:580
+#: js/filelist.js:424 js/filelist.js:490 js/files.js:581
msgid "%n folder"
msgid_plural "%n folders"
msgstr[0] "%n mapp"
msgstr[1] "%n mappar"
-#: js/filelist.js:423 js/filelist.js:489 js/files.js:586
+#: js/filelist.js:425 js/filelist.js:491 js/files.js:587
msgid "%n file"
msgid_plural "%n files"
msgstr[0] "%n fil"
msgstr[1] "%n filer"
-#: js/filelist.js:430
+#: js/filelist.js:432
msgid "{dirs} and {files}"
-msgstr ""
+msgstr "{dirs} och {files}"
-#: js/filelist.js:561
+#: js/filelist.js:563
msgid "Uploading %n file"
msgid_plural "Uploading %n files"
msgstr[0] "Laddar upp %n fil"
msgstr[1] "Laddar upp %n filer"
-#: js/filelist.js:626
+#: js/filelist.js:628
msgid "files uploading"
msgstr "filer laddas upp"
@@ -219,15 +219,15 @@ msgid ""
"big."
msgstr "Din nedladdning förbereds. Det kan ta tid om det är stora filer."
-#: js/files.js:562 templates/index.php:67
+#: js/files.js:563 templates/index.php:69
msgid "Name"
msgstr "Namn"
-#: js/files.js:563 templates/index.php:78
+#: js/files.js:564 templates/index.php:81
msgid "Size"
msgstr "Storlek"
-#: js/files.js:564 templates/index.php:80
+#: js/files.js:565 templates/index.php:83
msgid "Modified"
msgstr "Ändrad"
@@ -304,33 +304,33 @@ msgstr "Du saknar skrivbehörighet här."
msgid "Nothing in here. Upload something!"
msgstr "Ingenting här. Ladda upp något!"
-#: templates/index.php:73
+#: templates/index.php:75
msgid "Download"
msgstr "Ladda ner"
-#: templates/index.php:85 templates/index.php:86
+#: templates/index.php:88 templates/index.php:89
msgid "Unshare"
msgstr "Sluta dela"
-#: templates/index.php:91 templates/index.php:92
+#: templates/index.php:94 templates/index.php:95
msgid "Delete"
msgstr "Radera"
-#: templates/index.php:105
+#: templates/index.php:108
msgid "Upload too large"
msgstr "För stor uppladdning"
-#: templates/index.php:107
+#: templates/index.php:110
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "Filerna du försöker ladda upp överstiger den maximala storleken för filöverföringar på servern."
-#: templates/index.php:112
+#: templates/index.php:115
msgid "Files are being scanned, please wait."
msgstr "Filer skannas, var god vänta"
-#: templates/index.php:115
+#: templates/index.php:118
msgid "Current scanning"
msgstr "Aktuell skanning"
diff --git a/l10n/ta_LK/core.po b/l10n/ta_LK/core.po
index 71c2bdbf22d..c04debca141 100644
--- a/l10n/ta_LK/core.po
+++ b/l10n/ta_LK/core.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:32-0400\n"
-"PO-Revision-Date: 2013-08-30 13:33+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Tamil (Sri-Lanka) (http://www.transifex.com/projects/p/owncloud/language/ta_LK/)\n"
"MIME-Version: 1.0\n"
@@ -24,7 +24,7 @@ msgstr ""
#: ajax/share.php:227
msgid "group"
-msgstr ""
+msgstr "குழு"
#: ajax/update.php:11
msgid "Turned on maintenance mode"
diff --git a/l10n/ta_LK/files.po b/l10n/ta_LK/files.po
index 9bc657e7df4..392dfada7d8 100644
--- a/l10n/ta_LK/files.po
+++ b/l10n/ta_LK/files.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:31-0400\n"
-"PO-Revision-Date: 2013-08-30 13:34+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Tamil (Sri-Lanka) (http://www.transifex.com/projects/p/owncloud/language/ta_LK/)\n"
"MIME-Version: 1.0\n"
@@ -76,7 +76,7 @@ msgstr ""
#: ajax/upload.php:109
msgid "Upload failed"
-msgstr ""
+msgstr "பதிவேற்றல் தோல்வியுற்றது"
#: ajax/upload.php:127
msgid "Invalid directory."
@@ -111,7 +111,7 @@ msgstr "URL வெறுமையாக இருக்கமுடியாத
msgid "Invalid folder name. Usage of 'Shared' is reserved by ownCloud"
msgstr ""
-#: js/file-upload.js:275 js/file-upload.js:291 js/files.js:511 js/files.js:549
+#: js/file-upload.js:276 js/file-upload.js:292 js/files.js:512 js/files.js:550
msgid "Error"
msgstr "வழு"
@@ -127,57 +127,57 @@ msgstr ""
msgid "Rename"
msgstr "பெயர்மாற்றம்"
-#: js/filelist.js:49 js/filelist.js:52 js/filelist.js:573
+#: js/filelist.js:50 js/filelist.js:53 js/filelist.js:575
msgid "Pending"
msgstr "நிலுவையிலுள்ள"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "{new_name} already exists"
msgstr "{new_name} ஏற்கனவே உள்ளது"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "replace"
msgstr "மாற்றிடுக"
-#: js/filelist.js:305
+#: js/filelist.js:307
msgid "suggest name"
msgstr "பெயரை பரிந்துரைக்க"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "cancel"
msgstr "இரத்து செய்க"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "replaced {new_name} with {old_name}"
msgstr "{new_name} ஆனது {old_name} இனால் மாற்றப்பட்டது"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "undo"
msgstr "முன் செயல் நீக்கம் "
-#: js/filelist.js:422 js/filelist.js:488 js/files.js:580
+#: js/filelist.js:424 js/filelist.js:490 js/files.js:581
msgid "%n folder"
msgid_plural "%n folders"
msgstr[0] ""
msgstr[1] ""
-#: js/filelist.js:423 js/filelist.js:489 js/files.js:586
+#: js/filelist.js:425 js/filelist.js:491 js/files.js:587
msgid "%n file"
msgid_plural "%n files"
msgstr[0] ""
msgstr[1] ""
-#: js/filelist.js:430
+#: js/filelist.js:432
msgid "{dirs} and {files}"
msgstr ""
-#: js/filelist.js:561
+#: js/filelist.js:563
msgid "Uploading %n file"
msgid_plural "Uploading %n files"
msgstr[0] ""
msgstr[1] ""
-#: js/filelist.js:626
+#: js/filelist.js:628
msgid "files uploading"
msgstr ""
@@ -215,15 +215,15 @@ msgid ""
"big."
msgstr ""
-#: js/files.js:562 templates/index.php:67
+#: js/files.js:563 templates/index.php:69
msgid "Name"
msgstr "பெயர்"
-#: js/files.js:563 templates/index.php:78
+#: js/files.js:564 templates/index.php:81
msgid "Size"
msgstr "அளவு"
-#: js/files.js:564 templates/index.php:80
+#: js/files.js:565 templates/index.php:83
msgid "Modified"
msgstr "மாற்றப்பட்டது"
@@ -300,33 +300,33 @@ msgstr ""
msgid "Nothing in here. Upload something!"
msgstr "இங்கு ஒன்றும் இல்லை. ஏதாவது பதிவேற்றுக!"
-#: templates/index.php:73
+#: templates/index.php:75
msgid "Download"
msgstr "பதிவிறக்குக"
-#: templates/index.php:85 templates/index.php:86
+#: templates/index.php:88 templates/index.php:89
msgid "Unshare"
msgstr "பகிரப்படாதது"
-#: templates/index.php:91 templates/index.php:92
+#: templates/index.php:94 templates/index.php:95
msgid "Delete"
msgstr "நீக்குக"
-#: templates/index.php:105
+#: templates/index.php:108
msgid "Upload too large"
msgstr "பதிவேற்றல் மிகப்பெரியது"
-#: templates/index.php:107
+#: templates/index.php:110
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "நீங்கள் பதிவேற்ற முயற்சிக்கும் கோப்புகளானது இந்த சேவையகத்தில் கோப்பு பதிவேற்றக்கூடிய ஆகக்கூடிய அளவிலும் கூடியது."
-#: templates/index.php:112
+#: templates/index.php:115
msgid "Files are being scanned, please wait."
msgstr "கோப்புகள் வருடப்படுகின்றன, தயவுசெய்து காத்திருங்கள்."
-#: templates/index.php:115
+#: templates/index.php:118
msgid "Current scanning"
msgstr "தற்போது வருடப்படுபவை"
diff --git a/l10n/templates/core.pot b/l10n/templates/core.pot
index f9ccbd0049d..4c0e3a677c2 100644
--- a/l10n/templates/core.pot
+++ b/l10n/templates/core.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud Core 5.0.0\n"
"Report-Msgid-Bugs-To: translations@owncloud.org\n"
-"POT-Creation-Date: 2013-08-30 09:32-0400\n"
+"POT-Creation-Date: 2013-09-03 07:43-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/l10n/templates/files.pot b/l10n/templates/files.pot
index be393c44928..8e7a4df03e9 100644
--- a/l10n/templates/files.pot
+++ b/l10n/templates/files.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud Core 5.0.0\n"
"Report-Msgid-Bugs-To: translations@owncloud.org\n"
-"POT-Creation-Date: 2013-08-30 09:31-0400\n"
+"POT-Creation-Date: 2013-09-03 07:42-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -112,7 +112,7 @@ msgstr ""
msgid "Invalid folder name. Usage of 'Shared' is reserved by ownCloud"
msgstr ""
-#: js/file-upload.js:275 js/file-upload.js:291 js/files.js:511 js/files.js:549
+#: js/file-upload.js:276 js/file-upload.js:292 js/files.js:512 js/files.js:550
msgid "Error"
msgstr ""
@@ -128,57 +128,57 @@ msgstr ""
msgid "Rename"
msgstr ""
-#: js/filelist.js:49 js/filelist.js:52 js/filelist.js:573
+#: js/filelist.js:50 js/filelist.js:53 js/filelist.js:575
msgid "Pending"
msgstr ""
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "{new_name} already exists"
msgstr ""
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "replace"
msgstr ""
-#: js/filelist.js:305
+#: js/filelist.js:307
msgid "suggest name"
msgstr ""
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "cancel"
msgstr ""
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "replaced {new_name} with {old_name}"
msgstr ""
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "undo"
msgstr ""
-#: js/filelist.js:422 js/filelist.js:488 js/files.js:580
+#: js/filelist.js:424 js/filelist.js:490 js/files.js:581
msgid "%n folder"
msgid_plural "%n folders"
msgstr[0] ""
msgstr[1] ""
-#: js/filelist.js:423 js/filelist.js:489 js/files.js:586
+#: js/filelist.js:425 js/filelist.js:491 js/files.js:587
msgid "%n file"
msgid_plural "%n files"
msgstr[0] ""
msgstr[1] ""
-#: js/filelist.js:430
+#: js/filelist.js:432
msgid "{dirs} and {files}"
msgstr ""
-#: js/filelist.js:561
+#: js/filelist.js:563
msgid "Uploading %n file"
msgid_plural "Uploading %n files"
msgstr[0] ""
msgstr[1] ""
-#: js/filelist.js:626
+#: js/filelist.js:628
msgid "files uploading"
msgstr ""
@@ -216,15 +216,15 @@ msgid ""
"big."
msgstr ""
-#: js/files.js:562 templates/index.php:67
+#: js/files.js:563 templates/index.php:69
msgid "Name"
msgstr ""
-#: js/files.js:563 templates/index.php:78
+#: js/files.js:564 templates/index.php:81
msgid "Size"
msgstr ""
-#: js/files.js:564 templates/index.php:80
+#: js/files.js:565 templates/index.php:83
msgid "Modified"
msgstr ""
@@ -301,33 +301,33 @@ msgstr ""
msgid "Nothing in here. Upload something!"
msgstr ""
-#: templates/index.php:73
+#: templates/index.php:75
msgid "Download"
msgstr ""
-#: templates/index.php:85 templates/index.php:86
+#: templates/index.php:88 templates/index.php:89
msgid "Unshare"
msgstr ""
-#: templates/index.php:91 templates/index.php:92
+#: templates/index.php:94 templates/index.php:95
msgid "Delete"
msgstr ""
-#: templates/index.php:105
+#: templates/index.php:108
msgid "Upload too large"
msgstr ""
-#: templates/index.php:107
+#: templates/index.php:110
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr ""
-#: templates/index.php:112
+#: templates/index.php:115
msgid "Files are being scanned, please wait."
msgstr ""
-#: templates/index.php:115
+#: templates/index.php:118
msgid "Current scanning"
msgstr ""
diff --git a/l10n/templates/files_encryption.pot b/l10n/templates/files_encryption.pot
index 06a88da5450..b4ab99474a0 100644
--- a/l10n/templates/files_encryption.pot
+++ b/l10n/templates/files_encryption.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud Core 5.0.0\n"
"Report-Msgid-Bugs-To: translations@owncloud.org\n"
-"POT-Creation-Date: 2013-08-30 09:31-0400\n"
+"POT-Creation-Date: 2013-09-03 07:42-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -60,18 +60,18 @@ msgid ""
"files."
msgstr ""
-#: hooks/hooks.php:41
+#: hooks/hooks.php:51
msgid "Missing requirements."
msgstr ""
-#: hooks/hooks.php:42
+#: hooks/hooks.php:52
msgid ""
"Please make sure that PHP 5.3.3 or newer is installed and that OpenSSL "
"together with the PHP extension is enabled and configured properly. For now, "
"the encryption app has been disabled."
msgstr ""
-#: hooks/hooks.php:249
+#: hooks/hooks.php:250
msgid "Following users are not set up for encryption:"
msgstr ""
diff --git a/l10n/templates/files_external.pot b/l10n/templates/files_external.pot
index 79b7984dd18..780ae791813 100644
--- a/l10n/templates/files_external.pot
+++ b/l10n/templates/files_external.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud Core 5.0.0\n"
"Report-Msgid-Bugs-To: translations@owncloud.org\n"
-"POT-Creation-Date: 2013-08-30 09:32-0400\n"
+"POT-Creation-Date: 2013-09-03 07:43-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/l10n/templates/files_sharing.pot b/l10n/templates/files_sharing.pot
index 4cfc080a083..e5052a67c11 100644
--- a/l10n/templates/files_sharing.pot
+++ b/l10n/templates/files_sharing.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud Core 5.0.0\n"
"Report-Msgid-Bugs-To: translations@owncloud.org\n"
-"POT-Creation-Date: 2013-08-30 09:32-0400\n"
+"POT-Creation-Date: 2013-09-03 07:43-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -63,7 +63,7 @@ msgstr ""
msgid "%s shared the file %s with you"
msgstr ""
-#: templates/public.php:26 templates/public.php:88
+#: templates/public.php:26 templates/public.php:92
msgid "Download"
msgstr ""
@@ -75,6 +75,6 @@ msgstr ""
msgid "Cancel upload"
msgstr ""
-#: templates/public.php:85
+#: templates/public.php:89
msgid "No preview available for"
msgstr ""
diff --git a/l10n/templates/files_trashbin.pot b/l10n/templates/files_trashbin.pot
index ed36dd2e0d3..c468f343d19 100644
--- a/l10n/templates/files_trashbin.pot
+++ b/l10n/templates/files_trashbin.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud Core 5.0.0\n"
"Report-Msgid-Bugs-To: translations@owncloud.org\n"
-"POT-Creation-Date: 2013-08-30 09:32-0400\n"
+"POT-Creation-Date: 2013-09-03 07:43-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/l10n/templates/files_versions.pot b/l10n/templates/files_versions.pot
index 5576a3f45bc..170cd574cb0 100644
--- a/l10n/templates/files_versions.pot
+++ b/l10n/templates/files_versions.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud Core 5.0.0\n"
"Report-Msgid-Bugs-To: translations@owncloud.org\n"
-"POT-Creation-Date: 2013-08-30 09:32-0400\n"
+"POT-Creation-Date: 2013-09-03 07:43-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/l10n/templates/lib.pot b/l10n/templates/lib.pot
index 16f93542555..802d246a6ac 100644
--- a/l10n/templates/lib.pot
+++ b/l10n/templates/lib.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud Core 5.0.0\n"
"Report-Msgid-Bugs-To: translations@owncloud.org\n"
-"POT-Creation-Date: 2013-08-30 09:33-0400\n"
+"POT-Creation-Date: 2013-09-03 07:44-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -265,51 +265,51 @@ msgstr ""
msgid "Please double check the <a href='%s'>installation guides</a>."
msgstr ""
-#: template/functions.php:80
+#: template/functions.php:96
msgid "seconds ago"
msgstr ""
-#: template/functions.php:81
+#: template/functions.php:97
msgid "%n minute ago"
msgid_plural "%n minutes ago"
msgstr[0] ""
msgstr[1] ""
-#: template/functions.php:82
+#: template/functions.php:98
msgid "%n hour ago"
msgid_plural "%n hours ago"
msgstr[0] ""
msgstr[1] ""
-#: template/functions.php:83
+#: template/functions.php:99
msgid "today"
msgstr ""
-#: template/functions.php:84
+#: template/functions.php:100
msgid "yesterday"
msgstr ""
-#: template/functions.php:85
+#: template/functions.php:101
msgid "%n day go"
msgid_plural "%n days ago"
msgstr[0] ""
msgstr[1] ""
-#: template/functions.php:86
+#: template/functions.php:102
msgid "last month"
msgstr ""
-#: template/functions.php:87
+#: template/functions.php:103
msgid "%n month ago"
msgid_plural "%n months ago"
msgstr[0] ""
msgstr[1] ""
-#: template/functions.php:88
+#: template/functions.php:104
msgid "last year"
msgstr ""
-#: template/functions.php:89
+#: template/functions.php:105
msgid "years ago"
msgstr ""
diff --git a/l10n/templates/settings.pot b/l10n/templates/settings.pot
index 33409afcebb..c5c3abed6cc 100644
--- a/l10n/templates/settings.pot
+++ b/l10n/templates/settings.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud Core 5.0.0\n"
"Report-Msgid-Bugs-To: translations@owncloud.org\n"
-"POT-Creation-Date: 2013-08-30 09:33-0400\n"
+"POT-Creation-Date: 2013-09-03 07:44-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/l10n/templates/user_ldap.pot b/l10n/templates/user_ldap.pot
index 32ba6b4a95d..3990f5bce43 100644
--- a/l10n/templates/user_ldap.pot
+++ b/l10n/templates/user_ldap.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud Core 5.0.0\n"
"Report-Msgid-Bugs-To: translations@owncloud.org\n"
-"POT-Creation-Date: 2013-08-30 09:32-0400\n"
+"POT-Creation-Date: 2013-09-03 07:43-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/l10n/templates/user_webdavauth.pot b/l10n/templates/user_webdavauth.pot
index 04f405c7392..8a84e0fe61a 100644
--- a/l10n/templates/user_webdavauth.pot
+++ b/l10n/templates/user_webdavauth.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud Core 5.0.0\n"
"Report-Msgid-Bugs-To: translations@owncloud.org\n"
-"POT-Creation-Date: 2013-08-30 09:32-0400\n"
+"POT-Creation-Date: 2013-09-03 07:43-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/l10n/th_TH/core.po b/l10n/th_TH/core.po
index d1e093aba89..44071aa2ac3 100644
--- a/l10n/th_TH/core.po
+++ b/l10n/th_TH/core.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:32-0400\n"
-"PO-Revision-Date: 2013-08-30 13:33+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Thai (Thailand) (http://www.transifex.com/projects/p/owncloud/language/th_TH/)\n"
"MIME-Version: 1.0\n"
@@ -24,7 +24,7 @@ msgstr ""
#: ajax/share.php:227
msgid "group"
-msgstr ""
+msgstr "กลุ่มผู้ใช้งาน"
#: ajax/update.php:11
msgid "Turned on maintenance mode"
diff --git a/l10n/th_TH/files.po b/l10n/th_TH/files.po
index 800c07574fa..beceaab6f50 100644
--- a/l10n/th_TH/files.po
+++ b/l10n/th_TH/files.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:31-0400\n"
-"PO-Revision-Date: 2013-08-30 13:34+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Thai (Thailand) (http://www.transifex.com/projects/p/owncloud/language/th_TH/)\n"
"MIME-Version: 1.0\n"
@@ -76,7 +76,7 @@ msgstr "เหลือพื้นที่ไม่เพียงสำหร
#: ajax/upload.php:109
msgid "Upload failed"
-msgstr ""
+msgstr "อัพโหลดล้มเหลว"
#: ajax/upload.php:127
msgid "Invalid directory."
@@ -111,7 +111,7 @@ msgstr "URL ไม่สามารถเว้นว่างได้"
msgid "Invalid folder name. Usage of 'Shared' is reserved by ownCloud"
msgstr ""
-#: js/file-upload.js:275 js/file-upload.js:291 js/files.js:511 js/files.js:549
+#: js/file-upload.js:276 js/file-upload.js:292 js/files.js:512 js/files.js:550
msgid "Error"
msgstr "ข้อผิดพลาด"
@@ -127,54 +127,54 @@ msgstr ""
msgid "Rename"
msgstr "เปลี่ยนชื่อ"
-#: js/filelist.js:49 js/filelist.js:52 js/filelist.js:573
+#: js/filelist.js:50 js/filelist.js:53 js/filelist.js:575
msgid "Pending"
msgstr "อยู่ระหว่างดำเนินการ"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "{new_name} already exists"
msgstr "{new_name} มีอยู่แล้วในระบบ"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "replace"
msgstr "แทนที่"
-#: js/filelist.js:305
+#: js/filelist.js:307
msgid "suggest name"
msgstr "แนะนำชื่อ"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "cancel"
msgstr "ยกเลิก"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "replaced {new_name} with {old_name}"
msgstr "แทนที่ {new_name} ด้วย {old_name} แล้ว"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "undo"
msgstr "เลิกทำ"
-#: js/filelist.js:422 js/filelist.js:488 js/files.js:580
+#: js/filelist.js:424 js/filelist.js:490 js/files.js:581
msgid "%n folder"
msgid_plural "%n folders"
msgstr[0] ""
-#: js/filelist.js:423 js/filelist.js:489 js/files.js:586
+#: js/filelist.js:425 js/filelist.js:491 js/files.js:587
msgid "%n file"
msgid_plural "%n files"
msgstr[0] ""
-#: js/filelist.js:430
+#: js/filelist.js:432
msgid "{dirs} and {files}"
msgstr ""
-#: js/filelist.js:561
+#: js/filelist.js:563
msgid "Uploading %n file"
msgid_plural "Uploading %n files"
msgstr[0] ""
-#: js/filelist.js:626
+#: js/filelist.js:628
msgid "files uploading"
msgstr "การอัพโหลดไฟล์"
@@ -212,15 +212,15 @@ msgid ""
"big."
msgstr "กำลังเตรียมดาวน์โหลดข้อมูล หากไฟล์มีขนาดใหญ่ อาจใช้เวลาสักครู่"
-#: js/files.js:562 templates/index.php:67
+#: js/files.js:563 templates/index.php:69
msgid "Name"
msgstr "ชื่อ"
-#: js/files.js:563 templates/index.php:78
+#: js/files.js:564 templates/index.php:81
msgid "Size"
msgstr "ขนาด"
-#: js/files.js:564 templates/index.php:80
+#: js/files.js:565 templates/index.php:83
msgid "Modified"
msgstr "แก้ไขแล้ว"
@@ -297,33 +297,33 @@ msgstr ""
msgid "Nothing in here. Upload something!"
msgstr "ยังไม่มีไฟล์ใดๆอยู่ที่นี่ กรุณาอัพโหลดไฟล์!"
-#: templates/index.php:73
+#: templates/index.php:75
msgid "Download"
msgstr "ดาวน์โหลด"
-#: templates/index.php:85 templates/index.php:86
+#: templates/index.php:88 templates/index.php:89
msgid "Unshare"
msgstr "ยกเลิกการแชร์"
-#: templates/index.php:91 templates/index.php:92
+#: templates/index.php:94 templates/index.php:95
msgid "Delete"
msgstr "ลบ"
-#: templates/index.php:105
+#: templates/index.php:108
msgid "Upload too large"
msgstr "ไฟล์ที่อัพโหลดมีขนาดใหญ่เกินไป"
-#: templates/index.php:107
+#: templates/index.php:110
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "ไฟล์ที่คุณพยายามที่จะอัพโหลดมีขนาดเกินกว่าขนาดสูงสุดที่กำหนดไว้ให้อัพโหลดได้สำหรับเซิร์ฟเวอร์นี้"
-#: templates/index.php:112
+#: templates/index.php:115
msgid "Files are being scanned, please wait."
msgstr "ไฟล์กำลังอยู่ระหว่างการสแกน, กรุณารอสักครู่."
-#: templates/index.php:115
+#: templates/index.php:118
msgid "Current scanning"
msgstr "ไฟล์ที่กำลังสแกนอยู่ขณะนี้"
diff --git a/l10n/tr/core.po b/l10n/tr/core.po
index ad793be7d81..3f86937276e 100644
--- a/l10n/tr/core.po
+++ b/l10n/tr/core.po
@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:32-0400\n"
-"PO-Revision-Date: 2013-08-30 13:33+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Turkish (http://www.transifex.com/projects/p/owncloud/language/tr/)\n"
"MIME-Version: 1.0\n"
@@ -26,7 +26,7 @@ msgstr "%s sizinle »%s« paylaşımında bulundu"
#: ajax/share.php:227
msgid "group"
-msgstr ""
+msgstr "grup"
#: ajax/update.php:11
msgid "Turned on maintenance mode"
diff --git a/l10n/tr/files.po b/l10n/tr/files.po
index ec4947bf1e3..5fe275702b0 100644
--- a/l10n/tr/files.po
+++ b/l10n/tr/files.po
@@ -10,8 +10,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:31-0400\n"
-"PO-Revision-Date: 2013-08-30 13:34+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Turkish (http://www.transifex.com/projects/p/owncloud/language/tr/)\n"
"MIME-Version: 1.0\n"
@@ -79,7 +79,7 @@ msgstr "Yeterli disk alanı yok"
#: ajax/upload.php:109
msgid "Upload failed"
-msgstr ""
+msgstr "Yükleme başarısız"
#: ajax/upload.php:127
msgid "Invalid directory."
@@ -114,7 +114,7 @@ msgstr "URL boş olamaz."
msgid "Invalid folder name. Usage of 'Shared' is reserved by ownCloud"
msgstr "Geçersiz dizin adı. 'Shared' dizin ismi kullanımı ownCloud tarafından rezerve edilmiştir."
-#: js/file-upload.js:275 js/file-upload.js:291 js/files.js:511 js/files.js:549
+#: js/file-upload.js:276 js/file-upload.js:292 js/files.js:512 js/files.js:550
msgid "Error"
msgstr "Hata"
@@ -130,57 +130,57 @@ msgstr "Kalıcı olarak sil"
msgid "Rename"
msgstr "İsim değiştir."
-#: js/filelist.js:49 js/filelist.js:52 js/filelist.js:573
+#: js/filelist.js:50 js/filelist.js:53 js/filelist.js:575
msgid "Pending"
msgstr "Bekliyor"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "{new_name} already exists"
msgstr "{new_name} zaten mevcut"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "replace"
msgstr "değiştir"
-#: js/filelist.js:305
+#: js/filelist.js:307
msgid "suggest name"
msgstr "Öneri ad"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "cancel"
msgstr "iptal"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "replaced {new_name} with {old_name}"
msgstr "{new_name} ismi {old_name} ile değiştirildi"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "undo"
msgstr "geri al"
-#: js/filelist.js:422 js/filelist.js:488 js/files.js:580
+#: js/filelist.js:424 js/filelist.js:490 js/files.js:581
msgid "%n folder"
msgid_plural "%n folders"
msgstr[0] "%n dizin"
msgstr[1] "%n dizin"
-#: js/filelist.js:423 js/filelist.js:489 js/files.js:586
+#: js/filelist.js:425 js/filelist.js:491 js/files.js:587
msgid "%n file"
msgid_plural "%n files"
msgstr[0] "%n dosya"
msgstr[1] "%n dosya"
-#: js/filelist.js:430
+#: js/filelist.js:432
msgid "{dirs} and {files}"
msgstr ""
-#: js/filelist.js:561
+#: js/filelist.js:563
msgid "Uploading %n file"
msgid_plural "Uploading %n files"
msgstr[0] "%n dosya yükleniyor"
msgstr[1] "%n dosya yükleniyor"
-#: js/filelist.js:626
+#: js/filelist.js:628
msgid "files uploading"
msgstr "Dosyalar yükleniyor"
@@ -218,15 +218,15 @@ msgid ""
"big."
msgstr "İndirmeniz hazırlanıyor. Dosya büyük ise biraz zaman alabilir."
-#: js/files.js:562 templates/index.php:67
+#: js/files.js:563 templates/index.php:69
msgid "Name"
msgstr "İsim"
-#: js/files.js:563 templates/index.php:78
+#: js/files.js:564 templates/index.php:81
msgid "Size"
msgstr "Boyut"
-#: js/files.js:564 templates/index.php:80
+#: js/files.js:565 templates/index.php:83
msgid "Modified"
msgstr "Değiştirilme"
@@ -303,33 +303,33 @@ msgstr "Buraya erişim hakkınız yok."
msgid "Nothing in here. Upload something!"
msgstr "Burada hiçbir şey yok. Birşeyler yükleyin!"
-#: templates/index.php:73
+#: templates/index.php:75
msgid "Download"
msgstr "İndir"
-#: templates/index.php:85 templates/index.php:86
+#: templates/index.php:88 templates/index.php:89
msgid "Unshare"
msgstr "Paylaşılmayan"
-#: templates/index.php:91 templates/index.php:92
+#: templates/index.php:94 templates/index.php:95
msgid "Delete"
msgstr "Sil"
-#: templates/index.php:105
+#: templates/index.php:108
msgid "Upload too large"
msgstr "Yükleme çok büyük"
-#: templates/index.php:107
+#: templates/index.php:110
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "Yüklemeye çalıştığınız dosyalar bu sunucudaki maksimum yükleme boyutunu aşıyor."
-#: templates/index.php:112
+#: templates/index.php:115
msgid "Files are being scanned, please wait."
msgstr "Dosyalar taranıyor, lütfen bekleyin."
-#: templates/index.php:115
+#: templates/index.php:118
msgid "Current scanning"
msgstr "Güncel tarama"
diff --git a/l10n/ug/core.po b/l10n/ug/core.po
index e4e9c2bb89e..307adf55903 100644
--- a/l10n/ug/core.po
+++ b/l10n/ug/core.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:32-0400\n"
-"PO-Revision-Date: 2013-08-30 13:33+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Uighur <uqkun@outlook.com>\n"
"MIME-Version: 1.0\n"
@@ -24,7 +24,7 @@ msgstr ""
#: ajax/share.php:227
msgid "group"
-msgstr ""
+msgstr "گۇرۇپپا"
#: ajax/update.php:11
msgid "Turned on maintenance mode"
diff --git a/l10n/uk/core.po b/l10n/uk/core.po
index 5626dcfa66f..9467404002f 100644
--- a/l10n/uk/core.po
+++ b/l10n/uk/core.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:32-0400\n"
-"PO-Revision-Date: 2013-08-30 13:33+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Ukrainian (http://www.transifex.com/projects/p/owncloud/language/uk/)\n"
"MIME-Version: 1.0\n"
@@ -24,7 +24,7 @@ msgstr ""
#: ajax/share.php:227
msgid "group"
-msgstr ""
+msgstr "група"
#: ajax/update.php:11
msgid "Turned on maintenance mode"
diff --git a/l10n/uk/files.po b/l10n/uk/files.po
index b862958c94f..cd61a53093e 100644
--- a/l10n/uk/files.po
+++ b/l10n/uk/files.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:31-0400\n"
-"PO-Revision-Date: 2013-08-30 13:34+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Ukrainian (http://www.transifex.com/projects/p/owncloud/language/uk/)\n"
"MIME-Version: 1.0\n"
@@ -77,7 +77,7 @@ msgstr "Місця більше немає"
#: ajax/upload.php:109
msgid "Upload failed"
-msgstr ""
+msgstr "Помилка завантаження"
#: ajax/upload.php:127
msgid "Invalid directory."
@@ -112,7 +112,7 @@ msgstr "URL не може бути пустим."
msgid "Invalid folder name. Usage of 'Shared' is reserved by ownCloud"
msgstr ""
-#: js/file-upload.js:275 js/file-upload.js:291 js/files.js:511 js/files.js:549
+#: js/file-upload.js:276 js/file-upload.js:292 js/files.js:512 js/files.js:550
msgid "Error"
msgstr "Помилка"
@@ -128,60 +128,60 @@ msgstr "Видалити назавжди"
msgid "Rename"
msgstr "Перейменувати"
-#: js/filelist.js:49 js/filelist.js:52 js/filelist.js:573
+#: js/filelist.js:50 js/filelist.js:53 js/filelist.js:575
msgid "Pending"
msgstr "Очікування"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "{new_name} already exists"
msgstr "{new_name} вже існує"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "replace"
msgstr "заміна"
-#: js/filelist.js:305
+#: js/filelist.js:307
msgid "suggest name"
msgstr "запропонуйте назву"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "cancel"
msgstr "відміна"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "replaced {new_name} with {old_name}"
msgstr "замінено {new_name} на {old_name}"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "undo"
msgstr "відмінити"
-#: js/filelist.js:422 js/filelist.js:488 js/files.js:580
+#: js/filelist.js:424 js/filelist.js:490 js/files.js:581
msgid "%n folder"
msgid_plural "%n folders"
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
-#: js/filelist.js:423 js/filelist.js:489 js/files.js:586
+#: js/filelist.js:425 js/filelist.js:491 js/files.js:587
msgid "%n file"
msgid_plural "%n files"
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
-#: js/filelist.js:430
+#: js/filelist.js:432
msgid "{dirs} and {files}"
msgstr ""
-#: js/filelist.js:561
+#: js/filelist.js:563
msgid "Uploading %n file"
msgid_plural "Uploading %n files"
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
-#: js/filelist.js:626
+#: js/filelist.js:628
msgid "files uploading"
msgstr "файли завантажуються"
@@ -219,15 +219,15 @@ msgid ""
"big."
msgstr "Ваше завантаження готується. Це може зайняти деякий час, якщо файли завеликі."
-#: js/files.js:562 templates/index.php:67
+#: js/files.js:563 templates/index.php:69
msgid "Name"
msgstr "Ім'я"
-#: js/files.js:563 templates/index.php:78
+#: js/files.js:564 templates/index.php:81
msgid "Size"
msgstr "Розмір"
-#: js/files.js:564 templates/index.php:80
+#: js/files.js:565 templates/index.php:83
msgid "Modified"
msgstr "Змінено"
@@ -304,33 +304,33 @@ msgstr "У вас тут немає прав на запис."
msgid "Nothing in here. Upload something!"
msgstr "Тут нічого немає. Відвантажте що-небудь!"
-#: templates/index.php:73
+#: templates/index.php:75
msgid "Download"
msgstr "Завантажити"
-#: templates/index.php:85 templates/index.php:86
+#: templates/index.php:88 templates/index.php:89
msgid "Unshare"
msgstr "Закрити доступ"
-#: templates/index.php:91 templates/index.php:92
+#: templates/index.php:94 templates/index.php:95
msgid "Delete"
msgstr "Видалити"
-#: templates/index.php:105
+#: templates/index.php:108
msgid "Upload too large"
msgstr "Файл занадто великий"
-#: templates/index.php:107
+#: templates/index.php:110
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "Файли,що ви намагаєтесь відвантажити перевищують максимальний дозволений розмір файлів на цьому сервері."
-#: templates/index.php:112
+#: templates/index.php:115
msgid "Files are being scanned, please wait."
msgstr "Файли скануються, зачекайте, будь-ласка."
-#: templates/index.php:115
+#: templates/index.php:118
msgid "Current scanning"
msgstr "Поточне сканування"
diff --git a/l10n/vi/core.po b/l10n/vi/core.po
index d7196f3ab9f..dda5098f3cb 100644
--- a/l10n/vi/core.po
+++ b/l10n/vi/core.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:32-0400\n"
-"PO-Revision-Date: 2013-08-30 13:33+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Vietnamese (http://www.transifex.com/projects/p/owncloud/language/vi/)\n"
"MIME-Version: 1.0\n"
@@ -25,7 +25,7 @@ msgstr ""
#: ajax/share.php:227
msgid "group"
-msgstr ""
+msgstr "nhóm"
#: ajax/update.php:11
msgid "Turned on maintenance mode"
diff --git a/l10n/vi/files.po b/l10n/vi/files.po
index 3d1f24debd6..bba27b3142c 100644
--- a/l10n/vi/files.po
+++ b/l10n/vi/files.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:31-0400\n"
-"PO-Revision-Date: 2013-08-30 13:34+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Vietnamese (http://www.transifex.com/projects/p/owncloud/language/vi/)\n"
"MIME-Version: 1.0\n"
@@ -77,7 +77,7 @@ msgstr "Không đủ không gian lưu trữ"
#: ajax/upload.php:109
msgid "Upload failed"
-msgstr ""
+msgstr "Tải lên thất bại"
#: ajax/upload.php:127
msgid "Invalid directory."
@@ -112,7 +112,7 @@ msgstr "URL không được để trống."
msgid "Invalid folder name. Usage of 'Shared' is reserved by ownCloud"
msgstr ""
-#: js/file-upload.js:275 js/file-upload.js:291 js/files.js:511 js/files.js:549
+#: js/file-upload.js:276 js/file-upload.js:292 js/files.js:512 js/files.js:550
msgid "Error"
msgstr "Lỗi"
@@ -128,54 +128,54 @@ msgstr "Xóa vĩnh vễn"
msgid "Rename"
msgstr "Sửa tên"
-#: js/filelist.js:49 js/filelist.js:52 js/filelist.js:573
+#: js/filelist.js:50 js/filelist.js:53 js/filelist.js:575
msgid "Pending"
msgstr "Đang chờ"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "{new_name} already exists"
msgstr "{new_name} đã tồn tại"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "replace"
msgstr "thay thế"
-#: js/filelist.js:305
+#: js/filelist.js:307
msgid "suggest name"
msgstr "tên gợi ý"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "cancel"
msgstr "hủy"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "replaced {new_name} with {old_name}"
msgstr "đã thay thế {new_name} bằng {old_name}"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "undo"
msgstr "lùi lại"
-#: js/filelist.js:422 js/filelist.js:488 js/files.js:580
+#: js/filelist.js:424 js/filelist.js:490 js/files.js:581
msgid "%n folder"
msgid_plural "%n folders"
msgstr[0] ""
-#: js/filelist.js:423 js/filelist.js:489 js/files.js:586
+#: js/filelist.js:425 js/filelist.js:491 js/files.js:587
msgid "%n file"
msgid_plural "%n files"
msgstr[0] ""
-#: js/filelist.js:430
+#: js/filelist.js:432
msgid "{dirs} and {files}"
msgstr ""
-#: js/filelist.js:561
+#: js/filelist.js:563
msgid "Uploading %n file"
msgid_plural "Uploading %n files"
msgstr[0] ""
-#: js/filelist.js:626
+#: js/filelist.js:628
msgid "files uploading"
msgstr "tệp tin đang được tải lên"
@@ -213,15 +213,15 @@ msgid ""
"big."
msgstr "Your download is being prepared. This might take some time if the files are big."
-#: js/files.js:562 templates/index.php:67
+#: js/files.js:563 templates/index.php:69
msgid "Name"
msgstr "Tên"
-#: js/files.js:563 templates/index.php:78
+#: js/files.js:564 templates/index.php:81
msgid "Size"
msgstr "Kích cỡ"
-#: js/files.js:564 templates/index.php:80
+#: js/files.js:565 templates/index.php:83
msgid "Modified"
msgstr "Thay đổi"
@@ -298,33 +298,33 @@ msgstr "Bạn không có quyền ghi vào đây."
msgid "Nothing in here. Upload something!"
msgstr "Không có gì ở đây .Hãy tải lên một cái gì đó !"
-#: templates/index.php:73
+#: templates/index.php:75
msgid "Download"
msgstr "Tải về"
-#: templates/index.php:85 templates/index.php:86
+#: templates/index.php:88 templates/index.php:89
msgid "Unshare"
msgstr "Bỏ chia sẻ"
-#: templates/index.php:91 templates/index.php:92
+#: templates/index.php:94 templates/index.php:95
msgid "Delete"
msgstr "Xóa"
-#: templates/index.php:105
+#: templates/index.php:108
msgid "Upload too large"
msgstr "Tập tin tải lên quá lớn"
-#: templates/index.php:107
+#: templates/index.php:110
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "Các tập tin bạn đang tải lên vượt quá kích thước tối đa cho phép trên máy chủ ."
-#: templates/index.php:112
+#: templates/index.php:115
msgid "Files are being scanned, please wait."
msgstr "Tập tin đang được quét ,vui lòng chờ."
-#: templates/index.php:115
+#: templates/index.php:118
msgid "Current scanning"
msgstr "Hiện tại đang quét"
diff --git a/l10n/zh_CN/core.po b/l10n/zh_CN/core.po
index d05019be94c..450b3755876 100644
--- a/l10n/zh_CN/core.po
+++ b/l10n/zh_CN/core.po
@@ -10,8 +10,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:32-0400\n"
-"PO-Revision-Date: 2013-08-30 13:33+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Chinese (China) (http://www.transifex.com/projects/p/owncloud/language/zh_CN/)\n"
"MIME-Version: 1.0\n"
@@ -27,7 +27,7 @@ msgstr "%s 向您分享了 »%s«"
#: ajax/share.php:227
msgid "group"
-msgstr ""
+msgstr "组"
#: ajax/update.php:11
msgid "Turned on maintenance mode"
diff --git a/l10n/zh_CN/files.po b/l10n/zh_CN/files.po
index fe65471744c..a61fb2a34d3 100644
--- a/l10n/zh_CN/files.po
+++ b/l10n/zh_CN/files.po
@@ -10,8 +10,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:31-0400\n"
-"PO-Revision-Date: 2013-08-30 13:34+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-08-30 13:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Chinese (China) (http://www.transifex.com/projects/p/owncloud/language/zh_CN/)\n"
"MIME-Version: 1.0\n"
@@ -79,7 +79,7 @@ msgstr "没有足够的存储空间"
#: ajax/upload.php:109
msgid "Upload failed"
-msgstr ""
+msgstr "上传失败"
#: ajax/upload.php:127
msgid "Invalid directory."
@@ -114,7 +114,7 @@ msgstr "URL不能为空"
msgid "Invalid folder name. Usage of 'Shared' is reserved by ownCloud"
msgstr "无效的文件夹名。”Shared“ 是 Owncloud 预留的文件夹"
-#: js/file-upload.js:275 js/file-upload.js:291 js/files.js:511 js/files.js:549
+#: js/file-upload.js:276 js/file-upload.js:292 js/files.js:512 js/files.js:550
msgid "Error"
msgstr "错误"
@@ -130,54 +130,54 @@ msgstr "永久删除"
msgid "Rename"
msgstr "重命名"
-#: js/filelist.js:49 js/filelist.js:52 js/filelist.js:573
+#: js/filelist.js:50 js/filelist.js:53 js/filelist.js:575
msgid "Pending"
msgstr "等待"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "{new_name} already exists"
msgstr "{new_name} 已存在"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "replace"
msgstr "替换"
-#: js/filelist.js:305
+#: js/filelist.js:307
msgid "suggest name"
msgstr "建议名称"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "cancel"
msgstr "取消"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "replaced {new_name} with {old_name}"
msgstr "已将 {old_name}替换成 {new_name}"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "undo"
msgstr "撤销"
-#: js/filelist.js:422 js/filelist.js:488 js/files.js:580
+#: js/filelist.js:424 js/filelist.js:490 js/files.js:581
msgid "%n folder"
msgid_plural "%n folders"
msgstr[0] "%n 文件夹"
-#: js/filelist.js:423 js/filelist.js:489 js/files.js:586
+#: js/filelist.js:425 js/filelist.js:491 js/files.js:587
msgid "%n file"
msgid_plural "%n files"
msgstr[0] "%n个文件"
-#: js/filelist.js:430
+#: js/filelist.js:432
msgid "{dirs} and {files}"
msgstr ""
-#: js/filelist.js:561
+#: js/filelist.js:563
msgid "Uploading %n file"
msgid_plural "Uploading %n files"
msgstr[0] ""
-#: js/filelist.js:626
+#: js/filelist.js:628
msgid "files uploading"
msgstr "文件上传中"
@@ -215,15 +215,15 @@ msgid ""
"big."
msgstr "下载正在准备中。如果文件较大可能会花费一些时间。"
-#: js/files.js:562 templates/index.php:67
+#: js/files.js:563 templates/index.php:69
msgid "Name"
msgstr "名称"
-#: js/files.js:563 templates/index.php:78
+#: js/files.js:564 templates/index.php:81
msgid "Size"
msgstr "大小"
-#: js/files.js:564 templates/index.php:80
+#: js/files.js:565 templates/index.php:83
msgid "Modified"
msgstr "修改日期"
@@ -300,33 +300,33 @@ msgstr "您没有写权限"
msgid "Nothing in here. Upload something!"
msgstr "这里还什么都没有。上传些东西吧!"
-#: templates/index.php:73
+#: templates/index.php:75
msgid "Download"
msgstr "下载"
-#: templates/index.php:85 templates/index.php:86
+#: templates/index.php:88 templates/index.php:89
msgid "Unshare"
msgstr "取消共享"
-#: templates/index.php:91 templates/index.php:92
+#: templates/index.php:94 templates/index.php:95
msgid "Delete"
msgstr "删除"
-#: templates/index.php:105
+#: templates/index.php:108
msgid "Upload too large"
msgstr "上传文件过大"
-#: templates/index.php:107
+#: templates/index.php:110
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "您正尝试上传的文件超过了此服务器可以上传的最大容量限制"
-#: templates/index.php:112
+#: templates/index.php:115
msgid "Files are being scanned, please wait."
msgstr "文件正在被扫描,请稍候。"
-#: templates/index.php:115
+#: templates/index.php:118
msgid "Current scanning"
msgstr "当前扫描"
diff --git a/l10n/zh_TW/core.po b/l10n/zh_TW/core.po
index 52d6f701174..2a689d6fc8f 100644
--- a/l10n/zh_TW/core.po
+++ b/l10n/zh_TW/core.po
@@ -9,9 +9,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:32-0400\n"
-"PO-Revision-Date: 2013-08-30 13:33+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-09-01 13:10+0000\n"
+"Last-Translator: pellaeon <nfsmwlin@gmail.com>\n"
"Language-Team: Chinese (Taiwan) (http://www.transifex.com/projects/p/owncloud/language/zh_TW/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -26,32 +26,32 @@ msgstr "%s 與您分享了 %s"
#: ajax/share.php:227
msgid "group"
-msgstr ""
+msgstr "群組"
#: ajax/update.php:11
msgid "Turned on maintenance mode"
-msgstr ""
+msgstr "已啓用維護模式"
#: ajax/update.php:14
msgid "Turned off maintenance mode"
-msgstr ""
+msgstr "已停用維護模式"
#: ajax/update.php:17
msgid "Updated database"
-msgstr ""
+msgstr "已更新資料庫"
#: ajax/update.php:20
msgid "Updating filecache, this may take really long..."
-msgstr ""
+msgstr "更新檔案快取,這可能要很久…"
#: ajax/update.php:23
msgid "Updated filecache"
-msgstr ""
+msgstr "已更新檔案快取"
#: ajax/update.php:26
#, php-format
msgid "... %d%% done ..."
-msgstr ""
+msgstr "已完成 %d%%"
#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25
msgid "Category type not provided."
@@ -64,13 +64,13 @@ msgstr "沒有可增加的分類?"
#: ajax/vcategories/add.php:37
#, php-format
msgid "This category already exists: %s"
-msgstr "分類已經存在: %s"
+msgstr "分類已經存在:%s"
#: ajax/vcategories/addToFavorites.php:26 ajax/vcategories/delete.php:27
#: ajax/vcategories/favorites.php:24
#: ajax/vcategories/removeFromFavorites.php:26
msgid "Object type not provided."
-msgstr "不支援的物件類型"
+msgstr "未指定物件類型"
#: ajax/vcategories/addToFavorites.php:30
#: ajax/vcategories/removeFromFavorites.php:30
@@ -291,7 +291,7 @@ msgstr "{owner} 已經和您分享"
#: js/share.js:183
msgid "Share with"
-msgstr "與...分享"
+msgstr "分享給別人"
#: js/share.js:188
msgid "Share with link"
@@ -319,7 +319,7 @@ msgstr "寄出"
#: js/share.js:208
msgid "Set expiration date"
-msgstr "設置到期日"
+msgstr "指定到期日"
#: js/share.js:209
msgid "Expiration date"
@@ -343,7 +343,7 @@ msgstr "已和 {user} 分享 {item}"
#: js/share.js:338
msgid "Unshare"
-msgstr "取消共享"
+msgstr "取消分享"
#: js/share.js:350
msgid "can edit"
@@ -375,15 +375,15 @@ msgstr "受密碼保護"
#: js/share.js:643
msgid "Error unsetting expiration date"
-msgstr "解除過期日設定失敗"
+msgstr "取消到期日設定失敗"
#: js/share.js:655
msgid "Error setting expiration date"
-msgstr "錯誤的到期日設定"
+msgstr "設定到期日發生錯誤"
#: js/share.js:670
msgid "Sending ..."
-msgstr "正在傳送..."
+msgstr "正在傳送…"
#: js/share.js:681
msgid "Email sent"
@@ -414,7 +414,7 @@ msgid ""
"The link to reset your password has been sent to your email.<br>If you do "
"not receive it within a reasonable amount of time, check your spam/junk "
"folders.<br>If it is not there ask your local administrator ."
-msgstr "重設密碼的連結已經寄至您的電子郵件信箱,如果您過了一段時間還是沒有收到它,請檢查看看它是不是被放到垃圾郵件了,如果還是沒有的話,請聯絡您的 ownCloud 系統管理員。"
+msgstr "重設密碼的連結已經寄至您的電子郵件信箱,如果您過了一段時間還是沒有收到它,請檢查看看它是不是被歸為垃圾郵件了,如果還是沒有的話,請聯絡您的 ownCloud 系統管理員。"
#: lostpassword/templates/lostpassword.php:12
msgid "Request failed!<br>Did you make sure your email/username was right?"
@@ -487,7 +487,7 @@ msgstr "存取被拒"
#: templates/404.php:15
msgid "Cloud not found"
-msgstr "未發現雲端"
+msgstr "找不到網頁"
#: templates/altmail.php:2
#, php-format
@@ -498,7 +498,7 @@ msgid ""
"View it: %s\n"
"\n"
"Cheers!"
-msgstr "嗨,\n\n通知您,%s 與您分享了 %s 。\n看一下:%s"
+msgstr "嗨,\n\n通知您一聲,%s 與您分享了 %s 。\n您可以到 %s 看看"
#: templates/edit_categories_dialog.php:4
msgid "Edit categories"
@@ -557,7 +557,7 @@ msgstr "進階"
#: templates/installation.php:67
msgid "Data folder"
-msgstr "資料夾"
+msgstr "資料儲存位置"
#: templates/installation.php:77
msgid "Configure the database"
@@ -630,16 +630,16 @@ msgstr "登入"
#: templates/login.php:45
msgid "Alternative Logins"
-msgstr "替代登入方法"
+msgstr "其他登入方法"
#: templates/mail.php:15
#, php-format
msgid ""
"Hey there,<br><br>just letting you know that %s shared »%s« with you.<br><a "
"href=\"%s\">View it!</a><br><br>Cheers!"
-msgstr "嗨,<br><br>通知您,%s 與您分享了 %s ,<br><a href=\"%s\">看一下吧</a>"
+msgstr "嗨,<br><br>通知您一聲,%s 與您分享了 %s ,<br><a href=\"%s\">看一下吧</a>"
#: templates/update.php:3
#, php-format
msgid "Updating ownCloud to version %s, this may take a while."
-msgstr "正在將 Owncloud 升級至版本 %s ,這可能需要一點時間。"
+msgstr "正在將 ownCloud 升級至版本 %s ,這可能需要一點時間。"
diff --git a/l10n/zh_TW/files.po b/l10n/zh_TW/files.po
index ffc68f12388..260d80d6bf5 100644
--- a/l10n/zh_TW/files.po
+++ b/l10n/zh_TW/files.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-30 09:31-0400\n"
-"PO-Revision-Date: 2013-08-30 13:34+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-09-01 13:20+0000\n"
+"Last-Translator: pellaeon <nfsmwlin@gmail.com>\n"
"Language-Team: Chinese (Taiwan) (http://www.transifex.com/projects/p/owncloud/language/zh_TW/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -21,7 +21,7 @@ msgstr ""
#: ajax/move.php:17
#, php-format
msgid "Could not move %s - File with this name already exists"
-msgstr "無法移動 %s - 同名的檔案已經存在"
+msgstr "無法移動 %s ,同名的檔案已經存在"
#: ajax/move.php:27 ajax/move.php:30
#, php-format
@@ -30,7 +30,7 @@ msgstr "無法移動 %s"
#: ajax/upload.php:16 ajax/upload.php:45
msgid "Unable to set upload directory."
-msgstr "無法設定上傳目錄。"
+msgstr "無法設定上傳目錄"
#: ajax/upload.php:22
msgid "Invalid Token"
@@ -38,11 +38,11 @@ msgstr "無效的 token"
#: ajax/upload.php:59
msgid "No file was uploaded. Unknown error"
-msgstr "沒有檔案被上傳。未知的錯誤。"
+msgstr "沒有檔案被上傳,原因未知"
#: ajax/upload.php:66
msgid "There is no error, the file uploaded with success"
-msgstr "無錯誤,檔案上傳成功"
+msgstr "一切都順利,檔案上傳成功"
#: ajax/upload.php:67
msgid ""
@@ -77,11 +77,11 @@ msgstr "儲存空間不足"
#: ajax/upload.php:109
msgid "Upload failed"
-msgstr ""
+msgstr "上傳失敗"
#: ajax/upload.php:127
msgid "Invalid directory."
-msgstr "無效的資料夾。"
+msgstr "無效的資料夾"
#: appinfo/app.php:12
msgid "Files"
@@ -89,7 +89,7 @@ msgstr "檔案"
#: js/file-upload.js:11
msgid "Unable to upload your file as it is a directory or has 0 bytes"
-msgstr "無法上傳您的檔案因為它可能是一個目錄或檔案大小為0"
+msgstr "無法上傳您的檔案,因為它可能是一個目錄或檔案大小為0"
#: js/file-upload.js:24
msgid "Not enough space available"
@@ -102,17 +102,17 @@ msgstr "上傳已取消"
#: js/file-upload.js:165
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
-msgstr "檔案上傳中。離開此頁面將會取消上傳。"
+msgstr "檔案上傳中,離開此頁面將會取消上傳。"
#: js/file-upload.js:239
msgid "URL cannot be empty."
-msgstr "URL 不能為空白。"
+msgstr "URL 不能為空"
#: js/file-upload.js:244 lib/app.php:53
msgid "Invalid folder name. Usage of 'Shared' is reserved by ownCloud"
msgstr "無效的資料夾名稱,'Shared' 的使用被 ownCloud 保留"
-#: js/file-upload.js:275 js/file-upload.js:291 js/files.js:511 js/files.js:549
+#: js/file-upload.js:276 js/file-upload.js:292 js/files.js:512 js/files.js:550
msgid "Error"
msgstr "錯誤"
@@ -128,70 +128,70 @@ msgstr "永久刪除"
msgid "Rename"
msgstr "重新命名"
-#: js/filelist.js:49 js/filelist.js:52 js/filelist.js:573
+#: js/filelist.js:50 js/filelist.js:53 js/filelist.js:575
msgid "Pending"
msgstr "等候中"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "{new_name} already exists"
msgstr "{new_name} 已經存在"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "replace"
msgstr "取代"
-#: js/filelist.js:305
+#: js/filelist.js:307
msgid "suggest name"
msgstr "建議檔名"
-#: js/filelist.js:305 js/filelist.js:307
+#: js/filelist.js:307 js/filelist.js:309
msgid "cancel"
msgstr "取消"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "replaced {new_name} with {old_name}"
msgstr "使用 {new_name} 取代 {old_name}"
-#: js/filelist.js:352
+#: js/filelist.js:354
msgid "undo"
msgstr "復原"
-#: js/filelist.js:422 js/filelist.js:488 js/files.js:580
+#: js/filelist.js:424 js/filelist.js:490 js/files.js:581
msgid "%n folder"
msgid_plural "%n folders"
msgstr[0] "%n 個資料夾"
-#: js/filelist.js:423 js/filelist.js:489 js/files.js:586
+#: js/filelist.js:425 js/filelist.js:491 js/files.js:587
msgid "%n file"
msgid_plural "%n files"
msgstr[0] "%n 個檔案"
-#: js/filelist.js:430
+#: js/filelist.js:432
msgid "{dirs} and {files}"
-msgstr ""
+msgstr "{dirs} 和 {files}"
-#: js/filelist.js:561
+#: js/filelist.js:563
msgid "Uploading %n file"
msgid_plural "Uploading %n files"
msgstr[0] "%n 個檔案正在上傳"
-#: js/filelist.js:626
+#: js/filelist.js:628
msgid "files uploading"
-msgstr "檔案正在上傳中"
+msgstr "檔案上傳中"
#: js/files.js:52
msgid "'.' is an invalid file name."
-msgstr "'.' 是不合法的檔名。"
+msgstr "'.' 是不合法的檔名"
#: js/files.js:56
msgid "File name cannot be empty."
-msgstr "檔名不能為空。"
+msgstr "檔名不能為空"
#: js/files.js:64
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
-msgstr "檔名不合法,不允許 '\\', '/', '<', '>', ':', '\"', '|', '?' 和 '*' 。"
+msgstr "檔名不合法,不允許 \\ / < > : \" | ? * 字元"
#: js/files.js:78
msgid "Your storage is full, files can not be updated or synced anymore!"
@@ -213,17 +213,17 @@ msgid ""
"big."
msgstr "正在準備您的下載,若您的檔案較大,將會需要更多時間。"
-#: js/files.js:562 templates/index.php:67
+#: js/files.js:563 templates/index.php:69
msgid "Name"
msgstr "名稱"
-#: js/files.js:563 templates/index.php:78
+#: js/files.js:564 templates/index.php:81
msgid "Size"
msgstr "大小"
-#: js/files.js:564 templates/index.php:80
+#: js/files.js:565 templates/index.php:83
msgid "Modified"
-msgstr "修改"
+msgstr "修改時間"
#: lib/app.php:73
#, php-format
@@ -240,7 +240,7 @@ msgstr "檔案處理"
#: templates/admin.php:7
msgid "Maximum upload size"
-msgstr "最大上傳檔案大小"
+msgstr "上傳限制"
#: templates/admin.php:10
msgid "max. possible: "
@@ -248,11 +248,11 @@ msgstr "最大允許:"
#: templates/admin.php:15
msgid "Needed for multi-file and folder downloads."
-msgstr "針對多檔案和目錄下載是必填的。"
+msgstr "下載多檔案和目錄時,此項是必填的。"
#: templates/admin.php:17
msgid "Enable ZIP-download"
-msgstr "啟用 Zip 下載"
+msgstr "啟用 ZIP 下載"
#: templates/admin.php:20
msgid "0 is unlimited"
@@ -260,7 +260,7 @@ msgstr "0代表沒有限制"
#: templates/admin.php:22
msgid "Maximum input size for ZIP files"
-msgstr "針對 ZIP 檔案最大輸入大小"
+msgstr "ZIP 壓縮前的原始大小限制"
#: templates/admin.php:26
msgid "Save"
@@ -284,7 +284,7 @@ msgstr "從連結"
#: templates/index.php:41
msgid "Deleted files"
-msgstr "已刪除的檔案"
+msgstr "回收桶"
#: templates/index.php:46
msgid "Cancel upload"
@@ -292,42 +292,42 @@ msgstr "取消上傳"
#: templates/index.php:52
msgid "You don’t have write permissions here."
-msgstr "您在這裡沒有編輯權。"
+msgstr "您在這裡沒有編輯權"
#: templates/index.php:59
msgid "Nothing in here. Upload something!"
-msgstr "這裡什麼也沒有,上傳一些東西吧!"
+msgstr "這裡還沒有東西,上傳一些吧!"
-#: templates/index.php:73
+#: templates/index.php:75
msgid "Download"
msgstr "下載"
-#: templates/index.php:85 templates/index.php:86
+#: templates/index.php:88 templates/index.php:89
msgid "Unshare"
-msgstr "取消共享"
+msgstr "取消分享"
-#: templates/index.php:91 templates/index.php:92
+#: templates/index.php:94 templates/index.php:95
msgid "Delete"
msgstr "刪除"
-#: templates/index.php:105
+#: templates/index.php:108
msgid "Upload too large"
msgstr "上傳過大"
-#: templates/index.php:107
+#: templates/index.php:110
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
-msgstr "您試圖上傳的檔案已超過伺服器的最大檔案大小限制。"
+msgstr "您試圖上傳的檔案大小超過伺服器的限制。"
-#: templates/index.php:112
+#: templates/index.php:115
msgid "Files are being scanned, please wait."
msgstr "正在掃描檔案,請稍等。"
-#: templates/index.php:115
+#: templates/index.php:118
msgid "Current scanning"
-msgstr "目前掃描"
+msgstr "正在掃描"
#: templates/upgrade.php:2
msgid "Upgrading filesystem cache..."
-msgstr "正在升級檔案系統快取..."
+msgstr "正在升級檔案系統快取…"
diff --git a/l10n/zh_TW/files_sharing.po b/l10n/zh_TW/files_sharing.po
index 37faace2e6e..59f0e459f57 100644
--- a/l10n/zh_TW/files_sharing.po
+++ b/l10n/zh_TW/files_sharing.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-27 11:18-0400\n"
-"PO-Revision-Date: 2013-08-26 04:20+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-09-01 13:20+0000\n"
"Last-Translator: pellaeon <nfsmwlin@gmail.com>\n"
"Language-Team: Chinese (Taiwan) (http://www.transifex.com/projects/p/owncloud/language/zh_TW/)\n"
"MIME-Version: 1.0\n"
@@ -20,7 +20,7 @@ msgstr ""
#: templates/authenticate.php:4
msgid "The password is wrong. Try again."
-msgstr "請檢查您的密碼並再試一次。"
+msgstr "請檢查您的密碼並再試一次"
#: templates/authenticate.php:7
msgid "Password"
@@ -32,7 +32,7 @@ msgstr "送出"
#: templates/part.404.php:3
msgid "Sorry, this link doesn’t seem to work anymore."
-msgstr "抱歉,這連結看來已經不能用了。"
+msgstr "抱歉,此連結已經失效"
#: templates/part.404.php:4
msgid "Reasons might be:"
@@ -64,7 +64,7 @@ msgstr "%s 和您分享了資料夾 %s "
msgid "%s shared the file %s with you"
msgstr "%s 和您分享了檔案 %s"
-#: templates/public.php:26 templates/public.php:88
+#: templates/public.php:26 templates/public.php:92
msgid "Download"
msgstr "下載"
@@ -76,6 +76,6 @@ msgstr "上傳"
msgid "Cancel upload"
msgstr "取消上傳"
-#: templates/public.php:85
+#: templates/public.php:89
msgid "No preview available for"
msgstr "無法預覽"
diff --git a/l10n/zh_TW/files_trashbin.po b/l10n/zh_TW/files_trashbin.po
index 53c5a7baec1..57f79d287d9 100644
--- a/l10n/zh_TW/files_trashbin.po
+++ b/l10n/zh_TW/files_trashbin.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-27 11:18-0400\n"
-"PO-Revision-Date: 2013-08-26 04:00+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-09-01 13:20+0000\n"
"Last-Translator: pellaeon <nfsmwlin@gmail.com>\n"
"Language-Team: Chinese (Taiwan) (http://www.transifex.com/projects/p/owncloud/language/zh_TW/)\n"
"MIME-Version: 1.0\n"
@@ -28,47 +28,47 @@ msgstr "無法永久刪除 %s"
msgid "Couldn't restore %s"
msgstr "無法還原 %s"
-#: js/trash.js:7 js/trash.js:100
+#: js/trash.js:7 js/trash.js:102
msgid "perform restore operation"
msgstr "進行還原動作"
-#: js/trash.js:20 js/trash.js:48 js/trash.js:118 js/trash.js:146
+#: js/trash.js:20 js/trash.js:49 js/trash.js:120 js/trash.js:148
msgid "Error"
msgstr "錯誤"
-#: js/trash.js:36
+#: js/trash.js:37
msgid "delete file permanently"
msgstr "永久刪除檔案"
-#: js/trash.js:127
+#: js/trash.js:129
msgid "Delete permanently"
msgstr "永久刪除"
-#: js/trash.js:182 templates/index.php:17
+#: js/trash.js:184 templates/index.php:17
msgid "Name"
msgstr "名稱"
-#: js/trash.js:183 templates/index.php:27
+#: js/trash.js:185 templates/index.php:27
msgid "Deleted"
msgstr "已刪除"
-#: js/trash.js:191
+#: js/trash.js:193
msgid "%n folder"
msgid_plural "%n folders"
msgstr[0] "%n 個資料夾"
-#: js/trash.js:197
+#: js/trash.js:199
msgid "%n file"
msgid_plural "%n files"
msgstr[0] "%n 個檔案"
-#: lib/trash.php:819 lib/trash.php:821
+#: lib/trash.php:814 lib/trash.php:816
msgid "restored"
msgstr "已還原"
#: templates/index.php:9
msgid "Nothing in here. Your trash bin is empty!"
-msgstr "您的垃圾桶是空的!"
+msgstr "您的回收桶是空的!"
#: templates/index.php:20 templates/index.php:22
msgid "Restore"
diff --git a/l10n/zh_TW/settings.po b/l10n/zh_TW/settings.po
index 9ba8be581ba..5bda63d03bd 100644
--- a/l10n/zh_TW/settings.po
+++ b/l10n/zh_TW/settings.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-08-27 11:18-0400\n"
-"PO-Revision-Date: 2013-08-26 04:10+0000\n"
+"POT-Creation-Date: 2013-09-01 13:27-0400\n"
+"PO-Revision-Date: 2013-09-01 14:00+0000\n"
"Last-Translator: pellaeon <nfsmwlin@gmail.com>\n"
"Language-Team: Chinese (Taiwan) (http://www.transifex.com/projects/p/owncloud/language/zh_TW/)\n"
"MIME-Version: 1.0\n"
@@ -85,47 +85,47 @@ msgstr "使用者移出群組 %s 錯誤"
msgid "Couldn't update app."
msgstr "無法更新應用程式"
-#: js/apps.js:35
+#: js/apps.js:43
msgid "Update to {appversion}"
msgstr "更新至 {appversion}"
-#: js/apps.js:41 js/apps.js:74 js/apps.js:100
+#: js/apps.js:49 js/apps.js:82 js/apps.js:108
msgid "Disable"
msgstr "停用"
-#: js/apps.js:41 js/apps.js:81 js/apps.js:94 js/apps.js:109
+#: js/apps.js:49 js/apps.js:89 js/apps.js:102 js/apps.js:117
msgid "Enable"
msgstr "啟用"
-#: js/apps.js:63
+#: js/apps.js:71
msgid "Please wait...."
msgstr "請稍候..."
-#: js/apps.js:71 js/apps.js:72 js/apps.js:92
+#: js/apps.js:79 js/apps.js:80 js/apps.js:100
msgid "Error while disabling app"
msgstr "停用應用程式錯誤"
-#: js/apps.js:91 js/apps.js:104 js/apps.js:105
+#: js/apps.js:99 js/apps.js:112 js/apps.js:113
msgid "Error while enabling app"
msgstr "啓用應用程式錯誤"
-#: js/apps.js:115
+#: js/apps.js:123
msgid "Updating...."
msgstr "更新中..."
-#: js/apps.js:118
+#: js/apps.js:126
msgid "Error while updating app"
msgstr "更新應用程式錯誤"
-#: js/apps.js:118
+#: js/apps.js:126
msgid "Error"
msgstr "錯誤"
-#: js/apps.js:119 templates/apps.php:43
+#: js/apps.js:127 templates/apps.php:43
msgid "Update"
msgstr "更新"
-#: js/apps.js:122
+#: js/apps.js:130
msgid "Updated"
msgstr "已更新"
@@ -356,7 +356,7 @@ msgid ""
"licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" "
"target=\"_blank\"><abbr title=\"Affero General Public "
"License\">AGPL</abbr></a>."
-msgstr "由 <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud 社群</a>開發,<a href=\"https://github.com/owncloud\" target=\"_blank\">原始碼</a>在 <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a> 許可證下發布。"
+msgstr "由 <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud 社群</a>開發,<a href=\"https://github.com/owncloud\" target=\"_blank\">原始碼</a>在 <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a> 授權許可下發布。"
#: templates/apps.php:13
msgid "Add your App"
@@ -472,7 +472,7 @@ msgstr "WebDAV"
msgid ""
"Use this address to <a href=\"%s/server/5.0/user_manual/files/files.html\" "
"target=\"_blank\">access your Files via WebDAV</a>"
-msgstr "使用<a href=\"%s/server/5.0/user_manual/files/files.html\" target=\"_blank\">這個網址</a>來透過 WebDAV 存取您的檔案"
+msgstr "以上的 WebDAV 位址可以讓您<a href=\"%s/server/5.0/user_manual/files/files.html\" target=\"_blank\">透過 WebDAV 協定存取檔案</a>"
#: templates/personal.php:117
msgid "Encryption"
diff --git a/lib/app.php b/lib/app.php
index 8f5dd1d685e..1a0a7e6f9a9 100644
--- a/lib/app.php
+++ b/lib/app.php
@@ -73,11 +73,11 @@ class OC_App{
if (!defined('DEBUG') || !DEBUG) {
if (is_null($types)
- && empty(OC_Util::$core_scripts)
- && empty(OC_Util::$core_styles)) {
- OC_Util::$core_scripts = OC_Util::$scripts;
+ && empty(OC_Util::$coreScripts)
+ && empty(OC_Util::$coreStyles)) {
+ OC_Util::$coreScripts = OC_Util::$scripts;
OC_Util::$scripts = array();
- OC_Util::$core_styles = OC_Util::$styles;
+ OC_Util::$coreStyles = OC_Util::$styles;
OC_Util::$styles = array();
}
}
diff --git a/lib/base.php b/lib/base.php
index 5e99838a41c..b8cba44d6c4 100644
--- a/lib/base.php
+++ b/lib/base.php
@@ -425,7 +425,7 @@ class OC {
}
self::initPaths();
- OC_Util::issetlocaleworking();
+ OC_Util::isSetLocaleWorking();
// set debug mode if an xdebug session is active
if (!defined('DEBUG') || !DEBUG) {
@@ -500,6 +500,7 @@ class OC {
self::registerCacheHooks();
self::registerFilesystemHooks();
+ self::registerPreviewHooks();
self::registerShareHooks();
self::registerLogRotate();
@@ -536,7 +537,7 @@ class OC {
}
// write error into log if locale can't be set
- if (OC_Util::issetlocaleworking() == false) {
+ if (OC_Util::isSetLocaleWorking() == false) {
OC_Log::write('core',
'setting locale to en_US.UTF-8/en_US.UTF8 failed. Support is probably not installed on your system',
OC_Log::ERROR);
@@ -588,6 +589,14 @@ class OC {
}
/**
+ * register hooks for previews
+ */
+ public static function registerPreviewHooks() {
+ OC_Hook::connect('OC_Filesystem', 'post_write', 'OC\Preview', 'post_write');
+ OC_Hook::connect('OC_Filesystem', 'delete', 'OC\Preview', 'post_delete');
+ }
+
+ /**
* register hooks for sharing
*/
public static function registerShareHooks() {
@@ -767,7 +776,7 @@ class OC {
if (in_array($_COOKIE['oc_token'], $tokens, true)) {
// replace successfully used token with a new one
OC_Preferences::deleteKey($_COOKIE['oc_username'], 'login_token', $_COOKIE['oc_token']);
- $token = OC_Util::generate_random_bytes(32);
+ $token = OC_Util::generateRandomBytes(32);
OC_Preferences::setValue($_COOKIE['oc_username'], 'login_token', $token, time());
OC_User::setMagicInCookie($_COOKIE['oc_username'], $token);
// login
@@ -807,7 +816,7 @@ class OC {
if (defined("DEBUG") && DEBUG) {
OC_Log::write('core', 'Setting remember login to cookie', OC_Log::DEBUG);
}
- $token = OC_Util::generate_random_bytes(32);
+ $token = OC_Util::generateRandomBytes(32);
OC_Preferences::setValue($userid, 'login_token', $token, time());
OC_User::setMagicInCookie($userid, $token);
} else {
diff --git a/lib/helper.php b/lib/helper.php
index cfb29028ee3..5fb8fed3459 100644
--- a/lib/helper.php
+++ b/lib/helper.php
@@ -185,7 +185,38 @@ class OC_Helper {
* Returns the path to the image of this file type.
*/
public static function mimetypeIcon($mimetype) {
- $alias = array('application/xml' => 'code/xml');
+ $alias = array(
+ 'application/xml' => 'code/xml',
+ 'application/msword' => 'x-office/document',
+ 'application/vnd.openxmlformats-officedocument.wordprocessingml.document' => 'x-office/document',
+ 'application/vnd.openxmlformats-officedocument.wordprocessingml.template' => 'x-office/document',
+ 'application/vnd.ms-word.document.macroEnabled.12' => 'x-office/document',
+ 'application/vnd.ms-word.template.macroEnabled.12' => 'x-office/document',
+ 'application/vnd.oasis.opendocument.text' => 'x-office/document',
+ 'application/vnd.oasis.opendocument.text-template' => 'x-office/document',
+ 'application/vnd.oasis.opendocument.text-web' => 'x-office/document',
+ 'application/vnd.oasis.opendocument.text-master' => 'x-office/document',
+ 'application/vnd.ms-powerpoint' => 'x-office/presentation',
+ 'application/vnd.openxmlformats-officedocument.presentationml.presentation' => 'x-office/presentation',
+ 'application/vnd.openxmlformats-officedocument.presentationml.template' => 'x-office/presentation',
+ 'application/vnd.openxmlformats-officedocument.presentationml.slideshow' => 'x-office/presentation',
+ 'application/vnd.ms-powerpoint.addin.macroEnabled.12' => 'x-office/presentation',
+ 'application/vnd.ms-powerpoint.presentation.macroEnabled.12' => 'x-office/presentation',
+ 'application/vnd.ms-powerpoint.template.macroEnabled.12' => 'x-office/presentation',
+ 'application/vnd.ms-powerpoint.slideshow.macroEnabled.12' => 'x-office/presentation',
+ 'application/vnd.oasis.opendocument.presentation' => 'x-office/presentation',
+ 'application/vnd.oasis.opendocument.presentation-template' => 'x-office/presentation',
+ 'application/vnd.ms-excel' => 'x-office/spreadsheet',
+ 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' => 'x-office/spreadsheet',
+ 'application/vnd.openxmlformats-officedocument.spreadsheetml.template' => 'x-office/spreadsheet',
+ 'application/vnd.ms-excel.sheet.macroEnabled.12' => 'x-office/spreadsheet',
+ 'application/vnd.ms-excel.template.macroEnabled.12' => 'x-office/spreadsheet',
+ 'application/vnd.ms-excel.addin.macroEnabled.12' => 'x-office/spreadsheet',
+ 'application/vnd.ms-excel.sheet.binary.macroEnabled.12' => 'x-office/spreadsheet',
+ 'application/vnd.oasis.opendocument.spreadsheet' => 'x-office/spreadsheet',
+ 'application/vnd.oasis.opendocument.spreadsheet-template' => 'x-office/spreadsheet',
+ );
+
if (isset($alias[$mimetype])) {
$mimetype = $alias[$mimetype];
}
@@ -220,6 +251,21 @@ class OC_Helper {
}
/**
+ * @brief get path to preview of file
+ * @param string $path path
+ * @return string the url
+ *
+ * Returns the path to the preview of the file.
+ */
+ public static function previewIcon($path) {
+ return self::linkToRoute( 'core_ajax_preview', array('x' => 36, 'y' => 36, 'file' => urlencode($path) ));
+ }
+
+ public static function publicPreviewIcon( $path, $token ) {
+ return self::linkToRoute( 'core_ajax_public_preview', array('x' => 36, 'y' => 36, 'file' => urlencode($path), 't' => $token));
+ }
+
+ /**
* @brief Make a human file size
* @param int $bytes file size in bytes
* @return string a human readable file size
diff --git a/lib/image.php b/lib/image.php
index 4bc38e20e56..7761a3c7737 100644
--- a/lib/image.php
+++ b/lib/image.php
@@ -25,24 +25,27 @@
*/
class OC_Image {
protected $resource = false; // tmp resource.
- protected $imagetype = IMAGETYPE_PNG; // Default to png if file type isn't evident.
- protected $bit_depth = 24;
- protected $filepath = null;
+ protected $imageType = IMAGETYPE_PNG; // Default to png if file type isn't evident.
+ protected $mimeType = "image/png"; // Default to png
+ protected $bitDepth = 24;
+ protected $filePath = null;
+
+ private $fileInfo;
/**
* @brief Get mime type for an image file.
* @param $filepath The path to a local image file.
* @returns string The mime type if the it could be determined, otherwise an empty string.
*/
- static public function getMimeTypeForFile($filepath) {
+ static public function getMimeTypeForFile($filePath) {
// exif_imagetype throws "read error!" if file is less than 12 byte
- if (filesize($filepath) > 11) {
- $imagetype = exif_imagetype($filepath);
+ if (filesize($filePath) > 11) {
+ $imageType = exif_imagetype($filePath);
}
else {
- $imagetype = false;
+ $imageType = false;
}
- return $imagetype ? image_type_to_mime_type($imagetype) : '';
+ return $imageType ? image_type_to_mime_type($imageType) : '';
}
/**
@@ -50,14 +53,19 @@ class OC_Image {
* @param $imageref The path to a local file, a base64 encoded string or a resource created by an imagecreate* function.
* @returns bool False on error
*/
- public function __construct($imageref = null) {
+ public function __construct($imageRef = null) {
//OC_Log::write('core',__METHOD__.'(): start', OC_Log::DEBUG);
if(!extension_loaded('gd') || !function_exists('gd_info')) {
OC_Log::write('core', __METHOD__.'(): GD module not installed', OC_Log::ERROR);
return false;
}
- if(!is_null($imageref)) {
- $this->load($imageref);
+
+ if (\OC_Util::fileInfoLoaded()) {
+ $this->fileInfo = new finfo(FILEINFO_MIME_TYPE);
+ }
+
+ if(!is_null($imageRef)) {
+ $this->load($imageRef);
}
}
@@ -74,7 +82,7 @@ class OC_Image {
* @returns int
*/
public function mimeType() {
- return $this->valid() ? image_type_to_mime_type($this->imagetype) : '';
+ return $this->valid() ? $this->mimeType : '';
}
/**
@@ -157,30 +165,30 @@ class OC_Image {
* @returns bool
*/
- public function save($filepath=null) {
- if($filepath === null && $this->filepath === null) {
+ public function save($filePath=null) {
+ if($filePath === null && $this->filePath === null) {
OC_Log::write('core', __METHOD__.'(): called with no path.', OC_Log::ERROR);
return false;
- } elseif($filepath === null && $this->filepath !== null) {
- $filepath = $this->filepath;
+ } elseif($filePath === null && $this->filePath !== null) {
+ $filePath = $this->filePath;
}
- return $this->_output($filepath);
+ return $this->_output($filePath);
}
/**
* @brief Outputs/saves the image.
*/
- private function _output($filepath=null) {
- if($filepath) {
- if (!file_exists(dirname($filepath)))
- mkdir(dirname($filepath), 0777, true);
- if(!is_writable(dirname($filepath))) {
+ private function _output($filePath=null) {
+ if($filePath) {
+ if (!file_exists(dirname($filePath)))
+ mkdir(dirname($filePath), 0777, true);
+ if(!is_writable(dirname($filePath))) {
OC_Log::write('core',
- __METHOD__.'(): Directory \''.dirname($filepath).'\' is not writable.',
+ __METHOD__.'(): Directory \''.dirname($filePath).'\' is not writable.',
OC_Log::ERROR);
return false;
- } elseif(is_writable(dirname($filepath)) && file_exists($filepath) && !is_writable($filepath)) {
- OC_Log::write('core', __METHOD__.'(): File \''.$filepath.'\' is not writable.', OC_Log::ERROR);
+ } elseif(is_writable(dirname($filePath)) && file_exists($filePath) && !is_writable($filePath)) {
+ OC_Log::write('core', __METHOD__.'(): File \''.$filePath.'\' is not writable.', OC_Log::ERROR);
return false;
}
}
@@ -188,30 +196,30 @@ class OC_Image {
return false;
}
- $retval = false;
- switch($this->imagetype) {
+ $retVal = false;
+ switch($this->imageType) {
case IMAGETYPE_GIF:
- $retval = imagegif($this->resource, $filepath);
+ $retVal = imagegif($this->resource, $filePath);
break;
case IMAGETYPE_JPEG:
- $retval = imagejpeg($this->resource, $filepath);
+ $retVal = imagejpeg($this->resource, $filePath);
break;
case IMAGETYPE_PNG:
- $retval = imagepng($this->resource, $filepath);
+ $retVal = imagepng($this->resource, $filePath);
break;
case IMAGETYPE_XBM:
- $retval = imagexbm($this->resource, $filepath);
+ $retVal = imagexbm($this->resource, $filePath);
break;
case IMAGETYPE_WBMP:
- $retval = imagewbmp($this->resource, $filepath);
+ $retVal = imagewbmp($this->resource, $filePath);
break;
case IMAGETYPE_BMP:
- $retval = imagebmp($this->resource, $filepath, $this->bit_depth);
+ $retVal = imagebmp($this->resource, $filePath, $this->bitDepth);
break;
default:
- $retval = imagepng($this->resource, $filepath);
+ $retVal = imagepng($this->resource, $filePath);
}
- return $retval;
+ return $retVal;
}
/**
@@ -233,7 +241,21 @@ class OC_Image {
*/
function data() {
ob_start();
- $res = imagepng($this->resource);
+ switch ($this->mimeType) {
+ case "image/png":
+ $res = imagepng($this->resource);
+ break;
+ case "image/jpeg":
+ $res = imagejpeg($this->resource);
+ break;
+ case "image/gif":
+ $res = imagegif($this->resource);
+ break;
+ default:
+ $res = imagepng($this->resource);
+ OC_Log::write('core', 'OC_Image->data. Couldn\'t guess mimetype, defaulting to png', OC_Log::INFO);
+ break;
+ }
if (!$res) {
OC_Log::write('core', 'OC_Image->data. Error getting image data.', OC_Log::ERROR);
}
@@ -261,11 +283,11 @@ class OC_Image {
OC_Log::write('core', 'OC_Image->fixOrientation() No image loaded.', OC_Log::DEBUG);
return -1;
}
- if(is_null($this->filepath) || !is_readable($this->filepath)) {
+ if(is_null($this->filePath) || !is_readable($this->filePath)) {
OC_Log::write('core', 'OC_Image->fixOrientation() No readable file path set.', OC_Log::DEBUG);
return -1;
}
- $exif = @exif_read_data($this->filepath, 'IFD0');
+ $exif = @exif_read_data($this->filePath, 'IFD0');
if(!$exif) {
return -1;
}
@@ -351,19 +373,19 @@ class OC_Image {
* @param $imageref The path to a local file, a base64 encoded string or a resource created by an imagecreate* function or a file resource (file handle ).
* @returns An image resource or false on error
*/
- public function load($imageref) {
- if(is_resource($imageref)) {
- if(get_resource_type($imageref) == 'gd') {
- $this->resource = $imageref;
+ public function load($imageRef) {
+ if(is_resource($imageRef)) {
+ if(get_resource_type($imageRef) == 'gd') {
+ $this->resource = $imageRef;
return $this->resource;
- } elseif(in_array(get_resource_type($imageref), array('file', 'stream'))) {
- return $this->loadFromFileHandle($imageref);
+ } elseif(in_array(get_resource_type($imageRef), array('file', 'stream'))) {
+ return $this->loadFromFileHandle($imageRef);
}
- } elseif($this->loadFromFile($imageref) !== false) {
+ } elseif($this->loadFromFile($imageRef) !== false) {
return $this->resource;
- } elseif($this->loadFromBase64($imageref) !== false) {
+ } elseif($this->loadFromBase64($imageRef) !== false) {
return $this->resource;
- } elseif($this->loadFromData($imageref) !== false) {
+ } elseif($this->loadFromData($imageRef) !== false) {
return $this->resource;
} else {
OC_Log::write('core', __METHOD__.'(): couldn\'t load anything. Giving up!', OC_Log::DEBUG);
@@ -390,62 +412,62 @@ class OC_Image {
* @param $imageref The path to a local file.
* @returns An image resource or false on error
*/
- public function loadFromFile($imagepath=false) {
+ public function loadFromFile($imagePath=false) {
// exif_imagetype throws "read error!" if file is less than 12 byte
- if(!@is_file($imagepath) || !file_exists($imagepath) || filesize($imagepath) < 12 || !is_readable($imagepath)) {
+ if(!@is_file($imagePath) || !file_exists($imagePath) || filesize($imagePath) < 12 || !is_readable($imagePath)) {
// Debug output disabled because this method is tried before loadFromBase64?
- OC_Log::write('core', 'OC_Image->loadFromFile, couldn\'t load: '.$imagepath, OC_Log::DEBUG);
+ OC_Log::write('core', 'OC_Image->loadFromFile, couldn\'t load: '.$imagePath, OC_Log::DEBUG);
return false;
}
- $itype = exif_imagetype($imagepath);
- switch($itype) {
+ $iType = exif_imagetype($imagePath);
+ switch ($iType) {
case IMAGETYPE_GIF:
if (imagetypes() & IMG_GIF) {
- $this->resource = imagecreatefromgif($imagepath);
+ $this->resource = imagecreatefromgif($imagePath);
} else {
OC_Log::write('core',
- 'OC_Image->loadFromFile, GIF images not supported: '.$imagepath,
+ 'OC_Image->loadFromFile, GIF images not supported: '.$imagePath,
OC_Log::DEBUG);
}
break;
case IMAGETYPE_JPEG:
if (imagetypes() & IMG_JPG) {
- $this->resource = imagecreatefromjpeg($imagepath);
+ $this->resource = imagecreatefromjpeg($imagePath);
} else {
OC_Log::write('core',
- 'OC_Image->loadFromFile, JPG images not supported: '.$imagepath,
+ 'OC_Image->loadFromFile, JPG images not supported: '.$imagePath,
OC_Log::DEBUG);
}
break;
case IMAGETYPE_PNG:
if (imagetypes() & IMG_PNG) {
- $this->resource = imagecreatefrompng($imagepath);
+ $this->resource = imagecreatefrompng($imagePath);
} else {
OC_Log::write('core',
- 'OC_Image->loadFromFile, PNG images not supported: '.$imagepath,
+ 'OC_Image->loadFromFile, PNG images not supported: '.$imagePath,
OC_Log::DEBUG);
}
break;
case IMAGETYPE_XBM:
if (imagetypes() & IMG_XPM) {
- $this->resource = imagecreatefromxbm($imagepath);
+ $this->resource = imagecreatefromxbm($imagePath);
} else {
OC_Log::write('core',
- 'OC_Image->loadFromFile, XBM/XPM images not supported: '.$imagepath,
+ 'OC_Image->loadFromFile, XBM/XPM images not supported: '.$imagePath,
OC_Log::DEBUG);
}
break;
case IMAGETYPE_WBMP:
if (imagetypes() & IMG_WBMP) {
- $this->resource = imagecreatefromwbmp($imagepath);
+ $this->resource = imagecreatefromwbmp($imagePath);
} else {
OC_Log::write('core',
- 'OC_Image->loadFromFile, WBMP images not supported: '.$imagepath,
+ 'OC_Image->loadFromFile, WBMP images not supported: '.$imagePath,
OC_Log::DEBUG);
}
break;
case IMAGETYPE_BMP:
- $this->resource = $this->imagecreatefrombmp($imagepath);
+ $this->resource = $this->imagecreatefrombmp($imagePath);
break;
/*
case IMAGETYPE_TIFF_II: // (intel byte order)
@@ -474,14 +496,15 @@ class OC_Image {
default:
// this is mostly file created from encrypted file
- $this->resource = imagecreatefromstring(\OC\Files\Filesystem::file_get_contents(\OC\Files\Filesystem::getLocalPath($imagepath)));
- $itype = IMAGETYPE_PNG;
+ $this->resource = imagecreatefromstring(\OC\Files\Filesystem::file_get_contents(\OC\Files\Filesystem::getLocalPath($imagePath)));
+ $iType = IMAGETYPE_PNG;
OC_Log::write('core', 'OC_Image->loadFromFile, Default', OC_Log::DEBUG);
break;
}
if($this->valid()) {
- $this->imagetype = $itype;
- $this->filepath = $imagepath;
+ $this->imageType = $iType;
+ $this->mimeType = image_type_to_mime_type($iType);
+ $this->filePath = $imagePath;
}
return $this->resource;
}
@@ -496,6 +519,14 @@ class OC_Image {
return false;
}
$this->resource = @imagecreatefromstring($str);
+ if ($this->fileInfo) {
+ $this->mimeType = $this->fileInfo->buffer($str);
+ }
+ if(is_resource($this->resource)) {
+ imagealphablending($this->resource, false);
+ imagesavealpha($this->resource, true);
+ }
+
if(!$this->resource) {
OC_Log::write('core', 'OC_Image->loadFromData, couldn\'t load', OC_Log::DEBUG);
return false;
@@ -515,6 +546,9 @@ class OC_Image {
$data = base64_decode($str);
if($data) { // try to load from string data
$this->resource = @imagecreatefromstring($data);
+ if ($this->fileInfo) {
+ $this->mimeType = $this->fileInfo->buffer($data);
+ }
if(!$this->resource) {
OC_Log::write('core', 'OC_Image->loadFromBase64, couldn\'t load', OC_Log::DEBUG);
return false;
@@ -534,16 +568,16 @@ class OC_Image {
* </p>
* @return resource an image resource identifier on success, <b>FALSE</b> on errors.
*/
- private function imagecreatefrombmp($filename) {
- if (!($fh = fopen($filename, 'rb'))) {
- trigger_error('imagecreatefrombmp: Can not open ' . $filename, E_USER_WARNING);
+ private function imagecreatefrombmp($fileName) {
+ if (!($fh = fopen($fileName, 'rb'))) {
+ trigger_error('imagecreatefrombmp: Can not open ' . $fileName, E_USER_WARNING);
return false;
}
// read file header
$meta = unpack('vtype/Vfilesize/Vreserved/Voffset', fread($fh, 14));
// check for bitmap
if ($meta['type'] != 19778) {
- trigger_error('imagecreatefrombmp: ' . $filename . ' is not a bitmap!', E_USER_WARNING);
+ trigger_error('imagecreatefrombmp: ' . $fileName . ' is not a bitmap!', E_USER_WARNING);
return false;
}
// read image header
@@ -554,7 +588,7 @@ class OC_Image {
}
// set bytes and padding
$meta['bytes'] = $meta['bits'] / 8;
- $this->bit_depth = $meta['bits']; //remember the bit depth for the imagebmp call
+ $this->bitDepth = $meta['bits']; //remember the bit depth for the imagebmp call
$meta['decal'] = 4 - (4 * (($meta['width'] * $meta['bytes'] / 4)- floor($meta['width'] * $meta['bytes'] / 4)));
if ($meta['decal'] == 4) {
$meta['decal'] = 0;
@@ -590,7 +624,7 @@ class OC_Image {
$p = 0;
$vide = chr(0);
$y = $meta['height'] - 1;
- $error = 'imagecreatefrombmp: ' . $filename . ' has not enough data!';
+ $error = 'imagecreatefrombmp: ' . $fileName . ' has not enough data!';
// loop through the image data beginning with the lower left corner
while ($y >= 0) {
$x = 0;
@@ -653,7 +687,7 @@ class OC_Image {
break;
default:
trigger_error('imagecreatefrombmp: '
- . $filename . ' has ' . $meta['bits'] . ' bits and this is not supported!',
+ . $fileName . ' has ' . $meta['bits'] . ' bits and this is not supported!',
E_USER_WARNING);
return false;
}
@@ -673,24 +707,24 @@ class OC_Image {
* @param $maxsize The maximum size of either the width or height.
* @returns bool
*/
- public function resize($maxsize) {
+ public function resize($maxSize) {
if(!$this->valid()) {
OC_Log::write('core', __METHOD__.'(): No image loaded', OC_Log::ERROR);
return false;
}
- $width_orig=imageSX($this->resource);
- $height_orig=imageSY($this->resource);
- $ratio_orig = $width_orig/$height_orig;
+ $widthOrig=imageSX($this->resource);
+ $heightOrig=imageSY($this->resource);
+ $ratioOrig = $widthOrig/$heightOrig;
- if ($ratio_orig > 1) {
- $new_height = round($maxsize/$ratio_orig);
- $new_width = $maxsize;
+ if ($ratioOrig > 1) {
+ $newHeight = round($maxSize/$ratioOrig);
+ $newWidth = $maxSize;
} else {
- $new_width = round($maxsize*$ratio_orig);
- $new_height = $maxsize;
+ $newWidth = round($maxSize*$ratioOrig);
+ $newHeight = $maxSize;
}
- $this->preciseResize(round($new_width), round($new_height));
+ $this->preciseResize(round($newWidth), round($newHeight));
return true;
}
@@ -699,8 +733,8 @@ class OC_Image {
OC_Log::write('core', __METHOD__.'(): No image loaded', OC_Log::ERROR);
return false;
}
- $width_orig=imageSX($this->resource);
- $height_orig=imageSY($this->resource);
+ $widthOrig=imageSX($this->resource);
+ $heightOrig=imageSY($this->resource);
$process = imagecreatetruecolor($width, $height);
if ($process == false) {
@@ -710,13 +744,13 @@ class OC_Image {
}
// preserve transparency
- if($this->imagetype == IMAGETYPE_GIF or $this->imagetype == IMAGETYPE_PNG) {
+ if($this->imageType == IMAGETYPE_GIF or $this->imageType == IMAGETYPE_PNG) {
imagecolortransparent($process, imagecolorallocatealpha($process, 0, 0, 0, 127));
imagealphablending($process, false);
imagesavealpha($process, true);
}
- imagecopyresampled($process, $this->resource, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);
+ imagecopyresampled($process, $this->resource, 0, 0, 0, 0, $width, $height, $widthOrig, $heightOrig);
if ($process == false) {
OC_Log::write('core', __METHOD__.'(): Error resampling process image '.$width.'x'.$height, OC_Log::ERROR);
imagedestroy($process);
@@ -737,19 +771,19 @@ class OC_Image {
OC_Log::write('core', 'OC_Image->centerCrop, No image loaded', OC_Log::ERROR);
return false;
}
- $width_orig=imageSX($this->resource);
- $height_orig=imageSY($this->resource);
- if($width_orig === $height_orig and $size==0) {
+ $widthOrig=imageSX($this->resource);
+ $heightOrig=imageSY($this->resource);
+ if($widthOrig === $heightOrig and $size==0) {
return true;
}
- $ratio_orig = $width_orig/$height_orig;
- $width = $height = min($width_orig, $height_orig);
+ $ratioOrig = $widthOrig/$heightOrig;
+ $width = $height = min($widthOrig, $heightOrig);
- if ($ratio_orig > 1) {
- $x = ($width_orig/2) - ($width/2);
+ if ($ratioOrig > 1) {
+ $x = ($widthOrig/2) - ($width/2);
$y = 0;
} else {
- $y = ($height_orig/2) - ($height/2);
+ $y = ($heightOrig/2) - ($height/2);
$x = 0;
}
if($size>0) {
@@ -767,7 +801,7 @@ class OC_Image {
}
// preserve transparency
- if($this->imagetype == IMAGETYPE_GIF or $this->imagetype == IMAGETYPE_PNG) {
+ if($this->imageType == IMAGETYPE_GIF or $this->imageType == IMAGETYPE_PNG) {
imagecolortransparent($process, imagecolorallocatealpha($process, 0, 0, 0, 127));
imagealphablending($process, false);
imagesavealpha($process, true);
@@ -827,9 +861,9 @@ class OC_Image {
OC_Log::write('core', __METHOD__.'(): No image loaded', OC_Log::ERROR);
return false;
}
- $width_orig=imageSX($this->resource);
- $height_orig=imageSY($this->resource);
- $ratio = $width_orig/$height_orig;
+ $widthOrig=imageSX($this->resource);
+ $heightOrig=imageSY($this->resource);
+ $ratio = $widthOrig/$heightOrig;
$newWidth = min($maxWidth, $ratio*$maxHeight);
$newHeight = min($maxHeight, $maxWidth/$ratio);
@@ -863,7 +897,7 @@ if ( ! function_exists( 'imagebmp') ) {
* @param int $compression [optional]
* @return bool <b>TRUE</b> on success or <b>FALSE</b> on failure.
*/
- function imagebmp($im, $filename='', $bit=24, $compression=0) {
+ function imagebmp($im, $fileName='', $bit=24, $compression=0) {
if (!in_array($bit, array(1, 4, 8, 16, 24, 32))) {
$bit = 24;
}
@@ -874,14 +908,14 @@ if ( ! function_exists( 'imagebmp') ) {
imagetruecolortopalette($im, true, $bits);
$width = imagesx($im);
$height = imagesy($im);
- $colors_num = imagecolorstotal($im);
- $rgb_quad = '';
+ $colorsNum = imagecolorstotal($im);
+ $rgbQuad = '';
if ($bit <= 8) {
- for ($i = 0; $i < $colors_num; $i++) {
+ for ($i = 0; $i < $colorsNum; $i++) {
$colors = imagecolorsforindex($im, $i);
- $rgb_quad .= chr($colors['blue']) . chr($colors['green']) . chr($colors['red']) . "\0";
+ $rgbQuad .= chr($colors['blue']) . chr($colors['green']) . chr($colors['red']) . "\0";
}
- $bmp_data = '';
+ $bmpData = '';
if ($compression == 0 || $bit < 8) {
$compression = 0;
$extra = '';
@@ -899,35 +933,35 @@ if ( ! function_exists( 'imagebmp') ) {
$bin |= $index << $k;
$i++;
}
- $bmp_data .= chr($bin);
+ $bmpData .= chr($bin);
}
- $bmp_data .= $extra;
+ $bmpData .= $extra;
}
}
// RLE8
else if ($compression == 1 && $bit == 8) {
for ($j = $height - 1; $j >= 0; $j--) {
- $last_index = "\0";
- $same_num = 0;
+ $lastIndex = "\0";
+ $sameNum = 0;
for ($i = 0; $i <= $width; $i++) {
$index = imagecolorat($im, $i, $j);
- if ($index !== $last_index || $same_num > 255) {
- if ($same_num != 0) {
- $bmp_data .= chr($same_num) . chr($last_index);
+ if ($index !== $lastIndex || $sameNum > 255) {
+ if ($sameNum != 0) {
+ $bmpData .= chr($same_num) . chr($lastIndex);
}
- $last_index = $index;
- $same_num = 1;
+ $lastIndex = $index;
+ $sameNum = 1;
}
else {
- $same_num++;
+ $sameNum++;
}
}
- $bmp_data .= "\0\0";
+ $bmpData .= "\0\0";
}
- $bmp_data .= "\0\1";
+ $bmpData .= "\0\1";
}
- $size_quad = strlen($rgb_quad);
- $size_data = strlen($bmp_data);
+ $sizeQuad = strlen($rgbQuad);
+ $sizeData = strlen($bmpData);
}
else {
$extra = '';
@@ -935,7 +969,7 @@ if ( ! function_exists( 'imagebmp') ) {
if ($padding % 4 != 0) {
$extra = str_repeat("\0", $padding);
}
- $bmp_data = '';
+ $bmpData = '';
for ($j = $height - 1; $j >= 0; $j--) {
for ($i = 0; $i < $width; $i++) {
$index = imagecolorat($im, $i, $j);
@@ -945,27 +979,27 @@ if ( ! function_exists( 'imagebmp') ) {
$bin |= ($colors['red'] >> 3) << 10;
$bin |= ($colors['green'] >> 3) << 5;
$bin |= $colors['blue'] >> 3;
- $bmp_data .= pack("v", $bin);
+ $bmpData .= pack("v", $bin);
}
else {
- $bmp_data .= pack("c*", $colors['blue'], $colors['green'], $colors['red']);
+ $bmpData .= pack("c*", $colors['blue'], $colors['green'], $colors['red']);
}
}
- $bmp_data .= $extra;
+ $bmpData .= $extra;
}
- $size_quad = 0;
- $size_data = strlen($bmp_data);
- $colors_num = 0;
- }
- $file_header = 'BM' . pack('V3', 54 + $size_quad + $size_data, 0, 54 + $size_quad);
- $info_header = pack('V3v2V*', 0x28, $width, $height, 1, $bit, $compression, $size_data, 0, 0, $colors_num, 0);
- if ($filename != '') {
- $fp = fopen($filename, 'wb');
- fwrite($fp, $file_header . $info_header . $rgb_quad . $bmp_data);
+ $sizeQuad = 0;
+ $sizeData = strlen($bmpData);
+ $colorsNum = 0;
+ }
+ $fileHeader = 'BM' . pack('V3', 54 + $sizeQuad + $sizeData, 0, 54 + $sizeQuad);
+ $infoHeader = pack('V3v2V*', 0x28, $width, $height, 1, $bit, $compression, $sizeData, 0, 0, $colorsNum, 0);
+ if ($fileName != '') {
+ $fp = fopen($fileName, 'wb');
+ fwrite($fp, $fileHeader . $infoHeader . $rgbQuad . $bmpData);
fclose($fp);
return true;
}
- echo $file_header . $info_header. $rgb_quad . $bmp_data;
+ echo $fileHeader . $infoHeader. $rgbQuad . $bmpData;
return true;
}
}
@@ -977,8 +1011,8 @@ if ( ! function_exists( 'exif_imagetype' ) ) {
* @param string $filename
* @return string|boolean
*/
- function exif_imagetype ( $filename ) {
- if ( ( $info = getimagesize( $filename ) ) !== false ) {
+ function exif_imagetype ( $fileName ) {
+ if ( ( $info = getimagesize( $fileName ) ) !== false ) {
return $info[2];
}
return false;
diff --git a/lib/l10n/es.php b/lib/l10n/es.php
index 14bbf6f6a13..7a82f8f6a19 100644
--- a/lib/l10n/es.php
+++ b/lib/l10n/es.php
@@ -1,5 +1,7 @@
<?php
$TRANSLATIONS = array(
+"App \"%s\" can't be installed because it is not compatible with this version of ownCloud." => "La aplicación \"%s\" no puede ser instalada porque no es compatible con esta versión de ownCloud",
+"No app name specified" => "No se ha especificado nombre de la aplicación",
"Help" => "Ayuda",
"Personal" => "Personal",
"Settings" => "Ajustes",
@@ -13,6 +15,15 @@ $TRANSLATIONS = array(
"Back to Files" => "Volver a Archivos",
"Selected files too large to generate zip file." => "Los archivos seleccionados son demasiado grandes para generar el archivo zip.",
"Download the files in smaller chunks, seperately or kindly ask your administrator." => "Descargue los archivos en trozos más pequeños, por separado o solicítelos amablemente su administrador.",
+"No source specified when installing app" => "No se ha especificado origen cuando se ha instalado la aplicación",
+"No href specified when installing app from http" => "No href especificado cuando se ha instalado la aplicación",
+"No path specified when installing app from local file" => "Sin path especificado cuando se ha instalado la aplicación desde el fichero local",
+"Archives of type %s are not supported" => "Ficheros de tipo %s no son soportados",
+"Failed to open archive when installing app" => "Fallo de apertura de fichero mientras se instala la aplicación",
+"App does not provide an info.xml file" => "La aplicación no suministra un fichero info.xml",
+"App can't be installed because of not allowed code in the App" => "La aplicación no puede ser instalada por tener código no autorizado en la aplicación",
+"App can't be installed because it is not compatible with this version of ownCloud" => "La aplicación no se puede instalar porque no es compatible con esta versión de ownCloud",
+"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" => "La aplicación no se puede instalar porque contiene la etiqueta\n<shipped>\ntrue\n</shipped>\nque no está permitida para aplicaciones no distribuidas",
"Application is not enabled" => "La aplicación no está habilitada",
"Authentication error" => "Error de autenticación",
"Token expired. Please reload page." => "Token expirado. Por favor, recarga la página.",
diff --git a/lib/l10n/fr.php b/lib/l10n/fr.php
index cfcca28d5f8..b9ba71c402e 100644
--- a/lib/l10n/fr.php
+++ b/lib/l10n/fr.php
@@ -37,13 +37,13 @@ $TRANSLATIONS = array(
"Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "Votre serveur web, n'est pas correctement configuré pour permettre la synchronisation des fichiers, car l'interface WebDav ne fonctionne pas comme il faut.",
"Please double check the <a href='%s'>installation guides</a>." => "Veuillez vous référer au <a href='%s'>guide d'installation</a>.",
"seconds ago" => "il y a quelques secondes",
-"_%n minute ago_::_%n minutes ago_" => array("",""),
-"_%n hour ago_::_%n hours ago_" => array("",""),
+"_%n minute ago_::_%n minutes ago_" => array("","il y a %n minutes"),
+"_%n hour ago_::_%n hours ago_" => array("","Il y a %n heures"),
"today" => "aujourd'hui",
"yesterday" => "hier",
-"_%n day go_::_%n days ago_" => array("",""),
+"_%n day go_::_%n days ago_" => array("","il y a %n jours"),
"last month" => "le mois dernier",
-"_%n month ago_::_%n months ago_" => array("",""),
+"_%n month ago_::_%n months ago_" => array("","Il y a %n mois"),
"last year" => "l'année dernière",
"years ago" => "il y a plusieurs années",
"Could not find category \"%s\"" => "Impossible de trouver la catégorie \"%s\""
diff --git a/lib/l10n/it.php b/lib/l10n/it.php
index a35027eb962..c3a040048ec 100644
--- a/lib/l10n/it.php
+++ b/lib/l10n/it.php
@@ -23,6 +23,7 @@ $TRANSLATIONS = array(
"App does not provide an info.xml file" => "L'applicazione non fornisce un file info.xml",
"App can't be installed because of not allowed code in the App" => "L'applicazione non può essere installata a causa di codice non consentito al suo interno",
"App can't be installed because it is not compatible with this version of ownCloud" => "L'applicazione non può essere installata poiché non è compatibile con questa versione di ownCloud",
+"App can't be installed because it contains the <shipped>true</shipped> tag which is not allowed for non shipped apps" => "L'applicazione non può essere installata poiché contiene il tag <shipped>true<shipped> che non è permesso alle applicazioni non shipped",
"App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" => "L'applicazione non può essere installata poiché la versione in info.xml/version non è la stessa riportata dall'app store",
"App directory already exists" => "La cartella dell'applicazione esiste già",
"Can't create app folder. Please fix permissions. %s" => "Impossibile creare la cartella dell'applicazione. Correggi i permessi. %s",
diff --git a/lib/l10n/ja_JP.php b/lib/l10n/ja_JP.php
index 902170524b9..e2b67e76187 100644
--- a/lib/l10n/ja_JP.php
+++ b/lib/l10n/ja_JP.php
@@ -1,5 +1,7 @@
<?php
$TRANSLATIONS = array(
+"App \"%s\" can't be installed because it is not compatible with this version of ownCloud." => " \"%s\" アプリは、このバージョンのownCloudと互換性がない為、インストールできません。",
+"No app name specified" => "アプリ名が未指定",
"Help" => "ヘルプ",
"Personal" => "個人",
"Settings" => "設定",
@@ -13,6 +15,17 @@ $TRANSLATIONS = array(
"Back to Files" => "ファイルに戻る",
"Selected files too large to generate zip file." => "選択したファイルはZIPファイルの生成には大きすぎます。",
"Download the files in smaller chunks, seperately or kindly ask your administrator." => "ファイルは、小さいファイルに分割されてダウンロードされます。もしくは、管理者にお尋ねください。",
+"No source specified when installing app" => "アプリインストール時のソースが未指定",
+"No href specified when installing app from http" => "アプリインストール時のhttpの URL が未指定",
+"No path specified when installing app from local file" => "アプリインストール時のローカルファイルのパスが未指定",
+"Archives of type %s are not supported" => "\"%s\"タイプのアーカイブ形式は未サポート",
+"Failed to open archive when installing app" => "アプリをインストール中にアーカイブファイルを開けませんでした。",
+"App does not provide an info.xml file" => "アプリにinfo.xmlファイルが入っていません",
+"App can't be installed because of not allowed code in the App" => "アプリで許可されないコードが入っているのが原因でアプリがインストールできません",
+"App can't be installed because it is not compatible with this version of ownCloud" => "アプリは、このバージョンのownCloudと互換性がない為、インストールできません。",
+"App can't be installed because the version in info.xml/version is not the same as the version reported from the app store" => "info.xml/versionのバージョンがアプリストアのバージョンと合っていない為、アプリはインストールされません",
+"App directory already exists" => "アプリディレクトリは既に存在します",
+"Can't create app folder. Please fix permissions. %s" => "アプリフォルダを作成出来ませんでした。%s のパーミッションを修正してください。",
"Application is not enabled" => "アプリケーションは無効です",
"Authentication error" => "認証エラー",
"Token expired. Please reload page." => "トークンが無効になりました。ページを再読込してください。",
diff --git a/lib/ocs/activity.php b/lib/ocs/activity.php
deleted file mode 100644
index c30e21018d3..00000000000
--- a/lib/ocs/activity.php
+++ /dev/null
@@ -1,28 +0,0 @@
-<?php
-/**
-* ownCloud
-*
-* @author Frank Karlitschek
-* @copyright 2012 Frank Karlitschek frank@owncloud.org
-*
-* This library is free software; you can redistribute it and/or
-* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
-* License as published by the Free Software Foundation; either
-* version 3 of the License, or any later version.
-*
-* This library is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU AFFERO GENERAL PUBLIC LICENSE for more details.
-*
-* You should have received a copy of the GNU Affero General Public
-* License along with this library. If not, see <http://www.gnu.org/licenses/>.
-*
-*/
-
-class OC_OCS_Activity {
-
- public static function activityGet($parameters){
- // TODO
- }
-}
diff --git a/lib/ocsclient.php b/lib/ocsclient.php
index bd0302a2a81..58636f806be 100644
--- a/lib/ocsclient.php
+++ b/lib/ocsclient.php
@@ -40,16 +40,6 @@ class OC_OCSClient{
return($url);
}
- /**
- * @brief Get the url of the OCS KB server.
- * @returns string of the KB server
- * This function returns the url of the OCS knowledge base server. It´s
- * possible to set it in the config file or it will fallback to the default
- */
- private static function getKBURL() {
- $url = OC_Config::getValue('knowledgebaseurl', 'http://api.apps.owncloud.com/v1');
- return($url);
- }
/**
* @brief Get the content of an OCS url call.
@@ -214,44 +204,5 @@ class OC_OCSClient{
}
- /**
- * @brief Get all the knowledgebase entries from the OCS server
- * @returns array with q and a data
- *
- * This function returns a list of all the knowledgebase entries from the OCS server
- */
- public static function getKnownledgebaseEntries($page, $pagesize, $search='') {
- $kbe = array('totalitems' => 0);
- if(OC_Config::getValue('knowledgebaseenabled', true)) {
- $p = (int) $page;
- $s = (int) $pagesize;
- $searchcmd = '';
- if ($search) {
- $searchcmd = '&search='.urlencode($search);
- }
- $url = OC_OCSClient::getKBURL().'/knowledgebase/data?type=150&page='. $p .'&pagesize='. $s . $searchcmd;
- $xml = OC_OCSClient::getOCSresponse($url);
- $data = @simplexml_load_string($xml);
- if($data===false) {
- OC_Log::write('core', 'Unable to parse knowledgebase content', OC_Log::FATAL);
- return null;
- }
- $tmp = $data->data->content;
- for($i = 0; $i < count($tmp); $i++) {
- $kbe[] = array(
- 'id' => $tmp[$i]->id,
- 'name' => $tmp[$i]->name,
- 'description' => $tmp[$i]->description,
- 'answer' => $tmp[$i]->answer,
- 'preview1' => $tmp[$i]->smallpreviewpic1,
- 'detailpage' => $tmp[$i]->detailpage
- );
- }
- $kbe['totalitems'] = $data->meta->totalitems;
- }
- return $kbe;
- }
-
-
}
diff --git a/lib/preview.php b/lib/preview.php
new file mode 100755
index 00000000000..b40ba191fba
--- /dev/null
+++ b/lib/preview.php
@@ -0,0 +1,627 @@
+<?php
+/**
+ * Copyright (c) 2013 Frank Karlitschek frank@owncloud.org
+ * Copyright (c) 2013 Georg Ehrke georg@ownCloud.com
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ *
+ * Thumbnails:
+ * structure of filename:
+ * /data/user/thumbnails/pathhash/x-y.png
+ *
+ */
+namespace OC;
+
+require_once 'preview/image.php';
+require_once 'preview/movies.php';
+require_once 'preview/mp3.php';
+require_once 'preview/pdf.php';
+require_once 'preview/svg.php';
+require_once 'preview/txt.php';
+require_once 'preview/unknown.php';
+require_once 'preview/office.php';
+
+class Preview {
+ //the thumbnail folder
+ const THUMBNAILS_FOLDER = 'thumbnails';
+
+ //config
+ private $maxScaleFactor;
+ private $configMaxX;
+ private $configMaxY;
+
+ //fileview object
+ private $fileView = null;
+ private $userView = null;
+
+ //vars
+ private $file;
+ private $maxX;
+ private $maxY;
+ private $scalingup;
+
+ //preview images object
+ private $preview;
+
+ //preview providers
+ static private $providers = array();
+ static private $registeredProviders = array();
+
+ /**
+ * @brief check if thumbnail or bigger version of thumbnail of file is cached
+ * @param string $user userid - if no user is given, OC_User::getUser will be used
+ * @param string $root path of root
+ * @param string $file The path to the file where you want a thumbnail from
+ * @param int $maxX The maximum X size of the thumbnail. It can be smaller depending on the shape of the image
+ * @param int $maxY The maximum Y size of the thumbnail. It can be smaller depending on the shape of the image
+ * @param bool $scalingUp Disable/Enable upscaling of previews
+ * @return mixed (bool / string)
+ * false if thumbnail does not exist
+ * path to thumbnail if thumbnail exists
+ */
+ public function __construct($user='', $root='/', $file='', $maxX=1, $maxY=1, $scalingUp=true) {
+ //set config
+ $this->configMaxX = \OC_Config::getValue('preview_max_x', null);
+ $this->configMaxY = \OC_Config::getValue('preview_max_y', null);
+ $this->maxScaleFactor = \OC_Config::getValue('preview_max_scale_factor', 2);
+
+ //save parameters
+ $this->setFile($file);
+ $this->setMaxX($maxX);
+ $this->setMaxY($maxY);
+ $this->setScalingUp($scalingUp);
+
+ //init fileviews
+ if($user === ''){
+ $user = \OC_User::getUser();
+ }
+ $this->fileView = new \OC\Files\View('/' . $user . '/' . $root);
+ $this->userView = new \OC\Files\View('/' . $user);
+
+ $this->preview = null;
+
+ //check if there are preview backends
+ if(empty(self::$providers)) {
+ self::initProviders();
+ }
+
+ if(empty(self::$providers)) {
+ \OC_Log::write('core', 'No preview providers exist', \OC_Log::ERROR);
+ throw new \Exception('No preview providers');
+ }
+ }
+
+ /**
+ * @brief returns the path of the file you want a thumbnail from
+ * @return string
+ */
+ public function getFile() {
+ return $this->file;
+ }
+
+ /**
+ * @brief returns the max width of the preview
+ * @return integer
+ */
+ public function getMaxX() {
+ return $this->maxX;
+ }
+
+ /**
+ * @brief returns the max height of the preview
+ * @return integer
+ */
+ public function getMaxY() {
+ return $this->maxY;
+ }
+
+ /**
+ * @brief returns whether or not scalingup is enabled
+ * @return bool
+ */
+ public function getScalingUp() {
+ return $this->scalingup;
+ }
+
+ /**
+ * @brief returns the name of the thumbnailfolder
+ * @return string
+ */
+ public function getThumbnailsFolder() {
+ return self::THUMBNAILS_FOLDER;
+ }
+
+ /**
+ * @brief returns the max scale factor
+ * @return integer
+ */
+ public function getMaxScaleFactor() {
+ return $this->maxScaleFactor;
+ }
+
+ /**
+ * @brief returns the max width set in ownCloud's config
+ * @return integer
+ */
+ public function getConfigMaxX() {
+ return $this->configMaxX;
+ }
+
+ /**
+ * @brief returns the max height set in ownCloud's config
+ * @return integer
+ */
+ public function getConfigMaxY() {
+ return $this->configMaxY;
+ }
+
+ /**
+ * @brief set the path of the file you want a thumbnail from
+ * @param string $file
+ * @return $this
+ */
+ public function setFile($file) {
+ $this->file = $file;
+ return $this;
+ }
+
+ /**
+ * @brief set the the max width of the preview
+ * @param int $maxX
+ * @return $this
+ */
+ public function setMaxX($maxX=1) {
+ if($maxX <= 0) {
+ throw new \Exception('Cannot set width of 0 or smaller!');
+ }
+ $configMaxX = $this->getConfigMaxX();
+ if(!is_null($configMaxX)) {
+ if($maxX > $configMaxX) {
+ \OC_Log::write('core', 'maxX reduced from ' . $maxX . ' to ' . $configMaxX, \OC_Log::DEBUG);
+ $maxX = $configMaxX;
+ }
+ }
+ $this->maxX = $maxX;
+ return $this;
+ }
+
+ /**
+ * @brief set the the max height of the preview
+ * @param int $maxY
+ * @return $this
+ */
+ public function setMaxY($maxY=1) {
+ if($maxY <= 0) {
+ throw new \Exception('Cannot set height of 0 or smaller!');
+ }
+ $configMaxY = $this->getConfigMaxY();
+ if(!is_null($configMaxY)) {
+ if($maxY > $configMaxY) {
+ \OC_Log::write('core', 'maxX reduced from ' . $maxY . ' to ' . $configMaxY, \OC_Log::DEBUG);
+ $maxY = $configMaxY;
+ }
+ }
+ $this->maxY = $maxY;
+ return $this;
+ }
+
+ /**
+ * @brief set whether or not scalingup is enabled
+ * @param bool $scalingUp
+ * @return $this
+ */
+ public function setScalingup($scalingUp) {
+ if($this->getMaxScaleFactor() === 1) {
+ $scalingUp = false;
+ }
+ $this->scalingup = $scalingUp;
+ return $this;
+ }
+
+ /**
+ * @brief check if all parameters are valid
+ * @return bool
+ */
+ public function isFileValid() {
+ $file = $this->getFile();
+ if($file === '') {
+ \OC_Log::write('core', 'No filename passed', \OC_Log::DEBUG);
+ return false;
+ }
+
+ if(!$this->fileView->file_exists($file)) {
+ \OC_Log::write('core', 'File:"' . $file . '" not found', \OC_Log::DEBUG);
+ return false;
+ }
+
+ return true;
+ }
+
+ /**
+ * @brief deletes previews of a file with specific x and y
+ * @return bool
+ */
+ public function deletePreview() {
+ $file = $this->getFile();
+
+ $fileInfo = $this->fileView->getFileInfo($file);
+ $fileId = $fileInfo['fileid'];
+
+ $previewPath = $this->getThumbnailsFolder() . '/' . $fileId . '/' . $this->getMaxX() . '-' . $this->getMaxY() . '.png';
+ $this->userView->unlink($previewPath);
+ return !$this->userView->file_exists($previewPath);
+ }
+
+ /**
+ * @brief deletes all previews of a file
+ * @return bool
+ */
+ public function deleteAllPreviews() {
+ $file = $this->getFile();
+
+ $fileInfo = $this->fileView->getFileInfo($file);
+ $fileId = $fileInfo['fileid'];
+
+ $previewPath = $this->getThumbnailsFolder() . '/' . $fileId . '/';
+ $this->userView->deleteAll($previewPath);
+ $this->userView->rmdir($previewPath);
+ return !$this->userView->is_dir($previewPath);
+ }
+
+ /**
+ * @brief check if thumbnail or bigger version of thumbnail of file is cached
+ * @return mixed (bool / string)
+ * false if thumbnail does not exist
+ * path to thumbnail if thumbnail exists
+ */
+ private function isCached() {
+ $file = $this->getFile();
+ $maxX = $this->getMaxX();
+ $maxY = $this->getMaxY();
+ $scalingUp = $this->getScalingUp();
+ $maxScaleFactor = $this->getMaxScaleFactor();
+
+ $fileInfo = $this->fileView->getFileInfo($file);
+ $fileId = $fileInfo['fileid'];
+
+ if(is_null($fileId)) {
+ return false;
+ }
+
+ $previewPath = $this->getThumbnailsFolder() . '/' . $fileId . '/';
+ if(!$this->userView->is_dir($previewPath)) {
+ return false;
+ }
+
+ //does a preview with the wanted height and width already exist?
+ if($this->userView->file_exists($previewPath . $maxX . '-' . $maxY . '.png')) {
+ return $previewPath . $maxX . '-' . $maxY . '.png';
+ }
+
+ $wantedAspectRatio = (float) ($maxX / $maxY);
+
+ //array for usable cached thumbnails
+ $possibleThumbnails = array();
+
+ $allThumbnails = $this->userView->getDirectoryContent($previewPath);
+ foreach($allThumbnails as $thumbnail) {
+ $name = rtrim($thumbnail['name'], '.png');
+ $size = explode('-', $name);
+ $x = (int) $size[0];
+ $y = (int) $size[1];
+
+ $aspectRatio = (float) ($x / $y);
+ if($aspectRatio !== $wantedAspectRatio) {
+ continue;
+ }
+
+ if($x < $maxX || $y < $maxY) {
+ if($scalingUp) {
+ $scalefactor = $maxX / $x;
+ if($scalefactor > $maxScaleFactor) {
+ continue;
+ }
+ }else{
+ continue;
+ }
+ }
+ $possibleThumbnails[$x] = $thumbnail['path'];
+ }
+
+ if(count($possibleThumbnails) === 0) {
+ return false;
+ }
+
+ if(count($possibleThumbnails) === 1) {
+ return current($possibleThumbnails);
+ }
+
+ ksort($possibleThumbnails);
+
+ if(key(reset($possibleThumbnails)) > $maxX) {
+ return current(reset($possibleThumbnails));
+ }
+
+ if(key(end($possibleThumbnails)) < $maxX) {
+ return current(end($possibleThumbnails));
+ }
+
+ foreach($possibleThumbnails as $width => $path) {
+ if($width < $maxX) {
+ continue;
+ }else{
+ return $path;
+ }
+ }
+ }
+
+ /**
+ * @brief return a preview of a file
+ * @return \OC_Image
+ */
+ public function getPreview() {
+ if(!is_null($this->preview) && $this->preview->valid()){
+ return $this->preview;
+ }
+
+ $this->preview = null;
+ $file = $this->getFile();
+ $maxX = $this->getMaxX();
+ $maxY = $this->getMaxY();
+ $scalingUp = $this->getScalingUp();
+
+ $fileInfo = $this->fileView->getFileInfo($file);
+ $fileId = $fileInfo['fileid'];
+
+ $cached = $this->isCached();
+
+ if($cached) {
+ $image = new \OC_Image($this->userView->file_get_contents($cached, 'r'));
+ $this->preview = $image->valid() ? $image : null;
+ $this->resizeAndCrop();
+ }
+
+ if(is_null($this->preview)) {
+ $mimetype = $this->fileView->getMimeType($file);
+ $preview = null;
+
+ foreach(self::$providers as $supportedMimetype => $provider) {
+ if(!preg_match($supportedMimetype, $mimetype)) {
+ continue;
+ }
+
+ \OC_Log::write('core', 'Generating preview for "' . $file . '" with "' . get_class($provider) . '"', \OC_Log::DEBUG);
+
+ $preview = $provider->getThumbnail($file, $maxX, $maxY, $scalingUp, $this->fileView);
+
+ if(!($preview instanceof \OC_Image)) {
+ continue;
+ }
+
+ $this->preview = $preview;
+ $this->resizeAndCrop();
+
+ $previewPath = $this->getThumbnailsFolder() . '/' . $fileId . '/';
+ $cachePath = $previewPath . $maxX . '-' . $maxY . '.png';
+
+ if($this->userView->is_dir($this->getThumbnailsFolder() . '/') === false) {
+ $this->userView->mkdir($this->getThumbnailsFolder() . '/');
+ }
+
+ if($this->userView->is_dir($previewPath) === false) {
+ $this->userView->mkdir($previewPath);
+ }
+
+ $this->userView->file_put_contents($cachePath, $preview->data());
+
+ break;
+ }
+ }
+
+ if(is_null($this->preview)) {
+ $this->preview = new \OC_Image();
+ }
+
+ return $this->preview;
+ }
+
+ /**
+ * @brief show preview
+ * @return void
+ */
+ public function showPreview() {
+ \OCP\Response::enableCaching(3600 * 24); // 24 hours
+ if(is_null($this->preview)) {
+ $this->getPreview();
+ }
+ $this->preview->show();
+ return;
+ }
+
+ /**
+ * @brief show preview
+ * @return void
+ */
+ public function show() {
+ $this->showPreview();
+ return;
+ }
+
+ /**
+ * @brief resize, crop and fix orientation
+ * @return void
+ */
+ private function resizeAndCrop() {
+ $image = $this->preview;
+ $x = $this->getMaxX();
+ $y = $this->getMaxY();
+ $scalingUp = $this->getScalingUp();
+ $maxscalefactor = $this->getMaxScaleFactor();
+
+ if(!($image instanceof \OC_Image)) {
+ \OC_Log::write('core', '$this->preview is not an instance of OC_Image', \OC_Log::DEBUG);
+ return;
+ }
+
+ $image->fixOrientation();
+
+ $realx = (int) $image->width();
+ $realy = (int) $image->height();
+
+ if($x === $realx && $y === $realy) {
+ $this->preview = $image;
+ return;
+ }
+
+ $factorX = $x / $realx;
+ $factorY = $y / $realy;
+
+ if($factorX >= $factorY) {
+ $factor = $factorX;
+ }else{
+ $factor = $factorY;
+ }
+
+ if($scalingUp === false) {
+ if($factor > 1) {
+ $factor = 1;
+ }
+ }
+
+ if(!is_null($maxscalefactor)) {
+ if($factor > $maxscalefactor) {
+ \OC_Log::write('core', 'scalefactor reduced from ' . $factor . ' to ' . $maxscalefactor, \OC_Log::DEBUG);
+ $factor = $maxscalefactor;
+ }
+ }
+
+ $newXsize = (int) ($realx * $factor);
+ $newYsize = (int) ($realy * $factor);
+
+ $image->preciseResize($newXsize, $newYsize);
+
+ if($newXsize === $x && $newYsize === $y) {
+ $this->preview = $image;
+ return;
+ }
+
+ if($newXsize >= $x && $newYsize >= $y) {
+ $cropX = floor(abs($x - $newXsize) * 0.5);
+ //don't crop previews on the Y axis, this sucks if it's a document.
+ //$cropY = floor(abs($y - $newYsize) * 0.5);
+ $cropY = 0;
+
+ $image->crop($cropX, $cropY, $x, $y);
+
+ $this->preview = $image;
+ return;
+ }
+
+ if($newXsize < $x || $newYsize < $y) {
+ if($newXsize > $x) {
+ $cropX = floor(($newXsize - $x) * 0.5);
+ $image->crop($cropX, 0, $x, $newYsize);
+ }
+
+ if($newYsize > $y) {
+ $cropY = floor(($newYsize - $y) * 0.5);
+ $image->crop(0, $cropY, $newXsize, $y);
+ }
+
+ $newXsize = (int) $image->width();
+ $newYsize = (int) $image->height();
+
+ //create transparent background layer
+ $backgroundlayer = imagecreatetruecolor($x, $y);
+ $white = imagecolorallocate($backgroundlayer, 255, 255, 255);
+ imagefill($backgroundlayer, 0, 0, $white);
+
+ $image = $image->resource();
+
+ $mergeX = floor(abs($x - $newXsize) * 0.5);
+ $mergeY = floor(abs($y - $newYsize) * 0.5);
+
+ imagecopy($backgroundlayer, $image, $mergeX, $mergeY, 0, 0, $newXsize, $newYsize);
+
+ //$black = imagecolorallocate(0,0,0);
+ //imagecolortransparent($transparentlayer, $black);
+
+ $image = new \OC_Image($backgroundlayer);
+
+ $this->preview = $image;
+ return;
+ }
+ }
+
+ /**
+ * @brief register a new preview provider to be used
+ * @param string $provider class name of a Preview_Provider
+ * @param array $options
+ * @return void
+ */
+ public static function registerProvider($class, $options=array()) {
+ self::$registeredProviders[]=array('class'=>$class, 'options'=>$options);
+ }
+
+ /**
+ * @brief create instances of all the registered preview providers
+ * @return void
+ */
+ private static function initProviders() {
+ if(!\OC_Config::getValue('enable_previews', true)) {
+ $provider = new Preview\Unknown(array());
+ self::$providers = array($provider->getMimeType() => $provider);
+ return;
+ }
+
+ if(count(self::$providers)>0) {
+ return;
+ }
+
+ foreach(self::$registeredProviders as $provider) {
+ $class=$provider['class'];
+ $options=$provider['options'];
+
+ $object = new $class($options);
+
+ self::$providers[$object->getMimeType()] = $object;
+ }
+
+ $keys = array_map('strlen', array_keys(self::$providers));
+ array_multisort($keys, SORT_DESC, self::$providers);
+ }
+
+ public static function post_write($args) {
+ self::post_delete($args);
+ }
+
+ public static function post_delete($args) {
+ $path = $args['path'];
+ if(substr($path, 0, 1) === '/') {
+ $path = substr($path, 1);
+ }
+ $preview = new Preview(\OC_User::getUser(), 'files/', $path);
+ $preview->deleteAllPreviews();
+ }
+
+ public static function isMimeSupported($mimetype) {
+ if(!\OC_Config::getValue('enable_previews', true)) {
+ return false;
+ }
+
+ //check if there are preview backends
+ if(empty(self::$providers)) {
+ self::initProviders();
+ }
+
+ //remove last element because it has the mimetype *
+ $providers = array_slice(self::$providers, 0, -1);
+ foreach($providers as $supportedMimetype => $provider) {
+ if(preg_match($supportedMimetype, $mimetype)) {
+ return true;
+ }
+ }
+ return false;
+ }
+} \ No newline at end of file
diff --git a/lib/preview/image.php b/lib/preview/image.php
new file mode 100644
index 00000000000..9aec967282d
--- /dev/null
+++ b/lib/preview/image.php
@@ -0,0 +1,36 @@
+<?php
+/**
+ * Copyright (c) 2013 Frank Karlitschek frank@owncloud.org
+ * Copyright (c) 2013 Georg Ehrke georg@ownCloud.com
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+namespace OC\Preview;
+
+class Image extends Provider {
+
+ public function getMimeType() {
+ return '/image\/.*/';
+ }
+
+ public function getThumbnail($path, $maxX, $maxY, $scalingup, $fileview) {
+ //get fileinfo
+ $fileInfo = $fileview->getFileInfo($path);
+ if(!$fileInfo) {
+ return false;
+ }
+
+ //check if file is encrypted
+ if($fileInfo['encrypted'] === true) {
+ $image = new \OC_Image(stream_get_contents($fileview->fopen($path, 'r')));
+ }else{
+ $image = new \OC_Image();
+ $image->loadFromFile($fileview->getLocalFile($path));
+ }
+
+ return $image->valid() ? $image : false;
+ }
+}
+
+\OC\Preview::registerProvider('OC\Preview\Image'); \ No newline at end of file
diff --git a/lib/preview/movies.php b/lib/preview/movies.php
new file mode 100644
index 00000000000..e2a1b8edddc
--- /dev/null
+++ b/lib/preview/movies.php
@@ -0,0 +1,47 @@
+<?php
+/**
+ * Copyright (c) 2013 Frank Karlitschek frank@owncloud.org
+ * Copyright (c) 2013 Georg Ehrke georg@ownCloud.com
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+namespace OC\Preview;
+
+$isShellExecEnabled = !in_array('shell_exec', explode(', ', ini_get('disable_functions')));
+$whichFFMPEG = shell_exec('which ffmpeg');
+$isFFMPEGAvailable = !empty($whichFFMPEG);
+
+if($isShellExecEnabled && $isFFMPEGAvailable) {
+
+ class Movie extends Provider {
+
+ public function getMimeType() {
+ return '/video\/.*/';
+ }
+
+ public function getThumbnail($path, $maxX, $maxY, $scalingup, $fileview) {
+ $absPath = \OC_Helper::tmpFile();
+ $tmpPath = \OC_Helper::tmpFile();
+
+ $handle = $fileview->fopen($path, 'rb');
+
+ $firstmb = stream_get_contents($handle, 1048576); //1024 * 1024 = 1048576
+ file_put_contents($absPath, $firstmb);
+
+ //$cmd = 'ffmpeg -y -i ' . escapeshellarg($absPath) . ' -f mjpeg -vframes 1 -ss 1 -s ' . escapeshellarg($maxX) . 'x' . escapeshellarg($maxY) . ' ' . $tmpPath;
+ $cmd = 'ffmpeg -an -y -i ' . escapeshellarg($absPath) . ' -f mjpeg -vframes 1 -ss 1 ' . escapeshellarg($tmpPath);
+
+ shell_exec($cmd);
+
+ $image = new \OC_Image($tmpPath);
+
+ unlink($absPath);
+ unlink($tmpPath);
+
+ return $image->valid() ? $image : false;
+ }
+ }
+
+ \OC\Preview::registerProvider('OC\Preview\Movie');
+} \ No newline at end of file
diff --git a/lib/preview/mp3.php b/lib/preview/mp3.php
new file mode 100644
index 00000000000..1eed566315c
--- /dev/null
+++ b/lib/preview/mp3.php
@@ -0,0 +1,48 @@
+<?php
+/**
+ * Copyright (c) 2013 Georg Ehrke georg@ownCloud.com
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+namespace OC\Preview;
+
+class MP3 extends Provider {
+
+ public function getMimeType() {
+ return '/audio\/mpeg/';
+ }
+
+ public function getThumbnail($path, $maxX, $maxY, $scalingup, $fileview) {
+ require_once('getid3/getid3.php');
+
+ $getID3 = new \getID3();
+
+ $tmpPath = $fileview->toTmpFile($path);
+
+ $tags = $getID3->analyze($tmpPath);
+ \getid3_lib::CopyTagsToComments($tags);
+ if(isset($tags['id3v2']['APIC'][0]['data'])) {
+ $picture = @$tags['id3v2']['APIC'][0]['data'];
+ unlink($tmpPath);
+ $image = new \OC_Image($picture);
+ return $image->valid() ? $image : $this->getNoCoverThumbnail();
+ }
+
+ return $this->getNoCoverThumbnail();
+ }
+
+ private function getNoCoverThumbnail() {
+ $icon = \OC::$SERVERROOT . '/core/img/filetypes/audio.png';
+
+ if(!file_exists($icon)) {
+ return false;
+ }
+
+ $image = new \OC_Image($icon);
+ return $image->valid() ? $image : false;
+ }
+
+}
+
+\OC\Preview::registerProvider('OC\Preview\MP3'); \ No newline at end of file
diff --git a/lib/preview/office-cl.php b/lib/preview/office-cl.php
new file mode 100644
index 00000000000..112909d6523
--- /dev/null
+++ b/lib/preview/office-cl.php
@@ -0,0 +1,134 @@
+<?php
+/**
+ * Copyright (c) 2013 Georg Ehrke georg@ownCloud.com
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+namespace OC\Preview;
+
+//we need imagick to convert
+class Office extends Provider {
+
+ private $cmd;
+
+ public function getMimeType() {
+ return null;
+ }
+
+ public function getThumbnail($path, $maxX, $maxY, $scalingup, $fileview) {
+ $this->initCmd();
+ if(is_null($this->cmd)) {
+ return false;
+ }
+
+ $absPath = $fileview->toTmpFile($path);
+
+ $tmpDir = get_temp_dir();
+
+ $defaultParameters = ' --headless --nologo --nofirststartwizard --invisible --norestore -convert-to pdf -outdir ';
+ $clParameters = \OCP\Config::getSystemValue('preview_office_cl_parameters', $defaultParameters);
+
+ $exec = $this->cmd . $clParameters . escapeshellarg($tmpDir) . ' ' . escapeshellarg($absPath);
+ $export = 'export HOME=/' . $tmpDir;
+
+ shell_exec($export . "\n" . $exec);
+
+ //create imagick object from pdf
+ try{
+ $pdf = new \imagick($absPath . '.pdf' . '[0]');
+ $pdf->setImageFormat('jpg');
+ } catch (\Exception $e) {
+ unlink($absPath);
+ unlink($absPath . '.pdf');
+ \OC_Log::write('core', $e->getmessage(), \OC_Log::ERROR);
+ return false;
+ }
+
+ $image = new \OC_Image($pdf);
+
+ unlink($absPath);
+ unlink($absPath . '.pdf');
+
+ return $image->valid() ? $image : false;
+ }
+
+ private function initCmd() {
+ $cmd = '';
+
+ if(is_string(\OC_Config::getValue('preview_libreoffice_path', null))) {
+ $cmd = \OC_Config::getValue('preview_libreoffice_path', null);
+ }
+
+ $whichLibreOffice = shell_exec('which libreoffice');
+ if($cmd === '' && !empty($whichLibreOffice)) {
+ $cmd = 'libreoffice';
+ }
+
+ $whichOpenOffice = shell_exec('which openoffice');
+ if($cmd === '' && !empty($whichOpenOffice)) {
+ $cmd = 'openoffice';
+ }
+
+ if($cmd === '') {
+ $cmd = null;
+ }
+
+ $this->cmd = $cmd;
+ }
+}
+
+//.doc, .dot
+class MSOfficeDoc extends Office {
+
+ public function getMimeType() {
+ return '/application\/msword/';
+ }
+
+}
+
+\OC\Preview::registerProvider('OC\Preview\MSOfficeDoc');
+
+//.docm, .dotm, .xls(m), .xlt(m), .xla(m), .ppt(m), .pot(m), .pps(m), .ppa(m)
+class MSOffice2003 extends Office {
+
+ public function getMimeType() {
+ return '/application\/vnd.ms-.*/';
+ }
+
+}
+
+\OC\Preview::registerProvider('OC\Preview\MSOffice2003');
+
+//.docx, .dotx, .xlsx, .xltx, .pptx, .potx, .ppsx
+class MSOffice2007 extends Office {
+
+ public function getMimeType() {
+ return '/application\/vnd.openxmlformats-officedocument.*/';
+ }
+
+}
+
+\OC\Preview::registerProvider('OC\Preview\MSOffice2007');
+
+//.odt, .ott, .oth, .odm, .odg, .otg, .odp, .otp, .ods, .ots, .odc, .odf, .odb, .odi, .oxt
+class OpenDocument extends Office {
+
+ public function getMimeType() {
+ return '/application\/vnd.oasis.opendocument.*/';
+ }
+
+}
+
+\OC\Preview::registerProvider('OC\Preview\OpenDocument');
+
+//.sxw, .stw, .sxc, .stc, .sxd, .std, .sxi, .sti, .sxg, .sxm
+class StarOffice extends Office {
+
+ public function getMimeType() {
+ return '/application\/vnd.sun.xml.*/';
+ }
+
+}
+
+\OC\Preview::registerProvider('OC\Preview\StarOffice'); \ No newline at end of file
diff --git a/lib/preview/office-fallback.php b/lib/preview/office-fallback.php
new file mode 100644
index 00000000000..e69ab0ab8cb
--- /dev/null
+++ b/lib/preview/office-fallback.php
@@ -0,0 +1,142 @@
+<?php
+/**
+ * Copyright (c) 2013 Georg Ehrke georg@ownCloud.com
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+namespace OC\Preview;
+
+/* //There is no (good) php-only solution for converting 2003 word documents to pdfs / pngs ...
+class DOC extends Provider {
+
+ public function getMimeType() {
+ return '/application\/msword/';
+ }
+
+ public function getThumbnail($path, $maxX, $maxY, $scalingup, $fileview) {
+ require_once('');
+ }
+
+}
+
+\OC\Preview::registerProvider('OC\Preview\DOC');
+*/
+
+class DOCX extends Provider {
+
+ public function getMimeType() {
+ return '/application\/vnd.openxmlformats-officedocument.wordprocessingml.document/';
+ }
+
+ public function getThumbnail($path, $maxX, $maxY, $scalingup, $fileview) {
+ require_once('phpdocx/classes/TransformDoc.inc');
+
+ $tmpDoc = $fileview->toTmpFile($path);
+
+ $transformdoc = new \TransformDoc();
+ $transformdoc->setStrFile($tmpDoc);
+ $transformdoc->generatePDF($tmpDoc);
+
+ $pdf = new \imagick($tmpDoc . '[0]');
+ $pdf->setImageFormat('jpg');
+
+ unlink($tmpDoc);
+
+ $image = new \OC_Image($pdf);
+
+ return $image->valid() ? $image : false;
+ }
+
+}
+
+\OC\Preview::registerProvider('OC\Preview\DOCX');
+
+class MSOfficeExcel extends Provider {
+
+ public function getMimeType() {
+ return null;
+ }
+
+ public function getThumbnail($path, $maxX, $maxY, $scalingup, $fileview) {
+ require_once('PHPExcel/Classes/PHPExcel.php');
+ require_once('PHPExcel/Classes/PHPExcel/IOFactory.php');
+
+ $absPath = $fileview->toTmpFile($path);
+ $tmpPath = \OC_Helper::tmpFile();
+
+ $rendererName = \PHPExcel_Settings::PDF_RENDERER_DOMPDF;
+ $rendererLibraryPath = \OC::$THIRDPARTYROOT . '/3rdparty/dompdf';
+
+ \PHPExcel_Settings::setPdfRenderer($rendererName, $rendererLibraryPath);
+
+ $phpexcel = new \PHPExcel($absPath);
+ $excel = \PHPExcel_IOFactory::createWriter($phpexcel, 'PDF');
+ $excel->save($tmpPath);
+
+ $pdf = new \imagick($tmpPath . '[0]');
+ $pdf->setImageFormat('jpg');
+
+ unlink($absPath);
+ unlink($tmpPath);
+
+ $image = new \OC_Image($pdf);
+
+ return $image->valid() ? $image : false;
+ }
+
+}
+
+class XLS extends MSOfficeExcel {
+
+ public function getMimeType() {
+ return '/application\/vnd.ms-excel/';
+ }
+
+}
+
+\OC\Preview::registerProvider('OC\Preview\XLS');
+
+class XLSX extends MSOfficeExcel {
+
+ public function getMimeType() {
+ return '/application\/vnd.openxmlformats-officedocument.spreadsheetml.sheet/';
+ }
+
+}
+
+\OC\Preview::registerProvider('OC\Preview\XLSX');
+
+/* //There is no (good) php-only solution for converting powerpoint documents to pdfs / pngs ...
+class MSOfficePowerPoint extends Provider {
+
+ public function getMimeType() {
+ return null;
+ }
+
+ public function getThumbnail($path, $maxX, $maxY, $scalingup, $fileview) {
+ return false;
+ }
+
+}
+
+class PPT extends MSOfficePowerPoint {
+
+ public function getMimeType() {
+ return '/application\/vnd.ms-powerpoint/';
+ }
+
+}
+
+\OC\Preview::registerProvider('OC\Preview\PPT');
+
+class PPTX extends MSOfficePowerPoint {
+
+ public function getMimeType() {
+ return '/application\/vnd.openxmlformats-officedocument.presentationml.presentation/';
+ }
+
+}
+
+\OC\Preview::registerProvider('OC\Preview\PPTX');
+*/ \ No newline at end of file
diff --git a/lib/preview/office.php b/lib/preview/office.php
new file mode 100644
index 00000000000..5287bbd6ac1
--- /dev/null
+++ b/lib/preview/office.php
@@ -0,0 +1,22 @@
+<?php
+/**
+ * Copyright (c) 2013 Georg Ehrke georg@ownCloud.com
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+//both, libreoffice backend and php fallback, need imagick
+if (extension_loaded('imagick')) {
+ $isShellExecEnabled = !in_array('shell_exec', explode(', ', ini_get('disable_functions')));
+ $whichLibreOffice = shell_exec('which libreoffice');
+ $isLibreOfficeAvailable = !empty($whichLibreOffice);
+ $whichOpenOffice = shell_exec('which libreoffice');
+ $isOpenOfficeAvailable = !empty($whichOpenOffice);
+ //let's see if there is libreoffice or openoffice on this machine
+ if($isShellExecEnabled && ($isLibreOfficeAvailable || $isOpenOfficeAvailable || is_string(\OC_Config::getValue('preview_libreoffice_path', null)))) {
+ require_once('office-cl.php');
+ }else{
+ //in case there isn't, use our fallback
+ require_once('office-fallback.php');
+ }
+} \ No newline at end of file
diff --git a/lib/preview/pdf.php b/lib/preview/pdf.php
new file mode 100644
index 00000000000..cc974b68818
--- /dev/null
+++ b/lib/preview/pdf.php
@@ -0,0 +1,40 @@
+<?php
+/**
+ * Copyright (c) 2013 Georg Ehrke georg@ownCloud.com
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+namespace OC\Preview;
+
+if (extension_loaded('imagick')) {
+
+ class PDF extends Provider {
+
+ public function getMimeType() {
+ return '/application\/pdf/';
+ }
+
+ public function getThumbnail($path, $maxX, $maxY, $scalingup, $fileview) {
+ $tmpPath = $fileview->toTmpFile($path);
+
+ //create imagick object from pdf
+ try{
+ $pdf = new \imagick($tmpPath . '[0]');
+ $pdf->setImageFormat('jpg');
+ } catch (\Exception $e) {
+ \OC_Log::write('core', $e->getmessage(), \OC_Log::ERROR);
+ return false;
+ }
+
+ unlink($tmpPath);
+
+ //new image object
+ $image = new \OC_Image($pdf);
+ //check if image object is valid
+ return $image->valid() ? $image : false;
+ }
+ }
+
+ \OC\Preview::registerProvider('OC\Preview\PDF');
+}
diff --git a/lib/preview/provider.php b/lib/preview/provider.php
new file mode 100644
index 00000000000..e4a730bafc8
--- /dev/null
+++ b/lib/preview/provider.php
@@ -0,0 +1,19 @@
+<?php
+namespace OC\Preview;
+
+abstract class Provider {
+ private $options;
+
+ public function __construct($options) {
+ $this->options=$options;
+ }
+
+ abstract public function getMimeType();
+
+ /**
+ * search for $query
+ * @param string $query
+ * @return
+ */
+ abstract public function getThumbnail($path, $maxX, $maxY, $scalingup, $fileview);
+}
diff --git a/lib/preview/svg.php b/lib/preview/svg.php
new file mode 100644
index 00000000000..b49e51720fa
--- /dev/null
+++ b/lib/preview/svg.php
@@ -0,0 +1,46 @@
+<?php
+/**
+ * Copyright (c) 2013 Georg Ehrke georg@ownCloud.com
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+namespace OC\Preview;
+
+if (extension_loaded('imagick')) {
+
+ class SVG extends Provider {
+
+ public function getMimeType() {
+ return '/image\/svg\+xml/';
+ }
+
+ public function getThumbnail($path,$maxX,$maxY,$scalingup,$fileview) {
+ try{
+ $svg = new \Imagick();
+ $svg->setBackgroundColor(new \ImagickPixel('transparent'));
+
+ $content = stream_get_contents($fileview->fopen($path, 'r'));
+ if(substr($content, 0, 5) !== '<?xml') {
+ $content = '<?xml version="1.0" encoding="UTF-8" standalone="no"?>' . $content;
+ }
+
+ $svg->readImageBlob($content);
+ $svg->setImageFormat('png32');
+ } catch (\Exception $e) {
+ \OC_Log::write('core', $e->getmessage(), \OC_Log::ERROR);
+ return false;
+ }
+
+
+ //new image object
+ $image = new \OC_Image();
+ $image->loadFromData($svg);
+ //check if image object is valid
+ return $image->valid() ? $image : false;
+ }
+ }
+
+ \OC\Preview::registerProvider('OC\Preview\SVG');
+
+} \ No newline at end of file
diff --git a/lib/preview/txt.php b/lib/preview/txt.php
new file mode 100644
index 00000000000..a487330691e
--- /dev/null
+++ b/lib/preview/txt.php
@@ -0,0 +1,73 @@
+<?php
+/**
+ * Copyright (c) 2013 Georg Ehrke georg@ownCloud.com
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+namespace OC\Preview;
+
+class TXT extends Provider {
+
+ public function getMimeType() {
+ return '/text\/.*/';
+ }
+
+ public function getThumbnail($path, $maxX, $maxY, $scalingup, $fileview) {
+ $content = $fileview->fopen($path, 'r');
+ $content = stream_get_contents($content);
+
+ //don't create previews of empty text files
+ if(trim($content) === '') {
+ return false;
+ }
+
+ $lines = preg_split("/\r\n|\n|\r/", $content);
+
+ $fontSize = 5; //5px
+ $lineSize = ceil($fontSize * 1.25);
+
+ $image = imagecreate($maxX, $maxY);
+ imagecolorallocate($image, 255, 255, 255);
+ $textColor = imagecolorallocate($image, 0, 0, 0);
+
+ foreach($lines as $index => $line) {
+ $index = $index + 1;
+
+ $x = (int) 1;
+ $y = (int) ($index * $lineSize) - $fontSize;
+
+ imagestring($image, 1, $x, $y, $line, $textColor);
+
+ if(($index * $lineSize) >= $maxY) {
+ break;
+ }
+ }
+
+ $image = new \OC_Image($image);
+
+ return $image->valid() ? $image : false;
+ }
+}
+
+\OC\Preview::registerProvider('OC\Preview\TXT');
+
+class PHP extends TXT {
+
+ public function getMimeType() {
+ return '/application\/x-php/';
+ }
+
+}
+
+\OC\Preview::registerProvider('OC\Preview\PHP');
+
+class JavaScript extends TXT {
+
+ public function getMimeType() {
+ return '/application\/javascript/';
+ }
+
+}
+
+\OC\Preview::registerProvider('OC\Preview\JavaScript'); \ No newline at end of file
diff --git a/lib/preview/unknown.php b/lib/preview/unknown.php
new file mode 100644
index 00000000000..9e6cd68d401
--- /dev/null
+++ b/lib/preview/unknown.php
@@ -0,0 +1,27 @@
+<?php
+/**
+ * Copyright (c) 2013 Frank Karlitschek frank@owncloud.org
+ * Copyright (c) 2013 Georg Ehrke georg@ownCloud.com
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+namespace OC\Preview;
+
+class Unknown extends Provider {
+
+ public function getMimeType() {
+ return '/.*/';
+ }
+
+ public function getThumbnail($path, $maxX, $maxY, $scalingup, $fileview) {
+ $mimetype = $fileview->getMimeType($path);
+
+ $path = \OC_Helper::mimetypeIcon($mimetype);
+ $path = \OC::$SERVERROOT . substr($path, strlen(\OC::$WEBROOT));
+
+ return new \OC_Image($path);
+ }
+}
+
+\OC\Preview::registerProvider('OC\Preview\Unknown'); \ No newline at end of file
diff --git a/lib/public/preview.php b/lib/public/preview.php
new file mode 100644
index 00000000000..7588347eccb
--- /dev/null
+++ b/lib/public/preview.php
@@ -0,0 +1,34 @@
+<?php
+/**
+ * Copyright (c) 2013 Frank Karlitschek frank@owncloud.org
+ * Copyright (c) 2013 Georg Ehrke georg@ownCloud.com
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+namespace OCP;
+
+/**
+ * This class provides functions to render and show thumbnails and previews of files
+ */
+class Preview {
+
+ /**
+ * @brief return a preview of a file
+ * @param $file The path to the file where you want a thumbnail from
+ * @param $maxX The maximum X size of the thumbnail. It can be smaller depending on the shape of the image
+ * @param $maxY The maximum Y size of the thumbnail. It can be smaller depending on the shape of the image
+ * @param $scaleup Scale smaller images up to the thumbnail size or not. Might look ugly
+ * @return image
+ */
+ public static function show($file,$maxX=100,$maxY=75,$scaleup=false) {
+ return(\OC\Preview::show($file,$maxX,$maxY,$scaleup));
+ }
+
+
+
+ public static function isMimeSupported($mimetype='*') {
+ return \OC\Preview::isMimeSupported($mimetype);
+ }
+
+}
diff --git a/lib/public/share.php b/lib/public/share.php
index b38208bc67f..fe996dbe266 100644
--- a/lib/public/share.php
+++ b/lib/public/share.php
@@ -463,7 +463,7 @@ class Share {
if (isset($oldToken)) {
$token = $oldToken;
} else {
- $token = \OC_Util::generate_random_bytes(self::TOKEN_LENGTH);
+ $token = \OC_Util::generateRandomBytes(self::TOKEN_LENGTH);
}
$result = self::put($itemType, $itemSource, $shareType, $shareWith, $uidOwner, $permissions,
null, $token);
diff --git a/lib/public/template.php b/lib/public/template.php
index ab1089c332d..3b1a4ed4906 100644
--- a/lib/public/template.php
+++ b/lib/public/template.php
@@ -54,6 +54,25 @@ function mimetype_icon( $mimetype ) {
return(\mimetype_icon( $mimetype ));
}
+/**
+ * @brief make preview_icon available as a simple function
+ * Returns the path to the preview of the image.
+ * @param $path path of file
+ * @returns link to the preview
+ */
+function preview_icon( $path ) {
+ return(\preview_icon( $path ));
+}
+
+/**
+ * @brief make publicpreview_icon available as a simple function
+ * Returns the path to the preview of the image.
+ * @param $path path of file
+ * @returns link to the preview
+ */
+function publicPreview_icon ( $path, $token ) {
+ return(\publicPreview_icon( $path, $token ));
+}
/**
* @brief make OC_Helper::humanFileSize available as a simple function
diff --git a/lib/setup.php b/lib/setup.php
index 05a49890976..6bf3c88370f 100644
--- a/lib/setup.php
+++ b/lib/setup.php
@@ -61,7 +61,7 @@ class OC_Setup {
}
//generate a random salt that is used to salt the local user passwords
- $salt = OC_Util::generate_random_bytes(30);
+ $salt = OC_Util::generateRandomBytes(30);
OC_Config::setValue('passwordsalt', $salt);
//write the config file
diff --git a/lib/setup/mysql.php b/lib/setup/mysql.php
index 0cf04fde5a1..d97b6d2602f 100644
--- a/lib/setup/mysql.php
+++ b/lib/setup/mysql.php
@@ -23,7 +23,7 @@ class MySQL extends AbstractDatabase {
$this->dbuser=substr('oc_'.$username, 0, 16);
if($this->dbuser!=$oldUser) {
//hash the password so we don't need to store the admin config in the config file
- $this->dbpassword=\OC_Util::generate_random_bytes(30);
+ $this->dbpassword=\OC_Util::generateRandomBytes(30);
$this->createDBUser($connection);
diff --git a/lib/setup/oci.php b/lib/setup/oci.php
index 86b53de45a4..326d7a00531 100644
--- a/lib/setup/oci.php
+++ b/lib/setup/oci.php
@@ -65,7 +65,7 @@ class OCI extends AbstractDatabase {
//add prefix to the oracle user name to prevent collisions
$this->dbuser='oc_'.$username;
//create a new password so we don't need to store the admin config in the config file
- $this->dbpassword=\OC_Util::generate_random_bytes(30);
+ $this->dbpassword=\OC_Util::generateRandomBytes(30);
//oracle passwords are treated as identifiers:
// must start with aphanumeric char
diff --git a/lib/setup/postgresql.php b/lib/setup/postgresql.php
index 49fcbf0326e..89d328ada19 100644
--- a/lib/setup/postgresql.php
+++ b/lib/setup/postgresql.php
@@ -33,7 +33,7 @@ class PostgreSQL extends AbstractDatabase {
//add prefix to the postgresql user name to prevent collisions
$this->dbuser='oc_'.$username;
//create a new password so we don't need to store the admin config in the config file
- $this->dbpassword=\OC_Util::generate_random_bytes(30);
+ $this->dbpassword=\OC_Util::generateRandomBytes(30);
$this->createDBUser($connection);
diff --git a/lib/template/functions.php b/lib/template/functions.php
index 717e197c1cb..501f8081bff 100644
--- a/lib/template/functions.php
+++ b/lib/template/functions.php
@@ -59,6 +59,22 @@ function mimetype_icon( $mimetype ) {
}
/**
+ * @brief make preview_icon available as a simple function
+ * Returns the path to the preview of the image.
+ * @param $path path of file
+ * @returns link to the preview
+ *
+ * For further information have a look at OC_Helper::previewIcon
+ */
+function preview_icon( $path ) {
+ return OC_Helper::previewIcon( $path );
+}
+
+function publicPreview_icon ( $path, $token ) {
+ return OC_Helper::publicPreviewIcon( $path, $token );
+}
+
+/**
* @brief make OC_Helper::humanFileSize available as a simple function
* @param int $bytes size in bytes
* @return string size as string
diff --git a/lib/templatelayout.php b/lib/templatelayout.php
index 0024c9d4960..0b868a39e49 100644
--- a/lib/templatelayout.php
+++ b/lib/templatelayout.php
@@ -58,7 +58,7 @@ class OC_TemplateLayout extends OC_Template {
if (OC_Config::getValue('installed', false) && $renderas!='error') {
$this->append( 'jsfiles', OC_Helper::linkToRoute('js_config') . $versionParameter);
}
- if (!empty(OC_Util::$core_scripts)) {
+ if (!empty(OC_Util::$coreScripts)) {
$this->append( 'jsfiles', OC_Helper::linkToRemoteBase('core.js', false) . $versionParameter);
}
foreach($jsfiles as $info) {
@@ -71,7 +71,7 @@ class OC_TemplateLayout extends OC_Template {
// Add the css files
$cssfiles = self::findStylesheetFiles(OC_Util::$styles);
$this->assign('cssfiles', array());
- if (!empty(OC_Util::$core_styles)) {
+ if (!empty(OC_Util::$coreStyles)) {
$this->append( 'cssfiles', OC_Helper::linkToRemoteBase('core.css', false) . $versionParameter);
}
foreach($cssfiles as $info) {
diff --git a/lib/user.php b/lib/user.php
index 93c7c9d4cd5..0f6f40aec9a 100644
--- a/lib/user.php
+++ b/lib/user.php
@@ -353,7 +353,7 @@ class OC_User {
* generates a password
*/
public static function generatePassword() {
- return OC_Util::generate_random_bytes(30);
+ return OC_Util::generateRandomBytes(30);
}
/**
diff --git a/lib/util.php b/lib/util.php
index e03667b0794..0777643a952 100755
--- a/lib/util.php
+++ b/lib/util.php
@@ -11,12 +11,18 @@ class OC_Util {
public static $headers=array();
private static $rootMounted=false;
private static $fsSetup=false;
- public static $core_styles=array();
- public static $core_scripts=array();
+ public static $coreStyles=array();
+ public static $coreScripts=array();
- // Can be set up
- public static function setupFS( $user = '' ) {// configure the initial filesystem based on the configuration
- if(self::$fsSetup) {//setting up the filesystem twice can only lead to trouble
+ /**
+ * @brief Can be set up
+ * @param string $user
+ * @return boolean
+ * @description configure the initial filesystem based on the configuration
+ */
+ public static function setupFS( $user = '' ) {
+ //setting up the filesystem twice can only lead to trouble
+ if(self::$fsSetup) {
return false;
}
@@ -37,15 +43,16 @@ class OC_Util {
self::$fsSetup=true;
}
- $CONFIG_DATADIRECTORY = OC_Config::getValue( "datadirectory", OC::$SERVERROOT."/data" );
+ $configDataDirectory = OC_Config::getValue( "datadirectory", OC::$SERVERROOT."/data" );
//first set up the local "root" storage
\OC\Files\Filesystem::initMounts();
if(!self::$rootMounted) {
- \OC\Files\Filesystem::mount('\OC\Files\Storage\Local', array('datadir'=>$CONFIG_DATADIRECTORY), '/');
- self::$rootMounted=true;
+ \OC\Files\Filesystem::mount('\OC\Files\Storage\Local', array('datadir'=>$configDataDirectory), '/');
+ self::$rootMounted = true;
}
- if( $user != "" ) { //if we aren't logged in, there is no use to set up the filesystem
+ //if we aren't logged in, there is no use to set up the filesystem
+ if( $user != "" ) {
$quota = self::getUserQuota($user);
if ($quota !== \OC\Files\SPACE_UNLIMITED) {
\OC\Files\Filesystem::addStorageWrapper(function($mountPoint, $storage) use ($quota, $user) {
@@ -56,19 +63,19 @@ class OC_Util {
}
});
}
- $user_dir = '/'.$user.'/files';
- $user_root = OC_User::getHome($user);
- $userdirectory = $user_root . '/files';
- if( !is_dir( $userdirectory )) {
- mkdir( $userdirectory, 0755, true );
+ $userDir = '/'.$user.'/files';
+ $userRoot = OC_User::getHome($user);
+ $userDirectory = $userRoot . '/files';
+ if( !is_dir( $userDirectory )) {
+ mkdir( $userDirectory, 0755, true );
}
//jail the user into his "home" directory
- \OC\Files\Filesystem::init($user, $user_dir);
+ \OC\Files\Filesystem::init($user, $userDir);
$fileOperationProxy = new OC_FileProxy_FileOperations();
OC_FileProxy::register($fileOperationProxy);
- OC_Hook::emit('OC_Filesystem', 'setup', array('user' => $user, 'user_dir' => $user_dir));
+ OC_Hook::emit('OC_Filesystem', 'setup', array('user' => $user, 'user_dir' => $userDir));
}
return true;
}
@@ -85,24 +92,27 @@ class OC_Util {
}
}
+ /**
+ * @return void
+ */
public static function tearDownFS() {
\OC\Files\Filesystem::tearDown();
self::$fsSetup=false;
- self::$rootMounted=false;
+ self::$rootMounted=false;
}
/**
- * get the current installed version of ownCloud
+ * @brief get the current installed version of ownCloud
* @return array
*/
public static function getVersion() {
// hint: We only can count up. Reset minor/patchlevel when
// updating major/minor version number.
- return array(5, 80, 05);
+ return array(5, 80, 07);
}
/**
- * get the current installed version string of ownCloud
+ * @brief get the current installed version string of ownCloud
* @return string
*/
public static function getVersionString() {
@@ -110,7 +120,7 @@ class OC_Util {
}
/**
- * get the current installed edition of ownCloud. There is the community
+ * @description get the current installed edition of ownCloud. There is the community
* edition that just returns an empty string and the enterprise edition
* that returns "Enterprise".
* @return string
@@ -120,103 +130,117 @@ class OC_Util {
}
/**
- * add a javascript file
+ * @brief add a javascript file
*
- * @param appid $application
- * @param filename $file
+ * @param string $application
+ * @param filename $file
+ * @return void
*/
public static function addScript( $application, $file = null ) {
- if( is_null( $file )) {
+ if ( is_null( $file )) {
$file = $application;
$application = "";
}
- if( !empty( $application )) {
+ if ( !empty( $application )) {
self::$scripts[] = "$application/js/$file";
- }else{
+ } else {
self::$scripts[] = "js/$file";
}
}
/**
- * add a css file
+ * @brief add a css file
*
- * @param appid $application
- * @param filename $file
+ * @param string $application
+ * @param filename $file
+ * @return void
*/
public static function addStyle( $application, $file = null ) {
- if( is_null( $file )) {
+ if ( is_null( $file )) {
$file = $application;
$application = "";
}
- if( !empty( $application )) {
+ if ( !empty( $application )) {
self::$styles[] = "$application/css/$file";
- }else{
+ } else {
self::$styles[] = "css/$file";
}
}
/**
* @brief Add a custom element to the header
- * @param string tag tag name of the element
+ * @param string $tag tag name of the element
* @param array $attributes array of attributes for the element
* @param string $text the text content for the element
+ * @return void
*/
public static function addHeader( $tag, $attributes, $text='') {
- self::$headers[] = array('tag'=>$tag, 'attributes'=>$attributes, 'text'=>$text);
+ self::$headers[] = array(
+ 'tag'=>$tag,
+ 'attributes'=>$attributes,
+ 'text'=>$text
+ );
}
/**
- * formats a timestamp in the "right" way
+ * @brief formats a timestamp in the "right" way
*
- * @param int timestamp $timestamp
- * @param bool dateOnly option to omit time from the result
+ * @param int $timestamp
+ * @param bool $dateOnly option to omit time from the result
+ * @return string timestamp
+ * @description adjust to clients timezone if we know it
*/
public static function formatDate( $timestamp, $dateOnly=false) {
- if(\OC::$session->exists('timezone')) {//adjust to clients timezone if we know it
+ if(\OC::$session->exists('timezone')) {
$systemTimeZone = intval(date('O'));
- $systemTimeZone=(round($systemTimeZone/100, 0)*60)+($systemTimeZone%100);
- $clientTimeZone=\OC::$session->get('timezone')*60;
- $offset=$clientTimeZone-$systemTimeZone;
- $timestamp=$timestamp+$offset*60;
+ $systemTimeZone = (round($systemTimeZone/100, 0)*60) + ($systemTimeZone%100);
+ $clientTimeZone = \OC::$session->get('timezone')*60;
+ $offset = $clientTimeZone - $systemTimeZone;
+ $timestamp = $timestamp + $offset*60;
}
- $l=OC_L10N::get('lib');
+ $l = OC_L10N::get('lib');
return $l->l($dateOnly ? 'date' : 'datetime', $timestamp);
}
/**
- * check if the current server configuration is suitable for ownCloud
+ * @brief check if the current server configuration is suitable for ownCloud
* @return array arrays with error messages and hints
*/
public static function checkServer() {
// Assume that if checkServer() succeeded before in this session, then all is fine.
- if(\OC::$session->exists('checkServer_suceeded') && \OC::$session->get('checkServer_suceeded'))
+ if(\OC::$session->exists('checkServer_suceeded') && \OC::$session->get('checkServer_suceeded')) {
return array();
+ }
- $errors=array();
+ $errors = array();
$defaults = new \OC_Defaults();
- $web_server_restart= false;
+ $webServerRestart = false;
//check for database drivers
if(!(is_callable('sqlite_open') or class_exists('SQLite3'))
and !is_callable('mysql_connect')
and !is_callable('pg_connect')
and !is_callable('oci_connect')) {
- $errors[]=array('error'=>'No database drivers (sqlite, mysql, or postgresql) installed.',
- 'hint'=>'');//TODO: sane hint
- $web_server_restart= true;
+ $errors[] = array(
+ 'error'=>'No database drivers (sqlite, mysql, or postgresql) installed.',
+ 'hint'=>'' //TODO: sane hint
+ );
+ $webServerRestart = true;
}
- //common hint for all file permissons error messages
+ //common hint for all file permissions error messages
$permissionsHint = 'Permissions can usually be fixed by '
- .'<a href="' . $defaults->getDocBaseUrl() . '/server/5.0/admin_manual/installation/installation_source.html#set-the-directory-permissions" target="_blank">giving the webserver write access to the root directory</a>.';
+ .'<a href="' . $defaults->getDocBaseUrl() . '/server/5.0/admin_manual/installation/installation_source.html'
+ .'#set-the-directory-permissions" target="_blank">giving the webserver write access to the root directory</a>.';
// Check if config folder is writable.
if(!is_writable(OC::$SERVERROOT."/config/") or !is_readable(OC::$SERVERROOT."/config/")) {
$errors[] = array(
'error' => "Can't write into config directory",
'hint' => 'This can usually be fixed by '
- .'<a href="' . $defaults->getDocBaseUrl() . '/server/5.0/admin_manual/installation/installation_source.html#set-the-directory-permissions" target="_blank">giving the webserver write access to the config directory</a>.'
+ .'<a href="' . $defaults->getDocBaseUrl() . '/server/5.0/admin_manual/installation/installation_source.html'
+ .'#set-the-directory-permissions" target="_blank">giving the webserver write access to the config directory</a>.'
);
}
@@ -228,7 +252,8 @@ class OC_Util {
$errors[] = array(
'error' => "Can't write into apps directory",
'hint' => 'This can usually be fixed by '
- .'<a href="' . $defaults->getDocBaseUrl() . '/server/5.0/admin_manual/installation/installation_source.html#set-the-directory-permissions" target="_blank">giving the webserver write access to the apps directory</a> '
+ .'<a href="' . $defaults->getDocBaseUrl() . '/server/5.0/admin_manual/installation/installation_source.html'
+ .'#set-the-directory-permissions" target="_blank">giving the webserver write access to the apps directory</a> '
.'or disabling the appstore in the config file.'
);
}
@@ -243,94 +268,131 @@ class OC_Util {
$errors[] = array(
'error' => "Can't create data directory (".$CONFIG_DATADIRECTORY.")",
'hint' => 'This can usually be fixed by '
- .'<a href="' . $defaults->getDocBaseUrl() . '/server/5.0/admin_manual/installation/installation_source.html#set-the-directory-permissions" target="_blank">giving the webserver write access to the root directory</a>.'
+ .'<a href="' . $defaults->getDocBaseUrl() . '/server/5.0/admin_manual/installation/installation_source.html'
+ .'#set-the-directory-permissions" target="_blank">giving the webserver write access to the root directory</a>.'
);
}
} else if(!is_writable($CONFIG_DATADIRECTORY) or !is_readable($CONFIG_DATADIRECTORY)) {
- $errors[]=array('error'=>'Data directory ('.$CONFIG_DATADIRECTORY.') not writable by ownCloud',
- 'hint'=>$permissionsHint);
+ $errors[] = array(
+ 'error'=>'Data directory ('.$CONFIG_DATADIRECTORY.') not writable by ownCloud',
+ 'hint'=>$permissionsHint
+ );
} else {
$errors = array_merge($errors, self::checkDataDirectoryPermissions($CONFIG_DATADIRECTORY));
}
+
+ $moduleHint = "Please ask your server administrator to install the module.";
// check if all required php modules are present
if(!class_exists('ZipArchive')) {
- $errors[]=array('error'=>'PHP module zip not installed.',
- 'hint'=>'Please ask your server administrator to install the module.');
- $web_server_restart=true;
+ $errors[] = array(
+ 'error'=>'PHP module zip not installed.',
+ 'hint'=>$moduleHint
+ );
+ $webServerRestart = true;
}
if(!class_exists('DOMDocument')) {
- $errors[] = array('error' => 'PHP module dom not installed.',
- 'hint' => 'Please ask your server administrator to install the module.');
- $web_server_restart =true;
+ $errors[] = array(
+ 'error' => 'PHP module dom not installed.',
+ 'hint' => $moduleHint
+ );
+ $webServerRestart =true;
}
if(!function_exists('xml_parser_create')) {
- $errors[] = array('error' => 'PHP module libxml not installed.',
- 'hint' => 'Please ask your server administrator to install the module.');
- $web_server_restart =true;
+ $errors[] = array(
+ 'error' => 'PHP module libxml not installed.',
+ 'hint' => $moduleHint
+ );
+ $webServerRestart = true;
}
if(!function_exists('mb_detect_encoding')) {
- $errors[]=array('error'=>'PHP module mb multibyte not installed.',
- 'hint'=>'Please ask your server administrator to install the module.');
- $web_server_restart=true;
+ $errors[] = array(
+ 'error'=>'PHP module mb multibyte not installed.',
+ 'hint'=>$moduleHint
+ );
+ $webServerRestart = true;
}
if(!function_exists('ctype_digit')) {
- $errors[]=array('error'=>'PHP module ctype is not installed.',
- 'hint'=>'Please ask your server administrator to install the module.');
- $web_server_restart=true;
+ $errors[] = array(
+ 'error'=>'PHP module ctype is not installed.',
+ 'hint'=>$moduleHint
+ );
+ $webServerRestart = true;
}
if(!function_exists('json_encode')) {
- $errors[]=array('error'=>'PHP module JSON is not installed.',
- 'hint'=>'Please ask your server administrator to install the module.');
- $web_server_restart=true;
+ $errors[] = array(
+ 'error'=>'PHP module JSON is not installed.',
+ 'hint'=>$moduleHint
+ );
+ $webServerRestart = true;
}
if(!extension_loaded('gd') || !function_exists('gd_info')) {
- $errors[]=array('error'=>'PHP module GD is not installed.',
- 'hint'=>'Please ask your server administrator to install the module.');
- $web_server_restart=true;
+ $errors[] = array(
+ 'error'=>'PHP module GD is not installed.',
+ 'hint'=>$moduleHint
+ );
+ $webServerRestart = true;
}
if(!function_exists('gzencode')) {
- $errors[]=array('error'=>'PHP module zlib is not installed.',
- 'hint'=>'Please ask your server administrator to install the module.');
- $web_server_restart=true;
+ $errors[] = array(
+ 'error'=>'PHP module zlib is not installed.',
+ 'hint'=>$moduleHint
+ );
+ $webServerRestart = true;
}
if(!function_exists('iconv')) {
- $errors[]=array('error'=>'PHP module iconv is not installed.',
- 'hint'=>'Please ask your server administrator to install the module.');
- $web_server_restart=true;
+ $errors[] = array(
+ 'error'=>'PHP module iconv is not installed.',
+ 'hint'=>$moduleHint
+ );
+ $webServerRestart = true;
}
if(!function_exists('simplexml_load_string')) {
- $errors[]=array('error'=>'PHP module SimpleXML is not installed.',
- 'hint'=>'Please ask your server administrator to install the module.');
- $web_server_restart=true;
+ $errors[] = array(
+ 'error'=>'PHP module SimpleXML is not installed.',
+ 'hint'=>$moduleHint
+ );
+ $webServerRestart = true;
}
- if(floatval(phpversion())<5.3) {
- $errors[]=array('error'=>'PHP 5.3 is required.',
+ if(floatval(phpversion()) < 5.3) {
+ $errors[] = array(
+ 'error'=>'PHP 5.3 is required.',
'hint'=>'Please ask your server administrator to update PHP to version 5.3 or higher.'
- .' PHP 5.2 is no longer supported by ownCloud and the PHP community.');
- $web_server_restart=true;
+ .' PHP 5.2 is no longer supported by ownCloud and the PHP community.'
+ );
+ $webServerRestart = true;
}
if(!defined('PDO::ATTR_DRIVER_NAME')) {
- $errors[]=array('error'=>'PHP PDO module is not installed.',
- 'hint'=>'Please ask your server administrator to install the module.');
- $web_server_restart=true;
+ $errors[] = array(
+ 'error'=>'PHP PDO module is not installed.',
+ 'hint'=>$moduleHint
+ );
+ $webServerRestart = true;
}
if (((strtolower(@ini_get('safe_mode')) == 'on')
|| (strtolower(@ini_get('safe_mode')) == 'yes')
|| (strtolower(@ini_get('safe_mode')) == 'true')
|| (ini_get("safe_mode") == 1 ))) {
- $errors[]=array('error'=>'PHP Safe Mode is enabled. ownCloud requires that it is disabled to work properly.',
- 'hint'=>'PHP Safe Mode is a deprecated and mostly useless setting that should be disabled. Please ask your server administrator to disable it in php.ini or in your webserver config.');
- $web_server_restart=true;
+ $errors[] = array(
+ 'error'=>'PHP Safe Mode is enabled. ownCloud requires that it is disabled to work properly.',
+ 'hint'=>'PHP Safe Mode is a deprecated and mostly useless setting that should be disabled. '
+ .'Please ask your server administrator to disable it in php.ini or in your webserver config.'
+ );
+ $webServerRestart = true;
}
if (get_magic_quotes_gpc() == 1 ) {
- $errors[]=array('error'=>'Magic Quotes is enabled. ownCloud requires that it is disabled to work properly.',
- 'hint'=>'Magic Quotes is a deprecated and mostly useless setting that should be disabled. Please ask your server administrator to disable it in php.ini or in your webserver config.');
- $web_server_restart=true;
+ $errors[] = array(
+ 'error'=>'Magic Quotes is enabled. ownCloud requires that it is disabled to work properly.',
+ 'hint'=>'Magic Quotes is a deprecated and mostly useless setting that should be disabled. '
+ .'Please ask your server administrator to disable it in php.ini or in your webserver config.'
+ );
+ $webServerRestart = true;
}
- if($web_server_restart) {
- $errors[]=array('error'=>'PHP modules have been installed, but they are still listed as missing?',
- 'hint'=>'Please ask your server administrator to restart the web server.');
+ if($webServerRestart) {
+ $errors[] = array(
+ 'error'=>'PHP modules have been installed, but they are still listed as missing?',
+ 'hint'=>'Please ask your server administrator to restart the web server.'
+ );
}
// Cache the result of this function
@@ -357,30 +419,36 @@ class OC_Util {
}
/**
- * Check for correct file permissions of data directory
- * @return array arrays with error messages and hints
- */
+ * @brief Check for correct file permissions of data directory
+ * @paran string $dataDirectory
+ * @return array arrays with error messages and hints
+ */
public static function checkDataDirectoryPermissions($dataDirectory) {
$errors = array();
- if (stristr(PHP_OS, 'WIN')) {
+ if (self::runningOnWindows()) {
//TODO: permissions checks for windows hosts
} else {
$permissionsModHint = 'Please change the permissions to 0770 so that the directory'
.' cannot be listed by other users.';
- $prems = substr(decoct(@fileperms($dataDirectory)), -3);
- if (substr($prems, -1) != '0') {
+ $perms = substr(decoct(@fileperms($dataDirectory)), -3);
+ if (substr($perms, -1) != '0') {
OC_Helper::chmodr($dataDirectory, 0770);
clearstatcache();
- $prems = substr(decoct(@fileperms($dataDirectory)), -3);
- if (substr($prems, 2, 1) != '0') {
- $errors[] = array('error' => 'Data directory ('.$dataDirectory.') is readable for other users',
- 'hint' => $permissionsModHint);
+ $perms = substr(decoct(@fileperms($dataDirectory)), -3);
+ if (substr($perms, 2, 1) != '0') {
+ $errors[] = array(
+ 'error' => 'Data directory ('.$dataDirectory.') is readable for other users',
+ 'hint' => $permissionsModHint
+ );
}
}
}
return $errors;
}
+ /**
+ * @return void
+ */
public static function displayLoginPage($errors = array()) {
$parameters = array();
foreach( $errors as $key => $value ) {
@@ -394,8 +462,8 @@ class OC_Util {
$parameters['user_autofocus'] = true;
}
if (isset($_REQUEST['redirect_url'])) {
- $redirect_url = $_REQUEST['redirect_url'];
- $parameters['redirect_url'] = urlencode($redirect_url);
+ $redirectUrl = $_REQUEST['redirect_url'];
+ $parameters['redirect_url'] = urlencode($redirectUrl);
}
$parameters['alt_login'] = OC_App::getAlternativeLogIns();
@@ -404,7 +472,8 @@ class OC_Util {
/**
- * Check if the app is enabled, redirects to home if not
+ * @brief Check if the app is enabled, redirects to home if not
+ * @return void
*/
public static function checkAppEnabled($app) {
if( !OC_App::isEnabled($app)) {
@@ -416,18 +485,21 @@ class OC_Util {
/**
* Check if the user is logged in, redirects to home if not. With
* redirect URL parameter to the request URI.
+ * @return void
*/
public static function checkLoggedIn() {
// Check if we are a user
if( !OC_User::isLoggedIn()) {
header( 'Location: '.OC_Helper::linkToAbsolute( '', 'index.php',
- array('redirect_url' => OC_Request::requestUri())));
+ array('redirectUrl' => OC_Request::requestUri())
+ ));
exit();
}
}
/**
- * Check if the user is a admin, redirects to home if not
+ * @brief Check if the user is a admin, redirects to home if not
+ * @return void
*/
public static function checkAdminUser() {
if( !OC_User::isAdminUser(OC_User::getUser())) {
@@ -437,7 +509,7 @@ class OC_Util {
}
/**
- * Check if the user is a subadmin, redirects to home if not
+ * @brief Check if the user is a subadmin, redirects to home if not
* @return array $groups where the current user is subadmin
*/
public static function checkSubAdminUser() {
@@ -449,7 +521,8 @@ class OC_Util {
}
/**
- * Redirect to the user default page
+ * @brief Redirect to the user default page
+ * @return void
*/
public static function redirectToDefaultPage() {
if(isset($_REQUEST['redirect_url'])) {
@@ -457,13 +530,11 @@ class OC_Util {
}
else if (isset(OC::$REQUESTEDAPP) && !empty(OC::$REQUESTEDAPP)) {
$location = OC_Helper::linkToAbsolute( OC::$REQUESTEDAPP, 'index.php' );
- }
- else {
- $defaultpage = OC_Appconfig::getValue('core', 'defaultpage');
- if ($defaultpage) {
- $location = OC_Helper::makeURLAbsolute(OC::$WEBROOT.'/'.$defaultpage);
- }
- else {
+ } else {
+ $defaultPage = OC_Appconfig::getValue('core', 'defaultpage');
+ if ($defaultPage) {
+ $location = OC_Helper::makeURLAbsolute(OC::$WEBROOT.'/'.$defaultPage);
+ } else {
$location = OC_Helper::linkToAbsolute( 'files', 'index.php' );
}
}
@@ -472,28 +543,28 @@ class OC_Util {
exit();
}
- /**
- * get an id unique for this instance
- * @return string
- */
- public static function getInstanceId() {
- $id = OC_Config::getValue('instanceid', null);
- if(is_null($id)) {
- // We need to guarantee at least one letter in instanceid so it can be used as the session_name
- $id = 'oc' . OC_Util::generate_random_bytes(10);
- OC_Config::setValue('instanceid', $id);
- }
- return $id;
- }
+ /**
+ * @brief get an id unique for this instance
+ * @return string
+ */
+ public static function getInstanceId() {
+ $id = OC_Config::getValue('instanceid', null);
+ if(is_null($id)) {
+ // We need to guarantee at least one letter in instanceid so it can be used as the session_name
+ $id = 'oc' . self::generateRandomBytes(10);
+ OC_Config::setValue('instanceid', $id);
+ }
+ return $id;
+ }
/**
* @brief Static lifespan (in seconds) when a request token expires.
* @see OC_Util::callRegister()
* @see OC_Util::isCallRegistered()
* @description
- * Also required for the client side to compute the piont in time when to
+ * Also required for the client side to compute the point in time when to
* request a fresh token. The client will do so when nearly 97% of the
- * timespan coded here has expired.
+ * time span coded here has expired.
*/
public static $callLifespan = 3600; // 3600 secs = 1 hour
@@ -513,7 +584,7 @@ class OC_Util {
// Check if a token exists
if(!\OC::$session->exists('requesttoken')) {
// No valid token found, generate a new one.
- $requestToken = self::generate_random_bytes(20);
+ $requestToken = self::generateRandomBytes(20);
\OC::$session->set('requesttoken', $requestToken);
} else {
// Valid token already exists, send it
@@ -534,11 +605,11 @@ class OC_Util {
}
if(isset($_GET['requesttoken'])) {
- $token=$_GET['requesttoken'];
+ $token = $_GET['requesttoken'];
} elseif(isset($_POST['requesttoken'])) {
- $token=$_POST['requesttoken'];
+ $token = $_POST['requesttoken'];
} elseif(isset($_SERVER['HTTP_REQUESTTOKEN'])) {
- $token=$_SERVER['HTTP_REQUESTTOKEN'];
+ $token = $_SERVER['HTTP_REQUESTTOKEN'];
} else {
//no token found.
return false;
@@ -556,11 +627,12 @@ class OC_Util {
/**
* @brief Check an ajax get/post call if the request token is valid. exit if not.
- * Todo: Write howto
+ * @todo Write howto
+ * @return void
*/
public static function callCheck() {
if(!OC_Util::isCallRegistered()) {
- exit;
+ exit();
}
}
@@ -570,14 +642,15 @@ class OC_Util {
* This function is used to sanitize HTML and should be applied on any
* string or array of strings before displaying it on a web page.
*
- * @param string or array of strings
+ * @param string|array of strings
* @return array with sanitized strings or a single sanitized string, depends on the input parameter.
*/
public static function sanitizeHTML( &$value ) {
if (is_array($value)) {
array_walk_recursive($value, 'OC_Util::sanitizeHTML');
} else {
- $value = htmlentities((string)$value, ENT_QUOTES, 'UTF-8'); //Specify encoding for PHP<5.4
+ //Specify encoding for PHP<5.4
+ $value = htmlentities((string)$value, ENT_QUOTES, 'UTF-8');
}
return $value;
}
@@ -599,17 +672,20 @@ class OC_Util {
}
/**
- * Check if the htaccess file is working by creating a test file in the data directory and trying to access via http
+ * @brief Check if the htaccess file is working
+ * @return bool
+ * @description Check if the htaccess file is working by creating a test
+ * file in the data directory and trying to access via http
*/
- public static function ishtaccessworking() {
+ public static function isHtAccessWorking() {
// testdata
- $filename='/htaccesstest.txt';
- $testcontent='testcontent';
+ $fileName = '/htaccesstest.txt';
+ $testContent = 'testcontent';
// creating a test file
- $testfile = OC_Config::getValue( "datadirectory", OC::$SERVERROOT."/data" ).'/'.$filename;
+ $testFile = OC_Config::getValue( "datadirectory", OC::$SERVERROOT."/data" ).'/'.$fileName;
- if(file_exists($testfile)) {// already running this test, possible recursive call
+ if(file_exists($testFile)) {// already running this test, possible recursive call
return false;
}
@@ -618,7 +694,7 @@ class OC_Util {
@fclose($fp);
// accessing the file via http
- $url = OC_Helper::makeURLAbsolute(OC::$WEBROOT.'/data'.$filename);
+ $url = OC_Helper::makeURLAbsolute(OC::$WEBROOT.'/data'.$fileName);
$fp = @fopen($url, 'r');
$content=@fread($fp, 2048);
@fclose($fp);
@@ -627,20 +703,21 @@ class OC_Util {
@unlink($testfile);
// does it work ?
- if($content==$testcontent) {
- return(false);
- }else{
- return(true);
+ if($content==$testContent) {
+ return false;
+ } else {
+ return true;
}
}
/**
- * we test if webDAV is working properly
- *
+ * @brief test if webDAV is working properly
+ * @return bool
+ * @description
* The basic assumption is that if the server returns 401/Not Authenticated for an unauthenticated PROPFIND
* the web server it self is setup properly.
*
- * Why not an authenticated PROFIND and other verbs?
+ * Why not an authenticated PROPFIND and other verbs?
* - We don't have the password available
* - We have no idea about other auth methods implemented (e.g. OAuth with Bearer header)
*
@@ -654,7 +731,7 @@ class OC_Util {
);
// save the old timeout so that we can restore it later
- $old_timeout=ini_get("default_socket_timeout");
+ $oldTimeout = ini_get("default_socket_timeout");
// use a 5 sec timeout for the check. Should be enough for local requests.
ini_set("default_socket_timeout", 5);
@@ -668,24 +745,25 @@ class OC_Util {
try {
// test PROPFIND
$client->propfind('', array('{DAV:}resourcetype'));
- } catch(\Sabre_DAV_Exception_NotAuthenticated $e) {
+ } catch (\Sabre_DAV_Exception_NotAuthenticated $e) {
$return = true;
- } catch(\Exception $e) {
+ } catch (\Exception $e) {
OC_Log::write('core', 'isWebDAVWorking: NO - Reason: '.$e->getMessage(). ' ('.get_class($e).')', OC_Log::WARN);
$return = false;
}
// restore the original timeout
- ini_set("default_socket_timeout", $old_timeout);
+ ini_set("default_socket_timeout", $oldTimeout);
return $return;
}
/**
- * Check if the setlocal call doesn't work. This can happen if the right
+ * Check if the setlocal call does not work. This can happen if the right
* local packages are not available on the server.
+ * @return bool
*/
- public static function issetlocaleworking() {
+ public static function isSetLocaleWorking() {
// setlocale test is pointless on Windows
if (OC_Util::runningOnWindows() ) {
return true;
@@ -699,7 +777,7 @@ class OC_Util {
}
/**
- * Check if the PHP module fileinfo is loaded.
+ * @brief Check if the PHP module fileinfo is loaded.
* @return bool
*/
public static function fileInfoLoaded() {
@@ -707,7 +785,8 @@ class OC_Util {
}
/**
- * Check if the ownCloud server can connect to the internet
+ * @brief Check if the ownCloud server can connect to the internet
+ * @return bool
*/
public static function isInternetConnectionWorking() {
// in case there is no internet connection on purpose return false
@@ -720,30 +799,29 @@ class OC_Util {
if ($connected) {
fclose($connected);
return true;
- }else{
-
+ } else {
// second try in case one server is down
$connected = @fsockopen("apps.owncloud.com", 80);
if ($connected) {
fclose($connected);
return true;
- }else{
+ } else {
return false;
}
-
}
-
}
/**
- * Check if the connection to the internet is disabled on purpose
+ * @brief Check if the connection to the internet is disabled on purpose
+ * @return bool
*/
public static function isInternetConnectionEnabled(){
return \OC_Config::getValue("has_internet_connection", true);
}
/**
- * clear all levels of output buffering
+ * @brief clear all levels of output buffering
+ * @return void
*/
public static function obEnd(){
while (ob_get_level()) {
@@ -753,47 +831,47 @@ class OC_Util {
/**
- * @brief Generates a cryptographical secure pseudorandom string
- * @param Int with the length of the random string
+ * @brief Generates a cryptographic secure pseudo-random string
+ * @param Int $length of the random string
* @return String
- * Please also update secureRNG_available if you change something here
+ * Please also update secureRNGAvailable if you change something here
*/
- public static function generate_random_bytes($length = 30) {
-
+ public static function generateRandomBytes($length = 30) {
// Try to use openssl_random_pseudo_bytes
- if(function_exists('openssl_random_pseudo_bytes')) {
- $pseudo_byte = bin2hex(openssl_random_pseudo_bytes($length, $strong));
+ if (function_exists('openssl_random_pseudo_bytes')) {
+ $pseudoByte = bin2hex(openssl_random_pseudo_bytes($length, $strong));
if($strong == true) {
- return substr($pseudo_byte, 0, $length); // Truncate it to match the length
+ return substr($pseudoByte, 0, $length); // Truncate it to match the length
}
}
// Try to use /dev/urandom
- $fp = @file_get_contents('/dev/urandom', false, null, 0, $length);
- if ($fp !== false) {
- $string = substr(bin2hex($fp), 0, $length);
- return $string;
+ if (!self::runningOnWindows()) {
+ $fp = @file_get_contents('/dev/urandom', false, null, 0, $length);
+ if ($fp !== false) {
+ $string = substr(bin2hex($fp), 0, $length);
+ return $string;
+ }
}
// Fallback to mt_rand()
$characters = '0123456789';
$characters .= 'abcdefghijklmnopqrstuvwxyz';
$charactersLength = strlen($characters)-1;
- $pseudo_byte = "";
+ $pseudoByte = "";
// Select some random characters
for ($i = 0; $i < $length; $i++) {
- $pseudo_byte .= $characters[mt_rand(0, $charactersLength)];
+ $pseudoByte .= $characters[mt_rand(0, $charactersLength)];
}
- return $pseudo_byte;
+ return $pseudoByte;
}
/**
* @brief Checks if a secure random number generator is available
* @return bool
*/
- public static function secureRNG_available() {
-
+ public static function secureRNGAvailable() {
// Check openssl_random_pseudo_bytes
if(function_exists('openssl_random_pseudo_bytes')) {
openssl_random_pseudo_bytes(1, $strong);
@@ -803,9 +881,11 @@ class OC_Util {
}
// Check /dev/urandom
- $fp = @file_get_contents('/dev/urandom', false, null, 0, 1);
- if ($fp !== false) {
- return true;
+ if (!self::runningOnWindows()) {
+ $fp = @file_get_contents('/dev/urandom', false, null, 0, 1);
+ if ($fp !== false) {
+ return true;
+ }
}
return false;
@@ -818,11 +898,8 @@ class OC_Util {
* This function get the content of a page via curl, if curl is enabled.
* If not, file_get_element is used.
*/
-
public static function getUrlContent($url){
-
- if (function_exists('curl_init')) {
-
+ if (function_exists('curl_init')) {
$curl = curl_init();
curl_setopt($curl, CURLOPT_HEADER, 0);
@@ -833,10 +910,10 @@ class OC_Util {
curl_setopt($curl, CURLOPT_MAXREDIRS, 10);
curl_setopt($curl, CURLOPT_USERAGENT, "ownCloud Server Crawler");
- if(OC_Config::getValue('proxy', '')<>'') {
+ if(OC_Config::getValue('proxy', '') != '') {
curl_setopt($curl, CURLOPT_PROXY, OC_Config::getValue('proxy'));
}
- if(OC_Config::getValue('proxyuserpwd', '')<>'') {
+ if(OC_Config::getValue('proxyuserpwd', '') != '') {
curl_setopt($curl, CURLOPT_PROXYUSERPWD, OC_Config::getValue('proxyuserpwd'));
}
$data = curl_exec($curl);
@@ -845,7 +922,7 @@ class OC_Util {
} else {
$contextArray = null;
- if(OC_Config::getValue('proxy', '')<>'') {
+ if(OC_Config::getValue('proxy', '') != '') {
$contextArray = array(
'http' => array(
'timeout' => 10,
@@ -860,11 +937,10 @@ class OC_Util {
);
}
-
$ctx = stream_context_create(
$contextArray
);
- $data=@file_get_contents($url, 0, $ctx);
+ $data = @file_get_contents($url, 0, $ctx);
}
return $data;
@@ -877,7 +953,6 @@ class OC_Util {
return (substr(PHP_OS, 0, 3) === "WIN");
}
-
/**
* Handles the case that there may not be a theme, then check if a "default"
* theme exists and take that one
@@ -887,20 +962,19 @@ class OC_Util {
$theme = OC_Config::getValue("theme", '');
if($theme === '') {
-
if(is_dir(OC::$SERVERROOT . '/themes/default')) {
$theme = 'default';
}
-
}
return $theme;
}
/**
- * Clear the opcode cache if one exists
+ * @brief Clear the opcode cache if one exists
* This is necessary for writing to the config file
- * in case the opcode cache doesn't revalidate files
+ * in case the opcode cache does not re-validate files
+ * @return void
*/
public static function clearOpcodeCache() {
// APC
@@ -939,8 +1013,10 @@ class OC_Util {
return $value;
}
- public static function basename($file)
- {
+ /**
+ * @return string
+ */
+ public static function basename($file) {
$file = rtrim($file, '/');
$t = explode('/', $file);
return array_pop($t);
diff --git a/ocs/routes.php b/ocs/routes.php
index 283c9af6924..c4a74d77900 100644
--- a/ocs/routes.php
+++ b/ocs/routes.php
@@ -21,14 +21,6 @@ OC_API::register(
'core',
OC_API::GUEST_AUTH
);
-// Activity
-OC_API::register(
- 'get',
- '/activity',
- array('OC_OCS_Activity', 'activityGet'),
- 'core',
- OC_API::USER_AUTH
- );
// Privatedata
OC_API::register(
'get',
diff --git a/settings/admin.php b/settings/admin.php
index 869729a9e41..dd36790907d 100755
--- a/settings/admin.php
+++ b/settings/admin.php
@@ -15,7 +15,7 @@ OC_App::setActiveNavigationEntry( "admin" );
$tmpl = new OC_Template( 'settings', 'admin', 'user');
$forms=OC_App::getForms('admin');
-$htaccessworking=OC_Util::ishtaccessworking();
+$htaccessworking=OC_Util::isHtAccessWorking();
$entries=OC_Log_Owncloud::getEntries(3);
$entriesremain = count(OC_Log_Owncloud::getEntries(4)) > 3;
@@ -25,7 +25,7 @@ $tmpl->assign('entries', $entries);
$tmpl->assign('entriesremain', $entriesremain);
$tmpl->assign('htaccessworking', $htaccessworking);
$tmpl->assign('internetconnectionworking', OC_Util::isInternetConnectionEnabled() ? OC_Util::isInternetConnectionWorking() : false);
-$tmpl->assign('islocaleworking', OC_Util::issetlocaleworking());
+$tmpl->assign('islocaleworking', OC_Util::isSetLocaleWorking());
$tmpl->assign('isWebDavWorking', OC_Util::isWebDAVWorking());
$tmpl->assign('has_fileinfo', OC_Util::fileInfoLoaded());
$tmpl->assign('backgroundjobs_mode', OC_Appconfig::getValue('core', 'backgroundjobs_mode', 'ajax'));
diff --git a/settings/js/apps.js b/settings/js/apps.js
index 1ae45932172..54810776d2b 100644
--- a/settings/js/apps.js
+++ b/settings/js/apps.js
@@ -169,7 +169,7 @@ OC.Settings.Apps = OC.Settings.Apps || {
var navEntries=response.nav_entries;
for(var i=0; i< navEntries.length; i++){
var entry = navEntries[i];
- var container = $('#apps');
+ var container = $('#apps .wrapper');
if(container.children('li[data-id="'+entry.id+'"]').length === 0){
var li=$('<li></li>');
@@ -181,10 +181,10 @@ OC.Settings.Apps = OC.Settings.Apps || {
a.prepend(filename);
a.prepend(img);
li.append(a);
- // prepend the new app before the 'More apps' function
- $('#apps-management').before(li);
+ // append the new app as last item in the list (.push is from sticky footer)
+ $('#apps .wrapper .push').before(li);
// scroll the app navigation down so the newly added app is seen
- $('#navigation').animate({ scrollTop: $('#apps').height() }, 'slow');
+ $('#navigation').animate({ scrollTop: $('#navigation').height() }, 'slow');
// draw attention to the newly added app entry by flashing it twice
container.children('li[data-id="'+entry.id+'"]').animate({opacity:.3}).animate({opacity:1}).animate({opacity:.3}).animate({opacity:1});
diff --git a/settings/l10n/fr.php b/settings/l10n/fr.php
index 536cac96568..d973ab30afd 100644
--- a/settings/l10n/fr.php
+++ b/settings/l10n/fr.php
@@ -20,11 +20,14 @@ $TRANSLATIONS = array(
"Disable" => "Désactiver",
"Enable" => "Activer",
"Please wait...." => "Veuillez patienter…",
+"Error while disabling app" => "Erreur lors de la désactivation de l'application",
+"Error while enabling app" => "Erreur lors de l'activation de l'application",
"Updating...." => "Mise à jour...",
"Error while updating app" => "Erreur lors de la mise à jour de l'application",
"Error" => "Erreur",
"Update" => "Mettre à jour",
"Updated" => "Mise à jour effectuée avec succès",
+"Decrypting files... Please wait, this can take some time." => "Déchiffrement en cours... Cela peut prendre un certain temps.",
"Saving..." => "Enregistrement...",
"deleted" => "supprimé",
"undo" => "annuler",
@@ -38,25 +41,35 @@ $TRANSLATIONS = array(
"A valid password must be provided" => "Un mot de passe valide doit être saisi",
"__language_name__" => "Français",
"Security Warning" => "Avertissement de sécurité",
+"Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." => "Votre dossier de données et vos fichiers sont probablement accessibles depuis internet. Le fichier .htaccess ne fonctionne pas. Nous vous recommandons vivement de configurer votre serveur web de façon à ce que ce dossier de données ne soit plus accessible, ou bien de le déplacer à l'extérieur de la racine du serveur web.",
"Setup Warning" => "Avertissement, problème de configuration",
"Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." => "Votre serveur web, n'est pas correctement configuré pour permettre la synchronisation des fichiers, car l'interface WebDav ne fonctionne pas comme il faut.",
+"Please double check the <a href=\"%s\">installation guides</a>." => "Veuillez consulter à nouveau les <a href=\"%s\">guides d'installation</a>.",
"Module 'fileinfo' missing" => "Module 'fileinfo' manquant",
"The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." => "Le module PHP 'fileinfo' est manquant. Il est vivement recommandé de l'activer afin d'obtenir de meilleurs résultats pour la détection des types de fichiers.",
"Locale not working" => "Localisation non fonctionnelle",
+"System locale can't be set to %s. This means that there might be problems with certain characters in file names. We strongly suggest to install the required packages on your system to support %s." => "Le localisation du système n'a pu être configurée à %s. Cela signifie qu'il pourrait y avoir des problèmes avec certains caractères dans les noms de fichiers. Il est fortement recommandé d'installer les paquets requis pour le support de %s.",
"Internet connection not working" => "La connexion internet ne fonctionne pas",
+"This server has no working internet connection. This means that some of the features like mounting of external storage, notifications about updates or installation of 3rd party apps don´t work. Accessing files from remote and sending of notification emails might also not work. We suggest to enable internet connection for this server if you want to have all features." => "Ce serveur ne peut se connecter à internet. Cela signifie que certaines fonctionnalités, telles que le montage de supports de stockage distants, les notifications de mises à jour ou l'installation d'applications tierces ne fonctionneront pas. L'accès aux fichiers à distance, ainsi que les notifications par mails ne seront pas fonctionnels également. Il est recommandé d'activer la connexion internet pour ce serveur si vous souhaitez disposer de l'ensemble des fonctionnalités offertes.",
"Cron" => "Cron",
"Execute one task with each page loaded" => "Exécute une tâche à chaque chargement de page",
+"cron.php is registered at a webcron service to call cron.php once a minute over http." => "cron.php est enregistré en tant que service webcron pour appeler cron.php une fois par minute via http.",
+"Use systems cron service to call the cron.php file once a minute." => "Utilise le service cron du système pour appeler cron.php une fois par minute.",
"Sharing" => "Partage",
"Enable Share API" => "Activer l'API de partage",
"Allow apps to use the Share API" => "Autoriser les applications à utiliser l'API de partage",
"Allow links" => "Autoriser les liens",
"Allow users to share items to the public with links" => "Autoriser les utilisateurs à partager des éléments publiquement à l'aide de liens",
+"Allow public uploads" => "Autoriser les téléversements publics",
+"Allow users to enable others to upload into their publicly shared folders" => "Permet d'autoriser les autres utilisateurs à téléverser dans le dossier partagé public de l'utilisateur",
"Allow resharing" => "Autoriser le repartage",
"Allow users to share items shared with them again" => "Autoriser les utilisateurs à partager des éléments qui ont été partagés avec eux",
"Allow users to share with anyone" => "Autoriser les utilisateurs à partager avec tout le monde",
"Allow users to only share with users in their groups" => "Autoriser les utilisateurs à partager avec des utilisateurs de leur groupe uniquement",
"Security" => "Sécurité",
"Enforce HTTPS" => "Forcer HTTPS",
+"Forces the clients to connect to %s via an encrypted connection." => "Forcer les clients à se connecter à %s via une connexion chiffrée.",
+"Please connect to your %s via HTTPS to enable or disable the SSL enforcement." => "Veuillez vous connecter à cette instance %s via HTTPS pour activer ou désactiver SSL.",
"Log" => "Log",
"Log level" => "Niveau de log",
"More" => "Plus",
@@ -92,6 +105,9 @@ $TRANSLATIONS = array(
"WebDAV" => "WebDAV",
"Use this address to <a href=\"%s/server/5.0/user_manual/files/files.html\" target=\"_blank\">access your Files via WebDAV</a>" => "Utilisez cette adresse pour <a href=\"%s/server/5.0/user_manual/files/files.html\" target=\"_blank\">accéder à vos fichiers via WebDAV</a>",
"Encryption" => "Chiffrement",
+"The encryption app is no longer enabled, decrypt all your file" => "L'application de chiffrement n'est plus activée, déchiffrez tous vos fichiers",
+"Log-in password" => "Mot de passe de connexion",
+"Decrypt all Files" => "Déchiffrer tous les fichiers",
"Login Name" => "Nom de la connexion",
"Create" => "Créer",
"Admin Recovery Password" => "Récupération du mot de passe administrateur",
diff --git a/settings/l10n/it.php b/settings/l10n/it.php
index 0fda1309395..29594a95dcf 100644
--- a/settings/l10n/it.php
+++ b/settings/l10n/it.php
@@ -20,6 +20,8 @@ $TRANSLATIONS = array(
"Disable" => "Disabilita",
"Enable" => "Abilita",
"Please wait...." => "Attendere...",
+"Error while disabling app" => "Errore durante la disattivazione",
+"Error while enabling app" => "Errore durante l'attivazione",
"Updating...." => "Aggiornamento in corso...",
"Error while updating app" => "Errore durante l'aggiornamento",
"Error" => "Errore",
diff --git a/settings/l10n/ja_JP.php b/settings/l10n/ja_JP.php
index 8bbdc222e43..63e83cab4dd 100644
--- a/settings/l10n/ja_JP.php
+++ b/settings/l10n/ja_JP.php
@@ -20,6 +20,8 @@ $TRANSLATIONS = array(
"Disable" => "無効",
"Enable" => "有効化",
"Please wait...." => "しばらくお待ちください。",
+"Error while disabling app" => "アプリ無効化中にエラーが発生",
+"Error while enabling app" => "アプリ有効化中にエラーが発生",
"Updating...." => "更新中....",
"Error while updating app" => "アプリの更新中にエラーが発生",
"Error" => "エラー",
diff --git a/settings/l10n/pt_PT.php b/settings/l10n/pt_PT.php
index d72bca799dd..e1299bb9649 100644
--- a/settings/l10n/pt_PT.php
+++ b/settings/l10n/pt_PT.php
@@ -20,11 +20,14 @@ $TRANSLATIONS = array(
"Disable" => "Desactivar",
"Enable" => "Activar",
"Please wait...." => "Por favor aguarde...",
+"Error while disabling app" => "Erro enquanto desactivava a aplicação",
+"Error while enabling app" => "Erro enquanto activava a aplicação",
"Updating...." => "A Actualizar...",
"Error while updating app" => "Erro enquanto actualizava a aplicação",
"Error" => "Erro",
"Update" => "Actualizar",
"Updated" => "Actualizado",
+"Decrypting files... Please wait, this can take some time." => "A desencriptar os ficheiros... Por favor aguarde, esta operação pode demorar algum tempo.",
"Saving..." => "A guardar...",
"deleted" => "apagado",
"undo" => "desfazer",
@@ -102,6 +105,9 @@ $TRANSLATIONS = array(
"WebDAV" => "WebDAV",
"Use this address to <a href=\"%s/server/5.0/user_manual/files/files.html\" target=\"_blank\">access your Files via WebDAV</a>" => "Use este endereço para <a href=\"%s/server/5.0/user_manual/files/files.html\" target=\"_blank\">aceder aos seus ficheiros via WebDav</a>",
"Encryption" => "Encriptação",
+"The encryption app is no longer enabled, decrypt all your file" => "A aplicação de encriptação não se encontra mais disponível, desencripte o seu ficheiro",
+"Log-in password" => "Password de entrada",
+"Decrypt all Files" => "Desencriptar todos os ficheiros",
"Login Name" => "Nome de utilizador",
"Create" => "Criar",
"Admin Recovery Password" => "Recuperar password de administrador",
diff --git a/settings/l10n/zh_TW.php b/settings/l10n/zh_TW.php
index 5cd3679751b..73c015d17af 100644
--- a/settings/l10n/zh_TW.php
+++ b/settings/l10n/zh_TW.php
@@ -75,7 +75,7 @@ $TRANSLATIONS = array(
"More" => "更多",
"Less" => "更少",
"Version" => "版本",
-"Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." => "由 <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud 社群</a>開發,<a href=\"https://github.com/owncloud\" target=\"_blank\">原始碼</a>在 <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a> 許可證下發布。",
+"Developed by the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is licensed under the <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>." => "由 <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud 社群</a>開發,<a href=\"https://github.com/owncloud\" target=\"_blank\">原始碼</a>在 <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a> 授權許可下發布。",
"Add your App" => "添加你的 App",
"More Apps" => "更多Apps",
"Select an App" => "選擇一個應用程式",
@@ -103,7 +103,7 @@ $TRANSLATIONS = array(
"Language" => "語言",
"Help translate" => "幫助翻譯",
"WebDAV" => "WebDAV",
-"Use this address to <a href=\"%s/server/5.0/user_manual/files/files.html\" target=\"_blank\">access your Files via WebDAV</a>" => "使用<a href=\"%s/server/5.0/user_manual/files/files.html\" target=\"_blank\">這個網址</a>來透過 WebDAV 存取您的檔案",
+"Use this address to <a href=\"%s/server/5.0/user_manual/files/files.html\" target=\"_blank\">access your Files via WebDAV</a>" => "以上的 WebDAV 位址可以讓您<a href=\"%s/server/5.0/user_manual/files/files.html\" target=\"_blank\">透過 WebDAV 協定存取檔案</a>",
"Encryption" => "加密",
"The encryption app is no longer enabled, decrypt all your file" => "加密應用程式已經停用,請您解密您所有的檔案",
"Log-in password" => "登入密碼",
diff --git a/tests/lib/db.php b/tests/lib/db.php
index 51edbf7b309..1977025cf12 100644
--- a/tests/lib/db.php
+++ b/tests/lib/db.php
@@ -15,7 +15,7 @@ class Test_DB extends PHPUnit_Framework_TestCase {
public function setUp() {
$dbfile = OC::$SERVERROOT.'/tests/data/db_structure.xml';
- $r = '_'.OC_Util::generate_random_bytes('4').'_';
+ $r = '_'.OC_Util::generateRandomBytes('4').'_';
$content = file_get_contents( $dbfile );
$content = str_replace( '*dbprefix*', '*dbprefix*'.$r, $content );
file_put_contents( self::$schema_file, $content );
diff --git a/tests/lib/dbschema.php b/tests/lib/dbschema.php
index c2e55eabf4b..7de90c047ca 100644
--- a/tests/lib/dbschema.php
+++ b/tests/lib/dbschema.php
@@ -16,7 +16,7 @@ class Test_DBSchema extends PHPUnit_Framework_TestCase {
$dbfile = OC::$SERVERROOT.'/tests/data/db_structure.xml';
$dbfile2 = OC::$SERVERROOT.'/tests/data/db_structure2.xml';
- $r = '_'.OC_Util::generate_random_bytes('4').'_';
+ $r = '_'.OC_Util::generateRandomBytes('4').'_';
$content = file_get_contents( $dbfile );
$content = str_replace( '*dbprefix*', '*dbprefix*'.$r, $content );
file_put_contents( $this->schema_file, $content );
diff --git a/tests/lib/image.php b/tests/lib/image.php
index 0583c300075..4aba1b0bc61 100644
--- a/tests/lib/image.php
+++ b/tests/lib/image.php
@@ -7,6 +7,10 @@
*/
class Test_Image extends PHPUnit_Framework_TestCase {
+ public static function tearDownAfterClass() {
+ unlink(OC::$SERVERROOT.'/tests/data/testimage2.png');
+ unlink(OC::$SERVERROOT.'/tests/data/testimage2.jpg');
+ }
public function testGetMimeTypeForFile() {
$mimetype = \OC_Image::getMimeTypeForFile(OC::$SERVERROOT.'/tests/data/testimage.png');
@@ -55,7 +59,6 @@ class Test_Image extends PHPUnit_Framework_TestCase {
}
public function testMimeType() {
- $this->markTestSkipped("When loading from data or base64, imagetype is always image/png, see #4258.");
$img = new \OC_Image(OC::$SERVERROOT.'/tests/data/testimage.png');
$this->assertEquals('image/png', $img->mimeType());
@@ -102,35 +105,50 @@ class Test_Image extends PHPUnit_Framework_TestCase {
$img->resize(16);
$img->save(OC::$SERVERROOT.'/tests/data/testimage2.png');
$this->assertEquals(file_get_contents(OC::$SERVERROOT.'/tests/data/testimage2.png'), $img->data());
+
+ $img = new \OC_Image(OC::$SERVERROOT.'/tests/data/testimage.jpg');
+ $img->resize(128);
+ $img->save(OC::$SERVERROOT.'/tests/data/testimage2.jpg');
+ $this->assertEquals(file_get_contents(OC::$SERVERROOT.'/tests/data/testimage2.jpg'), $img->data());
}
public function testData() {
- $this->markTestSkipped("\OC_Image->data() converts to png before outputting data, see #4258.");
$img = new \OC_Image(OC::$SERVERROOT.'/tests/data/testimage.png');
- $expected = file_get_contents(OC::$SERVERROOT.'/tests/data/testimage.png');
+ $raw = imagecreatefromstring(file_get_contents(OC::$SERVERROOT.'/tests/data/testimage.png'));
+ ob_start();
+ imagepng($raw);
+ $expected = ob_get_clean();
$this->assertEquals($expected, $img->data());
$img = new \OC_Image(OC::$SERVERROOT.'/tests/data/testimage.jpg');
- $expected = file_get_contents(OC::$SERVERROOT.'/tests/data/testimage.jpg');
+ $raw = imagecreatefromstring(file_get_contents(OC::$SERVERROOT.'/tests/data/testimage.jpg'));
+ ob_start();
+ imagejpeg($raw);
+ $expected = ob_get_clean();
$this->assertEquals($expected, $img->data());
$img = new \OC_Image(OC::$SERVERROOT.'/tests/data/testimage.gif');
- $expected = file_get_contents(OC::$SERVERROOT.'/tests/data/testimage.gif');
+ $raw = imagecreatefromstring(file_get_contents(OC::$SERVERROOT.'/tests/data/testimage.gif'));
+ ob_start();
+ imagegif($raw);
+ $expected = ob_get_clean();
$this->assertEquals($expected, $img->data());
}
+ /**
+ * @depends testData
+ */
public function testToString() {
- $this->markTestSkipped("\OC_Image->data() converts to png before outputting data, see #4258.");
$img = new \OC_Image(OC::$SERVERROOT.'/tests/data/testimage.png');
- $expected = base64_encode(file_get_contents(OC::$SERVERROOT.'/tests/data/testimage.png'));
+ $expected = base64_encode($img->data());
$this->assertEquals($expected, (string)$img);
$img = new \OC_Image(file_get_contents(OC::$SERVERROOT.'/tests/data/testimage.jpg'));
- $expected = base64_encode(file_get_contents(OC::$SERVERROOT.'/tests/data/testimage.jpg'));
+ $expected = base64_encode($img->data());
$this->assertEquals($expected, (string)$img);
$img = new \OC_Image(OC::$SERVERROOT.'/tests/data/testimage.gif');
- $expected = base64_encode(file_get_contents(OC::$SERVERROOT.'/tests/data/testimage.gif'));
+ $expected = base64_encode($img->data());
$this->assertEquals($expected, (string)$img);
}
diff --git a/tests/lib/preview.php b/tests/lib/preview.php
new file mode 100644
index 00000000000..bebdc12b500
--- /dev/null
+++ b/tests/lib/preview.php
@@ -0,0 +1,108 @@
+<?php
+/**
+ * Copyright (c) 2013 Georg Ehrke <georg@ownCloud.com>
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+
+namespace Test;
+
+class Preview extends \PHPUnit_Framework_TestCase {
+
+ public function testIsPreviewDeleted() {
+ $user = $this->initFS();
+
+ $rootView = new \OC\Files\View('');
+ $rootView->mkdir('/'.$user);
+ $rootView->mkdir('/'.$user.'/files');
+
+ $samplefile = '/'.$user.'/files/test.txt';
+
+ $rootView->file_put_contents($samplefile, 'dummy file data');
+
+ $x = 50;
+ $y = 50;
+
+ $preview = new \OC\Preview($user, 'files/', 'test.txt', $x, $y);
+ $preview->getPreview();
+
+ $fileinfo = $rootView->getFileInfo($samplefile);
+ $fileid = $fileinfo['fileid'];
+
+ $thumbcachefile = '/' . $user . '/' . \OC\Preview::THUMBNAILS_FOLDER . '/' . $fileid . '/' . $x . '-' . $y . '.png';
+
+ $this->assertEquals($rootView->file_exists($thumbcachefile), true);
+
+ $preview->deletePreview();
+
+ $this->assertEquals($rootView->file_exists($thumbcachefile), false);
+ }
+
+ public function testAreAllPreviewsDeleted() {
+ $user = $this->initFS();
+
+ $rootView = new \OC\Files\View('');
+ $rootView->mkdir('/'.$user);
+ $rootView->mkdir('/'.$user.'/files');
+
+ $samplefile = '/'.$user.'/files/test.txt';
+
+ $rootView->file_put_contents($samplefile, 'dummy file data');
+
+ $x = 50;
+ $y = 50;
+
+ $preview = new \OC\Preview($user, 'files/', 'test.txt', $x, $y);
+ $preview->getPreview();
+
+ $fileinfo = $rootView->getFileInfo($samplefile);
+ $fileid = $fileinfo['fileid'];
+
+ $thumbcachefolder = '/' . $user . '/' . \OC\Preview::THUMBNAILS_FOLDER . '/' . $fileid . '/';
+
+ $this->assertEquals($rootView->is_dir($thumbcachefolder), true);
+
+ $preview->deleteAllPreviews();
+
+ $this->assertEquals($rootView->is_dir($thumbcachefolder), false);
+ }
+
+ public function testIsMaxSizeWorking() {
+ $user = $this->initFS();
+
+ $maxX = 250;
+ $maxY = 250;
+
+ \OC_Config::setValue('preview_max_x', $maxX);
+ \OC_Config::setValue('preview_max_y', $maxY);
+
+ $rootView = new \OC\Files\View('');
+ $rootView->mkdir('/'.$user);
+ $rootView->mkdir('/'.$user.'/files');
+
+ $samplefile = '/'.$user.'/files/test.txt';
+
+ $rootView->file_put_contents($samplefile, 'dummy file data');
+
+ $preview = new \OC\Preview($user, 'files/', 'test.txt', 1000, 1000);
+ $image = $preview->getPreview();
+
+ $this->assertEquals($image->width(), $maxX);
+ $this->assertEquals($image->height(), $maxY);
+ }
+
+ private function initFS() {
+ if(\OC\Files\Filesystem::getView()){
+ $user = \OC_User::getUser();
+ }else{
+ $user=uniqid();
+ \OC_User::setUserId($user);
+ \OC\Files\Filesystem::init($user, '/'.$user.'/files');
+ }
+
+ \OC\Files\Filesystem::mount('OC\Files\Storage\Temporary', array(), '/');
+
+ return $user;
+ }
+} \ No newline at end of file
diff --git a/tests/lib/util.php b/tests/lib/util.php
index 13aa49c8c6f..d607a3e7725 100644
--- a/tests/lib/util.php
+++ b/tests/lib/util.php
@@ -71,8 +71,8 @@ class Test_Util extends PHPUnit_Framework_TestCase {
$this->assertTrue(\OC_Util::isInternetConnectionEnabled());
}
- function testGenerate_random_bytes() {
- $result = strlen(OC_Util::generate_random_bytes(59));
+ function testGenerateRandomBytes() {
+ $result = strlen(OC_Util::generateRandomBytes(59));
$this->assertEquals(59, $result);
}