aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CONTRIBUTING.md37
-rw-r--r--apps/files/admin.php7
-rw-r--r--apps/files/ajax/autocomplete.php54
-rw-r--r--apps/files/ajax/delete.php13
-rw-r--r--apps/files/ajax/getstoragestats.php9
-rw-r--r--apps/files/ajax/move.php5
-rw-r--r--apps/files/ajax/rename.php8
-rw-r--r--apps/files/ajax/scan.php3
-rw-r--r--apps/files/ajax/upload.php71
-rw-r--r--apps/files/appinfo/remote.php1
-rw-r--r--apps/files/appinfo/routes.php5
-rw-r--r--apps/files/css/files.css10
-rw-r--r--apps/files/index.php59
-rw-r--r--apps/files/js/fileactions.js14
-rw-r--r--apps/files/js/filelist.js45
-rw-r--r--apps/files/js/files.js200
-rw-r--r--apps/files/js/jquery-visibility.js32
-rw-r--r--apps/files/js/publiclistview.php20
-rw-r--r--apps/files/l10n/ar.php2
-rw-r--r--apps/files/l10n/bg_BG.php30
-rw-r--r--apps/files/l10n/bn_BD.php70
-rw-r--r--apps/files/l10n/ca.php15
-rw-r--r--apps/files/l10n/cs_CZ.php15
-rw-r--r--apps/files/l10n/da.php6
-rw-r--r--apps/files/l10n/de.php15
-rw-r--r--apps/files/l10n/de_DE.php15
-rw-r--r--apps/files/l10n/el.php19
-rw-r--r--apps/files/l10n/eo.php15
-rw-r--r--apps/files/l10n/es.php15
-rw-r--r--apps/files/l10n/es_AR.php15
-rw-r--r--apps/files/l10n/et_EE.php6
-rw-r--r--apps/files/l10n/eu.php14
-rw-r--r--apps/files/l10n/fa.php5
-rw-r--r--apps/files/l10n/fi_FI.php14
-rw-r--r--apps/files/l10n/fr.php19
-rw-r--r--apps/files/l10n/gl.php14
-rw-r--r--apps/files/l10n/he.php6
-rw-r--r--apps/files/l10n/hr.php3
-rw-r--r--apps/files/l10n/hu_HU.php75
-rw-r--r--apps/files/l10n/ia.php2
-rw-r--r--apps/files/l10n/id.php4
-rw-r--r--apps/files/l10n/is.php70
-rw-r--r--apps/files/l10n/it.php15
-rw-r--r--apps/files/l10n/ja_JP.php15
-rw-r--r--apps/files/l10n/ka_GE.php3
-rw-r--r--apps/files/l10n/ko.php14
-rw-r--r--apps/files/l10n/ku_IQ.php3
-rw-r--r--apps/files/l10n/lb.php3
-rw-r--r--apps/files/l10n/lt_LT.php3
-rw-r--r--apps/files/l10n/lv.php3
-rw-r--r--apps/files/l10n/mk.php6
-rw-r--r--apps/files/l10n/ms_MY.php4
-rw-r--r--apps/files/l10n/nb_NO.php7
-rw-r--r--apps/files/l10n/nl.php15
-rw-r--r--apps/files/l10n/nn_NO.php2
-rw-r--r--apps/files/l10n/oc.php3
-rw-r--r--apps/files/l10n/pl.php14
-rw-r--r--apps/files/l10n/pt_BR.php6
-rw-r--r--apps/files/l10n/pt_PT.php15
-rw-r--r--apps/files/l10n/ro.php28
-rw-r--r--apps/files/l10n/ru.php14
-rw-r--r--apps/files/l10n/ru_RU.php6
-rw-r--r--apps/files/l10n/si_LK.php5
-rw-r--r--apps/files/l10n/sk_SK.php15
-rw-r--r--apps/files/l10n/sl.php6
-rw-r--r--apps/files/l10n/sr.php4
-rw-r--r--apps/files/l10n/sr@latin.php2
-rw-r--r--apps/files/l10n/sv.php15
-rw-r--r--apps/files/l10n/ta_LK.php6
-rw-r--r--apps/files/l10n/th_TH.php15
-rw-r--r--apps/files/l10n/tr.php24
-rw-r--r--apps/files/l10n/uk.php6
-rw-r--r--apps/files/l10n/vi.php6
-rw-r--r--apps/files/l10n/zh_CN.GB2312.php5
-rw-r--r--apps/files/l10n/zh_CN.php15
-rw-r--r--apps/files/l10n/zh_TW.php41
-rw-r--r--apps/files/lib/helper.php20
-rw-r--r--apps/files/templates/admin.php5
-rw-r--r--apps/files/templates/index.php10
-rw-r--r--apps/files/templates/part.breadcrumb.php17
-rw-r--r--apps/files/templates/part.list.php130
-rw-r--r--apps/files_encryption/ajax/mode.php38
-rw-r--r--apps/files_encryption/appinfo/app.php38
-rw-r--r--apps/files_encryption/appinfo/database.xml24
-rw-r--r--apps/files_encryption/appinfo/info.xml6
-rw-r--r--apps/files_encryption/appinfo/version2
-rw-r--r--apps/files_encryption/hooks/hooks.php143
-rw-r--r--apps/files_encryption/js/settings-personal.js38
-rw-r--r--apps/files_encryption/js/settings.js34
-rw-r--r--apps/files_encryption/l10n/ar.php3
-rw-r--r--apps/files_encryption/l10n/bg_BG.php5
-rw-r--r--apps/files_encryption/l10n/bn_BD.php5
-rw-r--r--apps/files_encryption/l10n/ca.php14
-rw-r--r--apps/files_encryption/l10n/cs_CZ.php14
-rw-r--r--apps/files_encryption/l10n/da.php3
-rw-r--r--apps/files_encryption/l10n/de.php3
-rw-r--r--apps/files_encryption/l10n/de_DE.php6
-rw-r--r--apps/files_encryption/l10n/el.php7
-rw-r--r--apps/files_encryption/l10n/eo.php3
-rw-r--r--apps/files_encryption/l10n/es.php3
-rw-r--r--apps/files_encryption/l10n/es_AR.php3
-rw-r--r--apps/files_encryption/l10n/et_EE.php3
-rw-r--r--apps/files_encryption/l10n/eu.php3
-rw-r--r--apps/files_encryption/l10n/fa.php3
-rw-r--r--apps/files_encryption/l10n/fi_FI.php3
-rw-r--r--apps/files_encryption/l10n/fr.php14
-rw-r--r--apps/files_encryption/l10n/gl.php3
-rw-r--r--apps/files_encryption/l10n/he.php5
-rw-r--r--apps/files_encryption/l10n/hu_HU.php5
-rw-r--r--apps/files_encryption/l10n/id.php3
-rw-r--r--apps/files_encryption/l10n/is.php5
-rw-r--r--apps/files_encryption/l10n/it.php12
-rw-r--r--apps/files_encryption/l10n/ja_JP.php14
-rw-r--r--apps/files_encryption/l10n/ko.php3
-rw-r--r--apps/files_encryption/l10n/ku_IQ.php3
-rw-r--r--apps/files_encryption/l10n/lt_LT.php3
-rw-r--r--apps/files_encryption/l10n/mk.php3
-rw-r--r--apps/files_encryption/l10n/nb_NO.php3
-rw-r--r--apps/files_encryption/l10n/nl.php3
-rw-r--r--apps/files_encryption/l10n/pl.php3
-rw-r--r--apps/files_encryption/l10n/pt_BR.php3
-rw-r--r--apps/files_encryption/l10n/pt_PT.php14
-rw-r--r--apps/files_encryption/l10n/ro.php3
-rw-r--r--apps/files_encryption/l10n/ru.php3
-rw-r--r--apps/files_encryption/l10n/ru_RU.php3
-rw-r--r--apps/files_encryption/l10n/si_LK.php3
-rw-r--r--apps/files_encryption/l10n/sk_SK.php3
-rw-r--r--apps/files_encryption/l10n/sl.php3
-rw-r--r--apps/files_encryption/l10n/sr.php3
-rw-r--r--apps/files_encryption/l10n/sv.php14
-rw-r--r--apps/files_encryption/l10n/ta_LK.php3
-rw-r--r--apps/files_encryption/l10n/th_TH.php14
-rw-r--r--apps/files_encryption/l10n/tr.php5
-rw-r--r--apps/files_encryption/l10n/uk.php3
-rw-r--r--apps/files_encryption/l10n/vi.php3
-rw-r--r--apps/files_encryption/l10n/zh_CN.GB2312.php3
-rw-r--r--apps/files_encryption/l10n/zh_CN.php3
-rw-r--r--apps/files_encryption/l10n/zh_TW.php3
-rwxr-xr-x[-rw-r--r--]apps/files_encryption/lib/crypt.php952
-rw-r--r--apps/files_encryption/lib/cryptstream.php177
-rwxr-xr-xapps/files_encryption/lib/keymanager.php365
-rw-r--r--apps/files_encryption/lib/proxy.php295
-rw-r--r--apps/files_encryption/lib/session.php (renamed from apps/files_versions/ajax/expireAll.php)58
-rw-r--r--apps/files_encryption/lib/stream.php464
-rw-r--r--apps/files_encryption/lib/util.php330
-rw-r--r--apps/files_encryption/settings-personal.php29
-rw-r--r--apps/files_encryption/settings.php19
-rw-r--r--apps/files_encryption/templates/settings-personal.php45
-rw-r--r--apps/files_encryption/templates/settings.php85
-rw-r--r--apps/files_encryption/test/binary (renamed from apps/files_encryption/tests/binary)bin9734 -> 9734 bytes
-rwxr-xr-xapps/files_encryption/test/crypt.php667
-rw-r--r--apps/files_encryption/test/keymanager.php132
-rw-r--r--apps/files_encryption/test/legacy-encrypted-text.txtbin0 -> 3360 bytes
-rw-r--r--apps/files_encryption/test/proxy.php220
-rw-r--r--apps/files_encryption/test/stream.php226
-rwxr-xr-xapps/files_encryption/test/util.php210
-rw-r--r--apps/files_encryption/test/zeros (renamed from apps/files_encryption/tests/zeros)bin10238 -> 10238 bytes
-rw-r--r--apps/files_encryption/tests/encryption.php72
-rw-r--r--apps/files_encryption/tests/proxy.php117
-rw-r--r--apps/files_encryption/tests/stream.php85
-rw-r--r--apps/files_external/l10n/bg_BG.php16
-rw-r--r--apps/files_external/l10n/bn_BD.php24
-rw-r--r--apps/files_external/l10n/eu.php2
-rw-r--r--apps/files_external/l10n/fr.php2
-rw-r--r--apps/files_external/l10n/gl.php4
-rw-r--r--apps/files_external/l10n/hu_HU.php23
-rw-r--r--apps/files_external/l10n/is.php26
-rw-r--r--apps/files_external/l10n/ko.php2
-rw-r--r--apps/files_external/l10n/mk.php22
-rw-r--r--apps/files_external/l10n/th_TH.php2
-rw-r--r--apps/files_external/l10n/tr.php13
-rw-r--r--apps/files_external/lib/amazons3.php2
-rwxr-xr-xapps/files_external/lib/config.php10
-rw-r--r--apps/files_external/lib/webdav.php8
-rw-r--r--apps/files_external/templates/settings.php6
-rw-r--r--apps/files_external/tests/ftp.php8
-rw-r--r--apps/files_sharing/appinfo/app.php2
-rw-r--r--apps/files_sharing/js/share.js4
-rw-r--r--apps/files_sharing/l10n/bg_BG.php9
-rw-r--r--apps/files_sharing/l10n/bn_BD.php9
-rw-r--r--apps/files_sharing/l10n/hu_HU.php11
-rw-r--r--apps/files_sharing/l10n/is.php9
-rw-r--r--apps/files_sharing/l10n/sr.php3
-rw-r--r--apps/files_sharing/l10n/zh_TW.php3
-rw-r--r--apps/files_sharing/public.php64
-rw-r--r--apps/files_sharing/templates/public.php10
-rw-r--r--apps/files_versions/ajax/getVersions.php5
-rw-r--r--apps/files_versions/ajax/rollbackVersion.php11
-rw-r--r--apps/files_versions/history.php7
-rw-r--r--apps/files_versions/js/settings-personal.js39
-rw-r--r--apps/files_versions/l10n/ar.php3
-rw-r--r--apps/files_versions/l10n/bg_BG.php4
-rw-r--r--apps/files_versions/l10n/bn_BD.php5
-rw-r--r--apps/files_versions/l10n/ca.php3
-rw-r--r--apps/files_versions/l10n/cs_CZ.php3
-rw-r--r--apps/files_versions/l10n/da.php3
-rw-r--r--apps/files_versions/l10n/de.php3
-rw-r--r--apps/files_versions/l10n/de_DE.php3
-rw-r--r--apps/files_versions/l10n/el.php3
-rw-r--r--apps/files_versions/l10n/eo.php3
-rw-r--r--apps/files_versions/l10n/es.php3
-rw-r--r--apps/files_versions/l10n/es_AR.php3
-rw-r--r--apps/files_versions/l10n/et_EE.php3
-rw-r--r--apps/files_versions/l10n/eu.php3
-rw-r--r--apps/files_versions/l10n/fi_FI.php3
-rw-r--r--apps/files_versions/l10n/fr.php3
-rw-r--r--apps/files_versions/l10n/gl.php3
-rw-r--r--apps/files_versions/l10n/he.php3
-rw-r--r--apps/files_versions/l10n/hu_HU.php5
-rw-r--r--apps/files_versions/l10n/id.php3
-rw-r--r--apps/files_versions/l10n/is.php5
-rw-r--r--apps/files_versions/l10n/it.php3
-rw-r--r--apps/files_versions/l10n/ja_JP.php3
-rw-r--r--apps/files_versions/l10n/ko.php3
-rw-r--r--apps/files_versions/l10n/ku_IQ.php3
-rw-r--r--apps/files_versions/l10n/lt_LT.php3
-rw-r--r--apps/files_versions/l10n/mk.php3
-rw-r--r--apps/files_versions/l10n/nb_NO.php2
-rw-r--r--apps/files_versions/l10n/nl.php3
-rw-r--r--apps/files_versions/l10n/pl.php3
-rw-r--r--apps/files_versions/l10n/pt_BR.php3
-rw-r--r--apps/files_versions/l10n/pt_PT.php3
-rw-r--r--apps/files_versions/l10n/ro.php3
-rw-r--r--apps/files_versions/l10n/ru.php3
-rw-r--r--apps/files_versions/l10n/ru_RU.php3
-rw-r--r--apps/files_versions/l10n/si_LK.php3
-rw-r--r--apps/files_versions/l10n/sk_SK.php3
-rw-r--r--apps/files_versions/l10n/sl.php3
-rw-r--r--apps/files_versions/l10n/sv.php3
-rw-r--r--apps/files_versions/l10n/ta_LK.php3
-rw-r--r--apps/files_versions/l10n/th_TH.php3
-rw-r--r--apps/files_versions/l10n/tr.php5
-rw-r--r--apps/files_versions/l10n/uk.php3
-rw-r--r--apps/files_versions/l10n/vi.php3
-rw-r--r--apps/files_versions/l10n/zh_CN.GB2312.php3
-rw-r--r--apps/files_versions/l10n/zh_CN.php3
-rw-r--r--apps/files_versions/l10n/zh_TW.php2
-rw-r--r--apps/files_versions/lib/hooks.php40
-rw-r--r--apps/files_versions/lib/versions.php390
-rw-r--r--apps/files_versions/settings-personal.php7
-rw-r--r--apps/files_versions/templates/settings-personal.php12
-rw-r--r--apps/files_versions/templates/settings.php8
-rw-r--r--apps/user_ldap/css/settings.css4
-rw-r--r--apps/user_ldap/l10n/ar.php3
-rw-r--r--apps/user_ldap/l10n/bg_BG.php4
-rw-r--r--apps/user_ldap/l10n/bn_BD.php37
-rw-r--r--apps/user_ldap/l10n/ca.php5
-rw-r--r--apps/user_ldap/l10n/cs_CZ.php5
-rw-r--r--apps/user_ldap/l10n/de.php1
-rw-r--r--apps/user_ldap/l10n/de_DE.php5
-rw-r--r--apps/user_ldap/l10n/el.php20
-rw-r--r--apps/user_ldap/l10n/eo.php2
-rw-r--r--apps/user_ldap/l10n/es.php1
-rw-r--r--apps/user_ldap/l10n/es_AR.php1
-rw-r--r--apps/user_ldap/l10n/eu.php5
-rw-r--r--apps/user_ldap/l10n/fr.php9
-rw-r--r--apps/user_ldap/l10n/gl.php5
-rw-r--r--apps/user_ldap/l10n/he.php12
-rw-r--r--apps/user_ldap/l10n/hr.php3
-rw-r--r--apps/user_ldap/l10n/hu_HU.php42
-rw-r--r--apps/user_ldap/l10n/ia.php3
-rw-r--r--apps/user_ldap/l10n/is.php5
-rw-r--r--apps/user_ldap/l10n/it.php5
-rw-r--r--apps/user_ldap/l10n/ja_JP.php5
-rw-r--r--apps/user_ldap/l10n/ka_GE.php3
-rw-r--r--apps/user_ldap/l10n/ko.php1
-rw-r--r--apps/user_ldap/l10n/ku_IQ.php3
-rw-r--r--apps/user_ldap/l10n/lb.php3
-rw-r--r--apps/user_ldap/l10n/lv.php3
-rw-r--r--apps/user_ldap/l10n/mk.php5
-rw-r--r--apps/user_ldap/l10n/ms_MY.php3
-rw-r--r--apps/user_ldap/l10n/nl.php11
-rw-r--r--apps/user_ldap/l10n/nn_NO.php3
-rw-r--r--apps/user_ldap/l10n/oc.php3
-rw-r--r--apps/user_ldap/l10n/pl.php1
-rw-r--r--apps/user_ldap/l10n/pt_PT.php5
-rw-r--r--apps/user_ldap/l10n/ro.php5
-rw-r--r--apps/user_ldap/l10n/ru.php1
-rw-r--r--apps/user_ldap/l10n/ru_RU.php1
-rw-r--r--apps/user_ldap/l10n/sl.php1
-rw-r--r--apps/user_ldap/l10n/sr.php3
-rw-r--r--apps/user_ldap/l10n/sr@latin.php3
-rw-r--r--apps/user_ldap/l10n/sv.php5
-rw-r--r--apps/user_ldap/l10n/th_TH.php5
-rw-r--r--apps/user_ldap/l10n/tr.php24
-rw-r--r--apps/user_ldap/l10n/uk.php1
-rw-r--r--apps/user_ldap/l10n/zh_CN.php2
-rw-r--r--apps/user_ldap/l10n/zh_TW.php2
-rw-r--r--apps/user_ldap/lib/access.php132
-rw-r--r--apps/user_ldap/lib/connection.php6
-rw-r--r--apps/user_ldap/templates/settings.php8
-rw-r--r--apps/user_ldap/tests/group_ldap.php2
-rw-r--r--apps/user_webdavauth/l10n/bn_BD.php3
-rw-r--r--apps/user_webdavauth/l10n/ca.php3
-rw-r--r--apps/user_webdavauth/l10n/cs_CZ.php3
-rw-r--r--apps/user_webdavauth/l10n/da.php3
-rw-r--r--apps/user_webdavauth/l10n/de.php3
-rw-r--r--apps/user_webdavauth/l10n/de_DE.php3
-rw-r--r--apps/user_webdavauth/l10n/el.php4
-rw-r--r--apps/user_webdavauth/l10n/eo.php3
-rw-r--r--apps/user_webdavauth/l10n/es.php4
-rw-r--r--apps/user_webdavauth/l10n/es_AR.php2
-rw-r--r--apps/user_webdavauth/l10n/eu.php4
-rw-r--r--apps/user_webdavauth/l10n/fr.php4
-rw-r--r--apps/user_webdavauth/l10n/gl.php4
-rw-r--r--apps/user_webdavauth/l10n/hu_HU.php3
-rw-r--r--apps/user_webdavauth/l10n/is.php3
-rw-r--r--apps/user_webdavauth/l10n/it.php3
-rw-r--r--apps/user_webdavauth/l10n/ja_JP.php3
-rw-r--r--apps/user_webdavauth/l10n/ko.php2
-rw-r--r--apps/user_webdavauth/l10n/mk.php3
-rw-r--r--apps/user_webdavauth/l10n/nb_NO.php3
-rw-r--r--apps/user_webdavauth/l10n/nl.php3
-rw-r--r--apps/user_webdavauth/l10n/pl.php4
-rw-r--r--apps/user_webdavauth/l10n/pt_PT.php3
-rw-r--r--apps/user_webdavauth/l10n/ro.php3
-rw-r--r--apps/user_webdavauth/l10n/ru.php2
-rw-r--r--apps/user_webdavauth/l10n/sk_SK.php3
-rw-r--r--apps/user_webdavauth/l10n/sl.php2
-rw-r--r--apps/user_webdavauth/l10n/sv.php3
-rw-r--r--apps/user_webdavauth/l10n/th_TH.php4
-rw-r--r--apps/user_webdavauth/l10n/tr.php2
-rw-r--r--apps/user_webdavauth/l10n/uk.php3
-rw-r--r--apps/user_webdavauth/l10n/zh_CN.php4
-rwxr-xr-xapps/user_webdavauth/templates/settings.php4
-rwxr-xr-xapps/user_webdavauth/user_webdavauth.php2
-rw-r--r--build/phpcs.xml2
-rw-r--r--config/config.sample.php43
-rw-r--r--core/ajax/share.php2
-rw-r--r--core/ajax/update.php67
-rw-r--r--core/css/images/animated-overlay.gifbin0 -> 1738 bytes
-rw-r--r--core/css/images/ui-bg_diagonals-thick_18_b81900_40x40.pngbin0 -> 260 bytes
-rw-r--r--core/css/images/ui-bg_diagonals-thick_20_666666_40x40.pngbin0 -> 251 bytes
-rw-r--r--core/css/images/ui-bg_flat_100_ffffff_40x100.pngbin0 -> 178 bytes
-rw-r--r--core/css/images/ui-bg_flat_10_000000_40x100.pngbin0 -> 178 bytes
-rw-r--r--core/css/images/ui-bg_flat_35_1d2d44_40x100.pngbin0 -> 183 bytes
-rw-r--r--core/css/images/ui-bg_glass_100_f8f8f8_1x400.pngbin0 -> 105 bytes
-rw-r--r--core/css/images/ui-bg_highlight-hard_100_f8f8f8_1x100.pngbin0 -> 88 bytes
-rw-r--r--core/css/images/ui-bg_highlight-soft_100_eeeeee_1x100.pngbin0 -> 90 bytes
-rw-r--r--core/css/images/ui-icons_1d2d44_256x240.pngbin0 -> 4369 bytes
-rw-r--r--core/css/images/ui-icons_222222_256x240.pngbin0 -> 4369 bytes
-rw-r--r--core/css/images/ui-icons_ffd27a_256x240.pngbin0 -> 4369 bytes
-rw-r--r--core/css/images/ui-icons_ffffff_256x240.pngbin0 -> 4369 bytes
-rw-r--r--core/css/jquery-ui-1.10.0.custom.css1174
-rw-r--r--core/css/jquery-ui-1.8.16.custom.css362
-rw-r--r--core/css/multiselect.css27
-rw-r--r--core/css/styles.css15
-rw-r--r--core/js/config.js2
-rw-r--r--core/js/config.php37
-rw-r--r--core/js/jquery-ui-1.10.0.custom.js14850
-rw-r--r--core/js/jquery-ui-1.8.16.custom.min.js761
-rw-r--r--core/js/js.js104
-rw-r--r--core/js/multiselect.js231
-rw-r--r--core/js/oc-requesttoken.js3
-rw-r--r--core/js/setup.js9
-rw-r--r--core/js/visitortimezone.js4
-rw-r--r--core/l10n/ar.php6
-rw-r--r--core/l10n/bg_BG.php63
-rw-r--r--core/l10n/bn_BD.php125
-rw-r--r--core/l10n/ca.php5
-rw-r--r--core/l10n/cs_CZ.php5
-rw-r--r--core/l10n/da.php6
-rw-r--r--core/l10n/de.php5
-rw-r--r--core/l10n/de_DE.php5
-rw-r--r--core/l10n/el.php5
-rw-r--r--core/l10n/eo.php6
-rw-r--r--core/l10n/es.php5
-rw-r--r--core/l10n/es_AR.php13
-rw-r--r--core/l10n/et_EE.php5
-rw-r--r--core/l10n/eu.php5
-rw-r--r--core/l10n/fa.php2
-rw-r--r--core/l10n/fi_FI.php15
-rw-r--r--core/l10n/fr.php10
-rw-r--r--core/l10n/gl.php103
-rw-r--r--core/l10n/he.php5
-rw-r--r--core/l10n/hi.php1
-rw-r--r--core/l10n/hr.php1
-rw-r--r--core/l10n/hu_HU.php131
-rw-r--r--core/l10n/ia.php1
-rw-r--r--core/l10n/id.php6
-rw-r--r--core/l10n/is.php103
-rw-r--r--core/l10n/it.php5
-rw-r--r--core/l10n/ja_JP.php5
-rw-r--r--core/l10n/ka_GE.php5
-rw-r--r--core/l10n/ko.php13
-rw-r--r--core/l10n/lb.php1
-rw-r--r--core/l10n/lt_LT.php6
-rw-r--r--core/l10n/lv.php1
-rw-r--r--core/l10n/mk.php6
-rw-r--r--core/l10n/ms_MY.php1
-rw-r--r--core/l10n/nb_NO.php11
-rw-r--r--core/l10n/nl.php5
-rw-r--r--core/l10n/nn_NO.php1
-rw-r--r--core/l10n/oc.php1
-rw-r--r--core/l10n/pl.php5
-rw-r--r--core/l10n/pt_BR.php6
-rw-r--r--core/l10n/pt_PT.php5
-rw-r--r--core/l10n/ro.php64
-rw-r--r--core/l10n/ru.php5
-rw-r--r--core/l10n/ru_RU.php6
-rw-r--r--core/l10n/si_LK.php1
-rw-r--r--core/l10n/sk_SK.php13
-rw-r--r--core/l10n/sl.php6
-rw-r--r--core/l10n/sr.php10
-rw-r--r--core/l10n/sr@latin.php1
-rw-r--r--core/l10n/sv.php5
-rw-r--r--core/l10n/ta_LK.php6
-rw-r--r--core/l10n/th_TH.php13
-rw-r--r--core/l10n/tr.php58
-rw-r--r--core/l10n/uk.php5
-rw-r--r--core/l10n/vi.php6
-rw-r--r--core/l10n/zh_CN.GB2312.php6
-rw-r--r--core/l10n/zh_CN.php6
-rw-r--r--core/l10n/zh_TW.php64
-rw-r--r--core/lostpassword/controller.php2
-rw-r--r--core/routes.php3
-rw-r--r--core/templates/exception.php2
-rw-r--r--core/templates/installation.php10
-rw-r--r--core/templates/layout.base.php7
-rw-r--r--core/templates/layout.guest.php12
-rw-r--r--core/templates/layout.user.php31
-rw-r--r--core/templates/login.php85
-rw-r--r--core/templates/logout.php1
-rw-r--r--core/templates/update.php31
-rw-r--r--core/templates/verify.php18
-rw-r--r--issue_template.md46
-rw-r--r--l10n/ar/core.po54
-rw-r--r--l10n/ar/files.po157
-rw-r--r--l10n/ar/files_encryption.po68
-rw-r--r--l10n/ar/files_versions.po18
-rw-r--r--l10n/ar/lib.po46
-rw-r--r--l10n/ar/settings.po50
-rw-r--r--l10n/ar/user_ldap.po22
-rw-r--r--l10n/ar/user_webdavauth.po16
-rw-r--r--l10n/bg_BG/core.po228
-rw-r--r--l10n/bg_BG/files.po201
-rw-r--r--l10n/bg_BG/files_encryption.po71
-rw-r--r--l10n/bg_BG/files_external.po41
-rw-r--r--l10n/bg_BG/files_sharing.po31
-rw-r--r--l10n/bg_BG/files_versions.po23
-rw-r--r--l10n/bg_BG/lib.po117
-rw-r--r--l10n/bg_BG/settings.po90
-rw-r--r--l10n/bg_BG/user_ldap.po24
-rw-r--r--l10n/bg_BG/user_webdavauth.po14
-rw-r--r--l10n/bn_BD/core.po566
-rw-r--r--l10n/bn_BD/files.po308
-rw-r--r--l10n/bn_BD/files_encryption.po82
-rw-r--r--l10n/bn_BD/files_external.po120
-rw-r--r--l10n/bn_BD/files_sharing.po48
-rw-r--r--l10n/bn_BD/files_versions.po30
-rw-r--r--l10n/bn_BD/lib.po156
-rw-r--r--l10n/bn_BD/settings.po268
-rw-r--r--l10n/bn_BD/user_ldap.po195
-rw-r--r--l10n/bn_BD/user_webdavauth.po34
-rw-r--r--l10n/ca/core.po56
-rw-r--r--l10n/ca/files.po167
-rw-r--r--l10n/ca/files_encryption.po69
-rw-r--r--l10n/ca/files_versions.po18
-rw-r--r--l10n/ca/lib.po56
-rw-r--r--l10n/ca/settings.po52
-rw-r--r--l10n/ca/user_ldap.po24
-rw-r--r--l10n/ca/user_webdavauth.po18
-rw-r--r--l10n/cs_CZ/core.po114
-rw-r--r--l10n/cs_CZ/files.po163
-rw-r--r--l10n/cs_CZ/files_encryption.po68
-rw-r--r--l10n/cs_CZ/files_versions.po18
-rw-r--r--l10n/cs_CZ/lib.po56
-rw-r--r--l10n/cs_CZ/settings.po50
-rw-r--r--l10n/cs_CZ/user_ldap.po22
-rw-r--r--l10n/cs_CZ/user_webdavauth.po18
-rw-r--r--l10n/da/core.po54
-rw-r--r--l10n/da/files.po163
-rw-r--r--l10n/da/files_encryption.po68
-rw-r--r--l10n/da/files_versions.po18
-rw-r--r--l10n/da/lib.po48
-rw-r--r--l10n/da/settings.po52
-rw-r--r--l10n/da/user_ldap.po22
-rw-r--r--l10n/da/user_webdavauth.po18
-rw-r--r--l10n/de/core.po56
-rw-r--r--l10n/de/files.po170
-rw-r--r--l10n/de/files_encryption.po68
-rw-r--r--l10n/de/files_versions.po18
-rw-r--r--l10n/de/lib.po58
-rw-r--r--l10n/de/settings.po50
-rw-r--r--l10n/de/user_ldap.po24
-rw-r--r--l10n/de/user_webdavauth.po19
-rw-r--r--l10n/de_DE/core.po55
-rw-r--r--l10n/de_DE/files.po171
-rw-r--r--l10n/de_DE/files_encryption.po69
-rw-r--r--l10n/de_DE/files_versions.po18
-rw-r--r--l10n/de_DE/lib.po57
-rw-r--r--l10n/de_DE/settings.po50
-rw-r--r--l10n/de_DE/user_ldap.po25
-rw-r--r--l10n/de_DE/user_webdavauth.po20
-rw-r--r--l10n/el/core.po55
-rw-r--r--l10n/el/files.po171
-rw-r--r--l10n/el/files_encryption.po71
-rw-r--r--l10n/el/files_versions.po18
-rw-r--r--l10n/el/lib.po57
-rw-r--r--l10n/el/settings.po51
-rw-r--r--l10n/el/user_ldap.po62
-rw-r--r--l10n/el/user_webdavauth.po20
-rw-r--r--l10n/eo/core.po70
-rw-r--r--l10n/eo/files.po162
-rw-r--r--l10n/eo/files_encryption.po70
-rw-r--r--l10n/eo/files_versions.po18
-rw-r--r--l10n/eo/lib.po56
-rw-r--r--l10n/eo/settings.po75
-rw-r--r--l10n/eo/user_ldap.po25
-rw-r--r--l10n/eo/user_webdavauth.po19
-rw-r--r--l10n/es/core.po90
-rw-r--r--l10n/es/files.po167
-rw-r--r--l10n/es/files_encryption.po70
-rw-r--r--l10n/es/files_versions.po18
-rw-r--r--l10n/es/lib.po57
-rw-r--r--l10n/es/settings.po73
-rw-r--r--l10n/es/user_ldap.po24
-rw-r--r--l10n/es/user_webdavauth.po22
-rw-r--r--l10n/es_AR/core.po128
-rw-r--r--l10n/es_AR/files.po165
-rw-r--r--l10n/es_AR/files_encryption.po68
-rw-r--r--l10n/es_AR/files_versions.po18
-rw-r--r--l10n/es_AR/lib.po57
-rw-r--r--l10n/es_AR/settings.po72
-rw-r--r--l10n/es_AR/user_ldap.po23
-rw-r--r--l10n/es_AR/user_webdavauth.po17
-rw-r--r--l10n/et_EE/core.po108
-rw-r--r--l10n/et_EE/files.po161
-rw-r--r--l10n/et_EE/files_encryption.po70
-rw-r--r--l10n/et_EE/files_versions.po18
-rw-r--r--l10n/et_EE/lib.po54
-rw-r--r--l10n/et_EE/settings.po48
-rw-r--r--l10n/et_EE/user_ldap.po20
-rw-r--r--l10n/et_EE/user_webdavauth.po14
-rw-r--r--l10n/eu/core.po113
-rw-r--r--l10n/eu/files.po164
-rw-r--r--l10n/eu/files_encryption.po70
-rw-r--r--l10n/eu/files_external.po16
-rw-r--r--l10n/eu/files_versions.po18
-rw-r--r--l10n/eu/lib.po55
-rw-r--r--l10n/eu/settings.po75
-rw-r--r--l10n/eu/user_ldap.po27
-rw-r--r--l10n/eu/user_webdavauth.po21
-rw-r--r--l10n/fa/core.po150
-rw-r--r--l10n/fa/files.po161
-rw-r--r--l10n/fa/files_encryption.po68
-rw-r--r--l10n/fa/files_versions.po18
-rw-r--r--l10n/fa/lib.po54
-rw-r--r--l10n/fa/settings.po48
-rw-r--r--l10n/fa/user_ldap.po20
-rw-r--r--l10n/fa/user_webdavauth.po14
-rw-r--r--l10n/fi_FI/core.po108
-rw-r--r--l10n/fi_FI/files.po165
-rw-r--r--l10n/fi_FI/files_encryption.po70
-rw-r--r--l10n/fi_FI/files_versions.po18
-rw-r--r--l10n/fi_FI/lib.po56
-rw-r--r--l10n/fi_FI/settings.po52
-rw-r--r--l10n/fi_FI/user_ldap.po20
-rw-r--r--l10n/fi_FI/user_webdavauth.po14
-rw-r--r--l10n/fr/core.po64
-rw-r--r--l10n/fr/files.po172
-rw-r--r--l10n/fr/files_encryption.po70
-rw-r--r--l10n/fr/files_external.po17
-rw-r--r--l10n/fr/files_versions.po18
-rw-r--r--l10n/fr/lib.po56
-rw-r--r--l10n/fr/settings.po55
-rw-r--r--l10n/fr/user_ldap.po30
-rw-r--r--l10n/fr/user_webdavauth.po25
-rw-r--r--l10n/gl/core.po219
-rw-r--r--l10n/gl/files.po167
-rw-r--r--l10n/gl/files_encryption.po68
-rw-r--r--l10n/gl/files_external.po18
-rw-r--r--l10n/gl/files_versions.po18
-rw-r--r--l10n/gl/lib.po58
-rw-r--r--l10n/gl/settings.po115
-rw-r--r--l10n/gl/user_ldap.po26
-rw-r--r--l10n/gl/user_webdavauth.po22
-rw-r--r--l10n/he/core.po89
-rw-r--r--l10n/he/files.po163
-rw-r--r--l10n/he/files_encryption.po71
-rw-r--r--l10n/he/files_versions.po18
-rw-r--r--l10n/he/lib.po56
-rw-r--r--l10n/he/settings.po69
-rw-r--r--l10n/he/user_ldap.po41
-rw-r--r--l10n/he/user_webdavauth.po14
-rw-r--r--l10n/hi/core.po108
-rw-r--r--l10n/hi/files.po157
-rw-r--r--l10n/hi/files_encryption.po70
-rw-r--r--l10n/hi/files_versions.po18
-rw-r--r--l10n/hi/lib.po54
-rw-r--r--l10n/hi/settings.po44
-rw-r--r--l10n/hi/user_ldap.po20
-rw-r--r--l10n/hi/user_webdavauth.po14
-rw-r--r--l10n/hr/core.po108
-rw-r--r--l10n/hr/files.po159
-rw-r--r--l10n/hr/files_encryption.po70
-rw-r--r--l10n/hr/files_versions.po18
-rw-r--r--l10n/hr/lib.po54
-rw-r--r--l10n/hr/settings.po48
-rw-r--r--l10n/hr/user_ldap.po22
-rw-r--r--l10n/hr/user_webdavauth.po14
-rw-r--r--l10n/hu/core.po565
-rw-r--r--l10n/hu/files.po307
-rw-r--r--l10n/hu/files_encryption.po34
-rw-r--r--l10n/hu/files_external.po120
-rw-r--r--l10n/hu/files_sharing.po48
-rw-r--r--l10n/hu/files_versions.po30
-rw-r--r--l10n/hu/lib.po156
-rw-r--r--l10n/hu/settings.po267
-rw-r--r--l10n/hu/user_ldap.po195
-rw-r--r--l10n/hu/user_webdavauth.po33
-rw-r--r--l10n/hu_HU/core.po416
-rw-r--r--l10n/hu_HU/files.po246
-rw-r--r--l10n/hu_HU/files_encryption.po72
-rw-r--r--l10n/hu_HU/files_external.po54
-rw-r--r--l10n/hu_HU/files_sharing.po30
-rw-r--r--l10n/hu_HU/files_versions.po24
-rw-r--r--l10n/hu_HU/lib.po94
-rw-r--r--l10n/hu_HU/settings.po125
-rw-r--r--l10n/hu_HU/user_ldap.po98
-rw-r--r--l10n/hu_HU/user_webdavauth.po16
-rw-r--r--l10n/ia/core.po108
-rw-r--r--l10n/ia/files.po157
-rw-r--r--l10n/ia/files_encryption.po70
-rw-r--r--l10n/ia/files_versions.po18
-rw-r--r--l10n/ia/lib.po54
-rw-r--r--l10n/ia/settings.po48
-rw-r--r--l10n/ia/user_ldap.po22
-rw-r--r--l10n/ia/user_webdavauth.po14
-rw-r--r--l10n/id/core.po110
-rw-r--r--l10n/id/files.po159
-rw-r--r--l10n/id/files_encryption.po68
-rw-r--r--l10n/id/files_versions.po18
-rw-r--r--l10n/id/lib.po67
-rw-r--r--l10n/id/settings.po48
-rw-r--r--l10n/id/user_ldap.po20
-rw-r--r--l10n/id/user_webdavauth.po14
-rw-r--r--l10n/is/core.po305
-rw-r--r--l10n/is/files.po276
-rw-r--r--l10n/is/files_encryption.po71
-rw-r--r--l10n/is/files_external.po61
-rw-r--r--l10n/is/files_sharing.po21
-rw-r--r--l10n/is/files_versions.po25
-rw-r--r--l10n/is/lib.po119
-rw-r--r--l10n/is/settings.po159
-rw-r--r--l10n/is/user_ldap.po27
-rw-r--r--l10n/is/user_webdavauth.po17
-rw-r--r--l10n/it/core.po90
-rw-r--r--l10n/it/files.po163
-rw-r--r--l10n/it/files_encryption.po70
-rw-r--r--l10n/it/files_versions.po18
-rw-r--r--l10n/it/lib.po56
-rw-r--r--l10n/it/settings.po54
-rw-r--r--l10n/it/user_ldap.po24
-rw-r--r--l10n/it/user_webdavauth.po18
-rw-r--r--l10n/ja_JP/core.po90
-rw-r--r--l10n/ja_JP/files.po163
-rw-r--r--l10n/ja_JP/files_encryption.po71
-rw-r--r--l10n/ja_JP/files_versions.po18
-rw-r--r--l10n/ja_JP/lib.po57
-rw-r--r--l10n/ja_JP/settings.po52
-rw-r--r--l10n/ja_JP/user_ldap.po24
-rw-r--r--l10n/ja_JP/user_webdavauth.po18
-rw-r--r--l10n/ka_GE/core.po108
-rw-r--r--l10n/ka_GE/files.po159
-rw-r--r--l10n/ka_GE/files_encryption.po68
-rw-r--r--l10n/ka_GE/files_versions.po18
-rw-r--r--l10n/ka_GE/lib.po54
-rw-r--r--l10n/ka_GE/settings.po48
-rw-r--r--l10n/ka_GE/user_ldap.po22
-rw-r--r--l10n/ka_GE/user_webdavauth.po14
-rw-r--r--l10n/ko/core.po127
-rw-r--r--l10n/ko/files.po165
-rw-r--r--l10n/ko/files_encryption.po68
-rw-r--r--l10n/ko/files_external.po17
-rw-r--r--l10n/ko/files_versions.po18
-rw-r--r--l10n/ko/lib.po56
-rw-r--r--l10n/ko/settings.po74
-rw-r--r--l10n/ko/user_ldap.po23
-rw-r--r--l10n/ko/user_webdavauth.po17
-rw-r--r--l10n/ku_IQ/core.po108
-rw-r--r--l10n/ku_IQ/files.po157
-rw-r--r--l10n/ku_IQ/files_encryption.po68
-rw-r--r--l10n/ku_IQ/files_versions.po18
-rw-r--r--l10n/ku_IQ/lib.po54
-rw-r--r--l10n/ku_IQ/settings.po44
-rw-r--r--l10n/ku_IQ/user_ldap.po22
-rw-r--r--l10n/ku_IQ/user_webdavauth.po14
-rw-r--r--l10n/lb/core.po108
-rw-r--r--l10n/lb/files.po159
-rw-r--r--l10n/lb/files_encryption.po70
-rw-r--r--l10n/lb/files_versions.po18
-rw-r--r--l10n/lb/lib.po58
-rw-r--r--l10n/lb/settings.po48
-rw-r--r--l10n/lb/user_ldap.po22
-rw-r--r--l10n/lb/user_webdavauth.po14
-rw-r--r--l10n/lt_LT/core.po110
-rw-r--r--l10n/lt_LT/files.po159
-rw-r--r--l10n/lt_LT/files_encryption.po70
-rw-r--r--l10n/lt_LT/files_versions.po18
-rw-r--r--l10n/lt_LT/lib.po54
-rw-r--r--l10n/lt_LT/settings.po48
-rw-r--r--l10n/lt_LT/user_ldap.po20
-rw-r--r--l10n/lt_LT/user_webdavauth.po14
-rw-r--r--l10n/lv/core.po108
-rw-r--r--l10n/lv/files.po159
-rw-r--r--l10n/lv/files_encryption.po70
-rw-r--r--l10n/lv/files_versions.po18
-rw-r--r--l10n/lv/lib.po54
-rw-r--r--l10n/lv/settings.po48
-rw-r--r--l10n/lv/user_ldap.po22
-rw-r--r--l10n/lv/user_webdavauth.po14
-rw-r--r--l10n/mk/core.po88
-rw-r--r--l10n/mk/files.po163
-rw-r--r--l10n/mk/files_encryption.po68
-rw-r--r--l10n/mk/files_external.po53
-rw-r--r--l10n/mk/files_versions.po18
-rw-r--r--l10n/mk/lib.po56
-rw-r--r--l10n/mk/settings.po50
-rw-r--r--l10n/mk/user_ldap.po27
-rw-r--r--l10n/mk/user_webdavauth.po17
-rw-r--r--l10n/ms_MY/core.po108
-rw-r--r--l10n/ms_MY/files.po159
-rw-r--r--l10n/ms_MY/files_encryption.po70
-rw-r--r--l10n/ms_MY/files_versions.po18
-rw-r--r--l10n/ms_MY/lib.po56
-rw-r--r--l10n/ms_MY/settings.po48
-rw-r--r--l10n/ms_MY/user_ldap.po22
-rw-r--r--l10n/ms_MY/user_webdavauth.po14
-rw-r--r--l10n/nb_NO/core.po121
-rw-r--r--l10n/nb_NO/files.po164
-rw-r--r--l10n/nb_NO/files_encryption.po70
-rw-r--r--l10n/nb_NO/files_versions.po18
-rw-r--r--l10n/nb_NO/lib.po65
-rw-r--r--l10n/nb_NO/settings.po67
-rw-r--r--l10n/nb_NO/user_ldap.po20
-rw-r--r--l10n/nb_NO/user_webdavauth.po17
-rw-r--r--l10n/nl/core.po56
-rw-r--r--l10n/nl/files.po166
-rw-r--r--l10n/nl/files_encryption.po70
-rw-r--r--l10n/nl/files_versions.po18
-rw-r--r--l10n/nl/lib.po57
-rw-r--r--l10n/nl/settings.po52
-rw-r--r--l10n/nl/user_ldap.po31
-rw-r--r--l10n/nl/user_webdavauth.po18
-rw-r--r--l10n/nn_NO/core.po108
-rw-r--r--l10n/nn_NO/files.po157
-rw-r--r--l10n/nn_NO/files_encryption.po70
-rw-r--r--l10n/nn_NO/files_versions.po18
-rw-r--r--l10n/nn_NO/lib.po54
-rw-r--r--l10n/nn_NO/settings.po46
-rw-r--r--l10n/nn_NO/user_ldap.po22
-rw-r--r--l10n/nn_NO/user_webdavauth.po14
-rw-r--r--l10n/oc/core.po108
-rw-r--r--l10n/oc/files.po159
-rw-r--r--l10n/oc/files_encryption.po68
-rw-r--r--l10n/oc/files_versions.po18
-rw-r--r--l10n/oc/lib.po54
-rw-r--r--l10n/oc/settings.po48
-rw-r--r--l10n/oc/user_ldap.po22
-rw-r--r--l10n/oc/user_webdavauth.po14
-rw-r--r--l10n/pl/core.po90
-rw-r--r--l10n/pl/files.po166
-rw-r--r--l10n/pl/files_encryption.po70
-rw-r--r--l10n/pl/files_versions.po18
-rw-r--r--l10n/pl/lib.po56
-rw-r--r--l10n/pl/settings.po79
-rw-r--r--l10n/pl/user_ldap.po24
-rw-r--r--l10n/pl/user_webdavauth.po19
-rw-r--r--l10n/pl_PL/core.po108
-rw-r--r--l10n/pl_PL/files.po157
-rw-r--r--l10n/pl_PL/files_encryption.po70
-rw-r--r--l10n/pl_PL/files_versions.po18
-rw-r--r--l10n/pl_PL/lib.po54
-rw-r--r--l10n/pl_PL/settings.po44
-rw-r--r--l10n/pl_PL/user_ldap.po20
-rw-r--r--l10n/pl_PL/user_webdavauth.po14
-rw-r--r--l10n/pt_BR/core.po110
-rw-r--r--l10n/pt_BR/files.po163
-rw-r--r--l10n/pt_BR/files_encryption.po68
-rw-r--r--l10n/pt_BR/files_versions.po18
-rw-r--r--l10n/pt_BR/lib.po56
-rw-r--r--l10n/pt_BR/settings.po53
-rw-r--r--l10n/pt_BR/user_ldap.po20
-rw-r--r--l10n/pt_BR/user_webdavauth.po14
-rw-r--r--l10n/pt_PT/core.po90
-rw-r--r--l10n/pt_PT/files.po164
-rw-r--r--l10n/pt_PT/files_encryption.po69
-rw-r--r--l10n/pt_PT/files_versions.po18
-rw-r--r--l10n/pt_PT/lib.po56
-rw-r--r--l10n/pt_PT/settings.po52
-rw-r--r--l10n/pt_PT/user_ldap.po24
-rw-r--r--l10n/pt_PT/user_webdavauth.po18
-rw-r--r--l10n/ro/core.po320
-rw-r--r--l10n/ro/files.po197
-rw-r--r--l10n/ro/files_encryption.po68
-rw-r--r--l10n/ro/files_versions.po18
-rw-r--r--l10n/ro/lib.po68
-rw-r--r--l10n/ro/settings.po89
-rw-r--r--l10n/ro/user_ldap.po29
-rw-r--r--l10n/ro/user_webdavauth.po17
-rw-r--r--l10n/ru/core.po113
-rw-r--r--l10n/ru/files.po164
-rw-r--r--l10n/ru/files_encryption.po70
-rw-r--r--l10n/ru/files_versions.po18
-rw-r--r--l10n/ru/lib.po56
-rw-r--r--l10n/ru/settings.po75
-rw-r--r--l10n/ru/user_ldap.po24
-rw-r--r--l10n/ru/user_webdavauth.po17
-rw-r--r--l10n/ru_RU/core.po54
-rw-r--r--l10n/ru_RU/files.po163
-rw-r--r--l10n/ru_RU/files_encryption.po68
-rw-r--r--l10n/ru_RU/files_versions.po18
-rw-r--r--l10n/ru_RU/lib.po56
-rw-r--r--l10n/ru_RU/settings.po50
-rw-r--r--l10n/ru_RU/user_ldap.po24
-rw-r--r--l10n/ru_RU/user_webdavauth.po16
-rw-r--r--l10n/si_LK/core.po108
-rw-r--r--l10n/si_LK/files.po159
-rw-r--r--l10n/si_LK/files_encryption.po68
-rw-r--r--l10n/si_LK/files_versions.po18
-rw-r--r--l10n/si_LK/lib.po54
-rw-r--r--l10n/si_LK/settings.po48
-rw-r--r--l10n/si_LK/user_ldap.po20
-rw-r--r--l10n/si_LK/user_webdavauth.po14
-rw-r--r--l10n/sk_SK/core.po129
-rw-r--r--l10n/sk_SK/files.po164
-rw-r--r--l10n/sk_SK/files_encryption.po68
-rw-r--r--l10n/sk_SK/files_versions.po18
-rw-r--r--l10n/sk_SK/lib.po56
-rw-r--r--l10n/sk_SK/settings.po73
-rw-r--r--l10n/sk_SK/user_ldap.po20
-rw-r--r--l10n/sk_SK/user_webdavauth.po19
-rw-r--r--l10n/sl/core.po88
-rw-r--r--l10n/sl/files.po163
-rw-r--r--l10n/sl/files_encryption.po68
-rw-r--r--l10n/sl/files_versions.po18
-rw-r--r--l10n/sl/lib.po56
-rw-r--r--l10n/sl/settings.po74
-rw-r--r--l10n/sl/user_ldap.po24
-rw-r--r--l10n/sl/user_webdavauth.po18
-rw-r--r--l10n/sq/core.po108
-rw-r--r--l10n/sq/files.po157
-rw-r--r--l10n/sq/files_versions.po18
-rw-r--r--l10n/sq/lib.po56
-rw-r--r--l10n/sq/settings.po44
-rw-r--r--l10n/sq/user_ldap.po20
-rw-r--r--l10n/sq/user_webdavauth.po14
-rw-r--r--l10n/sr/core.po164
-rw-r--r--l10n/sr/files.po163
-rw-r--r--l10n/sr/files_encryption.po68
-rw-r--r--l10n/sr/files_sharing.po18
-rw-r--r--l10n/sr/files_versions.po18
-rw-r--r--l10n/sr/lib.po58
-rw-r--r--l10n/sr/settings.po48
-rw-r--r--l10n/sr/user_ldap.po22
-rw-r--r--l10n/sr/user_webdavauth.po14
-rw-r--r--l10n/sr@latin/core.po108
-rw-r--r--l10n/sr@latin/files.po157
-rw-r--r--l10n/sr@latin/files_encryption.po70
-rw-r--r--l10n/sr@latin/files_versions.po18
-rw-r--r--l10n/sr@latin/lib.po54
-rw-r--r--l10n/sr@latin/settings.po44
-rw-r--r--l10n/sr@latin/user_ldap.po22
-rw-r--r--l10n/sr@latin/user_webdavauth.po14
-rw-r--r--l10n/sv/core.po56
-rw-r--r--l10n/sv/files.po163
-rw-r--r--l10n/sv/files_encryption.po70
-rw-r--r--l10n/sv/files_versions.po18
-rw-r--r--l10n/sv/lib.po56
-rw-r--r--l10n/sv/settings.po51
-rw-r--r--l10n/sv/user_ldap.po24
-rw-r--r--l10n/sv/user_webdavauth.po18
-rw-r--r--l10n/ta_LK/core.po110
-rw-r--r--l10n/ta_LK/files.po161
-rw-r--r--l10n/ta_LK/files_encryption.po68
-rw-r--r--l10n/ta_LK/files_versions.po18
-rw-r--r--l10n/ta_LK/lib.po56
-rw-r--r--l10n/ta_LK/settings.po48
-rw-r--r--l10n/ta_LK/user_ldap.po20
-rw-r--r--l10n/ta_LK/user_webdavauth.po14
-rw-r--r--l10n/templates/core.pot206
-rw-r--r--l10n/templates/files.pot155
-rw-r--r--l10n/templates/files_encryption.pot64
-rw-r--r--l10n/templates/files_external.pot2
-rw-r--r--l10n/templates/files_sharing.pot12
-rw-r--r--l10n/templates/files_versions.pot14
-rw-r--r--l10n/templates/lib.pot44
-rw-r--r--l10n/templates/settings.pot48
-rw-r--r--l10n/templates/user_ldap.pot18
-rw-r--r--l10n/templates/user_webdavauth.pot11
-rw-r--r--l10n/th_TH/core.po170
-rw-r--r--l10n/th_TH/files.po163
-rw-r--r--l10n/th_TH/files_encryption.po70
-rw-r--r--l10n/th_TH/files_external.po18
-rw-r--r--l10n/th_TH/files_versions.po18
-rw-r--r--l10n/th_TH/lib.po56
-rw-r--r--l10n/th_TH/settings.po78
-rw-r--r--l10n/th_TH/user_ldap.po28
-rw-r--r--l10n/th_TH/user_webdavauth.po22
-rw-r--r--l10n/tr/core.po261
-rw-r--r--l10n/tr/files.po184
-rw-r--r--l10n/tr/files_encryption.po71
-rw-r--r--l10n/tr/files_external.po35
-rw-r--r--l10n/tr/files_versions.po25
-rw-r--r--l10n/tr/lib.po108
-rw-r--r--l10n/tr/settings.po70
-rw-r--r--l10n/tr/user_ldap.po59
-rw-r--r--l10n/tr/user_webdavauth.po17
-rw-r--r--l10n/uk/core.po111
-rw-r--r--l10n/uk/files.po163
-rw-r--r--l10n/uk/files_encryption.po68
-rw-r--r--l10n/uk/files_versions.po18
-rw-r--r--l10n/uk/lib.po57
-rw-r--r--l10n/uk/settings.po50
-rw-r--r--l10n/uk/user_ldap.po24
-rw-r--r--l10n/uk/user_webdavauth.po18
-rw-r--r--l10n/vi/core.po110
-rw-r--r--l10n/vi/files.po161
-rw-r--r--l10n/vi/files_encryption.po68
-rw-r--r--l10n/vi/files_versions.po18
-rw-r--r--l10n/vi/lib.po56
-rw-r--r--l10n/vi/settings.po48
-rw-r--r--l10n/vi/user_ldap.po20
-rw-r--r--l10n/vi/user_webdavauth.po14
-rw-r--r--l10n/zh_CN.GB2312/core.po110
-rw-r--r--l10n/zh_CN.GB2312/files.po159
-rw-r--r--l10n/zh_CN.GB2312/files_encryption.po68
-rw-r--r--l10n/zh_CN.GB2312/files_versions.po18
-rw-r--r--l10n/zh_CN.GB2312/lib.po54
-rw-r--r--l10n/zh_CN.GB2312/settings.po48
-rw-r--r--l10n/zh_CN.GB2312/user_ldap.po20
-rw-r--r--l10n/zh_CN.GB2312/user_webdavauth.po14
-rw-r--r--l10n/zh_CN/core.po57
-rw-r--r--l10n/zh_CN/files.po165
-rw-r--r--l10n/zh_CN/files_encryption.po68
-rw-r--r--l10n/zh_CN/files_versions.po18
-rw-r--r--l10n/zh_CN/lib.po56
-rw-r--r--l10n/zh_CN/settings.po50
-rw-r--r--l10n/zh_CN/user_ldap.po25
-rw-r--r--l10n/zh_CN/user_webdavauth.po20
-rw-r--r--l10n/zh_HK/core.po108
-rw-r--r--l10n/zh_HK/files.po157
-rw-r--r--l10n/zh_HK/files_encryption.po68
-rw-r--r--l10n/zh_HK/files_versions.po18
-rw-r--r--l10n/zh_HK/lib.po56
-rw-r--r--l10n/zh_HK/settings.po44
-rw-r--r--l10n/zh_HK/user_ldap.po20
-rw-r--r--l10n/zh_HK/user_webdavauth.po14
-rw-r--r--l10n/zh_TW/core.po195
-rw-r--r--l10n/zh_TW/files.po199
-rw-r--r--l10n/zh_TW/files_encryption.po70
-rw-r--r--l10n/zh_TW/files_sharing.po9
-rw-r--r--l10n/zh_TW/files_versions.po18
-rw-r--r--l10n/zh_TW/lib.po69
-rw-r--r--l10n/zh_TW/settings.po73
-rw-r--r--l10n/zh_TW/user_ldap.po24
-rw-r--r--l10n/zh_TW/user_webdavauth.po14
-rw-r--r--l10n/zu_ZA/core.po108
-rw-r--r--l10n/zu_ZA/files.po157
-rw-r--r--l10n/zu_ZA/files_versions.po18
-rw-r--r--l10n/zu_ZA/lib.po54
-rw-r--r--l10n/zu_ZA/settings.po44
-rw-r--r--l10n/zu_ZA/user_ldap.po20
-rw-r--r--l10n/zu_ZA/user_webdavauth.po14
-rw-r--r--lib/MDB2/Driver/sqlite3.php2
-rw-r--r--lib/api.php204
-rw-r--r--[-rwxr-xr-x]lib/app.php122
-rw-r--r--lib/backgroundjob.php2
-rw-r--r--lib/base.php1467
-rw-r--r--lib/cache/apc.php2
-rw-r--r--lib/connector/sabre/ServiceUnavailable.php22
-rw-r--r--lib/connector/sabre/client.php173
-rw-r--r--lib/connector/sabre/maintenanceplugin.php56
-rw-r--r--lib/connector/sabre/node.php6
-rw-r--r--lib/db.php46
-rw-r--r--lib/filecache.php15
-rw-r--r--lib/fileproxy/quota.php2
-rw-r--r--lib/files.php2
-rw-r--r--lib/filestorage.php2
-rw-r--r--lib/filestorage/local.php45
-rw-r--r--lib/filesystem.php14
-rw-r--r--lib/filesystemview.php44
-rw-r--r--lib/helper.php138
-rw-r--r--lib/image.php2
-rw-r--r--lib/json.php21
-rw-r--r--lib/l10n.php18
-rw-r--r--lib/l10n/bg_BG.php34
-rw-r--r--lib/l10n/bn_BD.php29
-rw-r--r--lib/l10n/ca.php1
-rw-r--r--lib/l10n/cs_CZ.php1
-rw-r--r--lib/l10n/de.php1
-rw-r--r--lib/l10n/de_DE.php1
-rw-r--r--lib/l10n/el.php1
-rw-r--r--lib/l10n/es.php1
-rw-r--r--lib/l10n/es_AR.php1
-rw-r--r--lib/l10n/eu.php1
-rw-r--r--lib/l10n/fi_FI.php1
-rw-r--r--lib/l10n/fr.php1
-rw-r--r--lib/l10n/gl.php1
-rw-r--r--lib/l10n/hu_HU.php29
-rw-r--r--lib/l10n/id.php8
-rw-r--r--lib/l10n/is.php34
-rw-r--r--lib/l10n/it.php1
-rw-r--r--lib/l10n/ja_JP.php1
-rw-r--r--lib/l10n/lb.php2
-rw-r--r--lib/l10n/ms_MY.php1
-rw-r--r--lib/l10n/nb_NO.php8
-rw-r--r--lib/l10n/nl.php1
-rw-r--r--lib/l10n/pt_PT.php1
-rw-r--r--lib/l10n/ro.php8
-rw-r--r--lib/l10n/sr.php1
-rw-r--r--lib/l10n/sv.php1
-rw-r--r--lib/l10n/th_TH.php1
-rw-r--r--lib/l10n/tr.php28
-rw-r--r--lib/l10n/uk.php1
-rw-r--r--lib/l10n/zh_TW.php13
-rw-r--r--lib/log.php4
-rw-r--r--lib/mail.php24
-rw-r--r--lib/migrate.php4
-rw-r--r--lib/migration/content.php2
-rw-r--r--lib/mimetypes.list.php2
-rw-r--r--lib/ocs.php488
-rw-r--r--lib/ocs/activity.php28
-rw-r--r--lib/ocs/cloud.php98
-rw-r--r--lib/ocs/config.php36
-rw-r--r--lib/ocs/person.php42
-rw-r--r--lib/ocs/privatedata.php66
-rw-r--r--lib/ocs/result.php75
-rw-r--r--lib/ocsclient.php14
-rw-r--r--lib/public/api.php44
-rw-r--r--lib/public/app.php7
-rw-r--r--lib/public/constants.php1
-rw-r--r--lib/public/db.php14
-rw-r--r--lib/public/files.php3
-rw-r--r--lib/public/response.php32
-rw-r--r--lib/public/share.php586
-rw-r--r--lib/public/user.php6
-rw-r--r--lib/public/util.php130
-rwxr-xr-xlib/request.php4
-rw-r--r--lib/router.php6
-rw-r--r--lib/setup.php46
-rw-r--r--lib/subadmin.php7
-rw-r--r--lib/template.php34
-rw-r--r--lib/templatelayout.php17
-rw-r--r--lib/user.php18
-rwxr-xr-xlib/util.php211
-rw-r--r--lib/vcategories.php1
-rw-r--r--ocs/routes.php20
-rw-r--r--ocs/v1.php15
-rwxr-xr-xsettings/admin.php10
-rw-r--r--settings/ajax/changepassword.php6
-rw-r--r--settings/ajax/createuser.php4
-rw-r--r--settings/ajax/disableapp.php1
-rw-r--r--settings/ajax/enableapp.php1
-rw-r--r--settings/ajax/openid.php16
-rw-r--r--settings/ajax/removeuser.php2
-rw-r--r--settings/ajax/setquota.php2
-rw-r--r--settings/ajax/setsecurity.php13
-rw-r--r--settings/ajax/togglegroups.php8
-rw-r--r--settings/ajax/userlist.php2
-rw-r--r--settings/apps.php92
-rw-r--r--settings/css/oauth.css4
-rw-r--r--settings/css/settings.css2
-rw-r--r--settings/help.php2
-rw-r--r--settings/js/admin.js4
-rw-r--r--settings/js/apps-custom.php26
-rw-r--r--settings/js/isadmin.php20
-rw-r--r--settings/js/users.js20
-rw-r--r--settings/l10n/ar.php5
-rw-r--r--settings/l10n/bg_BG.php27
-rw-r--r--settings/l10n/bn_BD.php62
-rw-r--r--settings/l10n/ca.php11
-rw-r--r--settings/l10n/cs_CZ.php9
-rw-r--r--settings/l10n/da.php9
-rw-r--r--settings/l10n/de.php9
-rw-r--r--settings/l10n/de_DE.php9
-rw-r--r--settings/l10n/el.php9
-rw-r--r--settings/l10n/eo.php21
-rw-r--r--settings/l10n/es.php21
-rw-r--r--settings/l10n/es_AR.php21
-rw-r--r--settings/l10n/et_EE.php5
-rw-r--r--settings/l10n/eu.php21
-rw-r--r--settings/l10n/fa.php5
-rw-r--r--settings/l10n/fi_FI.php7
-rw-r--r--settings/l10n/fr.php11
-rw-r--r--settings/l10n/gl.php61
-rw-r--r--settings/l10n/he.php15
-rw-r--r--settings/l10n/hr.php5
-rw-r--r--settings/l10n/hu_HU.php59
-rw-r--r--settings/l10n/ia.php5
-rw-r--r--settings/l10n/id.php5
-rw-r--r--settings/l10n/is.php62
-rw-r--r--settings/l10n/it.php11
-rw-r--r--settings/l10n/ja_JP.php9
-rw-r--r--settings/l10n/ka_GE.php5
-rw-r--r--settings/l10n/ko.php21
-rw-r--r--settings/l10n/lb.php5
-rw-r--r--settings/l10n/lt_LT.php5
-rw-r--r--settings/l10n/lv.php5
-rw-r--r--settings/l10n/mk.php5
-rw-r--r--settings/l10n/ms_MY.php5
-rw-r--r--settings/l10n/nb_NO.php14
-rw-r--r--settings/l10n/nl.php9
-rw-r--r--settings/l10n/nn_NO.php4
-rw-r--r--settings/l10n/oc.php5
-rw-r--r--settings/l10n/pl.php23
-rw-r--r--settings/l10n/pt_BR.php7
-rw-r--r--settings/l10n/pt_PT.php9
-rw-r--r--settings/l10n/ro.php24
-rw-r--r--settings/l10n/ru.php21
-rw-r--r--settings/l10n/ru_RU.php5
-rw-r--r--settings/l10n/si_LK.php5
-rw-r--r--settings/l10n/sk_SK.php20
-rw-r--r--settings/l10n/sl.php21
-rw-r--r--settings/l10n/sr.php5
-rw-r--r--settings/l10n/sr@latin.php3
-rw-r--r--settings/l10n/sv.php9
-rw-r--r--settings/l10n/ta_LK.php5
-rw-r--r--settings/l10n/th_TH.php22
-rw-r--r--settings/l10n/tr.php16
-rw-r--r--settings/l10n/uk.php9
-rw-r--r--settings/l10n/vi.php5
-rw-r--r--settings/l10n/zh_CN.GB2312.php5
-rw-r--r--settings/l10n/zh_CN.php9
-rw-r--r--settings/l10n/zh_TW.php21
-rw-r--r--settings/oauth.php98
-rw-r--r--settings/personal.php16
-rw-r--r--settings/routes.php10
-rw-r--r--settings/settings.php1
-rw-r--r--settings/templates/admin.php261
-rw-r--r--settings/templates/apps.php13
-rw-r--r--settings/templates/help.php35
-rw-r--r--settings/templates/oauth-required-apps.php19
-rw-r--r--settings/templates/oauth.php20
-rw-r--r--settings/templates/personal.php2
-rw-r--r--settings/templates/users.php37
-rw-r--r--settings/users.php33
-rw-r--r--tests/bootstrap.php19
-rw-r--r--tests/enable_all.php3
-rw-r--r--tests/lib/archive.php36
-rw-r--r--tests/lib/cache.php10
-rw-r--r--tests/lib/db.php40
-rw-r--r--tests/lib/dbschema.php2
-rw-r--r--tests/lib/filestorage.php50
-rw-r--r--tests/lib/filestorage/commontest.php1
-rw-r--r--tests/lib/filestorage/local.php1
-rw-r--r--tests/lib/filesystem.php42
-rw-r--r--tests/lib/geo.php2
-rw-r--r--tests/lib/group.php56
-rw-r--r--tests/lib/group/backend.php20
-rw-r--r--tests/lib/helper.php2
-rw-r--r--tests/lib/share/share.php2
-rw-r--r--tests/lib/streamwrappers.php10
-rw-r--r--tests/lib/template.php14
-rw-r--r--tests/lib/user/backend.php8
-rw-r--r--tests/lib/util.php2
-rw-r--r--tests/lib/vcategories.php22
-rw-r--r--tests/phpunit.xml3
1159 files changed, 50855 insertions, 20573 deletions
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
new file mode 100644
index 00000000000..1021eae0f64
--- /dev/null
+++ b/CONTRIBUTING.md
@@ -0,0 +1,37 @@
+## Submitting issues
+
+If you have questions about how to use ownCloud, please direct these to the [mailing list][mailinglist] or our [forum][forum]. We are also available on [IRC][irc].
+
+### Guidelines
+* Report the issue using our [template][template], it includes all the informations we need to track down the issue.
+* This repository is *only* for issues within the ownCloud core code. Issues in other compontents should be reported in their own repositores:
+ - [Android client](https://github.com/owncloud/android/issues)
+ - [iOS client](https://github.com/owncloud/ios-issues/issues)
+ - [Desktop client](https://github.com/owncloud/mirall/issues)
+ - [ownCloud apps](https://github.com/owncloud/apps/issues) (e.g. Calendar, Contacts...)
+* Search the existing issues first, it's likely that your issue was already reported.
+
+If your issue appears to be a bug, and hasn't been reported, open a new issue.
+
+Help us to maximize the effort we can spend fixing issues and adding new features, by not reporting duplicate issues.
+
+[template]: https://raw.github.com/owncloud/core/master/issue_template.md
+[mailinglist]: https://mail.kde.org/mailman/listinfo/owncloud
+[forum]: http://forum.owncloud.org/
+[irc]: http://webchat.freenode.net/?channels=owncloud&uio=d4
+
+## Contributing to Source Code
+
+Thanks for wanting to contribute source code to ownCloud. That's great!
+
+Before we're able to merge your code into the ownCloud core, you need to sign our [Contributor Agreement][agreement].
+
+Please read the [Developer Manuals][devmanual] to get useful infos like how to create your first application or how to test the ownCloud code with phpunit.
+
+[agreement]: http://owncloud.org/about/contributor-agreement/
+[devmanual]: http://owncloud.org/dev/
+
+## Translations
+Please submit translations via [Transifex][transifex].
+
+[transifex]: https://www.transifex.com/projects/p/owncloud/
diff --git a/apps/files/admin.php b/apps/files/admin.php
index 80fd4f4e4a5..f747f8645f6 100644
--- a/apps/files/admin.php
+++ b/apps/files/admin.php
@@ -30,11 +30,8 @@ OCP\User::checkAdminUser();
$htaccessWorking=(getenv('htaccessWorking')=='true');
$upload_max_filesize = OCP\Util::computerFileSize(ini_get('upload_max_filesize'));
-$upload_max_filesize_possible = OCP\Util::computerFileSize(get_cfg_var('upload_max_filesize'));
$post_max_size = OCP\Util::computerFileSize(ini_get('post_max_size'));
-$post_max_size_possible = OCP\Util::computerFileSize(get_cfg_var('post_max_size'));
$maxUploadFilesize = OCP\Util::humanFileSize(min($upload_max_filesize, $post_max_size));
-$maxUploadFilesizePossible = OCP\Util::humanFileSize(min($upload_max_filesize_possible, $post_max_size_possible));
if($_POST && OC_Util::isCallRegistered()) {
if(isset($_POST['maxUploadSize'])) {
if(($setMaxSize = OC_Files::setUploadLimit(OCP\Util::computerFileSize($_POST['maxUploadSize']))) !== false) {
@@ -60,7 +57,9 @@ $htaccessWritable=is_writable(OC::$SERVERROOT.'/.htaccess');
$tmpl = new OCP\Template( 'files', 'admin' );
$tmpl->assign( 'uploadChangable', $htaccessWorking and $htaccessWritable );
$tmpl->assign( 'uploadMaxFilesize', $maxUploadFilesize);
-$tmpl->assign( 'maxPossibleUploadSize', $maxUploadFilesizePossible);
+// max possible makes only sense on a 32 bit system
+$tmpl->assign( 'displayMaxPossibleUploadSize', PHP_INT_SIZE===4);
+$tmpl->assign( 'maxPossibleUploadSize', OCP\Util::humanFileSize(PHP_INT_MAX));
$tmpl->assign( 'allowZipDownload', $allowZipDownload);
$tmpl->assign( 'maxZipInputSize', $maxZipInputSize);
return $tmpl->fetchPage();
diff --git a/apps/files/ajax/autocomplete.php b/apps/files/ajax/autocomplete.php
deleted file mode 100644
index b32ba7c3d5b..00000000000
--- a/apps/files/ajax/autocomplete.php
+++ /dev/null
@@ -1,54 +0,0 @@
-<?php
-//provide auto completion of paths for use with jquer ui autocomplete
-
-
-// Init owncloud
-
-
-OCP\JSON::checkLoggedIn();
-
-// Get data
-$query = $_GET['term'];
-$dirOnly=(isset($_GET['dironly']))?($_GET['dironly']=='true'):false;
-
-if($query[0]!='/') {
- $query='/'.$query;
-}
-
-if(substr($query, -1, 1)=='/') {
- $base=$query;
-} else {
- $base=dirname($query);
-}
-
-$query=substr($query, strlen($base));
-
-if($base!='/') {
- $query=substr($query, 1);
-}
-$queryLen=strlen($query);
-$query=strtolower($query);
-
-// echo "$base - $query";
-
-$files=array();
-
-if(OC_Filesystem::file_exists($base) and OC_Filesystem::is_dir($base)) {
- $dh = OC_Filesystem::opendir($base);
- if($dh) {
- if(substr($base, -1, 1)!='/') {
- $base=$base.'/';
- }
- while (($file = readdir($dh)) !== false) {
- if ($file != "." && $file != "..") {
- if(substr(strtolower($file), 0, $queryLen)==$query) {
- $item=$base.$file;
- if((!$dirOnly or OC_Filesystem::is_dir($item))) {
- $files[]=(object)array('id'=>$item, 'label'=>$item, 'name'=>$item);
- }
- }
- }
- }
- }
-}
-OCP\JSON::encodedPrint($files);
diff --git a/apps/files/ajax/delete.php b/apps/files/ajax/delete.php
index 6532b76df21..575b8c8d9ea 100644
--- a/apps/files/ajax/delete.php
+++ b/apps/files/ajax/delete.php
@@ -14,15 +14,18 @@ $files = json_decode($files);
$filesWithError = '';
$success = true;
//Now delete
-foreach($files as $file) {
- if( !OC_Files::delete( $dir, $file )) {
+foreach ($files as $file) {
+ if (!OC_Files::delete($dir, $file)) {
$filesWithError .= $file . "\n";
$success = false;
}
}
-if($success) {
- OCP\JSON::success(array("data" => array( "dir" => $dir, "files" => $files )));
+// get array with updated storage stats (e.g. max file size) after upload
+$storageStats = \OCA\files\lib\Helper::buildFileStorageStatistics($dir);
+
+if ($success) {
+ OCP\JSON::success(array("data" => array_merge(array("dir" => $dir, "files" => $files), $storageStats)));
} else {
- OCP\JSON::error(array("data" => array( "message" => "Could not delete:\n" . $filesWithError )));
+ OCP\JSON::error(array("data" => array_merge(array("message" => "Could not delete:\n" . $filesWithError), $storageStats)));
}
diff --git a/apps/files/ajax/getstoragestats.php b/apps/files/ajax/getstoragestats.php
new file mode 100644
index 00000000000..7a2b642a9bd
--- /dev/null
+++ b/apps/files/ajax/getstoragestats.php
@@ -0,0 +1,9 @@
+<?php
+
+// only need filesystem apps
+$RUNTIME_APPTYPES = array('filesystem');
+
+OCP\JSON::checkLoggedIn();
+
+// send back json
+OCP\JSON::success(array('data' => \OCA\files\lib\Helper::buildFileStorageStatistics('/')));
diff --git a/apps/files/ajax/move.php b/apps/files/ajax/move.php
index 5612716b7e4..4ebc3f42d9f 100644
--- a/apps/files/ajax/move.php
+++ b/apps/files/ajax/move.php
@@ -11,14 +11,15 @@ $dir = stripslashes($_GET["dir"]);
$file = stripslashes($_GET["file"]);
$target = stripslashes(rawurldecode($_GET["target"]));
+$l=OC_L10N::get('files');
if(OC_Filesystem::file_exists($target . '/' . $file)) {
- OCP\JSON::error(array("data" => array( "message" => "Could not move $file - File with this name already exists" )));
+ OCP\JSON::error(array("data" => array( "message" => $l->t("Could not move %s - File with this name already exists", array($file)) )));
exit;
}
if(OC_Files::move($dir, $file, $target, $file)) {
OCP\JSON::success(array("data" => array( "dir" => $dir, "files" => $file )));
} else {
- OCP\JSON::error(array("data" => array( "message" => "Could not move $file" )));
+ OCP\JSON::error(array("data" => array( "message" => $l->t("Could not move %s", array($file)) )));
}
diff --git a/apps/files/ajax/rename.php b/apps/files/ajax/rename.php
index 45448279fa1..89b4d4bba73 100644
--- a/apps/files/ajax/rename.php
+++ b/apps/files/ajax/rename.php
@@ -12,9 +12,9 @@ $file = stripslashes($_GET["file"]);
$newname = stripslashes($_GET["newname"]);
// Delete
-if( OC_Files::move( $dir, $file, $dir, $newname )) {
+if( $newname !== '.' and OC_Files::move( $dir, $file, $dir, $newname )) {
OCP\JSON::success(array("data" => array( "dir" => $dir, "file" => $file, "newname" => $newname )));
-}
-else{
- OCP\JSON::error(array("data" => array( "message" => "Unable to rename file" )));
+} else {
+ $l=OC_L10N::get('files');
+ OCP\JSON::error(array("data" => array( "message" => $l->t("Unable to rename file") )));
}
diff --git a/apps/files/ajax/scan.php b/apps/files/ajax/scan.php
index 5cd9572d7f9..a819578e309 100644
--- a/apps/files/ajax/scan.php
+++ b/apps/files/ajax/scan.php
@@ -6,13 +6,14 @@ $force=isset($_GET['force']) and $_GET['force']=='true';
$dir=isset($_GET['dir'])?$_GET['dir']:'';
$checkOnly=isset($_GET['checkonly']) and $_GET['checkonly']=='true';
+$eventSource=false;
if(!$checkOnly) {
$eventSource=new OC_EventSource();
}
session_write_close();
-//create the file cache if necesary
+//create the file cache if necessary
if($force or !OC_FileCache::inCache('')) {
if(!$checkOnly) {
OCP\DB::beginTransaction();
diff --git a/apps/files/ajax/upload.php b/apps/files/ajax/upload.php
index e7823bc4ffb..415524be629 100644
--- a/apps/files/ajax/upload.php
+++ b/apps/files/ajax/upload.php
@@ -8,64 +8,73 @@ OCP\JSON::setContentTypeHeader('text/plain');
OCP\JSON::checkLoggedIn();
OCP\JSON::callCheck();
+$l = OC_L10N::get('files');
+
+// get array with current storage stats (e.g. max file size)
+$storageStats = \OCA\files\lib\Helper::buildFileStorageStatistics($dir);
if (!isset($_FILES['files'])) {
- OCP\JSON::error(array('data' => array( 'message' => 'No file was uploaded. Unknown error' )));
+ OCP\JSON::error(array('data' => array_merge(array('message' => $l->t('No file was uploaded. Unknown error')), $storageStats)));
exit();
}
+
foreach ($_FILES['files']['error'] as $error) {
if ($error != 0) {
- $l=OC_L10N::get('files');
$errors = array(
- UPLOAD_ERR_OK=>$l->t('There is no error, the file uploaded with success'),
- UPLOAD_ERR_INI_SIZE=>$l->t('The uploaded file exceeds the upload_max_filesize directive in php.ini: ')
- .ini_get('upload_max_filesize'),
- UPLOAD_ERR_FORM_SIZE=>$l->t('The uploaded file exceeds the MAX_FILE_SIZE directive that was specified'
- .' in the HTML form'),
- UPLOAD_ERR_PARTIAL=>$l->t('The uploaded file was only partially uploaded'),
- UPLOAD_ERR_NO_FILE=>$l->t('No file was uploaded'),
- UPLOAD_ERR_NO_TMP_DIR=>$l->t('Missing a temporary folder'),
- UPLOAD_ERR_CANT_WRITE=>$l->t('Failed to write to disk'),
+ UPLOAD_ERR_OK => $l->t('There is no error, the file uploaded with success'),
+ UPLOAD_ERR_INI_SIZE => $l->t('The uploaded file exceeds the upload_max_filesize directive in php.ini: ')
+ . ini_get('upload_max_filesize'),
+ UPLOAD_ERR_FORM_SIZE => $l->t('The uploaded file exceeds the MAX_FILE_SIZE directive that was specified'
+ . ' in the HTML form'),
+ UPLOAD_ERR_PARTIAL => $l->t('The uploaded file was only partially uploaded'),
+ UPLOAD_ERR_NO_FILE => $l->t('No file was uploaded'),
+ UPLOAD_ERR_NO_TMP_DIR => $l->t('Missing a temporary folder'),
+ UPLOAD_ERR_CANT_WRITE => $l->t('Failed to write to disk'),
);
- OCP\JSON::error(array('data' => array( 'message' => $errors[$error] )));
+ OCP\JSON::error(array('data' => array_merge(array('message' => $errors[$error]), $storageStats)));
exit();
}
}
-$files=$_FILES['files'];
+$files = $_FILES['files'];
$dir = $_POST['dir'];
-$error='';
+$error = '';
-$totalSize=0;
-foreach($files['size'] as $size) {
- $totalSize+=$size;
+$totalSize = 0;
+foreach ($files['size'] as $size) {
+ $totalSize += $size;
}
-if($totalSize>OC_Filesystem::free_space($dir)) {
- OCP\JSON::error(array('data' => array( 'message' => 'Not enough space available' )));
+if ($totalSize > OC_Filesystem::free_space($dir)) {
+ OCP\JSON::error(array('data' => array_merge(array('message' => $l->t('Not enough storage available')), $storageStats)));
exit();
}
-$result=array();
-if(strpos($dir, '..') === false) {
- $fileCount=count($files['name']);
- for($i=0;$i<$fileCount;$i++) {
+$result = array();
+if (strpos($dir, '..') === false) {
+ $fileCount = count($files['name']);
+ for ($i = 0; $i < $fileCount; $i++) {
$target = OCP\Files::buildNotExistingFileName(stripslashes($dir), $files['name'][$i]);
// $path needs to be normalized - this failed within drag'n'drop upload to a sub-folder
$target = OC_Filesystem::normalizePath($target);
- if(is_uploaded_file($files['tmp_name'][$i]) and OC_Filesystem::fromTmpFile($files['tmp_name'][$i], $target)) {
+ if (is_uploaded_file($files['tmp_name'][$i]) and OC_Filesystem::fromTmpFile($files['tmp_name'][$i], $target)) {
$meta = OC_FileCache::get($target);
$id = OC_FileCache::getId($target);
- $result[]=array( 'status' => 'success',
- 'mime'=>$meta['mimetype'],
- 'size'=>$meta['size'],
- 'id'=>$id,
- 'name'=>basename($target));
+
+ // updated max file size after upload
+ $storageStats = \OCA\files\lib\Helper::buildFileStorageStatistics($dir);
+
+ $result[] = array_merge(array('status' => 'success',
+ 'mime' => $meta['mimetype'],
+ 'size' => $meta['size'],
+ 'id' => $id,
+ 'name' => basename($target)), $storageStats
+ );
}
}
OCP\JSON::encodedPrint($result);
exit();
} else {
- $error='invalid dir';
+ $error = $l->t('Invalid directory.');
}
-OCP\JSON::error(array('data' => array('error' => $error, 'file' => $fileName)));
+OCP\JSON::error(array('data' => array_merge(array('message' => $error), $storageStats)));
diff --git a/apps/files/appinfo/remote.php b/apps/files/appinfo/remote.php
index 1713bcc22ce..6a78a1e0d75 100644
--- a/apps/files/appinfo/remote.php
+++ b/apps/files/appinfo/remote.php
@@ -45,6 +45,7 @@ $server->addPlugin(new Sabre_DAV_Auth_Plugin($authBackend, 'ownCloud'));
$server->addPlugin(new Sabre_DAV_Locks_Plugin($lockBackend));
$server->addPlugin(new Sabre_DAV_Browser_Plugin(false)); // Show something in the Browser, but no upload
$server->addPlugin(new OC_Connector_Sabre_QuotaPlugin());
+$server->addPlugin(new OC_Connector_Sabre_MaintenancePlugin());
// And off we go!
$server->exec();
diff --git a/apps/files/appinfo/routes.php b/apps/files/appinfo/routes.php
index 043782a9c04..307a4d0320d 100644
--- a/apps/files/appinfo/routes.php
+++ b/apps/files/appinfo/routes.php
@@ -8,4 +8,7 @@
$this->create('download', 'download{file}')
->requirements(array('file' => '.*'))
- ->actionInclude('files/download.php'); \ No newline at end of file
+ ->actionInclude('files/download.php');
+// oC JS config
+$this->create('publicListView', 'js/publiclistview.js')
+ ->actionInclude('files/js/publiclistview.php'); \ No newline at end of file
diff --git a/apps/files/css/files.css b/apps/files/css/files.css
index 99c39f0acdb..0c97b009b88 100644
--- a/apps/files/css/files.css
+++ b/apps/files/css/files.css
@@ -21,25 +21,25 @@
#new>ul>li { height:20px; margin:.3em; padding-left:2em; padding-bottom:0.1em;
background-repeat:no-repeat; cursor:pointer; }
#new>ul>li>p { cursor:pointer; }
-#new>ul>li>input { padding:0.3em; margin:-0.3em; }
+#new>ul>li>form>input { padding:0.3em; margin:-0.3em; }
-#upload {
+#upload {
height:27px; padding:0; margin-left:0.2em; overflow:hidden;
}
#upload a {
position:relative; display:block; width:100%; height:27px;
- cursor:pointer; z-index:1000;
+ cursor:pointer; z-index:10;
background-image:url('%webroot%/core/img/actions/upload.svg');
background-repeat:no-repeat;
background-position:7px 6px;
}
.file_upload_target { display:none; }
.file_upload_form { display:inline; float:left; margin:0; padding:0; cursor:pointer; overflow:visible; }
-#file_upload_start {
+#file_upload_start {
left:0; top:0; width:28px; height:27px; padding:0;
font-size:1em;
-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; filter:alpha(opacity=0); opacity:0;
- z-index:-1; position:relative; cursor:pointer; overflow:hidden;
+ z-index:20; position:relative; cursor:pointer; overflow:hidden;
}
#uploadprogresswrapper { position:absolute; right:13.5em; top:0em; }
diff --git a/apps/files/index.php b/apps/files/index.php
index b64bde44cc0..2c6b689b0c9 100644
--- a/apps/files/index.php
+++ b/apps/files/index.php
@@ -28,6 +28,7 @@ OCP\User::checkLoggedIn();
OCP\Util::addStyle('files', 'files');
OCP\Util::addscript('files', 'jquery.iframe-transport');
OCP\Util::addscript('files', 'jquery.fileupload');
+OCP\Util::addscript('files', 'jquery-visibility');
OCP\Util::addscript('files', 'files');
OCP\Util::addscript('files', 'filelist');
OCP\Util::addscript('files', 'fileactions');
@@ -38,36 +39,36 @@ OCP\App::setActiveNavigationEntry('files_index');
$dir = isset($_GET['dir']) ? stripslashes($_GET['dir']) : '';
// Redirect if directory does not exist
if (!OC_Filesystem::is_dir($dir . '/')) {
- header('Location: ' . $_SERVER['SCRIPT_NAME'] . '');
- exit();
+ header('Location: ' . $_SERVER['SCRIPT_NAME'] . '');
+ exit();
}
$files = array();
foreach (OC_Files::getdirectorycontent($dir) as $i) {
- $i['date'] = OCP\Util::formatDate($i['mtime']);
- if ($i['type'] == 'file') {
- $fileinfo = pathinfo($i['name']);
- $i['basename'] = $fileinfo['filename'];
- if (!empty($fileinfo['extension'])) {
- $i['extension'] = '.' . $fileinfo['extension'];
- } else {
- $i['extension'] = '';
- }
- }
- if ($i['directory'] == '/') {
- $i['directory'] = '';
- }
- $files[] = $i;
+ $i['date'] = OCP\Util::formatDate($i['mtime']);
+ if ($i['type'] == 'file') {
+ $fileinfo = pathinfo($i['name']);
+ $i['basename'] = $fileinfo['filename'];
+ if (!empty($fileinfo['extension'])) {
+ $i['extension'] = '.' . $fileinfo['extension'];
+ } else {
+ $i['extension'] = '';
+ }
+ }
+ if ($i['directory'] == '/') {
+ $i['directory'] = '';
+ }
+ $files[] = $i;
}
// Make breadcrumb
$breadcrumb = array();
$pathtohere = '';
foreach (explode('/', $dir) as $i) {
- if ($i != '') {
- $pathtohere .= '/' . $i;
- $breadcrumb[] = array('dir' => $pathtohere, 'name' => $i);
- }
+ if ($i != '') {
+ $pathtohere .= '/' . $i;
+ $breadcrumb[] = array('dir' => $pathtohere, 'name' => $i);
+ }
}
// make breadcrumb und filelist markup
@@ -79,25 +80,22 @@ $breadcrumbNav = new OCP\Template('files', 'part.breadcrumb', '');
$breadcrumbNav->assign('breadcrumb', $breadcrumb, false);
$breadcrumbNav->assign('baseURL', OCP\Util::linkTo('files', 'index.php') . '?dir=', false);
-$upload_max_filesize = OCP\Util::computerFileSize(ini_get('upload_max_filesize'));
-$post_max_size = OCP\Util::computerFileSize(ini_get('post_max_size'));
-$maxUploadFilesize = min($upload_max_filesize, $post_max_size);
-
-$freeSpace = OC_Filesystem::free_space($dir);
-$freeSpace = max($freeSpace, 0);
-$maxUploadFilesize = min($maxUploadFilesize, $freeSpace);
+$maxUploadFilesize=OCP\Util::maxUploadFilesize($dir);
$permissions = OCP\PERMISSION_READ;
if (OC_Filesystem::isUpdatable($dir . '/')) {
- $permissions |= OCP\PERMISSION_UPDATE;
+ $permissions |= OCP\PERMISSION_UPDATE;
}
if (OC_Filesystem::isDeletable($dir . '/')) {
- $permissions |= OCP\PERMISSION_DELETE;
+ $permissions |= OCP\PERMISSION_DELETE;
}
if (OC_Filesystem::isSharable($dir . '/')) {
- $permissions |= OCP\PERMISSION_SHARE;
+ $permissions |= OCP\PERMISSION_SHARE;
}
+// information about storage capacities
+$storageInfo=OC_Helper::getStorageInfo();
+
$tmpl = new OCP\Template('files', 'index', 'user');
$tmpl->assign('fileList', $list->fetchPage(), false);
$tmpl->assign('breadcrumb', $breadcrumbNav->fetchPage(), false);
@@ -108,4 +106,5 @@ $tmpl->assign('files', $files);
$tmpl->assign('uploadMaxFilesize', $maxUploadFilesize);
$tmpl->assign('uploadMaxHumanFilesize', OCP\Util::humanFileSize($maxUploadFilesize));
$tmpl->assign('allowZipDownload', intval(OCP\Config::getSystemValue('allowZipDownload', true)));
+$tmpl->assign('usedSpacePercent', (int)$storageInfo['relative']);
$tmpl->printPage();
diff --git a/apps/files/js/fileactions.js b/apps/files/js/fileactions.js
index 80b9c01f838..f5ee363a4c8 100644
--- a/apps/files/js/fileactions.js
+++ b/apps/files/js/fileactions.js
@@ -70,23 +70,23 @@ var FileActions = {
}
parent.children('a.name').append('<span class="fileactions" />');
var defaultAction = FileActions.getDefault(FileActions.getCurrentMimeType(), FileActions.getCurrentType(), FileActions.getCurrentPermissions());
-
+
var actionHandler = function (event) {
event.stopPropagation();
event.preventDefault();
FileActions.currentFile = event.data.elem;
var file = FileActions.getCurrentFile();
-
+
event.data.actionFunc(file);
};
-
+
$.each(actions, function (name, action) {
// NOTE: Temporary fix to prevent rename action in root of Shared directory
if (name === 'Rename' && $('#dir').val() === '/Shared') {
return true;
}
-
+
if ((name === 'Download' || action !== defaultAction) && name !== 'Delete') {
var img = FileActions.icons[name];
if (img.call) {
@@ -97,16 +97,16 @@ var FileActions = {
html += '<img class ="svg" src="' + img + '" /> ';
}
html += t('files', name) + '</a>';
-
+
var element = $(html);
element.data('action', name);
//alert(element);
element.on('click',{a:null, elem:parent, actionFunc:actions[name]},actionHandler);
parent.find('a.name>span.fileactions').append(element);
}
-
+
});
-
+
if (actions['Delete']) {
var img = FileActions.icons['Delete'];
if (img.call) {
diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js
index 96dd0323d29..04b7d92e2c3 100644
--- a/apps/files/js/filelist.js
+++ b/apps/files/js/filelist.js
@@ -149,10 +149,9 @@ var FileList={
event.stopPropagation();
event.preventDefault();
var newname=input.val();
- if (Files.containsInvalidCharacters(newname)) {
+ if (!Files.isFileNameValid(newname)) {
return false;
- }
- if (newname != name) {
+ } else if (newname != name) {
if (FileList.checkName(name, newname, false)) {
newname = name;
} else {
@@ -185,6 +184,13 @@ var FileList={
td.children('a.name').show();
return false;
});
+ input.keyup(function(event){
+ if (event.keyCode == 27) {
+ tr.data('renaming',false);
+ form.remove();
+ td.children('a.name').show();
+ }
+ });
input.click(function(event){
event.stopPropagation();
event.preventDefault();
@@ -195,15 +201,14 @@ var FileList={
},
checkName:function(oldName, newName, isNewFile) {
if (isNewFile || $('tr').filterAttr('data-file', newName).length > 0) {
- if (isNewFile) {
- $('#notification').html(t('files', '{new_name} already exists', {new_name: escapeHTML(newName)})+'<span class="replace">'+t('files', 'replace')+'</span><span class="suggest">'+t('files', 'suggest name')+'</span><span class="cancel">'+t('files', 'cancel')+'</span>');
- } else {
- $('#notification').html(t('files', '{new_name} already exists', {new_name: escapeHTML(newName)})+'<span class="replace">'+t('files', 'replace')+'</span><span class="cancel">'+t('files', 'cancel')+'</span>');
- }
$('#notification').data('oldName', oldName);
$('#notification').data('newName', newName);
$('#notification').data('isNewFile', isNewFile);
- $('#notification').fadeIn();
+ if (isNewFile) {
+ OC.Notification.showHtml(t('files', '{new_name} already exists', {new_name: escapeHTML(newName)})+'<span class="replace">'+t('files', 'replace')+'</span><span class="suggest">'+t('files', 'suggest name')+'</span><span class="cancel">'+t('files', 'cancel')+'</span>');
+ } else {
+ OC.Notification.showHtml(t('files', '{new_name} already exists', {new_name: escapeHTML(newName)})+'<span class="replace">'+t('files', 'replace')+'</span><span class="cancel">'+t('files', 'cancel')+'</span>');
+ }
return true;
} else {
return false;
@@ -245,11 +250,10 @@ var FileList={
FileList.finishReplace();
};
if (isNewFile) {
- $('#notification').html(t('files', 'replaced {new_name}', {new_name: newName})+'<span class="undo">'+t('files', 'undo')+'</span>');
+ OC.Notification.showHtml(t('files', 'replaced {new_name}', {new_name: newName})+'<span class="undo">'+t('files', 'undo')+'</span>');
} else {
- $('#notification').html(t('files', 'replaced {new_name} with {old_name}', {new_name: newName}, {old_name: oldName})+'<span class="undo">'+t('files', 'undo')+'</span>');
+ OC.Notification.showHtml(t('files', 'replaced {new_name} with {old_name}', {new_name: newName}, {old_name: oldName})+'<span class="undo">'+t('files', 'undo')+'</span>');
}
- $('#notification').fadeIn();
},
finishReplace:function() {
if (!FileList.replaceCanceled && FileList.replaceOldName && FileList.replaceNewName) {
@@ -279,11 +283,10 @@ var FileList={
} else {
// NOTE: Temporary fix to change the text to unshared for files in root of Shared folder
if ($('#dir').val() == '/Shared') {
- $('#notification').html(t('files', 'unshared {files}', {'files': escapeHTML(files)})+'<span class="undo">'+t('files', 'undo')+'</span>');
+ OC.Notification.showHtml(t('files', 'unshared {files}', {'files': escapeHTML(files)})+'<span class="undo">'+t('files', 'undo')+'</span>');
} else {
- $('#notification').html(t('files', 'deleted {files}', {'files': escapeHTML(files)})+'<span class="undo">'+t('files', 'undo')+'</span>');
+ OC.Notification.showHtml(t('files', 'deleted {files}', {'files': escapeHTML(files)})+'<span class="undo">'+t('files', 'undo')+'</span>');
}
- $('#notification').fadeIn();
}
},
finishDelete:function(ready,sync){
@@ -296,7 +299,7 @@ var FileList={
data: {dir:$('#dir').val(),files:fileNames},
complete: function(data){
boolOperationFinished(data, function(){
- $('#notification').fadeOut('400');
+ OC.Notification.hide();
$.each(FileList.deleteFiles,function(index,file){
FileList.remove(file);
});
@@ -356,16 +359,16 @@ $(document).ready(function(){
FileList.replaceIsNewFile = null;
}
FileList.lastAction = null;
- $('#notification').fadeOut('400');
+ OC.Notification.hide();
});
$('#notification .replace').live('click', function() {
- $('#notification').fadeOut('400', function() {
- FileList.replace($('#notification').data('oldName'), $('#notification').data('newName'), $('#notification').data('isNewFile'));
- });
+ OC.Notification.hide(function() {
+ FileList.replace($('#notification').data('oldName'), $('#notification').data('newName'), $('#notification').data('isNewFile'));
+ });
});
$('#notification .suggest').live('click', function() {
$('tr').filterAttr('data-file', $('#notification').data('oldName')).show();
- $('#notification').fadeOut('400');
+ OC.Notification.hide();
});
$('#notification .cancel').live('click', function() {
if ($('#notification').data('isNewFile')) {
diff --git a/apps/files/js/files.js b/apps/files/js/files.js
index 6a37d9e7f53..6486468eafd 100644
--- a/apps/files/js/files.js
+++ b/apps/files/js/files.js
@@ -26,21 +26,65 @@ Files={
});
procesSelection();
},
- containsInvalidCharacters:function (name) {
+ updateMaxUploadFilesize:function(response) {
+ if(response == undefined) {
+ return;
+ }
+ if(response.data !== undefined && response.data.uploadMaxFilesize !== undefined) {
+ $('#max_upload').val(response.data.uploadMaxFilesize);
+ $('#upload.button').attr('original-title', response.data.maxHumanFilesize);
+ $('#usedSpacePercent').val(response.data.usedSpacePercent);
+ Files.displayStorageWarnings();
+ }
+ if(response[0] == undefined) {
+ return;
+ }
+ if(response[0].uploadMaxFilesize !== undefined) {
+ $('#max_upload').val(response[0].uploadMaxFilesize);
+ $('#upload.button').attr('original-title', response[0].maxHumanFilesize);
+ $('#usedSpacePercent').val(response[0].usedSpacePercent);
+ Files.displayStorageWarnings();
+ }
+
+ },
+ isFileNameValid:function (name) {
+ if (name === '.') {
+ OC.Notification.show(t('files', '\'.\' is an invalid file name.'));
+ return false;
+ }
+ if (name.length == 0) {
+ OC.Notification.show(t('files', 'File name cannot be empty.'));
+ return false;
+ }
+
+ // check for invalid characters
var invalid_characters = ['\\', '/', '<', '>', ':', '"', '|', '?', '*'];
for (var i = 0; i < invalid_characters.length; i++) {
if (name.indexOf(invalid_characters[i]) != -1) {
- $('#notification').text(t('files', "Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed."));
- $('#notification').fadeIn();
- return true;
+ OC.Notification.show(t('files', "Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed."));
+ return false;
}
}
- $('#notification').fadeOut();
- return false;
+ OC.Notification.hide();
+ return true;
+ },
+ displayStorageWarnings: function() {
+ if (!OC.Notification.isHidden()) {
+ return;
+ }
+
+ var usedSpacePercent = $('#usedSpacePercent').val();
+ if (usedSpacePercent > 98) {
+ OC.Notification.show(t('files', 'Your storage is full, files can not be updated or synced anymore!'));
+ return;
+ }
+ if (usedSpacePercent > 90) {
+ OC.Notification.show(t('files', 'Your storage is almost full ({usedSpacePercent}%)', {usedSpacePercent: usedSpacePercent}));
+ }
}
};
$(document).ready(function() {
- Files.bindKeyboardShortcuts(document, jQuery);
+ Files.bindKeyboardShortcuts(document, jQuery);
$('#fileList tr').each(function(){
//little hack to set unescape filenames in attribute
$(this).attr('data-file',decodeURIComponent($(this).attr('data-file')));
@@ -75,8 +119,8 @@ $(document).ready(function() {
// Sets the file link behaviour :
$('td.filename a').live('click',function(event) {
- event.preventDefault();
if (event.ctrlKey || event.shiftKey) {
+ event.preventDefault();
if (event.shiftKey) {
var last = $(lastChecked).parent().parent().prevAll().length;
var first = $(this).parent().parent().prevAll().length;
@@ -118,6 +162,7 @@ $(document).ready(function() {
var permissions = $(this).parent().parent().data('permissions');
var action=FileActions.getDefault(mime,type, permissions);
if(action){
+ event.preventDefault();
action(filename);
}
}
@@ -171,8 +216,7 @@ $(document).ready(function() {
$('.download').click('click',function(event) {
var files=getSelectedFiles('name').join(';');
var dir=$('#dir').val()||'/';
- $('#notification').text(t('files','generating ZIP-file, it may take some time.'));
- $('#notification').fadeIn();
+ OC.Notification.show(t('files','Your download is being prepared. This might take some time if the files are big.'));
// use special download URL if provided, e.g. for public shared files
if ( (downloadURL = document.getElementById("downloadURL")) ) {
window.location=downloadURL.value+"&download&files="+files;
@@ -234,12 +278,12 @@ $(document).ready(function() {
}
});
}else{
- var dropTarget = $(e.originalEvent.target).closest('tr');
- if(dropTarget && dropTarget.attr('data-type') === 'dir') { // drag&drop upload to folder
- var dirName = dropTarget.attr('data-file')
- }
+ var dropTarget = $(e.originalEvent.target).closest('tr');
+ if(dropTarget && dropTarget.attr('data-type') === 'dir') { // drag&drop upload to folder
+ var dirName = dropTarget.attr('data-file')
+ }
- var date=new Date();
+ var date=new Date();
if(files){
for(var i=0;i<files.length;i++){
if(files[i].size>0){
@@ -292,26 +336,27 @@ $(document).ready(function() {
var jqXHR = $('#file_upload_start').fileupload('send', {files: files[i],
formData: function(form) {
var formArray = form.serializeArray();
- // array index 0 contains the max files size
- // array index 1 contains the request token
- // array index 2 contains the directory
+ // array index 0 contains the max files size
+ // array index 1 contains the request token
+ // array index 2 contains the directory
formArray[2]['value'] = dirName;
return formArray;
}}).success(function(result, textStatus, jqXHR) {
var response;
response=jQuery.parseJSON(result);
if(response[0] == undefined || response[0].status != 'success') {
- $('#notification').text(t('files', response.data.message));
- $('#notification').fadeIn();
+ OC.Notification.show(t('files', response.data.message));
}
+ Files.updateMaxUploadFilesize(response);
var file=response[0];
- // TODO: this doesn't work if the file name has been changed server side
+ // TODO: this doesn't work if the file name has been changed server side
delete uploadingFiles[dirName][file.name];
- if ($.assocArraySize(uploadingFiles[dirName]) == 0) {
- delete uploadingFiles[dirName];
- }
+ if ($.assocArraySize(uploadingFiles[dirName]) == 0) {
+ delete uploadingFiles[dirName];
+ }
+ //TODO update file upload size limit
- var uploadtext = $('tr').filterAttr('data-type', 'dir').filterAttr('data-file', dirName).find('.uploadtext')
+ var uploadtext = $('tr').filterAttr('data-type', 'dir').filterAttr('data-file', dirName).find('.uploadtext')
var currentUploads = parseInt(uploadtext.attr('currentUploads'));
currentUploads -= 1;
uploadtext.attr('currentUploads', currentUploads);
@@ -339,9 +384,8 @@ $(document).ready(function() {
} else {
uploadtext.text(t('files', '{count} files uploading', {count: currentUploads}));
}
- $('#notification').hide();
- $('#notification').text(t('files', 'Upload cancelled.'));
- $('#notification').fadeIn();
+ delete uploadingFiles[dirName][fileName];
+ OC.Notification.show(t('files', 'Upload cancelled.'));
}
});
//TODO test with filenames containing slashes
@@ -354,6 +398,8 @@ $(document).ready(function() {
.success(function(result, textStatus, jqXHR) {
var response;
response=jQuery.parseJSON(result);
+ Files.updateMaxUploadFilesize(response);
+
if(response[0] != undefined && response[0].status == 'success') {
var file=response[0];
delete uploadingFiles[file.name];
@@ -362,21 +408,21 @@ $(document).ready(function() {
if(size==t('files','Pending')){
$('tr').filterAttr('data-file',file.name).find('td.filesize').text(file.size);
}
+ //TODO update file upload size limit
FileList.loadingDone(file.name, file.id);
} else {
- $('#notification').text(t('files', response.data.message));
- $('#notification').fadeIn();
+ Files.cancelUpload(this.files[0].name);
+ OC.Notification.show(t('files', response.data.message));
$('#fileList > tr').not('[data-mime]').fadeOut();
$('#fileList > tr').not('[data-mime]').remove();
}
- })
- .error(function(jqXHR, textStatus, errorThrown) {
- if(errorThrown === 'abort') {
- $('#notification').hide();
- $('#notification').text(t('files', 'Upload cancelled.'));
- $('#notification').fadeIn();
- }
- });
+ })
+ .error(function(jqXHR, textStatus, errorThrown) {
+ if(errorThrown === 'abort') {
+ Files.cancelUpload(this.files[0].name);
+ OC.Notification.show(t('files', 'Upload cancelled.'));
+ }
+ });
uploadingFiles[uniqueName] = jqXHR;
}
}
@@ -384,6 +430,7 @@ $(document).ready(function() {
data.submit().success(function(data, status) {
// in safari data is a string
response = jQuery.parseJSON(typeof data === 'string' ? data : data[0].body.innerText);
+ Files.updateMaxUploadFilesize(response);
if(response[0] != undefined && response[0].status == 'success') {
var file=response[0];
delete uploadingFiles[file.name];
@@ -392,10 +439,11 @@ $(document).ready(function() {
if(size==t('files','Pending')){
$('tr').filterAttr('data-file',file.name).find('td.filesize').text(file.size);
}
+ //TODO update file upload size limit
FileList.loadingDone(file.name, file.id);
} else {
- $('#notification').text(t('files', response.data.message));
- $('#notification').fadeIn();
+ //TODO Files.cancelUpload(/*where do we get the filename*/);
+ OC.Notification.show(t('files', response.data.message));
$('#fileList > tr').not('[data-mime]').fadeOut();
$('#fileList > tr').not('[data-mime]').remove();
}
@@ -434,7 +482,7 @@ $(document).ready(function() {
// http://stackoverflow.com/a/6700/11236
var size = 0, key;
for (key in obj) {
- if (obj.hasOwnProperty(key)) size++;
+ if (obj.hasOwnProperty(key)) size++;
}
return size;
};
@@ -477,7 +525,7 @@ $(document).ready(function() {
$('#new').removeClass('active');
$('#new li').each(function(i,element){
if($(element).children('p').length==0){
- $(element).children('input').remove();
+ $(element).children('form').remove();
$(element).append('<p>'+$(element).data('text')+'</p>');
}
});
@@ -496,7 +544,7 @@ $(document).ready(function() {
$('#new li').each(function(i,element){
if($(element).children('p').length==0){
- $(element).children('input').remove();
+ $(element).children('form').remove();
$(element).append('<p>'+$(element).data('text')+'</p>');
}
});
@@ -505,23 +553,30 @@ $(document).ready(function() {
var text=$(this).children('p').text();
$(this).data('text',text);
$(this).children('p').remove();
+ var form=$('<form></form>');
var input=$('<input>');
- $(this).append(input);
+ form.append(input);
+ $(this).append(form);
input.focus();
- input.change(function(){
- if (type != 'web' && Files.containsInvalidCharacters($(this).val())) {
- return;
- } else if( type == 'folder' && $('#dir').val() == '/' && $(this).val() == 'Shared') {
- $('#notification').text(t('files','Invalid folder name. Usage of "Shared" is reserved by Owncloud'));
- $('#notification').fadeIn();
- return;
+ form.submit(function(event){
+ event.stopPropagation();
+ event.preventDefault();
+ var newname=input.val();
+ if(type == 'web' && newname.length == 0) {
+ OC.Notification.show(t('files', 'URL cannot be empty.'));
+ return false;
+ } else if (type != 'web' && !Files.isFileNameValid(newname)) {
+ return false;
+ } else if( type == 'folder' && $('#dir').val() == '/' && newname == 'Shared') {
+ OC.Notification.show(t('files','Invalid folder name. Usage of \'Shared\' is reserved by Owncloud'));
+ return false;
}
if (FileList.lastAction) {
FileList.lastAction();
}
- var name = getUniqueName($(this).val());
- if (name != $(this).val()) {
- FileList.checkName(name, $(this).val(), true);
+ var name = getUniqueName(newname);
+ if (newname != name) {
+ FileList.checkName(name, newname, true);
var hidden = true;
} else {
var hidden = false;
@@ -565,7 +620,7 @@ $(document).ready(function() {
break;
case 'web':
if(name.substr(0,8)!='https://' && name.substr(0,7)!='http://'){
- name='http://'.name;
+ name='http://'+name;
}
var localName=name;
if(localName.substr(localName.length-1,1)=='/'){//strip /
@@ -604,8 +659,8 @@ $(document).ready(function() {
});
break;
}
- var li=$(this).parent();
- $(this).remove();
+ var li=form.parent();
+ form.remove();
li.append('<p>'+li.data('text')+'</p>');
$('#new>a').click();
});
@@ -683,6 +738,36 @@ $(document).ready(function() {
});
resizeBreadcrumbs(true);
+
+ // display storage warnings
+ setTimeout ( "Files.displayStorageWarnings()", 100 );
+ OC.Notification.setDefault(Files.displayStorageWarnings);
+
+ // file space size sync
+ function update_storage_statistics() {
+ $.getJSON(OC.filePath('files','ajax','getstoragestats.php'),function(response) {
+ Files.updateMaxUploadFilesize(response);
+ });
+ }
+
+ // start on load - we ask the server every 5 minutes
+ var update_storage_statistics_interval = 5*60*1000;
+ var update_storage_statistics_interval_id = setInterval(update_storage_statistics, update_storage_statistics_interval);
+
+ // Use jquery-visibility to de-/re-activate file stats sync
+ if ($.support.pageVisibility) {
+ $(document).on({
+ 'show.visibility': function() {
+ if (!update_storage_statistics_interval_id) {
+ update_storage_statistics_interval_id = setInterval(update_storage_statistics, update_storage_statistics_interval);
+ }
+ },
+ 'hide.visibility': function() {
+ clearInterval(update_storage_statistics_interval_id);
+ update_storage_statistics_interval_id = 0;
+ }
+ });
+ }
});
function scanFiles(force,dir){
@@ -712,6 +797,7 @@ scanFiles.scanning=false;
function boolOperationFinished(data, callback) {
result = jQuery.parseJSON(data.responseText);
+ Files.updateMaxUploadFilesize(result);
if(result.status == 'success'){
callback.call();
} else {
diff --git a/apps/files/js/jquery-visibility.js b/apps/files/js/jquery-visibility.js
new file mode 100644
index 00000000000..a824bf68730
--- /dev/null
+++ b/apps/files/js/jquery-visibility.js
@@ -0,0 +1,32 @@
+/*! http://mths.be/visibility v1.0.5 by @mathias */
+(function (window, document, $, undefined) {
+
+ var prefix,
+ property,
+// In Opera, `'onfocusin' in document == true`, hence the extra `hasFocus` check to detect IE-like behavior
+ eventName = 'onfocusin' in document && 'hasFocus' in document ? 'focusin focusout' : 'focus blur',
+ prefixes = ['', 'moz', 'ms', 'o', 'webkit'],
+ $support = $.support,
+ $event = $.event;
+
+ while ((property = prefix = prefixes.pop()) != undefined) {
+ property = (prefix ? prefix + 'H' : 'h') + 'idden';
+ if ($support.pageVisibility = typeof document[property] == 'boolean') {
+ eventName = prefix + 'visibilitychange';
+ break;
+ }
+ }
+
+ $(/blur$/.test(eventName) ? window : document).on(eventName, function (event) {
+ var type = event.type,
+ originalEvent = event.originalEvent,
+ toElement = originalEvent.toElement;
+// If it’s a `{focusin,focusout}` event (IE), `fromElement` and `toElement` should both be `null` or `undefined`;
+// else, the page visibility hasn’t changed, but the user just clicked somewhere in the doc.
+// In IE9, we need to check the `relatedTarget` property instead.
+ if (!/^focus./.test(type) || (toElement == undefined && originalEvent.fromElement == undefined && originalEvent.relatedTarget == undefined)) {
+ $event.trigger((property && document[property] || /^(?:blur|focusout)$/.test(type) ? 'hide' : 'show') + '.visibility');
+ }
+ });
+
+}(this, document, jQuery));
diff --git a/apps/files/js/publiclistview.php b/apps/files/js/publiclistview.php
new file mode 100644
index 00000000000..f1c67aabb48
--- /dev/null
+++ b/apps/files/js/publiclistview.php
@@ -0,0 +1,20 @@
+<?php
+/**
+ * Copyright (c) 2013 Lukas Reschke <lukas@statuscode.ch>
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+
+// Set the content type to Javascript
+header("Content-type: text/javascript");
+
+// Disallow caching
+header("Cache-Control: no-cache, must-revalidate");
+header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");
+
+if ( array_key_exists('disableSharing', $_) && $_['disableSharing'] == true ) {
+ echo "var disableSharing = true;";
+} else {
+ echo "var disableSharing = false;";
+}
diff --git a/apps/files/l10n/ar.php b/apps/files/l10n/ar.php
index 5740d54f8b1..d468b102875 100644
--- a/apps/files/l10n/ar.php
+++ b/apps/files/l10n/ar.php
@@ -1,4 +1,5 @@
<?php $TRANSLATIONS = array(
+"Upload" => "Ø¥Ø±ÙØ¹",
"There is no error, the file uploaded with success" => "تم ترÙيع Ø§Ù„Ù…Ù„ÙØ§Øª بنجاح.",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "حجم المل٠الذي تريد ترÙيعه أعلى مما MAX_FILE_SIZE يسمح به ÙÙŠ واجهة ال HTML.",
"The uploaded file was only partially uploaded" => "تم ترÙيع جزء من Ø§Ù„Ù…Ù„ÙØ§Øª الذي تريد ترÙيعها Ùقط",
@@ -16,7 +17,6 @@
"New" => "جديد",
"Text file" => "ملÙ",
"Folder" => "مجلد",
-"Upload" => "Ø¥Ø±ÙØ¹",
"Nothing in here. Upload something!" => "لا يوجد شيء هنا. Ø¥Ø±ÙØ¹ بعض Ø§Ù„Ù…Ù„ÙØ§Øª!",
"Download" => "تحميل",
"Upload too large" => "حجم الترÙيع أعلى من المسموح",
diff --git a/apps/files/l10n/bg_BG.php b/apps/files/l10n/bg_BG.php
index b527b0e027f..a8c2dc97e00 100644
--- a/apps/files/l10n/bg_BG.php
+++ b/apps/files/l10n/bg_BG.php
@@ -1,28 +1,22 @@
<?php $TRANSLATIONS = array(
-"There is no error, the file uploaded with success" => "Файлът е качен уÑпешно",
-"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Файлът който Ñе опитвате да качите надвишава ÑтойноÑтите в MAX_FILE_SIZE в HTML формата.",
-"The uploaded file was only partially uploaded" => "Файлът е качен чаÑтично",
-"No file was uploaded" => "Фахлът не бе качен",
-"Missing a temporary folder" => "ЛипÑва временната папка",
-"Failed to write to disk" => "Грешка при Ð·Ð°Ð¿Ð¸Ñ Ð½Ð° диÑка",
+"Upload" => "Качване",
+"Missing a temporary folder" => "ЛипÑва временна папка",
"Files" => "Файлове",
"Delete" => "Изтриване",
-"Upload Error" => "Грешка при качване",
-"Upload cancelled." => "Качването е отменено.",
+"Rename" => "Преименуване",
+"replace" => "препокриване",
+"cancel" => "отказ",
+"undo" => "възтановÑване",
+"Upload cancelled." => "Качването е ÑпрÑно.",
"Name" => "Име",
"Size" => "Размер",
"Modified" => "Променено",
-"Maximum upload size" => "МакÑ. размер за качване",
-"0 is unlimited" => "0 означава без ограничение",
+"Maximum upload size" => "МакÑимален размер за качване",
+"0 is unlimited" => "Ползвайте 0 за без ограничениÑ",
"Save" => "ЗапиÑ",
-"New" => "Ðов",
-"Text file" => "ТекÑтов файл",
+"New" => "Ðово",
"Folder" => "Папка",
-"Upload" => "Качване",
-"Cancel upload" => "Отказване на качването",
-"Nothing in here. Upload something!" => "ÐÑма нищо, качете нещо!",
+"Nothing in here. Upload something!" => "ÐÑма нищо тук. Качете нещо.",
"Download" => "ИзтеглÑне",
-"Upload too large" => "Файлът е прекалено голÑм",
-"The files you are trying to upload exceed the maximum size for file uploads on this server." => "Файловете които Ñе опитвате да качите Ñа по-големи от позволеното за Ñървъра.",
-"Files are being scanned, please wait." => "Файловете Ñе претърÑват, изчакайте."
+"Upload too large" => "Файлът който Ñте избрали за качване е прекалено голÑм"
);
diff --git a/apps/files/l10n/bn_BD.php b/apps/files/l10n/bn_BD.php
new file mode 100644
index 00000000000..e8e19c6898f
--- /dev/null
+++ b/apps/files/l10n/bn_BD.php
@@ -0,0 +1,70 @@
+<?php $TRANSLATIONS = array(
+"Upload" => "আপলোড",
+"Could not move %s - File with this name already exists" => "%s কে সà§à¦¥à¦¾à¦¨à¦¾à¦¨à§à¦¤à¦° করা সমà§à¦­à¦¬ হলো না - à¦à¦‡ নামের ফাইল বিদà§à¦¯à¦®à¦¾à¦¨",
+"Could not move %s" => "%s কে সà§à¦¥à¦¾à¦¨à¦¾à¦¨à§à¦¤à¦° করা সমà§à¦­à¦¬ হলো না",
+"Unable to rename file" => "ফাইলের নাম পরিবরà§à¦¤à¦¨ করা সমà§à¦­à¦¬ হলো না",
+"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" => "আপলোড করা ফাইলটি আংশিক আপলোড করা হয়েছে",
+"No file was uploaded" => "কোন ফাইল আপলোড করা হয় নি",
+"Missing a temporary folder" => "অসà§à¦¥à¦¾à§Ÿà§€ ফোলà§à¦¡à¦¾à¦° খোয়া গিয়েছে",
+"Failed to write to disk" => "ডিসà§à¦•ে লিখতে বà§à¦¯à¦°à§à¦¥",
+"Not enough space available" => "যথেষà§à¦  পরিমাণ সà§à¦¥à¦¾à¦¨ নেই",
+"Invalid directory." => "ভà§à¦² ডিরেকà§à¦Ÿà¦°à¦¿",
+"Files" => "ফাইল",
+"Unshare" => "ভাগাভাগি বাতিল ",
+"Delete" => "মà§à¦›à§‡ ফেল",
+"Rename" => "পূনঃনামকরণ",
+"{new_name} already exists" => "{new_name} টি বিদà§à¦¯à¦®à¦¾à¦¨",
+"replace" => "পà§à¦°à¦¤à¦¿à¦¸à§à¦¥à¦¾à¦ªà¦¨",
+"suggest name" => "নাম সà§à¦ªà¦¾à¦°à¦¿à¦¶ করà§à¦¨",
+"cancel" => "বাতিল",
+"replaced {new_name}" => "{new_name} পà§à¦°à¦¤à¦¿à¦¸à§à¦¥à¦¾à¦ªà¦¨ করা হয়েছে",
+"undo" => "কà§à¦°à¦¿à§Ÿà¦¾ পà§à¦°à¦¤à§à¦¯à¦¾à¦¹à¦¾à¦°",
+"replaced {new_name} with {old_name}" => "{new_name} কে {old_name} নামে পà§à¦°à¦¤à¦¿à¦¸à§à¦¥à¦¾à¦ªà¦¨ করা হয়েছে",
+"unshared {files}" => "{files} ভাগাভাগি বাতিল কর",
+"deleted {files}" => "{files} মà§à¦›à§‡ ফেলা হয়েছে",
+"'.' is an invalid file name." => "টি à¦à¦•টি অননà§à¦®à§‹à¦¦à¦¿à¦¤ নাম।",
+"File name cannot be empty." => "ফাইলের নামটি ফাà¦à¦•া রাখা যাবে না।",
+"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "নামটি সঠিক নয়, '\\', '/', '<', '>', ':', '\"', '|', '?' à¦à¦¬à¦‚ '*' অনà§à¦®à§‹à¦¦à¦¿à¦¤ নয়।",
+"Unable to upload your file as it is a directory or has 0 bytes" => "আপনার ফাইলটি আপলোড করা সমà§à¦­à¦¬ হলো না, কেননা à¦à¦Ÿà¦¿ হয় à¦à¦•টি ফোলà§à¦¡à¦¾à¦° কিংবা à¦à¦° আকার ০ বাইট",
+"Upload Error" => "আপলোড করতে সমসà§à¦¯à¦¾ ",
+"Close" => "বনà§à¦§",
+"Pending" => "মà§à¦²à¦¤à§à¦¬à¦¿",
+"1 file uploading" => "১টি ফাইল আপলোড করা হচà§à¦›à§‡",
+"{count} files uploading" => "{count} টি ফাইল আপলোড করা হচà§à¦›à§‡",
+"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" => "ফোলà§à¦¡à¦¾à¦°à§‡à¦° নামটি সঠিক নয়। 'ভাগাভাগি করা' শà§à¦§à§à¦®à¦¾à¦¤à§à¦° Owncloud à¦à¦° জনà§à¦¯ সংরকà§à¦·à¦¿à¦¤à¥¤",
+"{count} files scanned" => "{count} টি ফাইল সà§à¦•à§à¦¯à¦¾à¦¨ করা হয়েছে",
+"error while scanning" => "সà§à¦•à§à¦¯à¦¾à¦¨ করার সময় সমসà§à¦¯à¦¾ দেখা দিয়েছে",
+"Name" => "নাম",
+"Size" => "আকার",
+"Modified" => "পরিবরà§à¦¤à¦¿à¦¤",
+"1 folder" => "১টি ফোলà§à¦¡à¦¾à¦°",
+"{count} folders" => "{count} টি ফোলà§à¦¡à¦¾à¦°",
+"1 file" => "১টি ফাইল",
+"{count} files" => "{count} টি ফাইল",
+"File handling" => "ফাইল হà§à¦¯à¦¾à¦°à§à¦¡à¦²à¦¿à¦‚",
+"Maximum upload size" => "আপলোডের সরà§à¦¬à§‹à¦šà§à¦š আকার",
+"max. possible: " => "অনà§à¦®à§‹à¦¦à¦¿à¦¤ সরà§à¦¬à§‹à¦šà§à¦š আকার",
+"Needed for multi-file and folder downloads." => "à¦à¦•াধিক ফাইল à¦à¦¬à¦‚ ফোলà§à¦¡à¦¾à¦° ডাউনলোড করার জনà§à¦¯ আবশà§à¦¯à¦•।",
+"Enable ZIP-download" => "ZIP ডাউনলোড সকà§à¦°à¦¿à§Ÿ কর",
+"0 is unlimited" => "০ à¦à¦° অরà§à¦¥ অসীম",
+"Maximum input size for ZIP files" => "ZIP ফাইলের ইনপà§à¦Ÿà§‡à¦° সরà§à¦¬à§‹à¦šà§à¦š আকার",
+"Save" => "সংরকà§à¦·à¦¨ কর",
+"New" => "নতà§à¦¨",
+"Text file" => "টেকà§à¦¸à¦Ÿ ফাইল",
+"Folder" => "ফোলà§à¦¡à¦¾à¦°",
+"From link" => " লিংক থেকে",
+"Cancel upload" => "আপলোড বাতিল কর",
+"Nothing in here. Upload something!" => "à¦à¦–ানে কিছà§à¦‡ নেই। কিছৠআপলোড করà§à¦¨ !",
+"Download" => "ডাউনলোড",
+"Upload too large" => "আপলোডের আকারটি অনেক বড়",
+"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" => "বরà§à¦¤à¦®à¦¾à¦¨ সà§à¦•à§à¦¯à¦¾à¦¨à¦¿à¦‚"
+);
diff --git a/apps/files/l10n/ca.php b/apps/files/l10n/ca.php
index 0866d97bd74..b35a9299de0 100644
--- a/apps/files/l10n/ca.php
+++ b/apps/files/l10n/ca.php
@@ -1,4 +1,9 @@
<?php $TRANSLATIONS = array(
+"Upload" => "Puja",
+"Could not move %s - File with this name already exists" => "No s'ha pogut moure %s - Ja hi ha un fitxer amb aquest nom",
+"Could not move %s" => " No s'ha pogut moure %s",
+"Unable to rename file" => "No es pot canviar el nom del fitxer",
+"No file was uploaded. Unknown error" => "No s'ha carregat cap fitxer. Error desconegut",
"There is no error, the file uploaded with success" => "El fitxer s'ha pujat correctament",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "L’arxiu que voleu carregar supera el màxim definit en la directiva upload_max_filesize del php.ini:",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "El fitxer de pujada excedeix la directiva MAX_FILE_SIZE especificada al formulari HTML",
@@ -6,6 +11,8 @@
"No file was uploaded" => "El fitxer no s'ha pujat",
"Missing a temporary folder" => "S'ha perdut un fitxer temporal",
"Failed to write to disk" => "Ha fallat en escriure al disc",
+"Not enough space available" => "No hi ha prou espai disponible",
+"Invalid directory." => "Directori no vàlid.",
"Files" => "Fitxers",
"Unshare" => "Deixa de compartir",
"Delete" => "Suprimeix",
@@ -19,8 +26,10 @@
"replaced {new_name} with {old_name}" => "s'ha substituït {old_name} per {new_name}",
"unshared {files}" => "no compartits {files}",
"deleted {files}" => "eliminats {files}",
+"'.' is an invalid file name." => "'.' és un nom no vàlid per un fitxer.",
+"File name cannot be empty." => "El nom del fitxer no pot ser buit.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "El nóm no és vàlid, '\\', '/', '<', '>', ':', '\"', '|', '?' i '*' no estan permesos.",
-"generating ZIP-file, it may take some time." => "s'estan generant fitxers ZIP, pot trigar una estona.",
+"Your download is being prepared. This might take some time if the files are big." => "S'està preparant la baixada. Pot trigar una estona si els fitxers són grans.",
"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",
"Upload Error" => "Error en la pujada",
"Close" => "Tanca",
@@ -29,7 +38,8 @@
"{count} files uploading" => "{count} fitxers en pujada",
"Upload cancelled." => "La pujada s'ha cancel·lat.",
"File upload is in progress. Leaving the page now will cancel the upload." => "Hi ha una pujada en curs. Si abandoneu la pàgina la pujada es cancel·larà.",
-"Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" => "El nom de la carpeta no és vàlid. L'ús de \"Compartit\" està reservat per a OwnCloud",
+"URL cannot be empty." => "La URL no pot ser buida",
+"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Nom de carpeta no vàlid. L'ús de 'Shared' està reservat per Owncloud",
"{count} files scanned" => "{count} fitxers escannejats",
"error while scanning" => "error durant l'escaneig",
"Name" => "Nom",
@@ -51,7 +61,6 @@
"Text file" => "Fitxer de text",
"Folder" => "Carpeta",
"From link" => "Des d'enllaç",
-"Upload" => "Puja",
"Cancel upload" => "Cancel·la la pujada",
"Nothing in here. Upload something!" => "Res per aquí. Pugeu alguna cosa!",
"Download" => "Baixa",
diff --git a/apps/files/l10n/cs_CZ.php b/apps/files/l10n/cs_CZ.php
index 12eb79a1a10..a8d82ba5111 100644
--- a/apps/files/l10n/cs_CZ.php
+++ b/apps/files/l10n/cs_CZ.php
@@ -1,4 +1,9 @@
<?php $TRANSLATIONS = array(
+"Upload" => "Odeslat",
+"Could not move %s - File with this name already exists" => "Nelze přesunout %s - existuje soubor se stejným názvem",
+"Could not move %s" => "Nelze přesunout %s",
+"Unable to rename file" => "Nelze přejmenovat soubor",
+"No file was uploaded. Unknown error" => "Soubor nebyl odeslán. Neznámá chyba",
"There is no error, the file uploaded with success" => "Soubor byl odeslán úspěšně",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Odesílaný soubor přesahuje velikost upload_max_filesize povolenou v php.ini:",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Odeslaný soubor přesáhl svou velikostí parametr MAX_FILE_SIZE specifikovaný v formuláři HTML",
@@ -6,6 +11,8 @@
"No file was uploaded" => "Žádný soubor nebyl odeslán",
"Missing a temporary folder" => "Chybí adresář pro doÄasné soubory",
"Failed to write to disk" => "Zápis na disk selhal",
+"Not enough space available" => "Nedostatek dostupného místa",
+"Invalid directory." => "Neplatný adresář",
"Files" => "Soubory",
"Unshare" => "Zrušit sdílení",
"Delete" => "Smazat",
@@ -19,8 +26,10 @@
"replaced {new_name} with {old_name}" => "nahrazeno {new_name} s {old_name}",
"unshared {files}" => "sdílení zrušeno pro {files}",
"deleted {files}" => "smazáno {files}",
+"'.' is an invalid file name." => "'.' je neplatným názvem souboru.",
+"File name cannot be empty." => "Název souboru nemůže být prázdný řetězec.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Neplatný název, znaky '\\', '/', '<', '>', ':', '\"', '|', '?' a '*' nejsou povoleny.",
-"generating ZIP-file, it may take some time." => "generuji ZIP soubor, může to nějakou dobu trvat.",
+"Your download is being prepared. This might take some time if the files are big." => "Vaše soubory ke stažení se připravují. Pokud jsou velké může to chvíli trvat.",
"Unable to upload your file as it is a directory or has 0 bytes" => "Nelze odeslat Váš soubor, protože je to adresář nebo má velikost 0 bajtů",
"Upload Error" => "Chyba odesílání",
"Close" => "Zavřít",
@@ -29,7 +38,8 @@
"{count} files uploading" => "odesílám {count} souborů",
"Upload cancelled." => "Odesílání zrušeno.",
"File upload is in progress. Leaving the page now will cancel the upload." => "Probíhá odesílání souboru. Opuštění stránky vyústí ve zrušení nahrávání.",
-"Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" => "Neplatný název složky. Použití názvu \"Shared\" je rezervováno pro interní úžití službou Owncloud.",
+"URL cannot be empty." => "URL nemůže být prázdná",
+"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Neplatný název složky. Použití 'Shared' je rezervováno pro vnitřní potřeby Owncloud",
"{count} files scanned" => "prozkoumáno {count} souborů",
"error while scanning" => "chyba při prohledávání",
"Name" => "Název",
@@ -51,7 +61,6 @@
"Text file" => "Textový soubor",
"Folder" => "Složka",
"From link" => "Z odkazu",
-"Upload" => "Odeslat",
"Cancel upload" => "Zrušit odesílání",
"Nothing in here. Upload something!" => "Žádný obsah. Nahrajte něco.",
"Download" => "Stáhnout",
diff --git a/apps/files/l10n/da.php b/apps/files/l10n/da.php
index 05404d27af7..010af12e960 100644
--- a/apps/files/l10n/da.php
+++ b/apps/files/l10n/da.php
@@ -1,4 +1,6 @@
<?php $TRANSLATIONS = array(
+"Upload" => "Upload",
+"No file was uploaded. Unknown error" => "Ingen fil blev uploadet. Ukendt fejl.",
"There is no error, the file uploaded with success" => "Der er ingen fejl, filen blev uploadet med success",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Den uploadede fil overstiger upload_max_filesize direktivet i php.ini",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Den uploadede fil overskrider MAX_FILE_SIZE -direktivet som er specificeret i HTML-formularen",
@@ -20,7 +22,6 @@
"unshared {files}" => "ikke delte {files}",
"deleted {files}" => "slettede {files}",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Ugyldigt navn, '\\', '/', '<', '>', ':' | '?', '\"', '', og '*' er ikke tilladt.",
-"generating ZIP-file, it may take some time." => "genererer ZIP-fil, det kan tage lidt tid.",
"Unable to upload your file as it is a directory or has 0 bytes" => "Kunne ikke uploade din fil, da det enten er en mappe eller er tom",
"Upload Error" => "Fejl ved upload",
"Close" => "Luk",
@@ -29,7 +30,7 @@
"{count} files uploading" => "{count} filer uploades",
"Upload cancelled." => "Upload afbrudt.",
"File upload is in progress. Leaving the page now will cancel the upload." => "Fil upload kører. Hvis du forlader siden nu, vil uploadet blive annuleret.",
-"Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" => "Ugyldigt mappenavn. Brug af \"Shared\" er forbeholdt Owncloud",
+"URL cannot be empty." => "URLen kan ikke være tom.",
"{count} files scanned" => "{count} filer skannet",
"error while scanning" => "fejl under scanning",
"Name" => "Navn",
@@ -51,7 +52,6 @@
"Text file" => "Tekstfil",
"Folder" => "Mappe",
"From link" => "Fra link",
-"Upload" => "Upload",
"Cancel upload" => "Fortryd upload",
"Nothing in here. Upload something!" => "Her er tomt. Upload noget!",
"Download" => "Download",
diff --git a/apps/files/l10n/de.php b/apps/files/l10n/de.php
index 8073ee28da5..c851f7df2a7 100644
--- a/apps/files/l10n/de.php
+++ b/apps/files/l10n/de.php
@@ -1,4 +1,9 @@
<?php $TRANSLATIONS = array(
+"Upload" => "Hochladen",
+"Could not move %s - File with this name already exists" => "Konnte %s nicht verschieben - Datei mit diesem Namen existiert bereits.",
+"Could not move %s" => "Konnte %s nicht verschieben",
+"Unable to rename file" => "Konnte Datei nicht umbenennen",
+"No file was uploaded. Unknown error" => "Keine Datei hochgeladen. Unbekannter Fehler",
"There is no error, the file uploaded with success" => "Datei fehlerfrei hochgeladen.",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Die hochgeladene Datei überschreitet die upload_max_filesize Vorgabe in php.ini",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Die Größe der hochzuladenden Datei überschreitet die MAX_FILE_SIZE-Richtlinie, die im HTML-Formular angegeben wurde",
@@ -6,6 +11,8 @@
"No file was uploaded" => "Es wurde keine Datei hochgeladen.",
"Missing a temporary folder" => "Temporärer Ordner fehlt.",
"Failed to write to disk" => "Fehler beim Schreiben auf die Festplatte",
+"Not enough space available" => "Nicht genug Speicherplatz verfügbar",
+"Invalid directory." => "Ungültiges Verzeichnis",
"Files" => "Dateien",
"Unshare" => "Nicht mehr freigeben",
"Delete" => "Löschen",
@@ -19,8 +26,10 @@
"replaced {new_name} with {old_name}" => "{old_name} ersetzt durch {new_name}",
"unshared {files}" => "Freigabe von {files} aufgehoben",
"deleted {files}" => "{files} gelöscht",
+"'.' is an invalid file name." => "'.' ist kein gültiger Dateiname",
+"File name cannot be empty." => "Der Dateiname darf nicht leer sein",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Ungültiger Name, '\\', '/', '<', '>', ':', '\"', '|', '?' und '*' sind nicht zulässig.",
-"generating ZIP-file, it may take some time." => "Erstelle ZIP-Datei. Dies kann eine Weile dauern.",
+"Your download is being prepared. This might take some time if the files are big." => "Dein Download wird vorbereitet. Dies kann bei größeren Dateien etwas dauern.",
"Unable to upload your file as it is a directory or has 0 bytes" => "Deine Datei kann nicht hochgeladen werden, da sie entweder ein Verzeichnis oder 0 Bytes groß ist.",
"Upload Error" => "Fehler beim Upload",
"Close" => "Schließen",
@@ -29,7 +38,8 @@
"{count} files uploading" => "{count} Dateien werden hochgeladen",
"Upload cancelled." => "Upload abgebrochen.",
"File upload is in progress. Leaving the page now will cancel the upload." => "Dateiupload läuft. Wenn Du die Seite jetzt verlässt, wird der Upload abgebrochen.",
-"Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" => "Ungültiger Ordnername. Die Verwendung von \"Shared\" ist ownCloud vorbehalten.",
+"URL cannot be empty." => "Die URL darf nicht leer sein",
+"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Ungültiger Verzeichnisname. Die Nutzung von \"Shared\" ist ownCloud vorbehalten.",
"{count} files scanned" => "{count} Dateien wurden gescannt",
"error while scanning" => "Fehler beim Scannen",
"Name" => "Name",
@@ -51,7 +61,6 @@
"Text file" => "Textdatei",
"Folder" => "Ordner",
"From link" => "Von einem Link",
-"Upload" => "Hochladen",
"Cancel upload" => "Upload abbrechen",
"Nothing in here. Upload something!" => "Alles leer. Lade etwas hoch!",
"Download" => "Herunterladen",
diff --git a/apps/files/l10n/de_DE.php b/apps/files/l10n/de_DE.php
index 6a9730e94b0..281685b78df 100644
--- a/apps/files/l10n/de_DE.php
+++ b/apps/files/l10n/de_DE.php
@@ -1,4 +1,9 @@
<?php $TRANSLATIONS = array(
+"Upload" => "Hochladen",
+"Could not move %s - File with this name already exists" => "Konnte %s nicht verschieben - Datei mit diesem Namen existiert bereits",
+"Could not move %s" => "Konnte %s nicht verschieben",
+"Unable to rename file" => "Konnte Datei nicht umbenennen",
+"No file was uploaded. Unknown error" => "Keine Datei hochgeladen. Unbekannter Fehler",
"There is no error, the file uploaded with success" => "Es sind keine Fehler aufgetreten. Die Datei wurde erfolgreich hochgeladen.",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Die hochgeladene Datei überschreitet die upload_max_filesize Vorgabe in php.ini",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Die Größe der hochzuladenden Datei überschreitet die MAX_FILE_SIZE-Richtlinie, die im HTML-Formular angegeben wurde",
@@ -6,6 +11,8 @@
"No file was uploaded" => "Es wurde keine Datei hochgeladen.",
"Missing a temporary folder" => "Der temporäre Ordner fehlt.",
"Failed to write to disk" => "Fehler beim Schreiben auf die Festplatte",
+"Not enough space available" => "Nicht genügend Speicherplatz verfügbar",
+"Invalid directory." => "Ungültiges Verzeichnis.",
"Files" => "Dateien",
"Unshare" => "Nicht mehr freigeben",
"Delete" => "Löschen",
@@ -19,8 +26,10 @@
"replaced {new_name} with {old_name}" => "{old_name} wurde ersetzt durch {new_name}",
"unshared {files}" => "Freigabe für {files} beendet",
"deleted {files}" => "{files} gelöscht",
+"'.' is an invalid file name." => "'.' ist kein gültiger Dateiname.",
+"File name cannot be empty." => "Der Dateiname darf nicht leer sein.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Ungültiger Name, '\\', '/', '<', '>', ':', '\"', '|', '?' und '*' sind nicht zulässig.",
-"generating ZIP-file, it may take some time." => "Erstelle ZIP-Datei. Dies kann eine Weile dauern.",
+"Your download is being prepared. This might take some time if the files are big." => "Ihr Download wird vorbereitet. Dies kann bei größeren Dateien einen Moment dauern.",
"Unable to upload your file as it is a directory or has 0 bytes" => "Ihre Datei kann nicht hochgeladen werden, da sie entweder ein Verzeichnis oder 0 Bytes groß ist.",
"Upload Error" => "Fehler beim Upload",
"Close" => "Schließen",
@@ -29,7 +38,8 @@
"{count} files uploading" => "{count} Dateien wurden hochgeladen",
"Upload cancelled." => "Upload abgebrochen.",
"File upload is in progress. Leaving the page now will cancel the upload." => "Der Dateiupload läuft. Wenn Sie die Seite jetzt verlassen, wird der Upload abgebrochen.",
-"Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" => "Ungültiger Ordnername. Die Verwendung von \"Shared\" ist ownCloud vorbehalten.",
+"URL cannot be empty." => "Die URL darf nicht leer sein.",
+"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Ungültiger Verzeichnisname. Die Nutzung von \"Shared\" ist ownCloud vorbehalten",
"{count} files scanned" => "{count} Dateien wurden gescannt",
"error while scanning" => "Fehler beim Scannen",
"Name" => "Name",
@@ -51,7 +61,6 @@
"Text file" => "Textdatei",
"Folder" => "Ordner",
"From link" => "Von einem Link",
-"Upload" => "Hochladen",
"Cancel upload" => "Upload abbrechen",
"Nothing in here. Upload something!" => "Alles leer. Bitte laden Sie etwas hoch!",
"Download" => "Herunterladen",
diff --git a/apps/files/l10n/el.php b/apps/files/l10n/el.php
index ddbea421241..cc93943d286 100644
--- a/apps/files/l10n/el.php
+++ b/apps/files/l10n/el.php
@@ -1,4 +1,9 @@
<?php $TRANSLATIONS = array(
+"Upload" => "Αποστολή",
+"Could not move %s - File with this name already exists" => "Αδυναμία μετακίνησης του %s - υπάÏχει ήδη αÏχείο με αυτό το όνομα",
+"Could not move %s" => "Αδυναμία μετακίνησης του %s",
+"Unable to rename file" => "Αδυναμία μετονομασίας αÏχείου",
+"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:",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Το αÏχείο υπεÏβαίνει την οδηγία μέγιστου επιτÏÎµÏ€Ï„Î¿Ï Î¼ÎµÎ³Î­Î¸Î¿Ï…Ï‚ \"MAX_FILE_SIZE\" που έχει οÏιστεί στην HTML φόÏμα",
@@ -6,6 +11,8 @@
"No file was uploaded" => "Κανένα αÏχείο δεν στάλθηκε",
"Missing a temporary folder" => "Λείπει ο Ï€ÏοσωÏινός φάκελος",
"Failed to write to disk" => "Αποτυχία εγγÏαφής στο δίσκο",
+"Not enough space available" => "Δεν υπάÏχει αÏκετός διαθέσιμος χώÏος",
+"Invalid directory." => "Μη έγκυÏος φάκελος.",
"Files" => "ΑÏχεία",
"Unshare" => "Διακοπή κοινής χÏήσης",
"Delete" => "ΔιαγÏαφή",
@@ -19,8 +26,10 @@
"replaced {new_name} with {old_name}" => "αντικαταστάθηκε το {new_name} με {old_name}",
"unshared {files}" => "μη διαμοιÏασμένα {files}",
"deleted {files}" => "διαγÏαμμένα {files}",
+"'.' is an invalid file name." => "'.' είναι μη έγκυÏο όνομα αÏχείου.",
+"File name cannot be empty." => "Το όνομα αÏχείου δεν Ï€Ïέπει να είναι κενό.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Μη έγκυÏο όνομα, '\\', '/', '<', '>', ':', '\"', '|', '?' και '*' δεν επιτÏέπονται.",
-"generating ZIP-file, it may take some time." => "παÏαγωγή αÏχείου ZIP, ίσως διαÏκέσει αÏκετά.",
+"Your download is being prepared. This might take some time if the files are big." => "Η λήψη Ï€Ïοετοιμάζεται. Αυτό μποÏεί να πάÏει ÏŽÏα εάν τα αÏχεία έχουν μεγάλο μέγεθος.",
"Unable to upload your file as it is a directory or has 0 bytes" => "Αδυναμία στην αποστολή του αÏχείου σας Î±Ï†Î¿Ï ÎµÎ¯Î½Î±Î¹ φάκελος ή έχει 0 bytes",
"Upload Error" => "Σφάλμα Αποστολής",
"Close" => "Κλείσιμο",
@@ -28,8 +37,9 @@
"1 file uploading" => "1 αÏχείο ανεβαίνει",
"{count} files uploading" => "{count} αÏχεία ανεβαίνουν",
"Upload cancelled." => "Η αποστολή ακυÏώθηκε.",
-"File upload is in progress. Leaving the page now will cancel the upload." => "Η αποστολή του αÏχείου βÏίσκεται σε εξέλιξη. Έξοδος από την σελίδα τώÏα θα ακυÏώσει την αποστολή.",
-"Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" => "Μη έγκυÏο όνομα φακέλου. Η χÏήση του \"Shared\" είναι δεσμευμένη από το Owncloud",
+"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" => "Μη έγκυÏο όνομα φακέλου. Η χÏήση του 'ΚοινόχÏηστος' χÏησιμοποιείται από ο Owncloud",
"{count} files scanned" => "{count} αÏχεία ανιχνεÏτηκαν",
"error while scanning" => "σφάλμα κατά την ανίχνευση",
"Name" => "Όνομα",
@@ -51,12 +61,11 @@
"Text file" => "ΑÏχείο κειμένου",
"Folder" => "Φάκελος",
"From link" => "Από σÏνδεσμο",
-"Upload" => "Αποστολή",
"Cancel upload" => "ΑκÏÏωση αποστολής",
"Nothing in here. Upload something!" => "Δεν υπάÏχει τίποτα εδώ. Ανέβασε κάτι!",
"Download" => "Λήψη",
"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" => "ΤÏέχουσα αναζήτηση "
);
diff --git a/apps/files/l10n/eo.php b/apps/files/l10n/eo.php
index bdde6d0fece..0aebf9c034e 100644
--- a/apps/files/l10n/eo.php
+++ b/apps/files/l10n/eo.php
@@ -1,4 +1,9 @@
<?php $TRANSLATIONS = array(
+"Upload" => "AlÅuti",
+"Could not move %s - File with this name already exists" => "Ne eblis movi %s: dosiero kun ĉi tiu nomo jam ekzistas",
+"Could not move %s" => "Ne eblis movi %s",
+"Unable to rename file" => "Ne eblis alinomigi dosieron",
+"No file was uploaded. Unknown error" => "Neniu dosiero alÅutiÄis. Nekonata eraro.",
"There is no error, the file uploaded with success" => "Ne estas eraro, la dosiero alÅutiÄis sukcese",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "La dosiero alÅutita superas la regulon upload_max_filesize el php.ini: ",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "La dosiero alÅutita superas la regulon MAX_FILE_SIZE, kiu estas difinita en la HTML-formularo",
@@ -6,6 +11,8 @@
"No file was uploaded" => "Neniu dosiero estas alÅutita",
"Missing a temporary folder" => "Mankas tempa dosierujo",
"Failed to write to disk" => "Malsukcesis skribo al disko",
+"Not enough space available" => "Ne haveblas sufiĉa spaco",
+"Invalid directory." => "Nevalida dosierujo.",
"Files" => "Dosieroj",
"Unshare" => "Malkunhavigi",
"Delete" => "Forigi",
@@ -19,8 +26,10 @@
"replaced {new_name} with {old_name}" => "anstataÅ­iÄis {new_name} per {old_name}",
"unshared {files}" => "malkunhaviÄis {files}",
"deleted {files}" => "foriÄis {files}",
+"'.' is an invalid file name." => "'.' ne estas valida dosiernomo.",
+"File name cannot be empty." => "Dosiernomo devas ne malpleni.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nevalida nomo: “\\â€, “/â€, “<â€, “>â€, “:â€, “\"â€, “|â€, “?†kaj “*†ne permesatas.",
-"generating ZIP-file, it may take some time." => "generanta ZIP-dosiero, Äi povas daÅ­ri iom da tempo",
+"Your download is being prepared. This might take some time if the files are big." => "Via elÅuto pretiÄatas. Ĉi tio povas daÅ­ri iom da tempo se la dosieroj grandas.",
"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",
"Upload Error" => "AlÅuta eraro",
"Close" => "Fermi",
@@ -29,7 +38,8 @@
"{count} files uploading" => "{count} dosieroj alÅutatas",
"Upload cancelled." => "La alÅuto nuliÄis.",
"File upload is in progress. Leaving the page now will cancel the upload." => "DosieralÅuto plenumiÄas. Lasi la paÄon nun nuligus la alÅuton.",
-"Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" => "Nevalida nomo de dosierujo. Uzo de “Shared†rezervitas de Owncloud",
+"URL cannot be empty." => "URL ne povas esti malplena.",
+"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Nevalida dosierujnomo. Uzo de “Shared†rezervatas de Owncloud.",
"{count} files scanned" => "{count} dosieroj skaniÄis",
"error while scanning" => "eraro dum skano",
"Name" => "Nomo",
@@ -51,7 +61,6 @@
"Text file" => "Tekstodosiero",
"Folder" => "Dosierujo",
"From link" => "El ligilo",
-"Upload" => "AlÅuti",
"Cancel upload" => "Nuligi alÅuton",
"Nothing in here. Upload something!" => "Nenio estas ĉi tie. AlÅutu ion!",
"Download" => "ElÅuti",
diff --git a/apps/files/l10n/es.php b/apps/files/l10n/es.php
index 40b9ea9f23f..c76431ef383 100644
--- a/apps/files/l10n/es.php
+++ b/apps/files/l10n/es.php
@@ -1,4 +1,9 @@
<?php $TRANSLATIONS = array(
+"Upload" => "Subir",
+"Could not move %s - File with this name already exists" => "No se puede mover %s - Ya existe un archivo con ese nombre",
+"Could not move %s" => "No se puede mover %s",
+"Unable to rename file" => "No se puede renombrar el archivo",
+"No file was uploaded. Unknown error" => "Fallo no se subió el fichero",
"There is no error, the file uploaded with success" => "No se ha producido ningún error, el archivo se ha subido con éxito",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "El archivo que intentas subir sobrepasa el tamaño definido por la variable upload_max_filesize en php.ini",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "El archivo que intentas subir sobrepasa el tamaño definido por la variable MAX_FILE_SIZE especificada en el formulario HTML",
@@ -6,6 +11,8 @@
"No file was uploaded" => "No se ha subido ningún archivo",
"Missing a temporary folder" => "Falta un directorio temporal",
"Failed to write to disk" => "La escritura en disco ha fallado",
+"Not enough space available" => "No hay suficiente espacio disponible",
+"Invalid directory." => "Directorio invalido.",
"Files" => "Archivos",
"Unshare" => "Dejar de compartir",
"Delete" => "Eliminar",
@@ -19,8 +26,10 @@
"replaced {new_name} with {old_name}" => "reemplazado {new_name} con {old_name}",
"unshared {files}" => "{files} descompartidos",
"deleted {files}" => "{files} eliminados",
+"'.' is an invalid file name." => "'.' es un nombre de archivo inválido.",
+"File name cannot be empty." => "El nombre de archivo no puede estar vacío.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nombre Invalido, \"\\\", \"/\", \"<\", \">\", \":\", \"\", \"|\" \"?\" y \"*\" no están permitidos ",
-"generating ZIP-file, it may take some time." => "generando un fichero ZIP, puede llevar un tiempo.",
+"Your download is being prepared. This might take some time if the files are big." => "Tu descarga esta siendo preparada. Esto puede tardar algun tiempo si los archivos son muy grandes.",
"Unable to upload your file as it is a directory or has 0 bytes" => "No ha sido posible subir tu archivo porque es un directorio o tiene 0 bytes",
"Upload Error" => "Error al subir el archivo",
"Close" => "cerrrar",
@@ -29,7 +38,8 @@
"{count} files uploading" => "Subiendo {count} archivos",
"Upload cancelled." => "Subida cancelada.",
"File upload is in progress. Leaving the page now will cancel the upload." => "La subida del archivo está en proceso. Salir de la página ahora cancelará la subida.",
-"Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" => "Nombre de la carpeta invalido. El uso de \"Shared\" esta reservado para Owncloud",
+"URL cannot be empty." => "La URL no puede estar vacía.",
+"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Nombre de carpeta invalido. El uso de \"Shared\" esta reservado para Owncloud",
"{count} files scanned" => "{count} archivos escaneados",
"error while scanning" => "error escaneando",
"Name" => "Nombre",
@@ -51,7 +61,6 @@
"Text file" => "Archivo de texto",
"Folder" => "Carpeta",
"From link" => "Desde el enlace",
-"Upload" => "Subir",
"Cancel upload" => "Cancelar subida",
"Nothing in here. Upload something!" => "Aquí no hay nada. ¡Sube algo!",
"Download" => "Descargar",
diff --git a/apps/files/l10n/es_AR.php b/apps/files/l10n/es_AR.php
index e514d8de59a..418844007b2 100644
--- a/apps/files/l10n/es_AR.php
+++ b/apps/files/l10n/es_AR.php
@@ -1,4 +1,9 @@
<?php $TRANSLATIONS = array(
+"Upload" => "Subir",
+"Could not move %s - File with this name already exists" => "No se pudo mover %s - Un archivo con este nombre ya existe",
+"Could not move %s" => "No se pudo mover %s ",
+"Unable to rename file" => "No fue posible cambiar el nombre al archivo",
+"No file was uploaded. Unknown error" => "El archivo no fue subido. Error desconocido",
"There is no error, the file uploaded with success" => "No se han producido errores, el archivo se ha subido con éxito",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "El archivo que intentás subir excede el tamaño definido por upload_max_filesize en el php.ini:",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "El archivo que intentás subir sobrepasa el tamaño definido por la variable MAX_FILE_SIZE especificada en el formulario HTML",
@@ -6,6 +11,8 @@
"No file was uploaded" => "El archivo no fue subido",
"Missing a temporary folder" => "Falta un directorio temporal",
"Failed to write to disk" => "Error al escribir en el disco",
+"Not enough space available" => "No hay suficiente espacio disponible",
+"Invalid directory." => "Directorio invalido.",
"Files" => "Archivos",
"Unshare" => "Dejar de compartir",
"Delete" => "Borrar",
@@ -19,8 +26,10 @@
"replaced {new_name} with {old_name}" => "reemplazado {new_name} con {old_name}",
"unshared {files}" => "{files} se dejaron de compartir",
"deleted {files}" => "{files} borrados",
+"'.' is an invalid file name." => "'.' es un nombre de archivo inválido.",
+"File name cannot be empty." => "El nombre del archivo no puede quedar vacío.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nombre invalido, '\\', '/', '<', '>', ':', '\"', '|', '?' y '*' no están permitidos.",
-"generating ZIP-file, it may take some time." => "generando un archivo ZIP, puede llevar un tiempo.",
+"Your download is being prepared. This might take some time if the files are big." => "Tu descarga esta siendo preparada. Esto puede tardar algun tiempo si los archivos son muy grandes.",
"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",
"Upload Error" => "Error al subir el archivo",
"Close" => "Cerrar",
@@ -29,7 +38,8 @@
"{count} files uploading" => "Subiendo {count} archivos",
"Upload cancelled." => "La subida fue cancelada",
"File upload is in progress. Leaving the page now will cancel the upload." => "La subida del archivo está en proceso. Si salís de la página ahora, la subida se cancelará.",
-"Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" => "Nombre del directorio inválido. Usar \"Shared\" está reservado por ownCloud.",
+"URL cannot be empty." => "La URL no puede estar vacía",
+"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Nombre de carpeta inválido. El uso de 'Shared' está reservado por ownCloud",
"{count} files scanned" => "{count} archivos escaneados",
"error while scanning" => "error mientras se escaneaba",
"Name" => "Nombre",
@@ -51,7 +61,6 @@
"Text file" => "Archivo de texto",
"Folder" => "Carpeta",
"From link" => "Desde enlace",
-"Upload" => "Subir",
"Cancel upload" => "Cancelar subida",
"Nothing in here. Upload something!" => "No hay nada. ¡Subí contenido!",
"Download" => "Descargar",
diff --git a/apps/files/l10n/et_EE.php b/apps/files/l10n/et_EE.php
index 0fddbfdca46..8305cf0edea 100644
--- a/apps/files/l10n/et_EE.php
+++ b/apps/files/l10n/et_EE.php
@@ -1,4 +1,6 @@
<?php $TRANSLATIONS = array(
+"Upload" => "Lae üles",
+"No file was uploaded. Unknown error" => "Ühtegi faili ei laetud üles. Tundmatu viga",
"There is no error, the file uploaded with success" => "Ühtegi viga pole, fail on üles laetud",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Üles laetud faili suurus ületab HTML vormis määratud upload_max_filesize suuruse",
"The uploaded file was only partially uploaded" => "Fail laeti üles ainult osaliselt",
@@ -19,7 +21,6 @@
"unshared {files}" => "jagamata {files}",
"deleted {files}" => "kustutatud {files}",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Vigane nimi, '\\', '/', '<', '>', ':', '\"', '|', '?' ja '*' pole lubatud.",
-"generating ZIP-file, it may take some time." => "ZIP-faili loomine, see võib veidi aega võtta.",
"Unable to upload your file as it is a directory or has 0 bytes" => "Sinu faili üleslaadimine ebaõnnestus, kuna see on kaust või selle suurus on 0 baiti",
"Upload Error" => "Üleslaadimise viga",
"Close" => "Sulge",
@@ -28,7 +29,7 @@
"{count} files uploading" => "{count} faili üleslaadimist",
"Upload cancelled." => "Üleslaadimine tühistati.",
"File upload is in progress. Leaving the page now will cancel the upload." => "Faili üleslaadimine on töös. Lehelt lahkumine katkestab selle üleslaadimise.",
-"Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" => "Vigane kausta nimi. Nime \"Jagatud\" kasutamine on Owncloudi poolt broneeritud ",
+"URL cannot be empty." => "URL ei saa olla tühi.",
"{count} files scanned" => "{count} faili skännitud",
"error while scanning" => "viga skännimisel",
"Name" => "Nimi",
@@ -50,7 +51,6 @@
"Text file" => "Tekstifail",
"Folder" => "Kaust",
"From link" => "Allikast",
-"Upload" => "Lae üles",
"Cancel upload" => "Tühista üleslaadimine",
"Nothing in here. Upload something!" => "Siin pole midagi. Lae midagi üles!",
"Download" => "Lae alla",
diff --git a/apps/files/l10n/eu.php b/apps/files/l10n/eu.php
index 0b223b93d8c..a1cb5632121 100644
--- a/apps/files/l10n/eu.php
+++ b/apps/files/l10n/eu.php
@@ -1,4 +1,9 @@
<?php $TRANSLATIONS = array(
+"Upload" => "Igo",
+"Could not move %s - File with this name already exists" => "Ezin da %s mugitu - Izen hau duen fitxategia dagoeneko existitzen da",
+"Could not move %s" => "Ezin dira fitxategiak mugitu %s",
+"Unable to rename file" => "Ezin izan da fitxategia berrizendatu",
+"No file was uploaded. Unknown error" => "Ez da fitxategirik igo. Errore ezezaguna",
"There is no error, the file uploaded with success" => "Ez da arazorik izan, fitxategia ongi igo da",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Igotako fitxategiak php.ini fitxategian ezarritako upload_max_filesize muga gainditu du:",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Igotako fitxategiaren tamaina HTML inprimakiko MAX_FILESIZE direktiban adierazitakoa baino handiagoa da",
@@ -6,6 +11,8 @@
"No file was uploaded" => "Ez da fitxategirik igo",
"Missing a temporary folder" => "Aldi baterako karpeta falta da",
"Failed to write to disk" => "Errore bat izan da diskoan idazterakoan",
+"Not enough space available" => "Ez dago leku nahikorik.",
+"Invalid directory." => "Baliogabeko karpeta.",
"Files" => "Fitxategiak",
"Unshare" => "Ez elkarbanatu",
"Delete" => "Ezabatu",
@@ -19,8 +26,9 @@
"replaced {new_name} with {old_name}" => " {new_name}-k {old_name} ordezkatu du",
"unshared {files}" => "elkarbanaketa utzita {files}",
"deleted {files}" => "ezabatuta {files}",
+"'.' is an invalid file name." => "'.' ez da fitxategi izen baliogarria.",
+"File name cannot be empty." => "Fitxategi izena ezin da hutsa izan.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "IZen aliogabea, '\\', '/', '<', '>', ':', '\"', '|', '?' eta '*' ez daude baimenduta.",
-"generating ZIP-file, it may take some time." => "ZIP-fitxategia sortzen ari da, denbora har dezake",
"Unable to upload your file as it is a directory or has 0 bytes" => "Ezin da zure fitxategia igo, karpeta bat da edo 0 byt ditu",
"Upload Error" => "Igotzean errore bat suertatu da",
"Close" => "Itxi",
@@ -29,7 +37,8 @@
"{count} files uploading" => "{count} fitxategi igotzen",
"Upload cancelled." => "Igoera ezeztatuta",
"File upload is in progress. Leaving the page now will cancel the upload." => "Fitxategien igoera martxan da. Orria orain uzteak igoera ezeztatutko du.",
-"Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" => "Karpeta izen baliogabea. \"Shared\" karpetaren erabilera Owncloudek erreserbatuta dauka",
+"URL cannot be empty." => "URLa ezin da hutsik egon.",
+"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Baliogabeako karpeta izena. 'Shared' izena Owncloudek erreserbatzen du",
"{count} files scanned" => "{count} fitxategi eskaneatuta",
"error while scanning" => "errore bat egon da eskaneatzen zen bitartean",
"Name" => "Izena",
@@ -51,7 +60,6 @@
"Text file" => "Testu fitxategia",
"Folder" => "Karpeta",
"From link" => "Estekatik",
-"Upload" => "Igo",
"Cancel upload" => "Ezeztatu igoera",
"Nothing in here. Upload something!" => "Ez dago ezer. Igo zerbait!",
"Download" => "Deskargatu",
diff --git a/apps/files/l10n/fa.php b/apps/files/l10n/fa.php
index 8284593e886..ec8b5cdec4e 100644
--- a/apps/files/l10n/fa.php
+++ b/apps/files/l10n/fa.php
@@ -1,4 +1,6 @@
<?php $TRANSLATIONS = array(
+"Upload" => "بارگذاری",
+"No file was uploaded. Unknown error" => "هیچ ÙØ§ÛŒÙ„ÛŒ آپلود نشد.خطای ناشناس",
"There is no error, the file uploaded with success" => "هیچ خطایی وجود ندارد ÙØ§ÛŒÙ„ با موÙقیت بار گذاری شد",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "حداکثر حجم مجاز برای بارگذاری از طریق HTML \nMAX_FILE_SIZE",
"The uploaded file was only partially uploaded" => "مقدار Ú©Ù…ÛŒ از ÙØ§ÛŒÙ„ بارگذاری شده",
@@ -6,12 +8,12 @@
"Missing a temporary folder" => "یک پوشه موقت گم شده است",
"Failed to write to disk" => "نوشتن بر روی دیسک سخت ناموÙÙ‚ بود",
"Files" => "ÙØ§ÛŒÙ„ ها",
+"Unshare" => "لغو اشتراک",
"Delete" => "پاک کردن",
"Rename" => "تغییرنام",
"replace" => "جایگزین",
"cancel" => "لغو",
"undo" => "بازگشت",
-"generating ZIP-file, it may take some time." => "در حال ساخت ÙØ§ÛŒÙ„ ÙØ´Ø±Ø¯Ù‡ ممکن است زمان زیادی به طول بیانجامد",
"Unable to upload your file as it is a directory or has 0 bytes" => "ناتوان در بارگذاری یا ÙØ§ÛŒÙ„ یک پوشه است یا 0بایت دارد",
"Upload Error" => "خطا در بار گذاری",
"Close" => "بستن",
@@ -31,7 +33,6 @@
"New" => "جدید",
"Text file" => "ÙØ§ÛŒÙ„ متنی",
"Folder" => "پوشه",
-"Upload" => "بارگذاری",
"Cancel upload" => "متوق٠کردن بار گذاری",
"Nothing in here. Upload something!" => "اینجا هیچ چیز نیست.",
"Download" => "بارگیری",
diff --git a/apps/files/l10n/fi_FI.php b/apps/files/l10n/fi_FI.php
index 772dabbb392..fac93b1246b 100644
--- a/apps/files/l10n/fi_FI.php
+++ b/apps/files/l10n/fi_FI.php
@@ -1,10 +1,17 @@
<?php $TRANSLATIONS = array(
+"Upload" => "Lähetä",
+"Could not move %s - File with this name already exists" => "Kohteen %s siirto ei onnistunut - Tiedosto samalla nimellä on jo olemassa",
+"Could not move %s" => "Kohteen %s siirto ei onnistunut",
+"Unable to rename file" => "Tiedoston nimeäminen uudelleen ei onnistunut",
+"No file was uploaded. Unknown error" => "Tiedostoa ei lähetetty. Tuntematon virhe",
"There is no error, the file uploaded with success" => "Ei virheitä, tiedosto lähetettiin onnistuneesti",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Lähetetty tiedosto ylittää HTML-lomakkeessa määritetyn MAX_FILE_SIZE-arvon ylärajan",
"The uploaded file was only partially uploaded" => "Tiedoston lähetys onnistui vain osittain",
"No file was uploaded" => "Yhtäkään tiedostoa ei lähetetty",
"Missing a temporary folder" => "Väliaikaiskansiota ei ole olemassa",
"Failed to write to disk" => "Levylle kirjoitus epäonnistui",
+"Not enough space available" => "Tilaa ei ole riittävästi",
+"Invalid directory." => "Virheellinen kansio.",
"Files" => "Tiedostot",
"Unshare" => "Peru jakaminen",
"Delete" => "Poista",
@@ -14,14 +21,17 @@
"suggest name" => "ehdota nimeä",
"cancel" => "peru",
"undo" => "kumoa",
+"'.' is an invalid file name." => "'.' on virheellinen nimi tiedostolle.",
+"File name cannot be empty." => "Tiedoston nimi ei voi olla tyhjä.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Virheellinen nimi, merkit '\\', '/', '<', '>', ':', '\"', '|', '?' ja '*' eivät ole sallittuja.",
-"generating ZIP-file, it may take some time." => "luodaan ZIP-tiedostoa, tämä saattaa kestää hetken.",
+"Your download is being prepared. This might take some time if the files are big." => "Lataustasi valmistellaan. Tämä saattaa kestää hetken, jos tiedostot ovat suuria kooltaan.",
"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",
"Upload Error" => "Lähetysvirhe.",
"Close" => "Sulje",
"Pending" => "Odottaa",
"Upload cancelled." => "Lähetys peruttu.",
"File upload is in progress. Leaving the page now will cancel the upload." => "Tiedoston lähetys on meneillään. Sivulta poistuminen nyt peruu tiedoston lähetyksen.",
+"URL cannot be empty." => "Verkko-osoite ei voi olla tyhjä",
"Name" => "Nimi",
"Size" => "Koko",
"Modified" => "Muutettu",
@@ -40,7 +50,7 @@
"New" => "Uusi",
"Text file" => "Tekstitiedosto",
"Folder" => "Kansio",
-"Upload" => "Lähetä",
+"From link" => "Linkistä",
"Cancel upload" => "Peru lähetys",
"Nothing in here. Upload something!" => "Täällä ei ole mitään. Lähetä tänne jotakin!",
"Download" => "Lataa",
diff --git a/apps/files/l10n/fr.php b/apps/files/l10n/fr.php
index 86d476873d0..2e4ae638207 100644
--- a/apps/files/l10n/fr.php
+++ b/apps/files/l10n/fr.php
@@ -1,4 +1,9 @@
<?php $TRANSLATIONS = array(
+"Upload" => "Envoyer",
+"Could not move %s - File with this name already exists" => "Impossible de déplacer %s - Un fichier possédant ce nom existe déjà",
+"Could not move %s" => "Impossible de déplacer %s",
+"Unable to rename file" => "Impossible de renommer le fichier",
+"No file was uploaded. Unknown error" => "Aucun fichier n'a été chargé. Erreur inconnue",
"There is no error, the file uploaded with success" => "Aucune erreur, le fichier a été téléversé avec succès",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Le fichier envoyé dépasse la valeur upload_max_filesize située dans le fichier php.ini:",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Le fichier téléversé excède la valeur de MAX_FILE_SIZE spécifiée dans le formulaire HTML",
@@ -6,6 +11,8 @@
"No file was uploaded" => "Aucun fichier n'a été téléversé",
"Missing a temporary folder" => "Il manque un répertoire temporaire",
"Failed to write to disk" => "Erreur d'écriture sur le disque",
+"Not enough space available" => "Espace disponible insuffisant",
+"Invalid directory." => "Dossier invalide.",
"Files" => "Fichiers",
"Unshare" => "Ne plus partager",
"Delete" => "Supprimer",
@@ -14,13 +21,15 @@
"replace" => "remplacer",
"suggest name" => "Suggérer un nom",
"cancel" => "annuler",
-"replaced {new_name}" => "{new_name} a été replacé",
+"replaced {new_name}" => "{new_name} a été remplacé",
"undo" => "annuler",
"replaced {new_name} with {old_name}" => "{new_name} a été remplacé par {old_name}",
"unshared {files}" => "Fichiers non partagés : {files}",
"deleted {files}" => "Fichiers supprimés : {files}",
+"'.' 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.",
-"generating ZIP-file, it may take some time." => "Fichier ZIP en cours d'assemblage ; cela peut prendre du temps.",
+"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.",
"Unable to upload your file as it is a directory or has 0 bytes" => "Impossible de charger vos fichiers car il s'agit d'un dossier ou le fichier fait 0 octet.",
"Upload Error" => "Erreur de chargement",
"Close" => "Fermer",
@@ -29,7 +38,8 @@
"{count} files uploading" => "{count} fichiers téléversés",
"Upload cancelled." => "Chargement annulé.",
"File upload is in progress. Leaving the page now will cancel the upload." => "L'envoi du fichier est en cours. Quitter cette page maintenant annulera l'envoi du fichier.",
-"Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" => "Nom de répertoire invalide. \"Shared\" est réservé par ownCloud",
+"URL cannot be empty." => "L'URL ne peut-être vide",
+"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Nom de dossier invalide. L'utilisation du mot 'Shared' est réservée à Owncloud",
"{count} files scanned" => "{count} fichiers indexés",
"error while scanning" => "erreur lors de l'indexation",
"Name" => "Nom",
@@ -51,10 +61,9 @@
"Text file" => "Fichier texte",
"Folder" => "Dossier",
"From link" => "Depuis le lien",
-"Upload" => "Envoyer",
"Cancel upload" => "Annuler l'envoi",
"Nothing in here. Upload something!" => "Il n'y a rien ici ! Envoyez donc quelque chose :)",
-"Download" => "Téléchargement",
+"Download" => "Télécharger",
"Upload too large" => "Fichier trop volumineux",
"The files you are trying to upload exceed the maximum size for file uploads on this server." => "Les fichiers que vous essayez d'envoyer dépassent la taille maximale permise par ce serveur.",
"Files are being scanned, please wait." => "Les fichiers sont en cours d'analyse, veuillez patienter.",
diff --git a/apps/files/l10n/gl.php b/apps/files/l10n/gl.php
index 5c50e3764cf..d24680eaa86 100644
--- a/apps/files/l10n/gl.php
+++ b/apps/files/l10n/gl.php
@@ -1,4 +1,9 @@
<?php $TRANSLATIONS = array(
+"Upload" => "Enviar",
+"Could not move %s - File with this name already exists" => "Non se moveu %s - Xa existe un ficheiro con ese nome.",
+"Could not move %s" => "Non se puido mover %s",
+"Unable to rename file" => "Non se pode renomear o ficheiro",
+"No file was uploaded. Unknown error" => "Non se subiu ningún ficheiro. Erro descoñecido.",
"There is no error, the file uploaded with success" => "Non hai erros. O ficheiro enviouse correctamente",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "O ficheiro subido excede a directiva indicada polo tamaño_máximo_de_subida de php.ini",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "O ficheiro enviado supera a directiva MAX_FILE_SIZE que foi indicada no formulario HTML",
@@ -6,6 +11,8 @@
"No file was uploaded" => "Non se enviou ningún ficheiro",
"Missing a temporary folder" => "Falta un cartafol temporal",
"Failed to write to disk" => "Erro ao escribir no disco",
+"Not enough space available" => "O espazo dispoñíbel é insuficiente",
+"Invalid directory." => "O directorio é incorrecto.",
"Files" => "Ficheiros",
"Unshare" => "Deixar de compartir",
"Delete" => "Eliminar",
@@ -19,8 +26,9 @@
"replaced {new_name} with {old_name}" => "substituír {new_name} polo {old_name}",
"unshared {files}" => "{files} sen compartir",
"deleted {files}" => "{files} eliminados",
+"'.' is an invalid file name." => "'.' é un nonme de ficheiro non válido",
+"File name cannot be empty." => "O nome de ficheiro non pode estar baldeiro",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nome non válido, '\\', '/', '<', '>', ':', '\"', '|', '?' e '*' non se permiten.",
-"generating ZIP-file, it may take some time." => "xerando un ficheiro ZIP, o que pode levar un anaco.",
"Unable to upload your file as it is a directory or has 0 bytes" => "Non se puido subir o ficheiro pois ou é un directorio ou ten 0 bytes",
"Upload Error" => "Erro na subida",
"Close" => "Pechar",
@@ -29,7 +37,8 @@
"{count} files uploading" => "{count} ficheiros subíndose",
"Upload cancelled." => "Subida cancelada.",
"File upload is in progress. Leaving the page now will cancel the upload." => "A subida do ficheiro está en curso. Saír agora da páxina cancelará a subida.",
-"Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" => "Nome de cartafol non válido. O uso de \"compartido\" está reservado exclusivamente para ownCloud",
+"URL cannot be empty." => "URL non pode quedar baleiro.",
+"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Nome de cartafol non válido. O uso de 'Shared' está reservado por Owncloud",
"{count} files scanned" => "{count} ficheiros escaneados",
"error while scanning" => "erro mentres analizaba",
"Name" => "Nome",
@@ -51,7 +60,6 @@
"Text file" => "Ficheiro de texto",
"Folder" => "Cartafol",
"From link" => "Dende a ligazón",
-"Upload" => "Enviar",
"Cancel upload" => "Cancelar a subida",
"Nothing in here. Upload something!" => "Nada por aquí. Envía algo.",
"Download" => "Descargar",
diff --git a/apps/files/l10n/he.php b/apps/files/l10n/he.php
index 4c73493211d..8acc544cf5f 100644
--- a/apps/files/l10n/he.php
+++ b/apps/files/l10n/he.php
@@ -1,4 +1,6 @@
<?php $TRANSLATIONS = array(
+"Upload" => "העל××”",
+"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:",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "הקובץ שהועלה חרג מההנחיה MAX_FILE_SIZE שצוינה בטופס ה־HTML",
@@ -20,7 +22,6 @@
"unshared {files}" => "בוטל ×©×™×ª×•×¤× ×©×œ {files}",
"deleted {files}" => "{files} נמחקו",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "×”×©× ×©×’×•×™, ×סור להשתמש ×‘×ª×•×•×™× '\\', '/', '<', '>', ':', '\"', '|', '?' ו־'*'.",
-"generating ZIP-file, it may take some time." => "יוצר קובץ ZIP, ×× × ×”×ž×ª×Ÿ.",
"Unable to upload your file as it is a directory or has 0 bytes" => "×œ× ×™×›×•×œ להעלות ×ת הקובץ מכיוון שזו תקיה ×ו שמשקל הקובץ 0 בתי×",
"Upload Error" => "שגי×ת העל××”",
"Close" => "סגירה",
@@ -29,7 +30,7 @@
"{count} files uploading" => "{count} ×§×‘×¦×™× × ×©×œ×—×™×",
"Upload cancelled." => "ההעל××” בוטלה.",
"File upload is in progress. Leaving the page now will cancel the upload." => "מתבצעת כעת העל×ת קבצי×. עזיבה של העמוד תבטל ×ת ההעל××”.",
-"Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" => "×©× ×”×ª×™×§×™×™×” שגוי. השימוש ×‘×©× â€žShared“ שמור לטובת Owncloud",
+"URL cannot be empty." => "קישור ×ינו יכול להיות ריק.",
"{count} files scanned" => "{count} ×§×‘×¦×™× × ×¡×¨×§×•",
"error while scanning" => "×ירעה שגי××” במהלך הסריקה",
"Name" => "ש×",
@@ -51,7 +52,6 @@
"Text file" => "קובץ טקסט",
"Folder" => "תיקייה",
"From link" => "מקישור",
-"Upload" => "העל××”",
"Cancel upload" => "ביטול ההעל××”",
"Nothing in here. Upload something!" => "×ין ×›×ן ×©×•× ×“×‘×¨. ×ולי ברצונך להעלות משהו?",
"Download" => "הורדה",
diff --git a/apps/files/l10n/hr.php b/apps/files/l10n/hr.php
index 4db4ac3f3e3..a9a7354d1d6 100644
--- a/apps/files/l10n/hr.php
+++ b/apps/files/l10n/hr.php
@@ -1,4 +1,5 @@
<?php $TRANSLATIONS = array(
+"Upload" => "Pošalji",
"There is no error, the file uploaded with success" => "Datoteka je poslana uspješno i bez pogrešaka",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Poslana datoteka izlazi iz okvira MAX_FILE_SIZE direktive postavljene u HTML obrascu",
"The uploaded file was only partially uploaded" => "Datoteka je poslana samo djelomiÄno",
@@ -13,7 +14,6 @@
"suggest name" => "predloži ime",
"cancel" => "odustani",
"undo" => "vrati",
-"generating ZIP-file, it may take some time." => "generiranje ZIP datoteke, ovo može potrajati.",
"Unable to upload your file as it is a directory or has 0 bytes" => "Nemoguće poslati datoteku jer je prazna ili je direktorij",
"Upload Error" => "Pogreška pri slanju",
"Close" => "Zatvori",
@@ -36,7 +36,6 @@
"New" => "novo",
"Text file" => "tekstualna datoteka",
"Folder" => "mapa",
-"Upload" => "Pošalji",
"Cancel upload" => "Prekini upload",
"Nothing in here. Upload something!" => "Nema niÄega u ovoj mapi. PoÅ¡alji neÅ¡to!",
"Download" => "Preuzmi",
diff --git a/apps/files/l10n/hu_HU.php b/apps/files/l10n/hu_HU.php
index 083d5a391e1..21797809b69 100644
--- a/apps/files/l10n/hu_HU.php
+++ b/apps/files/l10n/hu_HU.php
@@ -1,42 +1,71 @@
<?php $TRANSLATIONS = array(
-"There is no error, the file uploaded with success" => "Nincs hiba, a fájl sikeresen feltöltve.",
-"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "A feltöltött fájl meghaladja a MAX_FILE_SIZE direktívát ami meghatározott a HTML form-ban.",
-"The uploaded file was only partially uploaded" => "Az eredeti fájl csak részlegesen van feltöltve.",
-"No file was uploaded" => "Nem lett fájl feltöltve.",
-"Missing a temporary folder" => "Hiányzik az ideiglenes könyvtár",
-"Failed to write to disk" => "Nem írható lemezre",
+"Upload" => "Feltöltés",
+"Could not move %s - File with this name already exists" => "%s áthelyezése nem sikerült - már létezik másik fájl ezzel a névvel",
+"Could not move %s" => "Nem sikerült %s áthelyezése",
+"Unable to rename file" => "Nem lehet átnevezni a fájlt",
+"No file was uploaded. Unknown error" => "Nem történt feltöltés. Ismeretlen hiba",
+"There is no error, the file uploaded with success" => "A fájlt sikerült feltölteni",
+"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "A feltöltött fájl mérete meghaladja a php.ini állományban megadott upload_max_filesize paraméter értékét.",
+"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "A feltöltött fájl mérete meghaladja a MAX_FILE_SIZE paramétert, ami a HTML formban került megadásra.",
+"The uploaded file was only partially uploaded" => "Az eredeti fájlt csak részben sikerült feltölteni.",
+"No file was uploaded" => "Nem töltődött fel semmi",
+"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 space available" => "Nincs elég szabad hely",
+"Invalid directory." => "Érvénytelen mappa.",
"Files" => "Fájlok",
-"Unshare" => "Nem oszt meg",
+"Unshare" => "Megosztás visszavonása",
"Delete" => "Törlés",
-"replace" => "cserél",
+"Rename" => "Ãtnevezés",
+"{new_name} already exists" => "{new_name} már létezik",
+"replace" => "írjuk fölül",
+"suggest name" => "legyen más neve",
"cancel" => "mégse",
-"undo" => "visszavon",
-"generating ZIP-file, it may take some time." => "ZIP-fájl generálása, ez eltarthat egy ideig.",
+"replaced {new_name}" => "a(z) {new_name} állományt kicseréltük",
+"undo" => "visszavonás",
+"replaced {new_name} with {old_name}" => "{new_name} fájlt kicseréltük ezzel: {old_name}",
+"unshared {files}" => "{files} fájl megosztása visszavonva",
+"deleted {files}" => "{files} fájl törölve",
+"'.' is an invalid file name." => "'.' fájlnév érvénytelen.",
+"File name cannot be empty." => "A fájlnév nem lehet semmi.",
+"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Érvénytelen elnevezés. Ezek a karakterek nem használhatók: '\\', '/', '<', '>', ':', '\"', '|', '?' és '*'",
+"Your download is being prepared. This might take some time if the files are big." => "Készül a letöltendő állomány. Ez eltarthat egy ideig, ha nagyok a 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ű",
"Upload Error" => "Feltöltési hiba",
-"Close" => "Bezár",
+"Close" => "Bezárás",
"Pending" => "Folyamatban",
-"Upload cancelled." => "Feltöltés megszakítva",
+"1 file uploading" => "1 fájl töltődik föl",
+"{count} files uploading" => "{count} fájl töltődik föl",
+"Upload cancelled." => "A feltöltést megszakítottuk.",
+"File upload is in progress. Leaving the page now will cancel the upload." => "Fájlfeltöltés van folyamatban. Az oldal elhagyása megszakítja a feltöltést.",
+"URL cannot be empty." => "Az URL nem lehet semmi.",
+"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Érvénytelen mappanév. A név használata csak a Owncloud számára lehetséges.",
+"{count} files scanned" => "{count} fájlt találtunk",
+"error while scanning" => "Hiba a fájllista-ellenőrzés során",
"Name" => "Név",
"Size" => "Méret",
"Modified" => "Módosítva",
+"1 folder" => "1 mappa",
+"{count} folders" => "{count} mappa",
+"1 file" => "1 fájl",
+"{count} files" => "{count} fájl",
"File handling" => "Fájlkezelés",
"Maximum upload size" => "Maximális feltölthető fájlméret",
-"max. possible: " => "max. lehetséges",
-"Needed for multi-file and folder downloads." => "Kötegelt file- vagy mappaletöltéshez szükséges",
-"Enable ZIP-download" => "ZIP-letöltés engedélyezése",
+"max. possible: " => "max. lehetséges: ",
+"Needed for multi-file and folder downloads." => "Kötegelt fájl- vagy mappaletöltéshez szükséges",
+"Enable ZIP-download" => "A ZIP-letöltés engedélyezése",
"0 is unlimited" => "0 = korlátlan",
-"Maximum input size for ZIP files" => "ZIP file-ok maximum mérete",
+"Maximum input size for ZIP files" => "ZIP-fájlok maximális kiindulási mérete",
"Save" => "Mentés",
"New" => "Új",
"Text file" => "Szövegfájl",
"Folder" => "Mappa",
-"Upload" => "Feltöltés",
-"Cancel upload" => "Feltöltés megszakítása",
-"Nothing in here. Upload something!" => "Töltsön fel egy fájlt.",
+"From link" => "Feltöltés linkről",
+"Cancel upload" => "A feltöltés megszakítása",
+"Nothing in here. Upload something!" => "Itt nincs semmi. Töltsön fel valamit!",
"Download" => "Letöltés",
-"Upload too large" => "Feltöltés túl nagy",
-"The files you are trying to upload exceed the maximum size for file uploads on this server." => "A fájlokat amit próbálsz feltölteni meghaladta a legnagyobb fájlméretet ezen a szerveren.",
-"Files are being scanned, please wait." => "File-ok vizsgálata, kis türelmet",
-"Current scanning" => "Aktuális vizsgálat"
+"Upload too large" => "A feltöltés túl nagy",
+"The files you are trying to upload exceed the maximum size for file uploads on this server." => "A feltöltendő állományok mérete meghaladja a kiszolgálón megengedett maximális méretet.",
+"Files are being scanned, please wait." => "A fájllista ellenőrzése zajlik, kis türelmet!",
+"Current scanning" => "Ellenőrzés alatt"
);
diff --git a/apps/files/l10n/ia.php b/apps/files/l10n/ia.php
index ada64cd7574..a7babb27d9e 100644
--- a/apps/files/l10n/ia.php
+++ b/apps/files/l10n/ia.php
@@ -1,4 +1,5 @@
<?php $TRANSLATIONS = array(
+"Upload" => "Incargar",
"The uploaded file was only partially uploaded" => "Le file incargate solmente esseva incargate partialmente",
"No file was uploaded" => "Nulle file esseva incargate",
"Missing a temporary folder" => "Manca un dossier temporari",
@@ -13,7 +14,6 @@
"New" => "Nove",
"Text file" => "File de texto",
"Folder" => "Dossier",
-"Upload" => "Incargar",
"Nothing in here. Upload something!" => "Nihil hic. Incarga alcun cosa!",
"Download" => "Discargar",
"Upload too large" => "Incargamento troppo longe"
diff --git a/apps/files/l10n/id.php b/apps/files/l10n/id.php
index 1f8cb444d26..46d9ad1a75a 100644
--- a/apps/files/l10n/id.php
+++ b/apps/files/l10n/id.php
@@ -1,4 +1,5 @@
<?php $TRANSLATIONS = array(
+"Upload" => "Unggah",
"There is no error, the file uploaded with success" => "Tidak ada galat, berkas sukses diunggah",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "File yang diunggah melampaui directive MAX_FILE_SIZE yang disebutan dalam form HTML.",
"The uploaded file was only partially uploaded" => "Berkas hanya diunggah sebagian",
@@ -11,12 +12,12 @@
"replace" => "mengganti",
"cancel" => "batalkan",
"undo" => "batal dikerjakan",
-"generating ZIP-file, it may take some time." => "membuat berkas ZIP, ini mungkin memakan waktu.",
"Unable to upload your file as it is a directory or has 0 bytes" => "Gagal mengunggah berkas anda karena berupa direktori atau mempunyai ukuran 0 byte",
"Upload Error" => "Terjadi Galat Pengunggahan",
"Close" => "tutup",
"Pending" => "Menunggu",
"Upload cancelled." => "Pengunggahan dibatalkan.",
+"URL cannot be empty." => "tautan tidak boleh kosong",
"Name" => "Nama",
"Size" => "Ukuran",
"Modified" => "Dimodifikasi",
@@ -31,7 +32,6 @@
"New" => "Baru",
"Text file" => "Berkas teks",
"Folder" => "Folder",
-"Upload" => "Unggah",
"Cancel upload" => "Batal mengunggah",
"Nothing in here. Upload something!" => "Tidak ada apa-apa di sini. Unggah sesuatu!",
"Download" => "Unduh",
diff --git a/apps/files/l10n/is.php b/apps/files/l10n/is.php
new file mode 100644
index 00000000000..c3adf0984e5
--- /dev/null
+++ b/apps/files/l10n/is.php
@@ -0,0 +1,70 @@
+<?php $TRANSLATIONS = array(
+"Upload" => "Senda inn",
+"Could not move %s - File with this name already exists" => "Gat ekki fært %s - Skrá með þessu nafni er þegar til",
+"Could not move %s" => "Gat ekki fært %s",
+"Unable to rename file" => "Gat ekki endurskýrt skrá",
+"No file was uploaded. Unknown error" => "Engin skrá var send inn. Óþekkt villa.",
+"There is no error, the file uploaded with success" => "Engin villa, innsending heppnaðist",
+"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Innsend skrá er stærri en upload_max stillingin í php.ini:",
+"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Innsenda skráin er stærri en MAX_FILE_SIZE sem skilgreint er í HTML sniðinu.",
+"The uploaded file was only partially uploaded" => "Einungis hluti af innsendri skrá skilaði sér",
+"No file was uploaded" => "Engin skrá skilaði sér",
+"Missing a temporary folder" => "Vantar bráðabirgðamöppu",
+"Failed to write to disk" => "Tókst ekki að skrifa á disk",
+"Not enough space available" => "Ekki nægt pláss tiltækt",
+"Invalid directory." => "Ógild mappa.",
+"Files" => "Skrár",
+"Unshare" => "Hætta deilingu",
+"Delete" => "Eyða",
+"Rename" => "Endurskýra",
+"{new_name} already exists" => "{new_name} er þegar til",
+"replace" => "yfirskrifa",
+"suggest name" => "stinga upp á nafni",
+"cancel" => "hætta við",
+"replaced {new_name}" => "endurskýrði {new_name}",
+"undo" => "afturkalla",
+"replaced {new_name} with {old_name}" => "yfirskrifaði {new_name} með {old_name}",
+"unshared {files}" => "Hætti við deilingu á {files}",
+"deleted {files}" => "eyddi {files}",
+"'.' is an invalid file name." => "'.' er ekki leyfilegt nafn.",
+"File name cannot be empty." => "Nafn skráar má ekki vera tómt",
+"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Ógilt nafn, táknin '\\', '/', '<', '>', ':', '\"', '|', '?' og '*' eru ekki leyfð.",
+"Unable to upload your file as it is a directory or has 0 bytes" => "Innsending á skrá mistókst, hugsanlega sendir þú möppu eða skráin er 0 bæti.",
+"Upload Error" => "Villa við innsendingu",
+"Close" => "Loka",
+"Pending" => "Bíður",
+"1 file uploading" => "1 skrá innsend",
+"{count} files uploading" => "{count} skrár innsendar",
+"Upload cancelled." => "Hætt við innsendingu.",
+"File upload is in progress. Leaving the page now will cancel the upload." => "Innsending í gangi. Ef þú ferð af þessari síðu mun innsending misheppnast.",
+"URL cannot be empty." => "Vefslóð má ekki vera tóm.",
+"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Óleyfilegt nafn á möppu. Nafnið 'Shared' er frátekið fyrir Owncloud",
+"{count} files scanned" => "{count} skrár skimaðar",
+"error while scanning" => "villa við skimun",
+"Name" => "Nafn",
+"Size" => "Stærð",
+"Modified" => "Breytt",
+"1 folder" => "1 mappa",
+"{count} folders" => "{count} möppur",
+"1 file" => "1 skrá",
+"{count} files" => "{count} skrár",
+"File handling" => "Meðhöndlun skrár",
+"Maximum upload size" => "Hámarks stærð innsendingar",
+"max. possible: " => "hámark mögulegt: ",
+"Needed for multi-file and folder downloads." => "Nauðsynlegt til að sækja margar skrár og möppur í einu.",
+"Enable ZIP-download" => "Virkja ZIP niðurhal.",
+"0 is unlimited" => "0 er ótakmarkað",
+"Maximum input size for ZIP files" => "Hámarks inntaksstærð fyrir ZIP skrár",
+"Save" => "Vista",
+"New" => "Nýtt",
+"Text file" => "Texta skrá",
+"Folder" => "Mappa",
+"From link" => "Af tengli",
+"Cancel upload" => "Hætta við innsendingu",
+"Nothing in here. Upload something!" => "Ekkert hér. Settu eitthvað inn!",
+"Download" => "Niðurhal",
+"Upload too large" => "Innsend skrá er of stór",
+"The files you are trying to upload exceed the maximum size for file uploads on this server." => "Skrárnar sem þú ert að senda inn eru stærri en hámarks innsendingarstærð á þessum netþjóni.",
+"Files are being scanned, please wait." => "Verið er að skima skrár, vinsamlegast hinkraðu.",
+"Current scanning" => "Er að skima"
+);
diff --git a/apps/files/l10n/it.php b/apps/files/l10n/it.php
index 90b34171220..9e211ae21ac 100644
--- a/apps/files/l10n/it.php
+++ b/apps/files/l10n/it.php
@@ -1,4 +1,9 @@
<?php $TRANSLATIONS = array(
+"Upload" => "Carica",
+"Could not move %s - File with this name already exists" => "Impossibile spostare %s - un file con questo nome esiste già",
+"Could not move %s" => "Impossibile spostare %s",
+"Unable to rename file" => "Impossibile rinominare il file",
+"No file was uploaded. Unknown error" => "Nessun file è stato inviato. Errore sconosciuto",
"There is no error, the file uploaded with success" => "Non ci sono errori, file caricato con successo",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Il file caricato supera la direttiva upload_max_filesize in php.ini:",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Il file caricato supera il valore MAX_FILE_SIZE definito nel form HTML",
@@ -6,6 +11,8 @@
"No file was uploaded" => "Nessun file è stato caricato",
"Missing a temporary folder" => "Cartella temporanea mancante",
"Failed to write to disk" => "Scrittura su disco non riuscita",
+"Not enough space available" => "Spazio disponibile insufficiente",
+"Invalid directory." => "Cartella non valida.",
"Files" => "File",
"Unshare" => "Rimuovi condivisione",
"Delete" => "Elimina",
@@ -19,8 +26,10 @@
"replaced {new_name} with {old_name}" => "sostituito {new_name} con {old_name}",
"unshared {files}" => "non condivisi {files}",
"deleted {files}" => "eliminati {files}",
+"'.' is an invalid file name." => "'.' non è un nome file valido.",
+"File name cannot be empty." => "Il nome del file non può essere vuoto.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nome non valido, '\\', '/', '<', '>', ':', '\"', '|', '?' e '*' non sono consentiti.",
-"generating ZIP-file, it may take some time." => "creazione file ZIP, potrebbe richiedere del tempo.",
+"Your download is being prepared. This might take some time if the files are big." => "Il tuo scaricamento è in fase di preparazione. Ciò potrebbe richiedere del tempo se i file sono grandi.",
"Unable to upload your file as it is a directory or has 0 bytes" => "Impossibile inviare il file poiché è una cartella o ha dimensione 0 byte",
"Upload Error" => "Errore di invio",
"Close" => "Chiudi",
@@ -29,7 +38,8 @@
"{count} files uploading" => "{count} file in fase di caricamentoe",
"Upload cancelled." => "Invio annullato",
"File upload is in progress. Leaving the page now will cancel the upload." => "Caricamento del file in corso. La chiusura della pagina annullerà il caricamento.",
-"Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" => "Nome della cartella non valido. L'uso di \"Shared\" è riservato a ownCloud",
+"URL cannot be empty." => "L'URL non può essere vuoto.",
+"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Nome della cartella non valido. L'uso di 'Shared' è riservato da ownCloud",
"{count} files scanned" => "{count} file analizzati",
"error while scanning" => "errore durante la scansione",
"Name" => "Nome",
@@ -51,7 +61,6 @@
"Text file" => "File di testo",
"Folder" => "Cartella",
"From link" => "Da collegamento",
-"Upload" => "Carica",
"Cancel upload" => "Annulla invio",
"Nothing in here. Upload something!" => "Non c'è niente qui. Carica qualcosa!",
"Download" => "Scarica",
diff --git a/apps/files/l10n/ja_JP.php b/apps/files/l10n/ja_JP.php
index 7b8c3ca4778..548263f54a3 100644
--- a/apps/files/l10n/ja_JP.php
+++ b/apps/files/l10n/ja_JP.php
@@ -1,4 +1,9 @@
<?php $TRANSLATIONS = array(
+"Upload" => "アップロード",
+"Could not move %s - File with this name already exists" => "%s を移動ã§ãã¾ã›ã‚“ã§ã—㟠― ã“ã®åå‰ã®ãƒ•ァイルã¯ã™ã§ã«å­˜åœ¨ã—ã¾ã™",
+"Could not move %s" => "%s を移動ã§ãã¾ã›ã‚“ã§ã—ãŸ",
+"Unable to rename file" => "ファイルåã®å¤‰æ›´ãŒã§ãã¾ã›ã‚“",
+"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ã«è¨­å®šã•れãŸã‚µã‚¤ã‚ºã‚’è¶…ãˆã¦ã„ã¾ã™",
@@ -6,6 +11,8 @@
"No file was uploaded" => "ファイルã¯ã‚¢ãƒƒãƒ—ロードã•れã¾ã›ã‚“ã§ã—ãŸ",
"Missing a temporary folder" => "テンãƒãƒ©ãƒªãƒ•ォルダãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“",
"Failed to write to disk" => "ディスクã¸ã®æ›¸ãè¾¼ã¿ã«å¤±æ•—ã—ã¾ã—ãŸ",
+"Not enough space available" => "利用å¯èƒ½ãªã‚¹ãƒšãƒ¼ã‚¹ãŒå分ã«ã‚りã¾ã›ã‚“",
+"Invalid directory." => "無効ãªãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã§ã™ã€‚",
"Files" => "ファイル",
"Unshare" => "共有ã—ãªã„",
"Delete" => "削除",
@@ -19,8 +26,10 @@
"replaced {new_name} with {old_name}" => "{old_name} ã‚’ {new_name} ã«ç½®æ›",
"unshared {files}" => "未共有 {files}",
"deleted {files}" => "削除 {files}",
+"'.' is an invalid file name." => "'.' ã¯ç„¡åйãªãƒ•ァイルåã§ã™ã€‚",
+"File name cannot be empty." => "ファイルåを空ã«ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "無効ãªåå‰ã€'\\', '/', '<', '>', ':', '\"', '|', '?', '*' ã¯ä½¿ç”¨ã§ãã¾ã›ã‚“。",
-"generating ZIP-file, it may take some time." => "ZIPファイルを生æˆä¸­ã§ã™ã€ã—ã°ã‚‰ããŠå¾…ã¡ãã ã•ã„。",
+"Your download is being prepared. This might take some time if the files are big." => "ãƒ€ã‚¦ãƒ³ãƒ­ãƒ¼ãƒ‰ã®æº–備中ã§ã™ã€‚ファイルサイズãŒå¤§ãã„å ´åˆã¯å°‘ã—æ™‚é–“ãŒã‹ã‹ã‚‹ã‹ã‚‚ã—れã¾ã›ã‚“。",
"Unable to upload your file as it is a directory or has 0 bytes" => "ディレクトリもã—ãã¯0ãƒã‚¤ãƒˆã®ãƒ•ァイルã¯ã‚¢ãƒƒãƒ—ロードã§ãã¾ã›ã‚“",
"Upload Error" => "アップロードエラー",
"Close" => "é–‰ã˜ã‚‹",
@@ -29,7 +38,8 @@
"{count} files uploading" => "{count} ファイルをアップロード中",
"Upload cancelled." => "アップロードã¯ã‚­ãƒ£ãƒ³ã‚»ãƒ«ã•れã¾ã—ãŸã€‚",
"File upload is in progress. Leaving the page now will cancel the upload." => "ファイル転é€ã‚’実行中ã§ã™ã€‚今ã“ã®ãƒšãƒ¼ã‚¸ã‹ã‚‰ç§»å‹•ã™ã‚‹ã¨ã‚¢ãƒƒãƒ—ロードãŒä¸­æ­¢ã•れã¾ã™ã€‚",
-"Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" => "無効ãªãƒ•ォルダåã§ã™ã€‚\"Shared\" ã®åˆ©ç”¨ã¯ ownCloud ãŒäºˆç´„済ã¿ã§ã™ã€‚",
+"URL cannot be empty." => "URLã¯ç©ºã«ã§ãã¾ã›ã‚“。",
+"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "無効ãªãƒ•ォルダåã§ã™ã€‚'Shared' ã®åˆ©ç”¨ã¯ ownCloud ãŒäºˆç´„済ã¿ã§ã™ã€‚",
"{count} files scanned" => "{count} ファイルをスキャン",
"error while scanning" => "スキャン中ã®ã‚¨ãƒ©ãƒ¼",
"Name" => "åå‰",
@@ -51,7 +61,6 @@
"Text file" => "テキストファイル",
"Folder" => "フォルダ",
"From link" => "リンク",
-"Upload" => "アップロード",
"Cancel upload" => "アップロードをキャンセル",
"Nothing in here. Upload something!" => "ã“ã“ã«ã¯ä½•ã‚‚ã‚りã¾ã›ã‚“。何ã‹ã‚¢ãƒƒãƒ—ロードã—ã¦ãã ã•ã„。",
"Download" => "ダウンロード",
diff --git a/apps/files/l10n/ka_GE.php b/apps/files/l10n/ka_GE.php
index 9a73abfbe3b..3f5a532f6bd 100644
--- a/apps/files/l10n/ka_GE.php
+++ b/apps/files/l10n/ka_GE.php
@@ -1,4 +1,5 @@
<?php $TRANSLATIONS = array(
+"Upload" => "áƒáƒ¢áƒ•ირთვáƒ",
"There is no error, the file uploaded with success" => "ჭáƒáƒªáƒ“áƒáƒ›áƒ áƒáƒ  დáƒáƒ¤áƒ˜áƒ¥áƒ¡áƒ˜áƒ áƒ“áƒ, ფáƒáƒ˜áƒšáƒ˜ წáƒáƒ áƒ›áƒáƒ¢áƒ”ბით áƒáƒ˜áƒ¢áƒ•ირთáƒ",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "áƒáƒ¢áƒ•ირთული ფáƒáƒ˜áƒšáƒ˜ áƒáƒ­áƒáƒ áƒ‘ებს MAX_FILE_SIZE დირექტივáƒáƒ¡, რáƒáƒ›áƒ”ლიც მითითებულირHTML ფáƒáƒ áƒ›áƒáƒ¨áƒ˜",
"The uploaded file was only partially uploaded" => "áƒáƒ¢áƒ•ირთული ფáƒáƒ˜áƒšáƒ˜ მხáƒáƒšáƒáƒ“ ნáƒáƒ¬áƒ˜áƒšáƒáƒ‘რივ áƒáƒ˜áƒ¢áƒ•ირთáƒ",
@@ -18,7 +19,6 @@
"replaced {new_name} with {old_name}" => "{new_name} შეცვლილირ{old_name}–ით",
"unshared {files}" => "გáƒáƒ–იáƒáƒ áƒ”ბრმáƒáƒ®áƒ¡áƒœáƒ˜áƒšáƒ˜ {files}",
"deleted {files}" => "წáƒáƒ¨áƒšáƒ˜áƒšáƒ˜ {files}",
-"generating ZIP-file, it may take some time." => "ZIP-ფáƒáƒ˜áƒšáƒ˜áƒ¡ გენერირებáƒ, áƒáƒ›áƒáƒ¡ ჭირდებრგáƒáƒ áƒ™áƒ•ეული დრáƒ.",
"Unable to upload your file as it is a directory or has 0 bytes" => "თქვენი ფáƒáƒ˜áƒšáƒ˜áƒ¡ áƒáƒ¢áƒ•ირთვრვერ მáƒáƒ®áƒ”რხდáƒ. ის áƒáƒ áƒ˜áƒ¡ სáƒáƒ¥áƒáƒ¦áƒáƒšáƒ“ე დრშეიცáƒáƒ•ს 0 ბáƒáƒ˜áƒ¢áƒ¡",
"Upload Error" => "შეცდáƒáƒ›áƒ áƒáƒ¢áƒ•ირთვისáƒáƒ¡",
"Close" => "დáƒáƒ®áƒ£áƒ áƒ•áƒ",
@@ -47,7 +47,6 @@
"New" => "áƒáƒ®áƒáƒšáƒ˜",
"Text file" => "ტექსტური ფáƒáƒ˜áƒšáƒ˜",
"Folder" => "სáƒáƒ¥áƒáƒ¦áƒáƒšáƒ“ე",
-"Upload" => "áƒáƒ¢áƒ•ირთვáƒ",
"Cancel upload" => "áƒáƒ¢áƒ•ირთვის გáƒáƒ£áƒ¥áƒ›áƒ”ბáƒ",
"Nothing in here. Upload something!" => "áƒáƒ¥ áƒáƒ áƒáƒ¤áƒ”რი áƒáƒ  áƒáƒ áƒ˜áƒ¡. áƒáƒ¢áƒ•ირთე რáƒáƒ›áƒ”!",
"Download" => "ჩáƒáƒ›áƒáƒ¢áƒ•ირთვáƒ",
diff --git a/apps/files/l10n/ko.php b/apps/files/l10n/ko.php
index 4b5d57dff92..891b036761d 100644
--- a/apps/files/l10n/ko.php
+++ b/apps/files/l10n/ko.php
@@ -1,4 +1,9 @@
<?php $TRANSLATIONS = array(
+"Upload" => "업로드",
+"Could not move %s - File with this name already exists" => "%s í•­ëª©ì„ ì´ë™ì‹œí‚¤ì§€ ëª»í•˜ì˜€ìŒ - íŒŒì¼ ì´ë¦„ì´ ì´ë¯¸ 존재함",
+"Could not move %s" => "%s í•­ëª©ì„ ì´ë”©ì‹œí‚¤ì§€ 못하였ìŒ",
+"Unable to rename file" => "íŒŒì¼ ì´ë¦„바꾸기 í•  수 ì—†ìŒ",
+"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보다 ë” í¼",
@@ -6,6 +11,8 @@
"No file was uploaded" => "ì—…ë¡œë“œëœ íŒŒì¼ ì—†ìŒ",
"Missing a temporary folder" => "임시 í´ë”ê°€ 사ë¼ì§",
"Failed to write to disk" => "디스í¬ì— ì“°ì§€ 못했습니다",
+"Not enough space available" => "ì—¬ìœ ê³µê°„ì´ ë¶€ì¡±í•©ë‹ˆë‹¤",
+"Invalid directory." => "올바르지 ì•Šì€ ë””ë ‰í† ë¦¬ìž…ë‹ˆë‹¤.",
"Files" => "파ì¼",
"Unshare" => "공유 해제",
"Delete" => "삭제",
@@ -19,8 +26,9 @@
"replaced {new_name} with {old_name}" => "{old_name}ì´(ê°€) {new_name}(으)로 대체ë¨",
"unshared {files}" => "{files} 공유 í•´ì œë¨",
"deleted {files}" => "{files} ì‚­ì œë¨",
+"'.' is an invalid file name." => "'.' 는 올바르지 ì•Šì€ íŒŒì¼ ì´ë¦„ 입니다.",
+"File name cannot be empty." => "파ì¼ì´ë¦„ì€ ê³µëž€ì´ ë  ìˆ˜ 없습니다.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "í´ë” ì´ë¦„ì´ ì˜¬ë°”ë¥´ì§€ 않습니다. ì´ë¦„ì— ë¬¸ìž '\\', '/', '<', '>', ':', '\"', '|', '? ', '*'는 사용할 수 없습니다.",
-"generating ZIP-file, it may take some time." => "ZIP 파ì¼ì„ ìƒì„±í•˜ê³  있습니다. ì‹œê°„ì´ ê±¸ë¦´ ìˆ˜ë„ ìžˆìŠµë‹ˆë‹¤.",
"Unable to upload your file as it is a directory or has 0 bytes" => "ì´ íŒŒì¼ì€ 디렉터리ì´ê±°ë‚˜ 비어 있기 ë•Œë¬¸ì— ì—…ë¡œë“œí•  수 없습니다",
"Upload Error" => "업로드 오류",
"Close" => "닫기",
@@ -29,7 +37,8 @@
"{count} files uploading" => "íŒŒì¼ {count}ê°œ 업로드 중",
"Upload cancelled." => "업로드가 취소ë˜ì—ˆìŠµë‹ˆë‹¤.",
"File upload is in progress. Leaving the page now will cancel the upload." => "íŒŒì¼ ì—…ë¡œë“œê°€ ì§„í–‰ 중입니다. ì´ íŽ˜ì´ì§€ë¥¼ 벗어나면 업로드가 취소ë©ë‹ˆë‹¤.",
-"Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" => "í´ë” ì´ë¦„ì´ ì˜¬ë°”ë¥´ì§€ 않습니다. \"Shared\" í´ë”는 ownCloudì—서 예약ë˜ì—ˆìŠµë‹ˆë‹¤.",
+"URL cannot be empty." => "URLì„ ìž…ë ¥í•´ì•¼ 합니다.",
+"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "í´ë” ì´ë¦„ì´ ìœ íš¨í•˜ì§€ 않습니다. ",
"{count} files scanned" => "íŒŒì¼ {count}ê°œ 검색ë¨",
"error while scanning" => "검색 중 오류 ë°œìƒ",
"Name" => "ì´ë¦„",
@@ -51,7 +60,6 @@
"Text file" => "í…스트 파ì¼",
"Folder" => "í´ë”",
"From link" => "ë§í¬ì—서",
-"Upload" => "업로드",
"Cancel upload" => "업로드 취소",
"Nothing in here. Upload something!" => "ë‚´ìš©ì´ ì—†ìŠµë‹ˆë‹¤. 업로드할 수 있습니다!",
"Download" => "다운로드",
diff --git a/apps/files/l10n/ku_IQ.php b/apps/files/l10n/ku_IQ.php
index 49995f8df86..ddd2c142788 100644
--- a/apps/files/l10n/ku_IQ.php
+++ b/apps/files/l10n/ku_IQ.php
@@ -1,8 +1,9 @@
<?php $TRANSLATIONS = array(
+"Upload" => "بارکردن",
"Close" => "داخستن",
+"URL cannot be empty." => "ناونیشانی به‌سته‌ر نابێت به‌تاڵ بێت.",
"Name" => "ناو",
"Save" => "پاشکه‌وتکردن",
"Folder" => "بوخچه",
-"Upload" => "بارکردن",
"Download" => "داگرتن"
);
diff --git a/apps/files/l10n/lb.php b/apps/files/l10n/lb.php
index 229ec3f2024..b041079f0d8 100644
--- a/apps/files/l10n/lb.php
+++ b/apps/files/l10n/lb.php
@@ -1,4 +1,5 @@
<?php $TRANSLATIONS = array(
+"Upload" => "Eroplueden",
"There is no error, the file uploaded with success" => "Keen Feeler, Datei ass komplett ropgelueden ginn",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Déi ropgelueden Datei ass méi grouss wei d'MAX_FILE_SIZE Eegenschaft déi an der HTML form uginn ass",
"The uploaded file was only partially uploaded" => "Déi ropgelueden Datei ass nëmmen hallef ropgelueden ginn",
@@ -10,7 +11,6 @@
"replace" => "ersetzen",
"cancel" => "ofbriechen",
"undo" => "réckgängeg man",
-"generating ZIP-file, it may take some time." => "Et gëtt eng ZIP-File generéiert, dëst ka bëssen daueren.",
"Unable to upload your file as it is a directory or has 0 bytes" => "Kann deng Datei net eroplueden well et en Dossier ass oder 0 byte grouss ass.",
"Upload Error" => "Fehler beim eroplueden",
"Close" => "Zoumaachen",
@@ -30,7 +30,6 @@
"New" => "Nei",
"Text file" => "Text Fichier",
"Folder" => "Dossier",
-"Upload" => "Eroplueden",
"Cancel upload" => "Upload ofbriechen",
"Nothing in here. Upload something!" => "Hei ass näischt. Lued eppes rop!",
"Download" => "Eroflueden",
diff --git a/apps/files/l10n/lt_LT.php b/apps/files/l10n/lt_LT.php
index fd9824e0c19..22490f8e9fd 100644
--- a/apps/files/l10n/lt_LT.php
+++ b/apps/files/l10n/lt_LT.php
@@ -1,4 +1,5 @@
<?php $TRANSLATIONS = array(
+"Upload" => "Įkelti",
"There is no error, the file uploaded with success" => "Klaidų nėra, failas įkeltas sėkmingai",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Įkeliamo failo dydis viršija MAX_FILE_SIZE parametrą, kuris yra nustatytas HTML formoje",
"The uploaded file was only partially uploaded" => "Failas buvo įkeltas tik dalinai",
@@ -18,7 +19,6 @@
"replaced {new_name} with {old_name}" => "pakeiskite {new_name} į {old_name}",
"unshared {files}" => "nebesidalinti {files}",
"deleted {files}" => "ištrinti {files}",
-"generating ZIP-file, it may take some time." => "kuriamas ZIP archyvas, tai gali užtrukti šiek tiek laiko.",
"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",
"Upload Error" => "Įkėlimo klaida",
"Close" => "Užverti",
@@ -47,7 +47,6 @@
"New" => "Naujas",
"Text file" => "Teksto failas",
"Folder" => "Katalogas",
-"Upload" => "Įkelti",
"Cancel upload" => "Atšaukti siuntimą",
"Nothing in here. Upload something!" => "ÄŒia tuÅ¡Äia. Ä®kelkite kÄ… nors!",
"Download" => "Atsisiųsti",
diff --git a/apps/files/l10n/lv.php b/apps/files/l10n/lv.php
index 33367984918..589b7020c4a 100644
--- a/apps/files/l10n/lv.php
+++ b/apps/files/l10n/lv.php
@@ -1,4 +1,5 @@
<?php $TRANSLATIONS = array(
+"Upload" => "AugÅ¡uplÄdet",
"There is no error, the file uploaded with success" => "Viss kÄrtÄ«bÄ, augÅ¡upielÄde veiksmÄ«ga",
"No file was uploaded" => "Neviens fails netika augÅ¡uplÄdÄ“ts",
"Missing a temporary folder" => "Trūkst pagaidu mapes",
@@ -11,7 +12,6 @@
"suggest name" => "Ieteiktais nosaukums",
"cancel" => "atcelt",
"undo" => "vienu soli atpakaļ",
-"generating ZIP-file, it may take some time." => "lai uzÄ£enerÄ“tu ZIP failu, kÄds brÄ«dis ir jÄpagaida",
"Unable to upload your file as it is a directory or has 0 bytes" => "Nav iespÄ“jams augÅ¡uplÄdÄ“t jÅ«su failu, jo tÄds jau eksistÄ“ vai arÄ« failam nav izmÄ“ra (0 baiti)",
"Upload Error" => "AugÅ¡uplÄdēšanas laikÄ radÄs kļūda",
"Pending" => "Gaida savu kÄrtu",
@@ -30,7 +30,6 @@
"New" => "Jauns",
"Text file" => "Teksta fails",
"Folder" => "Mape",
-"Upload" => "AugÅ¡uplÄdet",
"Cancel upload" => "Atcelt augÅ¡uplÄdi",
"Nothing in here. Upload something!" => "Te vÄ“l nekas nav. RÄ«kojies, sÄc augÅ¡uplÄdÄ“t",
"Download" => "LejuplÄdÄ“t",
diff --git a/apps/files/l10n/mk.php b/apps/files/l10n/mk.php
index 1d22746156e..2916e86a94d 100644
--- a/apps/files/l10n/mk.php
+++ b/apps/files/l10n/mk.php
@@ -1,4 +1,6 @@
<?php $TRANSLATIONS = array(
+"Upload" => "Подигни",
+"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:",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Подигнатата датотеката ја надминува MAX_FILE_SIZE директивата која беше поÑтавена во HTML формата",
@@ -20,7 +22,6 @@
"unshared {files}" => "без Ñподелување {files}",
"deleted {files}" => "избришани {files}",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Ðеправилно име. , '\\', '/', '<', '>', ':', '\"', '|', '?' и '*' не Ñе дозволени.",
-"generating ZIP-file, it may take some time." => "Се генерира ZIP фајлот, ќе треба извеÑно време.",
"Unable to upload your file as it is a directory or has 0 bytes" => "Ðе може да Ñе преземе вашата датотека бидејќи фолдерот во кој Ñе наоѓа фајлот има големина од 0 бајти",
"Upload Error" => "Грешка при преземање",
"Close" => "Затвои",
@@ -29,7 +30,7 @@
"{count} files uploading" => "{count} датотеки Ñе подигаат",
"Upload cancelled." => "Преземањето е прекинато.",
"File upload is in progress. Leaving the page now will cancel the upload." => "Подигање на датотека е во тек. Ðапуштење на Ñтраницата ќе го прекине.",
-"Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" => "Ðеправилно име на папка. КориÑтењето на „Shared“ е резервирано за Owncloud",
+"URL cannot be empty." => "ÐдреÑата неможе да биде празна.",
"{count} files scanned" => "{count} датотеки Ñкенирани",
"error while scanning" => "грешка при Ñкенирање",
"Name" => "Име",
@@ -51,7 +52,6 @@
"Text file" => "ТекÑтуална датотека",
"Folder" => "Папка",
"From link" => "Од врÑка",
-"Upload" => "Подигни",
"Cancel upload" => "Откажи прикачување",
"Nothing in here. Upload something!" => "Тука нема ништо. Снимете нешто!",
"Download" => "Преземи",
diff --git a/apps/files/l10n/ms_MY.php b/apps/files/l10n/ms_MY.php
index d7756698d0c..23a2783cd9a 100644
--- a/apps/files/l10n/ms_MY.php
+++ b/apps/files/l10n/ms_MY.php
@@ -1,4 +1,6 @@
<?php $TRANSLATIONS = array(
+"Upload" => "Muat naik",
+"No file was uploaded. Unknown error" => "Tiada fail dimuatnaik. Ralat tidak diketahui.",
"There is no error, the file uploaded with success" => "Tiada ralat, fail berjaya dimuat naik.",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Fail yang dimuat naik melebihi MAX_FILE_SIZE yang dinyatakan dalam form HTML ",
"The uploaded file was only partially uploaded" => "Sebahagian daripada fail telah dimuat naik. ",
@@ -9,7 +11,6 @@
"Delete" => "Padam",
"replace" => "ganti",
"cancel" => "Batal",
-"generating ZIP-file, it may take some time." => "sedang menghasilkan fail ZIP, mungkin mengambil sedikit masa.",
"Unable to upload your file as it is a directory or has 0 bytes" => "Tidak boleh memuatnaik fail anda kerana mungkin ianya direktori atau saiz fail 0 bytes",
"Upload Error" => "Muat naik ralat",
"Close" => "Tutup",
@@ -29,7 +30,6 @@
"New" => "Baru",
"Text file" => "Fail teks",
"Folder" => "Folder",
-"Upload" => "Muat naik",
"Cancel upload" => "Batal muat naik",
"Nothing in here. Upload something!" => "Tiada apa-apa di sini. Muat naik sesuatu!",
"Download" => "Muat turun",
diff --git a/apps/files/l10n/nb_NO.php b/apps/files/l10n/nb_NO.php
index e5615a1c29b..48b873e1ef0 100644
--- a/apps/files/l10n/nb_NO.php
+++ b/apps/files/l10n/nb_NO.php
@@ -1,4 +1,6 @@
<?php $TRANSLATIONS = array(
+"Upload" => "Last opp",
+"No file was uploaded. Unknown error" => "Ingen filer ble lastet opp. Ukjent feil.",
"There is no error, the file uploaded with success" => "Det er ingen feil. Filen ble lastet opp.",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Filstørrelsen overskrider maksgrensen på MAX_FILE_SIZE som ble oppgitt i HTML-skjemaet",
"The uploaded file was only partially uploaded" => "Filopplastningen ble bare delvis gjennomført",
@@ -17,7 +19,7 @@
"undo" => "angre",
"replaced {new_name} with {old_name}" => "erstatt {new_name} med {old_name}",
"deleted {files}" => "slettet {files}",
-"generating ZIP-file, it may take some time." => "opprettet ZIP-fil, dette kan ta litt tid",
+"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Ugyldig navn, '\\', '/', '<', '>', ':', '\"', '|', '?' og '*' er ikke tillatt.",
"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",
"Upload Error" => "Opplasting feilet",
"Close" => "Lukk",
@@ -26,6 +28,7 @@
"{count} files uploading" => "{count} filer laster opp",
"Upload cancelled." => "Opplasting avbrutt.",
"File upload is in progress. Leaving the page now will cancel the upload." => "Filopplasting pågår. Forlater du siden nå avbrytes opplastingen.",
+"URL cannot be empty." => "URL-en kan ikke være tom.",
"{count} files scanned" => "{count} filer lest inn",
"error while scanning" => "feil under skanning",
"Name" => "Navn",
@@ -46,7 +49,7 @@
"New" => "Ny",
"Text file" => "Tekstfil",
"Folder" => "Mappe",
-"Upload" => "Last opp",
+"From link" => "Fra link",
"Cancel upload" => "Avbryt opplasting",
"Nothing in here. Upload something!" => "Ingenting her. Last opp noe!",
"Download" => "Last ned",
diff --git a/apps/files/l10n/nl.php b/apps/files/l10n/nl.php
index 093a5430d53..4a9685e06c9 100644
--- a/apps/files/l10n/nl.php
+++ b/apps/files/l10n/nl.php
@@ -1,4 +1,9 @@
<?php $TRANSLATIONS = array(
+"Upload" => "Upload",
+"Could not move %s - File with this name already exists" => "Kon %s niet verplaatsen - Er bestaat al een bestand met deze naam",
+"Could not move %s" => "Kon %s niet verplaatsen",
+"Unable to rename file" => "Kan bestand niet hernoemen",
+"No file was uploaded. Unknown error" => "Er was geen bestand geladen. Onbekende fout",
"There is no error, the file uploaded with success" => "Geen fout opgetreden, bestand successvol geupload.",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Het geüploade bestand overscheidt de upload_max_filesize optie in php.ini:",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Het geüploade bestand is groter dan de MAX_FILE_SIZE richtlijn die is opgegeven in de HTML-formulier",
@@ -6,6 +11,8 @@
"No file was uploaded" => "Geen bestand geüpload",
"Missing a temporary folder" => "Een tijdelijke map mist",
"Failed to write to disk" => "Schrijven naar schijf mislukt",
+"Not enough space available" => "Niet genoeg ruimte beschikbaar",
+"Invalid directory." => "Ongeldige directory.",
"Files" => "Bestanden",
"Unshare" => "Stop delen",
"Delete" => "Verwijder",
@@ -19,8 +26,10 @@
"replaced {new_name} with {old_name}" => "verving {new_name} met {old_name}",
"unshared {files}" => "delen gestopt {files}",
"deleted {files}" => "verwijderde {files}",
+"'.' is an invalid file name." => "'.' is een ongeldige bestandsnaam.",
+"File name cannot be empty." => "Bestandsnaam kan niet leeg zijn.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Onjuiste naam; '\\', '/', '<', '>', ':', '\"', '|', '?' en '*' zijn niet toegestaan.",
-"generating ZIP-file, it may take some time." => "aanmaken ZIP-file, dit kan enige tijd duren.",
+"Your download is being prepared. This might take some time if the files are big." => "Uw download wordt voorbereid. Dit kan enige tijd duren bij grote bestanden.",
"Unable to upload your file as it is a directory or has 0 bytes" => "uploaden van de file mislukt, het is of een directory of de bestandsgrootte is 0 bytes",
"Upload Error" => "Upload Fout",
"Close" => "Sluit",
@@ -29,7 +38,8 @@
"{count} files uploading" => "{count} bestanden aan het uploaden",
"Upload cancelled." => "Uploaden geannuleerd.",
"File upload is in progress. Leaving the page now will cancel the upload." => "Bestandsupload is bezig. Wanneer de pagina nu verlaten wordt, stopt de upload.",
-"Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" => "Folder naam niet toegestaan. Het gebruik van \"Shared\" is aan Owncloud voorbehouden",
+"URL cannot be empty." => "URL kan niet leeg zijn.",
+"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Ongeldige mapnaam. Gebruik van'Gedeeld' is voorbehouden aan Owncloud",
"{count} files scanned" => "{count} bestanden gescanned",
"error while scanning" => "Fout tijdens het scannen",
"Name" => "Naam",
@@ -51,7 +61,6 @@
"Text file" => "Tekstbestand",
"Folder" => "Map",
"From link" => "Vanaf link",
-"Upload" => "Upload",
"Cancel upload" => "Upload afbreken",
"Nothing in here. Upload something!" => "Er bevindt zich hier niets. Upload een bestand!",
"Download" => "Download",
diff --git a/apps/files/l10n/nn_NO.php b/apps/files/l10n/nn_NO.php
index 04e01a39cfc..8abbe1b6cd3 100644
--- a/apps/files/l10n/nn_NO.php
+++ b/apps/files/l10n/nn_NO.php
@@ -1,4 +1,5 @@
<?php $TRANSLATIONS = array(
+"Upload" => "Last opp",
"There is no error, the file uploaded with success" => "Ingen feil, fila vart lasta opp",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Den opplasta fila er større enn variabelen MAX_FILE_SIZE i HTML-skjemaet",
"The uploaded file was only partially uploaded" => "Fila vart berre delvis lasta opp",
@@ -15,7 +16,6 @@
"New" => "Ny",
"Text file" => "Tekst fil",
"Folder" => "Mappe",
-"Upload" => "Last opp",
"Nothing in here. Upload something!" => "Ingenting her. Last noko opp!",
"Download" => "Last ned",
"Upload too large" => "For stor opplasting",
diff --git a/apps/files/l10n/oc.php b/apps/files/l10n/oc.php
index 36bbb433394..87ec98e4cf8 100644
--- a/apps/files/l10n/oc.php
+++ b/apps/files/l10n/oc.php
@@ -1,4 +1,5 @@
<?php $TRANSLATIONS = array(
+"Upload" => "Amontcarga",
"There is no error, the file uploaded with success" => "Amontcargament capitat, pas d'errors",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Lo fichièr amontcargat es mai gròs que la directiva «MAX_FILE_SIZE» especifiada dins lo formulari HTML",
"The uploaded file was only partially uploaded" => "Lo fichièr foguèt pas completament amontcargat",
@@ -13,7 +14,6 @@
"suggest name" => "nom prepausat",
"cancel" => "anulla",
"undo" => "defar",
-"generating ZIP-file, it may take some time." => "Fichièr ZIP a se far, aquò pòt trigar un briu.",
"Unable to upload your file as it is a directory or has 0 bytes" => "Impossible d'amontcargar lo teu fichièr qu'es un repertòri o que ten pas que 0 octet.",
"Upload Error" => "Error d'amontcargar",
"Pending" => "Al esperar",
@@ -35,7 +35,6 @@
"New" => "Nòu",
"Text file" => "Fichièr de tèxte",
"Folder" => "Dorsièr",
-"Upload" => "Amontcarga",
"Cancel upload" => " Anulla l'amontcargar",
"Nothing in here. Upload something!" => "Pas res dedins. Amontcarga qualquaren",
"Download" => "Avalcarga",
diff --git a/apps/files/l10n/pl.php b/apps/files/l10n/pl.php
index 8051eae8c42..4166bac545d 100644
--- a/apps/files/l10n/pl.php
+++ b/apps/files/l10n/pl.php
@@ -1,4 +1,9 @@
<?php $TRANSLATIONS = array(
+"Upload" => "Prześlij",
+"Could not move %s - File with this name already exists" => "Nie można było przenieść %s - Plik o takiej nazwie już istnieje",
+"Could not move %s" => "Nie można było przenieść %s",
+"Unable to rename file" => "Nie można zmienić nazwy pliku",
+"No file was uploaded. Unknown error" => "Plik nie został załadowany. Nieznany błąd",
"There is no error, the file uploaded with success" => "Przesłano plik",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Wgrany plik przekracza wartość upload_max_filesize zdefiniowaną w php.ini: ",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Rozmiar przesłanego pliku przekracza maksymalną wartość dyrektywy upload_max_filesize, zawartą formularzu HTML",
@@ -6,6 +11,8 @@
"No file was uploaded" => "Nie przesłano żadnego pliku",
"Missing a temporary folder" => "Brak katalogu tymczasowego",
"Failed to write to disk" => "Błąd zapisu na dysk",
+"Not enough space available" => "Za mało miejsca",
+"Invalid directory." => "Zła ścieżka.",
"Files" => "Pliki",
"Unshare" => "Nie udostępniaj",
"Delete" => "Usuwa element",
@@ -19,8 +26,9 @@
"replaced {new_name} with {old_name}" => "zastÄ…piony {new_name} z {old_name}",
"unshared {files}" => "Udostępniane wstrzymane {files}",
"deleted {files}" => "usunięto {files}",
+"'.' is an invalid file name." => "'.' jest nieprawidłową nazwą pliku.",
+"File name cannot be empty." => "Nazwa pliku nie może być pusta.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Niepoprawna nazwa, Znaki '\\', '/', '<', '>', ':', '\"', '|', '?' oraz '*'sÄ… niedozwolone.",
-"generating ZIP-file, it may take some time." => "Generowanie pliku ZIP, może potrwać pewien czas.",
"Unable to upload your file as it is a directory or has 0 bytes" => "Nie można wczytać pliku jeśli jest katalogiem lub ma 0 bajtów",
"Upload Error" => "Błąd wczytywania",
"Close" => "Zamknij",
@@ -29,7 +37,8 @@
"{count} files uploading" => "{count} przesyłanie plików",
"Upload cancelled." => "Wczytywanie anulowane.",
"File upload is in progress. Leaving the page now will cancel the upload." => "Wysyłanie pliku jest w toku. Teraz opuszczając stronę wysyłanie zostanie anulowane.",
-"Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" => "Błędna nazwa folderu. Nazwa \"Shared\" jest zarezerwowana dla Owncloud",
+"URL cannot be empty." => "URL nie może być pusty.",
+"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Nazwa folderu nieprawidłowa. Wykorzystanie \"Shared\" jest zarezerwowane przez Owncloud",
"{count} files scanned" => "{count} pliki skanowane",
"error while scanning" => "Wystąpił błąd podczas skanowania",
"Name" => "Nazwa",
@@ -51,7 +60,6 @@
"Text file" => "Plik tekstowy",
"Folder" => "Katalog",
"From link" => "Z linku",
-"Upload" => "Prześlij",
"Cancel upload" => "Przestań wysyłać",
"Nothing in here. Upload something!" => "Brak zawartości. Proszę wysłać pliki!",
"Download" => "Pobiera element",
diff --git a/apps/files/l10n/pt_BR.php b/apps/files/l10n/pt_BR.php
index 97e5c94fb31..b199ded9fe0 100644
--- a/apps/files/l10n/pt_BR.php
+++ b/apps/files/l10n/pt_BR.php
@@ -1,4 +1,6 @@
<?php $TRANSLATIONS = array(
+"Upload" => "Carregar",
+"No file was uploaded. Unknown error" => "Nenhum arquivo foi transferido. Erro desconhecido",
"There is no error, the file uploaded with success" => "Não houve nenhum erro, o arquivo foi transferido com sucesso",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "O arquivo enviado excede a diretiva upload_max_filesize no php.ini: ",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "O arquivo carregado excede o MAX_FILE_SIZE que foi especificado no formulário HTML",
@@ -20,7 +22,6 @@
"unshared {files}" => "{files} não compartilhados",
"deleted {files}" => "{files} apagados",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nome inválido, '\\', '/', '<', '>', ':', '\"', '|', '?' e '*' não são permitidos.",
-"generating ZIP-file, it may take some time." => "gerando arquivo ZIP, isso pode levar um tempo.",
"Unable to upload your file as it is a directory or has 0 bytes" => "Impossível enviar seus arquivo como diretório ou ele tem 0 bytes.",
"Upload Error" => "Erro de envio",
"Close" => "Fechar",
@@ -29,7 +30,7 @@
"{count} files uploading" => "Enviando {count} arquivos",
"Upload cancelled." => "Envio cancelado.",
"File upload is in progress. Leaving the page now will cancel the upload." => "Upload em andamento. Sair da página agora resultará no cancelamento do envio.",
-"Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" => "Nome de pasta inválido. O nome \"Shared\" é reservado pelo Owncloud",
+"URL cannot be empty." => "URL não pode ficar em branco",
"{count} files scanned" => "{count} arquivos scaneados",
"error while scanning" => "erro durante verificação",
"Name" => "Nome",
@@ -51,7 +52,6 @@
"Text file" => "Arquivo texto",
"Folder" => "Pasta",
"From link" => "Do link",
-"Upload" => "Carregar",
"Cancel upload" => "Cancelar upload",
"Nothing in here. Upload something!" => "Nada aqui.Carrege alguma coisa!",
"Download" => "Baixar",
diff --git a/apps/files/l10n/pt_PT.php b/apps/files/l10n/pt_PT.php
index 8c90fd47714..0ed13fa9983 100644
--- a/apps/files/l10n/pt_PT.php
+++ b/apps/files/l10n/pt_PT.php
@@ -1,4 +1,9 @@
<?php $TRANSLATIONS = array(
+"Upload" => "Enviar",
+"Could not move %s - File with this name already exists" => "Não foi possível mover o ficheiro %s - Já existe um ficheiro com esse nome",
+"Could not move %s" => "Não foi possível move o ficheiro %s",
+"Unable to rename file" => "Não foi possível renomear o ficheiro",
+"No file was uploaded. Unknown error" => "Nenhum ficheiro foi carregado. Erro desconhecido",
"There is no error, the file uploaded with success" => "Sem erro, ficheiro enviado com sucesso",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "O ficheiro enviado excede o limite permitido na directiva do php.ini upload_max_filesize",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "O ficheiro enviado excede o diretivo MAX_FILE_SIZE especificado no formulário HTML",
@@ -6,6 +11,8 @@
"No file was uploaded" => "Não foi enviado nenhum ficheiro",
"Missing a temporary folder" => "Falta uma pasta temporária",
"Failed to write to disk" => "Falhou a escrita no disco",
+"Not enough space available" => "Espaço em disco insuficiente!",
+"Invalid directory." => "Directório Inválido",
"Files" => "Ficheiros",
"Unshare" => "Deixar de partilhar",
"Delete" => "Apagar",
@@ -19,8 +26,10 @@
"replaced {new_name} with {old_name}" => "substituido {new_name} por {old_name}",
"unshared {files}" => "{files} não partilhado(s)",
"deleted {files}" => "{files} eliminado(s)",
+"'.' 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.",
-"generating ZIP-file, it may take some time." => "a gerar o ficheiro ZIP, poderá demorar algum tempo.",
+"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.",
"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",
"Upload Error" => "Erro no envio",
"Close" => "Fechar",
@@ -29,7 +38,8 @@
"{count} files uploading" => "A carregar {count} ficheiros",
"Upload cancelled." => "O envio foi cancelado.",
"File upload is in progress. Leaving the page now will cancel the upload." => "Envio de ficheiro em progresso. Irá cancelar o envio se sair da página agora.",
-"Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" => "Nome de pasta inválido! O uso de \"Shared\" (Partilhado) está reservado pelo OwnCloud",
+"URL cannot be empty." => "O URL não pode estar vazio.",
+"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Nome de pasta inválido. O Uso de 'shared' é reservado para o ownCloud",
"{count} files scanned" => "{count} ficheiros analisados",
"error while scanning" => "erro ao analisar",
"Name" => "Nome",
@@ -51,7 +61,6 @@
"Text file" => "Ficheiro de texto",
"Folder" => "Pasta",
"From link" => "Da ligação",
-"Upload" => "Enviar",
"Cancel upload" => "Cancelar envio",
"Nothing in here. Upload something!" => "Vazio. Envie alguma coisa!",
"Download" => "Transferir",
diff --git a/apps/files/l10n/ro.php b/apps/files/l10n/ro.php
index 34e8dc8a50e..af9833e5c2d 100644
--- a/apps/files/l10n/ro.php
+++ b/apps/files/l10n/ro.php
@@ -1,30 +1,54 @@
<?php $TRANSLATIONS = array(
+"Upload" => "Încarcă",
+"Could not move %s - File with this name already exists" => "Nu se poate de mutat %s - Fișier cu acest nume deja există",
+"Could not move %s" => "Nu s-a putut muta %s",
+"Unable to rename file" => "Nu s-a putut redenumi fișierul",
+"No file was uploaded. Unknown error" => "Nici un fișier nu a fost încărcat. Eroare necunoscută",
"There is no error, the file uploaded with success" => "Nicio eroare, fișierul a fost încărcat cu succes",
+"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Fisierul incarcat depaseste upload_max_filesize permisi in php.ini: ",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Fișierul are o dimensiune mai mare decât variabile MAX_FILE_SIZE specificată în formularul HTML",
"The uploaded file was only partially uploaded" => "Fișierul a fost încărcat doar parțial",
"No file was uploaded" => "Niciun fișier încărcat",
"Missing a temporary folder" => "Lipsește un dosar temporar",
"Failed to write to disk" => "Eroare la scriere pe disc",
+"Not enough space available" => "Nu este suficient spațiu disponibil",
+"Invalid directory." => "Director invalid.",
"Files" => "Fișiere",
"Unshare" => "Anulează partajarea",
"Delete" => "Șterge",
"Rename" => "Redenumire",
+"{new_name} already exists" => "{new_name} deja exista",
"replace" => "înlocuire",
"suggest name" => "sugerează nume",
"cancel" => "anulare",
+"replaced {new_name}" => "inlocuit {new_name}",
"undo" => "Anulează ultima acțiune",
-"generating ZIP-file, it may take some time." => "se generază fișierul ZIP, va dura ceva timp.",
+"replaced {new_name} with {old_name}" => "{new_name} inlocuit cu {old_name}",
+"unshared {files}" => "nedistribuit {files}",
+"deleted {files}" => "Sterse {files}",
+"'.' is an invalid file name." => "'.' este un nume invalid de fișier.",
+"File name cannot be empty." => "Numele fișierului nu poate rămâne gol.",
+"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nume invalid, '\\', '/', '<', '>', ':', '\"', '|', '?' si '*' nu sunt permise.",
+"Your download is being prepared. This might take some time if the files are big." => "Se pregătește descărcarea. Aceasta poate să dureze ceva timp dacă fișierele sunt mari.",
"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.",
"Upload Error" => "Eroare la încărcare",
"Close" => "ÃŽnchide",
"Pending" => "În așteptare",
"1 file uploading" => "un fișier se încarcă",
+"{count} files uploading" => "{count} fisiere incarcate",
"Upload cancelled." => "Încărcare anulată.",
"File upload is in progress. Leaving the page now will cancel the upload." => "Fișierul este în curs de încărcare. Părăsirea paginii va întrerupe încărcarea.",
+"URL cannot be empty." => "Adresa URL nu poate fi goală.",
+"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Invalid folder name. Usage of 'Shared' is reserved by Ownclou",
+"{count} files scanned" => "{count} fisiere scanate",
"error while scanning" => "eroare la scanarea",
"Name" => "Nume",
"Size" => "Dimensiune",
"Modified" => "Modificat",
+"1 folder" => "1 folder",
+"{count} folders" => "{count} foldare",
+"1 file" => "1 fisier",
+"{count} files" => "{count} fisiere",
"File handling" => "Manipulare fișiere",
"Maximum upload size" => "Dimensiune maximă admisă la încărcare",
"max. possible: " => "max. posibil:",
@@ -36,7 +60,7 @@
"New" => "Nou",
"Text file" => "Fișier text",
"Folder" => "Dosar",
-"Upload" => "Încarcă",
+"From link" => "de la adresa",
"Cancel upload" => "Anulează încărcarea",
"Nothing in here. Upload something!" => "Nimic aici. Încarcă ceva!",
"Download" => "Descarcă",
diff --git a/apps/files/l10n/ru.php b/apps/files/l10n/ru.php
index 4b6d0a8b151..cb17476b9f8 100644
--- a/apps/files/l10n/ru.php
+++ b/apps/files/l10n/ru.php
@@ -1,4 +1,9 @@
<?php $TRANSLATIONS = array(
+"Upload" => "Загрузить",
+"Could not move %s - File with this name already exists" => "Ðевозможно перемеÑтить %s - файл Ñ Ñ‚Ð°ÐºÐ¸Ð¼ именем уже ÑущеÑтвует",
+"Could not move %s" => "Ðевозможно перемеÑтить %s",
+"Unable to rename file" => "Ðевозможно переименовать файл",
+"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:",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Файл превышает размер MAX_FILE_SIZE, указаный в HTML-форме",
@@ -6,6 +11,8 @@
"No file was uploaded" => "Файл не был загружен",
"Missing a temporary folder" => "Ðевозможно найти временную папку",
"Failed to write to disk" => "Ошибка запиÑи на диÑк",
+"Not enough space available" => "ÐедоÑтаточно Ñвободного меÑта",
+"Invalid directory." => "Ðеправильный каталог.",
"Files" => "Файлы",
"Unshare" => "Отменить публикацию",
"Delete" => "Удалить",
@@ -19,8 +26,9 @@
"replaced {new_name} with {old_name}" => "заменено {new_name} на {old_name}",
"unshared {files}" => "не опубликованные {files}",
"deleted {files}" => "удаленные {files}",
+"'.' is an invalid file name." => "'.' - неправильное Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð°.",
+"File name cannot be empty." => "Ð˜Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° не может быть пуÑтым.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Ðеправильное имÑ, '\\', '/', '<', '>', ':', '\"', '|', '?' и '*' недопуÑтимы.",
-"generating ZIP-file, it may take some time." => "Ñоздание ZIP-файла, Ñто может занÑть некоторое времÑ.",
"Unable to upload your file as it is a directory or has 0 bytes" => "Ðе удаетÑÑ Ð·Ð°Ð³Ñ€ÑƒÐ·Ð¸Ñ‚ÑŒ файл размером 0 байт в каталог",
"Upload Error" => "Ошибка загрузки",
"Close" => "Закрыть",
@@ -29,7 +37,8 @@
"{count} files uploading" => "{count} файлов загружаетÑÑ",
"Upload cancelled." => "Загрузка отменена.",
"File upload is in progress. Leaving the page now will cancel the upload." => "Файл в процеÑÑе загрузки. Покинув Ñтраницу вы прервёте загрузку.",
-"Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" => "Ðе правильное Ð¸Ð¼Ñ Ð¿Ð°Ð¿ÐºÐ¸. Ð˜Ð¼Ñ \"Shared\" резервировано в Owncloud",
+"URL cannot be empty." => "СÑылка не может быть пуÑтой.",
+"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Ðеправильное Ð¸Ð¼Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð°. Ð˜Ð¼Ñ 'Shared' зарезервировано.",
"{count} files scanned" => "{count} файлов проÑканировано",
"error while scanning" => "ошибка во Ð²Ñ€ÐµÐ¼Ñ ÑанированиÑ",
"Name" => "Ðазвание",
@@ -51,7 +60,6 @@
"Text file" => "ТекÑтовый файл",
"Folder" => "Папка",
"From link" => "Из ÑÑылки",
-"Upload" => "Загрузить",
"Cancel upload" => "Отмена загрузки",
"Nothing in here. Upload something!" => "ЗдеÑÑŒ ничего нет. Загрузите что-нибудь!",
"Download" => "Скачать",
diff --git a/apps/files/l10n/ru_RU.php b/apps/files/l10n/ru_RU.php
index bb701aac002..4f8bd1d5b95 100644
--- a/apps/files/l10n/ru_RU.php
+++ b/apps/files/l10n/ru_RU.php
@@ -1,4 +1,6 @@
<?php $TRANSLATIONS = array(
+"Upload" => "Загрузить ",
+"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:",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Размер загруженного",
@@ -20,7 +22,6 @@
"unshared {files}" => "CовмеÑтное иÑпользование прекращено {файлы}",
"deleted {files}" => "удалено {файлы}",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Ðекорректное имÑ, '\\', '/', '<', '>', ':', '\"', '|', '?' и '*' не допуÑтимы.",
-"generating ZIP-file, it may take some time." => "Создание ZIP-файла, Ñто может занÑть некоторое времÑ.",
"Unable to upload your file as it is a directory or has 0 bytes" => "Ðевозможно загрузить файл,\n так как он имеет нулевой размер или ÑвлÑетÑÑ Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸ÐµÐ¹",
"Upload Error" => "Ошибка загрузки",
"Close" => "Закрыть",
@@ -29,7 +30,7 @@
"{count} files uploading" => "{количеÑтво} загружено файлов",
"Upload cancelled." => "Загрузка отменена",
"File upload is in progress. Leaving the page now will cancel the upload." => "ПроцеÑÑ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸ файла. ЕÑли покинуть Ñтраницу ÑейчаÑ, загрузка будет отменена.",
-"Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" => "Ðекорректное Ð¸Ð¼Ñ Ð¿Ð°Ð¿ÐºÐ¸. Ðименование \"Опубликовано\" зарезервировано ownCloud",
+"URL cannot be empty." => "URL не должен быть пуÑтым.",
"{count} files scanned" => "{количеÑтво} файлов отÑканировано",
"error while scanning" => "ошибка при Ñканировании",
"Name" => "ИмÑ",
@@ -51,7 +52,6 @@
"Text file" => "ТекÑтовый файл",
"Folder" => "Папка",
"From link" => "По ÑÑылке",
-"Upload" => "Загрузить ",
"Cancel upload" => "Отмена загрузки",
"Nothing in here. Upload something!" => "ЗдеÑÑŒ ничего нет. Загрузите что-нибудь!",
"Download" => "Загрузить",
diff --git a/apps/files/l10n/si_LK.php b/apps/files/l10n/si_LK.php
index e256075896f..8b276bdaa8f 100644
--- a/apps/files/l10n/si_LK.php
+++ b/apps/files/l10n/si_LK.php
@@ -1,4 +1,6 @@
<?php $TRANSLATIONS = array(
+"Upload" => "උඩුගත කිරීම",
+"No file was uploaded. Unknown error" => "ගොනුවක් උඩුගත නොවුනි. නොහà·à¶³à·’නු දà·à·‚යක්",
"There is no error, the file uploaded with success" => "නිවà·à¶»à¶¯à·’ à·€ ගොනුව උඩුගත කෙරිනි",
"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,12 +15,12 @@
"suggest name" => "නමක් යà·à¶¢à¶±à· කරන්න",
"cancel" => "අත් හරින්න",
"undo" => "නිෂ්ප්â€à¶»à¶· කරන්න",
-"generating ZIP-file, it may take some time." => "ගොනුවක් සෑදෙමින් පවතී. කෙටි වේලà·à·€à¶šà·Š ගත විය à·„à·à¶š",
"Upload Error" => "උඩුගත කිරීමේ දà·à·à¶ºà¶šà·Š",
"Close" => "වසන්න",
"1 file uploading" => "1 ගොනුවක් උඩගත කෙරේ",
"Upload cancelled." => "උඩුගත කිරීම අත් හරින්න ලදී",
"File upload is in progress. Leaving the page now will cancel the upload." => "උඩුගතකිරීමක් සිදුවේ. පිටුව à·„à·à¶» යà·à¶¸à·™à¶±à·Š එය à¶±à·à·€à¶­à·™à¶±à·” ඇත",
+"URL cannot be empty." => "යොමුව හිස් විය නොහà·à¶š",
"error while scanning" => "පරීක්ෂ෠කිරීමේදී දà·à·‚යක්",
"Name" => "නම",
"Size" => "à¶´à·Šâ€à¶»à¶¸à·à¶«à¶º",
@@ -37,7 +39,6 @@
"Text file" => "පෙළ ගොනුව",
"Folder" => "à·†à·à¶½à·Šà¶©à¶»à¶º",
"From link" => "යොමුවෙන්",
-"Upload" => "උඩුගත කිරීම",
"Cancel upload" => "උඩුගත කිරීම අත් හරින්න",
"Nothing in here. Upload something!" => "මෙහි කිසිවක් නොමà·à¶­. යමක් උඩුගත කරන්න",
"Download" => "à¶¶à·à¶œà¶­ කිරීම",
diff --git a/apps/files/l10n/sk_SK.php b/apps/files/l10n/sk_SK.php
index 21d9710f6ba..66163b1e53c 100644
--- a/apps/files/l10n/sk_SK.php
+++ b/apps/files/l10n/sk_SK.php
@@ -1,4 +1,9 @@
<?php $TRANSLATIONS = array(
+"Upload" => "Odoslať",
+"Could not move %s - File with this name already exists" => "Nie je možné presunúť %s - súbor s týmto menom už existuje",
+"Could not move %s" => "Nie je možné presunúť %s",
+"Unable to rename file" => "Nemožno premenovať súbor",
+"No file was uploaded. Unknown error" => "Žiaden súbor nebol odoslaný. Neznáma chyba",
"There is no error, the file uploaded with success" => "Nenastala žiadna chyba, súbor bol úspešne nahraný",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Nahraný súbor predÄil konfiguraÄnú direktívu upload_max_filesize v súbore php.ini:",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Nahrávaný súbor presiahol MAX_FILE_SIZE direktívu, ktorá bola špecifikovaná v HTML formulári",
@@ -6,6 +11,8 @@
"No file was uploaded" => "Žiaden súbor nebol nahraný",
"Missing a temporary folder" => "Chýbajúci doÄasný prieÄinok",
"Failed to write to disk" => "Zápis na disk sa nepodaril",
+"Not enough space available" => "Nie je k dispozícii dostatok miesta",
+"Invalid directory." => "Neplatný adresár",
"Files" => "Súbory",
"Unshare" => "Nezdielať",
"Delete" => "Odstrániť",
@@ -19,8 +26,10 @@
"replaced {new_name} with {old_name}" => "prepísaný {new_name} súborom {old_name}",
"unshared {files}" => "zdieľanie zrušené pre {files}",
"deleted {files}" => "zmazané {files}",
+"'.' is an invalid file name." => "'.' je neplatné meno súboru.",
+"File name cannot be empty." => "Meno súboru nemôže byť prázdne",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nesprávne meno, '\\', '/', '<', '>', ':', '\"', '|', '?' a '*' nie sú povolené hodnoty.",
-"generating ZIP-file, it may take some time." => "generujem ZIP-súbor, môže to chvíľu trvať.",
+"Your download is being prepared. This might take some time if the files are big." => "Vaše sťahovanie sa pripravuje. Ak sú sťahované súbory veľké, môže to chvíľu trvať.",
"Unable to upload your file as it is a directory or has 0 bytes" => "Nemôžem nahraÅ¥ súbor lebo je to prieÄinok alebo má 0 bajtov.",
"Upload Error" => "Chyba odosielania",
"Close" => "Zavrieť",
@@ -29,7 +38,8 @@
"{count} files uploading" => "{count} súborov odosielaných",
"Upload cancelled." => "Odosielanie zrušené",
"File upload is in progress. Leaving the page now will cancel the upload." => "Opustenie stránky zruší práve prebiehajúce odosielanie súboru.",
-"Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" => "Nesprávne meno adresára. Použitie slova \"Shared\" (Zdieľané) je vyhradené službou ownCloud.",
+"URL cannot be empty." => "URL nemôže byť prázdne",
+"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Neplatné meno adresára. Používanie mena 'Shared' je vyhradené len pre Owncloud",
"{count} files scanned" => "{count} súborov prehľadaných",
"error while scanning" => "chyba poÄas kontroly",
"Name" => "Meno",
@@ -51,7 +61,6 @@
"Text file" => "Textový súbor",
"Folder" => "PrieÄinok",
"From link" => "Z odkazu",
-"Upload" => "Odoslať",
"Cancel upload" => "Zrušiť odosielanie",
"Nothing in here. Upload something!" => "Žiadny súbor. Nahrajte nieÄo!",
"Download" => "Stiahnuť",
diff --git a/apps/files/l10n/sl.php b/apps/files/l10n/sl.php
index c5ee6c422d5..34544e3401c 100644
--- a/apps/files/l10n/sl.php
+++ b/apps/files/l10n/sl.php
@@ -1,4 +1,6 @@
<?php $TRANSLATIONS = array(
+"Upload" => "Pošlji",
+"No file was uploaded. Unknown error" => "Nobena datoteka ni naložena. Neznana napaka.",
"There is no error, the file uploaded with success" => "Datoteka je uspešno naložena brez napak.",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Naložena datoteka presega dovoljeno velikost. Le-ta je doloÄena z vrstico upload_max_filesize v datoteki php.ini:",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Naložena datoteka presega velikost, ki jo doloÄa parameter MAX_FILE_SIZE v HTML obrazcu",
@@ -20,7 +22,6 @@
"unshared {files}" => "odstranjeno iz souporabe {files}",
"deleted {files}" => "izbrisano {files}",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Neveljavno ime, znaki '\\', '/', '<', '>', ':', '\"', '|', '?' in '*' niso dovoljeni.",
-"generating ZIP-file, it may take some time." => "Ustvarjanje datoteke ZIP. To lahko traja nekaj Äasa.",
"Unable to upload your file as it is a directory or has 0 bytes" => "PoÅ¡iljanje ni mogoÄe, saj gre za mapo, ali pa je datoteka velikosti 0 bajtov.",
"Upload Error" => "Napaka med nalaganjem",
"Close" => "Zapri",
@@ -29,7 +30,7 @@
"{count} files uploading" => "nalagam {count} datotek",
"Upload cancelled." => "Pošiljanje je preklicano.",
"File upload is in progress. Leaving the page now will cancel the upload." => "V teku je pošiljanje datoteke. Če zapustite to stran zdaj, bo pošiljanje preklicano.",
-"Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" => "Neveljavno ime datoteke. Uporaba mape \"Share\" je rezervirana za ownCloud.",
+"URL cannot be empty." => "Naslov URL ne sme biti prazen.",
"{count} files scanned" => "{count} files scanned",
"error while scanning" => "napaka med pregledovanjem datotek",
"Name" => "Ime",
@@ -51,7 +52,6 @@
"Text file" => "Besedilna datoteka",
"Folder" => "Mapa",
"From link" => "Iz povezave",
-"Upload" => "Pošlji",
"Cancel upload" => "PrekliÄi poÅ¡iljanje",
"Nothing in here. Upload something!" => "Tukaj ni niÄesar. Naložite kaj!",
"Download" => "Prejmi",
diff --git a/apps/files/l10n/sr.php b/apps/files/l10n/sr.php
index 48b258862b5..3da6e27373f 100644
--- a/apps/files/l10n/sr.php
+++ b/apps/files/l10n/sr.php
@@ -1,4 +1,5 @@
<?php $TRANSLATIONS = array(
+"Upload" => "Отпреми",
"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:",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Отпремљена датотека прелази Ñмерницу MAX_FILE_SIZE која је наведена у HTML обраÑцу",
@@ -20,7 +21,6 @@
"unshared {files}" => "укинуто дељење {files}",
"deleted {files}" => "обриÑано {files}",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "ÐеиÑправан назив. Следећи знакови ниÑу дозвољени: \\, /, <, >, :, \", |, ? и *.",
-"generating ZIP-file, it may take some time." => "правим ZIP датотеку…",
"Unable to upload your file as it is a directory or has 0 bytes" => "Ðе могу да отпремим датотеку као фаÑциклу или она има 0 бајтова",
"Upload Error" => "Грешка при отпремању",
"Close" => "Затвори",
@@ -29,7 +29,6 @@
"{count} files uploading" => "Отпремам {count} датотеке/а",
"Upload cancelled." => "Отпремање је прекинуто.",
"File upload is in progress. Leaving the page now will cancel the upload." => "Отпремање датотеке је у току. Ðко Ñада напуÑтите Ñтраницу, прекинућете отпремање.",
-"Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" => "ÐеиÑправан назив фаÑцикле. „Дељено“ кориÑти Оунклауд.",
"{count} files scanned" => "Скенирано датотека: {count}",
"error while scanning" => "грешка при Ñкенирању",
"Name" => "Ðазив",
@@ -51,7 +50,6 @@
"Text file" => "текÑтуална датотека",
"Folder" => "фаÑцикла",
"From link" => "Са везе",
-"Upload" => "Отпреми",
"Cancel upload" => "Прекини отпремање",
"Nothing in here. Upload something!" => "Овде нема ничег. Отпремите нешто!",
"Download" => "Преузми",
diff --git a/apps/files/l10n/sr@latin.php b/apps/files/l10n/sr@latin.php
index fddaf5840ce..117d437f0bb 100644
--- a/apps/files/l10n/sr@latin.php
+++ b/apps/files/l10n/sr@latin.php
@@ -1,4 +1,5 @@
<?php $TRANSLATIONS = array(
+"Upload" => "Pošalji",
"There is no error, the file uploaded with success" => "Nema greške, fajl je uspešno poslat",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Poslati fajl prevazilazi direktivu MAX_FILE_SIZE koja je navedena u HTML formi",
"The uploaded file was only partially uploaded" => "Poslati fajl je samo delimiÄno otpremljen!",
@@ -12,7 +13,6 @@
"Modified" => "Zadnja izmena",
"Maximum upload size" => "Maksimalna veliÄina poÅ¡iljke",
"Save" => "Snimi",
-"Upload" => "Pošalji",
"Nothing in here. Upload something!" => "Ovde nema niÄeg. PoÅ¡aljite neÅ¡to!",
"Download" => "Preuzmi",
"Upload too large" => "Pošiljka je prevelika",
diff --git a/apps/files/l10n/sv.php b/apps/files/l10n/sv.php
index bcc849242ac..7597f6908eb 100644
--- a/apps/files/l10n/sv.php
+++ b/apps/files/l10n/sv.php
@@ -1,4 +1,9 @@
<?php $TRANSLATIONS = array(
+"Upload" => "Ladda upp",
+"Could not move %s - File with this name already exists" => "Kunde inte flytta %s - Det finns redan en fil med detta namn",
+"Could not move %s" => "Kan inte flytta %s",
+"Unable to rename file" => "Kan inte byta namn på filen",
+"No file was uploaded. Unknown error" => "Ingen fil uppladdad. Okänt fel",
"There is no error, the file uploaded with success" => "Inga fel uppstod. Filen laddades upp utan problem",
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Den uppladdade filen överskrider upload_max_filesize direktivet php.ini:",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Den uppladdade filen överstiger MAX_FILE_SIZE direktivet som anges i HTML-formulär",
@@ -6,6 +11,8 @@
"No file was uploaded" => "Ingen fil blev uppladdad",
"Missing a temporary folder" => "Saknar en tillfällig mapp",
"Failed to write to disk" => "Misslyckades spara till disk",
+"Not enough space available" => "Inte tillräckligt med utrymme tillgängligt",
+"Invalid directory." => "Felaktig mapp.",
"Files" => "Filer",
"Unshare" => "Sluta dela",
"Delete" => "Radera",
@@ -19,8 +26,10 @@
"replaced {new_name} with {old_name}" => "ersatt {new_name} med {old_name}",
"unshared {files}" => "stoppad delning {files}",
"deleted {files}" => "raderade {files}",
+"'.' is an invalid file name." => "'.' är ett ogiltigt filnamn.",
+"File name cannot be empty." => "Filnamn kan inte vara tomt.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Ogiltigt namn, '\\', '/', '<', '>', ':', '\"', '|', '?' och '*' är inte tillåtet.",
-"generating ZIP-file, it may take some time." => "genererar ZIP-fil, det kan ta lite tid.",
+"Your download is being prepared. This might take some time if the files are big." => "Din nedladdning förbereds. Det kan ta tid om det är stora filer.",
"Unable to upload your file as it is a directory or has 0 bytes" => "Kunde inte ladda upp dina filer eftersom det antingen är en mapp eller har 0 bytes.",
"Upload Error" => "Uppladdningsfel",
"Close" => "Stäng",
@@ -29,7 +38,8 @@
"{count} files uploading" => "{count} filer laddas upp",
"Upload cancelled." => "Uppladdning avbruten.",
"File upload is in progress. Leaving the page now will cancel the upload." => "Filuppladdning pågår. Lämnar du sidan så avbryts uppladdningen.",
-"Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" => "Ogiltigt mappnamn. Ordet \"Delad\" är reserverat av ownCloud.",
+"URL cannot be empty." => "URL kan inte vara tom.",
+"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Ogiltigt mappnamn. Användande av 'Shared' är reserverat av ownCloud",
"{count} files scanned" => "{count} filer skannade",
"error while scanning" => "fel vid skanning",
"Name" => "Namn",
@@ -51,7 +61,6 @@
"Text file" => "Textfil",
"Folder" => "Mapp",
"From link" => "Från länk",
-"Upload" => "Ladda upp",
"Cancel upload" => "Avbryt uppladdning",
"Nothing in here. Upload something!" => "Ingenting här. Ladda upp något!",
"Download" => "Ladda ner",
diff --git a/apps/files/l10n/ta_LK.php b/apps/files/l10n/ta_LK.php
index 9399089bc78..d7a9313d974 100644
--- a/apps/files/l10n/ta_LK.php
+++ b/apps/files/l10n/ta_LK.php
@@ -1,4 +1,6 @@
<?php $TRANSLATIONS = array(
+"Upload" => "பதிவேறà¯à®±à¯à®•",
+"No file was uploaded. Unknown error" => "ஒர௠கோபà¯à®ªà¯à®®à¯ பதிவேறà¯à®±à®ªà¯à®ªà®Ÿà®µà®¿à®²à¯à®²à¯ˆ. அறியபà¯à®ªà®Ÿà®¾à®¤ வழà¯",
"There is no error, the file uploaded with success" => "இஙà¯à®•௠வழ௠இலà¯à®²à¯ˆ, கோபà¯à®ªà¯ வெறà¯à®±à®¿à®•ரமாக பதிவேறà¯à®±à®ªà¯à®ªà®Ÿà¯à®Ÿà®¤à¯",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "பதிவேறà¯à®±à®ªà¯à®ªà®Ÿà¯à®Ÿ கோபà¯à®ªà®¾à®©à®¤à¯ HTML படிவதà¯à®¤à®¿à®²à¯ கà¯à®±à®¿à®ªà¯à®ªà®¿à®Ÿà®ªà¯à®ªà®Ÿà¯à®Ÿà¯à®³à¯à®³ MAX_FILE_SIZE directive ஠விட கூடியதà¯",
"The uploaded file was only partially uploaded" => "பதிவேறà¯à®±à®ªà¯à®ªà®Ÿà¯à®Ÿ கோபà¯à®ªà®¾à®©à®¤à¯ பகà¯à®¤à®¿à®¯à®¾à®• மடà¯à®Ÿà¯à®®à¯‡ பதிவேறà¯à®±à®ªà¯à®ªà®Ÿà¯à®Ÿà¯à®³à¯à®³à®¤à¯",
@@ -19,7 +21,6 @@
"unshared {files}" => "பகிரபà¯à®ªà®Ÿà®¾à®¤à®¤à¯ {கோபà¯à®ªà¯à®•ளà¯}",
"deleted {files}" => "நீகà¯à®•பà¯à®ªà®Ÿà¯à®Ÿà®¤à¯ {கோபà¯à®ªà¯à®•ளà¯}",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "செலà¯à®²à¯à®ªà®Ÿà®¿à®¯à®±à¯à®± பெயரà¯,'\\', '/', '<', '>', ':', '\"', '|', '?' மறà¯à®±à¯à®®à¯ '*' ஆகியன அனà¯à®®à®¤à®¿à®•à¯à®•பà¯à®ªà®Ÿà®®à®¾à®Ÿà¯à®Ÿà®¾à®¤à¯.",
-"generating ZIP-file, it may take some time." => " ZIP கோபà¯à®ªà¯ உரà¯à®µà®¾à®•à¯à®•பà¯à®ªà®Ÿà¯à®•ினà¯à®±à®¤à¯, இத௠சில நேரம௠ஆகலாமà¯.",
"Unable to upload your file as it is a directory or has 0 bytes" => "அடைவ௠அலà¯à®²à®¤à¯ 0 bytes ஠கொணà¯à®Ÿà¯à®³à¯à®³à®¤à®¾à®²à¯ உஙà¯à®•ளà¯à®Ÿà¯ˆà®¯ கோபà¯à®ªà¯ˆ பதிவேறà¯à®± à®®à¯à®Ÿà®¿à®¯à®µà®¿à®²à¯à®²à¯ˆ",
"Upload Error" => "பதிவேறà¯à®±à®²à¯ வழà¯",
"Close" => "மூடà¯à®•",
@@ -28,7 +29,7 @@
"{count} files uploading" => "{எணà¯à®£à®¿à®•à¯à®•ை} கோபà¯à®ªà¯à®•ள௠பதிவேறà¯à®±à®ªà¯à®ªà®Ÿà¯à®•ினà¯à®±à®¤à¯",
"Upload cancelled." => "பதிவேறà¯à®±à®²à¯ இரதà¯à®¤à¯ செயà¯à®¯à®ªà¯à®ªà®Ÿà¯à®Ÿà¯à®³à¯à®³à®¤à¯",
"File upload is in progress. Leaving the page now will cancel the upload." => "கோபà¯à®ªà¯ பதிவேறà¯à®±à®®à¯ செயலà¯à®ªà®¾à®Ÿà¯à®Ÿà®¿à®²à¯ உளà¯à®³à®¤à¯. இநà¯à®¤à®ªà¯ பகà¯à®•தà¯à®¤à®¿à®²à®¿à®°à¯à®¨à¯à®¤à¯ வெறியேறà¯à®µà®¤à®¾à®©à®¤à¯ பதிவேறà¯à®±à®²à¯ˆ இரதà¯à®¤à¯ செயà¯à®¯à¯à®®à¯.",
-"Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" => "செலà¯à®²à¯à®ªà®Ÿà®¿à®¯à®±à¯à®± கோபà¯à®ªà¯à®±à¯ˆ பெயரà¯. \"பகிரà¯à®µà®¿à®©à¯\" பாவனை Owncloud இனால௠ஒதà¯à®•à¯à®•பà¯à®ªà®Ÿà¯à®Ÿà¯à®³à¯à®³à®¤à¯",
+"URL cannot be empty." => "URL வெறà¯à®®à¯ˆà®¯à®¾à®• இரà¯à®•à¯à®•à®®à¯à®Ÿà®¿à®¯à®¾à®¤à¯.",
"{count} files scanned" => "{எணà¯à®£à®¿à®•à¯à®•ை} கோபà¯à®ªà¯à®•ள௠வரà¯à®Ÿà®ªà¯à®ªà®Ÿà¯à®Ÿà®¤à¯",
"error while scanning" => "வரà¯à®Ÿà¯à®®à¯ போதான வழà¯",
"Name" => "பெயரà¯",
@@ -50,7 +51,6 @@
"Text file" => "கோபà¯à®ªà¯ உரை",
"Folder" => "கோபà¯à®ªà¯à®±à¯ˆ",
"From link" => "இணைபà¯à®ªà®¿à®²à®¿à®°à¯à®¨à¯à®¤à¯",
-"Upload" => "பதிவேறà¯à®±à¯à®•",
"Cancel upload" => "பதிவேறà¯à®±à®²à¯ˆ இரதà¯à®¤à¯ செயà¯à®•",
"Nothing in here. Upload something!" => "இஙà¯à®•௠ஒனà¯à®±à¯à®®à¯ இலà¯à®²à¯ˆ. à®à®¤à®¾à®µà®¤à¯ பதிவேறà¯à®±à¯à®•!",
"Download" => "பதிவிறகà¯à®•à¯à®•",
diff --git a/apps/files/l10n/th_TH.php b/apps/files/l10n/th_TH.php
index bad817ab006..43a905ea3bc 100644
--- a/apps/files/l10n/th_TH.php
+++ b/apps/files/l10n/th_TH.php
@@ -1,4 +1,9 @@
<?php $TRANSLATIONS = array(
+"Upload" => "อัพโหลด",
+"Could not move %s - File with this name already exists" => "ไม่สามารถย้าย %s ได้ - ไฟล์ที่ใช้ชื่อนี้มีอยู่à¹à¸¥à¹‰à¸§",
+"Could not move %s" => "ไม่สามารถย้าย %s ได้",
+"Unable to rename file" => "ไม่สามารถเปลี่ยนชื่อไฟล์ได้",
+"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",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "ไฟล์ที่อัพโหลดมีขนาดเà¸à¸´à¸™à¸„ำสั่ง MAX_FILE_SIZE ที่ระบุเอาไว้ในรูปà¹à¸šà¸šà¸„ำสั่งในภาษา HTML",
@@ -6,6 +11,8 @@
"No file was uploaded" => "ยังไม่มีไฟล์ที่ถูà¸à¸­à¸±à¸žà¹‚หลด",
"Missing a temporary folder" => "à¹à¸Ÿà¹‰à¸¡à¹€à¸­à¸à¸ªà¸²à¸£à¸Šà¸±à¹ˆà¸§à¸„ราวเà¸à¸´à¸”à¸à¸²à¸£à¸ªà¸¹à¸à¸«à¸²à¸¢",
"Failed to write to disk" => "เขียนข้อมูลลงà¹à¸œà¹ˆà¸™à¸”ิสà¸à¹Œà¸¥à¹‰à¸¡à¹€à¸«à¸¥à¸§",
+"Not enough space available" => "มีพื้นที่เหลือไม่เพียงพอ",
+"Invalid directory." => "ไดเร็à¸à¸—อรี่ไม่ถูà¸à¸•้อง",
"Files" => "ไฟล์",
"Unshare" => "ยà¸à¹€à¸¥à¸´à¸à¸à¸²à¸£à¹à¸Šà¸£à¹Œà¸‚้อมูล",
"Delete" => "ลบ",
@@ -19,8 +26,10 @@
"replaced {new_name} with {old_name}" => "à¹à¸—นที่ {new_name} ด้วย {old_name} à¹à¸¥à¹‰à¸§",
"unshared {files}" => "ยà¸à¹€à¸¥à¸´à¸à¸à¸²à¸£à¹à¸Šà¸£à¹Œà¹à¸¥à¹‰à¸§ {files} ไฟล์",
"deleted {files}" => "ลบไฟล์à¹à¸¥à¹‰à¸§ {files} ไฟล์",
+"'.' is an invalid file name." => "'.' เป็นชื่อไฟล์ที่ไม่ถูà¸à¸•้อง",
+"File name cannot be empty." => "ชื่อไฟล์ไม่สามารถเว้นว่างได้",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "ชื่อที่ใช้ไม่ถูà¸à¸•้อง, '\\', '/', '<', '>', ':', '\"', '|', '?' à¹à¸¥à¸° '*' ไม่ได้รับอนุà¸à¸²à¸•ให้ใช้งานได้",
-"generating ZIP-file, it may take some time." => "à¸à¸³à¸¥à¸±à¸‡à¸ªà¸£à¹‰à¸²à¸‡à¹„ฟล์บีบอัด ZIP อาจใช้เวลาสัà¸à¸„รู่",
+"Your download is being prepared. This might take some time if the files are big." => "à¸à¸³à¸¥à¸±à¸‡à¹€à¸•รียมดาวน์โหลดข้อมูล หาà¸à¹„ฟล์มีขนาดใหà¸à¹ˆ อาจใช้เวลาสัà¸à¸„รู่",
"Unable to upload your file as it is a directory or has 0 bytes" => "ไม่สามารถอัพโหลดไฟล์ของคุณได้ เนื่องจาà¸à¹„ฟล์ดังà¸à¸¥à¹ˆà¸²à¸§à¹€à¸›à¹‡à¸™à¹„ดเร็à¸à¸—อรี่หรือมีขนาด 0 ไบต์",
"Upload Error" => "เà¸à¸´à¸”ข้อผิดพลาดในà¸à¸²à¸£à¸­à¸±à¸žà¹‚หลด",
"Close" => "ปิด",
@@ -29,7 +38,8 @@
"{count} files uploading" => "à¸à¸³à¸¥à¸±à¸‡à¸­à¸±à¸žà¹‚หลด {count} ไฟล์",
"Upload cancelled." => "à¸à¸²à¸£à¸­à¸±à¸žà¹‚หลดถูà¸à¸¢à¸à¹€à¸¥à¸´à¸",
"File upload is in progress. Leaving the page now will cancel the upload." => "à¸à¸²à¸£à¸­à¸±à¸žà¹‚หลดไฟล์à¸à¸³à¸¥à¸±à¸‡à¸­à¸¢à¸¹à¹ˆà¹ƒà¸™à¸£à¸°à¸«à¸§à¹ˆà¸²à¸‡à¸”ำเนินà¸à¸²à¸£ à¸à¸²à¸£à¸­à¸­à¸à¸ˆà¸²à¸à¸«à¸™à¹‰à¸²à¹€à¸§à¹‡à¸šà¸™à¸µà¹‰à¸ˆà¸°à¸—ำให้à¸à¸²à¸£à¸­à¸±à¸žà¹‚หลดถูà¸à¸¢à¸à¹€à¸¥à¸´à¸",
-"Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" => "ชื่อโฟลเดอร์ที่ใช้ไม่ถูà¸à¸•้อง à¸à¸²à¸£à¹ƒà¸Šà¹‰à¸‡à¸²à¸™ \"ถูà¸à¹à¸Šà¸£à¹Œ\" ถูà¸à¸ªà¸‡à¸§à¸™à¹„ว้เฉพาะ Owncloud เท่านั้น",
+"URL cannot be empty." => "URL ไม่สามารถเว้นว่างได้",
+"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "ชื่อโฟลเดอร์ไม่ถูà¸à¸•้อง à¸à¸²à¸£à¹ƒà¸Šà¹‰à¸‡à¸²à¸™ 'à¹à¸Šà¸£à¹Œ' สงวนไว้สำหรับ Owncloud เท่านั้น",
"{count} files scanned" => "สà¹à¸à¸™à¹„ฟล์à¹à¸¥à¹‰à¸§ {count} ไฟล์",
"error while scanning" => "พบข้อผิดพลาดในระหว่างà¸à¸²à¸£à¸ªà¹à¸à¸™à¹„ฟล์",
"Name" => "ชื่อ",
@@ -51,7 +61,6 @@
"Text file" => "ไฟล์ข้อความ",
"Folder" => "à¹à¸Ÿà¹‰à¸¡à¹€à¸­à¸à¸ªà¸²à¸£",
"From link" => "จาà¸à¸¥à¸´à¸‡à¸à¹Œ",
-"Upload" => "อัพโหลด",
"Cancel upload" => "ยà¸à¹€à¸¥à¸´à¸à¸à¸²à¸£à¸­à¸±à¸žà¹‚หลด",
"Nothing in here. Upload something!" => "ยังไม่มีไฟล์ใดๆอยู่ที่นี่ à¸à¸£à¸¸à¸“าอัพโหลดไฟล์!",
"Download" => "ดาวน์โหลด",
diff --git a/apps/files/l10n/tr.php b/apps/files/l10n/tr.php
index 061ed1f3ae2..6b390570f30 100644
--- a/apps/files/l10n/tr.php
+++ b/apps/files/l10n/tr.php
@@ -1,10 +1,18 @@
<?php $TRANSLATIONS = array(
+"Upload" => "Yükle",
+"Could not move %s - File with this name already exists" => "%s taşınamadı. Bu isimde dosya zaten var.",
+"Could not move %s" => "%s taşınamadı",
+"Unable to rename file" => "Dosya adı değiştirilemedi",
+"No file was uploaded. Unknown error" => "Dosya yüklenmedi. Bilinmeyen hata",
"There is no error, the file uploaded with success" => "Bir hata yok, dosya başarıyla yüklendi",
+"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "php.ini dosyasında upload_max_filesize ile belirtilen dosya yükleme sınırı aşıldı.",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Yüklenen dosya HTML formundaki MAX_FILE_SIZE sınırını aşıyor",
"The uploaded file was only partially uploaded" => "Yüklenen dosyanın sadece bir kısmı yüklendi",
"No file was uploaded" => "Hiç dosya yüklenmedi",
"Missing a temporary folder" => "Geçici bir klasör eksik",
"Failed to write to disk" => "Diske yazılamadı",
+"Not enough space available" => "Yeterli disk alanı yok",
+"Invalid directory." => "Geçersiz dizin.",
"Files" => "Dosyalar",
"Unshare" => "Paylaşılmayan",
"Delete" => "Sil",
@@ -15,20 +23,32 @@
"cancel" => "iptal",
"replaced {new_name}" => "deÄŸiÅŸtirilen {new_name}",
"undo" => "geri al",
+"replaced {new_name} with {old_name}" => "{new_name} ismi {old_name} ile deÄŸiÅŸtirildi",
"unshared {files}" => "paylaşılmamış {files}",
"deleted {files}" => "silinen {files}",
-"generating ZIP-file, it may take some time." => "ZIP dosyası oluşturuluyor, biraz sürebilir.",
+"'.' is an invalid file name." => "'.' geçersiz dosya adı.",
+"File name cannot be empty." => "Dosya adı boş olamaz.",
+"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Geçersiz isim, '\\', '/', '<', '>', ':', '\"', '|', '?' ve '*' karakterlerine izin verilmemektedir.",
+"Your download is being prepared. This might take some time if the files are big." => "İndirmeniz hazırlanıyor. Dosya büyük ise biraz zaman alabilir.",
"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",
"Upload Error" => "Yükleme hatası",
"Close" => "Kapat",
"Pending" => "Bekliyor",
"1 file uploading" => "1 dosya yüklendi",
+"{count} files uploading" => "{count} dosya yükleniyor",
"Upload cancelled." => "Yükleme iptal edildi.",
"File upload is in progress. Leaving the page now will cancel the upload." => "Dosya yükleme işlemi sürüyor. Şimdi sayfadan ayrılırsanız işleminiz iptal olur.",
+"URL cannot be empty." => "URL boÅŸ olamaz.",
+"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Geçersiz dizin adı. Shared isminin kullanımı Owncloud tarafından rezerver edilmiştir.",
+"{count} files scanned" => "{count} dosya tarandı",
"error while scanning" => "tararamada hata oluÅŸdu",
"Name" => "Ad",
"Size" => "Boyut",
"Modified" => "DeÄŸiÅŸtirilme",
+"1 folder" => "1 dizin",
+"{count} folders" => "{count} dizin",
+"1 file" => "1 dosya",
+"{count} files" => "{count} dosya",
"File handling" => "Dosya taşıma",
"Maximum upload size" => "Maksimum yükleme boyutu",
"max. possible: " => "mümkün olan en fazla: ",
@@ -40,7 +60,7 @@
"New" => "Yeni",
"Text file" => "Metin dosyası",
"Folder" => "Klasör",
-"Upload" => "Yükle",
+"From link" => "Bağlantıdan",
"Cancel upload" => "Yüklemeyi iptal et",
"Nothing in here. Upload something!" => "Burada hiçbir şey yok. Birşeyler yükleyin!",
"Download" => "İndir",
diff --git a/apps/files/l10n/uk.php b/apps/files/l10n/uk.php
index 00491bcc2d6..f1279bc77c8 100644
--- a/apps/files/l10n/uk.php
+++ b/apps/files/l10n/uk.php
@@ -1,4 +1,6 @@
<?php $TRANSLATIONS = array(
+"Upload" => "Відвантажити",
+"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: ",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Розмір відвантаженого файлу перевищує директиву MAX_FILE_SIZE вказану в HTML формі",
@@ -20,7 +22,6 @@
"unshared {files}" => "неопубліковано {files}",
"deleted {files}" => "видалено {files}",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Ðевірне ім'Ñ, '\\', '/', '<', '>', ':', '\"', '|', '?' та '*' не дозволені.",
-"generating ZIP-file, it may take some time." => "Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ ZIP-файлу, це може зайнÑти певний чаÑ.",
"Unable to upload your file as it is a directory or has 0 bytes" => "Ðеможливо завантажити ваш файл тому, що він тека або файл розміром 0 байт",
"Upload Error" => "Помилка завантаженнÑ",
"Close" => "Закрити",
@@ -29,7 +30,7 @@
"{count} files uploading" => "{count} файлів завантажуєтьÑÑ",
"Upload cancelled." => "Ð—Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð¿ÐµÑ€ÐµÑ€Ð²Ð°Ð½Ð¾.",
"File upload is in progress. Leaving the page now will cancel the upload." => "ВиконуєтьÑÑ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ. Ð—Ð°ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Ñ†Ñ–Ñ”Ñ— Ñторінки приведе до відміни завантаженнÑ.",
-"Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" => "Ðевірне ім'Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ñƒ. ВикориÑÑ‚Ð°Ð½Ð½Ñ \"Shared\" зарезервовано Owncloud",
+"URL cannot be empty." => "URL не може бути пуÑтим.",
"{count} files scanned" => "{count} файлів проÑкановано",
"error while scanning" => "помилка при Ñкануванні",
"Name" => "Ім'Ñ",
@@ -51,7 +52,6 @@
"Text file" => "ТекÑтовий файл",
"Folder" => "Папка",
"From link" => "З поÑиланнÑ",
-"Upload" => "Відвантажити",
"Cancel upload" => "Перервати завантаженнÑ",
"Nothing in here. Upload something!" => "Тут нічого немає. Відвантажте що-небудь!",
"Download" => "Завантажити",
diff --git a/apps/files/l10n/vi.php b/apps/files/l10n/vi.php
index 4f58e623178..dcaf8900014 100644
--- a/apps/files/l10n/vi.php
+++ b/apps/files/l10n/vi.php
@@ -1,4 +1,6 @@
<?php $TRANSLATIONS = array(
+"Upload" => "Tải lên",
+"No file was uploaded. Unknown error" => "Không có tập tin nào được tải lên. Lỗi không xác định",
"There is no error, the file uploaded with success" => "Không có lỗi, các tập tin đã được tải lên thành công",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Kích thước những tập tin tải lên vượt quá MAX_FILE_SIZE đã được quy định",
"The uploaded file was only partially uploaded" => "Tập tin tải lên mới chỉ tải lên được một phần",
@@ -19,7 +21,6 @@
"unshared {files}" => "hủy chia sẽ {files}",
"deleted {files}" => "đã xóa {files}",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Tên không hợp lệ, '\\', '/', '<', '>', ':', '\"', '|', '?' và '*' thì không được phép dùng.",
-"generating ZIP-file, it may take some time." => "Tạo tập tin ZIP, Ä‘iá»u này có thể làm mất má»™t chút thá»i gian",
"Unable to upload your file as it is a directory or has 0 bytes" => "Không thể tải lên tập tin này do nó là một thư mục hoặc kích thước tập tin bằng 0 byte",
"Upload Error" => "Tải lên lỗi",
"Close" => "Äóng",
@@ -28,7 +29,7 @@
"{count} files uploading" => "{count} tập tin đang tải lên",
"Upload cancelled." => "Hủy tải lên",
"File upload is in progress. Leaving the page now will cancel the upload." => "Tập tin tải lên Ä‘ang được xá»­ lý. Nếu bạn rá»i khá»i trang bây giá» sẽ há»§y quá trình này.",
-"Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" => "Tên thư mục không hợp lệ. Sử dụng \"Chia sẻ\" được dành riêng bởi Owncloud",
+"URL cannot be empty." => "URL không được để trống.",
"{count} files scanned" => "{count} tập tin đã được quét",
"error while scanning" => "lỗi trong khi quét",
"Name" => "Tên",
@@ -50,7 +51,6 @@
"Text file" => "Tập tin văn bản",
"Folder" => "Thư mục",
"From link" => "Từ liên kết",
-"Upload" => "Tải lên",
"Cancel upload" => "Há»§y upload",
"Nothing in here. Upload something!" => "Không có gì ở đây .Hãy tải lên một cái gì đó !",
"Download" => "Tải xuống",
diff --git a/apps/files/l10n/zh_CN.GB2312.php b/apps/files/l10n/zh_CN.GB2312.php
index ccf0efff050..4416ce9a4a2 100644
--- a/apps/files/l10n/zh_CN.GB2312.php
+++ b/apps/files/l10n/zh_CN.GB2312.php
@@ -1,4 +1,6 @@
<?php $TRANSLATIONS = array(
+"Upload" => "上传",
+"No file was uploaded. Unknown error" => "没有上传文件。未知错误",
"There is no error, the file uploaded with success" => "没有任何错误,文件上传æˆåŠŸäº†",
"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" => "æ–‡ä»¶åªæœ‰éƒ¨åˆ†è¢«ä¸Šä¼ ",
@@ -18,7 +20,6 @@
"replaced {new_name} with {old_name}" => "已用 {old_name} æ›¿æ¢ {new_name}",
"unshared {files}" => "未分享的 {files}",
"deleted {files}" => "已删除的 {files}",
-"generating ZIP-file, it may take some time." => "正在生æˆZIP文件,è¿™å¯èƒ½éœ€è¦ç‚¹æ—¶é—´",
"Unable to upload your file as it is a directory or has 0 bytes" => "ä¸èƒ½ä¸Šä¼ ä½ æŒ‡å®šçš„æ–‡ä»¶,å¯èƒ½å› ä¸ºå®ƒæ˜¯ä¸ªæ–‡ä»¶å¤¹æˆ–者大å°ä¸º0",
"Upload Error" => "上传错误",
"Close" => "关闭",
@@ -27,6 +28,7 @@
"{count} files uploading" => "{count} 个文件正在上传",
"Upload cancelled." => "ä¸Šä¼ å–æ¶ˆäº†",
"File upload is in progress. Leaving the page now will cancel the upload." => "文件正在上传。关闭页é¢ä¼šå–消上传。",
+"URL cannot be empty." => "网å€ä¸èƒ½ä¸ºç©ºã€‚",
"{count} files scanned" => "{count} 个文件已扫æ",
"error while scanning" => "扫æå‡ºé”™",
"Name" => "åå­—",
@@ -48,7 +50,6 @@
"Text file" => "文本文档",
"Folder" => "文件夹",
"From link" => "æ¥è‡ªé“¾æŽ¥",
-"Upload" => "上传",
"Cancel upload" => "å–æ¶ˆä¸Šä¼ ",
"Nothing in here. Upload something!" => "这里没有东西.上传点什么!",
"Download" => "下载",
diff --git a/apps/files/l10n/zh_CN.php b/apps/files/l10n/zh_CN.php
index 8db652f003e..f8dedc118e0 100644
--- a/apps/files/l10n/zh_CN.php
+++ b/apps/files/l10n/zh_CN.php
@@ -1,4 +1,9 @@
<?php $TRANSLATIONS = array(
+"Upload" => "上传",
+"Could not move %s - File with this name already exists" => "无法移动 %s - åŒå文件已存在",
+"Could not move %s" => "无法移动 %s",
+"Unable to rename file" => "无法é‡å‘½å文件",
+"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",
@@ -6,6 +11,8 @@
"No file was uploaded" => "文件没有上传",
"Missing a temporary folder" => "缺少临时目录",
"Failed to write to disk" => "写入ç£ç›˜å¤±è´¥",
+"Not enough space available" => "没有足够å¯ç”¨ç©ºé—´",
+"Invalid directory." => "无效文件夹。",
"Files" => "文件",
"Unshare" => "å–æ¶ˆåˆ†äº«",
"Delete" => "删除",
@@ -19,8 +26,10 @@
"replaced {new_name} with {old_name}" => "已将 {old_name}æ›¿æ¢æˆ {new_name}",
"unshared {files}" => "å–æ¶ˆäº†å…±äº« {files}",
"deleted {files}" => "删除了 {files}",
+"'.' is an invalid file name." => "'.' 是一个无效的文件å。",
+"File name cannot be empty." => "文件åä¸èƒ½ä¸ºç©ºã€‚",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "无效å称,'\\', '/', '<', '>', ':', '\"', '|', '?' å’Œ '*' ä¸è¢«å…许使用。",
-"generating ZIP-file, it may take some time." => "æ­£åœ¨ç”Ÿæˆ ZIP 文件,å¯èƒ½éœ€è¦ä¸€äº›æ—¶é—´",
+"Your download is being prepared. This might take some time if the files are big." => "下载正在准备中。如果文件较大å¯èƒ½ä¼šèŠ±è´¹ä¸€äº›æ—¶é—´ã€‚",
"Unable to upload your file as it is a directory or has 0 bytes" => "无法上传文件,因为它是一个目录或者大å°ä¸º 0 字节",
"Upload Error" => "上传错误",
"Close" => "关闭",
@@ -29,7 +38,8 @@
"{count} files uploading" => "{count} 个文件上传中",
"Upload cancelled." => "ä¸Šä¼ å·²å–æ¶ˆ",
"File upload is in progress. Leaving the page now will cancel the upload." => "æ–‡ä»¶æ­£åœ¨ä¸Šä¼ ä¸­ã€‚çŽ°åœ¨ç¦»å¼€æ­¤é¡µä¼šå¯¼è‡´ä¸Šä¼ åŠ¨ä½œè¢«å–æ¶ˆã€‚",
-"Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" => "无效的文件夹å称。â€Shared“ 是 Owncloud ä¿ç•™å­—符。",
+"URL cannot be empty." => "URLä¸èƒ½ä¸ºç©º",
+"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "无效文件夹å。'共享' 是 Owncloud 预留的文件夹å。",
"{count} files scanned" => "{count} 个文件已扫æã€‚",
"error while scanning" => "æ‰«ææ—¶å‡ºé”™",
"Name" => "åç§°",
@@ -51,7 +61,6 @@
"Text file" => "文本文件",
"Folder" => "文件夹",
"From link" => "æ¥è‡ªé“¾æŽ¥",
-"Upload" => "上传",
"Cancel upload" => "å–æ¶ˆä¸Šä¼ ",
"Nothing in here. Upload something!" => "这里还什么都没有。上传些东西å§ï¼",
"Download" => "下载",
diff --git a/apps/files/l10n/zh_TW.php b/apps/files/l10n/zh_TW.php
index 5333209eff7..2bf15af1c42 100644
--- a/apps/files/l10n/zh_TW.php
+++ b/apps/files/l10n/zh_TW.php
@@ -1,29 +1,46 @@
<?php $TRANSLATIONS = array(
+"Upload" => "上傳",
+"Could not move %s - File with this name already exists" => "無法移動 %s - åŒå的檔案已經存在",
+"Could not move %s" => "無法移動 %s",
+"Unable to rename file" => "ç„¡æ³•é‡æ–°å‘½å檔案",
+"No file was uploaded. Unknown error" => "沒有檔案被上傳。未知的錯誤。",
"There is no error, the file uploaded with success" => "無錯誤,檔案上傳æˆåŠŸ",
-"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" => "åªæœ‰éƒ¨åˆ†æª”案被上傳",
+"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" => "åªæœ‰æª”案的一部分被上傳",
"No file was uploaded" => "無已上傳檔案",
"Missing a temporary folder" => "éºå¤±æš«å­˜è³‡æ–™å¤¾",
"Failed to write to disk" => "寫入硬碟失敗",
+"Not enough space available" => "沒有足夠的å¯ç”¨ç©ºé–“",
+"Invalid directory." => "無效的資料夾。",
"Files" => "檔案",
"Unshare" => "å–æ¶ˆå…±äº«",
"Delete" => "刪除",
"Rename" => "釿–°å‘½å",
"{new_name} already exists" => "{new_name} 已經存在",
"replace" => "å–代",
+"suggest name" => "建議檔å",
"cancel" => "å–æ¶ˆ",
"replaced {new_name}" => "å·²å–代 {new_name}",
"undo" => "復原",
"replaced {new_name} with {old_name}" => "使用 {new_name} å–代 {old_name}",
-"generating ZIP-file, it may take some time." => "產生壓縮檔, 它å¯èƒ½éœ€è¦ä¸€æ®µæ™‚é–“.",
+"unshared {files}" => "已喿¶ˆåˆ†äº« {files}",
+"deleted {files}" => "已刪除 {files}",
+"'.' is an invalid file name." => "'.' 是ä¸åˆæ³•的檔å。",
+"File name cannot be empty." => "檔åä¸èƒ½ç‚ºç©ºã€‚",
+"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "檔åä¸åˆæ³•,ä¸å…許 '\\', '/', '<', '>', ':', '\"', '|', '?' å’Œ '*' 。",
+"Your download is being prepared. This might take some time if the files are big." => "æ­£åœ¨æº–å‚™æ‚¨çš„ä¸‹è¼‰ï¼Œè‹¥æ‚¨çš„æª”æ¡ˆè¼ƒå¤§ï¼Œå°‡æœƒéœ€è¦æ›´å¤šæ™‚間。",
"Unable to upload your file as it is a directory or has 0 bytes" => "無法上傳您的檔案因為它å¯èƒ½æ˜¯ä¸€å€‹ç›®éŒ„或檔案大å°ç‚º0",
"Upload Error" => "上傳發生錯誤",
"Close" => "關閉",
+"Pending" => "等候中",
"1 file uploading" => "1 個檔案正在上傳",
"{count} files uploading" => "{count} 個檔案正在上傳",
"Upload cancelled." => "ä¸Šå‚³å–æ¶ˆ",
-"File upload is in progress. Leaving the page now will cancel the upload." => "檔案上傳中. 離開此é é¢å°‡æœƒå–消上傳.",
-"Invalid folder name. Usage of \"Shared\" is reserved by Owncloud" => "無效的資料夾å稱. \"Shared\" å稱已被 Owncloud 所ä¿ç•™ä½¿ç”¨",
+"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 ä¿ç•™",
+"{count} files scanned" => "{count} 個檔案已掃æ",
"error while scanning" => "æŽƒææ™‚發生錯誤",
"Name" => "å稱",
"Size" => "大å°",
@@ -33,22 +50,22 @@
"1 file" => "1 個檔案",
"{count} files" => "{count} 個檔案",
"File handling" => "檔案處ç†",
-"Maximum upload size" => "最大上傳容é‡",
-"max. possible: " => "最大å…許: ",
-"Needed for multi-file and folder downloads." => "é‡å°å¤šæª”案和目錄下載是必填的",
+"Maximum upload size" => "最大上傳檔案大å°",
+"max. possible: " => "最大å…許:",
+"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" => "資料夾",
-"Upload" => "上傳",
+"From link" => "從連çµ",
"Cancel upload" => "å–æ¶ˆä¸Šå‚³",
-"Nothing in here. Upload something!" => "沒有任何æ±è¥¿ã€‚請上傳內容!",
+"Nothing in here. Upload something!" => "沒有任何æ±è¥¿ã€‚請上傳內容ï¼",
"Download" => "下載",
"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" => "ç›®å‰æŽƒæ"
);
diff --git a/apps/files/lib/helper.php b/apps/files/lib/helper.php
new file mode 100644
index 00000000000..f2b1f142e9b
--- /dev/null
+++ b/apps/files/lib/helper.php
@@ -0,0 +1,20 @@
+<?php
+
+namespace OCA\files\lib;
+
+class Helper
+{
+ public static function buildFileStorageStatistics($dir) {
+ $l = new \OC_L10N('files');
+ $maxUploadFilesize = \OCP\Util::maxUploadFilesize($dir);
+ $maxHumanFilesize = \OCP\Util::humanFileSize($maxUploadFilesize);
+ $maxHumanFilesize = $l->t('Upload') . ' max. ' . $maxHumanFilesize;
+
+ // information about storage capacities
+ $storageInfo = \OC_Helper::getStorageInfo();
+
+ return array('uploadMaxFilesize' => $maxUploadFilesize,
+ 'maxHumanFilesize' => $maxHumanFilesize,
+ 'usedSpacePercent' => (int)$storageInfo['relative']);
+ }
+}
diff --git a/apps/files/templates/admin.php b/apps/files/templates/admin.php
index 0de12edcba5..ad69b5519d9 100644
--- a/apps/files/templates/admin.php
+++ b/apps/files/templates/admin.php
@@ -6,7 +6,10 @@
<?php if($_['uploadChangable']):?>
<label for="maxUploadSize"><?php echo $l->t( 'Maximum upload size' ); ?> </label>
<input name='maxUploadSize' id="maxUploadSize" value='<?php echo $_['uploadMaxFilesize'] ?>'/>
- (<?php echo $l->t('max. possible: '); echo $_['maxPossibleUploadSize'] ?>)<br/>
+ <?php if($_['displayMaxPossibleUploadSize']):?>
+ (<?php echo $l->t('max. possible: '); echo $_['maxPossibleUploadSize'] ?>)
+ <?php endif;?>
+ <br/>
<?php endif;?>
<input type="checkbox" name="allowZipDownload" id="allowZipDownload" value="1"
title="<?php echo $l->t( 'Needed for multi-file and folder downloads.' ); ?>"
diff --git a/apps/files/templates/index.php b/apps/files/templates/index.php
index edf048c7e13..b66b523ae38 100644
--- a/apps/files/templates/index.php
+++ b/apps/files/templates/index.php
@@ -14,7 +14,8 @@
data-type='web'><p><?php echo $l->t('From link');?></p></li>
</ul>
</div>
- <div id="upload" class="button">
+ <div id="upload" class="button"
+ title="<?php echo $l->t('Upload') . ' max. '.$_['uploadMaxHumanFilesize'] ?>">
<form data-upload-id='1'
id="data-upload-form"
class="file_upload_form"
@@ -31,10 +32,7 @@
value="(max <?php echo $_['uploadMaxHumanFilesize']; ?>)">
<input type="hidden" name="dir" value="<?php echo $_['dir'] ?>" id="dir">
<input type="file" id="file_upload_start" name='files[]'/>
- <a href="#" class="svg" onclick="return false;"
- title="<?php echo $l->t('Upload') . ' max. '.$_['uploadMaxHumanFilesize'] ?>"></a>
-
- <iframe name="file_upload_target_1" class="file_upload_target" src=""></iframe>
+ <a href="#" class="svg" onclick="return false;"></a>
</form>
</div>
<div id="uploadprogresswrapper">
@@ -52,7 +50,6 @@
<?php endif;?>
<input type="hidden" name="permissions" value="<?php echo $_['permissions']; ?>" id="permissions">
</div>
-<div id='notification'></div>
<?php if (isset($_['files']) and $_['isCreatable'] and count($_['files'])==0):?>
<div id="emptyfolder"><?php echo $l->t('Nothing in here. Upload something!')?></div>
@@ -117,3 +114,4 @@
<!-- config hints for javascript -->
<input type="hidden" name="allowZipDownload" id="allowZipDownload" value="<?php echo $_['allowZipDownload']; ?>" />
+<input type="hidden" name="usedSpacePercent" id="usedSpacePercent" value="<?php echo $_['usedSpacePercent']; ?>" />
diff --git a/apps/files/templates/part.breadcrumb.php b/apps/files/templates/part.breadcrumb.php
index f7b1a6076d8..7df2afc1f52 100644
--- a/apps/files/templates/part.breadcrumb.php
+++ b/apps/files/templates/part.breadcrumb.php
@@ -1,9 +1,10 @@
- <?php for($i=0; $i<count($_["breadcrumb"]); $i++):
+<?php for($i=0; $i<count($_["breadcrumb"]); $i++):
$crumb = $_["breadcrumb"][$i];
- $dir = str_replace('+', '%20', urlencode($crumb["dir"])); ?>
- <div class="crumb <?php if($i == count($_["breadcrumb"])-1) echo 'last';?> svg"
- data-dir='<?php echo $dir;?>'
- style='background-image:url("<?php echo OCP\image_path('core', 'breadcrumb.png');?>")'>
- <a href="<?php echo $_['baseURL'].$dir; ?>"><?php echo OCP\Util::sanitizeHTML($crumb["name"]); ?></a>
- </div>
- <?php endfor; \ No newline at end of file
+ $dir = str_replace('+', '%20', urlencode($crumb["dir"]));
+ $dir = str_replace('%2F', '/', $dir); ?>
+ <div class="crumb <?php if($i == count($_["breadcrumb"])-1) echo 'last';?> svg"
+ data-dir='<?php echo $dir;?>'
+ style='background-image:url("<?php echo OCP\image_path('core', 'breadcrumb.png');?>")'>
+ <a href="<?php echo $_['baseURL'].$dir; ?>"><?php echo OCP\Util::sanitizeHTML($crumb["name"]); ?></a>
+ </div>
+<?php endfor; \ No newline at end of file
diff --git a/apps/files/templates/part.list.php b/apps/files/templates/part.list.php
index 4c765adb7af..78f91467c7a 100644
--- a/apps/files/templates/part.list.php
+++ b/apps/files/templates/part.list.php
@@ -1,70 +1,64 @@
- <script type="text/javascript">
- <?php if ( array_key_exists('publicListView', $_) && $_['publicListView'] == true ) :?>
- var publicListView = true;
+<script type="text/javascript" src="<?php echo OC_Helper::linkToRoute('publicListView');?>"></script>
+
+<?php foreach($_['files'] as $file):
+ $simple_file_size = OCP\simple_file_size($file['size']);
+ // the bigger the file, the darker the shade of grey; megabytes*2
+ $simple_size_color = intval(200-$file['size']/(1024*1024)*2);
+ if($simple_size_color<0) $simple_size_color = 0;
+ $relative_modified_date = OCP\relative_modified_date($file['mtime']);
+ // the older the file, the brighter the shade of grey; days*14
+ $relative_date_color = round((time()-$file['mtime'])/60/60/24*14);
+ if($relative_date_color>200) $relative_date_color = 200;
+ $name = str_replace('+', '%20', urlencode($file['name']));
+ $name = str_replace('%2F', '/', $name);
+ $directory = str_replace('+', '%20', urlencode($file['directory']));
+ $directory = str_replace('%2F', '/', $directory); ?>
+ <tr data-id="<?php echo $file['id']; ?>"
+ data-file="<?php echo $name;?>"
+ data-type="<?php echo ($file['type'] == 'dir')?'dir':'file'?>"
+ data-mime="<?php echo $file['mimetype']?>"
+ data-size='<?php echo $file['size'];?>'
+ data-permissions='<?php echo $file['permissions']; ?>'>
+ <td class="filename svg"
+ <?php if($file['type'] == 'dir'): ?>
+ style="background-image:url(<?php echo OCP\mimetype_icon('dir'); ?>)"
<?php else: ?>
- var publicListView = false;
+ style="background-image:url(<?php echo OCP\mimetype_icon($file['mimetype']); ?>)"
<?php endif; ?>
- </script>
-
- <?php foreach($_['files'] as $file):
- $simple_file_size = OCP\simple_file_size($file['size']);
- // the bigger the file, the darker the shade of grey; megabytes*2
- $simple_size_color = intval(200-$file['size']/(1024*1024)*2);
- if($simple_size_color<0) $simple_size_color = 0;
- $relative_modified_date = OCP\relative_modified_date($file['mtime']);
- // the older the file, the brighter the shade of grey; days*14
- $relative_date_color = round((time()-$file['mtime'])/60/60/24*14);
- if($relative_date_color>200) $relative_date_color = 200;
- $name = str_replace('+', '%20', urlencode($file['name']));
- $name = str_replace('%2F', '/', $name);
- $directory = str_replace('+', '%20', urlencode($file['directory']));
- $directory = str_replace('%2F', '/', $directory); ?>
- <tr data-id="<?php echo $file['id']; ?>"
- data-file="<?php echo $name;?>"
- data-type="<?php echo ($file['type'] == 'dir')?'dir':'file'?>"
- data-mime="<?php echo $file['mimetype']?>"
- data-size='<?php echo $file['size'];?>'
- data-permissions='<?php echo $file['permissions']; ?>'>
- <td class="filename svg"
- <?php if($file['type'] == 'dir'): ?>
- style="background-image:url(<?php echo OCP\mimetype_icon('dir'); ?>)"
- <?php else: ?>
- style="background-image:url(<?php echo OCP\mimetype_icon($file['mimetype']); ?>)"
- <?php endif; ?>
- >
- <?php if(!isset($_['readonly']) || !$_['readonly']): ?><input type="checkbox" /><?php endif; ?>
- <?php if($file['type'] == 'dir'): ?>
- <a class="name" href="<?php $_['baseURL'].$directory.'/'.$name; ?>)" title="">
- <?php else: ?>
- <a class="name" href="<?php echo $_['downloadURL'].$directory.'/'.$name; ?>" title="">
- <?php endif; ?>
- <span class="nametext">
- <?php if($file['type'] == 'dir'):?>
- <?php echo htmlspecialchars($file['name']);?>
- <?php else:?>
- <?php echo htmlspecialchars($file['basename']);?><span
- class='extension'><?php echo $file['extension'];?></span>
- <?php endif;?>
- </span>
- <?php if($file['type'] == 'dir'):?>
- <span class="uploadtext" currentUploads="0">
- </span>
- <?php endif;?>
- </a>
- </td>
- <td class="filesize"
- title="<?php echo OCP\human_file_size($file['size']); ?>"
- style="color:rgb(<?php echo $simple_size_color.','.$simple_size_color.','.$simple_size_color ?>)">
- <?php echo $simple_file_size; ?>
- </td>
- <td class="date">
- <span class="modified"
- title="<?php echo $file['date']; ?>"
- style="color:rgb(<?php echo $relative_date_color.','
- .$relative_date_color.','
- .$relative_date_color ?>)">
- <?php echo $relative_modified_date; ?>
- </span>
- </td>
- </tr>
- <?php endforeach; \ No newline at end of file
+ >
+ <?php if(!isset($_['readonly']) || !$_['readonly']): ?><input type="checkbox" /><?php endif; ?>
+ <?php if($file['type'] == 'dir'): ?>
+ <a class="name" href="<?php $_['baseURL'].$directory.'/'.$name; ?>)" title="">
+ <?php else: ?>
+ <a class="name" href="<?php echo $_['downloadURL'].$directory.'/'.$name; ?>" title="">
+ <?php endif; ?>
+ <span class="nametext">
+ <?php if($file['type'] == 'dir'):?>
+ <?php echo htmlspecialchars($file['name']);?>
+ <?php else:?>
+ <?php echo htmlspecialchars($file['basename']);?><span
+ class='extension'><?php echo $file['extension'];?></span>
+ <?php endif;?>
+ </span>
+ <?php if($file['type'] == 'dir'):?>
+ <span class="uploadtext" currentUploads="0">
+ </span>
+ <?php endif;?>
+ </a>
+ </td>
+ <td class="filesize"
+ title="<?php echo OCP\human_file_size($file['size']); ?>"
+ style="color:rgb(<?php echo $simple_size_color.','.$simple_size_color.','.$simple_size_color ?>)">
+ <?php echo $simple_file_size; ?>
+ </td>
+ <td class="date">
+ <span class="modified"
+ title="<?php echo $file['date']; ?>"
+ style="color:rgb(<?php echo $relative_date_color.','
+ .$relative_date_color.','
+ .$relative_date_color ?>)">
+ <?php echo $relative_modified_date; ?>
+ </span>
+ </td>
+ </tr>
+<?php endforeach; \ No newline at end of file
diff --git a/apps/files_encryption/ajax/mode.php b/apps/files_encryption/ajax/mode.php
new file mode 100644
index 00000000000..64c5be94401
--- /dev/null
+++ b/apps/files_encryption/ajax/mode.php
@@ -0,0 +1,38 @@
+<?php
+/**
+ * Copyright (c) 2012, Bjoern Schiessle <schiessle@owncloud.com>
+ * This file is licensed under the Affero General Public License version 3 or later.
+ * See the COPYING-README file.
+ */
+
+use OCA\Encryption\Keymanager;
+
+OCP\JSON::checkAppEnabled('files_encryption');
+OCP\JSON::checkLoggedIn();
+OCP\JSON::callCheck();
+
+$mode = $_POST['mode'];
+$changePasswd = false;
+$passwdChanged = false;
+
+if ( isset($_POST['newpasswd']) && isset($_POST['oldpasswd']) ) {
+ $oldpasswd = $_POST['oldpasswd'];
+ $newpasswd = $_POST['newpasswd'];
+ $changePasswd = true;
+ $passwdChanged = Keymanager::changePasswd($oldpasswd, $newpasswd);
+}
+
+$query = \OC_DB::prepare( "SELECT mode FROM *PREFIX*encryption WHERE uid = ?" );
+$result = $query->execute(array(\OCP\User::getUser()));
+
+if ($result->fetchRow()){
+ $query = OC_DB::prepare( 'UPDATE *PREFIX*encryption SET mode = ? WHERE uid = ?' );
+} else {
+ $query = OC_DB::prepare( 'INSERT INTO *PREFIX*encryption ( mode, uid ) VALUES( ?, ? )' );
+}
+
+if ( (!$changePasswd || $passwdChanged) && $query->execute(array($mode, \OCP\User::getUser())) ) {
+ OCP\JSON::success();
+} else {
+ OCP\JSON::error();
+} \ No newline at end of file
diff --git a/apps/files_encryption/appinfo/app.php b/apps/files_encryption/appinfo/app.php
index 2a30d0beb67..31b430d37a9 100644
--- a/apps/files_encryption/appinfo/app.php
+++ b/apps/files_encryption/appinfo/app.php
@@ -1,21 +1,37 @@
<?php
-OC::$CLASSPATH['OC_Crypt'] = 'apps/files_encryption/lib/crypt.php';
-OC::$CLASSPATH['OC_CryptStream'] = 'apps/files_encryption/lib/cryptstream.php';
-OC::$CLASSPATH['OC_FileProxy_Encryption'] = 'apps/files_encryption/lib/proxy.php';
+OC::$CLASSPATH['OCA\Encryption\Crypt'] = 'apps/files_encryption/lib/crypt.php';
+OC::$CLASSPATH['OCA\Encryption\Hooks'] = 'apps/files_encryption/hooks/hooks.php';
+OC::$CLASSPATH['OCA\Encryption\Util'] = 'apps/files_encryption/lib/util.php';
+OC::$CLASSPATH['OCA\Encryption\Keymanager'] = 'apps/files_encryption/lib/keymanager.php';
+OC::$CLASSPATH['OCA\Encryption\Stream'] = 'apps/files_encryption/lib/stream.php';
+OC::$CLASSPATH['OCA\Encryption\Proxy'] = 'apps/files_encryption/lib/proxy.php';
+OC::$CLASSPATH['OCA\Encryption\Session'] = 'apps/files_encryption/lib/session.php';
-OC_FileProxy::register(new OC_FileProxy_Encryption());
+OC_FileProxy::register( new OCA\Encryption\Proxy() );
-OCP\Util::connectHook('OC_User', 'post_login', 'OC_Crypt', 'loginListener');
+OCP\Util::connectHook( 'OC_User','post_login', 'OCA\Encryption\Hooks', 'login' );
+OCP\Util::connectHook( 'OC_Webdav_Properties', 'update', 'OCA\Encryption\Hooks', 'updateKeyfile' );
+OCP\Util::connectHook( 'OC_User','post_setPassword','OCA\Encryption\Hooks' ,'setPassphrase' );
-stream_wrapper_register('crypt', 'OC_CryptStream');
+stream_wrapper_register( 'crypt', 'OCA\Encryption\Stream' );
-// force the user to re-loggin if the encryption key isn't unlocked
-// (happens when a user is logged in before the encryption app is enabled)
-if ( ! isset($_SESSION['enckey']) and OCP\User::isLoggedIn()) {
+$session = new OCA\Encryption\Session();
+
+if (
+! $session->getPrivateKey( \OCP\USER::getUser() )
+&& OCP\User::isLoggedIn()
+&& OCA\Encryption\Crypt::mode() == 'server'
+) {
+
+ // Force the user to re-log in if the encryption key isn't unlocked (happens when a user is logged in before the encryption app is enabled)
OCP\User::logout();
- header("Location: ".OC::$WEBROOT.'/');
+
+ header( "Location: " . OC::$WEBROOT.'/' );
+
exit();
+
}
-OCP\App::registerAdmin('files_encryption', 'settings'); \ No newline at end of file
+OCP\App::registerAdmin( 'files_encryption', 'settings');
+OCP\App::registerPersonal( 'files_encryption', 'settings-personal' ); \ No newline at end of file
diff --git a/apps/files_encryption/appinfo/database.xml b/apps/files_encryption/appinfo/database.xml
new file mode 100644
index 00000000000..d294c35d63d
--- /dev/null
+++ b/apps/files_encryption/appinfo/database.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<database>
+ <name>*dbname*</name>
+ <create>true</create>
+ <overwrite>false</overwrite>
+ <charset>utf8</charset>
+ <table>
+ <name>*dbprefix*encryption</name>
+ <declaration>
+ <field>
+ <name>uid</name>
+ <type>text</type>
+ <notnull>true</notnull>
+ <length>64</length>
+ </field>
+ <field>
+ <name>mode</name>
+ <type>text</type>
+ <notnull>true</notnull>
+ <length>64</length>
+ </field>
+ </declaration>
+ </table>
+</database> \ No newline at end of file
diff --git a/apps/files_encryption/appinfo/info.xml b/apps/files_encryption/appinfo/info.xml
index 48a28fde78a..39ea155488f 100644
--- a/apps/files_encryption/appinfo/info.xml
+++ b/apps/files_encryption/appinfo/info.xml
@@ -2,10 +2,10 @@
<info>
<id>files_encryption</id>
<name>Encryption</name>
- <description>Server side encryption of files. DEPRECATED. This app is no longer supported and will be replaced with an improved version in ownCloud 5. Only enable this features if you want to read old encrypted data. Warning: You will lose your data if you enable this App and forget your password. Encryption is not yet compatible with LDAP.</description>
+ <description>Server side encryption of files. Warning: You will lose your data if you enable this App and forget your password. Encryption is not yet compatible with LDAP.</description>
<licence>AGPL</licence>
- <author>Robin Appelman</author>
- <require>4.9</require>
+ <author>Sam Tuke</author>
+ <require>4</require>
<shipped>true</shipped>
<types>
<filesystem/>
diff --git a/apps/files_encryption/appinfo/version b/apps/files_encryption/appinfo/version
index 2f4536184bc..7dff5b89211 100644
--- a/apps/files_encryption/appinfo/version
+++ b/apps/files_encryption/appinfo/version
@@ -1 +1 @@
-0.2 \ No newline at end of file
+0.2.1 \ No newline at end of file
diff --git a/apps/files_encryption/hooks/hooks.php b/apps/files_encryption/hooks/hooks.php
new file mode 100644
index 00000000000..c2f97247835
--- /dev/null
+++ b/apps/files_encryption/hooks/hooks.php
@@ -0,0 +1,143 @@
+<?php
+/**
+ * ownCloud
+ *
+ * @author Sam Tuke
+ * @copyright 2012 Sam Tuke samtuke@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/>.
+ *
+ */
+
+namespace OCA\Encryption;
+
+/**
+ * Class for hook specific logic
+ */
+
+class Hooks {
+
+ # TODO: use passphrase for encrypting private key that is separate to the login password
+
+ /**
+ * @brief Startup encryption backend upon user login
+ * @note This method should never be called for users using client side encryption
+ */
+ public static function login( $params ) {
+
+// if ( Crypt::mode( $params['uid'] ) == 'server' ) {
+
+ # TODO: use lots of dependency injection here
+
+ $view = new \OC_FilesystemView( '/' );
+
+ $util = new Util( $view, $params['uid'] );
+
+ if ( ! $util->ready() ) {
+
+ \OC_Log::write( 'Encryption library', 'User account "' . $params['uid'] . '" is not ready for encryption; configuration started' , \OC_Log::DEBUG );
+
+ return $util->setupServerSide( $params['password'] );
+
+ }
+
+ \OC_FileProxy::$enabled = false;
+
+ $encryptedKey = Keymanager::getPrivateKey( $view, $params['uid'] );
+
+ \OC_FileProxy::$enabled = true;
+
+ # TODO: dont manually encrypt the private keyfile - use the config options of openssl_pkey_export instead for better mobile compatibility
+
+ $privateKey = Crypt::symmetricDecryptFileContent( $encryptedKey, $params['password'] );
+
+ $session = new Session();
+
+ $session->setPrivateKey( $privateKey, $params['uid'] );
+
+ $view1 = new \OC_FilesystemView( '/' . $params['uid'] );
+
+ // Set legacy encryption key if it exists, to support
+ // depreciated encryption system
+ if (
+ $view1->file_exists( 'encryption.key' )
+ && $legacyKey = $view1->file_get_contents( 'encryption.key' )
+ ) {
+
+ $_SESSION['legacyenckey'] = Crypt::legacyDecrypt( $legacyKey, $params['password'] );
+
+ }
+// }
+
+ return true;
+
+ }
+
+ /**
+ * @brief Change a user's encryption passphrase
+ * @param array $params keys: uid, password
+ */
+ public static function setPassphrase( $params ) {
+
+ // Only attempt to change passphrase if server-side encryption
+ // is in use (client-side encryption does not have access to
+ // the necessary keys)
+ if ( Crypt::mode() == 'server' ) {
+
+ // Get existing decrypted private key
+ $privateKey = $_SESSION['privateKey'];
+
+ // Encrypt private key with new user pwd as passphrase
+ $encryptedPrivateKey = Crypt::symmetricEncryptFileContent( $privateKey, $params['password'] );
+
+ // Save private key
+ Keymanager::setPrivateKey( $encryptedPrivateKey );
+
+ # NOTE: Session does not need to be updated as the
+ # private key has not changed, only the passphrase
+ # used to decrypt it has changed
+
+ }
+
+ }
+
+ /**
+ * @brief update the encryption key of the file uploaded by the client
+ */
+ public static function updateKeyfile( $params ) {
+
+ if ( Crypt::mode() == 'client' ) {
+
+ if ( isset( $params['properties']['key'] ) ) {
+
+ Keymanager::setFileKey( $params['path'], $params['properties']['key'] );
+
+ } else {
+
+ \OC_Log::write(
+ 'Encryption library', "Client side encryption is enabled but the client doesn't provide a encryption key for the file!"
+ , \OC_Log::ERROR
+ );
+
+ error_log( "Client side encryption is enabled but the client doesn't provide an encryption key for the file!" );
+
+ }
+
+ }
+
+ }
+
+}
+
+?> \ No newline at end of file
diff --git a/apps/files_encryption/js/settings-personal.js b/apps/files_encryption/js/settings-personal.js
new file mode 100644
index 00000000000..1a53e99d2b4
--- /dev/null
+++ b/apps/files_encryption/js/settings-personal.js
@@ -0,0 +1,38 @@
+/**
+ * Copyright (c) 2012, Bjoern Schiessle <schiessle@owncloud.com>
+ * This file is licensed under the Affero General Public License version 3 or later.
+ * See the COPYING-README file.
+ */
+
+$(document).ready(function(){
+ $('input[name=encryption_mode]').change(function(){
+ var prevmode = document.getElementById('prev_encryption_mode').value
+ var client=$('input[value="client"]:checked').val()
+ ,server=$('input[value="server"]:checked').val()
+ ,user=$('input[value="user"]:checked').val()
+ ,none=$('input[value="none"]:checked').val()
+ if (client) {
+ $.post(OC.filePath('files_encryption', 'ajax', 'mode.php'), { mode: 'client' });
+ if (prevmode == 'server') {
+ OC.dialogs.info(t('encryption', 'Please switch to your ownCloud client and change your encryption password to complete the conversion.'), t('encryption', 'switched to client side encryption'));
+ }
+ } else if (server) {
+ if (prevmode == 'client') {
+ OC.dialogs.form([{text:'Login password', name:'newpasswd', type:'password'},{text:'Encryption password used on the client', name:'oldpasswd', type:'password'}],t('encryption', 'Change encryption password to login password'), function(data) {
+ $.post(OC.filePath('files_encryption', 'ajax', 'mode.php'), { mode: 'server', newpasswd: data[0].value, oldpasswd: data[1].value }, function(result) {
+ if (result.status != 'success') {
+ document.getElementById(prevmode+'_encryption').checked = true;
+ OC.dialogs.alert(t('encryption', 'Please check your passwords and try again.'), t('encryption', 'Could not change your file encryption password to your login password'))
+ } else {
+ console.log("alles super");
+ }
+ }, true);
+ });
+ } else {
+ $.post(OC.filePath('files_encryption', 'ajax', 'mode.php'), { mode: 'server' });
+ }
+ } else {
+ $.post(OC.filePath('files_encryption', 'ajax', 'mode.php'), { mode: 'none' });
+ }
+ })
+}) \ No newline at end of file
diff --git a/apps/files_encryption/js/settings.js b/apps/files_encryption/js/settings.js
index 6fc70eba7f6..60563bde859 100644
--- a/apps/files_encryption/js/settings.js
+++ b/apps/files_encryption/js/settings.js
@@ -11,14 +11,36 @@ $(document).ready(function(){
onuncheck:blackListChange,
createText:'...',
});
-
+
function blackListChange(){
var blackList=$('#encryption_blacklist').val().join(',');
OC.AppConfig.setValue('files_encryption','type_blacklist',blackList);
}
- $('#enable_encryption').change(function(){
- var checked=$('#enable_encryption').is(':checked');
- OC.AppConfig.setValue('files_encryption','enable_encryption',(checked)?'true':'false');
- });
-});
+ //TODO: Handle switch between client and server side encryption
+ $('input[name=encryption_mode]').change(function(){
+ var client=$('input[value="client"]:checked').val()
+ ,server=$('input[value="server"]:checked').val()
+ ,user=$('input[value="user"]:checked').val()
+ ,none=$('input[value="none"]:checked').val()
+ ,disable=false
+ if (client) {
+ OC.AppConfig.setValue('files_encryption','mode','client');
+ disable = true;
+ } else if (server) {
+ OC.AppConfig.setValue('files_encryption','mode','server');
+ disable = true;
+ } else if (user) {
+ OC.AppConfig.setValue('files_encryption','mode','user');
+ disable = true;
+ } else {
+ OC.AppConfig.setValue('files_encryption','mode','none');
+ }
+ if (disable) {
+ document.getElementById('server_encryption').disabled = true;
+ document.getElementById('client_encryption').disabled = true;
+ document.getElementById('user_encryption').disabled = true;
+ document.getElementById('none_encryption').disabled = true;
+ }
+ })
+}) \ No newline at end of file
diff --git a/apps/files_encryption/l10n/ar.php b/apps/files_encryption/l10n/ar.php
index 756a9d72799..f08585e485f 100644
--- a/apps/files_encryption/l10n/ar.php
+++ b/apps/files_encryption/l10n/ar.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"Encryption" => "التشÙير",
"Exclude the following file types from encryption" => "استبعد أنواع Ø§Ù„Ù…Ù„ÙØ§Øª التالية من التشÙير",
-"None" => "لا شيء",
-"Enable Encryption" => "ØªÙØ¹ÙŠÙ„ التشÙير"
+"None" => "لا شيء"
);
diff --git a/apps/files_encryption/l10n/bg_BG.php b/apps/files_encryption/l10n/bg_BG.php
new file mode 100644
index 00000000000..4ceee127af1
--- /dev/null
+++ b/apps/files_encryption/l10n/bg_BG.php
@@ -0,0 +1,5 @@
+<?php $TRANSLATIONS = array(
+"Encryption" => "Криптиране",
+"Exclude the following file types from encryption" => "Изключване на Ñледните файлови типове от криптирането",
+"None" => "ÐÑма"
+);
diff --git a/apps/files_encryption/l10n/bn_BD.php b/apps/files_encryption/l10n/bn_BD.php
new file mode 100644
index 00000000000..29c486b8ca0
--- /dev/null
+++ b/apps/files_encryption/l10n/bn_BD.php
@@ -0,0 +1,5 @@
+<?php $TRANSLATIONS = array(
+"Encryption" => "সংকেতায়ন",
+"Exclude the following file types from encryption" => "সংকেতায়ন থেকে নিমà§à¦¨à§‹à¦•à§à¦¤ ধরণসমূহ বাদ দাও",
+"None" => "কোনটিই নয়"
+);
diff --git a/apps/files_encryption/l10n/ca.php b/apps/files_encryption/l10n/ca.php
index 8e087b34620..56c81e747f7 100644
--- a/apps/files_encryption/l10n/ca.php
+++ b/apps/files_encryption/l10n/ca.php
@@ -1,6 +1,16 @@
<?php $TRANSLATIONS = array(
+"Please switch to your ownCloud client and change your encryption password to complete the conversion." => "Connecteu-vos al client ownCloud i canvieu la contrasenya d'encriptació per completar la conversió.",
+"switched to client side encryption" => "s'ha commutat a l'encriptació per part del client",
+"Change encryption password to login password" => "Canvia la contrasenya d'encriptació per la d'accés",
+"Please check your passwords and try again." => "Comproveu les contrasenyes i proveu-ho de nou.",
+"Could not change your file encryption password to your login password" => "No s'ha pogut canviar la contrasenya d'encriptació de fitxers per la d'accés",
+"Choose encryption mode:" => "Escolliu el mode d'encriptació:",
+"Client side encryption (most secure but makes it impossible to access your data from the web interface)" => "Encriptació per part del client (més segura però fa impossible l'accés a les dades des de la interfície web)",
+"Server side encryption (allows you to access your files from the web interface and the desktop client)" => "Encriptació per part del servidor (permet accedir als fitxers des de la interfície web i des del client d'escriptori)",
+"None (no encryption at all)" => "Cap (sense encriptació)",
+"Important: Once you selected an encryption mode there is no way to change it back" => "Important: quan seleccioneu un mode d'encriptació no hi ha manera de canviar-lo de nou",
+"User specific (let the user decide)" => "Específic per usuari (permet que l'usuari ho decideixi)",
"Encryption" => "Encriptatge",
"Exclude the following file types from encryption" => "Exclou els tipus de fitxers següents de l'encriptatge",
-"None" => "Cap",
-"Enable Encryption" => "Activa l'encriptatge"
+"None" => "Cap"
);
diff --git a/apps/files_encryption/l10n/cs_CZ.php b/apps/files_encryption/l10n/cs_CZ.php
index 9be2be98092..5948a9b82e8 100644
--- a/apps/files_encryption/l10n/cs_CZ.php
+++ b/apps/files_encryption/l10n/cs_CZ.php
@@ -1,6 +1,16 @@
<?php $TRANSLATIONS = array(
+"Please switch to your ownCloud client and change your encryption password to complete the conversion." => "Prosím pÅ™ejdÄ›te na svého klienta ownCloud a nastavte Å¡ifrovací heslo pro dokonÄení konverze.",
+"switched to client side encryption" => "přepnuto na šifrování na straně klienta",
+"Change encryption password to login password" => "Změnit šifrovací heslo na přihlašovací",
+"Please check your passwords and try again." => "Zkontrolujte, prosím, své heslo a zkuste to znovu.",
+"Could not change your file encryption password to your login password" => "Nelze změnit šifrovací heslo na přihlašovací.",
+"Choose encryption mode:" => "Vyberte režim šifrování:",
+"Client side encryption (most secure but makes it impossible to access your data from the web interface)" => "Å ifrování na stranÄ› klienta (nejbezpeÄnÄ›jší ale neumožňuje vám pÅ™istupovat k souborům z webového rozhraní)",
+"Server side encryption (allows you to access your files from the web interface and the desktop client)" => "Šifrování na straně serveru (umožňuje vám přistupovat k souborům pomocí webového rozhraní i aplikací)",
+"None (no encryption at all)" => "Žádný (vůbec žádné šifrování)",
+"Important: Once you selected an encryption mode there is no way to change it back" => "Důležité: jak si jednou vyberete režim šifrování nelze jej opětovně změnit",
+"User specific (let the user decide)" => "Definován uživatelem (umožní uživateli si vybrat)",
"Encryption" => "Šifrování",
"Exclude the following file types from encryption" => "Při šifrování vynechat následující typy souborů",
-"None" => "Žádné",
-"Enable Encryption" => "Povolit šifrování"
+"None" => "Žádné"
);
diff --git a/apps/files_encryption/l10n/da.php b/apps/files_encryption/l10n/da.php
index 144c9f97084..1b4664ce1cb 100644
--- a/apps/files_encryption/l10n/da.php
+++ b/apps/files_encryption/l10n/da.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"Encryption" => "Kryptering",
"Exclude the following file types from encryption" => "Ekskluder følgende filtyper fra kryptering",
-"None" => "Ingen",
-"Enable Encryption" => "Aktivér kryptering"
+"None" => "Ingen"
);
diff --git a/apps/files_encryption/l10n/de.php b/apps/files_encryption/l10n/de.php
index d486a82322b..34c596dc4bb 100644
--- a/apps/files_encryption/l10n/de.php
+++ b/apps/files_encryption/l10n/de.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"Encryption" => "Verschlüsselung",
"Exclude the following file types from encryption" => "Die folgenden Dateitypen von der Verschlüsselung ausnehmen",
-"None" => "Keine",
-"Enable Encryption" => "Verschlüsselung aktivieren"
+"None" => "Keine"
);
diff --git a/apps/files_encryption/l10n/de_DE.php b/apps/files_encryption/l10n/de_DE.php
index d486a82322b..261c52a75f7 100644
--- a/apps/files_encryption/l10n/de_DE.php
+++ b/apps/files_encryption/l10n/de_DE.php
@@ -1,6 +1,8 @@
<?php $TRANSLATIONS = array(
+"Choose encryption mode:" => "Wählen Sie die Verschlüsselungsart:",
+"None (no encryption at all)" => "Keine (ohne Verschlüsselung)",
+"User specific (let the user decide)" => "Benutzerspezifisch (der Benutzer kann entscheiden)",
"Encryption" => "Verschlüsselung",
"Exclude the following file types from encryption" => "Die folgenden Dateitypen von der Verschlüsselung ausnehmen",
-"None" => "Keine",
-"Enable Encryption" => "Verschlüsselung aktivieren"
+"None" => "Keine"
);
diff --git a/apps/files_encryption/l10n/el.php b/apps/files_encryption/l10n/el.php
index 40a7c6a3672..50b812c82df 100644
--- a/apps/files_encryption/l10n/el.php
+++ b/apps/files_encryption/l10n/el.php
@@ -1,6 +1,9 @@
<?php $TRANSLATIONS = array(
+"Change encryption password to login password" => "Αλλαγή ÏƒÏ…Î½Î¸Î·Î¼Î±Ï„Î¹ÎºÎ¿Ï ÎºÏυπτογÏάφησης στο συνθηματικό εισόδου ",
+"Please check your passwords and try again." => "ΠαÏακαλώ ελέγξτε το συνθηματικό σας και Ï€Ïοσπαθήστε ξανά.",
+"Could not change your file encryption password to your login password" => "Αδυναμία αλλαγής ÏƒÏ…Î½Î¸Î·Î¼Î±Ï„Î¹ÎºÎ¿Ï ÎºÏυπτογÏάφησης αÏχείων στο συνθηματικό εισόδου σας",
+"Choose encryption mode:" => "Επιλογή κατάστασης κÏυπτογÏάφησης:",
"Encryption" => "ΚÏυπτογÏάφηση",
"Exclude the following file types from encryption" => "ΕξαίÏεση των παÏακάτω Ï„Ïπων αÏχείων από την κÏυπτογÏάφηση",
-"None" => "Καμία",
-"Enable Encryption" => "ΕνεÏγοποίηση ΚÏυπτογÏάφησης"
+"None" => "Καμία"
);
diff --git a/apps/files_encryption/l10n/eo.php b/apps/files_encryption/l10n/eo.php
index af3c9ae98e4..c6f82dcb8a0 100644
--- a/apps/files_encryption/l10n/eo.php
+++ b/apps/files_encryption/l10n/eo.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"Encryption" => "Ĉifrado",
"Exclude the following file types from encryption" => "Malinkluzivigi la jenajn dosiertipojn el ĉifrado",
-"None" => "Nenio",
-"Enable Encryption" => "Kapabligi ĉifradon"
+"None" => "Nenio"
);
diff --git a/apps/files_encryption/l10n/es.php b/apps/files_encryption/l10n/es.php
index b7e7601b35f..1fea54ff358 100644
--- a/apps/files_encryption/l10n/es.php
+++ b/apps/files_encryption/l10n/es.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"Encryption" => "Cifrado",
"Exclude the following file types from encryption" => "Excluir del cifrado los siguientes tipos de archivo",
-"None" => "Ninguno",
-"Enable Encryption" => "Habilitar cifrado"
+"None" => "Ninguno"
);
diff --git a/apps/files_encryption/l10n/es_AR.php b/apps/files_encryption/l10n/es_AR.php
index a15c37e730e..31898f50fde 100644
--- a/apps/files_encryption/l10n/es_AR.php
+++ b/apps/files_encryption/l10n/es_AR.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"Encryption" => "Encriptación",
"Exclude the following file types from encryption" => "Exceptuar de la encriptación los siguientes tipos de archivo",
-"None" => "Ninguno",
-"Enable Encryption" => "Habilitar encriptación"
+"None" => "Ninguno"
);
diff --git a/apps/files_encryption/l10n/et_EE.php b/apps/files_encryption/l10n/et_EE.php
index a7cd9395bf0..0c0ef231145 100644
--- a/apps/files_encryption/l10n/et_EE.php
+++ b/apps/files_encryption/l10n/et_EE.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"Encryption" => "Krüpteerimine",
"Exclude the following file types from encryption" => "Järgnevaid failitüüpe ära krüpteeri",
-"None" => "Pole",
-"Enable Encryption" => "Luba krüpteerimine"
+"None" => "Pole"
);
diff --git a/apps/files_encryption/l10n/eu.php b/apps/files_encryption/l10n/eu.php
index 57b6a4927bf..2bb1a46954c 100644
--- a/apps/files_encryption/l10n/eu.php
+++ b/apps/files_encryption/l10n/eu.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"Encryption" => "Enkriptazioa",
"Exclude the following file types from encryption" => "Ez enkriptatu hurrengo fitxategi motak",
-"None" => "Bat ere ez",
-"Enable Encryption" => "Gaitu enkriptazioa"
+"None" => "Bat ere ez"
);
diff --git a/apps/files_encryption/l10n/fa.php b/apps/files_encryption/l10n/fa.php
index 01582e48e60..0cdee74f5a9 100644
--- a/apps/files_encryption/l10n/fa.php
+++ b/apps/files_encryption/l10n/fa.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"Encryption" => "رمزگذاری",
"Exclude the following file types from encryption" => "نادیده Ú¯Ø±ÙØªÙ† ÙØ§ÛŒÙ„ های زیر برای رمز گذاری",
-"None" => "هیچ‌کدام",
-"Enable Encryption" => "ÙØ¹Ø§Ù„ کردن رمزگذاری"
+"None" => "هیچ‌کدام"
);
diff --git a/apps/files_encryption/l10n/fi_FI.php b/apps/files_encryption/l10n/fi_FI.php
index 5796499a26c..433ae890ef6 100644
--- a/apps/files_encryption/l10n/fi_FI.php
+++ b/apps/files_encryption/l10n/fi_FI.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"Encryption" => "Salaus",
"Exclude the following file types from encryption" => "Jätä seuraavat tiedostotyypit salaamatta",
-"None" => "Ei mitään",
-"Enable Encryption" => "Käytä salausta"
+"None" => "Ei mitään"
);
diff --git a/apps/files_encryption/l10n/fr.php b/apps/files_encryption/l10n/fr.php
index c9367d1a312..41e37134d4e 100644
--- a/apps/files_encryption/l10n/fr.php
+++ b/apps/files_encryption/l10n/fr.php
@@ -1,6 +1,16 @@
<?php $TRANSLATIONS = array(
+"Please switch to your ownCloud client and change your encryption password to complete the conversion." => "Veuillez vous connecter depuis votre client de synchronisation ownCloud et changer votre mot de passe de chiffrement pour finaliser la conversion.",
+"switched to client side encryption" => "Mode de chiffrement changé en chiffrement côté client",
+"Change encryption password to login password" => "Convertir le mot de passe de chiffrement en mot de passe de connexion",
+"Please check your passwords and try again." => "Veuillez vérifier vos mots de passe et réessayer.",
+"Could not change your file encryption password to your login password" => "Impossible de convertir votre mot de passe de chiffrement en mot de passe de connexion",
+"Choose encryption mode:" => "Choix du type de chiffrement :",
+"Client side encryption (most secure but makes it impossible to access your data from the web interface)" => "Chiffrement côté client (plus sécurisé, mais ne permet pas l'accès à vos données depuis l'interface web)",
+"Server side encryption (allows you to access your files from the web interface and the desktop client)" => "Chiffrement côté serveur (vous permet d'accéder à vos fichiers depuis l'interface web et depuis le client de synchronisation)",
+"None (no encryption at all)" => "Aucun (pas de chiffrement)",
+"Important: Once you selected an encryption mode there is no way to change it back" => "Important : Une fois le mode de chiffrement choisi, il est impossible de revenir en arrière",
+"User specific (let the user decide)" => "Propre à l'utilisateur (laisse le choix à l'utilisateur)",
"Encryption" => "Chiffrement",
"Exclude the following file types from encryption" => "Ne pas chiffrer les fichiers dont les types sont les suivants",
-"None" => "Aucun",
-"Enable Encryption" => "Activer le chiffrement"
+"None" => "Aucun"
);
diff --git a/apps/files_encryption/l10n/gl.php b/apps/files_encryption/l10n/gl.php
index 91d155ccad3..42fcfce1cc0 100644
--- a/apps/files_encryption/l10n/gl.php
+++ b/apps/files_encryption/l10n/gl.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"Encryption" => "Cifrado",
"Exclude the following file types from encryption" => "Excluír os seguintes tipos de ficheiro do cifrado",
-"None" => "Nada",
-"Enable Encryption" => "Activar o cifrado"
+"None" => "Nada"
);
diff --git a/apps/files_encryption/l10n/he.php b/apps/files_encryption/l10n/he.php
new file mode 100644
index 00000000000..9adb6d2b92a
--- /dev/null
+++ b/apps/files_encryption/l10n/he.php
@@ -0,0 +1,5 @@
+<?php $TRANSLATIONS = array(
+"Encryption" => "הצפנה",
+"Exclude the following file types from encryption" => "×”×•×¦× ×ת סוגי ×”×§×‘×¦×™× ×”×‘××™× ×ž×”×¦×¤× ×”",
+"None" => "כלו×"
+);
diff --git a/apps/files_encryption/l10n/hu_HU.php b/apps/files_encryption/l10n/hu_HU.php
index 4352d8b7712..1ef1effd41e 100644
--- a/apps/files_encryption/l10n/hu_HU.php
+++ b/apps/files_encryption/l10n/hu_HU.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"Encryption" => "Titkosítás",
-"Exclude the following file types from encryption" => "A következő fájl típusok kizárása a titkosításból",
-"None" => "Egyik sem",
-"Enable Encryption" => "Titkosítás engedélyezése"
+"Exclude the following file types from encryption" => "A következő fájltípusok kizárása a titkosításból",
+"None" => "Egyik sem"
);
diff --git a/apps/files_encryption/l10n/id.php b/apps/files_encryption/l10n/id.php
index 824ae883041..20f33b87829 100644
--- a/apps/files_encryption/l10n/id.php
+++ b/apps/files_encryption/l10n/id.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"Encryption" => "enkripsi",
"Exclude the following file types from encryption" => "pengecualian untuk tipe file berikut dari enkripsi",
-"None" => "tidak ada",
-"Enable Encryption" => "aktifkan enkripsi"
+"None" => "tidak ada"
);
diff --git a/apps/files_encryption/l10n/is.php b/apps/files_encryption/l10n/is.php
new file mode 100644
index 00000000000..a2559cf2b76
--- /dev/null
+++ b/apps/files_encryption/l10n/is.php
@@ -0,0 +1,5 @@
+<?php $TRANSLATIONS = array(
+"Encryption" => "Dulkóðun",
+"Exclude the following file types from encryption" => "Undanskilja eftirfarandi skráartegundir frá dulkóðun",
+"None" => "Ekkert"
+);
diff --git a/apps/files_encryption/l10n/it.php b/apps/files_encryption/l10n/it.php
index 5136b061797..de62f0508f3 100644
--- a/apps/files_encryption/l10n/it.php
+++ b/apps/files_encryption/l10n/it.php
@@ -1,6 +1,14 @@
<?php $TRANSLATIONS = array(
+"Please switch to your ownCloud client and change your encryption password to complete the conversion." => "Passa al tuo client ownCloud e cambia la password di cifratura per completare la conversione.",
+"switched to client side encryption" => "passato alla cifratura lato client",
+"Please check your passwords and try again." => "Controlla la password e prova ancora.",
+"Choose encryption mode:" => "Scegli la modalità di cifratura.",
+"Client side encryption (most secure but makes it impossible to access your data from the web interface)" => "Cifratura lato client (più sicura ma rende impossibile accedere ai propri dati dall'interfaccia web)",
+"Server side encryption (allows you to access your files from the web interface and the desktop client)" => "Cifratura lato server (ti consente di accedere ai tuoi file dall'interfaccia web e dal client desktop)",
+"None (no encryption at all)" => "Nessuna (senza alcuna cifratura)",
+"Important: Once you selected an encryption mode there is no way to change it back" => "Importante: una volta selezionata la modalità di cifratura non sarà possibile tornare indietro",
+"User specific (let the user decide)" => "Specificato dall'utente (lascia decidere all'utente)",
"Encryption" => "Cifratura",
"Exclude the following file types from encryption" => "Escludi i seguenti tipi di file dalla cifratura",
-"None" => "Nessuna",
-"Enable Encryption" => "Abilita cifratura"
+"None" => "Nessuna"
);
diff --git a/apps/files_encryption/l10n/ja_JP.php b/apps/files_encryption/l10n/ja_JP.php
index 2c3e5410de3..4100908e00c 100644
--- a/apps/files_encryption/l10n/ja_JP.php
+++ b/apps/files_encryption/l10n/ja_JP.php
@@ -1,6 +1,16 @@
<?php $TRANSLATIONS = array(
+"Please switch to your ownCloud client and change your encryption password to complete the conversion." => "変æ›ã‚’完了ã™ã‚‹ãŸã‚ã«ã€ownCloud クライアントã«åˆ‡ã‚Šæ›¿ãˆã¦ã€æš—å·åŒ–パスワードを変更ã—ã¦ãã ã•ã„。",
+"switched to client side encryption" => "ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã‚µã‚¤ãƒ‰ã®æš—å·åŒ–ã«åˆ‡ã‚Šæ›¿ãˆã¾ã—ãŸ",
+"Change encryption password to login password" => "æš—å·åŒ–パスワードをログインパスワードã«å¤‰æ›´",
+"Please check your passwords and try again." => "パスワードを確èªã—ã¦ã‚‚ã†ä¸€åº¦è¡Œãªã£ã¦ãã ã•ã„。",
+"Could not change your file encryption password to your login password" => "ファイル暗å·åŒ–パスワードをログインパスワードã«å¤‰æ›´ã§ãã¾ã›ã‚“ã§ã—ãŸã€‚",
+"Choose encryption mode:" => "æš—å·åŒ–ãƒ¢ãƒ¼ãƒ‰ã‚’é¸æŠž:",
+"Client side encryption (most secure but makes it impossible to access your data from the web interface)" => "ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã‚µã‚¤ãƒ‰ã®æš—å·åŒ–(最もセキュアã§ã™ãŒã€WEBインターフェースã‹ã‚‰ãƒ‡ãƒ¼ã‚¿ã«ã‚¢ã‚¯ã‚»ã‚¹ã§ããªããªã‚Šã¾ã™ï¼‰",
+"Server side encryption (allows you to access your files from the web interface and the desktop client)" => "サーãƒã‚µã‚¤ãƒ‰æš—å·åŒ–(WEBインターフェースãŠã‚ˆã³ãƒ‡ã‚¹ã‚¯ãƒˆãƒƒãƒ—クライアントã‹ã‚‰ãƒ•ァイルã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ï¼‰",
+"None (no encryption at all)" => "æš—å·åŒ–ç„¡ã—(何も暗å·åŒ–ã—ã¾ã›ã‚“)",
+"Important: Once you selected an encryption mode there is no way to change it back" => "é‡è¦: 一度暗å·åŒ–ã‚’é¸æŠžã—ã¦ã—ã¾ã†ã¨ã€ã‚‚ã¨ã«æˆ»ã™æ–¹æ³•ã¯ã‚りã¾ã›ã‚“",
+"User specific (let the user decide)" => "ユーザ指定(ユーザãŒé¸ã¹ã‚‹ã‚ˆã†ã«ã™ã‚‹ï¼‰",
"Encryption" => "æš—å·åŒ–",
"Exclude the following file types from encryption" => "æš—å·åŒ–ã‹ã‚‰é™¤å¤–ã™ã‚‹ãƒ•ァイルタイプ",
-"None" => "ãªã—",
-"Enable Encryption" => "æš—å·åŒ–を有効ã«ã™ã‚‹"
+"None" => "ãªã—"
);
diff --git a/apps/files_encryption/l10n/ko.php b/apps/files_encryption/l10n/ko.php
index 4702753435e..68d60c1ae30 100644
--- a/apps/files_encryption/l10n/ko.php
+++ b/apps/files_encryption/l10n/ko.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"Encryption" => "암호화",
"Exclude the following file types from encryption" => "ë‹¤ìŒ íŒŒì¼ í˜•ì‹ì€ 암호화하지 않ìŒ",
-"None" => "ì—†ìŒ",
-"Enable Encryption" => "암호화 사용"
+"None" => "ì—†ìŒ"
);
diff --git a/apps/files_encryption/l10n/ku_IQ.php b/apps/files_encryption/l10n/ku_IQ.php
index bd8977ac515..06bb9b93251 100644
--- a/apps/files_encryption/l10n/ku_IQ.php
+++ b/apps/files_encryption/l10n/ku_IQ.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"Encryption" => "نهێنیکردن",
"Exclude the following file types from encryption" => "به‌ربه‌ست کردنی ئه‌م جۆره‌ په‌ڕگانه له‌ نهێنیکردن",
-"None" => "هیچ",
-"Enable Encryption" => "چالاکردنی نهێنیکردن"
+"None" => "هیچ"
);
diff --git a/apps/files_encryption/l10n/lt_LT.php b/apps/files_encryption/l10n/lt_LT.php
index b939df164c8..22cbe7a4ffa 100644
--- a/apps/files_encryption/l10n/lt_LT.php
+++ b/apps/files_encryption/l10n/lt_LT.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"Encryption" => "Å ifravimas",
"Exclude the following file types from encryption" => "Nešifruoti pasirinkto tipo failų",
-"None" => "Nieko",
-"Enable Encryption" => "Įjungti šifravimą"
+"None" => "Nieko"
);
diff --git a/apps/files_encryption/l10n/mk.php b/apps/files_encryption/l10n/mk.php
index dfcaed9f37e..7ccf8ac2d5b 100644
--- a/apps/files_encryption/l10n/mk.php
+++ b/apps/files_encryption/l10n/mk.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"Encryption" => "Енкрипција",
"Exclude the following file types from encryption" => "ИÑклучи ги Ñледните типови на датотеки од енкрипција",
-"None" => "Ðишто",
-"Enable Encryption" => "Овозможи енкрипција"
+"None" => "Ðишто"
);
diff --git a/apps/files_encryption/l10n/nb_NO.php b/apps/files_encryption/l10n/nb_NO.php
index e65df7b6ce3..2ec6670e928 100644
--- a/apps/files_encryption/l10n/nb_NO.php
+++ b/apps/files_encryption/l10n/nb_NO.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"Encryption" => "Kryptering",
"Exclude the following file types from encryption" => "Ekskluder følgende filer fra kryptering",
-"None" => "Ingen",
-"Enable Encryption" => "Slå på kryptering"
+"None" => "Ingen"
);
diff --git a/apps/files_encryption/l10n/nl.php b/apps/files_encryption/l10n/nl.php
index 1ea56006fc3..7c09009cba9 100644
--- a/apps/files_encryption/l10n/nl.php
+++ b/apps/files_encryption/l10n/nl.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"Encryption" => "Versleuteling",
"Exclude the following file types from encryption" => "Versleutel de volgende bestand types niet",
-"None" => "Geen",
-"Enable Encryption" => "Zet versleuteling aan"
+"None" => "Geen"
);
diff --git a/apps/files_encryption/l10n/pl.php b/apps/files_encryption/l10n/pl.php
index 5cfc707450e..896086108ec 100644
--- a/apps/files_encryption/l10n/pl.php
+++ b/apps/files_encryption/l10n/pl.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"Encryption" => "Szyfrowanie",
"Exclude the following file types from encryption" => "Wyłącz następujące typy plików z szyfrowania",
-"None" => "Brak",
-"Enable Encryption" => "Włącz szyfrowanie"
+"None" => "Brak"
);
diff --git a/apps/files_encryption/l10n/pt_BR.php b/apps/files_encryption/l10n/pt_BR.php
index 5c02f52217f..086d073cf5c 100644
--- a/apps/files_encryption/l10n/pt_BR.php
+++ b/apps/files_encryption/l10n/pt_BR.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"Encryption" => "Criptografia",
"Exclude the following file types from encryption" => "Excluir os seguintes tipos de arquivo da criptografia",
-"None" => "Nenhuma",
-"Enable Encryption" => "Habilitar Criptografia"
+"None" => "Nenhuma"
);
diff --git a/apps/files_encryption/l10n/pt_PT.php b/apps/files_encryption/l10n/pt_PT.php
index 570462b414f..b6eedcdc509 100644
--- a/apps/files_encryption/l10n/pt_PT.php
+++ b/apps/files_encryption/l10n/pt_PT.php
@@ -1,6 +1,16 @@
<?php $TRANSLATIONS = array(
+"Please switch to your ownCloud client and change your encryption password to complete the conversion." => "Por favor, use o seu cliente de sincronização do ownCloud e altere a sua password de encriptação para concluír a conversão.",
+"switched to client side encryption" => "Alterado para encriptação do lado do cliente",
+"Change encryption password to login password" => "Alterar a password de encriptação para a password de login",
+"Please check your passwords and try again." => "Por favor verifique as suas paswords e tente de novo.",
+"Could not change your file encryption password to your login password" => "Não foi possível alterar a password de encriptação de ficheiros para a sua password de login",
+"Choose encryption mode:" => "Escolha o método de encriptação",
+"Client side encryption (most secure but makes it impossible to access your data from the web interface)" => "Encriptação do lado do cliente (mais seguro mas torna possível o acesso aos dados através do interface web)",
+"Server side encryption (allows you to access your files from the web interface and the desktop client)" => "Encriptação do lado do servidor (permite o acesso aos seus ficheiros através do interface web e do cliente de sincronização)",
+"None (no encryption at all)" => "Nenhuma (sem encriptação)",
+"Important: Once you selected an encryption mode there is no way to change it back" => "Importante: Uma vez escolhido o modo de encriptação, não existe maneira de o alterar!",
+"User specific (let the user decide)" => "Escolhido pelo utilizador",
"Encryption" => "Encriptação",
"Exclude the following file types from encryption" => "Excluir da encriptação os seguintes tipo de ficheiros",
-"None" => "Nenhum",
-"Enable Encryption" => "Activar Encriptação"
+"None" => "Nenhum"
);
diff --git a/apps/files_encryption/l10n/ro.php b/apps/files_encryption/l10n/ro.php
index 97f3f262d76..fc0f24f483d 100644
--- a/apps/files_encryption/l10n/ro.php
+++ b/apps/files_encryption/l10n/ro.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"Encryption" => "ÃŽncriptare",
"Exclude the following file types from encryption" => "Exclude următoarele tipuri de fișiere de la încriptare",
-"None" => "Niciuna",
-"Enable Encryption" => "Activare încriptare"
+"None" => "Niciuna"
);
diff --git a/apps/files_encryption/l10n/ru.php b/apps/files_encryption/l10n/ru.php
index 3a7e84b6d01..14115c12683 100644
--- a/apps/files_encryption/l10n/ru.php
+++ b/apps/files_encryption/l10n/ru.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"Encryption" => "Шифрование",
"Exclude the following file types from encryption" => "ИÑключить шифрование Ñледующих типов файлов",
-"None" => "Ðичего",
-"Enable Encryption" => "Включить шифрование"
+"None" => "Ðичего"
);
diff --git a/apps/files_encryption/l10n/ru_RU.php b/apps/files_encryption/l10n/ru_RU.php
index 1328b0d0359..4321fb8a8a3 100644
--- a/apps/files_encryption/l10n/ru_RU.php
+++ b/apps/files_encryption/l10n/ru_RU.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"Encryption" => "Шифрование",
"Exclude the following file types from encryption" => "ИÑключите Ñледующие типы файлов из шифрованиÑ",
-"None" => "Ðи один",
-"Enable Encryption" => "Включить шифрование"
+"None" => "Ðи один"
);
diff --git a/apps/files_encryption/l10n/si_LK.php b/apps/files_encryption/l10n/si_LK.php
index a29884afffd..2d61bec45b8 100644
--- a/apps/files_encryption/l10n/si_LK.php
+++ b/apps/files_encryption/l10n/si_LK.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"Encryption" => "ගුප්ත කේතනය",
"Exclude the following file types from encryption" => "මෙම ගොනු වර්ග ගුප්ත කේතනය කිරීමෙන් à¶¶à·à·„à·à¶»à·€ තබන්න",
-"None" => "කිසිවක් à¶±à·à¶­",
-"Enable Encryption" => "ගුප්ත කේතනය සක්â€à¶»à·’ය කරන්න"
+"None" => "කිසිවක් à¶±à·à¶­"
);
diff --git a/apps/files_encryption/l10n/sk_SK.php b/apps/files_encryption/l10n/sk_SK.php
index 598f1294f6e..5aebb6e35bd 100644
--- a/apps/files_encryption/l10n/sk_SK.php
+++ b/apps/files_encryption/l10n/sk_SK.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"Encryption" => "Å ifrovanie",
"Exclude the following file types from encryption" => "Vynechať nasledujúce súbory pri šifrovaní",
-"None" => "Žiadne",
-"Enable Encryption" => "Zapnúť šifrovanie"
+"None" => "Žiadne"
);
diff --git a/apps/files_encryption/l10n/sl.php b/apps/files_encryption/l10n/sl.php
index f62fe781c6a..db963ef2f8d 100644
--- a/apps/files_encryption/l10n/sl.php
+++ b/apps/files_encryption/l10n/sl.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"Encryption" => "Å ifriranje",
"Exclude the following file types from encryption" => "Navedene vrste datotek naj ne bodo šifrirane",
-"None" => "Brez",
-"Enable Encryption" => "OmogoÄi Å¡ifriranje"
+"None" => "Brez"
);
diff --git a/apps/files_encryption/l10n/sr.php b/apps/files_encryption/l10n/sr.php
index 4718780ee52..198bcc94ef9 100644
--- a/apps/files_encryption/l10n/sr.php
+++ b/apps/files_encryption/l10n/sr.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"Encryption" => "Шифровање",
"Exclude the following file types from encryption" => "Ðе шифруј Ñледеће типове датотека",
-"None" => "Ðишта",
-"Enable Encryption" => "Омогући шифровање"
+"None" => "Ðишта"
);
diff --git a/apps/files_encryption/l10n/sv.php b/apps/files_encryption/l10n/sv.php
index 0a477f83460..9b6ce141782 100644
--- a/apps/files_encryption/l10n/sv.php
+++ b/apps/files_encryption/l10n/sv.php
@@ -1,6 +1,16 @@
<?php $TRANSLATIONS = array(
+"Please switch to your ownCloud client and change your encryption password to complete the conversion." => "Vänligen växla till ownCloud klienten och ändra ditt krypteringslösenord för att slutföra omvandlingen.",
+"switched to client side encryption" => "Bytte till kryptering på klientsidan",
+"Change encryption password to login password" => "Ändra krypteringslösenord till loginlösenord",
+"Please check your passwords and try again." => "Kontrollera dina lösenord och försök igen.",
+"Could not change your file encryption password to your login password" => "Kunde inte ändra ditt filkrypteringslösenord till ditt loginlösenord",
+"Choose encryption mode:" => "Välj krypteringsläge:",
+"Client side encryption (most secure but makes it impossible to access your data from the web interface)" => "Kryptering på klientsidan (säkraste men gör det omöjligt att komma åt dina filer med en webbläsare)",
+"Server side encryption (allows you to access your files from the web interface and the desktop client)" => "Kryptering på serversidan (kan komma åt dina filer från webbläsare och datorklient)",
+"None (no encryption at all)" => "Ingen (ingen kryptering alls)",
+"Important: Once you selected an encryption mode there is no way to change it back" => "Viktigt: När du har valt ett krypteringsläge finns det inget sätt att ändra tillbaka",
+"User specific (let the user decide)" => "Användarspecifik (låter användaren bestämma)",
"Encryption" => "Kryptering",
"Exclude the following file types from encryption" => "Exkludera följande filtyper från kryptering",
-"None" => "Ingen",
-"Enable Encryption" => "Aktivera kryptering"
+"None" => "Ingen"
);
diff --git a/apps/files_encryption/l10n/ta_LK.php b/apps/files_encryption/l10n/ta_LK.php
index 1d1ef74007e..aab628b5519 100644
--- a/apps/files_encryption/l10n/ta_LK.php
+++ b/apps/files_encryption/l10n/ta_LK.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"Encryption" => "மறைகà¯à®•à¯à®±à®¿à®¯à¯€à®Ÿà¯",
"Exclude the following file types from encryption" => "மறைகà¯à®•à¯à®±à®¿à®¯à®¾à®•à¯à®•லில௠பினà¯à®µà®°à¯à®®à¯ கோபà¯à®ªà¯ வகைகளை நீகà¯à®•வà¯à®®à¯",
-"None" => "ஒனà¯à®±à¯à®®à®¿à®²à¯à®²à¯ˆ",
-"Enable Encryption" => "மறைகà¯à®•à¯à®±à®¿à®¯à®¾à®•à¯à®•லை இயலà¯à®®à¯ˆà®ªà¯à®ªà®Ÿà¯à®¤à¯à®¤à¯à®•"
+"None" => "ஒனà¯à®±à¯à®®à®¿à®²à¯à®²à¯ˆ"
);
diff --git a/apps/files_encryption/l10n/th_TH.php b/apps/files_encryption/l10n/th_TH.php
index c2685de6e3a..f8c19456ab3 100644
--- a/apps/files_encryption/l10n/th_TH.php
+++ b/apps/files_encryption/l10n/th_TH.php
@@ -1,6 +1,16 @@
<?php $TRANSLATIONS = array(
+"Please switch to your ownCloud client and change your encryption password to complete the conversion." => "à¸à¸£à¸¸à¸“าสลับไปที่โปรà¹à¸à¸£à¸¡à¹„คลเอนต์ ownCloud ของคุณ à¹à¸¥à¹‰à¸§à¹€à¸›à¸¥à¸µà¹ˆà¸¢à¸™à¸£à¸«à¸±à¸ªà¸œà¹ˆà¸²à¸™à¸ªà¸³à¸«à¸£à¸±à¸šà¸à¸²à¸£à¹€à¸‚้ารหัสเพื่อà¹à¸›à¸¥à¸‡à¸‚้อมูลให้เสร็จสมบูรณ์",
+"switched to client side encryption" => "สลับไปใช้à¸à¸²à¸£à¹€à¸‚้ารหัสจาà¸à¹‚ปรà¹à¸à¸£à¸¡à¹„คลเอนต์",
+"Change encryption password to login password" => "เปลี่ยนรหัสผ่านสำหรับเข้ารหัสไปเป็นรหัสผ่านสำหรับà¸à¸²à¸£à¹€à¸‚้าสู่ระบบ",
+"Please check your passwords and try again." => "à¸à¸£à¸¸à¸“าตรวจสอบรหัสผ่านของคุณà¹à¸¥à¹‰à¸§à¸¥à¸­à¸‡à¹ƒà¸«à¸¡à¹ˆà¸­à¸µà¸à¸„รั้ง",
+"Could not change your file encryption password to your login password" => "ไม่สามารถเปลี่ยนรหัสผ่านสำหรับà¸à¸²à¸£à¹€à¸‚้ารหัสไฟล์ของคุณไปเป็นรหัสผ่านสำหรับà¸à¸²à¸£à¹€à¸‚้าสู่ระบบของคุณได้",
+"Choose encryption mode:" => "เลือà¸à¸£à¸¹à¸›à¹à¸šà¸šà¸à¸²à¸£à¹€à¸‚้ารหัส:",
+"Client side encryption (most secure but makes it impossible to access your data from the web interface)" => "à¸à¸²à¸£à¹€à¸‚้ารหัสด้วยโปรà¹à¸à¸£à¸¡à¹„คลเอนต์ (ปลอดภัยที่สุด à¹à¸•่จะทำให้คุณไม่สามารถเข้าถึงข้อมูลต่างๆจาà¸à¸«à¸™à¹‰à¸²à¸ˆà¸­à¹€à¸§à¹‡à¸šà¹„ซต์ได้)",
+"Server side encryption (allows you to access your files from the web interface and the desktop client)" => "à¸à¸²à¸£à¹€à¸‚้ารหัสจาà¸à¸—างà¸à¸±à¹ˆà¸‡à¹€à¸‹à¸´à¸£à¹Œà¸Ÿà¹€à¸§à¸­à¸£à¹Œ (อนุà¸à¸²à¸•ให้คุณเข้าถึงไฟล์ของคุณจาà¸à¸«à¸™à¹‰à¸²à¸ˆà¸­à¹€à¸§à¹‡à¸šà¹„ซต์ à¹à¸¥à¸°à¹‚ปรà¹à¸à¸£à¸¡à¹„คลเอนต์จาà¸à¹€à¸„รื่องเดสà¸à¹Œà¸—็อปได้)",
+"None (no encryption at all)" => "ไม่ต้อง (ไม่มีà¸à¸²à¸£à¹€à¸‚้ารหัสเลย)",
+"Important: Once you selected an encryption mode there is no way to change it back" => "ข้อความสำคัà¸: หลังจาà¸à¸—ี่คุณได้เลือà¸à¸£à¸¹à¸›à¹à¸šà¸šà¸à¸²à¸£à¹€à¸‚้ารหัสà¹à¸¥à¹‰à¸§ จะไม่สามารถเปลี่ยนà¸à¸¥à¸±à¸šà¸¡à¸²à¹ƒà¸«à¸¡à¹ˆà¹„ด้อีà¸",
+"User specific (let the user decide)" => "ให้ผู้ใช้งานเลือà¸à¹€à¸­à¸‡ (ปล่อยให้ผู้ใช้งานตัดสินใจเอง)",
"Encryption" => "à¸à¸²à¸£à¹€à¸‚้ารหัส",
"Exclude the following file types from encryption" => "ไม่ต้องรวมชนิดของไฟล์ดังต่อไปนี้จาà¸à¸à¸²à¸£à¹€à¸‚้ารหัส",
-"None" => "ไม่ต้อง",
-"Enable Encryption" => "เปิดใช้งานà¸à¸²à¸£à¹€à¸‚้ารหัส"
+"None" => "ไม่ต้อง"
);
diff --git a/apps/files_encryption/l10n/tr.php b/apps/files_encryption/l10n/tr.php
new file mode 100644
index 00000000000..07f78d148c8
--- /dev/null
+++ b/apps/files_encryption/l10n/tr.php
@@ -0,0 +1,5 @@
+<?php $TRANSLATIONS = array(
+"Encryption" => "Åžifreleme",
+"Exclude the following file types from encryption" => "Aşağıdaki dosya tiplerini şifrelemeye dahil etme",
+"None" => "Hiçbiri"
+);
diff --git a/apps/files_encryption/l10n/uk.php b/apps/files_encryption/l10n/uk.php
index 3c15bb28436..e3589215658 100644
--- a/apps/files_encryption/l10n/uk.php
+++ b/apps/files_encryption/l10n/uk.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"Encryption" => "ШифруваннÑ",
"Exclude the following file types from encryption" => "Ðе шифрувати файли наÑтупних типів",
-"None" => "Жоден",
-"Enable Encryption" => "Включити шифруваннÑ"
+"None" => "Жоден"
);
diff --git a/apps/files_encryption/l10n/vi.php b/apps/files_encryption/l10n/vi.php
index 6365084fdc6..218285b675a 100644
--- a/apps/files_encryption/l10n/vi.php
+++ b/apps/files_encryption/l10n/vi.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"Encryption" => "Mã hóa",
"Exclude the following file types from encryption" => "Loại trừ các loại tập tin sau đây từ mã hóa",
-"None" => "Không có gì hết",
-"Enable Encryption" => "BẬT mã hóa"
+"None" => "Không có gì hết"
);
diff --git a/apps/files_encryption/l10n/zh_CN.GB2312.php b/apps/files_encryption/l10n/zh_CN.GB2312.php
index 297444fcf55..31a3d3b49b8 100644
--- a/apps/files_encryption/l10n/zh_CN.GB2312.php
+++ b/apps/files_encryption/l10n/zh_CN.GB2312.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"Encryption" => "加密",
"Exclude the following file types from encryption" => "从加密中排除如下文件类型",
-"None" => "æ— ",
-"Enable Encryption" => "å¯ç”¨åР坆"
+"None" => "æ— "
);
diff --git a/apps/files_encryption/l10n/zh_CN.php b/apps/files_encryption/l10n/zh_CN.php
index 1e1247d15ff..aa4817b590c 100644
--- a/apps/files_encryption/l10n/zh_CN.php
+++ b/apps/files_encryption/l10n/zh_CN.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"Encryption" => "加密",
"Exclude the following file types from encryption" => "从加密中排除列出的文件类型",
-"None" => "None",
-"Enable Encryption" => "å¼€å¯åР坆"
+"None" => "None"
);
diff --git a/apps/files_encryption/l10n/zh_TW.php b/apps/files_encryption/l10n/zh_TW.php
index 4c62130cf4f..fecebbe2509 100644
--- a/apps/files_encryption/l10n/zh_TW.php
+++ b/apps/files_encryption/l10n/zh_TW.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"Encryption" => "加密",
"Exclude the following file types from encryption" => "下列的檔案類型ä¸åР坆",
-"None" => "ç„¡",
-"Enable Encryption" => "啟用加密"
+"None" => "ç„¡"
);
diff --git a/apps/files_encryption/lib/crypt.php b/apps/files_encryption/lib/crypt.php
index 666fedb4e1b..fddc89dae54 100644..100755
--- a/apps/files_encryption/lib/crypt.php
+++ b/apps/files_encryption/lib/crypt.php
@@ -1,220 +1,732 @@
-<?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/>.
- *
- */
-
-
-
-// Todo:
-// - Crypt/decrypt button in the userinterface
-// - Setting if crypto should be on by default
-// - Add a setting "Don´t encrypt files larger than xx because of performance reasons"
-// - Transparent decrypt/encrypt in filesystem.php. Autodetect if a file is encrypted (.encrypted extension)
-// - Don't use a password directly as encryption key, but a key which is stored on the server and encrypted with the
-// user password. -> password change faster
-// - IMPORTANT! Check if the block lenght of the encrypted data stays the same
-
-
-require_once 'Crypt_Blowfish/Blowfish.php';
-
-/**
- * This class is for crypting and decrypting
- */
-class OC_Crypt {
- static private $bf = null;
-
- public static function loginListener($params) {
- self::init($params['uid'], $params['password']);
- }
-
- public static function init($login, $password) {
- $view=new OC_FilesystemView('/');
- if ( ! $view->file_exists('/'.$login)) {
- $view->mkdir('/'.$login);
- }
-
- OC_FileProxy::$enabled=false;
- if ( ! $view->file_exists('/'.$login.'/encryption.key')) {// does key exist?
- OC_Crypt::createkey($login, $password);
- }
- $key=$view->file_get_contents('/'.$login.'/encryption.key');
- OC_FileProxy::$enabled=true;
- $_SESSION['enckey']=OC_Crypt::decrypt($key, $password);
- }
-
-
- /**
- * get the blowfish encryption handeler for a key
- * @param string $key (optional)
- * @return Crypt_Blowfish
- *
- * if the key is left out, the default handeler will be used
- */
- public static function getBlowfish($key='') {
- if ($key) {
- return new Crypt_Blowfish($key);
- } else {
- if ( ! isset($_SESSION['enckey'])) {
- return false;
- }
- if ( ! self::$bf) {
- self::$bf=new Crypt_Blowfish($_SESSION['enckey']);
- }
- return self::$bf;
- }
- }
-
- public static function createkey($username, $passcode) {
- // generate a random key
- $key=mt_rand(10000, 99999).mt_rand(10000, 99999).mt_rand(10000, 99999).mt_rand(10000, 99999);
-
- // encrypt the key with the passcode of the user
- $enckey=OC_Crypt::encrypt($key, $passcode);
-
- // Write the file
- $proxyEnabled=OC_FileProxy::$enabled;
- OC_FileProxy::$enabled=false;
- $view=new OC_FilesystemView('/'.$username);
- $view->file_put_contents('/encryption.key', $enckey);
- OC_FileProxy::$enabled=$proxyEnabled;
- }
-
- public static function changekeypasscode($oldPassword, $newPassword) {
- if (OCP\User::isLoggedIn()) {
- $username=OCP\USER::getUser();
- $view=new OC_FilesystemView('/'.$username);
-
- // read old key
- $key=$view->file_get_contents('/encryption.key');
-
- // decrypt key with old passcode
- $key=OC_Crypt::decrypt($key, $oldPassword);
-
- // encrypt again with new passcode
- $key=OC_Crypt::encrypt($key, $newPassword);
-
- // store the new key
- $view->file_put_contents('/encryption.key', $key );
- }
- }
-
- /**
- * @brief encrypts an content
- * @param $content the cleartext message you want to encrypt
- * @param $key the encryption key (optional)
- * @returns encrypted content
- *
- * This function encrypts an content
- */
- public static function encrypt( $content, $key='') {
- $bf = self::getBlowfish($key);
- return $bf->encrypt($content);
- }
-
- /**
- * @brief decryption of an content
- * @param $content the cleartext message you want to decrypt
- * @param $key the encryption key (optional)
- * @returns cleartext content
- *
- * This function decrypts an content
- */
- public static function decrypt( $content, $key='') {
- $bf = self::getBlowfish($key);
- $data=$bf->decrypt($content);
- return $data;
- }
-
- /**
- * @brief encryption of a file
- * @param string $source
- * @param string $target
- * @param string $key the decryption key
- *
- * This function encrypts a file
- */
- public static function encryptFile( $source, $target, $key='') {
- $handleread = fopen($source, "rb");
- if ($handleread!=false) {
- $handlewrite = fopen($target, "wb");
- while (!feof($handleread)) {
- $content = fread($handleread, 8192);
- $enccontent=OC_CRYPT::encrypt( $content, $key);
- fwrite($handlewrite, $enccontent);
- }
- fclose($handlewrite);
- fclose($handleread);
- }
- }
-
-
- /**
- * @brief decryption of a file
- * @param string $source
- * @param string $target
- * @param string $key the decryption key
- *
- * This function decrypts a file
- */
- public static function decryptFile( $source, $target, $key='') {
- $handleread = fopen($source, "rb");
- if ($handleread!=false) {
- $handlewrite = fopen($target, "wb");
- while (!feof($handleread)) {
- $content = fread($handleread, 8192);
- $enccontent=OC_CRYPT::decrypt( $content, $key);
- if (feof($handleread)) {
- $enccontent=rtrim($enccontent, "\0");
- }
- fwrite($handlewrite, $enccontent);
- }
- fclose($handlewrite);
- fclose($handleread);
- }
- }
-
- /**
- * encrypt data in 8192b sized blocks
- */
- public static function blockEncrypt($data, $key='') {
- $result='';
- while (strlen($data)) {
- $result.=self::encrypt(substr($data, 0, 8192), $key);
- $data=substr($data, 8192);
- }
- return $result;
- }
-
- /**
- * decrypt data in 8192b sized blocks
- */
- public static function blockDecrypt($data, $key='', $maxLength=0) {
- $result='';
- while (strlen($data)) {
- $result.=self::decrypt(substr($data, 0, 8192), $key);
- $data=substr($data, 8192);
- }
- if ($maxLength>0) {
- return substr($result, 0, $maxLength);
- } else {
- return rtrim($result, "\0");
- }
- }
-}
+<?php
+/**
+ * ownCloud
+ *
+ * @author Sam Tuke, Frank Karlitschek, Robin Appelman
+ * @copyright 2012 Sam Tuke samtuke@owncloud.com,
+ * Robin Appelman icewind@owncloud.com, 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/>.
+ *
+ */
+
+namespace OCA\Encryption;
+
+require_once 'Crypt_Blowfish/Blowfish.php';
+
+// Todo:
+// - Crypt/decrypt button in the userinterface
+// - Setting if crypto should be on by default
+// - Add a setting "Don´t encrypt files larger than xx because of performance reasons"
+// - Transparent decrypt/encrypt in filesystem.php. Autodetect if a file is encrypted (.encrypted extension)
+// - Don't use a password directly as encryption key. but a key which is stored on the server and encrypted with the user password. -> password change faster
+// - IMPORTANT! Check if the block lenght of the encrypted data stays the same
+
+/**
+ * Class for common cryptography functionality
+ */
+
+class Crypt {
+
+ /**
+ * @brief return encryption mode client or server side encryption
+ * @param string user name (use system wide setting if name=null)
+ * @return string 'client' or 'server'
+ */
+ public static function mode( $user = null ) {
+
+// $mode = \OC_Appconfig::getValue( 'files_encryption', 'mode', 'none' );
+//
+// if ( $mode == 'user') {
+// if ( !$user ) {
+// $user = \OCP\User::getUser();
+// }
+// $mode = 'none';
+// if ( $user ) {
+// $query = \OC_DB::prepare( "SELECT mode FROM *PREFIX*encryption WHERE uid = ?" );
+// $result = $query->execute(array($user));
+// if ($row = $result->fetchRow()){
+// $mode = $row['mode'];
+// }
+// }
+// }
+//
+// return $mode;
+
+ return 'server';
+
+ }
+
+ /**
+ * @brief Create a new encryption keypair
+ * @return array publicKey, privatekey
+ */
+ public static function createKeypair() {
+
+ $res = openssl_pkey_new();
+
+ // Get private key
+ openssl_pkey_export( $res, $privateKey );
+
+ // Get public key
+ $publicKey = openssl_pkey_get_details( $res );
+
+ $publicKey = $publicKey['key'];
+
+ return( array( 'publicKey' => $publicKey, 'privateKey' => $privateKey ) );
+
+ }
+
+ /**
+ * @brief Add arbitrary padding to encrypted data
+ * @param string $data data to be padded
+ * @return padded data
+ * @note In order to end up with data exactly 8192 bytes long we must add two letters. It is impossible to achieve exactly 8192 length blocks with encryption alone, hence padding is added to achieve the required length.
+ */
+ public static function addPadding( $data ) {
+
+ $padded = $data . 'xx';
+
+ return $padded;
+
+ }
+
+ /**
+ * @brief Remove arbitrary padding to encrypted data
+ * @param string $padded padded data to remove padding from
+ * @return unpadded data on success, false on error
+ */
+ public static function removePadding( $padded ) {
+
+ if ( substr( $padded, -2 ) == 'xx' ) {
+
+ $data = substr( $padded, 0, -2 );
+
+ return $data;
+
+ } else {
+
+ # TODO: log the fact that unpadded data was submitted for removal of padding
+ return false;
+
+ }
+
+ }
+
+ /**
+ * @brief Check if a file's contents contains an IV and is symmetrically encrypted
+ * @return true / false
+ * @note see also OCA\Encryption\Util->isEncryptedPath()
+ */
+ public static function isEncryptedContent( $content ) {
+
+ if ( !$content ) {
+
+ return false;
+
+ }
+
+ $noPadding = self::removePadding( $content );
+
+ // Fetch encryption metadata from end of file
+ $meta = substr( $noPadding, -22 );
+
+ // Fetch IV from end of file
+ $iv = substr( $meta, -16 );
+
+ // Fetch identifier from start of metadata
+ $identifier = substr( $meta, 0, 6 );
+
+ if ( $identifier == '00iv00') {
+
+ return true;
+
+ } else {
+
+ return false;
+
+ }
+
+ }
+
+ /**
+ * Check if a file is encrypted according to database file cache
+ * @param string $path
+ * @return bool
+ */
+ public static function isEncryptedMeta( $path ) {
+
+ # TODO: Use DI to get OC_FileCache_Cached out of here
+
+ // Fetch all file metadata from DB
+ $metadata = \OC_FileCache_Cached::get( $path, '' );
+
+ // Return encryption status
+ return isset( $metadata['encrypted'] ) and ( bool )$metadata['encrypted'];
+
+ }
+
+ /**
+ * @brief Check if a file is encrypted via legacy system
+ * @return true / false
+ */
+ public static function isLegacyEncryptedContent( $content ) {
+
+ // Fetch all file metadata from DB
+ $metadata = \OC_FileCache_Cached::get( $content, '' );
+
+ // If a file is flagged with encryption in DB, but isn't a valid content + IV combination, it's probably using the legacy encryption system
+ if (
+ $content
+ and isset( $metadata['encrypted'] )
+ and $metadata['encrypted'] === true
+ and !self::isEncryptedContent( $content )
+ ) {
+
+ return true;
+
+ } else {
+
+ return false;
+
+ }
+
+ }
+
+ /**
+ * @brief Symmetrically encrypt a string
+ * @returns encrypted file
+ */
+ public static function encrypt( $plainContent, $iv, $passphrase = '' ) {
+
+ if ( $encryptedContent = openssl_encrypt( $plainContent, 'AES-128-CFB', $passphrase, false, $iv ) ) {
+
+ return $encryptedContent;
+
+ } else {
+
+ \OC_Log::write( 'Encryption library', 'Encryption (symmetric) of content failed' , \OC_Log::ERROR );
+
+ return false;
+
+ }
+
+ }
+
+ /**
+ * @brief Symmetrically decrypt a string
+ * @returns decrypted file
+ */
+ public static function decrypt( $encryptedContent, $iv, $passphrase ) {
+
+ if ( $plainContent = openssl_decrypt( $encryptedContent, 'AES-128-CFB', $passphrase, false, $iv ) ) {
+
+ return $plainContent;
+
+
+ } else {
+
+ throw new \Exception( 'Encryption library: Decryption (symmetric) of content failed' );
+
+ return false;
+
+ }
+
+ }
+
+ /**
+ * @brief Concatenate encrypted data with its IV and padding
+ * @param string $content content to be concatenated
+ * @param string $iv IV to be concatenated
+ * @returns string concatenated content
+ */
+ public static function concatIv ( $content, $iv ) {
+
+ $combined = $content . '00iv00' . $iv;
+
+ return $combined;
+
+ }
+
+ /**
+ * @brief Split concatenated data and IV into respective parts
+ * @param string $catFile concatenated data to be split
+ * @returns array keys: encrypted, iv
+ */
+ public static function splitIv ( $catFile ) {
+
+ // Fetch encryption metadata from end of file
+ $meta = substr( $catFile, -22 );
+
+ // Fetch IV from end of file
+ $iv = substr( $meta, -16 );
+
+ // Remove IV and IV identifier text to expose encrypted content
+ $encrypted = substr( $catFile, 0, -22 );
+
+ $split = array(
+ 'encrypted' => $encrypted
+ , 'iv' => $iv
+ );
+
+ return $split;
+
+ }
+
+ /**
+ * @brief Symmetrically encrypts a string and returns keyfile content
+ * @param $plainContent content to be encrypted in keyfile
+ * @returns encrypted content combined with IV
+ * @note IV need not be specified, as it will be stored in the returned keyfile
+ * and remain accessible therein.
+ */
+ public static function symmetricEncryptFileContent( $plainContent, $passphrase = '' ) {
+
+ if ( !$plainContent ) {
+
+ return false;
+
+ }
+
+ $iv = self::generateIv();
+
+ if ( $encryptedContent = self::encrypt( $plainContent, $iv, $passphrase ) ) {
+
+ // Combine content to encrypt with IV identifier and actual IV
+ $catfile = self::concatIv( $encryptedContent, $iv );
+
+ $padded = self::addPadding( $catfile );
+
+ return $padded;
+
+ } else {
+
+ \OC_Log::write( 'Encryption library', 'Encryption (symmetric) of keyfile content failed' , \OC_Log::ERROR );
+
+ return false;
+
+ }
+
+ }
+
+
+ /**
+ * @brief Symmetrically decrypts keyfile content
+ * @param string $source
+ * @param string $target
+ * @param string $key the decryption key
+ * @returns decrypted content
+ *
+ * This function decrypts a file
+ */
+ public static function symmetricDecryptFileContent( $keyfileContent, $passphrase = '' ) {
+
+ if ( !$keyfileContent ) {
+
+ throw new \Exception( 'Encryption library: no data provided for decryption' );
+
+ }
+
+ // Remove padding
+ $noPadding = self::removePadding( $keyfileContent );
+
+ // Split into enc data and catfile
+ $catfile = self::splitIv( $noPadding );
+
+ if ( $plainContent = self::decrypt( $catfile['encrypted'], $catfile['iv'], $passphrase ) ) {
+
+ return $plainContent;
+
+ }
+
+ }
+
+ /**
+ * @brief Creates symmetric keyfile content using a generated key
+ * @param string $plainContent content to be encrypted
+ * @returns array keys: key, encrypted
+ * @note symmetricDecryptFileContent() can be used to decrypt files created using this method
+ *
+ * This function decrypts a file
+ */
+ public static function symmetricEncryptFileContentKeyfile( $plainContent ) {
+
+ $key = self::generateKey();
+
+ if( $encryptedContent = self::symmetricEncryptFileContent( $plainContent, $key ) ) {
+
+ return array(
+ 'key' => $key
+ , 'encrypted' => $encryptedContent
+ );
+
+ } else {
+
+ return false;
+
+ }
+
+ }
+
+ /**
+ * @brief Create asymmetrically encrypted keyfile content using a generated key
+ * @param string $plainContent content to be encrypted
+ * @returns array keys: key, encrypted
+ * @note symmetricDecryptFileContent() can be used to decrypt files created using this method
+ *
+ * This function decrypts a file
+ */
+ public static function multiKeyEncrypt( $plainContent, array $publicKeys ) {
+
+ $envKeys = array();
+
+ if( openssl_seal( $plainContent, $sealed, $envKeys, $publicKeys ) ) {
+
+ return array(
+ 'keys' => $envKeys
+ , 'encrypted' => $sealed
+ );
+
+ } else {
+
+ return false;
+
+ }
+
+ }
+
+ /**
+ * @brief Asymmetrically encrypt a file using multiple public keys
+ * @param string $plainContent content to be encrypted
+ * @returns string $plainContent decrypted string
+ * @note symmetricDecryptFileContent() can be used to decrypt files created using this method
+ *
+ * This function decrypts a file
+ */
+ public static function multiKeyDecrypt( $encryptedContent, $envKey, $privateKey ) {
+
+ if ( !$encryptedContent ) {
+
+ return false;
+
+ }
+
+ if ( openssl_open( $encryptedContent, $plainContent, $envKey, $privateKey ) ) {
+
+ return $plainContent;
+
+ } else {
+
+ \OC_Log::write( 'Encryption library', 'Decryption (asymmetric) of sealed content failed' , \OC_Log::ERROR );
+
+ return false;
+
+ }
+
+ }
+
+ /**
+ * @brief Asymetrically encrypt a string using a public key
+ * @returns encrypted file
+ */
+ public static function keyEncrypt( $plainContent, $publicKey ) {
+
+ openssl_public_encrypt( $plainContent, $encryptedContent, $publicKey );
+
+ return $encryptedContent;
+
+ }
+
+ /**
+ * @brief Asymetrically decrypt a file using a private key
+ * @returns decrypted file
+ */
+ public static function keyDecrypt( $encryptedContent, $privatekey ) {
+
+ openssl_private_decrypt( $encryptedContent, $plainContent, $privatekey );
+
+ return $plainContent;
+
+ }
+
+ /**
+ * @brief Encrypts content symmetrically and generates keyfile asymmetrically
+ * @returns array containing catfile and new keyfile.
+ * keys: data, key
+ * @note this method is a wrapper for combining other crypt class methods
+ */
+ public static function keyEncryptKeyfile( $plainContent, $publicKey ) {
+
+ // Encrypt plain data, generate keyfile & encrypted file
+ $cryptedData = self::symmetricEncryptFileContentKeyfile( $plainContent );
+
+ // Encrypt keyfile
+ $cryptedKey = self::keyEncrypt( $cryptedData['key'], $publicKey );
+
+ return array( 'data' => $cryptedData['encrypted'], 'key' => $cryptedKey );
+
+ }
+
+ /**
+ * @brief Takes catfile, keyfile, and private key, and
+ * performs decryption
+ * @returns decrypted content
+ * @note this method is a wrapper for combining other crypt class methods
+ */
+ public static function keyDecryptKeyfile( $catfile, $keyfile, $privateKey ) {
+
+ // Decrypt the keyfile with the user's private key
+ $decryptedKeyfile = self::keyDecrypt( $keyfile, $privateKey );
+
+ // Decrypt the catfile symmetrically using the decrypted keyfile
+ $decryptedData = self::symmetricDecryptFileContent( $catfile, $decryptedKeyfile );
+
+ return $decryptedData;
+
+ }
+
+ /**
+ * @brief Symmetrically encrypt a file by combining encrypted component data blocks
+ */
+ public static function symmetricBlockEncryptFileContent( $plainContent, $key ) {
+
+ $crypted = '';
+
+ $remaining = $plainContent;
+
+ $testarray = array();
+
+ while( strlen( $remaining ) ) {
+
+ //echo "\n\n\$block = ".substr( $remaining, 0, 6126 );
+
+ // Encrypt a chunk of unencrypted data and add it to the rest
+ $block = self::symmetricEncryptFileContent( substr( $remaining, 0, 6126 ), $key );
+
+ $padded = self::addPadding( $block );
+
+ $crypted .= $block;
+
+ $testarray[] = $block;
+
+ // Remove the data already encrypted from remaining unencrypted data
+ $remaining = substr( $remaining, 6126 );
+
+ }
+
+ //echo "hags ";
+
+ //echo "\n\n\n\$crypted = $crypted\n\n\n";
+
+ //print_r($testarray);
+
+ return $crypted;
+
+ }
+
+
+ /**
+ * @brief Symmetrically decrypt a file by combining encrypted component data blocks
+ */
+ public static function symmetricBlockDecryptFileContent( $crypted, $key ) {
+
+ $decrypted = '';
+
+ $remaining = $crypted;
+
+ $testarray = array();
+
+ while( strlen( $remaining ) ) {
+
+ $testarray[] = substr( $remaining, 0, 8192 );
+
+ // Decrypt a chunk of unencrypted data and add it to the rest
+ $decrypted .= self::symmetricDecryptFileContent( $remaining, $key );
+
+ // Remove the data already encrypted from remaining unencrypted data
+ $remaining = substr( $remaining, 8192 );
+
+ }
+
+ //echo "\n\n\$testarray = "; print_r($testarray);
+
+ return $decrypted;
+
+ }
+
+ /**
+ * @brief Generates a pseudo random initialisation vector
+ * @return String $iv generated IV
+ */
+ public static function generateIv() {
+
+ if ( $random = openssl_random_pseudo_bytes( 12, $strong ) ) {
+
+ if ( !$strong ) {
+
+ // If OpenSSL indicates randomness is insecure, log error
+ \OC_Log::write( 'Encryption library', 'Insecure symmetric key was generated using openssl_random_pseudo_bytes()' , \OC_Log::WARN );
+
+ }
+
+ // We encode the iv purely for string manipulation
+ // purposes - it gets decoded before use
+ $iv = base64_encode( $random );
+
+ return $iv;
+
+ } else {
+
+ throw new Exception( 'Generating IV failed' );
+
+ }
+
+ }
+
+ /**
+ * @brief Generate a pseudo random 1024kb ASCII key
+ * @returns $key Generated key
+ */
+ public static function generateKey() {
+
+ // Generate key
+ if ( $key = base64_encode( openssl_random_pseudo_bytes( 183, $strong ) ) ) {
+
+ if ( !$strong ) {
+
+ // If OpenSSL indicates randomness is insecure, log error
+ throw new Exception ( 'Encryption library, Insecure symmetric key was generated using openssl_random_pseudo_bytes()' );
+
+ }
+
+ return $key;
+
+ } else {
+
+ return false;
+
+ }
+
+ }
+
+ public static function changekeypasscode($oldPassword, $newPassword) {
+
+ if(\OCP\User::isLoggedIn()){
+ $key = Keymanager::getPrivateKey( $user, $view );
+ if ( ($key = Crypt::symmetricDecryptFileContent($key,$oldpasswd)) ) {
+ if ( ($key = Crypt::symmetricEncryptFileContent($key, $newpasswd)) ) {
+ Keymanager::setPrivateKey($key);
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+
+ /**
+ * @brief Get the blowfish encryption handeler for a key
+ * @param $key string (optional)
+ * @return Crypt_Blowfish blowfish object
+ *
+ * if the key is left out, the default handeler will be used
+ */
+ public static function getBlowfish( $key = '' ) {
+
+ if ( $key ) {
+
+ return new \Crypt_Blowfish( $key );
+
+ } else {
+
+ return false;
+
+ }
+
+ }
+
+ public static function legacyCreateKey( $passphrase ) {
+
+ // Generate a random integer
+ $key = mt_rand( 10000, 99999 ) . mt_rand( 10000, 99999 ) . mt_rand( 10000, 99999 ) . mt_rand( 10000, 99999 );
+
+ // Encrypt the key with the passphrase
+ $legacyEncKey = self::legacyEncrypt( $key, $passphrase );
+
+ return $legacyEncKey;
+
+ }
+
+ /**
+ * @brief encrypts content using legacy blowfish system
+ * @param $content the cleartext message you want to encrypt
+ * @param $key the encryption key (optional)
+ * @returns encrypted content
+ *
+ * This function encrypts an content
+ */
+ public static function legacyEncrypt( $content, $passphrase = '' ) {
+
+ $bf = self::getBlowfish( $passphrase );
+
+ return $bf->encrypt( $content );
+
+ }
+
+ /**
+ * @brief decrypts content using legacy blowfish system
+ * @param $content the cleartext message you want to decrypt
+ * @param $key the encryption key (optional)
+ * @returns cleartext content
+ *
+ * This function decrypts an content
+ */
+ public static function legacyDecrypt( $content, $passphrase = '' ) {
+
+ $bf = self::getBlowfish( $passphrase );
+
+ $decrypted = $bf->decrypt( $content );
+
+ $trimmed = rtrim( $decrypted, "\0" );
+
+ return $trimmed;
+
+ }
+
+ public static function legacyKeyRecryptKeyfile( $legacyEncryptedContent, $legacyPassphrase, $publicKey, $newPassphrase ) {
+
+ $decrypted = self::legacyDecrypt( $legacyEncryptedContent, $legacyPassphrase );
+
+ $recrypted = self::keyEncryptKeyfile( $decrypted, $publicKey );
+
+ return $recrypted;
+
+ }
+
+ /**
+ * @brief Re-encryptes a legacy blowfish encrypted file using AES with integrated IV
+ * @param $legacyContent the legacy encrypted content to re-encrypt
+ * @returns cleartext content
+ *
+ * This function decrypts an content
+ */
+ public static function legacyRecrypt( $legacyContent, $legacyPassphrase, $newPassphrase ) {
+
+ # TODO: write me
+
+ }
+
+}
+
+?> \ No newline at end of file
diff --git a/apps/files_encryption/lib/cryptstream.php b/apps/files_encryption/lib/cryptstream.php
deleted file mode 100644
index d516c0c21b2..00000000000
--- a/apps/files_encryption/lib/cryptstream.php
+++ /dev/null
@@ -1,177 +0,0 @@
-<?php
-/**
- * ownCloud
- *
- * @author Robin Appelman
- * @copyright 2011 Robin Appelman icewind1991@gmail.com
- *
- * 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/>.
- *
- */
-
-/**
- * transparently encrypted filestream
- *
- * you can use it as wrapper around an existing stream by setting
- * OC_CryptStream::$sourceStreams['foo']=array('path'=>$path, 'stream'=>$stream)
- * and then fopen('crypt://streams/foo');
- */
-
-class OC_CryptStream{
- public static $sourceStreams=array();
- private $source;
- private $path;
- private $meta=array();//header/meta for source stream
- private $writeCache;
- private $size;
- private static $rootView;
-
- public function stream_open($path, $mode, $options, &$opened_path) {
- if ( ! self::$rootView) {
- self::$rootView=new OC_FilesystemView('');
- }
- $path=str_replace('crypt://', '', $path);
- if (dirname($path)=='streams' and isset(self::$sourceStreams[basename($path)])) {
- $this->source=self::$sourceStreams[basename($path)]['stream'];
- $this->path=self::$sourceStreams[basename($path)]['path'];
- $this->size=self::$sourceStreams[basename($path)]['size'];
- } else {
- $this->path=$path;
- if ($mode=='w' or $mode=='w+' or $mode=='wb' or $mode=='wb+') {
- $this->size=0;
- } else {
- $this->size=self::$rootView->filesize($path, $mode);
- }
- OC_FileProxy::$enabled=false;//disable fileproxies so we can open the source file
- $this->source=self::$rootView->fopen($path, $mode);
- OC_FileProxy::$enabled=true;
- if ( ! is_resource($this->source)) {
- OCP\Util::writeLog('files_encryption', 'failed to open '.$path, OCP\Util::ERROR);
- }
- }
- if (is_resource($this->source)) {
- $this->meta=stream_get_meta_data($this->source);
- }
- return is_resource($this->source);
- }
-
- public function stream_seek($offset, $whence=SEEK_SET) {
- $this->flush();
- fseek($this->source, $offset, $whence);
- }
-
- public function stream_tell() {
- return ftell($this->source);
- }
-
- public function stream_read($count) {
- //$count will always be 8192 https://bugs.php.net/bug.php?id=21641
- //This makes this function a lot simpler but will breake everything the moment it's fixed
- $this->writeCache='';
- if ($count!=8192) {
- OCP\Util::writeLog('files_encryption',
- 'php bug 21641 no longer holds, decryption will not work',
- OCP\Util::FATAL);
- die();
- }
- $pos=ftell($this->source);
- $data=fread($this->source, 8192);
- if (strlen($data)) {
- $result=OC_Crypt::decrypt($data);
- } else {
- $result='';
- }
- $length=$this->size-$pos;
- if ($length<8192) {
- $result=substr($result, 0, $length);
- }
- return $result;
- }
-
- public function stream_write($data) {
- $length=strlen($data);
- $currentPos=ftell($this->source);
- if ($this->writeCache) {
- $data=$this->writeCache.$data;
- $this->writeCache='';
- }
- if ($currentPos%8192!=0) {
- //make sure we always start on a block start
- fseek($this->source, -($currentPos%8192), SEEK_CUR);
- $encryptedBlock=fread($this->source, 8192);
- fseek($this->source, -($currentPos%8192), SEEK_CUR);
- $block=OC_Crypt::decrypt($encryptedBlock);
- $data=substr($block, 0, $currentPos%8192).$data;
- fseek($this->source, -($currentPos%8192), SEEK_CUR);
- }
- $currentPos=ftell($this->source);
- while ($remainingLength=strlen($data)>0) {
- if ($remainingLength<8192) {
- $this->writeCache=$data;
- $data='';
- } else {
- $encrypted=OC_Crypt::encrypt(substr($data, 0, 8192));
- fwrite($this->source, $encrypted);
- $data=substr($data, 8192);
- }
- }
- $this->size=max($this->size, $currentPos+$length);
- return $length;
- }
-
- public function stream_set_option($option, $arg1, $arg2) {
- switch($option) {
- case STREAM_OPTION_BLOCKING:
- stream_set_blocking($this->source, $arg1);
- break;
- case STREAM_OPTION_READ_TIMEOUT:
- stream_set_timeout($this->source, $arg1, $arg2);
- break;
- case STREAM_OPTION_WRITE_BUFFER:
- stream_set_write_buffer($this->source, $arg1, $arg2);
- }
- }
-
- public function stream_stat() {
- return fstat($this->source);
- }
-
- public function stream_lock($mode) {
- flock($this->source, $mode);
- }
-
- public function stream_flush() {
- return fflush($this->source);
- }
-
- public function stream_eof() {
- return feof($this->source);
- }
-
- private function flush() {
- if ($this->writeCache) {
- $encrypted=OC_Crypt::encrypt($this->writeCache);
- fwrite($this->source, $encrypted);
- $this->writeCache='';
- }
- }
-
- public function stream_close() {
- $this->flush();
- if ($this->meta['mode']!='r' and $this->meta['mode']!='rb') {
- OC_FileCache::put($this->path, array('encrypted'=>true, 'size'=>$this->size), '');
- }
- return fclose($this->source);
- }
-}
diff --git a/apps/files_encryption/lib/keymanager.php b/apps/files_encryption/lib/keymanager.php
new file mode 100755
index 00000000000..706e1c2661e
--- /dev/null
+++ b/apps/files_encryption/lib/keymanager.php
@@ -0,0 +1,365 @@
+<?php
+/***
+ * ownCloud
+ *
+ * @author Bjoern Schiessle
+ * @copyright 2012 Bjoern Schiessle <schiessle@owncloud.com>
+ *
+ * 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/>.
+ *
+ */
+
+namespace OCA\Encryption;
+
+/**
+ * @brief Class to manage storage and retrieval of encryption keys
+ * @note Where a method requires a view object, it's root must be '/'
+ */
+class Keymanager {
+
+ # TODO: make all dependencies (including static classes) explicit, such as ocfsview objects, by adding them as method arguments (dependency injection)
+
+ /**
+ * @brief retrieve the ENCRYPTED private key from a user
+ *
+ * @return string private key or false
+ * @note the key returned by this method must be decrypted before use
+ */
+ public static function getPrivateKey( \OC_FilesystemView $view, $user ) {
+
+ $path = '/' . $user . '/' . 'files_encryption' . '/' . $user.'.private.key';
+
+ $key = $view->file_get_contents( $path );
+
+ return $key;
+ }
+
+ /**
+ * @brief retrieve public key for a specified user
+ * @return string public key or false
+ */
+ public static function getPublicKey( \OC_FilesystemView $view, $userId ) {
+
+ return $view->file_get_contents( '/public-keys/' . '/' . $userId . '.public.key' );
+
+ }
+
+ /**
+ * @brief retrieve both keys from a user (private and public)
+ * @return array keys: privateKey, publicKey
+ */
+ public static function getUserKeys( \OC_FilesystemView $view, $userId ) {
+
+ return array(
+ 'publicKey' => self::getPublicKey( $view, $userId )
+ , 'privateKey' => self::getPrivateKey( $view, $userId )
+ );
+
+ }
+
+ /**
+ * @brief Retrieve public keys of all users with access to a file
+ * @param string $path Path to file
+ * @return array of public keys for the given file
+ * @note Checks that the sharing app is enabled should be performed
+ * by client code, that isn't checked here
+ */
+ public static function getPublicKeys( \OC_FilesystemView $view, $userId, $filePath ) {
+
+ $path = ltrim( $path, '/' );
+
+ $filepath = '/' . $userId . '/files/' . $filePath;
+
+ // Check if sharing is enabled
+ if ( OC_App::isEnabled( 'files_sharing' ) ) {
+
+// // Check if file was shared with other users
+// $query = \OC_DB::prepare( "
+// SELECT
+// uid_owner
+// , source
+// , target
+// , uid_shared_with
+// FROM
+// `*PREFIX*sharing`
+// WHERE
+// ( target = ? AND uid_shared_with = ? )
+// OR source = ?
+// " );
+//
+// $result = $query->execute( array ( $filepath, $userId, $filepath ) );
+//
+// $users = array();
+//
+// if ( $row = $result->fetchRow() )
+// {
+// $source = $row['source'];
+// $owner = $row['uid_owner'];
+// $users[] = $owner;
+// // get the uids of all user with access to the file
+// $query = \OC_DB::prepare( "SELECT source, uid_shared_with FROM `*PREFIX*sharing` WHERE source = ?" );
+// $result = $query->execute( array ($source));
+// while ( ($row = $result->fetchRow()) ) {
+// $users[] = $row['uid_shared_with'];
+//
+// }
+//
+// }
+
+ } else {
+
+ // check if it is a file owned by the user and not shared at all
+ $userview = new \OC_FilesystemView( '/'.$userId.'/files/' );
+
+ if ( $userview->file_exists( $path ) ) {
+
+ $users[] = $userId;
+
+ }
+
+ }
+
+ $view = new \OC_FilesystemView( '/public-keys/' );
+
+ $keylist = array();
+
+ $count = 0;
+
+ foreach ( $users as $user ) {
+
+ $keylist['key'.++$count] = $view->file_get_contents( $user.'.public.key' );
+
+ }
+
+ return $keylist;
+
+ }
+
+ /**
+ * @brief retrieve keyfile for an encrypted file
+ * @param string file name
+ * @return string file key or false
+ * @note The keyfile returned is asymmetrically encrypted. Decryption
+ * of the keyfile must be performed by client code
+ */
+ public static function getFileKey( \OC_FilesystemView $view, $userId, $filePath ) {
+
+ $filePath_f = ltrim( $filePath, '/' );
+
+// // update $keypath and $userId if path point to a file shared by someone else
+// $query = \OC_DB::prepare( "SELECT uid_owner, source, target FROM `*PREFIX*sharing` WHERE target = ? AND uid_shared_with = ?" );
+//
+// $result = $query->execute( array ('/'.$userId.'/files/'.$keypath, $userId));
+//
+// if ($row = $result->fetchRow()) {
+//
+// $keypath = $row['source'];
+// $keypath_parts = explode( '/', $keypath );
+// $userId = $keypath_parts[1];
+// $keypath = str_replace( '/' . $userId . '/files/', '', $keypath );
+//
+// }
+
+ return $view->file_get_contents( '/' . $userId . '/files_encryption/keyfiles/' . $filePath_f . '.key' );
+
+ }
+
+ /**
+ * @brief retrieve file encryption key
+ *
+ * @param string file name
+ * @return string file key or false
+ */
+ public static function deleteFileKey( $path, $staticUserClass = 'OCP\User' ) {
+
+ $keypath = ltrim( $path, '/' );
+ $user = $staticUserClass::getUser();
+
+ // update $keypath and $user if path point to a file shared by someone else
+// $query = \OC_DB::prepare( "SELECT uid_owner, source, target FROM `*PREFIX*sharing` WHERE target = ? AND uid_shared_with = ?" );
+//
+// $result = $query->execute( array ('/'.$user.'/files/'.$keypath, $user));
+//
+// if ($row = $result->fetchRow()) {
+//
+// $keypath = $row['source'];
+// $keypath_parts = explode( '/', $keypath );
+// $user = $keypath_parts[1];
+// $keypath = str_replace( '/' . $user . '/files/', '', $keypath );
+//
+// }
+
+ $view = new \OC_FilesystemView('/'.$user.'/files_encryption/keyfiles/');
+
+ return $view->unlink( $keypath . '.key' );
+
+ }
+
+ /**
+ * @brief store private key from the user
+ * @param string key
+ * @return bool
+ * @note Encryption of the private key must be performed by client code
+ * as no encryption takes place here
+ */
+ public static function setPrivateKey( $key ) {
+
+ $user = \OCP\User::getUser();
+
+ $view = new \OC_FilesystemView( '/' . $user . '/files_encryption' );
+
+ \OC_FileProxy::$enabled = false;
+
+ if ( !$view->file_exists( '' ) ) $view->mkdir( '' );
+
+ return $view->file_put_contents( $user . '.private.key', $key );
+
+ \OC_FileProxy::$enabled = true;
+
+ }
+
+ /**
+ * @brief store private keys from the user
+ *
+ * @param string privatekey
+ * @param string publickey
+ * @return bool true/false
+ */
+ public static function setUserKeys($privatekey, $publickey) {
+
+ return (self::setPrivateKey($privatekey) && self::setPublicKey($publickey));
+
+ }
+
+ /**
+ * @brief store public key of the user
+ *
+ * @param string key
+ * @return bool true/false
+ */
+ public static function setPublicKey( $key ) {
+
+ $view = new \OC_FilesystemView( '/public-keys' );
+
+ \OC_FileProxy::$enabled = false;
+
+ if ( !$view->file_exists( '' ) ) $view->mkdir( '' );
+
+ return $view->file_put_contents( \OCP\User::getUser() . '.public.key', $key );
+
+ \OC_FileProxy::$enabled = true;
+
+ }
+
+ /**
+ * @brief store file encryption key
+ *
+ * @param string $path relative path of the file, including filename
+ * @param string $key
+ * @return bool true/false
+ * @note The keyfile is not encrypted here. Client code must
+ * asymmetrically encrypt the keyfile before passing it to this method
+ */
+ public static function setFileKey( $path, $key, $view = Null, $dbClassName = '\OC_DB') {
+
+ $targetPath = ltrim( $path, '/' );
+ $user = \OCP\User::getUser();
+
+// // update $keytarget and $user if key belongs to a file shared by someone else
+// $query = $dbClassName::prepare( "SELECT uid_owner, source, target FROM `*PREFIX*sharing` WHERE target = ? AND uid_shared_with = ?" );
+//
+// $result = $query->execute( array ( '/'.$user.'/files/'.$targetPath, $user ) );
+//
+// if ( $row = $result->fetchRow( ) ) {
+//
+// $targetPath = $row['source'];
+//
+// $targetPath_parts = explode( '/', $targetPath );
+//
+// $user = $targetPath_parts[1];
+//
+// $rootview = new \OC_FilesystemView( '/' );
+//
+// if ( ! $rootview->is_writable( $targetPath ) ) {
+//
+// \OC_Log::write( 'Encryption library', "File Key not updated because you don't have write access for the corresponding file", \OC_Log::ERROR );
+//
+// return false;
+//
+// }
+//
+// $targetPath = str_replace( '/'.$user.'/files/', '', $targetPath );
+//
+// //TODO: check for write permission on shared file once the new sharing API is in place
+//
+// }
+
+ $path_parts = pathinfo( $targetPath );
+
+ if ( !$view ) {
+
+ $view = new \OC_FilesystemView( '/' );
+
+ }
+
+ $view->chroot( '/' . $user . '/files_encryption/keyfiles' );
+
+ // If the file resides within a subdirectory, create it
+ if (
+ isset( $path_parts['dirname'] )
+ && ! $view->file_exists( $path_parts['dirname'] )
+ ) {
+
+ $view->mkdir( $path_parts['dirname'] );
+
+ }
+
+ // Save the keyfile in parallel directory
+ return $view->file_put_contents( '/' . $targetPath . '.key', $key );
+
+ }
+
+ /**
+ * @brief change password of private encryption key
+ *
+ * @param string $oldpasswd old password
+ * @param string $newpasswd new password
+ * @return bool true/false
+ */
+ public static function changePasswd($oldpasswd, $newpasswd) {
+
+ if ( \OCP\User::checkPassword(\OCP\User::getUser(), $newpasswd) ) {
+ return Crypt::changekeypasscode($oldpasswd, $newpasswd);
+ }
+ return false;
+
+ }
+
+ /**
+ * @brief Fetch the legacy encryption key from user files
+ * @param string $login used to locate the legacy key
+ * @param string $passphrase used to decrypt the legacy key
+ * @return true / false
+ *
+ * if the key is left out, the default handeler will be used
+ */
+ public function getLegacyKey() {
+
+ $user = \OCP\User::getUser();
+ $view = new \OC_FilesystemView( '/' . $user );
+ return $view->file_get_contents( 'encryption.key' );
+
+ }
+
+} \ No newline at end of file
diff --git a/apps/files_encryption/lib/proxy.php b/apps/files_encryption/lib/proxy.php
index e8dbd95c29d..52f47dba294 100644
--- a/apps/files_encryption/lib/proxy.php
+++ b/apps/files_encryption/lib/proxy.php
@@ -3,8 +3,9 @@
/**
* ownCloud
*
-* @author Robin Appelman
-* @copyright 2011 Robin Appelman icewind1991@gmail.com
+* @author Sam Tuke, Robin Appelman
+* @copyright 2012 Sam Tuke samtuke@owncloud.com, Robin Appelman
+* icewind1991@gmail.com
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
@@ -21,111 +22,267 @@
*
*/
-/**
- * transparent encryption
- */
+namespace OCA\Encryption;
-class OC_FileProxy_Encryption extends OC_FileProxy{
- private static $blackList=null; //mimetypes blacklisted from encryption
- private static $enableEncryption=null;
+class Proxy extends \OC_FileProxy {
+ private static $blackList = null; //mimetypes blacklisted from encryption
+
+ private static $enableEncryption = null;
+
/**
- * check if a file should be encrypted during write
+ * Check if a file requires encryption
* @param string $path
* @return bool
+ *
+ * Tests if server side encryption is enabled, and file is allowed by blacklists
*/
- private static function shouldEncrypt($path) {
- if (is_null(self::$enableEncryption)) {
- self::$enableEncryption=(OCP\Config::getAppValue('files_encryption', 'enable_encryption', 'true')=='true');
+ private static function shouldEncrypt( $path ) {
+
+ if ( is_null( self::$enableEncryption ) ) {
+
+ if (
+ \OCP\Config::getAppValue( 'files_encryption', 'enable_encryption', 'true' ) == 'true'
+ && Crypt::mode() == 'server'
+ ) {
+
+ self::$enableEncryption = true;
+
+ } else {
+
+ self::$enableEncryption = false;
+
+ }
+
}
- if ( ! self::$enableEncryption) {
+
+ if ( !self::$enableEncryption ) {
+
return false;
+
}
- if (is_null(self::$blackList)) {
- self::$blackList=explode(',', OCP\Config::getAppValue('files_encryption',
- 'type_blacklist',
- 'jpg,png,jpeg,avi,mpg,mpeg,mkv,mp3,oga,ogv,ogg'));
+
+ if ( is_null(self::$blackList ) ) {
+
+ self::$blackList = explode(',', \OCP\Config::getAppValue( 'files_encryption','type_blacklist','jpg,png,jpeg,avi,mpg,mpeg,mkv,mp3,oga,ogv,ogg' ) );
+
}
- if (self::isEncrypted($path)) {
+
+ if ( Crypt::isEncryptedContent( $path ) ) {
+
return true;
+
}
- $extension=substr($path, strrpos($path, '.')+1);
- if (array_search($extension, self::$blackList)===false) {
+
+ $extension = substr( $path, strrpos( $path,'.' ) +1 );
+
+ if ( array_search( $extension, self::$blackList ) === false ){
+
return true;
+
}
+
+ return false;
}
-
- /**
- * check if a file is encrypted
- * @param string $path
- * @return bool
- */
- private static function isEncrypted($path) {
- $metadata=OC_FileCache_Cached::get($path, '');
- return isset($metadata['encrypted']) and (bool)$metadata['encrypted'];
- }
-
- public function preFile_put_contents($path,&$data) {
- if (self::shouldEncrypt($path)) {
- if ( ! is_resource($data)) {//stream put contents should have been converter to fopen
- $size=strlen($data);
- $data=OC_Crypt::blockEncrypt($data);
- OC_FileCache::put($path, array('encrypted'=>true,'size'=>$size), '');
+
+ public function preFile_put_contents( $path, &$data ) {
+
+ if ( self::shouldEncrypt( $path ) ) {
+
+ if ( !is_resource( $data ) ) { //stream put contents should have been converted to fopen
+
+ $userId = \OCP\USER::getUser();
+
+ $rootView = new \OC_FilesystemView( '/' );
+
+ // Set the filesize for userland, before encrypting
+ $size = strlen( $data );
+
+ // Disable encryption proxy to prevent recursive calls
+ \OC_FileProxy::$enabled = false;
+
+ // Encrypt plain data and fetch key
+ $encrypted = Crypt::keyEncryptKeyfile( $data, Keymanager::getPublicKey( $rootView, $userId ) );
+
+ // Replace plain content with encrypted content by reference
+ $data = $encrypted['data'];
+
+ $filePath = explode( '/', $path );
+
+ $filePath = array_slice( $filePath, 3 );
+
+ $filePath = '/' . implode( '/', $filePath );
+
+ # TODO: make keyfile dir dynamic from app config
+ $view = new \OC_FilesystemView( '/' . $userId . '/files_encryption/keyfiles' );
+
+ // Save keyfile for newly encrypted file in parallel directory tree
+ Keymanager::setFileKey( $filePath, $encrypted['key'], $view, '\OC_DB' );
+
+ // Update the file cache with file info
+ \OC_FileCache::put( $path, array( 'encrypted'=>true, 'size' => $size ), '' );
+
+ // Re-enable proxy - our work is done
+ \OC_FileProxy::$enabled = true;
+
}
}
+
}
+
+ /**
+ * @param string $path Path of file from which has been read
+ * @param string $data Data that has been read from file
+ */
+ public function postFile_get_contents( $path, $data ) {
+
+ # TODO: Use dependency injection to add required args for view and user etc. to this method
+
+ // Disable encryption proxy to prevent recursive calls
+ \OC_FileProxy::$enabled = false;
+
+ // If data is a catfile
+ if (
+ Crypt::mode() == 'server'
+ && Crypt::isEncryptedContent( $data )
+ ) {
+
+ $split = explode( '/', $path );
+
+ $filePath = array_slice( $split, 3 );
+
+ $filePath = '/' . implode( '/', $filePath );
+
+ //$cached = \OC_FileCache_Cached::get( $path, '' );
+
+ $view = new \OC_FilesystemView( '' );
+
+ $userId = \OCP\USER::getUser();
+
+ $encryptedKeyfile = Keymanager::getFileKey( $view, $userId, $filePath );
- public function postFile_get_contents($path, $data) {
- if (self::isEncrypted($path)) {
- $cached=OC_FileCache_Cached::get($path, '');
- $data=OC_Crypt::blockDecrypt($data, '', $cached['size']);
+ $session = new Session();
+
+ $decrypted = Crypt::keyDecryptKeyfile( $data, $encryptedKeyfile, $session->getPrivateKey( $split[1] ) );
+
+ } elseif (
+ Crypt::mode() == 'server'
+ && isset( $_SESSION['legacyenckey'] )
+ && Crypt::isEncryptedMeta( $path )
+ ) {
+
+ $decrypted = Crypt::legacyDecrypt( $data, $_SESSION['legacyenckey'] );
+
}
- return $data;
+
+ \OC_FileProxy::$enabled = true;
+
+ if ( ! isset( $decrypted ) ) {
+
+ $decrypted = $data;
+
+ }
+
+ return $decrypted;
+
}
-
- public function postFopen($path,&$result) {
- if ( ! $result) {
+
+ public function postFopen( $path, &$result ){
+
+ if ( !$result ) {
+
return $result;
+
}
- $meta=stream_get_meta_data($result);
- if (self::isEncrypted($path)) {
- fclose($result);
- $result=fopen('crypt://'.$path, $meta['mode']);
- } elseif (self::shouldEncrypt($path) and $meta['mode']!='r' and $meta['mode']!='rb') {
- if (OC_Filesystem::file_exists($path) and OC_Filesystem::filesize($path)>0) {
- //first encrypt the target file so we don't end up with a half encrypted file
- OCP\Util::writeLog('files_encryption', 'Decrypting '.$path.' before writing', OCP\Util::DEBUG);
- $tmp=fopen('php://temp');
- OCP\Files::streamCopy($result, $tmp);
- fclose($result);
- OC_Filesystem::file_put_contents($path, $tmp);
- fclose($tmp);
+
+ // Reformat path for use with OC_FSV
+ $path_split = explode( '/', $path );
+ $path_f = implode( array_slice( $path_split, 3 ) );
+
+ // Disable encryption proxy to prevent recursive calls
+ \OC_FileProxy::$enabled = false;
+
+ $meta = stream_get_meta_data( $result );
+
+ $view = new \OC_FilesystemView( '' );
+
+ $util = new Util( $view, \OCP\USER::getUser());
+
+ // If file is already encrypted, decrypt using crypto protocol
+ if (
+ Crypt::mode() == 'server'
+ && $util->isEncryptedPath( $path )
+ ) {
+
+ // Close the original encrypted file
+ fclose( $result );
+
+ // Open the file using the crypto stream wrapper
+ // protocol and let it do the decryption work instead
+ $result = fopen( 'crypt://' . $path_f, $meta['mode'] );
+
+
+ } elseif (
+ self::shouldEncrypt( $path )
+ and $meta ['mode'] != 'r'
+ and $meta['mode'] != 'rb'
+ ) {
+ // If the file is not yet encrypted, but should be
+ // encrypted when it's saved (it's not read only)
+
+ // NOTE: this is the case for new files saved via WebDAV
+
+ if (
+ $view->file_exists( $path )
+ and $view->filesize( $path ) > 0
+ ) {
+ $x = $view->file_get_contents( $path );
+
+ $tmp = tmpfile();
+
+// // Make a temporary copy of the original file
+// \OCP\Files::streamCopy( $result, $tmp );
+//
+// // Close the original stream, we'll return another one
+// fclose( $result );
+//
+// $view->file_put_contents( $path_f, $tmp );
+//
+// fclose( $tmp );
+
}
- $result=fopen('crypt://'.$path, $meta['mode']);
+
+ $result = fopen( 'crypt://'.$path_f, $meta['mode'] );
+
}
+
+ // Re-enable the proxy
+ \OC_FileProxy::$enabled = true;
+
return $result;
+
}
- public function postGetMimeType($path, $mime) {
- if (self::isEncrypted($path)) {
- $mime=OCP\Files::getMimeType('crypt://'.$path, 'w');
+ public function postGetMimeType($path,$mime){
+ if( Crypt::isEncryptedContent($path)){
+ $mime = \OCP\Files::getMimeType('crypt://'.$path,'w');
}
return $mime;
}
- public function postStat($path, $data) {
- if (self::isEncrypted($path)) {
- $cached=OC_FileCache_Cached::get($path, '');
+ public function postStat($path,$data){
+ if( Crypt::isEncryptedContent($path)){
+ $cached= \OC_FileCache_Cached::get($path,'');
$data['size']=$cached['size'];
}
return $data;
}
- public function postFileSize($path, $size) {
- if (self::isEncrypted($path)) {
- $cached=OC_FileCache_Cached::get($path, '');
+ public function postFileSize($path,$size){
+ if( Crypt::isEncryptedContent($path)){
+ $cached = \OC_FileCache_Cached::get($path,'');
return $cached['size'];
- } else {
+ }else{
return $size;
}
}
diff --git a/apps/files_versions/ajax/expireAll.php b/apps/files_encryption/lib/session.php
index 5c95885ffbd..85d533fde7a 100644
--- a/apps/files_versions/ajax/expireAll.php
+++ b/apps/files_encryption/lib/session.php
@@ -1,7 +1,6 @@
<?php
-
/**
- * ownCloud - user_migrate
+ * ownCloud
*
* @author Sam Tuke
* @copyright 2012 Sam Tuke samtuke@owncloud.com
@@ -21,24 +20,47 @@
*
*/
-// TODO: Allow admins to expire versions of any user
-// TODO: Provide feedback as to how many versions were deleted
-
-// Check user and app status
-OCP\JSON::checkLoggedIn();
-OCP\App::checkAppEnabled('files_versions');
-OCP\JSON::callCheck();
-
-$versions = new OCA_Versions\Storage();
+namespace OCA\Encryption;
-if( $versions->expireAll() ) {
-
- OCP\JSON::success();
- die();
+/**
+ * Class for handling encryption related session data
+ */
-} else {
+class Session {
- OCP\JSON::error();
- die();
+ /**
+ * @brief Sets user id for session and triggers emit
+ * @return bool
+ *
+ */
+ public function setPrivateKey( $privateKey, $userId ) {
+
+ $_SESSION['privateKey'] = $privateKey;
+
+ return true;
+
+ }
+
+ /**
+ * @brief Gets user id for session and triggers emit
+ * @returns string $privateKey The user's plaintext private key
+ *
+ */
+ public function getPrivateKey( $userId ) {
+
+ if (
+ isset( $_SESSION['privateKey'] )
+ && !empty( $_SESSION['privateKey'] )
+ ) {
+
+ return $_SESSION['privateKey'];
+
+ } else {
+
+ return false;
+
+ }
+
+ }
} \ No newline at end of file
diff --git a/apps/files_encryption/lib/stream.php b/apps/files_encryption/lib/stream.php
new file mode 100644
index 00000000000..f482e2d75ac
--- /dev/null
+++ b/apps/files_encryption/lib/stream.php
@@ -0,0 +1,464 @@
+<?php
+/**
+ * ownCloud
+ *
+ * @author Robin Appelman
+ * @copyright 2012 Sam Tuke <samtuke@owncloud.com>, 2011 Robin Appelman
+ * <icewind1991@gmail.com>
+ *
+ * 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/>.
+ *
+ */
+
+/**
+ * transparently encrypted filestream
+ *
+ * you can use it as wrapper around an existing stream by setting CryptStream::$sourceStreams['foo']=array('path'=>$path,'stream'=>$stream)
+ * and then fopen('crypt://streams/foo');
+ */
+
+namespace OCA\Encryption;
+
+/**
+ * @brief Provides 'crypt://' stream wrapper protocol.
+ * @note We use a stream wrapper because it is the most secure way to handle
+ * decrypted content transfers. There is no safe way to decrypt the entire file
+ * somewhere on the server, so we have to encrypt and decrypt blocks on the fly.
+ * @note Paths used with this protocol MUST BE RELATIVE. Use URLs like:
+ * crypt://filename, or crypt://subdirectory/filename, NOT
+ * crypt:///home/user/owncloud/data. Otherwise keyfiles will be put in
+ * [owncloud]/data/user/files_encryption/keyfiles/home/user/owncloud/data and
+ * will not be accessible to other methods.
+ * @note Data read and written must always be 8192 bytes long, as this is the
+ * buffer size used internally by PHP. The encryption process makes the input
+ * data longer, and input is chunked into smaller pieces in order to result in
+ * a 8192 encrypted block size.
+ */
+class Stream {
+
+ public static $sourceStreams = array();
+
+ # TODO: make all below properties private again once unit testing is configured correctly
+ public $rawPath; // The raw path received by stream_open
+ public $path_f; // The raw path formatted to include username and data directory
+ private $userId;
+ private $handle; // Resource returned by fopen
+ private $path;
+ private $readBuffer; // For streams that dont support seeking
+ private $meta = array(); // Header / meta for source stream
+ private $count;
+ private $writeCache;
+ public $size;
+ private $publicKey;
+ private $keyfile;
+ private $encKeyfile;
+ private static $view; // a fsview object set to user dir
+ private $rootView; // a fsview object set to '/'
+
+ public function stream_open( $path, $mode, $options, &$opened_path ) {
+
+ // Get access to filesystem via filesystemview object
+ if ( !self::$view ) {
+
+ self::$view = new \OC_FilesystemView( $this->userId . '/' );
+
+ }
+
+ // Set rootview object if necessary
+ if ( ! $this->rootView ) {
+
+ $this->rootView = new \OC_FilesystemView( $this->userId . '/' );
+
+ }
+
+ $this->userId = \OCP\User::getUser();
+
+ // Get the bare file path
+ $path = str_replace( 'crypt://', '', $path );
+
+ $this->rawPath = $path;
+
+ $this->path_f = $this->userId . '/files/' . $path;
+
+ if (
+ dirname( $path ) == 'streams'
+ and isset( self::$sourceStreams[basename( $path )] )
+ ) {
+
+ // Is this just for unit testing purposes?
+
+ $this->handle = self::$sourceStreams[basename( $path )]['stream'];
+
+ $this->path = self::$sourceStreams[basename( $path )]['path'];
+
+ $this->size = self::$sourceStreams[basename( $path )]['size'];
+
+ } else {
+
+ if (
+ $mode == 'w'
+ or $mode == 'w+'
+ or $mode == 'wb'
+ or $mode == 'wb+'
+ ) {
+
+ $this->size = 0;
+
+ } else {
+
+
+
+ $this->size = self::$view->filesize( $this->path_f, $mode );
+
+ //$this->size = filesize( $path );
+
+ }
+
+ // Disable fileproxies so we can open the source file without recursive encryption
+ \OC_FileProxy::$enabled = false;
+
+ //$this->handle = fopen( $path, $mode );
+
+ $this->handle = self::$view->fopen( $this->path_f, $mode );
+
+ \OC_FileProxy::$enabled = true;
+
+ if ( !is_resource( $this->handle ) ) {
+
+ \OCP\Util::writeLog( 'files_encryption', 'failed to open '.$path, \OCP\Util::ERROR );
+
+ }
+
+ }
+
+ if ( is_resource( $this->handle ) ) {
+
+ $this->meta = stream_get_meta_data( $this->handle );
+
+ }
+
+ return is_resource( $this->handle );
+
+ }
+
+ public function stream_seek( $offset, $whence = SEEK_SET ) {
+
+ $this->flush();
+
+ fseek( $this->handle, $offset, $whence );
+
+ }
+
+ public function stream_tell() {
+ return ftell($this->handle);
+ }
+
+ public function stream_read( $count ) {
+
+ $this->writeCache = '';
+
+ if ( $count != 8192 ) {
+
+ // $count will always be 8192 https://bugs.php.net/bug.php?id=21641
+ // This makes this function a lot simpler, but will break this class if the above 'bug' gets 'fixed'
+ \OCP\Util::writeLog( 'files_encryption', 'PHP "bug" 21641 no longer holds, decryption system requires refactoring', OCP\Util::FATAL );
+
+ die();
+
+ }
+
+// $pos = ftell( $this->handle );
+//
+ // Get the data from the file handle
+ $data = fread( $this->handle, 8192 );
+
+ if ( strlen( $data ) ) {
+
+ $this->getKey();
+
+ $result = Crypt::symmetricDecryptFileContent( $data, $this->keyfile );
+
+ } else {
+
+ $result = '';
+
+ }
+
+// $length = $this->size - $pos;
+//
+// if ( $length < 8192 ) {
+//
+// $result = substr( $result, 0, $length );
+//
+// }
+
+ return $result;
+
+ }
+
+ /**
+ * @brief Encrypt and pad data ready for writting to disk
+ * @param string $plainData data to be encrypted
+ * @param string $key key to use for encryption
+ * @return encrypted data on success, false on failure
+ */
+ public function preWriteEncrypt( $plainData, $key ) {
+
+ // Encrypt data to 'catfile', which includes IV
+ if ( $encrypted = Crypt::symmetricEncryptFileContent( $plainData, $key ) ) {
+
+ return $encrypted;
+
+ } else {
+
+ return false;
+
+ }
+
+ }
+
+ /**
+ * @brief Get the keyfile for the current file, generate one if necessary
+ * @param bool $generate if true, a new key will be generated if none can be found
+ * @return bool true on key found and set, false on key not found and new key generated and set
+ */
+ public function getKey() {
+
+ // If a keyfile already exists for a file named identically to file to be written
+ if ( self::$view->file_exists( $this->userId . '/'. 'files_encryption' . '/' . 'keyfiles' . '/' . $this->rawPath . '.key' ) ) {
+
+ # TODO: add error handling for when file exists but no keyfile
+
+ // Fetch existing keyfile
+ $this->encKeyfile = Keymanager::getFileKey( $this->rootView, $this->userId, $this->rawPath );
+
+ $this->getUser();
+
+ $session = new Session();
+
+ $privateKey = $session->getPrivateKey( $this->userId );
+
+ $this->keyfile = Crypt::keyDecrypt( $this->encKeyfile, $privateKey );
+
+ return true;
+
+ } else {
+
+ return false;
+
+ }
+
+ }
+
+ public function getuser() {
+
+ // Only get the user again if it isn't already set
+ if ( empty( $this->userId ) ) {
+
+ # TODO: Move this user call out of here - it belongs elsewhere
+ $this->userId = \OCP\User::getUser();
+
+ }
+
+ # TODO: Add a method for getting the user in case OCP\User::
+ # getUser() doesn't work (can that scenario ever occur?)
+
+ }
+
+ /**
+ * @brief Handle plain data from the stream, and write it in 8192 byte blocks
+ * @param string $data data to be written to disk
+ * @note the data will be written to the path stored in the stream handle, set in stream_open()
+ * @note $data is only ever be a maximum of 8192 bytes long. This is set by PHP internally. stream_write() is called multiple times in a loop on data larger than 8192 bytes
+ * @note Because the encryption process used increases the length of $data, a writeCache is used to carry over data which would not fit in the required block size
+ * @note Padding is added to each encrypted block to ensure that the resulting block is exactly 8192 bytes. This is removed during stream_read
+ * @note PHP automatically updates the file pointer after writing data to reflect it's length. There is generally no need to update the poitner manually using fseek
+ */
+ public function stream_write( $data ) {
+
+ // Disable the file proxies so that encryption is not automatically attempted when the file is written to disk - we are handling that separately here and we don't want to get into an infinite loop
+ \OC_FileProxy::$enabled = false;
+
+ // Get the length of the unencrypted data that we are handling
+ $length = strlen( $data );
+
+ // So far this round, no data has been written
+ $written = 0;
+
+ // Find out where we are up to in the writing of data to the file
+ $pointer = ftell( $this->handle );
+
+ // Make sure the userId is set
+ $this->getuser();
+
+ // Get / generate the keyfile for the file we're handling
+ // If we're writing a new file (not overwriting an existing one), save the newly generated keyfile
+ if ( ! $this->getKey() ) {
+
+ $this->keyfile = Crypt::generateKey();
+
+ $this->publicKey = Keymanager::getPublicKey( $this->rootView, $this->userId );
+
+ $this->encKeyfile = Crypt::keyEncrypt( $this->keyfile, $this->publicKey );
+
+ // Save the new encrypted file key
+ Keymanager::setFileKey( $this->rawPath, $this->encKeyfile, new \OC_FilesystemView( '/' ) );
+
+ # TODO: move this new OCFSV out of here some how, use DI
+
+ }
+
+ // If extra data is left over from the last round, make sure it is integrated into the next 6126 / 8192 block
+ if ( $this->writeCache ) {
+
+ // Concat writeCache to start of $data
+ $data = $this->writeCache . $data;
+
+ // Clear the write cache, ready for resuse - it has been flushed and its old contents processed
+ $this->writeCache = '';
+
+ }
+//
+// // Make sure we always start on a block start
+ if ( 0 != ( $pointer % 8192 ) ) { // if the current positoin of file indicator is not aligned to a 8192 byte block, fix it so that it is
+
+// fseek( $this->handle, - ( $pointer % 8192 ), SEEK_CUR );
+//
+// $pointer = ftell( $this->handle );
+//
+// $unencryptedNewBlock = fread( $this->handle, 8192 );
+//
+// fseek( $this->handle, - ( $currentPos % 8192 ), SEEK_CUR );
+//
+// $block = Crypt::symmetricDecryptFileContent( $unencryptedNewBlock, $this->keyfile );
+//
+// $x = substr( $block, 0, $currentPos % 8192 );
+//
+// $data = $x . $data;
+//
+// fseek( $this->handle, - ( $currentPos % 8192 ), SEEK_CUR );
+//
+ }
+
+// $currentPos = ftell( $this->handle );
+
+// // While there still remains somed data to be processed & written
+ while( strlen( $data ) > 0 ) {
+//
+// // Remaining length for this iteration, not of the entire file (may be greater than 8192 bytes)
+// $remainingLength = strlen( $data );
+//
+// // If data remaining to be written is less than the size of 1 6126 byte block
+ if ( strlen( $data ) < 6126 ) {
+
+ // Set writeCache to contents of $data
+ // The writeCache will be carried over to the next write round, and added to the start of $data to ensure that written blocks are always the correct length. If there is still data in writeCache after the writing round has finished, then the data will be written to disk by $this->flush().
+ $this->writeCache = $data;
+
+ // Clear $data ready for next round
+ $data = '';
+//
+ } else {
+
+ // Read the chunk from the start of $data
+ $chunk = substr( $data, 0, 6126 );
+
+ $encrypted = $this->preWriteEncrypt( $chunk, $this->keyfile );
+
+ // Write the data chunk to disk. This will be addended to the last data chunk if the file being handled totals more than 6126 bytes
+ fwrite( $this->handle, $encrypted );
+
+ $writtenLen = strlen( $encrypted );
+ //fseek( $this->handle, $writtenLen, SEEK_CUR );
+
+ // Remove the chunk we just processed from $data, leaving only unprocessed data in $data var, for handling on the next round
+ $data = substr( $data, 6126 );
+
+ }
+
+ }
+
+ $this->size = max( $this->size, $pointer + $length );
+
+ return $length;
+
+ }
+
+
+ public function stream_set_option($option,$arg1,$arg2) {
+ switch($option) {
+ case STREAM_OPTION_BLOCKING:
+ stream_set_blocking($this->handle,$arg1);
+ break;
+ case STREAM_OPTION_READ_TIMEOUT:
+ stream_set_timeout($this->handle,$arg1,$arg2);
+ break;
+ case STREAM_OPTION_WRITE_BUFFER:
+ stream_set_write_buffer($this->handle,$arg1,$arg2);
+ }
+ }
+
+ public function stream_stat() {
+ return fstat($this->handle);
+ }
+
+ public function stream_lock($mode) {
+ flock($this->handle,$mode);
+ }
+
+ public function stream_flush() {
+
+ return fflush($this->handle); // Not a typo: http://php.net/manual/en/function.fflush.php
+
+ }
+
+ public function stream_eof() {
+ return feof($this->handle);
+ }
+
+ private function flush() {
+
+ if ( $this->writeCache ) {
+
+ // Set keyfile property for file in question
+ $this->getKey();
+
+ $encrypted = $this->preWriteEncrypt( $this->writeCache, $this->keyfile );
+
+ fwrite( $this->handle, $encrypted );
+
+ $this->writeCache = '';
+
+ }
+
+ }
+
+ public function stream_close() {
+
+ $this->flush();
+
+ if (
+ $this->meta['mode']!='r'
+ and $this->meta['mode']!='rb'
+ ) {
+
+ \OC_FileCache::put( $this->path, array( 'encrypted' => true, 'size' => $this->size ), '' );
+
+ }
+
+ return fclose( $this->handle );
+
+ }
+
+}
diff --git a/apps/files_encryption/lib/util.php b/apps/files_encryption/lib/util.php
new file mode 100644
index 00000000000..cd46d23108a
--- /dev/null
+++ b/apps/files_encryption/lib/util.php
@@ -0,0 +1,330 @@
+<?php
+/**
+ * ownCloud
+ *
+ * @author Sam Tuke, Frank Karlitschek
+ * @copyright 2012 Sam Tuke samtuke@owncloud.com,
+ * 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/>.
+ *
+ */
+
+// Todo:
+// - Crypt/decrypt button in the userinterface
+// - Setting if crypto should be on by default
+// - Add a setting "Don´t encrypt files larger than xx because of performance reasons"
+// - Transparent decrypt/encrypt in filesystem.php. Autodetect if a file is encrypted (.encrypted extension)
+// - Don't use a password directly as encryption key. but a key which is stored on the server and encrypted with the user password. -> password change faster
+// - IMPORTANT! Check if the block lenght of the encrypted data stays the same
+
+namespace OCA\Encryption;
+
+/**
+ * @brief Class for utilities relating to encrypted file storage system
+ * @param $view OC_FilesystemView object, expected to have OC '/' as root path
+ * @param $client flag indicating status of client side encryption. Currently
+ * unused, likely to become obsolete shortly
+ */
+
+class Util {
+
+
+ # Web UI:
+
+ ## DONE: files created via web ui are encrypted
+ ## DONE: file created & encrypted via web ui are readable in web ui
+ ## DONE: file created & encrypted via web ui are readable via webdav
+
+
+ # WebDAV:
+
+ ## DONE: new data filled files added via webdav get encrypted
+ ## DONE: new data filled files added via webdav are readable via webdav
+ ## DONE: reading unencrypted files when encryption is enabled works via webdav
+ ## DONE: files created & encrypted via web ui are readable via webdav
+
+
+ # Legacy support:
+
+ ## DONE: add method to check if file is encrypted using new system
+ ## DONE: add method to check if file is encrypted using old system
+ ## DONE: add method to fetch legacy key
+ ## DONE: add method to decrypt legacy encrypted data
+
+ ## TODO: add method to encrypt all user files using new system
+ ## TODO: add method to decrypt all user files using new system
+ ## TODO: add method to encrypt all user files using old system
+ ## TODO: add method to decrypt all user files using old system
+
+
+ # Admin UI:
+
+ ## DONE: changing user password also changes encryption passphrase
+
+ ## TODO: add support for optional recovery in case of lost passphrase / keys
+ ## TODO: add admin optional required long passphrase for users
+ ## TODO: add UI buttons for encrypt / decrypt everything
+ ## TODO: implement flag system to allow user to specify encryption by folder, subfolder, etc.
+
+
+ # Sharing:
+
+ ## TODO: add support for encrypting to multiple public keys
+ ## TODO: add support for decrypting to multiple private keys
+
+
+ # Integration testing:
+
+ ## TODO: test new encryption with webdav
+ ## TODO: test new encryption with versioning
+ ## TODO: test new encryption with sharing
+ ## TODO: test new encryption with proxies
+
+
+ private $view; // OC_FilesystemView object for filesystem operations
+ private $pwd; // User Password
+ private $client; // Client side encryption mode flag
+ private $publicKeyDir; // Directory containing all public user keys
+ private $encryptionDir; // Directory containing user's files_encryption
+ private $keyfilesPath; // Directory containing user's keyfiles
+ private $publicKeyPath; // Path to user's public key
+ private $privateKeyPath; // Path to user's private key
+
+ public function __construct( \OC_FilesystemView $view, $userId, $client = false ) {
+
+ $this->view = $view;
+ $this->userId = $userId;
+ $this->client = $client;
+ $this->publicKeyDir = '/' . 'public-keys';
+ $this->encryptionDir = '/' . $this->userId . '/' . 'files_encryption';
+ $this->keyfilesPath = $this->encryptionDir . '/' . 'keyfiles';
+ $this->publicKeyPath = $this->publicKeyDir . '/' . $this->userId . '.public.key'; // e.g. data/public-keys/admin.public.key
+ $this->privateKeyPath = $this->encryptionDir . '/' . $this->userId . '.private.key'; // e.g. data/admin/admin.private.key
+
+ }
+
+ public function ready() {
+
+ if(
+ !$this->view->file_exists( $this->keyfilesPath )
+ or !$this->view->file_exists( $this->publicKeyPath )
+ or !$this->view->file_exists( $this->privateKeyPath )
+ ) {
+
+ return false;
+
+ } else {
+
+ return true;
+
+ }
+
+ }
+
+ /**
+ * @brief Sets up user folders and keys for serverside encryption
+ * @param $passphrase passphrase to encrypt server-stored private key with
+ */
+ public function setupServerSide( $passphrase = null ) {
+
+ // Create shared public key directory
+ if( !$this->view->file_exists( $this->publicKeyDir ) ) {
+
+ $this->view->mkdir( $this->publicKeyDir );
+
+ }
+
+ // Create encryption app directory
+ if( !$this->view->file_exists( $this->encryptionDir ) ) {
+
+ $this->view->mkdir( $this->encryptionDir );
+
+ }
+
+ // Create mirrored keyfile directory
+ if( !$this->view->file_exists( $this->keyfilesPath ) ) {
+
+ $this->view->mkdir( $this->keyfilesPath );
+
+ }
+
+ // Create user keypair
+ if (
+ !$this->view->file_exists( $this->publicKeyPath )
+ or !$this->view->file_exists( $this->privateKeyPath )
+ ) {
+
+ // Generate keypair
+ $keypair = Crypt::createKeypair();
+
+ \OC_FileProxy::$enabled = false;
+
+ // Save public key
+ $this->view->file_put_contents( $this->publicKeyPath, $keypair['publicKey'] );
+
+ // Encrypt private key with user pwd as passphrase
+ $encryptedPrivateKey = Crypt::symmetricEncryptFileContent( $keypair['privateKey'], $passphrase );
+
+ // Save private key
+ $this->view->file_put_contents( $this->privateKeyPath, $encryptedPrivateKey );
+
+ \OC_FileProxy::$enabled = true;
+
+ }
+
+ return true;
+
+ }
+
+ public function findFiles( $directory, $type = 'plain' ) {
+
+ # TODO: test finding non plain content
+
+ if ( $handle = $this->view->opendir( $directory ) ) {
+
+ while ( false !== ( $file = readdir( $handle ) ) ) {
+
+ if (
+ $file != "."
+ && $file != ".."
+ ) {
+
+ $filePath = $directory . '/' . $this->view->getRelativePath( '/' . $file );
+
+ var_dump($filePath);
+
+ if ( $this->view->is_dir( $filePath ) ) {
+
+ $this->findFiles( $filePath );
+
+ } elseif ( $this->view->is_file( $filePath ) ) {
+
+ if ( $type == 'plain' ) {
+
+ $this->files[] = array( 'name' => $file, 'path' => $filePath );
+
+ } elseif ( $type == 'encrypted' ) {
+
+ if ( Crypt::isEncryptedContent( $this->view->file_get_contents( $filePath ) ) ) {
+
+ $this->files[] = array( 'name' => $file, 'path' => $filePath );
+
+ }
+
+ } elseif ( $type == 'legacy' ) {
+
+ if ( Crypt::isLegacyEncryptedContent( $this->view->file_get_contents( $filePath ) ) ) {
+
+ $this->files[] = array( 'name' => $file, 'path' => $filePath );
+
+ }
+
+ }
+
+ }
+
+ }
+
+ }
+
+ if ( !empty( $this->files ) ) {
+
+ return $this->files;
+
+ } else {
+
+ return false;
+
+ }
+
+ }
+
+ return false;
+
+ }
+
+ /**
+ * @brief Check if a given path identifies an encrypted file
+ * @return true / false
+ */
+ public function isEncryptedPath( $path ) {
+
+ // Disable encryption proxy so data retreived is in its
+ // original form
+ \OC_FileProxy::$enabled = false;
+
+ $data = $this->view->file_get_contents( $path );
+
+ \OC_FileProxy::$enabled = true;
+
+ return Crypt::isEncryptedContent( $data );
+
+ }
+
+ public function encryptAll( $directory ) {
+
+ $plainFiles = $this->findFiles( $this->view, 'plain' );
+
+ if ( $this->encryptFiles( $plainFiles ) ) {
+
+ return true;
+
+ } else {
+
+ return false;
+
+ }
+
+ }
+
+ public function getPath( $pathName ) {
+
+ switch ( $pathName ) {
+
+ case 'publicKeyDir':
+
+ return $this->publicKeyDir;
+
+ break;
+
+ case 'encryptionDir':
+
+ return $this->encryptionDir;
+
+ break;
+
+ case 'keyfilesPath':
+
+ return $this->keyfilesPath;
+
+ break;
+
+ case 'publicKeyPath':
+
+ return $this->publicKeyPath;
+
+ break;
+
+ case 'privateKeyPath':
+
+ return $this->privateKeyPath;
+
+ break;
+
+ }
+
+ }
+
+}
diff --git a/apps/files_encryption/settings-personal.php b/apps/files_encryption/settings-personal.php
new file mode 100644
index 00000000000..014288f2efe
--- /dev/null
+++ b/apps/files_encryption/settings-personal.php
@@ -0,0 +1,29 @@
+<?php
+/**
+ * Copyright (c) 2012 Bjoern Schiessle <schiessle@owncloud.com>
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+
+$sysEncMode = \OC_Appconfig::getValue('files_encryption', 'mode', 'none');
+
+if ($sysEncMode == 'user') {
+
+ $tmpl = new OCP\Template( 'files_encryption', 'settings-personal');
+
+ $query = \OC_DB::prepare( "SELECT mode FROM *PREFIX*encryption WHERE uid = ?" );
+ $result = $query->execute(array(\OCP\User::getUser()));
+
+ if ($row = $result->fetchRow()){
+ $mode = $row['mode'];
+ } else {
+ $mode = 'none';
+ }
+
+ OCP\Util::addscript('files_encryption','settings-personal');
+ $tmpl->assign('encryption_mode', $mode);
+ return $tmpl->fetchPage();
+}
+
+return null;
diff --git a/apps/files_encryption/settings.php b/apps/files_encryption/settings.php
index 94ff5ab94ba..d1260f44e9f 100644
--- a/apps/files_encryption/settings.php
+++ b/apps/files_encryption/settings.php
@@ -6,17 +6,16 @@
* See the COPYING-README file.
*/
-OC_Util::checkAdminUser();
+\OC_Util::checkAdminUser();
-$tmpl = new OCP\Template( 'files_encryption', 'settings');
-$blackList=explode(',', OCP\Config::getAppValue('files_encryption',
- 'type_blacklist',
- 'jpg,png,jpeg,avi,mpg,mpeg,mkv,mp3,oga,ogv,ogg'));
-$enabled=(OCP\Config::getAppValue('files_encryption', 'enable_encryption', 'true')=='true');
-$tmpl->assign('blacklist', $blackList);
-$tmpl->assign('encryption_enabled', $enabled);
+$tmpl = new OCP\Template( 'files_encryption', 'settings' );
-OCP\Util::addscript('files_encryption', 'settings');
-OCP\Util::addscript('core', 'multiselect');
+$blackList = explode( ',', \OCP\Config::getAppValue( 'files_encryption', 'type_blacklist', 'jpg,png,jpeg,avi,mpg,mpeg,mkv,mp3,oga,ogv,ogg' ) );
+
+$tmpl->assign( 'blacklist', $blackList );
+$tmpl->assign( 'encryption_mode', \OC_Appconfig::getValue( 'files_encryption', 'mode', 'none' ) );
+
+\OCP\Util::addscript( 'files_encryption', 'settings' );
+\OCP\Util::addscript( 'core', 'multiselect' );
return $tmpl->fetchPage();
diff --git a/apps/files_encryption/templates/settings-personal.php b/apps/files_encryption/templates/settings-personal.php
new file mode 100644
index 00000000000..1274bd3bb5c
--- /dev/null
+++ b/apps/files_encryption/templates/settings-personal.php
@@ -0,0 +1,45 @@
+<form id="encryption">
+ <fieldset class="personalblock">
+ <strong><?php echo $l->t('Choose encryption mode:'); ?></strong>
+ <p>
+ <input
+ type="hidden"
+ name="prev_encryption_mode"
+ id="prev_encryption_mode"
+ value="<?php echo $_['encryption_mode']; ?>"
+ >
+
+ <input
+ type="radio"
+ name="encryption_mode"
+ value="client"
+ id='client_encryption'
+ style="width:20px;"
+ <?php if ($_['encryption_mode'] == 'client') echo "checked='checked'"?>
+ />
+ <?php echo $l->t('Client side encryption (most secure but makes it impossible to access your data from the web interface)'); ?>
+ <br />
+
+ <input
+ type="radio"
+ name="encryption_mode"
+ value="server"
+ id='server_encryption'
+ style="width:20px;" <?php if ($_['encryption_mode'] == 'server') echo "checked='checked'"?>
+ />
+ <?php echo $l->t('Server side encryption (allows you to access your files from the web interface and the desktop client)'); ?>
+ <br />
+
+ <input
+ type="radio"
+ name="encryption_mode"
+ value="none"
+ id='none_encryption'
+ style="width:20px;"
+ <?php if ($_['encryption_mode'] == 'none') echo "checked='checked'"?>
+ />
+ <?php echo $l->t('None (no encryption at all)'); ?>
+ <br/>
+ </p>
+ </fieldset>
+</form>
diff --git a/apps/files_encryption/templates/settings.php b/apps/files_encryption/templates/settings.php
index 268b1a80ccd..544ec793f37 100644
--- a/apps/files_encryption/templates/settings.php
+++ b/apps/files_encryption/templates/settings.php
@@ -1,14 +1,79 @@
-<form id="calendar">
+<form id="encryption">
<fieldset class="personalblock">
- <legend><strong><?php echo $l->t('Encryption');?></strong></legend>
- <input type='checkbox'<?php if ($_['encryption_enabled']): ?> checked="checked"<?php endif; ?>
- id='enable_encryption' ></input>
- <label for='enable_encryption'><?php echo $l->t('Enable Encryption')?></label><br />
- <select id='encryption_blacklist' title="<?php echo $l->t('None')?>" multiple="multiple">
- <?php foreach ($_['blacklist'] as $type): ?>
- <option selected="selected" value="<?php echo $type;?>"><?php echo $type;?></option>
+
+ <strong>
+ <?php echo $l->t('Choose encryption mode:'); ?>
+ </strong>
+
+ <p>
+ <i>
+ <?php echo $l->t('Important: Once you selected an encryption mode there is no way to change it back'); ?>
+ </i>
+ </p>
+
+ <p>
+ <input
+ type="radio"
+ name="encryption_mode"
+ id="client_encryption"
+ value="client"
+ style="width:20px;"
+ <?php if ($_['encryption_mode'] == 'client') echo "checked='checked'"; if ($_['encryption_mode'] != 'none') echo "DISABLED"?>
+ />
+
+ <?php echo $l->t("Client side encryption (most secure but makes it impossible to access your data from the web interface)"); ?>
+ <br />
+
+ <input
+ type="radio"
+ name="encryption_mode"
+ id="server_encryption"
+ value="server"
+ style="width:20px;"
+ <?php if ($_['encryption_mode'] == 'server') echo "checked='checked'"; if ($_['encryption_mode'] != 'none') echo "DISABLED"?>
+ />
+
+ <?php echo $l->t('Server side encryption (allows you to access your files from the web interface and the desktop client)'); ?>
+ <br />
+
+ <input
+ type="radio"
+ name="encryption_mode"
+ id="user_encryption"
+ value="user"
+ style="width:20px;"
+ <?php if ($_['encryption_mode'] == 'user') echo "checked='checked'"; if ($_['encryption_mode'] != 'none') echo "DISABLED"?>
+ />
+
+ <?php echo $l->t('User specific (let the user decide)'); ?>
+ <br/>
+
+ <input
+ type="radio"
+ name="encryption_mode"
+ id="none_encryption"
+ value="none"
+ style="width:20px;"
+ <?php if ($_['encryption_mode'] == 'none') echo "checked='checked'"; if ($_['encryption_mode'] != 'none') echo "DISABLED"?>
+ />
+
+ <?php echo $l->t('None (no encryption at all)'); ?>
+ <br/>
+
+ </p>
+ <p>
+ <strong><?php echo $l->t('Encryption'); ?></strong>
+
+ <?php echo $l->t("Exclude the following file types from encryption"); ?>
+
+ <select
+ id='encryption_blacklist'
+ title="<?php echo $l->t('None')?>"
+ multiple="multiple">
+ <?php foreach($_["blacklist"] as $type): ?>
+ <option selected="selected" value="<?php echo $type;?>"> <?php echo $type;?> </option>
<?php endforeach;?>
- </select><br />
- <?php echo $l->t('Exclude the following file types from encryption'); ?>
+ </select>
+ </p>
</fieldset>
</form>
diff --git a/apps/files_encryption/tests/binary b/apps/files_encryption/test/binary
index 79bc99479da..79bc99479da 100644
--- a/apps/files_encryption/tests/binary
+++ b/apps/files_encryption/test/binary
Binary files differ
diff --git a/apps/files_encryption/test/crypt.php b/apps/files_encryption/test/crypt.php
new file mode 100755
index 00000000000..19c10ab0ab5
--- /dev/null
+++ b/apps/files_encryption/test/crypt.php
@@ -0,0 +1,667 @@
+<?php
+/**
+ * Copyright (c) 2012 Sam Tuke <samtuke@owncloud.com>, and
+ * Robin Appelman <icewind@owncloud.com>
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+
+//require_once "PHPUnit/Framework/TestCase.php";
+require_once realpath( dirname(__FILE__).'/../../../3rdparty/Crypt_Blowfish/Blowfish.php' );
+require_once realpath( dirname(__FILE__).'/../../../lib/base.php' );
+require_once realpath( dirname(__FILE__).'/../lib/crypt.php' );
+require_once realpath( dirname(__FILE__).'/../lib/keymanager.php' );
+require_once realpath( dirname(__FILE__).'/../lib/proxy.php' );
+require_once realpath( dirname(__FILE__).'/../lib/stream.php' );
+require_once realpath( dirname(__FILE__).'/../lib/util.php' );
+require_once realpath( dirname(__FILE__).'/../appinfo/app.php' );
+
+use OCA\Encryption;
+
+// This has to go here because otherwise session errors arise, and the private
+// encryption key needs to be saved in the session
+\OC_User::login( 'admin', 'admin' );
+
+/**
+ * @note It would be better to use Mockery here for mocking out the session
+ * handling process, and isolate calls to session class and data from the unit
+ * tests relating to them (stream etc.). However getting mockery to work and
+ * overload classes whilst also using the OC autoloader is difficult due to
+ * load order Pear errors.
+ */
+
+class Test_Crypt extends \PHPUnit_Framework_TestCase {
+
+ function setUp() {
+
+ // set content for encrypting / decrypting in tests
+ $this->dataLong = file_get_contents( realpath( dirname(__FILE__).'/../lib/crypt.php' ) );
+ $this->dataShort = 'hats';
+ $this->dataUrl = realpath( dirname(__FILE__).'/../lib/crypt.php' );
+ $this->legacyData = realpath( dirname(__FILE__).'/legacy-text.txt' );
+ $this->legacyEncryptedData = realpath( dirname(__FILE__).'/legacy-encrypted-text.txt' );
+ $this->randomKey = Encryption\Crypt::generateKey();
+
+ $keypair = Encryption\Crypt::createKeypair();
+ $this->genPublicKey = $keypair['publicKey'];
+ $this->genPrivateKey = $keypair['privateKey'];
+
+ $this->view = new \OC_FilesystemView( '/' );
+
+ \OC_User::setUserId( 'admin' );
+ $this->userId = 'admin';
+ $this->pass = 'admin';
+
+ \OC_Filesystem::init( '/' );
+ \OC_Filesystem::mount( 'OC_Filestorage_Local', array('datadir' => \OC_User::getHome($this->userId)), '/' );
+
+ }
+
+ function tearDown() {
+
+ }
+
+ function testGenerateKey() {
+
+ # TODO: use more accurate (larger) string length for test confirmation
+
+ $key = Encryption\Crypt::generateKey();
+
+ $this->assertTrue( strlen( $key ) > 16 );
+
+ }
+
+ function testGenerateIv() {
+
+ $iv = Encryption\Crypt::generateIv();
+
+ $this->assertEquals( 16, strlen( $iv ) );
+
+ return $iv;
+
+ }
+
+ /**
+ * @depends testGenerateIv
+ */
+ function testConcatIv( $iv ) {
+
+ $catFile = Encryption\Crypt::concatIv( $this->dataLong, $iv );
+
+ // Fetch encryption metadata from end of file
+ $meta = substr( $catFile, -22 );
+
+ $identifier = substr( $meta, 0, 6);
+
+ // Fetch IV from end of file
+ $foundIv = substr( $meta, 6 );
+
+ $this->assertEquals( '00iv00', $identifier );
+
+ $this->assertEquals( $iv, $foundIv );
+
+ // Remove IV and IV identifier text to expose encrypted content
+ $data = substr( $catFile, 0, -22 );
+
+ $this->assertEquals( $this->dataLong, $data );
+
+ return array(
+ 'iv' => $iv
+ , 'catfile' => $catFile
+ );
+
+ }
+
+ /**
+ * @depends testConcatIv
+ */
+ function testSplitIv( $testConcatIv ) {
+
+ // Split catfile into components
+ $splitCatfile = Encryption\Crypt::splitIv( $testConcatIv['catfile'] );
+
+ // Check that original IV and split IV match
+ $this->assertEquals( $testConcatIv['iv'], $splitCatfile['iv'] );
+
+ // Check that original data and split data match
+ $this->assertEquals( $this->dataLong, $splitCatfile['encrypted'] );
+
+ }
+
+ function testAddPadding() {
+
+ $padded = Encryption\Crypt::addPadding( $this->dataLong );
+
+ $padding = substr( $padded, -2 );
+
+ $this->assertEquals( 'xx' , $padding );
+
+ return $padded;
+
+ }
+
+ /**
+ * @depends testAddPadding
+ */
+ function testRemovePadding( $padded ) {
+
+ $noPadding = Encryption\Crypt::RemovePadding( $padded );
+
+ $this->assertEquals( $this->dataLong, $noPadding );
+
+ }
+
+ function testEncrypt() {
+
+ $random = openssl_random_pseudo_bytes( 13 );
+
+ $iv = substr( base64_encode( $random ), 0, -4 ); // i.e. E5IG033j+mRNKrht
+
+ $crypted = Encryption\Crypt::encrypt( $this->dataUrl, $iv, 'hat' );
+
+ $this->assertNotEquals( $this->dataUrl, $crypted );
+
+ }
+
+ function testDecrypt() {
+
+ $random = openssl_random_pseudo_bytes( 13 );
+
+ $iv = substr( base64_encode( $random ), 0, -4 ); // i.e. E5IG033j+mRNKrht
+
+ $crypted = Encryption\Crypt::encrypt( $this->dataUrl, $iv, 'hat' );
+
+ $decrypt = Encryption\Crypt::decrypt( $crypted, $iv, 'hat' );
+
+ $this->assertEquals( $this->dataUrl, $decrypt );
+
+ }
+
+ function testSymmetricEncryptFileContent() {
+
+ # TODO: search in keyfile for actual content as IV will ensure this test always passes
+
+ $crypted = Encryption\Crypt::symmetricEncryptFileContent( $this->dataShort, 'hat' );
+
+ $this->assertNotEquals( $this->dataShort, $crypted );
+
+
+ $decrypt = Encryption\Crypt::symmetricDecryptFileContent( $crypted, 'hat' );
+
+ $this->assertEquals( $this->dataShort, $decrypt );
+
+ }
+
+ // These aren't used for now
+// function testSymmetricBlockEncryptShortFileContent() {
+//
+// $crypted = Encryption\Crypt::symmetricBlockEncryptFileContent( $this->dataShort, $this->randomKey );
+//
+// $this->assertNotEquals( $this->dataShort, $crypted );
+//
+//
+// $decrypt = Encryption\Crypt::symmetricBlockDecryptFileContent( $crypted, $this->randomKey );
+//
+// $this->assertEquals( $this->dataShort, $decrypt );
+//
+// }
+//
+// function testSymmetricBlockEncryptLongFileContent() {
+//
+// $crypted = Encryption\Crypt::symmetricBlockEncryptFileContent( $this->dataLong, $this->randomKey );
+//
+// $this->assertNotEquals( $this->dataLong, $crypted );
+//
+//
+// $decrypt = Encryption\Crypt::symmetricBlockDecryptFileContent( $crypted, $this->randomKey );
+//
+// $this->assertEquals( $this->dataLong, $decrypt );
+//
+// }
+
+ function testSymmetricStreamEncryptShortFileContent() {
+
+ $filename = 'tmp-'.time();
+
+ $cryptedFile = file_put_contents( 'crypt://' . $filename, $this->dataShort );
+
+ // Test that data was successfully written
+ $this->assertTrue( is_int( $cryptedFile ) );
+
+
+ // Get file contents without using any wrapper to get it's actual contents on disk
+ $retreivedCryptedFile = $this->view->file_get_contents( $this->userId . '/files/' . $filename );
+
+ // Check that the file was encrypted before being written to disk
+ $this->assertNotEquals( $this->dataShort, $retreivedCryptedFile );
+
+ // Get private key
+ $encryptedPrivateKey = Encryption\Keymanager::getPrivateKey( $this->view, $this->userId );
+
+ $decryptedPrivateKey = Encryption\Crypt::symmetricDecryptFileContent( $encryptedPrivateKey, $this->pass );
+
+
+ // Get keyfile
+ $encryptedKeyfile = Encryption\Keymanager::getFileKey( $this->view, $this->userId, $filename );
+
+ $decryptedKeyfile = Encryption\Crypt::keyDecrypt( $encryptedKeyfile, $decryptedPrivateKey );
+
+
+ // Manually decrypt
+ $manualDecrypt = Encryption\Crypt::symmetricBlockDecryptFileContent( $retreivedCryptedFile, $decryptedKeyfile );
+
+ // Check that decrypted data matches
+ $this->assertEquals( $this->dataShort, $manualDecrypt );
+
+ }
+
+ /**
+ * @brief Test that data that is written by the crypto stream wrapper
+ * @note Encrypted data is manually prepared and decrypted here to avoid dependency on success of stream_read
+ * @note If this test fails with truncate content, check that enough array slices are being rejoined to form $e, as the crypt.php file may have gotten longer and broken the manual
+ * reassembly of its data
+ */
+ function testSymmetricStreamEncryptLongFileContent() {
+
+ // Generate a a random filename
+ $filename = 'tmp-'.time();
+
+ // Save long data as encrypted file using stream wrapper
+ $cryptedFile = file_put_contents( 'crypt://' . $filename, $this->dataLong.$this->dataLong );
+
+ // Test that data was successfully written
+ $this->assertTrue( is_int( $cryptedFile ) );
+
+ // Get file contents without using any wrapper to get it's actual contents on disk
+ $retreivedCryptedFile = $this->view->file_get_contents( $this->userId . '/files/' . $filename );
+
+// echo "\n\n\$retreivedCryptedFile = $retreivedCryptedFile\n\n";
+
+ // Check that the file was encrypted before being written to disk
+ $this->assertNotEquals( $this->dataLong.$this->dataLong, $retreivedCryptedFile );
+
+ // Manuallly split saved file into separate IVs and encrypted chunks
+ $r = preg_split('/(00iv00.{16,18})/', $retreivedCryptedFile, NULL, PREG_SPLIT_DELIM_CAPTURE);
+
+ //print_r($r);
+
+ // Join IVs and their respective data chunks
+ $e = array( $r[0].$r[1], $r[2].$r[3], $r[4].$r[5], $r[6].$r[7], $r[8].$r[9], $r[10].$r[11], $r[12].$r[13] );//.$r[11], $r[12].$r[13], $r[14] );
+
+ //print_r($e);
+
+
+ // Get private key
+ $encryptedPrivateKey = Encryption\Keymanager::getPrivateKey( $this->view, $this->userId );
+
+ $decryptedPrivateKey = Encryption\Crypt::symmetricDecryptFileContent( $encryptedPrivateKey, $this->pass );
+
+
+ // Get keyfile
+ $encryptedKeyfile = Encryption\Keymanager::getFileKey( $this->view, $this->userId, $filename );
+
+ $decryptedKeyfile = Encryption\Crypt::keyDecrypt( $encryptedKeyfile, $decryptedPrivateKey );
+
+
+ // Set var for reassembling decrypted content
+ $decrypt = '';
+
+ // Manually decrypt chunk
+ foreach ($e as $e) {
+
+// echo "\n\$e = $e";
+
+ $chunkDecrypt = Encryption\Crypt::symmetricDecryptFileContent( $e, $decryptedKeyfile );
+
+ // Assemble decrypted chunks
+ $decrypt .= $chunkDecrypt;
+
+// echo "\n\$chunkDecrypt = $chunkDecrypt";
+
+ }
+
+// echo "\n\$decrypt = $decrypt";
+
+ $this->assertEquals( $this->dataLong.$this->dataLong, $decrypt );
+
+ // Teardown
+
+ $this->view->unlink( $filename );
+
+ Encryption\Keymanager::deleteFileKey( $filename );
+
+ }
+
+ /**
+ * @brief Test that data that is read by the crypto stream wrapper
+ */
+ function testSymmetricStreamDecryptShortFileContent() {
+
+ $filename = 'tmp-'.time();
+
+ // Save long data as encrypted file using stream wrapper
+ $cryptedFile = file_put_contents( 'crypt://' . $filename, $this->dataShort );
+
+ // Test that data was successfully written
+ $this->assertTrue( is_int( $cryptedFile ) );
+
+
+ // Get file contents without using any wrapper to get it's actual contents on disk
+ $retreivedCryptedFile = $this->view->file_get_contents( $this->userId . '/files/' . $filename );
+
+ $decrypt = file_get_contents( 'crypt://' . $filename );
+
+ $this->assertEquals( $this->dataShort, $decrypt );
+
+ }
+
+ function testSymmetricStreamDecryptLongFileContent() {
+
+ $filename = 'tmp-'.time();
+
+ // Save long data as encrypted file using stream wrapper
+ $cryptedFile = file_put_contents( 'crypt://' . $filename, $this->dataLong );
+
+ // Test that data was successfully written
+ $this->assertTrue( is_int( $cryptedFile ) );
+
+
+ // Get file contents without using any wrapper to get it's actual contents on disk
+ $retreivedCryptedFile = $this->view->file_get_contents( $this->userId . '/files/' . $filename );
+
+ $decrypt = file_get_contents( 'crypt://' . $filename );
+
+ $this->assertEquals( $this->dataLong, $decrypt );
+
+ }
+
+ // Is this test still necessary?
+// function testSymmetricBlockStreamDecryptFileContent() {
+//
+// \OC_User::setUserId( 'admin' );
+//
+// // Disable encryption proxy to prevent unwanted en/decryption
+// \OC_FileProxy::$enabled = false;
+//
+// $cryptedFile = file_put_contents( 'crypt://' . '/blockEncrypt', $this->dataUrl );
+//
+// // Disable encryption proxy to prevent unwanted en/decryption
+// \OC_FileProxy::$enabled = false;
+//
+// echo "\n\n\$cryptedFile = " . $this->view->file_get_contents( '/blockEncrypt' );
+//
+// $retreivedCryptedFile = file_get_contents( 'crypt://' . '/blockEncrypt' );
+//
+// $this->assertEquals( $this->dataUrl, $retreivedCryptedFile );
+//
+// \OC_FileProxy::$enabled = false;
+//
+// }
+
+ function testSymmetricEncryptFileContentKeyfile() {
+
+ # TODO: search in keyfile for actual content as IV will ensure this test always passes
+
+ $crypted = Encryption\Crypt::symmetricEncryptFileContentKeyfile( $this->dataUrl );
+
+ $this->assertNotEquals( $this->dataUrl, $crypted['encrypted'] );
+
+
+ $decrypt = Encryption\Crypt::symmetricDecryptFileContent( $crypted['encrypted'], $crypted['key'] );
+
+ $this->assertEquals( $this->dataUrl, $decrypt );
+
+ }
+
+ function testIsEncryptedContent() {
+
+ $this->assertFalse( Encryption\Crypt::isEncryptedContent( $this->dataUrl ) );
+
+ $this->assertFalse( Encryption\Crypt::isEncryptedContent( $this->legacyEncryptedData ) );
+
+ $keyfileContent = Encryption\Crypt::symmetricEncryptFileContent( $this->dataUrl, 'hat' );
+
+ $this->assertTrue( Encryption\Crypt::isEncryptedContent( $keyfileContent ) );
+
+ }
+
+ function testMultiKeyEncrypt() {
+
+ # TODO: search in keyfile for actual content as IV will ensure this test always passes
+
+ $pair1 = Encryption\Crypt::createKeypair();
+
+ $this->assertEquals( 2, count( $pair1 ) );
+
+ $this->assertTrue( strlen( $pair1['publicKey'] ) > 1 );
+
+ $this->assertTrue( strlen( $pair1['privateKey'] ) > 1 );
+
+
+ $crypted = Encryption\Crypt::multiKeyEncrypt( $this->dataUrl, array( $pair1['publicKey'] ) );
+
+ $this->assertNotEquals( $this->dataUrl, $crypted['encrypted'] );
+
+
+ $decrypt = Encryption\Crypt::multiKeyDecrypt( $crypted['encrypted'], $crypted['keys'][0], $pair1['privateKey'] );
+
+ $this->assertEquals( $this->dataUrl, $decrypt );
+
+ }
+
+ function testKeyEncrypt() {
+
+ // Generate keypair
+ $pair1 = Encryption\Crypt::createKeypair();
+
+ // Encrypt data
+ $crypted = Encryption\Crypt::keyEncrypt( $this->dataUrl, $pair1['publicKey'] );
+
+ $this->assertNotEquals( $this->dataUrl, $crypted );
+
+ // Decrypt data
+ $decrypt = Encryption\Crypt::keyDecrypt( $crypted, $pair1['privateKey'] );
+
+ $this->assertEquals( $this->dataUrl, $decrypt );
+
+ }
+
+ // What is the point of this test? It doesn't use keyEncryptKeyfile()
+ function testKeyEncryptKeyfile() {
+
+ # TODO: Don't repeat encryption from previous tests, use PHPUnit test interdependency instead
+
+ // Generate keypair
+ $pair1 = Encryption\Crypt::createKeypair();
+
+ // Encrypt plain data, generate keyfile & encrypted file
+ $cryptedData = Encryption\Crypt::symmetricEncryptFileContentKeyfile( $this->dataUrl );
+
+ // Encrypt keyfile
+ $cryptedKey = Encryption\Crypt::keyEncrypt( $cryptedData['key'], $pair1['publicKey'] );
+
+ // Decrypt keyfile
+ $decryptKey = Encryption\Crypt::keyDecrypt( $cryptedKey, $pair1['privateKey'] );
+
+ // Decrypt encrypted file
+ $decryptData = Encryption\Crypt::symmetricDecryptFileContent( $cryptedData['encrypted'], $decryptKey );
+
+ $this->assertEquals( $this->dataUrl, $decryptData );
+
+ }
+
+ /**
+ * @brief test functionality of keyEncryptKeyfile() and
+ * keyDecryptKeyfile()
+ */
+ function testKeyDecryptKeyfile() {
+
+ $encrypted = Encryption\Crypt::keyEncryptKeyfile( $this->dataShort, $this->genPublicKey );
+
+ $this->assertNotEquals( $encrypted['data'], $this->dataShort );
+
+ $decrypted = Encryption\Crypt::keyDecryptKeyfile( $encrypted['data'], $encrypted['key'], $this->genPrivateKey );
+
+ $this->assertEquals( $decrypted, $this->dataShort );
+
+ }
+
+
+ /**
+ * @brief test encryption using legacy blowfish method
+ */
+ function testLegacyEncryptShort() {
+
+ $crypted = Encryption\Crypt::legacyEncrypt( $this->dataShort, $this->pass );
+
+ $this->assertNotEquals( $this->dataShort, $crypted );
+
+ # TODO: search inencrypted text for actual content to ensure it
+ # genuine transformation
+
+ return $crypted;
+
+ }
+
+ /**
+ * @brief test decryption using legacy blowfish method
+ * @depends testLegacyEncryptShort
+ */
+ function testLegacyDecryptShort( $crypted ) {
+
+ $decrypted = Encryption\Crypt::legacyDecrypt( $crypted, $this->pass );
+
+ $this->assertEquals( $this->dataShort, $decrypted );
+
+ }
+
+ /**
+ * @brief test encryption using legacy blowfish method
+ */
+ function testLegacyEncryptLong() {
+
+ $crypted = Encryption\Crypt::legacyEncrypt( $this->dataLong, $this->pass );
+
+ $this->assertNotEquals( $this->dataLong, $crypted );
+
+ # TODO: search inencrypted text for actual content to ensure it
+ # genuine transformation
+
+ return $crypted;
+
+ }
+
+ /**
+ * @brief test decryption using legacy blowfish method
+ * @depends testLegacyEncryptLong
+ */
+ function testLegacyDecryptLong( $crypted ) {
+
+ $decrypted = Encryption\Crypt::legacyDecrypt( $crypted, $this->pass );
+
+ $this->assertEquals( $this->dataLong, $decrypted );
+
+ }
+
+ /**
+ * @brief test generation of legacy encryption key
+ * @depends testLegacyDecryptShort
+ */
+ function testLegacyCreateKey() {
+
+ // Create encrypted key
+ $encKey = Encryption\Crypt::legacyCreateKey( $this->pass );
+
+ // Decrypt key
+ $key = Encryption\Crypt::legacyDecrypt( $encKey, $this->pass );
+
+ $this->assertTrue( is_numeric( $key ) );
+
+ // Check that key is correct length
+ $this->assertEquals( 20, strlen( $key ) );
+
+ }
+
+ /**
+ * @brief test decryption using legacy blowfish method
+ * @depends testLegacyEncryptLong
+ */
+ function testLegacyKeyRecryptKeyfileEncrypt( $crypted ) {
+
+ $recrypted = Encryption\Crypt::LegacyKeyRecryptKeyfile( $crypted, $this->pass, $this->genPublicKey, $this->pass );
+
+ $this->assertNotEquals( $this->dataLong, $recrypted['data'] );
+
+ return $recrypted;
+
+ # TODO: search inencrypted text for actual content to ensure it
+ # genuine transformation
+
+ }
+
+// function testEncryption(){
+//
+// $key=uniqid();
+// $file=OC::$SERVERROOT.'/3rdparty/MDB2.php';
+// $source=file_get_contents($file); //nice large text file
+// $encrypted=OC_Encryption\Crypt::encrypt($source,$key);
+// $decrypted=OC_Encryption\Crypt::decrypt($encrypted,$key);
+// $decrypted=rtrim($decrypted, "\0");
+// $this->assertNotEquals($encrypted,$source);
+// $this->assertEquals($decrypted,$source);
+//
+// $chunk=substr($source,0,8192);
+// $encrypted=OC_Encryption\Crypt::encrypt($chunk,$key);
+// $this->assertEquals(strlen($chunk),strlen($encrypted));
+// $decrypted=OC_Encryption\Crypt::decrypt($encrypted,$key);
+// $decrypted=rtrim($decrypted, "\0");
+// $this->assertEquals($decrypted,$chunk);
+//
+// $encrypted=OC_Encryption\Crypt::blockEncrypt($source,$key);
+// $decrypted=OC_Encryption\Crypt::blockDecrypt($encrypted,$key);
+// $this->assertNotEquals($encrypted,$source);
+// $this->assertEquals($decrypted,$source);
+//
+// $tmpFileEncrypted=OCP\Files::tmpFile();
+// OC_Encryption\Crypt::encryptfile($file,$tmpFileEncrypted,$key);
+// $encrypted=file_get_contents($tmpFileEncrypted);
+// $decrypted=OC_Encryption\Crypt::blockDecrypt($encrypted,$key);
+// $this->assertNotEquals($encrypted,$source);
+// $this->assertEquals($decrypted,$source);
+//
+// $tmpFileDecrypted=OCP\Files::tmpFile();
+// OC_Encryption\Crypt::decryptfile($tmpFileEncrypted,$tmpFileDecrypted,$key);
+// $decrypted=file_get_contents($tmpFileDecrypted);
+// $this->assertEquals($decrypted,$source);
+//
+// $file=OC::$SERVERROOT.'/core/img/weather-clear.png';
+// $source=file_get_contents($file); //binary file
+// $encrypted=OC_Encryption\Crypt::encrypt($source,$key);
+// $decrypted=OC_Encryption\Crypt::decrypt($encrypted,$key);
+// $decrypted=rtrim($decrypted, "\0");
+// $this->assertEquals($decrypted,$source);
+//
+// $encrypted=OC_Encryption\Crypt::blockEncrypt($source,$key);
+// $decrypted=OC_Encryption\Crypt::blockDecrypt($encrypted,$key);
+// $this->assertEquals($decrypted,$source);
+//
+// }
+//
+// function testBinary(){
+// $key=uniqid();
+//
+// $file=__DIR__.'/binary';
+// $source=file_get_contents($file); //binary file
+// $encrypted=OC_Encryption\Crypt::encrypt($source,$key);
+// $decrypted=OC_Encryption\Crypt::decrypt($encrypted,$key);
+//
+// $decrypted=rtrim($decrypted, "\0");
+// $this->assertEquals($decrypted,$source);
+//
+// $encrypted=OC_Encryption\Crypt::blockEncrypt($source,$key);
+// $decrypted=OC_Encryption\Crypt::blockDecrypt($encrypted,$key,strlen($source));
+// $this->assertEquals($decrypted,$source);
+// }
+
+}
diff --git a/apps/files_encryption/test/keymanager.php b/apps/files_encryption/test/keymanager.php
new file mode 100644
index 00000000000..f02d6eb5f7a
--- /dev/null
+++ b/apps/files_encryption/test/keymanager.php
@@ -0,0 +1,132 @@
+<?php
+/**
+ * Copyright (c) 2012 Sam Tuke <samtuke@owncloud.com>
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+
+//require_once "PHPUnit/Framework/TestCase.php";
+require_once realpath( dirname(__FILE__).'/../../../lib/base.php' );
+require_once realpath( dirname(__FILE__).'/../lib/crypt.php' );
+require_once realpath( dirname(__FILE__).'/../lib/keymanager.php' );
+require_once realpath( dirname(__FILE__).'/../lib/proxy.php' );
+require_once realpath( dirname(__FILE__).'/../lib/stream.php' );
+require_once realpath( dirname(__FILE__).'/../lib/util.php' );
+require_once realpath( dirname(__FILE__).'/../appinfo/app.php' );
+
+use OCA\Encryption;
+
+// This has to go here because otherwise session errors arise, and the private
+// encryption key needs to be saved in the session
+\OC_User::login( 'admin', 'admin' );
+
+class Test_Keymanager extends \PHPUnit_Framework_TestCase {
+
+ function setUp() {
+
+ \OC_FileProxy::$enabled = false;
+
+ // set content for encrypting / decrypting in tests
+ $this->dataLong = file_get_contents( realpath( dirname(__FILE__).'/../lib/crypt.php' ) );
+ $this->dataShort = 'hats';
+ $this->dataUrl = realpath( dirname(__FILE__).'/../lib/crypt.php' );
+ $this->legacyData = realpath( dirname(__FILE__).'/legacy-text.txt' );
+ $this->legacyEncryptedData = realpath( dirname(__FILE__).'/legacy-encrypted-text.txt' );
+ $this->randomKey = Encryption\Crypt::generateKey();
+
+ $keypair = Encryption\Crypt::createKeypair();
+ $this->genPublicKey = $keypair['publicKey'];
+ $this->genPrivateKey = $keypair['privateKey'];
+
+ $this->view = new \OC_FilesystemView( '/' );
+
+ \OC_User::setUserId( 'admin' );
+ $this->userId = 'admin';
+ $this->pass = 'admin';
+
+ \OC_Filesystem::init( '/' );
+ \OC_Filesystem::mount( 'OC_Filestorage_Local', array('datadir' => \OC_User::getHome($this->userId)), '/' );
+
+ }
+
+ function tearDown(){
+
+ \OC_FileProxy::$enabled = true;
+
+ }
+
+ function testGetPrivateKey() {
+
+ $key = Encryption\Keymanager::getPrivateKey( $this->view, $this->userId );
+
+ // Will this length vary? Perhaps we should use a range instead
+ $this->assertEquals( 2296, strlen( $key ) );
+
+ }
+
+ function testGetPublicKey() {
+
+ $key = Encryption\Keymanager::getPublicKey( $this->view, $this->userId );
+
+ $this->assertEquals( 451, strlen( $key ) );
+
+ $this->assertEquals( '-----BEGIN PUBLIC KEY-----', substr( $key, 0, 26 ) );
+ }
+
+ function testSetFileKey() {
+
+ # NOTE: This cannot be tested until we are able to break out
+ # of the FileSystemView data directory root
+
+// $key = Crypt::symmetricEncryptFileContentKeyfile( $this->data, 'hat' );
+//
+// $tmpPath = sys_get_temp_dir(). '/' . 'testSetFileKey';
+//
+// $view = new \OC_FilesystemView( '/tmp/' );
+//
+// //$view = new \OC_FilesystemView( '/' . $this->userId . '/files_encryption/keyfiles' );
+//
+// Encryption\Keymanager::setFileKey( $tmpPath, $key['key'], $view );
+
+ }
+
+// /**
+// * @depends testGetPrivateKey
+// */
+// function testGetPrivateKey_decrypt() {
+//
+// $key = Encryption\Keymanager::getPrivateKey( $this->view, $this->userId );
+//
+// # TODO: replace call to Crypt with a mock object?
+// $decrypted = Encryption\Crypt::symmetricDecryptFileContent( $key, $this->passphrase );
+//
+// $this->assertEquals( 1704, strlen( $decrypted ) );
+//
+// $this->assertEquals( '-----BEGIN PRIVATE KEY-----', substr( $decrypted, 0, 27 ) );
+//
+// }
+
+ function testGetUserKeys() {
+
+ $keys = Encryption\Keymanager::getUserKeys( $this->view, $this->userId );
+
+ $this->assertEquals( 451, strlen( $keys['publicKey'] ) );
+ $this->assertEquals( '-----BEGIN PUBLIC KEY-----', substr( $keys['publicKey'], 0, 26 ) );
+ $this->assertEquals( 2296, strlen( $keys['privateKey'] ) );
+
+ }
+
+ function testGetPublicKeys() {
+
+ # TODO: write me
+
+ }
+
+ function testGetFileKey() {
+
+// Encryption\Keymanager::getFileKey( $this->view, $this->userId, $this->filePath );
+
+ }
+
+}
diff --git a/apps/files_encryption/test/legacy-encrypted-text.txt b/apps/files_encryption/test/legacy-encrypted-text.txt
new file mode 100644
index 00000000000..cb5bf50550d
--- /dev/null
+++ b/apps/files_encryption/test/legacy-encrypted-text.txt
Binary files differ
diff --git a/apps/files_encryption/test/proxy.php b/apps/files_encryption/test/proxy.php
new file mode 100644
index 00000000000..709730f7609
--- /dev/null
+++ b/apps/files_encryption/test/proxy.php
@@ -0,0 +1,220 @@
+<?php
+/**
+ * Copyright (c) 2012 Sam Tuke <samtuke@owncloud.com>,
+ * and Robin Appelman <icewind@owncloud.com>
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+
+// require_once "PHPUnit/Framework/TestCase.php";
+// require_once realpath( dirname(__FILE__).'/../../../lib/base.php' );
+// require_once realpath( dirname(__FILE__).'/../../../3rdparty/mockery/Mockery.php' );
+// require_once realpath( dirname(__FILE__).'/../../../3rdparty/mockery/Mockery/Generator.php' );
+// require_once realpath( dirname(__FILE__).'/../../../3rdparty/mockery/Mockery/MockInterface.php' );
+// require_once realpath( dirname(__FILE__).'/../../../3rdparty/mockery/Mockery/Mock.php' );
+// require_once realpath( dirname(__FILE__).'/../../../3rdparty/mockery/Mockery/Container.php' );
+// require_once realpath( dirname(__FILE__).'/../../../3rdparty/mockery/Mockery/Configuration.php' );
+// require_once realpath( dirname(__FILE__).'/../../../3rdparty/mockery/Mockery/CompositeExpectation.php' );
+// require_once realpath( dirname(__FILE__).'/../../../3rdparty/mockery/Mockery/ExpectationDirector.php' );
+// require_once realpath( dirname(__FILE__).'/../../../3rdparty/mockery/Mockery/Expectation.php' );
+// require_once realpath( dirname(__FILE__).'/../../../3rdparty/mockery/Mockery/Exception.php' );
+// require_once realpath( dirname(__FILE__).'/../../../3rdparty/mockery/Mockery/CountValidator/CountValidatorAbstract.php' );
+// require_once realpath( dirname(__FILE__).'/../../../3rdparty/mockery/Mockery/CountValidator/Exception.php' );
+// require_once realpath( dirname(__FILE__).'/../../../3rdparty/mockery/Mockery/CountValidator/Exact.php' );
+//
+// use \Mockery as m;
+// use OCA\Encryption;
+
+// class Test_Util extends \PHPUnit_Framework_TestCase {
+//
+// public function setUp() {
+//
+// $this->proxy = new Encryption\Proxy();
+//
+// $this->tmpFileName = "tmpFile-".time();
+//
+// $this->privateKey = file_get_contents( realpath( dirname(__FILE__).'/data/admin.public.key' ) );
+// $this->publicKey = file_get_contents( realpath( dirname(__FILE__).'/data/admin.private.key' ) );
+// $this->encDataShort = file_get_contents( realpath( dirname(__FILE__).'/data/yoga-manchester-enc' ) );
+// $this->encDataShortKey = file_get_contents( realpath( dirname(__FILE__).'/data/yoga-manchester.key' ) );
+//
+// $this->dataShort = file_get_contents( realpath( dirname(__FILE__).'/data/yoga-manchester' ) );
+// $this->dataLong = file_get_contents( realpath( dirname(__FILE__).'/../lib/crypt.php' ) );
+// $this->longDataPath = realpath( dirname(__FILE__).'/../lib/crypt.php' );
+//
+// $this->data1 = file_get_contents( realpath( dirname(__FILE__).'/../../../data/admin/files/enc-test.txt' ) );
+//
+// \OC_FileProxy::$enabled = false;
+// $this->Encdata1 = file_get_contents( realpath( dirname(__FILE__).'/../../../data/admin/files/enc-test.txt' ) );
+// \OC_FileProxy::$enabled = true;
+//
+// $this->userId = 'admin';
+// $this->pass = 'admin';
+//
+// $this->session = new Encryption\Session();
+//
+// $this->session->setPrivateKey(
+// '-----BEGIN PRIVATE KEY-----
+// MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDiH3EA4EpFA7Fx
+// s2dyyfL5jwXeYXrTqQJ6DqKgGn8VsbT3eu8R9KzM2XitVwZe8c8L52DvJ06o5vg0
+// GqPYxilFdOFJe/ggac5Tq8UmJiZS4EqYEMwxBIfIyWTxeGV06/0HOwnVAkqHMcBz
+// 64qldtgi5O8kZMEM2/gKBgU0kMLJzM+8oEWhL1+gsUWQhxd8cKLXypS6iWgqFJrz
+// f/X0hJsJR+gyYxNpahtnjzd/LxLAETrOMsl2tue+BAxmjbAM0aG0NEM0div+b59s
+// 2uz/iWbxImp5pOdYVKcVW89D4XBMyGegR40trV2VwiuX1blKCfdjMsJhiaL9pymp
+// ug1wzyQFAgMBAAECggEAK6c+PZkPPXuVCgpEcliiW6NM0r2m5K3AGKgypQ34csu3
+// z/8foCvIIFPrhCtEw5eTDQ1CHWlNOjY8vHJYJ0U6Onpx86nHIRrMBkMm8FJ1G5LJ
+// U8oKYXwqaozWu/cuPwA//OFc6I5krOzh5n8WaRMkbrgbor8AtebRX74By0AXGrXe
+// cswJI7zR96oFn4Dm7Pgvpg5Zhk1vFJ+w6QtH+4DDJ6PBvlZsRkGxYBLGVd/3qhAI
+// sBAyjFlSzuP4eCRhHOhHC/e4gmAH9evFVXB88jFyRZm3K+jQ5W5CwrVRBCV2lph6
+// 2B6P7CBJN+IjGKMhy+75y13UvvKPv9IwH8Fzl2x1gQKBgQD8qQOr7a6KhSj16wQE
+// jim2xqt9gQ2jH5No405NrKs/PFQQZnzD4YseQsiK//NUjOJiUhaT+L5jhIpzINHt
+// RJpt3bGkEZmLyjdjgTpB3GwZdXa28DNK9VdXZ19qIl/ZH0qAjKmJCRahUDASMnVi
+// M4Pkk9yx9ZIKkri4TcuMWqc0DQKBgQDlHKBTITZq/arYPD6Nl3NsoOdqVRqJrGay
+// 0TjXAVbBXe46+z5lnMsqwXb79nx14hdmSEsZULrw/3f+MnQbdjMTYLFP24visZg9
+// MN8vAiALiiiR1a+Crz+DTA1Q8sGOMVCMqMDmD7QBys3ZuWxuapm0txAiIYUtsjJZ
+// XN76T4nZ2QKBgQCHaT3igzwsWTmesxowJtEMeGWomeXpKx8h89EfqA8PkRGsyIDN
+// qq+YxEoe1RZgljEuaLhZDdNcGsjo8woPk9kAUPTH7fbRCMuutK+4ZJ469s1tNkcH
+// QX5SBcEJbOrZvv967ehe3VQXmJZq6kgnHVzuwKBjcC2ZJRGDFY6l5l/+cQKBgCqh
+// +Adf/8NK7paMJ0urqfPFwSodKfICXZ3apswDWMRkmSbqh4La+Uc8dsqN5Dz/VEFZ
+// JHhSeGbN8uMfOlG93eU2MehdPxtw1pZUWMNjjtj23XO9ooob2CKzbSrp8TBnZsi1
+// widNNr66oTFpeo7VUUK6acsgF6sYJJxSVr+XO1yJAoGAEhvitq8shNKcEY0xCipS
+// k1kbgyS7KKB7opVxI5+ChEqyUDijS3Y9FZixrRIWE6i2uGu86UG+v2lbKvSbM4Qm
+// xvbOcX9OVMnlRb7n8woOP10UMY+ZE2x+YEUXQTLtPYq7F66e1OfxltstMxLQA+3d
+// Y1d5piFV8PXK3Fg2F+Cj5qg=
+// -----END PRIVATE KEY-----
+// '
+// , $this->userId
+// );
+//
+// \OC_User::setUserId( $this->userId );
+//
+// }
+//
+// public function testpreFile_get_contents() {
+//
+// // This won't work for now because mocking of the static keymanager class isn't working :(
+//
+// // $mock = m::mock( 'alias:OCA\Encryption\Keymanager' );
+// //
+// // $mock->shouldReceive( 'getFileKey' )->times(2)->andReturn( $this->encDataShort );
+// //
+// // $encrypted = $this->proxy->postFile_get_contents( 'data/'.$this->tmpFileName, $this->encDataShortKey );
+// //
+// // $this->assertNotEquals( $this->dataShort, $encrypted );
+//
+// $decrypted = $this->proxy->postFile_get_contents( 'data/admin/files/enc-test.txt', $this->data1 );
+//
+// }
+//
+// }
+
+// class Test_CryptProxy extends PHPUnit_Framework_TestCase {
+// private $oldConfig;
+// private $oldKey;
+//
+// public function setUp(){
+// $user=OC_User::getUser();
+//
+// $this->oldConfig=OCP\Config::getAppValue('files_encryption','enable_encryption','true');
+// OCP\Config::setAppValue('files_encryption','enable_encryption','true');
+// $this->oldKey=isset($_SESSION['privateKey'])?$_SESSION['privateKey']:null;
+//
+//
+// //set testing key
+// $_SESSION['privateKey']=md5(time());
+//
+// //clear all proxies and hooks so we can do clean testing
+// OC_FileProxy::clearProxies();
+// OC_Hook::clear('OC_Filesystem');
+//
+// //enable only the encryption hook
+// OC_FileProxy::register(new OC_FileProxy_Encryption());
+//
+// //set up temporary storage
+// OC_Filesystem::clearMounts();
+// OC_Filesystem::mount('OC_Filestorage_Temporary',array(),'/');
+//
+// OC_Filesystem::init('/'.$user.'/files');
+//
+// //set up the users home folder in the temp storage
+// $rootView=new OC_FilesystemView('');
+// $rootView->mkdir('/'.$user);
+// $rootView->mkdir('/'.$user.'/files');
+// }
+//
+// public function tearDown(){
+// OCP\Config::setAppValue('files_encryption','enable_encryption',$this->oldConfig);
+// if(!is_null($this->oldKey)){
+// $_SESSION['privateKey']=$this->oldKey;
+// }
+// }
+//
+// public function testSimple(){
+// $file=OC::$SERVERROOT.'/3rdparty/MDB2.php';
+// $original=file_get_contents($file);
+//
+// OC_Filesystem::file_put_contents('/file',$original);
+//
+// OC_FileProxy::$enabled=false;
+// $stored=OC_Filesystem::file_get_contents('/file');
+// OC_FileProxy::$enabled=true;
+//
+// $fromFile=OC_Filesystem::file_get_contents('/file');
+// $this->assertNotEquals($original,$stored);
+// $this->assertEquals(strlen($original),strlen($fromFile));
+// $this->assertEquals($original,$fromFile);
+//
+// }
+//
+// public function testView(){
+// $file=OC::$SERVERROOT.'/3rdparty/MDB2.php';
+// $original=file_get_contents($file);
+//
+// $rootView=new OC_FilesystemView('');
+// $view=new OC_FilesystemView('/'.OC_User::getUser());
+// $userDir='/'.OC_User::getUser().'/files';
+//
+// $rootView->file_put_contents($userDir.'/file',$original);
+//
+// OC_FileProxy::$enabled=false;
+// $stored=$rootView->file_get_contents($userDir.'/file');
+// OC_FileProxy::$enabled=true;
+//
+// $this->assertNotEquals($original,$stored);
+// $fromFile=$rootView->file_get_contents($userDir.'/file');
+// $this->assertEquals($original,$fromFile);
+//
+// $fromFile=$view->file_get_contents('files/file');
+// $this->assertEquals($original,$fromFile);
+// }
+//
+// public function testBinary(){
+// $file=__DIR__.'/binary';
+// $original=file_get_contents($file);
+//
+// OC_Filesystem::file_put_contents('/file',$original);
+//
+// OC_FileProxy::$enabled=false;
+// $stored=OC_Filesystem::file_get_contents('/file');
+// OC_FileProxy::$enabled=true;
+//
+// $fromFile=OC_Filesystem::file_get_contents('/file');
+// $this->assertNotEquals($original,$stored);
+// $this->assertEquals(strlen($original),strlen($fromFile));
+// $this->assertEquals($original,$fromFile);
+//
+// $file=__DIR__.'/zeros';
+// $original=file_get_contents($file);
+//
+// OC_Filesystem::file_put_contents('/file',$original);
+//
+// OC_FileProxy::$enabled=false;
+// $stored=OC_Filesystem::file_get_contents('/file');
+// OC_FileProxy::$enabled=true;
+//
+// $fromFile=OC_Filesystem::file_get_contents('/file');
+// $this->assertNotEquals($original,$stored);
+// $this->assertEquals(strlen($original),strlen($fromFile));
+// }
+// }
diff --git a/apps/files_encryption/test/stream.php b/apps/files_encryption/test/stream.php
new file mode 100644
index 00000000000..ba82ac80eab
--- /dev/null
+++ b/apps/files_encryption/test/stream.php
@@ -0,0 +1,226 @@
+// <?php
+// /**
+// * Copyright (c) 2012 Robin Appelman <icewind@owncloud.com>
+// * This file is licensed under the Affero General Public License version 3 or
+// * later.
+// * See the COPYING-README file.
+// */
+//
+// namespace OCA\Encryption;
+//
+// class Test_Stream extends \PHPUnit_Framework_TestCase {
+//
+// function setUp() {
+//
+// \OC_Filesystem::mount( 'OC_Filestorage_Local', array(), '/' );
+//
+// $this->empty = '';
+//
+// $this->stream = new Stream();
+//
+// $this->dataLong = file_get_contents( realpath( dirname(__FILE__).'/../lib/crypt.php' ) );
+// $this->dataShort = 'hats';
+//
+// $this->emptyTmpFilePath = \OCP\Files::tmpFile();
+//
+// $this->dataTmpFilePath = \OCP\Files::tmpFile();
+//
+// file_put_contents( $this->dataTmpFilePath, "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a diam lectus. Sed sit amet ipsum mauris. Maecenas congue ligula ac quam viverra nec consectetur ante hendrerit. Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean ut gravida lorem. Ut turpis felis, pulvinar a semper sed, adipiscing id dolor. Pellentesque auctor nisi id magna consequat sagittis. Curabitur dapibus enim sit amet elit pharetra tincidunt feugiat nisl imperdiet. Ut convallis libero in urna ultrices accumsan. Donec sed odio eros. Donec viverra mi quis quam pulvinar at malesuada arcu rhoncus. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. In rutrum accumsan ultricies. Mauris vitae nisi at sem facilisis semper ac in est." );
+//
+// }
+//
+// function testStreamOpen() {
+//
+// $stream1 = new Stream();
+//
+// $handle1 = $stream1->stream_open( $this->emptyTmpFilePath, 'wb', array(), $this->empty );
+//
+// // Test that resource was returned successfully
+// $this->assertTrue( $handle1 );
+//
+// // Test that file has correct size
+// $this->assertEquals( 0, $stream1->size );
+//
+// // Test that path is correct
+// $this->assertEquals( $this->emptyTmpFilePath, $stream1->rawPath );
+//
+// $stream2 = new Stream();
+//
+// $handle2 = $stream2->stream_open( 'crypt://' . $this->emptyTmpFilePath, 'wb', array(), $this->empty );
+//
+// // Test that protocol identifier is removed from path
+// $this->assertEquals( $this->emptyTmpFilePath, $stream2->rawPath );
+//
+// // "Stat failed error" prevents this test from executing
+// // $stream3 = new Stream();
+// //
+// // $handle3 = $stream3->stream_open( $this->dataTmpFilePath, 'r', array(), $this->empty );
+// //
+// // $this->assertEquals( 0, $stream3->size );
+//
+// }
+//
+// function testStreamWrite() {
+//
+// $stream1 = new Stream();
+//
+// $handle1 = $stream1->stream_open( $this->emptyTmpFilePath, 'r+b', array(), $this->empty );
+//
+// # what about the keymanager? there is no key for the newly created temporary file!
+//
+// $stream1->stream_write( $this->dataShort );
+//
+// }
+//
+// // function getStream( $id, $mode, $size ) {
+// //
+// // if ( $id === '' ) {
+// //
+// // $id = uniqid();
+// // }
+// //
+// //
+// // if ( !isset( $this->tmpFiles[$id] ) ) {
+// //
+// // // If tempfile with given name does not already exist, create it
+// //
+// // $file = OCP\Files::tmpFile();
+// //
+// // $this->tmpFiles[$id] = $file;
+// //
+// // } else {
+// //
+// // $file = $this->tmpFiles[$id];
+// //
+// // }
+// //
+// // $stream = fopen( $file, $mode );
+// //
+// // Stream::$sourceStreams[$id] = array( 'path' => 'dummy' . $id, 'stream' => $stream, 'size' => $size );
+// //
+// // return fopen( 'crypt://streams/'.$id, $mode );
+// //
+// // }
+// //
+// // function testStream( ){
+// //
+// // $stream = $this->getStream( 'test1', 'w', strlen( 'foobar' ) );
+// //
+// // fwrite( $stream, 'foobar' );
+// //
+// // fclose( $stream );
+// //
+// //
+// // $stream = $this->getStream( 'test1', 'r', strlen( 'foobar' ) );
+// //
+// // $data = fread( $stream, 6 );
+// //
+// // fclose( $stream );
+// //
+// // $this->assertEquals( 'foobar', $data );
+// //
+// //
+// // $file = OC::$SERVERROOT.'/3rdparty/MDB2.php';
+// //
+// // $source = fopen( $file, 'r' );
+// //
+// // $target = $this->getStream( 'test2', 'w', 0 );
+// //
+// // OCP\Files::streamCopy( $source, $target );
+// //
+// // fclose( $target );
+// //
+// // fclose( $source );
+// //
+// //
+// // $stream = $this->getStream( 'test2', 'r', filesize( $file ) );
+// //
+// // $data = stream_get_contents( $stream );
+// //
+// // $original = file_get_contents( $file );
+// //
+// // $this->assertEquals( strlen( $original ), strlen( $data ) );
+// //
+// // $this->assertEquals( $original, $data );
+// //
+// // }
+//
+// }
+//
+// // class Test_CryptStream extends PHPUnit_Framework_TestCase {
+// // private $tmpFiles=array();
+// //
+// // function testStream(){
+// // $stream=$this->getStream('test1','w',strlen('foobar'));
+// // fwrite($stream,'foobar');
+// // fclose($stream);
+// //
+// // $stream=$this->getStream('test1','r',strlen('foobar'));
+// // $data=fread($stream,6);
+// // fclose($stream);
+// // $this->assertEquals('foobar',$data);
+// //
+// // $file=OC::$SERVERROOT.'/3rdparty/MDB2.php';
+// // $source=fopen($file,'r');
+// // $target=$this->getStream('test2','w',0);
+// // OCP\Files::streamCopy($source,$target);
+// // fclose($target);
+// // fclose($source);
+// //
+// // $stream=$this->getStream('test2','r',filesize($file));
+// // $data=stream_get_contents($stream);
+// // $original=file_get_contents($file);
+// // $this->assertEquals(strlen($original),strlen($data));
+// // $this->assertEquals($original,$data);
+// // }
+// //
+// // /**
+// // * get a cryptstream to a temporary file
+// // * @param string $id
+// // * @param string $mode
+// // * @param int size
+// // * @return resource
+// // */
+// // function getStream($id,$mode,$size){
+// // if($id===''){
+// // $id=uniqid();
+// // }
+// // if(!isset($this->tmpFiles[$id])){
+// // $file=OCP\Files::tmpFile();
+// // $this->tmpFiles[$id]=$file;
+// // }else{
+// // $file=$this->tmpFiles[$id];
+// // }
+// // $stream=fopen($file,$mode);
+// // OC_CryptStream::$sourceStreams[$id]=array('path'=>'dummy'.$id,'stream'=>$stream,'size'=>$size);
+// // return fopen('crypt://streams/'.$id,$mode);
+// // }
+// //
+// // function testBinary(){
+// // $file=__DIR__.'/binary';
+// // $source=file_get_contents($file);
+// //
+// // $stream=$this->getStream('test','w',strlen($source));
+// // fwrite($stream,$source);
+// // fclose($stream);
+// //
+// // $stream=$this->getStream('test','r',strlen($source));
+// // $data=stream_get_contents($stream);
+// // fclose($stream);
+// // $this->assertEquals(strlen($data),strlen($source));
+// // $this->assertEquals($source,$data);
+// //
+// // $file=__DIR__.'/zeros';
+// // $source=file_get_contents($file);
+// //
+// // $stream=$this->getStream('test2','w',strlen($source));
+// // fwrite($stream,$source);
+// // fclose($stream);
+// //
+// // $stream=$this->getStream('test2','r',strlen($source));
+// // $data=stream_get_contents($stream);
+// // fclose($stream);
+// // $this->assertEquals(strlen($data),strlen($source));
+// // $this->assertEquals($source,$data);
+// // }
+// // }
diff --git a/apps/files_encryption/test/util.php b/apps/files_encryption/test/util.php
new file mode 100755
index 00000000000..a299ec67f59
--- /dev/null
+++ b/apps/files_encryption/test/util.php
@@ -0,0 +1,210 @@
+<?php
+/**
+ * Copyright (c) 2012 Sam Tuke <samtuke@owncloud.com>
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+
+//require_once "PHPUnit/Framework/TestCase.php";
+require_once realpath( dirname(__FILE__).'/../../../lib/base.php' );
+require_once realpath( dirname(__FILE__).'/../lib/crypt.php' );
+require_once realpath( dirname(__FILE__).'/../lib/keymanager.php' );
+require_once realpath( dirname(__FILE__).'/../lib/proxy.php' );
+require_once realpath( dirname(__FILE__).'/../lib/stream.php' );
+require_once realpath( dirname(__FILE__).'/../lib/util.php' );
+require_once realpath( dirname(__FILE__).'/../appinfo/app.php' );
+
+// Load mockery files
+require_once 'Mockery/Loader.php';
+require_once 'Hamcrest/Hamcrest.php';
+$loader = new \Mockery\Loader;
+$loader->register();
+
+use \Mockery as m;
+use OCA\Encryption;
+
+class Test_Enc_Util extends \PHPUnit_Framework_TestCase {
+
+ function setUp() {
+
+ \OC_Filesystem::mount( 'OC_Filestorage_Local', array(), '/' );
+
+ // set content for encrypting / decrypting in tests
+ $this->dataUrl = realpath( dirname(__FILE__).'/../lib/crypt.php' );
+ $this->dataShort = 'hats';
+ $this->dataLong = file_get_contents( realpath( dirname(__FILE__).'/../lib/crypt.php' ) );
+ $this->legacyData = realpath( dirname(__FILE__).'/legacy-text.txt' );
+ $this->legacyEncryptedData = realpath( dirname(__FILE__).'/legacy-encrypted-text.txt' );
+
+ $this->userId = 'admin';
+ $this->pass = 'admin';
+
+ $keypair = Encryption\Crypt::createKeypair();
+
+ $this->genPublicKey = $keypair['publicKey'];
+ $this->genPrivateKey = $keypair['privateKey'];
+
+ $this->publicKeyDir = '/' . 'public-keys';
+ $this->encryptionDir = '/' . $this->userId . '/' . 'files_encryption';
+ $this->keyfilesPath = $this->encryptionDir . '/' . 'keyfiles';
+ $this->publicKeyPath = $this->publicKeyDir . '/' . $this->userId . '.public.key'; // e.g. data/public-keys/admin.public.key
+ $this->privateKeyPath = $this->encryptionDir . '/' . $this->userId . '.private.key'; // e.g. data/admin/admin.private.key
+
+ $this->view = new OC_FilesystemView( '/admin' );
+
+ $this->mockView = m::mock('OC_FilesystemView');
+ $this->util = new Encryption\Util( $this->mockView, $this->userId );
+
+ }
+
+ function tearDown(){
+
+ m::close();
+
+ }
+
+ /**
+ * @brief test that paths set during User construction are correct
+ */
+ function testKeyPaths() {
+
+ $mockView = m::mock('OC_FilesystemView');
+
+ $util = new Encryption\Util( $mockView, $this->userId );
+
+ $this->assertEquals( $this->publicKeyDir, $util->getPath( 'publicKeyDir' ) );
+ $this->assertEquals( $this->encryptionDir, $util->getPath( 'encryptionDir' ) );
+ $this->assertEquals( $this->keyfilesPath, $util->getPath( 'keyfilesPath' ) );
+ $this->assertEquals( $this->publicKeyPath, $util->getPath( 'publicKeyPath' ) );
+ $this->assertEquals( $this->privateKeyPath, $util->getPath( 'privateKeyPath' ) );
+
+ }
+
+ /**
+ * @brief test setup of encryption directories when they don't yet exist
+ */
+ function testSetupServerSideNotSetup() {
+
+ $mockView = m::mock('OC_FilesystemView');
+
+ $mockView->shouldReceive( 'file_exists' )->times(4)->andReturn( false );
+ $mockView->shouldReceive( 'mkdir' )->times(3)->andReturn( true );
+ $mockView->shouldReceive( 'file_put_contents' )->withAnyArgs();
+
+ $util = new Encryption\Util( $mockView, $this->userId );
+
+ $this->assertEquals( true, $util->setupServerSide( $this->pass ) );
+
+ }
+
+ /**
+ * @brief test setup of encryption directories when they already exist
+ */
+ function testSetupServerSideIsSetup() {
+
+ $mockView = m::mock('OC_FilesystemView');
+
+ $mockView->shouldReceive( 'file_exists' )->times(5)->andReturn( true );
+ $mockView->shouldReceive( 'file_put_contents' )->withAnyArgs();
+
+ $util = new Encryption\Util( $mockView, $this->userId );
+
+ $this->assertEquals( true, $util->setupServerSide( $this->pass ) );
+
+ }
+
+ /**
+ * @brief test checking whether account is ready for encryption, when it isn't ready
+ */
+ function testReadyNotReady() {
+
+ $mockView = m::mock('OC_FilesystemView');
+
+ $mockView->shouldReceive( 'file_exists' )->times(1)->andReturn( false );
+
+ $util = new Encryption\Util( $mockView, $this->userId );
+
+ $this->assertEquals( false, $util->ready() );
+
+ # TODO: Add more tests here to check that if any of the dirs are
+ # then false will be returned. Use strict ordering?
+
+ }
+
+ /**
+ * @brief test checking whether account is ready for encryption, when it is ready
+ */
+ function testReadyIsReady() {
+
+ $mockView = m::mock('OC_FilesystemView');
+
+ $mockView->shouldReceive( 'file_exists' )->times(3)->andReturn( true );
+
+ $util = new Encryption\Util( $mockView, $this->userId );
+
+ $this->assertEquals( true, $util->ready() );
+
+ # TODO: Add more tests here to check that if any of the dirs are
+ # then false will be returned. Use strict ordering?
+
+ }
+
+// /**
+// * @brief test decryption using legacy blowfish method
+// * @depends testLegacyEncryptLong
+// */
+// function testLegacyKeyRecryptKeyfileDecrypt( $recrypted ) {
+//
+// $decrypted = Encryption\Crypt::keyDecryptKeyfile( $recrypted['data'], $recrypted['key'], $this->genPrivateKey );
+//
+// $this->assertEquals( $this->dataLong, $decrypted );
+//
+// }
+
+// // Cannot use this test for now due to hidden dependencies in OC_FileCache
+// function testIsLegacyEncryptedContent() {
+//
+// $keyfileContent = OCA\Encryption\Crypt::symmetricEncryptFileContent( $this->legacyEncryptedData, 'hat' );
+//
+// $this->assertFalse( OCA\Encryption\Crypt::isLegacyEncryptedContent( $keyfileContent, '/files/admin/test.txt' ) );
+//
+// OC_FileCache::put( '/admin/files/legacy-encrypted-test.txt', $this->legacyEncryptedData );
+//
+// $this->assertTrue( OCA\Encryption\Crypt::isLegacyEncryptedContent( $this->legacyEncryptedData, '/files/admin/test.txt' ) );
+//
+// }
+
+// // Cannot use this test for now due to need for different root in OC_Filesystem_view class
+// function testGetLegacyKey() {
+//
+// $c = new \OCA\Encryption\Util( $view, false );
+//
+// $bool = $c->getLegacyKey( 'admin' );
+//
+// $this->assertTrue( $bool );
+//
+// $this->assertTrue( $c->legacyKey );
+//
+// $this->assertTrue( is_int( $c->legacyKey ) );
+//
+// $this->assertTrue( strlen( $c->legacyKey ) == 20 );
+//
+// }
+
+// // Cannot use this test for now due to need for different root in OC_Filesystem_view class
+// function testLegacyDecrypt() {
+//
+// $c = new OCA\Encryption\Util( $this->view, false );
+//
+// $bool = $c->getLegacyKey( 'admin' );
+//
+// $encrypted = $c->legacyEncrypt( $this->data, $c->legacyKey );
+//
+// $decrypted = $c->legacyDecrypt( $encrypted, $c->legacyKey );
+//
+// $this->assertEquals( $decrypted, $this->data );
+//
+// }
+
+} \ No newline at end of file
diff --git a/apps/files_encryption/tests/zeros b/apps/files_encryption/test/zeros
index ff982acf423..ff982acf423 100644
--- a/apps/files_encryption/tests/zeros
+++ b/apps/files_encryption/test/zeros
Binary files differ
diff --git a/apps/files_encryption/tests/encryption.php b/apps/files_encryption/tests/encryption.php
deleted file mode 100644
index 0e119f55bea..00000000000
--- a/apps/files_encryption/tests/encryption.php
+++ /dev/null
@@ -1,72 +0,0 @@
-<?php
-/**
- * Copyright (c) 2012 Robin Appelman <icewind@owncloud.com>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-
-class Test_Encryption extends UnitTestCase {
- function testEncryption() {
- $key=uniqid();
- $file=OC::$SERVERROOT.'/3rdparty/MDB2.php';
- $source=file_get_contents($file); //nice large text file
- $encrypted=OC_Crypt::encrypt($source, $key);
- $decrypted=OC_Crypt::decrypt($encrypted, $key);
- $decrypted=rtrim($decrypted, "\0");
- $this->assertNotEqual($encrypted, $source);
- $this->assertEqual($decrypted, $source);
-
- $chunk=substr($source, 0, 8192);
- $encrypted=OC_Crypt::encrypt($chunk, $key);
- $this->assertEqual(strlen($chunk), strlen($encrypted));
- $decrypted=OC_Crypt::decrypt($encrypted, $key);
- $decrypted=rtrim($decrypted, "\0");
- $this->assertEqual($decrypted, $chunk);
-
- $encrypted=OC_Crypt::blockEncrypt($source, $key);
- $decrypted=OC_Crypt::blockDecrypt($encrypted, $key);
- $this->assertNotEqual($encrypted, $source);
- $this->assertEqual($decrypted, $source);
-
- $tmpFileEncrypted=OCP\Files::tmpFile();
- OC_Crypt::encryptfile($file, $tmpFileEncrypted, $key);
- $encrypted=file_get_contents($tmpFileEncrypted);
- $decrypted=OC_Crypt::blockDecrypt($encrypted, $key);
- $this->assertNotEqual($encrypted, $source);
- $this->assertEqual($decrypted, $source);
-
- $tmpFileDecrypted=OCP\Files::tmpFile();
- OC_Crypt::decryptfile($tmpFileEncrypted, $tmpFileDecrypted, $key);
- $decrypted=file_get_contents($tmpFileDecrypted);
- $this->assertEqual($decrypted, $source);
-
- $file=OC::$SERVERROOT.'/core/img/weather-clear.png';
- $source=file_get_contents($file); //binary file
- $encrypted=OC_Crypt::encrypt($source, $key);
- $decrypted=OC_Crypt::decrypt($encrypted, $key);
- $decrypted=rtrim($decrypted, "\0");
- $this->assertEqual($decrypted, $source);
-
- $encrypted=OC_Crypt::blockEncrypt($source, $key);
- $decrypted=OC_Crypt::blockDecrypt($encrypted, $key);
- $this->assertEqual($decrypted, $source);
-
- }
-
- function testBinary() {
- $key=uniqid();
-
- $file=__DIR__.'/binary';
- $source=file_get_contents($file); //binary file
- $encrypted=OC_Crypt::encrypt($source, $key);
- $decrypted=OC_Crypt::decrypt($encrypted, $key);
-
- $decrypted=rtrim($decrypted, "\0");
- $this->assertEqual($decrypted, $source);
-
- $encrypted=OC_Crypt::blockEncrypt($source, $key);
- $decrypted=OC_Crypt::blockDecrypt($encrypted, $key, strlen($source));
- $this->assertEqual($decrypted, $source);
- }
-}
diff --git a/apps/files_encryption/tests/proxy.php b/apps/files_encryption/tests/proxy.php
deleted file mode 100644
index 5aa617e7472..00000000000
--- a/apps/files_encryption/tests/proxy.php
+++ /dev/null
@@ -1,117 +0,0 @@
-<?php
-/**
- * Copyright (c) 2012 Robin Appelman <icewind@owncloud.com>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-
-class Test_CryptProxy extends UnitTestCase {
- private $oldConfig;
- private $oldKey;
-
- public function setUp() {
- $user=OC_User::getUser();
-
- $this->oldConfig=OCP\Config::getAppValue('files_encryption','enable_encryption', 'true');
- OCP\Config::setAppValue('files_encryption', 'enable_encryption', 'true');
- $this->oldKey=isset($_SESSION['enckey'])?$_SESSION['enckey']:null;
-
-
- //set testing key
- $_SESSION['enckey']=md5(time());
-
- //clear all proxies and hooks so we can do clean testing
- OC_FileProxy::clearProxies();
- OC_Hook::clear('OC_Filesystem');
-
- //enable only the encryption hook
- OC_FileProxy::register(new OC_FileProxy_Encryption());
-
- //set up temporary storage
- OC_Filesystem::clearMounts();
- OC_Filesystem::mount('OC_Filestorage_Temporary', array(), '/');
-
- OC_Filesystem::init('/'.$user.'/files');
-
- //set up the users home folder in the temp storage
- $rootView=new OC_FilesystemView('');
- $rootView->mkdir('/'.$user);
- $rootView->mkdir('/'.$user.'/files');
- }
-
- public function tearDown() {
- OCP\Config::setAppValue('files_encryption', 'enable_encryption', $this->oldConfig);
- if ( ! is_null($this->oldKey)) {
- $_SESSION['enckey']=$this->oldKey;
- }
- }
-
- public function testSimple() {
- $file=OC::$SERVERROOT.'/3rdparty/MDB2.php';
- $original=file_get_contents($file);
-
- OC_Filesystem::file_put_contents('/file', $original);
-
- OC_FileProxy::$enabled=false;
- $stored=OC_Filesystem::file_get_contents('/file');
- OC_FileProxy::$enabled=true;
-
- $fromFile=OC_Filesystem::file_get_contents('/file');
- $this->assertNotEqual($original, $stored);
- $this->assertEqual(strlen($original), strlen($fromFile));
- $this->assertEqual($original, $fromFile);
-
- }
-
- public function testView() {
- $file=OC::$SERVERROOT.'/3rdparty/MDB2.php';
- $original=file_get_contents($file);
-
- $rootView=new OC_FilesystemView('');
- $view=new OC_FilesystemView('/'.OC_User::getUser());
- $userDir='/'.OC_User::getUser().'/files';
-
- $rootView->file_put_contents($userDir.'/file', $original);
-
- OC_FileProxy::$enabled=false;
- $stored=$rootView->file_get_contents($userDir.'/file');
- OC_FileProxy::$enabled=true;
-
- $this->assertNotEqual($original, $stored);
- $fromFile=$rootView->file_get_contents($userDir.'/file');
- $this->assertEqual($original, $fromFile);
-
- $fromFile=$view->file_get_contents('files/file');
- $this->assertEqual($original, $fromFile);
- }
-
- public function testBinary() {
- $file=__DIR__.'/binary';
- $original=file_get_contents($file);
-
- OC_Filesystem::file_put_contents('/file', $original);
-
- OC_FileProxy::$enabled=false;
- $stored=OC_Filesystem::file_get_contents('/file');
- OC_FileProxy::$enabled=true;
-
- $fromFile=OC_Filesystem::file_get_contents('/file');
- $this->assertNotEqual($original, $stored);
- $this->assertEqual(strlen($original), strlen($fromFile));
- $this->assertEqual($original, $fromFile);
-
- $file=__DIR__.'/zeros';
- $original=file_get_contents($file);
-
- OC_Filesystem::file_put_contents('/file', $original);
-
- OC_FileProxy::$enabled=false;
- $stored=OC_Filesystem::file_get_contents('/file');
- OC_FileProxy::$enabled=true;
-
- $fromFile=OC_Filesystem::file_get_contents('/file');
- $this->assertNotEqual($original, $stored);
- $this->assertEqual(strlen($original), strlen($fromFile));
- }
-}
diff --git a/apps/files_encryption/tests/stream.php b/apps/files_encryption/tests/stream.php
deleted file mode 100644
index e4af17d47b5..00000000000
--- a/apps/files_encryption/tests/stream.php
+++ /dev/null
@@ -1,85 +0,0 @@
-<?php
-/**
- * Copyright (c) 2012 Robin Appelman <icewind@owncloud.com>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-
-class Test_CryptStream extends UnitTestCase {
- private $tmpFiles=array();
-
- function testStream() {
- $stream=$this->getStream('test1', 'w', strlen('foobar'));
- fwrite($stream, 'foobar');
- fclose($stream);
-
- $stream=$this->getStream('test1', 'r', strlen('foobar'));
- $data=fread($stream, 6);
- fclose($stream);
- $this->assertEqual('foobar', $data);
-
- $file=OC::$SERVERROOT.'/3rdparty/MDB2.php';
- $source=fopen($file, 'r');
- $target=$this->getStream('test2', 'w', 0);
- OCP\Files::streamCopy($source, $target);
- fclose($target);
- fclose($source);
-
- $stream=$this->getStream('test2', 'r', filesize($file));
- $data=stream_get_contents($stream);
- $original=file_get_contents($file);
- $this->assertEqual(strlen($original), strlen($data));
- $this->assertEqual($original, $data);
- }
-
- /**
- * get a cryptstream to a temporary file
- * @param string $id
- * @param string $mode
- * @param int size
- * @return resource
- */
- function getStream($id, $mode, $size) {
- if ($id==='') {
- $id=uniqid();
- }
- if ( ! isset($this->tmpFiles[$id])) {
- $file=OCP\Files::tmpFile();
- $this->tmpFiles[$id]=$file;
- } else {
- $file=$this->tmpFiles[$id];
- }
- $stream=fopen($file, $mode);
- OC_CryptStream::$sourceStreams[$id]=array('path'=>'dummy'.$id, 'stream'=>$stream, 'size'=>$size);
- return fopen('crypt://streams/'.$id, $mode);
- }
-
- function testBinary() {
- $file=__DIR__.'/binary';
- $source=file_get_contents($file);
-
- $stream=$this->getStream('test', 'w', strlen($source));
- fwrite($stream, $source);
- fclose($stream);
-
- $stream=$this->getStream('test', 'r', strlen($source));
- $data=stream_get_contents($stream);
- fclose($stream);
- $this->assertEqual(strlen($data), strlen($source));
- $this->assertEqual($source, $data);
-
- $file=__DIR__.'/zeros';
- $source=file_get_contents($file);
-
- $stream=$this->getStream('test2', 'w', strlen($source));
- fwrite($stream, $source);
- fclose($stream);
-
- $stream=$this->getStream('test2', 'r', strlen($source));
- $data=stream_get_contents($stream);
- fclose($stream);
- $this->assertEqual(strlen($data), strlen($source));
- $this->assertEqual($source, $data);
- }
-}
diff --git a/apps/files_external/l10n/bg_BG.php b/apps/files_external/l10n/bg_BG.php
index 48779581846..1f2c29d54c5 100644
--- a/apps/files_external/l10n/bg_BG.php
+++ b/apps/files_external/l10n/bg_BG.php
@@ -1,4 +1,18 @@
<?php $TRANSLATIONS = array(
+"Access granted" => "ДоÑтъпът е даден",
+"Grant access" => "Даване на доÑтъп",
+"Fill out all required fields" => "Попълнете вÑички задължителни полета",
+"External Storage" => "Външно хранилище",
+"Backend" => "ÐдминиÑтрациÑ",
+"Configuration" => "КонфигурациÑ",
+"Options" => "Опции",
+"None set" => "ÐÑма избрано",
+"All Users" => "Ð’Ñички потребители",
"Groups" => "Групи",
-"Delete" => "Изтриване"
+"Users" => "Потребители",
+"Delete" => "Изтриване",
+"Enable User External Storage" => "Вкл. на поддръжка за външно потр. хранилище",
+"Allow users to mount their own external storage" => "Позволено е на потребителите да ползват Ñ‚Ñхно лично външно хранилище",
+"SSL root certificates" => "SSL оÑновни Ñертификати",
+"Import Root Certificate" => "Импортиране на оÑновен Ñертификат"
);
diff --git a/apps/files_external/l10n/bn_BD.php b/apps/files_external/l10n/bn_BD.php
new file mode 100644
index 00000000000..a4a2b23030b
--- /dev/null
+++ b/apps/files_external/l10n/bn_BD.php
@@ -0,0 +1,24 @@
+<?php $TRANSLATIONS = array(
+"Access granted" => "অধিগমনের অনà§à¦®à¦¤à¦¿ পà§à¦°à¦¦à¦¾à¦¨ করা হলো",
+"Error configuring Dropbox storage" => "Dropbox সংরকà§à¦·à¦£à¦¾à¦—ার নিরà§à¦§à¦¾à¦°à¦£ করতে সমসà§à¦¯à¦¾ ",
+"Grant access" => "অধিগমনের অনà§à¦®à¦¤à¦¿ পà§à¦°à¦¦à¦¾à¦¨ কর",
+"Fill out all required fields" => "আবশà§à¦¯à¦¿à¦• সমসà§à¦¤ কà§à¦·à§‡à¦¤à§à¦° পূরণ করà§à¦¨",
+"Please provide a valid Dropbox app key and secret." => "দয়া করে সঠিক à¦à¦¬à¦‚ বৈধ Dropbox app key and secret পà§à¦°à¦¦à¦¾à¦¨ করà§à¦¨à¥¤",
+"Error configuring Google Drive storage" => "Google Drive সংরকà§à¦·à¦£à¦¾à¦—ার নিরà§à¦§à¦¾à¦°à¦£ করতে সমসà§à¦¯à¦¾ ",
+"External Storage" => "বাহà§à¦¯à¦¿à¦• সংরকà§à¦·à¦£à¦¾à¦—ার",
+"Mount point" => "মাউনà§à¦Ÿ পয়েনà§à¦Ÿ",
+"Backend" => "পশà§à¦šà¦¾à¦¦à¦ªà¦Ÿ",
+"Configuration" => "কনফিগারেসন",
+"Options" => "বিকলà§à¦ªà¦¸à¦®à§‚হ",
+"Applicable" => "পà§à¦°à¦¯à§‹à¦œà§à¦¯",
+"Add mount point" => "মাউনà§à¦Ÿ পয়েনà§à¦Ÿ যোগ কর",
+"None set" => "কোনটিই নিরà§à¦§à¦¾à¦°à¦£ করা হয় নি",
+"All Users" => "সমসà§à¦¤ বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•ারী",
+"Groups" => "গোষà§à¦ à§€à¦¸à¦®à§‚হ",
+"Users" => "বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•ারী",
+"Delete" => "মà§à¦›à§‡ ফেল",
+"Enable User External Storage" => "বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•ারীর বাহà§à¦¯à¦¿à¦• সংরকà§à¦·à¦£à¦¾à¦—ার সকà§à¦°à¦¿à§Ÿ কর",
+"Allow users to mount their own external storage" => "বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•ারীদেরকে তাদের নিজসà§à¦¬ বাহà§à¦¯à¦¿à¦• সংরকà§à¦·à¦¨à¦¾à¦—ার সাউনà§à¦Ÿ করতে অনà§à¦®à§‹à¦¦à¦¨ দাও",
+"SSL root certificates" => "SSL রà§à¦Ÿ সনদপতà§à¦°",
+"Import Root Certificate" => "রà§à¦Ÿ সনদপতà§à¦°à¦Ÿà¦¿ আমদানি করà§à¦¨"
+);
diff --git a/apps/files_external/l10n/eu.php b/apps/files_external/l10n/eu.php
index dccd377b119..597204c894d 100644
--- a/apps/files_external/l10n/eu.php
+++ b/apps/files_external/l10n/eu.php
@@ -5,6 +5,8 @@
"Fill out all required fields" => "Bete eskatutako eremu guztiak",
"Please provide a valid Dropbox app key and secret." => "Mesedez eman baliozkoa den Dropbox app giltza eta sekretua",
"Error configuring Google Drive storage" => "Errore bat egon da Google Drive biltegiratzea konfiguratzean",
+"<b>Warning:</b> \"smbclient\" is not installed. Mounting of CIFS/SMB shares is not possible. Please ask your system administrator to install it." => "<b>Abisua:</b> \"smbclient\" ez dago instalatuta. CIFS/SMB partekatutako karpetak montatzea ez da posible. Mesedez eskatu zure sistema kudeatzaileari instalatzea.",
+"<b>Warning:</b> The FTP support in PHP is not enabled or installed. Mounting of FTP shares is not possible. Please ask your system administrator to install it." => "<b>Abisua:</b> PHPren FTP modulua ez dago instalatuta edo gaitua. FTP partekatutako karpetak montatzea ez da posible. Mesedez eskatu zure sistema kudeatzaileari instalatzea.",
"External Storage" => "Kanpoko Biltegiratzea",
"Mount point" => "Montatze puntua",
"Backend" => "Motorra",
diff --git a/apps/files_external/l10n/fr.php b/apps/files_external/l10n/fr.php
index 90007aafaaf..0825a961b1c 100644
--- a/apps/files_external/l10n/fr.php
+++ b/apps/files_external/l10n/fr.php
@@ -5,6 +5,8 @@
"Fill out all required fields" => "Veuillez remplir tous les champs requis",
"Please provide a valid Dropbox app key and secret." => "Veuillez fournir une clé d'application (app key) ainsi qu'un mot de passe valides.",
"Error configuring Google Drive storage" => "Erreur lors de la configuration du support de stockage Google Drive",
+"<b>Warning:</b> \"smbclient\" is not installed. Mounting of CIFS/SMB shares is not possible. Please ask your system administrator to install it." => "<b>Attention : </b> \"smbclient\" n'est pas installé. Le montage des partages CIFS/SMB n'est pas disponible. Contactez votre administrateur système pour l'installer.",
+"<b>Warning:</b> The FTP support in PHP is not enabled or installed. Mounting of FTP shares is not possible. Please ask your system administrator to install it." => "<b>Attention : </b> Le support FTP de PHP n'est pas activé ou installé. Le montage des partages FTP n'est pas disponible. Contactez votre administrateur système pour l'installer.",
"External Storage" => "Stockage externe",
"Mount point" => "Point de montage",
"Backend" => "Infrastructure",
diff --git a/apps/files_external/l10n/gl.php b/apps/files_external/l10n/gl.php
index 5024dac4d8c..f8100e14620 100644
--- a/apps/files_external/l10n/gl.php
+++ b/apps/files_external/l10n/gl.php
@@ -3,8 +3,10 @@
"Error configuring Dropbox storage" => "Produciuse un erro ao configurar o almacenamento en Dropbox",
"Grant access" => "Permitir o acceso",
"Fill out all required fields" => "Cubrir todos os campos obrigatorios",
-"Please provide a valid Dropbox app key and secret." => "Dá o segredo e a chave correcta do aplicativo de Dropbox.",
+"Please provide a valid Dropbox app key and secret." => "Forneza unha chave correcta e segreda do Dropbox.",
"Error configuring Google Drive storage" => "Produciuse un erro ao configurar o almacenamento en Google Drive",
+"<b>Warning:</b> \"smbclient\" is not installed. Mounting of CIFS/SMB shares is not possible. Please ask your system administrator to install it." => "<b>Aviso:</b> «smbclient» non está instalado. Non é posibel a montaxe de comparticións CIFS/SMB. Consulte co administrador do sistema para instalalo.",
+"<b>Warning:</b> The FTP support in PHP is not enabled or installed. Mounting of FTP shares is not possible. Please ask your system administrator to install it." => "<b>Aviso:</b> A compatibilidade de FTP en PHP non está activada ou instalada. Non é posibel a montaxe de comparticións FTP. Consulte co administrador do sistema para instalalo.",
"External Storage" => "Almacenamento externo",
"Mount point" => "Punto de montaxe",
"Backend" => "Infraestrutura",
diff --git a/apps/files_external/l10n/hu_HU.php b/apps/files_external/l10n/hu_HU.php
index e915c34b950..b8973c96411 100644
--- a/apps/files_external/l10n/hu_HU.php
+++ b/apps/files_external/l10n/hu_HU.php
@@ -1,5 +1,26 @@
<?php $TRANSLATIONS = array(
+"Access granted" => "Érvényes hozzáférés",
+"Error configuring Dropbox storage" => "A Dropbox tárolót nem sikerült beállítani",
+"Grant access" => "Megadom a hozzáférést",
+"Fill out all required fields" => "Töltse ki az összes szükséges mezőt",
+"Please provide a valid Dropbox app key and secret." => "Adjon meg egy érvényes Dropbox app key-t és secretet!",
+"Error configuring Google Drive storage" => "A Google Drive tárolót nem sikerült beállítani",
+"<b>Warning:</b> \"smbclient\" is not installed. Mounting of CIFS/SMB shares is not possible. Please ask your system administrator to install it." => "<b>Figyelem:</b> az \"smbclient\" nincs telepítve a kiszolgálón. Emiatt nem lehet CIFS/SMB megosztásokat fölcsatolni. Kérje meg a rendszergazdát, hogy telepítse a szükséges programot.",
+"<b>Warning:</b> The FTP support in PHP is not enabled or installed. Mounting of FTP shares is not possible. Please ask your system administrator to install it." => "<b>Figyelem:</b> a PHP FTP támogatása vagy nincs telepítve, vagy nincs engedélyezve a kiszolgálón. Emiatt nem lehetséges FTP-tárolókat fölcsatolni. Kérje meg a rendszergazdát, hogy telepítse a szükséges programot.",
+"External Storage" => "Külső tárolási szolgáltatások becsatolása",
+"Mount point" => "Hova csatoljuk",
+"Backend" => "Külső tárolórendszer",
+"Configuration" => "Beállítások",
+"Options" => "Opciók",
+"Applicable" => "Érvényességi kör",
+"Add mount point" => "Új csatolás létrehozása",
+"None set" => "Nincs beállítva",
+"All Users" => "Az összes felhasználó",
"Groups" => "Csoportok",
"Users" => "Felhasználók",
-"Delete" => "Törlés"
+"Delete" => "Törlés",
+"Enable User External Storage" => "Külső tárolók engedélyezése a felhasználók részére",
+"Allow users to mount their own external storage" => "Lehetővé teszi, hogy a felhasználók külső tárolási szolgáltatásokat csatoljanak be a saját területükre",
+"SSL root certificates" => "SSL tanúsítványok",
+"Import Root Certificate" => "SSL tanúsítványok importálása"
);
diff --git a/apps/files_external/l10n/is.php b/apps/files_external/l10n/is.php
new file mode 100644
index 00000000000..5110bf5ad27
--- /dev/null
+++ b/apps/files_external/l10n/is.php
@@ -0,0 +1,26 @@
+<?php $TRANSLATIONS = array(
+"Access granted" => "Aðgengi veitt",
+"Error configuring Dropbox storage" => "Villa við að setja upp Dropbox gagnasvæði",
+"Grant access" => "Veita aðgengi",
+"Fill out all required fields" => "Fylltu út alla skilyrta reiti",
+"Please provide a valid Dropbox app key and secret." => "Gefðu upp virkan Dropbox lykil og leynikóða",
+"Error configuring Google Drive storage" => "Villa kom upp við að setja upp Google Drive gagnasvæði",
+"<b>Warning:</b> \"smbclient\" is not installed. Mounting of CIFS/SMB shares is not possible. Please ask your system administrator to install it." => "<b>Aðvörun:</b> \"smbclient\" er ekki uppsettur. Uppsetning á CIFS/SMB gagnasvæðum er ekki möguleg. Hafðu samband við kerfisstjóra til að fá hann uppsettan.",
+"<b>Warning:</b> The FTP support in PHP is not enabled or installed. Mounting of FTP shares is not possible. Please ask your system administrator to install it." => "<b>Aðvörun:</b> FTP stuðningur í PHP er ekki virkur. Uppsetning á FTP gagnasvæðum er ekki möguleg. Hafðu samband við kerfisstjóra til að fá hann uppsettan.",
+"External Storage" => "Ytri gagnageymsla",
+"Mount point" => "Mount svæði",
+"Backend" => "Stjórnun",
+"Configuration" => "Uppsetning",
+"Options" => "Stillingar",
+"Applicable" => "Gilt",
+"Add mount point" => "Bæta við mount svæði",
+"None set" => "Ekkert sett",
+"All Users" => "Allir notendur",
+"Groups" => "Hópar",
+"Users" => "Notendur",
+"Delete" => "Eyða",
+"Enable User External Storage" => "Virkja ytra gagnasvæði notenda",
+"Allow users to mount their own external storage" => "Leyfa notendum að bæta við sínum eigin ytri gagnasvæðum",
+"SSL root certificates" => "SSL rótar skilríki",
+"Import Root Certificate" => "Flytja inn rótar skilríki"
+);
diff --git a/apps/files_external/l10n/ko.php b/apps/files_external/l10n/ko.php
index 74a400303b2..cb691cf5e3d 100644
--- a/apps/files_external/l10n/ko.php
+++ b/apps/files_external/l10n/ko.php
@@ -5,6 +5,8 @@
"Fill out all required fields" => "모든 필수 í•­ëª©ì„ ìž…ë ¥í•˜ì‹­ì‹œì˜¤",
"Please provide a valid Dropbox app key and secret." => "올바른 Dropbox 앱 키와 암호를 입력하십시오.",
"Error configuring Google Drive storage" => "Google 드ë¼ì´ë¸Œ 저장소 설정 오류",
+"<b>Warning:</b> \"smbclient\" is not installed. Mounting of CIFS/SMB shares is not possible. Please ask your system administrator to install it." => "<b>경고</b>\"smbclient\"ê°€ 설치ë˜ì§€ 않았습니다. CIFS/SMB 공유애 ì—°ê²°ì´ ë¶ˆê°€ëŠ¥ 합니다.. 시스템 관리ìžì—게 요청하여 설치하시기 ë°”ëžë‹ˆë‹¤.",
+"<b>Warning:</b> The FTP support in PHP is not enabled or installed. Mounting of FTP shares is not possible. Please ask your system administrator to install it." => "<b>경고</b>PHPìš© FTP ì§€ì›ì´ 사용 불가능 하거나 설치ë˜ì§€ 않았습니다. FTP ê³µìœ ì— ì—°ê²°ì´ ë¶ˆê°€ëŠ¥ 합니다. 시스템 관리ìžì—게 요청하여 설치하시기 ë°”ëžë‹ˆë‹¤. ",
"External Storage" => "외부 저장소",
"Mount point" => "마운트 ì§€ì ",
"Backend" => "백엔드",
diff --git a/apps/files_external/l10n/mk.php b/apps/files_external/l10n/mk.php
index 597623323b0..e3c1e4652b3 100644
--- a/apps/files_external/l10n/mk.php
+++ b/apps/files_external/l10n/mk.php
@@ -1,6 +1,26 @@
<?php $TRANSLATIONS = array(
+"Access granted" => "ПриÑтапот е дозволен",
+"Error configuring Dropbox storage" => "Грешка при конфигурација на Dropbox",
+"Grant access" => "Дозволи приÑтап",
+"Fill out all required fields" => "Пополни ги Ñите задолжителни полиња",
+"Please provide a valid Dropbox app key and secret." => "Ве молам доÑтавите валиден Dropbox клуч и тајна лозинка.",
+"Error configuring Google Drive storage" => "Грешка при конфигурација на Google Drive",
+"<b>Warning:</b> \"smbclient\" is not installed. Mounting of CIFS/SMB shares is not possible. Please ask your system administrator to install it." => "<b>Внимание:</b> \"smbclient\" не е инÑталиран. Ðе е можно монтирање на CIFS/SMB диÑкови. Замолете го Вашиот ÑиÑтем админиÑтратор да го инÑталира.",
+"<b>Warning:</b> The FTP support in PHP is not enabled or installed. Mounting of FTP shares is not possible. Please ask your system administrator to install it." => "<b>Внимание:</b> Ðе е овозможена или инÑталирани FTP подршка во PHP. Ðе е можно монтирање на FTP диÑкови. Замолете го Вашиот ÑиÑтем админиÑтратор да го инÑталира.",
+"External Storage" => "Ðадворешно Ñкладиште",
+"Mount point" => "Точка на монтирање",
"Backend" => "Ðдмин",
+"Configuration" => "Конфигурација",
+"Options" => "Опции",
+"Applicable" => "Применливо",
+"Add mount point" => "Додади точка на монтирање",
+"None set" => "Ðишто поÑтавено",
+"All Users" => "Сите кориÑници",
"Groups" => "Групи",
"Users" => "КориÑници",
-"Delete" => "Избриши"
+"Delete" => "Избриши",
+"Enable User External Storage" => "Овозможи надворешни за кориÑници",
+"Allow users to mount their own external storage" => "Дозволи им на кориÑниците да монтираат Ñвои надворешни диÑкови",
+"SSL root certificates" => "SSL root Ñертификати",
+"Import Root Certificate" => "Увези"
);
diff --git a/apps/files_external/l10n/th_TH.php b/apps/files_external/l10n/th_TH.php
index 70ab8d33485..870995c8e7a 100644
--- a/apps/files_external/l10n/th_TH.php
+++ b/apps/files_external/l10n/th_TH.php
@@ -5,6 +5,8 @@
"Fill out all required fields" => "à¸à¸£à¸­à¸à¸‚้อมูลในช่องข้อมูลที่จำเป็นต้องà¸à¸£à¸­à¸à¸—ั้งหมด",
"Please provide a valid Dropbox app key and secret." => "à¸à¸£à¸¸à¸“าà¸à¸£à¸­à¸à¸£à¸«à¸±à¸ª app key ของ Dropbox à¹à¸¥à¸°à¸£à¸«à¸±à¸ªà¸¥à¸±à¸š",
"Error configuring Google Drive storage" => "เà¸à¸´à¸”ข้อผิดพลาดในà¸à¸²à¸£à¸à¸³à¸«à¸™à¸”ค่าà¸à¸²à¸£à¸ˆà¸±à¸”เà¸à¹‡à¸šà¸‚้อมูลในพื้นที่ของ Google Drive",
+"<b>Warning:</b> \"smbclient\" is not installed. Mounting of CIFS/SMB shares is not possible. Please ask your system administrator to install it." => "<b>คำเตือน:</b> \"smbclient\" ยังไม่ได้ถูà¸à¸•ิดตั้ง. à¸à¸²à¸£à¸Šà¸µà¹‰ CIFS/SMB เพื่อà¹à¸Šà¸£à¹Œà¸‚้อมูลไม่สามารถà¸à¸£à¸°à¸—ำได้ à¸à¸£à¸¸à¸“าสอบถามข้อมูลเพิ่มเติมจาà¸à¸œà¸¹à¹‰à¸”ูà¹à¸¥à¸£à¸°à¸šà¸šà¹€à¸žà¸·à¹ˆà¸­à¸•ิดตั้ง.",
+"<b>Warning:</b> The FTP support in PHP is not enabled or installed. Mounting of FTP shares is not possible. Please ask your system administrator to install it." => "<b>คำเตือน:</b> à¸à¸²à¸£à¸ªà¸™à¸±à¸šà¸ªà¸™à¸¸à¸™à¸à¸²à¸£à¹ƒà¸Šà¹‰à¸‡à¸²à¸™ FTP ในภาษา PHP ยังไม่ได้ถูà¸à¹€à¸›à¸´à¸”ใช้งานหรือถูà¸à¸•ิดตั้ง. à¸à¸²à¸£à¸Šà¸µà¹‰ FTP เพื่อà¹à¸Šà¸£à¹Œà¸‚้อมูลไม่สามารถดำเนินà¸à¸²à¸£à¹„ด้ à¸à¸£à¸¸à¸“าสอบถามข้อมูลเพิ่มเติมจาà¸à¸œà¸¹à¹‰à¸”ูà¹à¸¥à¸£à¸°à¸šà¸šà¹€à¸žà¸·à¹ˆà¸­à¸•ิดตั้ง",
"External Storage" => "พื้นทีจัดเà¸à¹‡à¸šà¸‚้อมูลจาà¸à¸ à¸²à¸¢à¸™à¸­à¸",
"Mount point" => "จุดชี้ตำà¹à¸«à¸™à¹ˆà¸‡",
"Backend" => "ด้านหลังระบบ",
diff --git a/apps/files_external/l10n/tr.php b/apps/files_external/l10n/tr.php
index c5e9f8f892f..e9a045aab57 100644
--- a/apps/files_external/l10n/tr.php
+++ b/apps/files_external/l10n/tr.php
@@ -1,5 +1,16 @@
<?php $TRANSLATIONS = array(
+"External Storage" => "Harici Depolama",
+"Mount point" => "Bağlama Noktası",
+"Backend" => "Yönetici",
+"Configuration" => "Yapılandırma",
+"Options" => "Seçenekler",
+"Applicable" => "Uygulanabilir",
+"Add mount point" => "Bağlama noktası ekle",
+"None set" => "Hiçbiri",
+"All Users" => "Tüm Kullanıcılar",
"Groups" => "Gruplar",
"Users" => "Kullanıcılar",
-"Delete" => "Sil"
+"Delete" => "Sil",
+"SSL root certificates" => "SSL kök sertifikaları",
+"Import Root Certificate" => "Kök Sertifikalarını İçe Aktar"
);
diff --git a/apps/files_external/lib/amazons3.php b/apps/files_external/lib/amazons3.php
index 235ade06db6..e5ef4eb097c 100644
--- a/apps/files_external/lib/amazons3.php
+++ b/apps/files_external/lib/amazons3.php
@@ -108,7 +108,7 @@ class OC_Filestorage_AmazonS3 extends OC_Filestorage_Common {
$stat['atime'] = time();
$stat['mtime'] = $stat['atime'];
$stat['ctime'] = $stat['atime'];
- } else {
+ } else {
$object = $this->getObject($path);
if ($object) {
$stat['size'] = $object['Size'];
diff --git a/apps/files_external/lib/config.php b/apps/files_external/lib/config.php
index 880e6d97e64..2038939153c 100755
--- a/apps/files_external/lib/config.php
+++ b/apps/files_external/lib/config.php
@@ -38,7 +38,7 @@ class OC_Mount_Config {
* @return array
*/
public static function getBackends() {
-
+
$backends['OC_Filestorage_Local']=array(
'backend' => 'Local',
'configuration' => array(
@@ -77,7 +77,7 @@ class OC_Mount_Config {
'token' => '#token',
'token_secret' => '#token secret'),
'custom' => 'google');
-
+
$backends['OC_Filestorage_SWIFT']=array(
'backend' => 'OpenStack Swift',
'configuration' => array(
@@ -86,7 +86,7 @@ class OC_Mount_Config {
'token' => '*Token',
'root' => '&Root',
'secure' => '!Secure ftps://'));
-
+
if(OC_Mount_Config::checksmbclient()) $backends['OC_Filestorage_SMB']=array(
'backend' => 'SMB / CIFS',
'configuration' => array(
@@ -95,7 +95,7 @@ class OC_Mount_Config {
'password' => '*Password',
'share' => 'Share',
'root' => '&Root'));
-
+
$backends['OC_Filestorage_DAV']=array(
'backend' => 'ownCloud / WebDAV',
'configuration' => array(
@@ -411,7 +411,7 @@ class OC_Mount_Config {
}
/**
- * check if smbclient is installed
+ * check if smbclient is installed
*/
public static function checksmbclient() {
if(function_exists('shell_exec')) {
diff --git a/apps/files_external/lib/webdav.php b/apps/files_external/lib/webdav.php
index 68aca228bc5..920aefc12de 100644
--- a/apps/files_external/lib/webdav.php
+++ b/apps/files_external/lib/webdav.php
@@ -50,7 +50,7 @@ class OC_FileStorage_DAV extends OC_Filestorage_Common{
'password' => $this->password,
);
- $this->client = new OC_Connector_Sabre_Client($settings);
+ $this->client = new Sabre_DAV_Client($settings);
$caview = \OCP\Files::getStorage('files_external');
if ($caview) {
@@ -234,12 +234,11 @@ class OC_FileStorage_DAV extends OC_Filestorage_Common{
$path1=$this->cleanPath($path1);
$path2=$this->root.$this->cleanPath($path2);
try {
- $response=$this->client->request('MOVE', $path1, null, array('Destination'=>$path2));
+ $this->client->request('MOVE', $path1, null, array('Destination'=>$path2));
return true;
} catch(Exception $e) {
echo $e;
echo 'fail';
- var_dump($response);
return false;
}
}
@@ -248,12 +247,11 @@ class OC_FileStorage_DAV extends OC_Filestorage_Common{
$path1=$this->cleanPath($path1);
$path2=$this->root.$this->cleanPath($path2);
try {
- $response=$this->client->request('COPY', $path1, null, array('Destination'=>$path2));
+ $this->client->request('COPY', $path1, null, array('Destination'=>$path2));
return true;
} catch(Exception $e) {
echo $e;
echo 'fail';
- var_dump($response);
return false;
}
}
diff --git a/apps/files_external/templates/settings.php b/apps/files_external/templates/settings.php
index dd537d779a6..78ca1c87fee 100644
--- a/apps/files_external/templates/settings.php
+++ b/apps/files_external/templates/settings.php
@@ -1,7 +1,7 @@
<form id="files_external">
<fieldset class="personalblock">
<legend><strong><?php echo $l->t('External Storage'); ?></strong></legend>
- <?php if (isset($_['dependencies']) and ($_['dependencies']<>'')) echo ''.$_['dependencies'].''; ?>
+ <?php if (isset($_['dependencies']) and ($_['dependencies']<>'')) echo ''.$_['dependencies'].''; ?>
<table id="externalStorage" data-admin='<?php echo json_encode($_['isAdminPage']); ?>'>
<thead>
<tr>
@@ -47,7 +47,7 @@
<?php elseif (strpos($placeholder, '!') !== false): ?>
<label><input type="checkbox"
data-parameter="<?php echo $parameter; ?>"
- <?php if ($value == 'true'): ?> checked="checked"<?php endif; ?>
+ <?php if ($value == 'true'): ?> checked="checked"<?php endif; ?>
/><?php echo substr($placeholder, 1); ?></label>
<?php elseif (strpos($placeholder, '&') !== false): ?>
<input type="text"
@@ -105,7 +105,7 @@
<?php endif; ?>
<td <?php if ($mountPoint != ''): ?>class="remove"
<?php else: ?>style="visibility:hidden;"
- <?php endif ?>><img alt="<?php echo $l->t('Delete'); ?>"
+ <?php endif ?>><img alt="<?php echo $l->t('Delete'); ?>"
title="<?php echo $l->t('Delete'); ?>"
class="svg action"
src="<?php echo image_path('core', 'actions/delete.svg'); ?>" /></td>
diff --git a/apps/files_external/tests/ftp.php b/apps/files_external/tests/ftp.php
index d0404b5f34c..91e4589ed18 100644
--- a/apps/files_external/tests/ftp.php
+++ b/apps/files_external/tests/ftp.php
@@ -32,18 +32,18 @@ class Test_Filestorage_FTP extends Test_FileStorage {
'root' => '/',
'secure' => false );
$instance = new OC_Filestorage_FTP($config);
- $this->assertEqual('ftp://ftp:ftp@localhost/', $instance->constructUrl(''));
+ $this->assertEquals('ftp://ftp:ftp@localhost/', $instance->constructUrl(''));
$config['secure'] = true;
$instance = new OC_Filestorage_FTP($config);
- $this->assertEqual('ftps://ftp:ftp@localhost/', $instance->constructUrl(''));
+ $this->assertEquals('ftps://ftp:ftp@localhost/', $instance->constructUrl(''));
$config['secure'] = 'false';
$instance = new OC_Filestorage_FTP($config);
- $this->assertEqual('ftp://ftp:ftp@localhost/', $instance->constructUrl(''));
+ $this->assertEquals('ftp://ftp:ftp@localhost/', $instance->constructUrl(''));
$config['secure'] = 'true';
$instance = new OC_Filestorage_FTP($config);
- $this->assertEqual('ftps://ftp:ftp@localhost/', $instance->constructUrl(''));
+ $this->assertEquals('ftps://ftp:ftp@localhost/', $instance->constructUrl(''));
}
}
diff --git a/apps/files_sharing/appinfo/app.php b/apps/files_sharing/appinfo/app.php
index 109f86b2e87..0104d0d017f 100644
--- a/apps/files_sharing/appinfo/app.php
+++ b/apps/files_sharing/appinfo/app.php
@@ -6,4 +6,4 @@ OC::$CLASSPATH['OC_Filestorage_Shared'] = "apps/files_sharing/lib/sharedstorage.
OCP\Util::connectHook('OC_Filesystem', 'setup', 'OC_Filestorage_Shared', 'setup');
OCP\Share::registerBackend('file', 'OC_Share_Backend_File');
OCP\Share::registerBackend('folder', 'OC_Share_Backend_Folder', 'file');
-OCP\Util::addScript('files_sharing', 'share');
+OCP\Util::addScript('files_sharing', 'share'); \ No newline at end of file
diff --git a/apps/files_sharing/js/share.js b/apps/files_sharing/js/share.js
index 8a546d62163..780b9c1bf6d 100644
--- a/apps/files_sharing/js/share.js
+++ b/apps/files_sharing/js/share.js
@@ -1,7 +1,7 @@
$(document).ready(function() {
- if (typeof OC.Share !== 'undefined' && typeof FileActions !== 'undefined' && !publicListView) {
-
+ if (typeof OC.Share !== 'undefined' && typeof FileActions !== 'undefined' && !disableSharing) {
+
FileActions.register('all', 'Share', OC.PERMISSION_READ, OC.imagePath('core', 'actions/share'), function(filename) {
if ($('#dir').val() == '/') {
var item = $('#dir').val() + filename;
diff --git a/apps/files_sharing/l10n/bg_BG.php b/apps/files_sharing/l10n/bg_BG.php
new file mode 100644
index 00000000000..ac94358c4f9
--- /dev/null
+++ b/apps/files_sharing/l10n/bg_BG.php
@@ -0,0 +1,9 @@
+<?php $TRANSLATIONS = array(
+"Password" => "Парола",
+"Submit" => "Потвърждение",
+"%s shared the folder %s with you" => "%s Ñподели папката %s Ñ Ð’Ð°Ñ",
+"%s shared the file %s with you" => "%s Ñподели файла %s Ñ Ð’Ð°Ñ",
+"Download" => "ИзтеглÑне",
+"No preview available for" => "ÐÑма наличен преглед за",
+"web services under your control" => "уеб уÑлуги под Ваш контрол"
+);
diff --git a/apps/files_sharing/l10n/bn_BD.php b/apps/files_sharing/l10n/bn_BD.php
new file mode 100644
index 00000000000..c3af434ee29
--- /dev/null
+++ b/apps/files_sharing/l10n/bn_BD.php
@@ -0,0 +1,9 @@
+<?php $TRANSLATIONS = array(
+"Password" => "কূটশবà§à¦¦",
+"Submit" => "জমা দাও",
+"%s shared the folder %s with you" => "%s আপনার সাথে %s ফোলà§à¦¡à¦¾à¦°à¦Ÿà¦¿ ভাগাভাগি করেছেন",
+"%s shared the file %s with you" => "%s আপনার সাথে %s ফাইলটি ভাগাভাগি করেছেন",
+"Download" => "ডাউনলোড",
+"No preview available for" => "à¦à¦° জনà§à¦¯ কোন পà§à¦°à¦¾à¦•বীকà§à¦·à¦£ সà§à¦²à¦­ নয়",
+"web services under your control" => "ওয়েব সারà§à¦­à¦¿à¦¸ আপনার হাতের মà§à¦ à§‹à§Ÿ"
+);
diff --git a/apps/files_sharing/l10n/hu_HU.php b/apps/files_sharing/l10n/hu_HU.php
index 881b5afd817..f8ca541260d 100644
--- a/apps/files_sharing/l10n/hu_HU.php
+++ b/apps/files_sharing/l10n/hu_HU.php
@@ -1,6 +1,9 @@
<?php $TRANSLATIONS = array(
-"Size" => "Méret",
-"Modified" => "Módosítva",
-"Delete all" => "Összes törlése",
-"Delete" => "Törlés"
+"Password" => "Jelszó",
+"Submit" => "Elküld",
+"%s shared the folder %s with you" => "%s megosztotta Önnel ezt a mappát: %s",
+"%s shared the file %s with you" => "%s megosztotta Önnel ezt az állományt: %s",
+"Download" => "Letöltés",
+"No preview available for" => "Nem áll rendelkezésre előnézet ehhez: ",
+"web services under your control" => "webszolgáltatások saját kézben"
);
diff --git a/apps/files_sharing/l10n/is.php b/apps/files_sharing/l10n/is.php
new file mode 100644
index 00000000000..bf1975c54ae
--- /dev/null
+++ b/apps/files_sharing/l10n/is.php
@@ -0,0 +1,9 @@
+<?php $TRANSLATIONS = array(
+"Password" => "Lykilorð",
+"Submit" => "Senda",
+"%s shared the folder %s with you" => "%s deildi möppunni %s með þér",
+"%s shared the file %s with you" => "%s deildi skránni %s með þér",
+"Download" => "Niðurhal",
+"No preview available for" => "Yfirlit ekki í boði fyrir",
+"web services under your control" => "vefþjónusta undir þinni stjórn"
+);
diff --git a/apps/files_sharing/l10n/sr.php b/apps/files_sharing/l10n/sr.php
new file mode 100644
index 00000000000..7a922b89002
--- /dev/null
+++ b/apps/files_sharing/l10n/sr.php
@@ -0,0 +1,3 @@
+<?php $TRANSLATIONS = array(
+"Submit" => "Пошаљи"
+);
diff --git a/apps/files_sharing/l10n/zh_TW.php b/apps/files_sharing/l10n/zh_TW.php
index fa4f8075c6e..f1d28731a7f 100644
--- a/apps/files_sharing/l10n/zh_TW.php
+++ b/apps/files_sharing/l10n/zh_TW.php
@@ -4,5 +4,6 @@
"%s shared the folder %s with you" => "%s 分享了資料夾 %s 給您",
"%s shared the file %s with you" => "%s 分享了檔案 %s 給您",
"Download" => "下載",
-"No preview available for" => "無法é è¦½"
+"No preview available for" => "無法é è¦½",
+"web services under your control" => "在您掌控之下的網路æœå‹™"
);
diff --git a/apps/files_sharing/public.php b/apps/files_sharing/public.php
index fef0ed8a8c2..acd5353faff 100644
--- a/apps/files_sharing/public.php
+++ b/apps/files_sharing/public.php
@@ -7,7 +7,7 @@ OC_App::loadApps();
// support will be removed in OC 5.0,a
if (isset($_GET['token'])) {
unset($_GET['file']);
- $qry = \OC_DB::prepare('SELECT `source` FROM `*PREFIX*sharing` WHERE `target` = ? LIMIT 1');
+ $qry = \OC_DB::prepare('SELECT `source` FROM `*PREFIX*sharing` WHERE `target` = ?', 1);
$filepath = $qry->execute(array($_GET['token']))->fetchOne();
if(isset($filepath)) {
$info = OC_FileCache_Cached::get($filepath, '');
@@ -16,7 +16,9 @@ if (isset($_GET['token'])) {
} else {
$_GET['file'] = $filepath;
}
- \OCP\Util::writeLog('files_sharing', 'You have files that are shared by link originating from ownCloud 4.0. Redistribute the new links, because backwards compatibility will be removed in ownCloud 5.', \OCP\Util::WARN);
+ \OCP\Util::writeLog('files_sharing', 'You have files that are shared by link originating from ownCloud 4.0.'
+ .' Redistribute the new links, because backwards compatibility will be removed in ownCloud 5.',
+ \OCP\Util::WARN);
}
}
@@ -27,7 +29,10 @@ function getID($path) {
$path_parts = explode('/', $path, 5);
$user = $path_parts[1];
$intPath = '/'.$path_parts[4];
- $query = \OC_DB::prepare('SELECT `item_source` FROM `*PREFIX*share` WHERE `uid_owner` = ? AND `file_target` = ? ');
+ $query = \OC_DB::prepare('SELECT `item_source`'
+ .' FROM `*PREFIX*share`'
+ .' WHERE `uid_owner` = ?'
+ .' AND `file_target` = ? ');
$result = $query->execute(array($user, $intPath));
$row = $result->fetchRow();
$fileSource = $row['item_source'];
@@ -61,21 +66,22 @@ if (isset($_GET['t'])) {
$type = $linkItem['item_type'];
$fileSource = $linkItem['file_source'];
$shareOwner = $linkItem['uid_owner'];
-
+
if (OCP\User::userExists($shareOwner) && $fileSource != -1 ) {
-
+
$pathAndUser = getPathAndUser($linkItem['file_source']);
$fileOwner = $pathAndUser['user'];
-
+
//if this is a reshare check the file owner also exists
if ($shareOwner != $fileOwner && ! OCP\User::userExists($fileOwner)) {
- OCP\Util::writeLog('share', 'original file owner '.$fileOwner.' does not exist for share '.$linkItem['id'], \OCP\Util::ERROR);
+ OCP\Util::writeLog('share', 'original file owner '.$fileOwner
+ .' does not exist for share '.$linkItem['id'], \OCP\Util::ERROR);
header('HTTP/1.0 404 Not Found');
$tmpl = new OCP\Template('', '404', 'guest');
$tmpl->printPage();
exit();
}
-
+
//mount filesystem of file owner
OC_Util::setupFS($fileOwner);
}
@@ -98,7 +104,7 @@ if (isset($_GET['t'])) {
}
}
$shareOwner = substr($path, 1, strpos($path, '/', 1) - 1);
-
+
if (OCP\User::userExists($shareOwner)) {
OC_Util::setupFS($shareOwner);
$fileSource = getId($path);
@@ -134,7 +140,8 @@ if ($linkItem) {
// Check Password
$forcePortable = (CRYPT_BLOWFISH != 1);
$hasher = new PasswordHash(8, $forcePortable);
- if (!($hasher->CheckPassword($password.OC_Config::getValue('passwordsalt', ''), $linkItem['share_with']))) {
+ if (!($hasher->CheckPassword($password.OC_Config::getValue('passwordsalt', ''),
+ $linkItem['share_with']))) {
$tmpl = new OCP\Template('files_sharing', 'authenticate', 'guest');
$tmpl->assign('URL', $url);
$tmpl->assign('error', true);
@@ -145,19 +152,25 @@ if ($linkItem) {
$_SESSION['public_link_authenticated'] = $linkItem['id'];
}
} else {
- OCP\Util::writeLog('share', 'Unknown share type '.$linkItem['share_type'].' for share id '.$linkItem['id'], \OCP\Util::ERROR);
+ OCP\Util::writeLog('share', 'Unknown share type '.$linkItem['share_type']
+ .' for share id '.$linkItem['id'], \OCP\Util::ERROR);
header('HTTP/1.0 404 Not Found');
$tmpl = new OCP\Template('', '404', 'guest');
$tmpl->printPage();
exit();
}
- // Check if item id is set in session
- } else if (!isset($_SESSION['public_link_authenticated']) || $_SESSION['public_link_authenticated'] !== $linkItem['id']) {
- // Prompt for password
- $tmpl = new OCP\Template('files_sharing', 'authenticate', 'guest');
- $tmpl->assign('URL', $url);
- $tmpl->printPage();
- exit();
+
+ } else {
+ // Check if item id is set in session
+ if (!isset($_SESSION['public_link_authenticated'])
+ || $_SESSION['public_link_authenticated'] !== $linkItem['id']
+ ) {
+ // Prompt for password
+ $tmpl = new OCP\Template('files_sharing', 'authenticate', 'guest');
+ $tmpl->assign('URL', $url);
+ $tmpl->printPage();
+ exit();
+ }
}
}
$basePath = substr($pathAndUser['path'], strlen('/'.$fileOwner.'/files'));
@@ -203,7 +216,9 @@ if ($linkItem) {
$getPath = '';
}
//
- $urlLinkIdentifiers= (isset($token)?'&t='.$token:'').(isset($_GET['dir'])?'&dir='.$_GET['dir']:'').(isset($_GET['file'])?'&file='.$_GET['file']:'');
+ $urlLinkIdentifiers= (isset($token)?'&t='.$token:'')
+ .(isset($_GET['dir'])?'&dir='.$_GET['dir']:'')
+ .(isset($_GET['file'])?'&file='.$_GET['file']:'');
// Show file list
if (OC_Filesystem::is_dir($path)) {
OCP\Util::addStyle('files', 'files');
@@ -242,7 +257,7 @@ if ($linkItem) {
$list = new OCP\Template('files', 'part.list', '');
$list->assign('files', $files, false);
- $list->assign('publicListView', true);
+ $list->assign('disableSharing', true);
$list->assign('baseURL', OCP\Util::linkToPublic('files').$urlLinkIdentifiers.'&path=', false);
$list->assign('downloadURL', OCP\Util::linkToPublic('files').$urlLinkIdentifiers.'&download&path=', false);
$breadcrumbNav = new OCP\Template('files', 'part.breadcrumb', '' );
@@ -260,13 +275,16 @@ if ($linkItem) {
$folder->assign('allowZipDownload', intval(OCP\Config::getSystemValue('allowZipDownload', true)));
$tmpl->assign('folder', $folder->fetchPage(), false);
$tmpl->assign('allowZipDownload', intval(OCP\Config::getSystemValue('allowZipDownload', true)));
- $tmpl->assign('downloadURL', OCP\Util::linkToPublic('files').$urlLinkIdentifiers.'&download&path='.urlencode($getPath));
+ $tmpl->assign('downloadURL', OCP\Util::linkToPublic('files')
+ .$urlLinkIdentifiers.'&download&path='.urlencode($getPath));
} else {
// Show file preview if viewer is available
if ($type == 'file') {
- $tmpl->assign('downloadURL', OCP\Util::linkToPublic('files').$urlLinkIdentifiers.'&download');
+ $tmpl->assign('downloadURL', OCP\Util::linkToPublic('files')
+ .$urlLinkIdentifiers.'&download');
} else {
- $tmpl->assign('downloadURL', OCP\Util::linkToPublic('files').$urlLinkIdentifiers.'&download&path='.urlencode($getPath));
+ $tmpl->assign('downloadURL', OCP\Util::linkToPublic('files')
+ .$urlLinkIdentifiers.'&download&path='.urlencode($getPath));
}
}
$tmpl->printPage();
diff --git a/apps/files_sharing/templates/public.php b/apps/files_sharing/templates/public.php
index 647e1e08a31..275360ac2a8 100644
--- a/apps/files_sharing/templates/public.php
+++ b/apps/files_sharing/templates/public.php
@@ -1,11 +1,5 @@
-<script type="text/javascript">
- <?php if ( array_key_exists('publicListView', $_) && $_['publicListView'] == true ) {
- echo "var publicListView = true;";
- } else {
- echo "var publicListView = false;";
- }
- ?>
-</script>
+<script type="text/javascript" src="<?php echo OC_Helper::linkToRoute('publicListView');?>"></script>
+
<input type="hidden" name="dir" value="<?php echo $_['dir'] ?>" id="dir">
<input type="hidden" name="downloadURL" value="<?php echo $_['downloadURL'] ?>" id="downloadURL">
<input type="hidden" name="filename" value="<?php echo $_['filename'] ?>" id="filename">
diff --git a/apps/files_versions/ajax/getVersions.php b/apps/files_versions/ajax/getVersions.php
index 8476e5e8a51..600e69cf798 100644
--- a/apps/files_versions/ajax/getVersions.php
+++ b/apps/files_versions/ajax/getVersions.php
@@ -4,10 +4,9 @@ OCP\JSON::checkAppEnabled('files_versions');
$userDirectory = "/".OCP\USER::getUser()."/files";
$source = $_GET['source'];
-if( OCA_Versions\Storage::isversioned( $source ) ) {
+$count = 5; //show the newest revisions
+if( ($versions = OCA_Versions\Storage::getVersions( $source, $count)) ) {
- $count=5; //show the newest revisions
- $versions = OCA_Versions\Storage::getVersions( $source, $count);
$versionsFormatted = array();
foreach ( $versions AS $version ) {
diff --git a/apps/files_versions/ajax/rollbackVersion.php b/apps/files_versions/ajax/rollbackVersion.php
index f1b02eb4b92..f2c211d9c1e 100644
--- a/apps/files_versions/ajax/rollbackVersion.php
+++ b/apps/files_versions/ajax/rollbackVersion.php
@@ -8,10 +8,9 @@ $userDirectory = "/".OCP\USER::getUser()."/files";
$file = $_GET['file'];
$revision=(int)$_GET['revision'];
-if( OCA_Versions\Storage::isversioned( $file ) ) {
- if(OCA_Versions\Storage::rollback( $file, $revision )) {
- OCP\JSON::success(array("data" => array( "revision" => $revision, "file" => $file )));
- }else{
- OCP\JSON::error(array("data" => array( "message" => "Could not revert:" . $file )));
- }
+if(OCA_Versions\Storage::rollback( $file, $revision )) {
+ OCP\JSON::success(array("data" => array( "revision" => $revision, "file" => $file )));
+}else{
+ OCP\JSON::error(array("data" => array( "message" => "Could not revert:" . $file )));
}
+
diff --git a/apps/files_versions/history.php b/apps/files_versions/history.php
index d4c278ebd85..6071240e583 100644
--- a/apps/files_versions/history.php
+++ b/apps/files_versions/history.php
@@ -28,7 +28,6 @@ $tmpl = new OCP\Template( 'files_versions', 'history', 'user' );
if ( isset( $_GET['path'] ) ) {
$path = $_GET['path'];
- $path = $path;
$tmpl->assign( 'path', $path );
$versions = new OCA_Versions\Storage();
@@ -52,10 +51,8 @@ if ( isset( $_GET['path'] ) ) {
}
// show the history only if there is something to show
- if( OCA_Versions\Storage::isversioned( $path ) ) {
-
- $count = 999; //show the newest revisions
- $versions = OCA_Versions\Storage::getVersions( $path, $count);
+ $count = 999; //show the newest revisions
+ if( ($versions = OCA_Versions\Storage::getVersions( $path, $count)) ) {
$tmpl->assign( 'versions', array_reverse( $versions ) );
diff --git a/apps/files_versions/js/settings-personal.js b/apps/files_versions/js/settings-personal.js
deleted file mode 100644
index 1e6b036fdab..00000000000
--- a/apps/files_versions/js/settings-personal.js
+++ /dev/null
@@ -1,39 +0,0 @@
-// TODO: allow the button to be clicked only once
-
-$( document ).ready(function(){
- //
- $( '#expireAllBtn' ).click(
-
- function( event ) {
-
- // Prevent page from reloading
- event.preventDefault();
-
- // Show loading gif
- $('.expireAllLoading').show();
-
- $.getJSON(
- OC.filePath('files_versions','ajax','expireAll.php'),
- function(result){
- if (result.status == 'success') {
- $('.expireAllLoading').hide();
- $('#expireAllBtn').html('Expiration successful');
- } else {
-
- // Cancel loading
- $('#expireAllBtn').html('Expiration failed');
-
- // Show Dialog
- OC.dialogs.alert(
- 'Something went wrong, your files may not have been expired',
- 'An error has occurred',
- function(){
- $('#expireAllBtn').html(t('files_versions', 'Expire all versions')+'<img style="display: none;" class="loading" src="'+OC.filePath('core','img','loading.gif')+'" />');
- }
- );
- }
- }
- );
- }
- );
-}); \ No newline at end of file
diff --git a/apps/files_versions/l10n/ar.php b/apps/files_versions/l10n/ar.php
index fea7f1c7562..1f1f3100405 100644
--- a/apps/files_versions/l10n/ar.php
+++ b/apps/files_versions/l10n/ar.php
@@ -1,8 +1,5 @@
<?php $TRANSLATIONS = array(
-"Expire all versions" => "إنهاء تاريخ الإنتهاء لجميع الإصدارات",
"History" => "السجل الزمني",
-"Versions" => "الإصدارات",
-"This will delete all existing backup versions of your files" => "هذه العملية ستقوم بإلغاء جميع إصدارات النسخ الاحتياطي Ù„Ù„Ù…Ù„ÙØ§Øª",
"Files Versioning" => "أصدرة Ø§Ù„Ù…Ù„ÙØ§Øª",
"Enable" => "ØªÙØ¹ÙŠÙ„"
);
diff --git a/apps/files_versions/l10n/bg_BG.php b/apps/files_versions/l10n/bg_BG.php
new file mode 100644
index 00000000000..6ecf12d0b00
--- /dev/null
+++ b/apps/files_versions/l10n/bg_BG.php
@@ -0,0 +1,4 @@
+<?php $TRANSLATIONS = array(
+"History" => "ИÑториÑ",
+"Enable" => "Включено"
+);
diff --git a/apps/files_versions/l10n/bn_BD.php b/apps/files_versions/l10n/bn_BD.php
new file mode 100644
index 00000000000..dffa4d79a06
--- /dev/null
+++ b/apps/files_versions/l10n/bn_BD.php
@@ -0,0 +1,5 @@
+<?php $TRANSLATIONS = array(
+"History" => "ইতিহাস",
+"Files Versioning" => "ফাইল ভারà§à¦¸à¦¨ করা",
+"Enable" => "সকà§à¦°à¦¿à§Ÿ "
+);
diff --git a/apps/files_versions/l10n/ca.php b/apps/files_versions/l10n/ca.php
index 0076d02992f..01e0a116873 100644
--- a/apps/files_versions/l10n/ca.php
+++ b/apps/files_versions/l10n/ca.php
@@ -1,8 +1,5 @@
<?php $TRANSLATIONS = array(
-"Expire all versions" => "Expira totes les versions",
"History" => "Historial",
-"Versions" => "Versions",
-"This will delete all existing backup versions of your files" => "Això eliminarà totes les versions de còpia de seguretat dels vostres fitxers",
"Files Versioning" => "Fitxers de Versions",
"Enable" => "Habilita"
);
diff --git a/apps/files_versions/l10n/cs_CZ.php b/apps/files_versions/l10n/cs_CZ.php
index 3995334d9ee..d219c3e68da 100644
--- a/apps/files_versions/l10n/cs_CZ.php
+++ b/apps/files_versions/l10n/cs_CZ.php
@@ -1,8 +1,5 @@
<?php $TRANSLATIONS = array(
-"Expire all versions" => "Vypršet všechny verze",
"History" => "Historie",
-"Versions" => "Verze",
-"This will delete all existing backup versions of your files" => "Odstraní všechny existující zálohované verze Vašich souborů",
"Files Versioning" => "Verzování souborů",
"Enable" => "Povolit"
);
diff --git a/apps/files_versions/l10n/da.php b/apps/files_versions/l10n/da.php
index bc02b47f2ad..98579747643 100644
--- a/apps/files_versions/l10n/da.php
+++ b/apps/files_versions/l10n/da.php
@@ -1,8 +1,5 @@
<?php $TRANSLATIONS = array(
-"Expire all versions" => "Lad alle versioner udløbe",
"History" => "Historik",
-"Versions" => "Versioner",
-"This will delete all existing backup versions of your files" => "Dette vil slette alle eksisterende backupversioner af dine filer",
"Files Versioning" => "Versionering af filer",
"Enable" => "Aktiver"
);
diff --git a/apps/files_versions/l10n/de.php b/apps/files_versions/l10n/de.php
index 092bbfbff70..2fcb996de7b 100644
--- a/apps/files_versions/l10n/de.php
+++ b/apps/files_versions/l10n/de.php
@@ -1,8 +1,5 @@
<?php $TRANSLATIONS = array(
-"Expire all versions" => "Alle Versionen löschen",
"History" => "Historie",
-"Versions" => "Versionen",
-"This will delete all existing backup versions of your files" => "Dies löscht alle vorhandenen Sicherungsversionen Deiner Dateien.",
"Files Versioning" => "Dateiversionierung",
"Enable" => "Aktivieren"
);
diff --git a/apps/files_versions/l10n/de_DE.php b/apps/files_versions/l10n/de_DE.php
index a568112d02d..2fcb996de7b 100644
--- a/apps/files_versions/l10n/de_DE.php
+++ b/apps/files_versions/l10n/de_DE.php
@@ -1,8 +1,5 @@
<?php $TRANSLATIONS = array(
-"Expire all versions" => "Alle Versionen löschen",
"History" => "Historie",
-"Versions" => "Versionen",
-"This will delete all existing backup versions of your files" => "Dies löscht alle vorhandenen Sicherungsversionen Ihrer Dateien.",
"Files Versioning" => "Dateiversionierung",
"Enable" => "Aktivieren"
);
diff --git a/apps/files_versions/l10n/el.php b/apps/files_versions/l10n/el.php
index f6b9a5b2998..6b189c2cdd3 100644
--- a/apps/files_versions/l10n/el.php
+++ b/apps/files_versions/l10n/el.php
@@ -1,8 +1,5 @@
<?php $TRANSLATIONS = array(
-"Expire all versions" => "Λήξη όλων των εκδόσεων",
"History" => "ΙστοÏικό",
-"Versions" => "Εκδόσεις",
-"This will delete all existing backup versions of your files" => "Αυτό θα διαγÏάψει όλες τις υπάÏχουσες εκδόσεις των αντιγÏάφων ασφαλείας των αÏχείων σας",
"Files Versioning" => "Εκδόσεις ΑÏχείων",
"Enable" => "ΕνεÏγοποίηση"
);
diff --git a/apps/files_versions/l10n/eo.php b/apps/files_versions/l10n/eo.php
index 0c3835373ef..87b314655c0 100644
--- a/apps/files_versions/l10n/eo.php
+++ b/apps/files_versions/l10n/eo.php
@@ -1,8 +1,5 @@
<?php $TRANSLATIONS = array(
-"Expire all versions" => "Eksvalidigi ĉiujn eldonojn",
"History" => "Historio",
-"Versions" => "Eldonoj",
-"This will delete all existing backup versions of your files" => "Ĉi tio forigos ĉiujn estantajn sekurkopiajn eldonojn de viaj dosieroj",
"Files Versioning" => "Dosiereldonigo",
"Enable" => "Kapabligi"
);
diff --git a/apps/files_versions/l10n/es.php b/apps/files_versions/l10n/es.php
index f6b63df7c2b..4a8c34e5180 100644
--- a/apps/files_versions/l10n/es.php
+++ b/apps/files_versions/l10n/es.php
@@ -1,8 +1,5 @@
<?php $TRANSLATIONS = array(
-"Expire all versions" => "Expirar todas las versiones",
"History" => "Historial",
-"Versions" => "Versiones",
-"This will delete all existing backup versions of your files" => "Esto eliminará todas las versiones guardadas como copia de seguridad de tus archivos",
"Files Versioning" => "Versionado de archivos",
"Enable" => "Habilitar"
);
diff --git a/apps/files_versions/l10n/es_AR.php b/apps/files_versions/l10n/es_AR.php
index a78264de03f..74d8907fc35 100644
--- a/apps/files_versions/l10n/es_AR.php
+++ b/apps/files_versions/l10n/es_AR.php
@@ -1,8 +1,5 @@
<?php $TRANSLATIONS = array(
-"Expire all versions" => "Expirar todas las versiones",
"History" => "Historia",
-"Versions" => "Versiones",
-"This will delete all existing backup versions of your files" => "Hacer estom borrará todas las versiones guardadas como copia de seguridad de tus archivos",
"Files Versioning" => "Versionado de archivos",
"Enable" => "Activar"
);
diff --git a/apps/files_versions/l10n/et_EE.php b/apps/files_versions/l10n/et_EE.php
index f1296f23fcd..ff119d5374e 100644
--- a/apps/files_versions/l10n/et_EE.php
+++ b/apps/files_versions/l10n/et_EE.php
@@ -1,8 +1,5 @@
<?php $TRANSLATIONS = array(
-"Expire all versions" => "Kõikide versioonide aegumine",
"History" => "Ajalugu",
-"Versions" => "Versioonid",
-"This will delete all existing backup versions of your files" => "See kustutab kõik sinu failidest tehtud varuversiooni",
"Files Versioning" => "Failide versioonihaldus",
"Enable" => "Luba"
);
diff --git a/apps/files_versions/l10n/eu.php b/apps/files_versions/l10n/eu.php
index d84d9011707..c6b4cd7692d 100644
--- a/apps/files_versions/l10n/eu.php
+++ b/apps/files_versions/l10n/eu.php
@@ -1,8 +1,5 @@
<?php $TRANSLATIONS = array(
-"Expire all versions" => "Iraungi bertsio guztiak",
"History" => "Historia",
-"Versions" => "Bertsioak",
-"This will delete all existing backup versions of your files" => "Honek zure fitxategien bertsio guztiak ezabatuko ditu",
"Files Versioning" => "Fitxategien Bertsioak",
"Enable" => "Gaitu"
);
diff --git a/apps/files_versions/l10n/fi_FI.php b/apps/files_versions/l10n/fi_FI.php
index 3cec4c04bfe..bdce8e9fe52 100644
--- a/apps/files_versions/l10n/fi_FI.php
+++ b/apps/files_versions/l10n/fi_FI.php
@@ -1,8 +1,5 @@
<?php $TRANSLATIONS = array(
-"Expire all versions" => "Vanhenna kaikki versiot",
"History" => "Historia",
-"Versions" => "Versiot",
-"This will delete all existing backup versions of your files" => "Tämä poistaa kaikki tiedostojesi olemassa olevat varmuuskopioversiot",
"Files Versioning" => "Tiedostojen versiointi",
"Enable" => "Käytä"
);
diff --git a/apps/files_versions/l10n/fr.php b/apps/files_versions/l10n/fr.php
index e6dbc274456..2d26b98860a 100644
--- a/apps/files_versions/l10n/fr.php
+++ b/apps/files_versions/l10n/fr.php
@@ -1,8 +1,5 @@
<?php $TRANSLATIONS = array(
-"Expire all versions" => "Supprimer les versions intermédiaires",
"History" => "Historique",
-"Versions" => "Versions",
-"This will delete all existing backup versions of your files" => "Cette opération va effacer toutes les versions intermédiaires de vos fichiers (et ne garder que la dernière version en date).",
"Files Versioning" => "Versionnage des fichiers",
"Enable" => "Activer"
);
diff --git a/apps/files_versions/l10n/gl.php b/apps/files_versions/l10n/gl.php
index f10c1e16263..7e44b8898bf 100644
--- a/apps/files_versions/l10n/gl.php
+++ b/apps/files_versions/l10n/gl.php
@@ -1,8 +1,5 @@
<?php $TRANSLATIONS = array(
-"Expire all versions" => "Caducan todas as versións",
"History" => "Historial",
-"Versions" => "Versións",
-"This will delete all existing backup versions of your files" => "Isto eliminará todas as copias de seguranza que haxa dos seus ficheiros",
"Files Versioning" => "Sistema de versión de ficheiros",
"Enable" => "Activar"
);
diff --git a/apps/files_versions/l10n/he.php b/apps/files_versions/l10n/he.php
index 061e88b0dbf..9eb4df64857 100644
--- a/apps/files_versions/l10n/he.php
+++ b/apps/files_versions/l10n/he.php
@@ -1,8 +1,5 @@
<?php $TRANSLATIONS = array(
-"Expire all versions" => "הפגת תוקף כל הגרס×ות",
"History" => "היסטוריה",
-"Versions" => "גרס×ות",
-"This will delete all existing backup versions of your files" => "פעולה זו תמחק ×ת כל גיבויי הגרס×ות ×”×§×™×™×ž×™× ×©×œ ×”×§×‘×¦×™× ×©×œ×š",
"Files Versioning" => "שמירת הבדלי גרס×ות של קבצי×",
"Enable" => "הפעלה"
);
diff --git a/apps/files_versions/l10n/hu_HU.php b/apps/files_versions/l10n/hu_HU.php
new file mode 100644
index 00000000000..95d37ad06ed
--- /dev/null
+++ b/apps/files_versions/l10n/hu_HU.php
@@ -0,0 +1,5 @@
+<?php $TRANSLATIONS = array(
+"History" => "Korábbi változatok",
+"Files Versioning" => "Az állományok verzionálása",
+"Enable" => "engedélyezve"
+);
diff --git a/apps/files_versions/l10n/id.php b/apps/files_versions/l10n/id.php
index d8ac66c9763..6c553327c42 100644
--- a/apps/files_versions/l10n/id.php
+++ b/apps/files_versions/l10n/id.php
@@ -1,8 +1,5 @@
<?php $TRANSLATIONS = array(
-"Expire all versions" => "kadaluarsakan semua versi",
"History" => "riwayat",
-"Versions" => "versi",
-"This will delete all existing backup versions of your files" => "ini akan menghapus semua versi backup yang ada dari file anda",
"Files Versioning" => "pembuatan versi file",
"Enable" => "aktifkan"
);
diff --git a/apps/files_versions/l10n/is.php b/apps/files_versions/l10n/is.php
new file mode 100644
index 00000000000..ccb8287b71e
--- /dev/null
+++ b/apps/files_versions/l10n/is.php
@@ -0,0 +1,5 @@
+<?php $TRANSLATIONS = array(
+"History" => "Saga",
+"Files Versioning" => "Útgáfur af skrám",
+"Enable" => "Virkja"
+);
diff --git a/apps/files_versions/l10n/it.php b/apps/files_versions/l10n/it.php
index 0b1e70823d5..c57b0930111 100644
--- a/apps/files_versions/l10n/it.php
+++ b/apps/files_versions/l10n/it.php
@@ -1,8 +1,5 @@
<?php $TRANSLATIONS = array(
-"Expire all versions" => "Scadenza di tutte le versioni",
"History" => "Cronologia",
-"Versions" => "Versioni",
-"This will delete all existing backup versions of your files" => "Ciò eliminerà tutte le versioni esistenti dei tuoi file",
"Files Versioning" => "Controllo di versione dei file",
"Enable" => "Abilita"
);
diff --git a/apps/files_versions/l10n/ja_JP.php b/apps/files_versions/l10n/ja_JP.php
index 367152c0743..c97ba3d00ee 100644
--- a/apps/files_versions/l10n/ja_JP.php
+++ b/apps/files_versions/l10n/ja_JP.php
@@ -1,8 +1,5 @@
<?php $TRANSLATIONS = array(
-"Expire all versions" => "ã™ã¹ã¦ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚’削除ã™ã‚‹",
"History" => "履歴",
-"Versions" => "ãƒãƒ¼ã‚¸ãƒ§ãƒ³",
-"This will delete all existing backup versions of your files" => "ã“れã¯ã€ã‚ãªãŸã®ãƒ•ァイルã®ã™ã¹ã¦ã®ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚’削除ã—ã¾ã™",
"Files Versioning" => "ファイルã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ç®¡ç†",
"Enable" => "有効化"
);
diff --git a/apps/files_versions/l10n/ko.php b/apps/files_versions/l10n/ko.php
index 688babb1121..f40925e1be2 100644
--- a/apps/files_versions/l10n/ko.php
+++ b/apps/files_versions/l10n/ko.php
@@ -1,8 +1,5 @@
<?php $TRANSLATIONS = array(
-"Expire all versions" => "모든 버전 삭제",
"History" => "역사",
-"Versions" => "버전",
-"This will delete all existing backup versions of your files" => "ì´ íŒŒì¼ì˜ 모든 백업 ë²„ì „ì„ ì‚­ì œí•©ë‹ˆë‹¤",
"Files Versioning" => "íŒŒì¼ ë²„ì „ 관리",
"Enable" => "사용함"
);
diff --git a/apps/files_versions/l10n/ku_IQ.php b/apps/files_versions/l10n/ku_IQ.php
index 5fa3b9080d7..db5dbad49fc 100644
--- a/apps/files_versions/l10n/ku_IQ.php
+++ b/apps/files_versions/l10n/ku_IQ.php
@@ -1,8 +1,5 @@
<?php $TRANSLATIONS = array(
-"Expire all versions" => "وه‌شانه‌کان گشتیان به‌سه‌رده‌چن",
"History" => "مێژوو",
-"Versions" => "وه‌شان",
-"This will delete all existing backup versions of your files" => "ئه‌مه‌ سه‌رجه‌م پاڵپشتی وه‌شانه‌ هه‌بووه‌کانی په‌ڕگه‌کانت ده‌سڕینته‌وه",
"Files Versioning" => "وه‌شانی په‌ڕگه",
"Enable" => "چالاککردن"
);
diff --git a/apps/files_versions/l10n/lt_LT.php b/apps/files_versions/l10n/lt_LT.php
index 3250ddc7c3c..adf4893020e 100644
--- a/apps/files_versions/l10n/lt_LT.php
+++ b/apps/files_versions/l10n/lt_LT.php
@@ -1,8 +1,5 @@
<?php $TRANSLATIONS = array(
-"Expire all versions" => "Panaikinti visų versijų galiojimą",
"History" => "Istorija",
-"Versions" => "Versijos",
-"This will delete all existing backup versions of your files" => "Tai ištrins visas esamas failo versijas",
"Files Versioning" => "Failų versijos",
"Enable" => "Įjungti"
);
diff --git a/apps/files_versions/l10n/mk.php b/apps/files_versions/l10n/mk.php
index 60a06ad3384..d3ec233fe41 100644
--- a/apps/files_versions/l10n/mk.php
+++ b/apps/files_versions/l10n/mk.php
@@ -1,8 +1,5 @@
<?php $TRANSLATIONS = array(
-"Expire all versions" => "ИÑтечи ги Ñите верзии",
"History" => "ИÑторија",
-"Versions" => "ВерÑии",
-"This will delete all existing backup versions of your files" => "Ова ќе ги избрише Ñите поÑтоечки резервни копии од вашите датотеки",
"Files Versioning" => "Верзии на датотеки",
"Enable" => "Овозможи"
);
diff --git a/apps/files_versions/l10n/nb_NO.php b/apps/files_versions/l10n/nb_NO.php
index b441008db01..18c72506102 100644
--- a/apps/files_versions/l10n/nb_NO.php
+++ b/apps/files_versions/l10n/nb_NO.php
@@ -1,7 +1,5 @@
<?php $TRANSLATIONS = array(
"History" => "Historie",
-"Versions" => "Versjoner",
-"This will delete all existing backup versions of your files" => "Dette vil slette alle tidligere versjoner av alle filene dine",
"Files Versioning" => "Fil versjonering",
"Enable" => "Aktiver"
);
diff --git a/apps/files_versions/l10n/nl.php b/apps/files_versions/l10n/nl.php
index f9b5507621d..cd147ca693f 100644
--- a/apps/files_versions/l10n/nl.php
+++ b/apps/files_versions/l10n/nl.php
@@ -1,8 +1,5 @@
<?php $TRANSLATIONS = array(
-"Expire all versions" => "Alle versies laten verlopen",
"History" => "Geschiedenis",
-"Versions" => "Versies",
-"This will delete all existing backup versions of your files" => "Dit zal alle bestaande backup versies van uw bestanden verwijderen",
"Files Versioning" => "Bestand versies",
"Enable" => "Activeer"
);
diff --git a/apps/files_versions/l10n/pl.php b/apps/files_versions/l10n/pl.php
index 46c28d4590a..a0247b8abc6 100644
--- a/apps/files_versions/l10n/pl.php
+++ b/apps/files_versions/l10n/pl.php
@@ -1,8 +1,5 @@
<?php $TRANSLATIONS = array(
-"Expire all versions" => "WygasajÄ… wszystkie wersje",
"History" => "Historia",
-"Versions" => "Wersje",
-"This will delete all existing backup versions of your files" => "Spowoduje to usunięcie wszystkich istniejących wersji kopii zapasowych plików",
"Files Versioning" => "Wersjonowanie plików",
"Enable" => "Włącz"
);
diff --git a/apps/files_versions/l10n/pt_BR.php b/apps/files_versions/l10n/pt_BR.php
index 3d39a533d65..854a30e6bee 100644
--- a/apps/files_versions/l10n/pt_BR.php
+++ b/apps/files_versions/l10n/pt_BR.php
@@ -1,8 +1,5 @@
<?php $TRANSLATIONS = array(
-"Expire all versions" => "Expirar todas as versões",
"History" => "Histórico",
-"Versions" => "Versões",
-"This will delete all existing backup versions of your files" => "Isso removerá todas as versões de backup existentes dos seus arquivos",
"Files Versioning" => "Versionamento de Arquivos",
"Enable" => "Habilitar"
);
diff --git a/apps/files_versions/l10n/pt_PT.php b/apps/files_versions/l10n/pt_PT.php
index 2ddf70cc6c5..dc1bde08cad 100644
--- a/apps/files_versions/l10n/pt_PT.php
+++ b/apps/files_versions/l10n/pt_PT.php
@@ -1,8 +1,5 @@
<?php $TRANSLATIONS = array(
-"Expire all versions" => "Expirar todas as versões",
"History" => "Histórico",
-"Versions" => "Versões",
-"This will delete all existing backup versions of your files" => "Isto irá apagar todas as versões de backup do seus ficheiros",
"Files Versioning" => "Versionamento de Ficheiros",
"Enable" => "Activar"
);
diff --git a/apps/files_versions/l10n/ro.php b/apps/files_versions/l10n/ro.php
index e23e771e392..7dfaee3672b 100644
--- a/apps/files_versions/l10n/ro.php
+++ b/apps/files_versions/l10n/ro.php
@@ -1,8 +1,5 @@
<?php $TRANSLATIONS = array(
-"Expire all versions" => "Expiră toate versiunile",
"History" => "Istoric",
-"Versions" => "Versiuni",
-"This will delete all existing backup versions of your files" => "Această acțiune va șterge toate versiunile salvate ale fișierelor tale",
"Files Versioning" => "Versionare fișiere",
"Enable" => "Activare"
);
diff --git a/apps/files_versions/l10n/ru.php b/apps/files_versions/l10n/ru.php
index d698e90b8b8..4c7fb501091 100644
--- a/apps/files_versions/l10n/ru.php
+++ b/apps/files_versions/l10n/ru.php
@@ -1,8 +1,5 @@
<?php $TRANSLATIONS = array(
-"Expire all versions" => "ПроÑрочить вÑе верÑии",
"History" => "ИÑториÑ",
-"Versions" => "ВерÑии",
-"This will delete all existing backup versions of your files" => "ОчиÑтить ÑпиÑок верÑий ваших файлов",
"Files Versioning" => "ВерÑии файлов",
"Enable" => "Включить"
);
diff --git a/apps/files_versions/l10n/ru_RU.php b/apps/files_versions/l10n/ru_RU.php
index 557c2f8e6d1..8656e346eb6 100644
--- a/apps/files_versions/l10n/ru_RU.php
+++ b/apps/files_versions/l10n/ru_RU.php
@@ -1,8 +1,5 @@
<?php $TRANSLATIONS = array(
-"Expire all versions" => "Срок дейÑÑ‚Ð²Ð¸Ñ Ð²Ñех верÑий иÑтекает",
"History" => "ИÑториÑ",
-"Versions" => "ВерÑии",
-"This will delete all existing backup versions of your files" => "Это приведет к удалению вÑех ÑущеÑтвующих верÑий резервной копии Ваших файлов",
"Files Versioning" => "Файлы ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð²ÐµÑ€ÑиÑми",
"Enable" => "Включить"
);
diff --git a/apps/files_versions/l10n/si_LK.php b/apps/files_versions/l10n/si_LK.php
index dbddf6dc2e9..37debf869bc 100644
--- a/apps/files_versions/l10n/si_LK.php
+++ b/apps/files_versions/l10n/si_LK.php
@@ -1,8 +1,5 @@
<?php $TRANSLATIONS = array(
-"Expire all versions" => "සියලු අනුවà·à¶¯ අවලංගු කරන්න",
"History" => "ඉතිහà·à·ƒà¶º",
-"Versions" => "අනුවà·à¶¯",
-"This will delete all existing backup versions of your files" => "මෙයින් ඔබගේ ගොනුවේ රක්à·à·’à¶­ කරනු à¶½à·à¶¶à·” අනුවà·à¶¯ සියල්ල මක෠දමනු à¶½à·à¶¶à·š",
"Files Versioning" => "ගොනු අනුවà·à¶¯à¶ºà¶±à·Š",
"Enable" => "සක්â€à¶»à·’ය කරන්න"
);
diff --git a/apps/files_versions/l10n/sk_SK.php b/apps/files_versions/l10n/sk_SK.php
index 132c6c09682..a3a3567cb4f 100644
--- a/apps/files_versions/l10n/sk_SK.php
+++ b/apps/files_versions/l10n/sk_SK.php
@@ -1,8 +1,5 @@
<?php $TRANSLATIONS = array(
-"Expire all versions" => "Expirovať všetky verzie",
"History" => "História",
-"Versions" => "Verzie",
-"This will delete all existing backup versions of your files" => "Budú zmazané všetky zálohované verzie vašich súborov",
"Files Versioning" => "Vytváranie verzií súborov",
"Enable" => "Zapnúť"
);
diff --git a/apps/files_versions/l10n/sl.php b/apps/files_versions/l10n/sl.php
index 22b890a042d..7f386c9edaa 100644
--- a/apps/files_versions/l10n/sl.php
+++ b/apps/files_versions/l10n/sl.php
@@ -1,8 +1,5 @@
<?php $TRANSLATIONS = array(
-"Expire all versions" => "Zastaraj vse razliÄice",
"History" => "Zgodovina",
-"Versions" => "RazliÄice",
-"This will delete all existing backup versions of your files" => "S tem bodo izbrisane vse obstojeÄe razliÄice varnostnih kopij vaÅ¡ih datotek",
"Files Versioning" => "Sledenje razliÄicam",
"Enable" => "OmogoÄi"
);
diff --git a/apps/files_versions/l10n/sv.php b/apps/files_versions/l10n/sv.php
index e36164e30ab..6788d1fb0f9 100644
--- a/apps/files_versions/l10n/sv.php
+++ b/apps/files_versions/l10n/sv.php
@@ -1,8 +1,5 @@
<?php $TRANSLATIONS = array(
-"Expire all versions" => "Upphör alla versioner",
"History" => "Historik",
-"Versions" => "Versioner",
-"This will delete all existing backup versions of your files" => "Detta kommer att radera alla befintliga säkerhetskopior av dina filer",
"Files Versioning" => "Versionshantering av filer",
"Enable" => "Aktivera"
);
diff --git a/apps/files_versions/l10n/ta_LK.php b/apps/files_versions/l10n/ta_LK.php
index f1215b3ecc1..aca76dcc262 100644
--- a/apps/files_versions/l10n/ta_LK.php
+++ b/apps/files_versions/l10n/ta_LK.php
@@ -1,8 +1,5 @@
<?php $TRANSLATIONS = array(
-"Expire all versions" => "எலà¯à®²à®¾ பதிபà¯à®ªà¯à®•ளà¯à®®à¯ காலாவதியாகிவிடà¯à®Ÿà®¤à¯",
"History" => "வரலாறà¯",
-"Versions" => "பதிபà¯à®ªà¯à®•ளà¯",
-"This will delete all existing backup versions of your files" => "உஙà¯à®•ளà¯à®Ÿà¯ˆà®¯ கோபà¯à®ªà¯à®•à¯à®•ளில௠à®à®±à¯à®•னவே உளà¯à®³ ஆதாரநகலà¯à®•ளின௠பதிபà¯à®ªà¯à®•à¯à®•ளை இவை அழிதà¯à®¤à¯à®µà®¿à®Ÿà¯à®®à¯",
"Files Versioning" => "கோபà¯à®ªà¯ பதிபà¯à®ªà¯à®•ளà¯",
"Enable" => "இயலà¯à®®à¯ˆà®ªà¯à®ªà®Ÿà¯à®¤à¯à®¤à¯à®•"
);
diff --git a/apps/files_versions/l10n/th_TH.php b/apps/files_versions/l10n/th_TH.php
index 89b9f626911..e1e996903ae 100644
--- a/apps/files_versions/l10n/th_TH.php
+++ b/apps/files_versions/l10n/th_TH.php
@@ -1,8 +1,5 @@
<?php $TRANSLATIONS = array(
-"Expire all versions" => "หมดอายุทุà¸à¸£à¸¸à¹ˆà¸™",
"History" => "ประวัติ",
-"Versions" => "รุ่น",
-"This will delete all existing backup versions of your files" => "นี่จะเป็นลบทิ้งไฟล์รุ่นที่ทำà¸à¸²à¸£à¸ªà¸³à¸£à¸­à¸‡à¸‚้อมูลทั้งหมดที่มีอยู่ของคุณทิ้งไป",
"Files Versioning" => "à¸à¸²à¸£à¸à¸³à¸«à¸™à¸”เวอร์ชั่นของไฟล์",
"Enable" => "เปิดใช้งาน"
);
diff --git a/apps/files_versions/l10n/tr.php b/apps/files_versions/l10n/tr.php
new file mode 100644
index 00000000000..e9a4c4702e1
--- /dev/null
+++ b/apps/files_versions/l10n/tr.php
@@ -0,0 +1,5 @@
+<?php $TRANSLATIONS = array(
+"History" => "Geçmiş",
+"Files Versioning" => "Dosya Sürümleri",
+"Enable" => "EtkinleÅŸtir"
+);
diff --git a/apps/files_versions/l10n/uk.php b/apps/files_versions/l10n/uk.php
index 7532f755c88..49acda81079 100644
--- a/apps/files_versions/l10n/uk.php
+++ b/apps/files_versions/l10n/uk.php
@@ -1,8 +1,5 @@
<?php $TRANSLATIONS = array(
-"Expire all versions" => "Термін дії вÑÑ–Ñ… верÑій",
"History" => "ІÑторіÑ",
-"Versions" => "ВерÑÑ–Ñ—",
-"This will delete all existing backup versions of your files" => "Це призведе до Ð·Ð½Ð¸Ñ‰ÐµÐ½Ð½Ñ Ð²ÑÑ–Ñ… Ñ–Ñнуючих збережених верÑій Ваших файлів",
"Files Versioning" => "ВерÑÑ–Ñ— файлів",
"Enable" => "Включити"
);
diff --git a/apps/files_versions/l10n/vi.php b/apps/files_versions/l10n/vi.php
index 260c3b6b39c..bb7163f6b18 100644
--- a/apps/files_versions/l10n/vi.php
+++ b/apps/files_versions/l10n/vi.php
@@ -1,8 +1,5 @@
<?php $TRANSLATIONS = array(
-"Expire all versions" => "Hết hạn tất cả các phiên bản",
"History" => "Lịch sử",
-"Versions" => "Phiên bản",
-"This will delete all existing backup versions of your files" => "Khi bạn thực hiện thao tác này sẽ xóa tất cả các phiên bản sao lưu hiện có ",
"Files Versioning" => "Phiên bản tập tin",
"Enable" => "Bật "
);
diff --git a/apps/files_versions/l10n/zh_CN.GB2312.php b/apps/files_versions/l10n/zh_CN.GB2312.php
index 107805221b8..d9e788033aa 100644
--- a/apps/files_versions/l10n/zh_CN.GB2312.php
+++ b/apps/files_versions/l10n/zh_CN.GB2312.php
@@ -1,8 +1,5 @@
<?php $TRANSLATIONS = array(
-"Expire all versions" => "作废所有版本",
"History" => "历å²",
-"Versions" => "版本",
-"This will delete all existing backup versions of your files" => "这将删除所有您现有文件的备份版本",
"Files Versioning" => "文件版本",
"Enable" => "å¯ç”¨"
);
diff --git a/apps/files_versions/l10n/zh_CN.php b/apps/files_versions/l10n/zh_CN.php
index 48e7157c98f..14301ff0c04 100644
--- a/apps/files_versions/l10n/zh_CN.php
+++ b/apps/files_versions/l10n/zh_CN.php
@@ -1,8 +1,5 @@
<?php $TRANSLATIONS = array(
-"Expire all versions" => "过期所有版本",
"History" => "历å²",
-"Versions" => "版本",
-"This will delete all existing backup versions of your files" => "将会删除您的文件的所有备份版本",
"Files Versioning" => "文件版本",
"Enable" => "å¼€å¯"
);
diff --git a/apps/files_versions/l10n/zh_TW.php b/apps/files_versions/l10n/zh_TW.php
index a21fdc85f8d..a7b496b37db 100644
--- a/apps/files_versions/l10n/zh_TW.php
+++ b/apps/files_versions/l10n/zh_TW.php
@@ -1,7 +1,5 @@
<?php $TRANSLATIONS = array(
-"Expire all versions" => "所有逾期的版本",
"History" => "æ­·å²",
-"Versions" => "版本",
"Files Versioning" => "檔案版本化中...",
"Enable" => "啟用"
);
diff --git a/apps/files_versions/lib/hooks.php b/apps/files_versions/lib/hooks.php
index e897a81f7af..5fb9dc3c3c5 100644
--- a/apps/files_versions/lib/hooks.php
+++ b/apps/files_versions/lib/hooks.php
@@ -39,15 +39,15 @@ class Hooks {
* cleanup the versions directory if the actual file gets deleted
*/
public static function remove_hook($params) {
- $versions_fileview = \OCP\Files::getStorage('files_versions');
- $rel_path = $params['path'];
- $abs_path = \OCP\Config::getSystemValue('datadirectory').$versions_fileview->getAbsolutePath('').$rel_path.'.v';
- if(Storage::isversioned($rel_path)) {
- $versions = Storage::getVersions($rel_path);
- foreach ($versions as $v) {
- unlink($abs_path . $v['version']);
- }
- }
+ if(\OCP\Config::getSystemValue('files_versions', Storage::DEFAULTENABLED)=='true') {
+
+ $versions = new Storage( new \OC_FilesystemView('') );
+
+ $path = $params[\OC_Filesystem::signal_param_path];
+
+ if($path<>'') $versions->delete( $path );
+
+ }
}
/**
@@ -58,18 +58,16 @@ class Hooks {
* of the stored versions along the actual file
*/
public static function rename_hook($params) {
- $versions_fileview = \OCP\Files::getStorage('files_versions');
- $rel_oldpath = $params['oldpath'];
- $abs_oldpath = \OCP\Config::getSystemValue('datadirectory').$versions_fileview->getAbsolutePath('').$rel_oldpath.'.v';
- $abs_newpath = \OCP\Config::getSystemValue('datadirectory').$versions_fileview->getAbsolutePath('').$params['newpath'].'.v';
- if(Storage::isversioned($rel_oldpath)) {
- $info=pathinfo($abs_newpath);
- if(!file_exists($info['dirname'])) mkdir($info['dirname'], 0750, true);
- $versions = Storage::getVersions($rel_oldpath);
- foreach ($versions as $v) {
- rename($abs_oldpath.$v['version'], $abs_newpath.$v['version']);
- }
+ if(\OCP\Config::getSystemValue('files_versions', Storage::DEFAULTENABLED)=='true') {
+
+ $versions = new Storage( new \OC_FilesystemView('') );
+
+ $oldpath = $params['oldpath'];
+ $newpath = $params['newpath'];
+
+ if($oldpath<>'' && $newpath<>'') $versions->rename( $oldpath, $newpath );
+
}
}
-
+
}
diff --git a/apps/files_versions/lib/versions.php b/apps/files_versions/lib/versions.php
index 0ccaaf1095d..48be5e223ac 100644
--- a/apps/files_versions/lib/versions.php
+++ b/apps/files_versions/lib/versions.php
@@ -1,6 +1,7 @@
<?php
/**
* Copyright (c) 2012 Frank Karlitschek <frank@owncloud.org>
+ * 2013 Bjoern Schiessle <schiessle@owncloud.com>
* This file is licensed under the Affero General Public License version 3 or
* later.
* See the COPYING-README file.
@@ -16,24 +17,23 @@ namespace OCA_Versions;
class Storage {
-
- // config.php configuration:
- // - files_versions
- // - files_versionsfolder
- // - files_versionsblacklist
- // - files_versionsmaxfilesize
- // - files_versionsinterval
- // - files_versionmaxversions
- //
- // todo:
- // - finish porting to OC_FilesystemView to enable network transparency
- // - add transparent compression. first test if it´s worth it.
-
const DEFAULTENABLED=true;
- const DEFAULTBLACKLIST='avi mp3 mpg mp4 ctmp';
- const DEFAULTMAXFILESIZE=1048576; // 10MB
- const DEFAULTMININTERVAL=60; // 1 min
- const DEFAULTMAXVERSIONS=50;
+ const DEFAULTMAXSIZE=50; // unit: percentage; 50% of available disk space/quota
+
+ private static $max_versions_per_interval = array(
+ 1 => array('intervalEndsAfter' => 10, //first 10sec, one version every 2sec
+ 'step' => 2),
+ 2 => array('intervalEndsAfter' => 60, //next minute, one version every 10sec
+ 'step' => 10),
+ 3 => array('intervalEndsAfter' => 3600, //next hour, one version every minute
+ 'step' => 60),
+ 4 => array('intervalEndsAfter' => 86400, //next 24h, one version every hour
+ 'step' => 3600),
+ 5 => array('intervalEndsAfter' => 2592000, //next 30days, one version per day
+ 'step' => 86400),
+ 6 => array('intervalEndsAfter' => -1, //until the end one version per week
+ 'step' => 604800),
+ );
private static function getUidAndFilename($filename)
{
@@ -72,56 +72,78 @@ class Storage {
return false;
}
- // check filetype blacklist
- $blacklist=explode(' ', \OCP\Config::getSystemValue('files_versionsblacklist', Storage::DEFAULTBLACKLIST));
- foreach($blacklist as $bl) {
- $parts=explode('.', $filename);
- $ext=end($parts);
- if(strtolower($ext)==$bl) {
- return false;
- }
- }
// we should have a source file to work with
if (!$files_view->file_exists($filename)) {
return false;
}
- // check filesize
- if($files_view->filesize($filename)>\OCP\Config::getSystemValue('files_versionsmaxfilesize', Storage::DEFAULTMAXFILESIZE)) {
- return false;
- }
-
-
- // check mininterval if the file is being modified by the owner (all shared files should be versioned despite mininterval)
- if ($uid == \OCP\User::getUser()) {
- $versions_fileview = new \OC_FilesystemView('/'.$uid.'/files_versions');
- $versionsName=\OCP\Config::getSystemValue('datadirectory').$versions_fileview->getAbsolutePath($filename);
- $versionsFolderName=\OCP\Config::getSystemValue('datadirectory').$versions_fileview->getAbsolutePath('');
- $matches=glob($versionsName.'.v*');
- sort($matches);
- $parts=explode('.v', end($matches));
- if((end($parts)+Storage::DEFAULTMININTERVAL)>time()) {
- return false;
- }
- }
-
-
// create all parent folders
$info=pathinfo($filename);
+ $versionsFolderName=\OCP\Config::getSystemValue('datadirectory').$users_view->getAbsolutePath('files_versions/');
if(!file_exists($versionsFolderName.'/'.$info['dirname'])) {
mkdir($versionsFolderName.'/'.$info['dirname'], 0750, true);
}
// store a new version of a file
- $users_view->copy('files'.$filename, 'files_versions'.$filename.'.v'.time());
-
+ $result = $users_view->copy('files'.$filename, 'files_versions'.$filename.'.v'.$users_view->filemtime('files'.$filename));
+ if ( ($versionsSize = \OCP\Config::getAppValue('files_versions', 'size')) === null ) {
+ $versionsSize = self::calculateSize($uid);
+ }
+ $versionsSize += $users_view->filesize('files'.$filename);
+
// expire old revisions if necessary
- Storage::expire($filename);
+ $newSize = self::expire($filename, $versionsSize);
+
+ if ( $newSize != $versionsSize ) {
+ \OCP\Config::setAppValue('files_versions', 'size', $versionsSize);
+ }
}
}
/**
+ * Delete versions of a file
+ */
+ public static function delete($filename) {
+ list($uid, $filename) = self::getUidAndFilename($filename);
+ $versions_fileview = new \OC_FilesystemView('/'.$uid .'/files_versions');
+
+ $abs_path = \OCP\Config::getSystemValue('datadirectory').$versions_fileview->getAbsolutePath('').$filename.'.v';
+ if( ($versions = self::getVersions($filename)) ) {
+ if ( ($versionsSize = \OCP\Config::getAppValue('files_versions', 'size')) === null ) {
+ $versionsSize = self::calculateSize($uid);
+ }
+ foreach ($versions as $v) {
+ unlink($abs_path . $v['version']);
+ $versionsSize -= $v['size'];
+ }
+ \OCP\Config::setAppValue('files_versions', 'size', $versionsSize);
+ }
+ }
+
+ /**
+ * rename versions of a file
+ */
+ public static function rename($oldpath, $newpath) {
+ list($uid, $oldpath) = self::getUidAndFilename($oldpath);
+ list($uidn, $newpath) = self::getUidAndFilename($newpath);
+ $versions_view = new \OC_FilesystemView('/'.$uid .'/files_versions');
+ $files_view = new \OC_FilesystemView('/'.$uid .'/files');
+ $abs_newpath = \OCP\Config::getSystemValue('datadirectory').$versions_view->getAbsolutePath('').$newpath;
+
+ if ( $files_view->is_dir($oldpath) && $versions_view->is_dir($oldpath) ) {
+ $versions_view->rename($oldpath, $newpath);
+ } else if ( ($versions = Storage::getVersions($oldpath)) ) {
+ $info=pathinfo($abs_newpath);
+ if(!file_exists($info['dirname'])) mkdir($info['dirname'], 0750, true);
+ $versions = Storage::getVersions($oldpath);
+ foreach ($versions as $v) {
+ $versions_view->rename($oldpath.'.v'.$v['version'], $newpath.'.v'.$v['version']);
+ }
+ }
+ }
+
+ /**
* rollback to an old version of a file.
*/
public static function rollback($filename, $revision) {
@@ -129,45 +151,29 @@ class Storage {
if(\OCP\Config::getSystemValue('files_versions', Storage::DEFAULTENABLED)=='true') {
list($uid, $filename) = self::getUidAndFilename($filename);
$users_view = new \OC_FilesystemView('/'.$uid);
-
+ $versionCreated = false;
+
+ //first create a new version
+ $version = 'files_versions'.$filename.'.v'.$users_view->filemtime('files'.$filename);
+ if ( !$users_view->file_exists($version)) {
+ $users_view->copy('files'.$filename, 'files_versions'.$filename.'.v'.$users_view->filemtime('files'.$filename));
+ $versionCreated = true;
+ }
+
// rollback
if( @$users_view->copy('files_versions'.$filename.'.v'.$revision, 'files'.$filename) ) {
-
+ $users_view->touch('files'.$filename, $revision);
+ Storage::expire($filename);
return true;
- }else{
-
- return false;
-
+ }else if ( $versionCreated ) {
+ $users_view->unlink($version);
}
-
}
+ return false;
}
- /**
- * check if old versions of a file exist.
- */
- public static function isversioned($filename) {
- if(\OCP\Config::getSystemValue('files_versions', Storage::DEFAULTENABLED)=='true') {
- list($uid, $filename) = self::getUidAndFilename($filename);
- $versions_fileview = new \OC_FilesystemView('/'.$uid.'/files_versions');
-
- $versionsName=\OCP\Config::getSystemValue('datadirectory').$versions_fileview->getAbsolutePath($filename);
-
- // check for old versions
- $matches=glob($versionsName.'.v*');
- if(count($matches)>0) {
- return true;
- }else{
- return false;
- }
- }else{
- return(false);
- }
- }
-
-
/**
* @brief get a list of all available versions of a file in descending chronological order
@@ -187,92 +193,232 @@ class Storage {
sort( $matches );
- $i = 0;
-
- $files_view = new \OC_FilesystemView('/'.\OCP\User::getUser().'/files');
+ $files_view = new \OC_FilesystemView('/'.$uid.'/files');
$local_file = $files_view->getLocalFile($filename);
- foreach( $matches as $ma ) {
- $i++;
- $versions[$i]['cur'] = 0;
+ foreach( $matches as $ma ) {
$parts = explode( '.v', $ma );
- $versions[$i]['version'] = ( end( $parts ) );
+ $version = ( end( $parts ) );
+ $key = $version.'#'.$filename;
+ $versions[$key]['cur'] = 0;
+ $versions[$key]['version'] = $version;
+ $versions[$key]['path'] = $filename;
+ $versions[$key]['size'] = $versions_fileview->filesize($filename.'.v'.$version);
// if file with modified date exists, flag it in array as currently enabled version
- ( \md5_file( $ma ) == \md5_file( $local_file ) ? $versions[$i]['fileMatch'] = 1 : $versions[$i]['fileMatch'] = 0 );
+ ( \md5_file( $ma ) == \md5_file( $local_file ) ? $versions[$key]['fileMatch'] = 1 : $versions[$key]['fileMatch'] = 0 );
}
$versions = array_reverse( $versions );
foreach( $versions as $key => $value ) {
-
// flag the first matched file in array (which will have latest modification date) as current version
if ( $value['fileMatch'] ) {
-
$value['cur'] = 1;
break;
-
}
-
}
$versions = array_reverse( $versions );
// only show the newest commits
if( $count != 0 and ( count( $versions )>$count ) ) {
-
$versions = array_slice( $versions, count( $versions ) - $count );
-
}
return( $versions );
-
} else {
-
// if versioning isn't enabled then return an empty array
return( array() );
-
}
}
+ /**
+ * @brief get the size of all stored versions from a given user
+ * @param $uid id from the user
+ * @return size of vesions
+ */
+ private static function calculateSize($uid) {
+ if( \OCP\Config::getSystemValue('files_versions', Storage::DEFAULTENABLED)=='true' ) {
+ $versions_fileview = new \OC_FilesystemView('/'.$uid.'/files_versions');
+ $versionsRoot = \OCP\Config::getSystemValue('datadirectory').$versions_fileview->getAbsolutePath('');
+
+ $iterator = new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator($versionsRoot), \RecursiveIteratorIterator::CHILD_FIRST);
+
+ $size = 0;
+
+ foreach ($iterator as $path) {
+ if ( preg_match('/^.+\.v(\d+)$/', $path, $match) ) {
+ $relpath = substr($path, strlen($versionsRoot)-1);
+ $size += $versions_fileview->filesize($relpath);
+ }
+ }
+
+ return $size;
+ }
+ }
+
/**
- * @brief Erase a file's versions which exceed the set quota
+ * @brief returns all stored file versions from a given user
+ * @param $uid id to the user
+ * @return array with contains two arrays 'all' which contains all versions sorted by age and 'by_file' which contains all versions sorted by filename
*/
- public static function expire($filename) {
- if(\OCP\Config::getSystemValue('files_versions', Storage::DEFAULTENABLED)=='true') {
- list($uid, $filename) = self::getUidAndFilename($filename);
+ private static function getAllVersions($uid) {
+ if( \OCP\Config::getSystemValue('files_versions', Storage::DEFAULTENABLED)=='true' ) {
$versions_fileview = new \OC_FilesystemView('/'.$uid.'/files_versions');
-
- $versionsName=\OCP\Config::getSystemValue('datadirectory').$versions_fileview->getAbsolutePath($filename);
-
- // check for old versions
- $matches = glob( $versionsName.'.v*' );
-
- if( count( $matches ) > \OCP\Config::getSystemValue( 'files_versionmaxversions', Storage::DEFAULTMAXVERSIONS ) ) {
-
- $numberToDelete = count($matches) - \OCP\Config::getSystemValue( 'files_versionmaxversions', Storage::DEFAULTMAXVERSIONS );
-
- // delete old versions of a file
- $deleteItems = array_slice( $matches, 0, $numberToDelete );
-
- foreach( $deleteItems as $de ) {
-
- unlink( $versionsName.'.v'.$de );
-
+ $versionsRoot = \OCP\Config::getSystemValue('datadirectory').$versions_fileview->getAbsolutePath('');
+
+ $iterator = new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator($versionsRoot), \RecursiveIteratorIterator::CHILD_FIRST);
+
+ $versions = array();
+
+ foreach ($iterator as $path) {
+ if ( preg_match('/^.+\.v(\d+)$/', $path, $match) ) {
+ $relpath = substr($path, strlen($versionsRoot)-1);
+ $versions[$match[1].'#'.$relpath] = array('path' => $relpath, 'timestamp' => $match[1]);
}
+ }
+
+ ksort($versions);
+
+ $i = 0;
+
+ $result = array();
+
+ foreach( $versions as $key => $value ) {
+ $i++;
+ $size = $versions_fileview->filesize($value['path']);
+ $filename = substr($value['path'], 0, -strlen($value['timestamp'])-2);
+
+ $result['all'][$key]['version'] = $value['timestamp'];
+ $result['all'][$key]['path'] = $filename;
+ $result['all'][$key]['size'] = $size;
+
+ $filename = substr($value['path'], 0, -strlen($value['timestamp'])-2);
+ $result['by_file'][$filename][$key]['version'] = $value['timestamp'];
+ $result['by_file'][$filename][$key]['path'] = $filename;
+ $result['by_file'][$filename][$key]['size'] = $size;
+
}
+
+ return $result;
}
}
/**
- * @brief Erase all old versions of all user files
- * @return true/false
+ * @brief Erase a file's versions which exceed the set quota
*/
- public function expireAll() {
- $view = \OCP\Files::getStorage('files_versions');
- return $view->deleteAll('', true);
+ private static function expire($filename, $versionsSize = null) {
+ if(\OCP\Config::getSystemValue('files_versions', Storage::DEFAULTENABLED)=='true') {
+ list($uid, $filename) = self::getUidAndFilename($filename);
+ $versions_fileview = new \OC_FilesystemView('/'.$uid.'/files_versions');
+
+ // get available disk space for user
+ $quota = \OCP\Util::computerFileSize(\OC_Preferences::getValue($uid, 'files', 'quota'));
+ if ( $quota == null ) {
+ $quota = \OCP\Util::computerFileSize(\OC_Appconfig::getValue('files', 'default_quota'));
+ }
+ if ( $quota == null ) {
+ $quota = \OC_Filesystem::free_space('/');
+ }
+
+ // make sure that we have the current size of the version history
+ if ( $versionsSize === null ) {
+ if ( ($versionsSize = \OCP\Config::getAppValue('files_versions', 'size')) === null ) {
+ $versionsSize = self::calculateSize($uid);
+ }
+ }
+
+ // calculate available space for version history
+ $rootInfo = \OC_FileCache::get('', '/'. $uid . '/files');
+ $free = $quota-$rootInfo['size']; // remaining free space for user
+ if ( $free > 0 ) {
+ $availableSpace = ($free * self::DEFAULTMAXSIZE / 100) - $versionsSize; // how much space can be used for versions
+ } else {
+ $availableSpace = $free-$versionsSize;
+ }
+
+ // after every 1000s run reduce the number of all versions not only for the current file
+ $random = rand(0, 1000);
+ if ($random == 0) {
+ $result = Storage::getAllVersions($uid);
+ $versions_by_file = $result['by_file'];
+ $all_versions = $result['all'];
+ } else {
+ $all_versions = Storage::getVersions($filename);
+ $versions_by_file[$filename] = $all_versions;
+ }
+
+ $time = time();
+
+ // it is possible to expire versions from more than one file
+ // iterate through all given files
+ foreach ($versions_by_file as $filename => $versions) {
+ $versions = array_reverse($versions); // newest version first
+
+ $interval = 1;
+ $step = Storage::$max_versions_per_interval[$interval]['step'];
+ if (Storage::$max_versions_per_interval[$interval]['intervalEndsAfter'] == -1) {
+ $nextInterval = -1;
+ } else {
+ $nextInterval = $time - Storage::$max_versions_per_interval[$interval]['intervalEndsAfter'];
+ }
+
+ $firstVersion = reset($versions);
+ $firstKey = key($versions);
+ $prevTimestamp = $firstVersion['version'];
+ $nextVersion = $firstVersion['version'] - $step;
+ $remaining_versions[$firstKey] = $firstVersion;
+ unset($versions[$firstKey]);
+
+ foreach ($versions as $key => $version) {
+ $newInterval = true;
+ while ( $newInterval ) {
+ if ( $nextInterval == -1 || $version['version'] >= $nextInterval ) {
+ if ( $version['version'] > $nextVersion ) {
+ //distance between two version too small, delete version
+ $versions_fileview->unlink($version['path'].'.v'.$version['version']);
+ $availableSpace += $version['size'];
+ $versionsSize -= $version['size'];
+ unset($all_versions[$key]); // update array with all versions
+ } else {
+ $nextVersion = $version['version'] - $step;
+ }
+ $newInterval = false; // version checked so we can move to the next one
+ } else { // time to move on to the next interval
+ $interval++;
+ $step = Storage::$max_versions_per_interval[$interval]['step'];
+ $nextVersion = $prevTimestamp - $step;
+ if ( Storage::$max_versions_per_interval[$interval]['intervalEndsAfter'] == -1 ) {
+ $nextInterval = -1;
+ } else {
+ $nextInterval = $time - Storage::$max_versions_per_interval[$interval]['intervalEndsAfter'];
+ }
+ $newInterval = true; // we changed the interval -> check same version with new interval
+ }
+ }
+ $prevTimestamp = $version['version'];
+ }
+ }
+
+ // check if enough space is available after versions are rearranged.
+ // if not we delete the oldest versions until we meet the size limit for versions
+ $numOfVersions = count($all_versions);
+ $i = 0;
+ while ($availableSpace < 0) {
+ if ($i = $numOfVersions-2) break; // keep at least the last version
+ $versions_fileview->unlink($all_versions[$i]['path'].'.v'.$all_versions[$i]['version']);
+ $versionsSize -= $all_versions[$i]['size'];
+ $availableSpace += $all_versions[$i]['size'];
+ $i++;
+ }
+
+ return $versionsSize; // finally return the new size of the version history
+ }
+
+ return false;
}
}
diff --git a/apps/files_versions/settings-personal.php b/apps/files_versions/settings-personal.php
deleted file mode 100644
index 6555bc99c3e..00000000000
--- a/apps/files_versions/settings-personal.php
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-
-$tmpl = new OCP\Template( 'files_versions', 'settings-personal');
-
-OCP\Util::addscript('files_versions', 'settings-personal');
-
-return $tmpl->fetchPage();
diff --git a/apps/files_versions/templates/settings-personal.php b/apps/files_versions/templates/settings-personal.php
deleted file mode 100644
index 2b313a07c88..00000000000
--- a/apps/files_versions/templates/settings-personal.php
+++ /dev/null
@@ -1,12 +0,0 @@
-<form id="versions">
- <fieldset class="personalblock">
- <legend>
- <strong><?php echo $l->t('Versions'); ?></strong>
- </legend>
- <button id="expireAllBtn">
- <?php echo $l->t('Expire all versions'); ?>
- <img style="display: none;" class="expireAllLoading" src="<?php echo OCP\Util::imagePath('core', 'loading.gif'); ?>" />
- </button>
- <br /><em><?php echo $l->t('This will delete all existing backup versions of your files'); ?></em>
- </fieldset>
-</form>
diff --git a/apps/files_versions/templates/settings.php b/apps/files_versions/templates/settings.php
index 88063cb075b..bfca8366f5d 100644
--- a/apps/files_versions/templates/settings.php
+++ b/apps/files_versions/templates/settings.php
@@ -1,6 +1,6 @@
<form id="versionssettings">
- <fieldset class="personalblock">
- <legend><strong><?php echo $l->t('Files Versioning');?></strong></legend>
- <input type="checkbox" name="versions" id="versions" value="1" <?php if (OCP\Config::getSystemValue('versions', 'true')=='true') echo ' checked="checked"'; ?> /> <label for="versions"><?php echo $l->t('Enable'); ?></label> <br/>
- </fieldset>
+ <fieldset class="personalblock">
+ <legend><strong><?php echo $l->t('Files Versioning');?></strong></legend>
+ <input type="checkbox" name="versions" id="versions" value="1" <?php if (OCP\Config::getSystemValue('versions', 'true')=='true') echo ' checked="checked"'; ?> /> <label for="versions"><?php echo $l->t('Enable'); ?></label> <br/>
+ </fieldset>
</form>
diff --git a/apps/user_ldap/css/settings.css b/apps/user_ldap/css/settings.css
index f3f41fb2d8b..84ada0832ab 100644
--- a/apps/user_ldap/css/settings.css
+++ b/apps/user_ldap/css/settings.css
@@ -2,9 +2,11 @@
width: 20%;
max-width: 200px;
display: inline-block;
+ vertical-align: top;
+ padding-top: 9px;
}
-#ldap fieldset input {
+#ldap fieldset input, #ldap fieldset textarea {
width: 70%;
display: inline-block;
}
diff --git a/apps/user_ldap/l10n/ar.php b/apps/user_ldap/l10n/ar.php
index ced0b4293b7..da1710a0a3c 100644
--- a/apps/user_ldap/l10n/ar.php
+++ b/apps/user_ldap/l10n/ar.php
@@ -1,3 +1,4 @@
<?php $TRANSLATIONS = array(
-"Password" => "كلمة المرور"
+"Password" => "كلمة المرور",
+"Help" => "المساعدة"
);
diff --git a/apps/user_ldap/l10n/bg_BG.php b/apps/user_ldap/l10n/bg_BG.php
new file mode 100644
index 00000000000..c064534a6b8
--- /dev/null
+++ b/apps/user_ldap/l10n/bg_BG.php
@@ -0,0 +1,4 @@
+<?php $TRANSLATIONS = array(
+"Password" => "Парола",
+"Help" => "Помощ"
+);
diff --git a/apps/user_ldap/l10n/bn_BD.php b/apps/user_ldap/l10n/bn_BD.php
new file mode 100644
index 00000000000..094b20cad2d
--- /dev/null
+++ b/apps/user_ldap/l10n/bn_BD.php
@@ -0,0 +1,37 @@
+<?php $TRANSLATIONS = array(
+"Host" => "হোসà§à¦Ÿ",
+"You can omit the protocol, except you require SSL. Then start with ldaps://" => "SSL আবশà§à¦¯à¦• না হলে আপনি à¦à¦‡ পà§à¦°à¦Ÿà§‹à¦•লটি মà§à¦›à§‡ ফেলতে পারেন । à¦à¦°à¦ªà¦° শà§à¦°à§ করà§à¦¨ à¦à¦Ÿà¦¾ দিয়ে ldaps://",
+"Base DN" => "ভিতà§à¦¤à¦¿ DN",
+"You can specify Base DN for users and groups in the Advanced tab" => "সà§à¦šà¦¾à¦°à§ টà§à¦¯à¦…বে গিয়ে আপনি বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•ারি à¦à¦¬à¦‚ গোষà§à¦ à§€à¦¸à¦®à§‚হের জনà§à¦¯ ভিতà§à¦¤à¦¿ DN নিরà§à¦§à¦¾à¦°à¦£ করতে পারেন।",
+"User DN" => "বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•ারি DN",
+"The DN of the client user with which the bind shall be done, e.g. uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password empty." => "The DN of the client user with which the bind shall be done, e.g. uid=agent,dc=example,dc=com. পরিচয় গোপন রেখে অধিগমনের জনà§à¦¯ DN à¦à¦¬à¦‚ কূটশবà§à¦¦à¦Ÿà¦¿ ফাà¦à¦•া রাখà§à¦¨à¥¤",
+"Password" => "কূটশবà§à¦¦",
+"For anonymous access, leave DN and Password empty." => "অজà§à¦žà¦¾à¦¤à¦•à§à¦²à¦¶à§€à¦² অধিগমনের জনà§à¦¯ DN à¦à¦¬à¦‚ কূটশবà§à¦¦à¦Ÿà¦¿ ফাà¦à¦•া রাখà§à¦¨à¥¤",
+"User Login Filter" => "বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•ারির পà§à¦°à¦¬à§‡à¦¶ ছাà¦à¦•নী",
+"Defines the filter to apply, when login is attempted. %%uid replaces the username in the login action." => "পà§à¦°à¦¬à§‡à¦¶à§‡à¦° চেষà§à¦Ÿà¦¾ করার সময় পà§à¦°à¦¯à§‹à¦œà§à¦¯ ছাà¦à¦•নীটি নিরà§à¦§à¦¾à¦°à¦£ করবে। পà§à¦°à¦¬à§‡à¦¶à§‡à¦° সময় বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•ারী নামটি %%uid দিয়ে পà§à¦°à¦¤à¦¿à¦¸à§à¦¥à¦¾à¦ªà¦¿à¦¤ হবে।",
+"use %%uid placeholder, e.g. \"uid=%%uid\"" => "%%uid সà§à¦¥à¦¾à¦¨à¦§à¦¾à¦°à¦• বà§à¦¯à¦¬à¦¹à¦¾à¦° করà§à¦¨, উদাহরণঃ \"uid=%%uid\"",
+"User List Filter" => "বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•ারী তালিকা ছাà¦à¦•নী",
+"Defines the filter to apply, when retrieving users." => "বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•ারী উদà§à¦§à¦¾à¦° করার সময় পà§à¦°à§Ÿà§‹à¦—ের জনà§à¦¯ ছাà¦à¦•নী নিরà§à¦§à¦¾à¦°à¦£ করবে।",
+"without any placeholder, e.g. \"objectClass=person\"." => "কোন সà§à¦¥à¦¾à¦¨à¦§à¦¾à¦°à¦• বà§à¦¯à¦¤à§€à¦¤, যেমনঃ \"objectClass=person\"।",
+"Group Filter" => "গোষà§à¦ à§€ ছাà¦à¦•নী",
+"Defines the filter to apply, when retrieving groups." => "গোষà§à¦ à§€à¦¸à¦®à§‚হ উদà§à¦§à¦¾à¦° করার সময় পà§à¦°à§Ÿà§‹à¦—ের জনà§à¦¯ ছাà¦à¦•নী নিরà§à¦§à¦¾à¦°à¦£ করবে।",
+"without any placeholder, e.g. \"objectClass=posixGroup\"." => "কোন সà§à¦¥à¦¾à¦¨ ধারক বà§à¦¯à¦¤à§€à¦¤, উদাহরণঃ\"objectClass=posixGroup\"।",
+"Port" => "পোরà§à¦Ÿ",
+"Base User Tree" => "ভিতà§à¦¤à¦¿ বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•ারি বৃকà§à¦·à¦¾à¦•ারে",
+"Base Group Tree" => "ভিতà§à¦¤à¦¿ গোষà§à¦ à§€ বৃকà§à¦·à¦¾à¦•ারে",
+"Group-Member association" => "গোষà§à¦ à§€-সদসà§à¦¯ সংসà§à¦¥à¦¾à¦ªà¦¨",
+"Use TLS" => "TLS বà§à¦¯à¦¬à¦¹à¦¾à¦° কর",
+"Do not use it for SSL connections, it will fail." => "SSL সংযোগের জনà§à¦¯ à¦à¦Ÿà¦¿ বà§à¦¯à¦¬à¦¹à¦¾à¦° করবেন না, তাহলে বà§à¦¯à¦°à§à¦¥ হবেনই।",
+"Case insensitve LDAP server (Windows)" => "বরà§à¦£ অসংবেদী LDAP সারà§à¦­à¦¾à¦° (উইনà§à¦¡à§‹à¦œ)",
+"Turn off SSL certificate validation." => "SSL সনদপতà§à¦° যাচাইকরণ বনà§à¦§ রাক।",
+"If connection only works with this option, import the LDAP server's SSL certificate in your ownCloud server." => "শà§à¦§à§à¦®à¦¾à¦¤à§à¦° যদি à¦à¦‡ বিকলà§à¦ªà¦Ÿà¦¿ বà§à¦¯à¦¬à¦¹à¦¾à¦° করেই সংযোগ কারà§à¦¯à¦•রী হয় তবে আপনার ownCloud সারà§à¦­à¦¾à¦°à§‡ LDAP সারà§à¦­à¦¾à¦°à§‡à¦° SSL সনদপতà§à¦°à¦Ÿà¦¿ আমদানি করà§à¦¨à¥¤",
+"Not recommended, use for testing only." => "অনà§à¦®à§‹à¦¦à¦¿à¦¤ নয়, শà§à¦§à§à¦®à¦¾à¦¤à§à¦° পরীকà§à¦·à¦¾à¦®à§‚লক বà§à¦¯à¦¬à¦¹à¦¾à¦°à§‡à¦° জনà§à¦¯à¥¤",
+"User Display Name Field" => "বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•ারীর পà§à¦°à¦¦à¦°à§à¦¶à¦¿à¦¤à¦¬à§à¦¯ নামের কà§à¦·à§‡à¦¤à§à¦°",
+"The LDAP attribute to use to generate the user`s ownCloud name." => "বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•ারীর ownCloud নাম তৈরি করার জনà§à¦¯ বà§à¦¯à¦­à¦¹à§ƒà¦¤ LDAP বৈশিষà§à¦Ÿà§à¦¯à¥¤",
+"Group Display Name Field" => "গোষà§à¦ à§€à¦° পà§à¦°à¦¦à¦°à§à¦¶à¦¿à¦¤à¦¬à§à¦¯ নামের কà§à¦·à§‡à¦¤à§à¦°",
+"The LDAP attribute to use to generate the groups`s ownCloud name." => "গোষà§à¦ à§€à¦° ownCloud নাম তৈরি করার জনà§à¦¯ বà§à¦¯à¦­à¦¹à§ƒà¦¤ LDAP বৈশিষà§à¦Ÿà§à¦¯à¥¤",
+"in bytes" => "বাইটে",
+"in seconds. A change empties the cache." => "সেকেনà§à¦¡à§‡à¥¤ কোন পরিবরà§à¦¤à¦¨ কà§à¦¯à¦¾à¦¸à§‡ খালি করবে।",
+"Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." => "বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•ারী নামের জনà§à¦¯ ফাà¦à¦•া রাখà§à¦¨ (পূরà§à¦¬à¦¨à¦¿à¦°à§à¦§à¦¾à¦°à¦¿à¦¤)। অনà§à¦¯à¦¥à¦¾à§Ÿ, LDAP/AD বৈশিষà§à¦Ÿà§à¦¯ নিরà§à¦§à¦¾à¦°à¦£ করà§à¦¨à¥¤",
+"Help" => "সহায়িকা"
+);
diff --git a/apps/user_ldap/l10n/ca.php b/apps/user_ldap/l10n/ca.php
index d801ddff631..06255c1249a 100644
--- a/apps/user_ldap/l10n/ca.php
+++ b/apps/user_ldap/l10n/ca.php
@@ -1,9 +1,10 @@
<?php $TRANSLATIONS = array(
"<b>Warning:</b> Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behaviour. Please ask your system administrator to disable one of them." => "<b>Avís:</b> Les aplicacions user_ldap i user_webdavauth són incompatibles. Podeu experimentar comportaments no desitjats. Demaneu a l'administrador del sistema que en desactivi una.",
-"<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will not work. Please ask your system administrator to install it." => "<b>Avís:</b> El mòdul PHP LDAP necessari no està instal·lat, el dorsal no funcionarà. Demaneu a l'administrador del sistema que l'instal·li.",
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." => "<b>Avís:</b> El mòdul PHP LDAP no està instal·lat, el dorsal no funcionarà. Demaneu a l'administrador del sistema que l'instal·li.",
"Host" => "Màquina",
"You can omit the protocol, except you require SSL. Then start with ldaps://" => "Podeu ometre el protocol, excepte si requeriu SSL. Llavors comenceu amb ldaps://",
"Base DN" => "DN Base",
+"One Base DN per line" => "Una DN Base per línia",
"You can specify Base DN for users and groups in the Advanced tab" => "Podeu especificar DN Base per usuaris i grups a la pestanya Avançat",
"User DN" => "DN Usuari",
"The DN of the client user with which the bind shall be done, e.g. uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password empty." => "La DN de l'usuari client amb la que s'haurà de fer, per exemple uid=agent,dc=exemple,dc=com. Per un accés anònim, deixeu la DN i la contrasenya en blanc.",
@@ -20,7 +21,9 @@
"without any placeholder, e.g. \"objectClass=posixGroup\"." => "sense cap paràmetre de substitució, per exemple \"objectClass=grupPosix\".",
"Port" => "Port",
"Base User Tree" => "Arbre base d'usuaris",
+"One User Base DN per line" => "Una DN Base d'Usuari per línia",
"Base Group Tree" => "Arbre base de grups",
+"One Group Base DN per line" => "Una DN Base de Grup per línia",
"Group-Member association" => "Associació membres-grup",
"Use TLS" => "Usa TLS",
"Do not use it for SSL connections, it will fail." => "No ho useu en connexions SSL, fallarà.",
diff --git a/apps/user_ldap/l10n/cs_CZ.php b/apps/user_ldap/l10n/cs_CZ.php
index 0c14ebb9d1e..80e27f1e62a 100644
--- a/apps/user_ldap/l10n/cs_CZ.php
+++ b/apps/user_ldap/l10n/cs_CZ.php
@@ -1,9 +1,10 @@
<?php $TRANSLATIONS = array(
"<b>Warning:</b> Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behaviour. Please ask your system administrator to disable one of them." => "<b>Varování:</b> Aplikace user_ldap a user_webdavauth nejsou kompatibilní. Může nastávat neoÄekávané chování. Požádejte, prosím, správce systému aby jednu z nich zakázal.",
-"<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will not work. Please ask your system administrator to install it." => "<b>Varování:</b> není nainstalován LDAP modul pro PHP, podpůrná vrstva nebude fungovat. Požádejte, prosím, správce systému aby jej nainstaloval.",
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." => "<b>Varování:</b> není nainstalován LDAP modul pro PHP, podpůrná vrstva nebude fungovat. Požádejte, prosím, správce systému aby jej nainstaloval.",
"Host" => "PoÄítaÄ",
"You can omit the protocol, except you require SSL. Then start with ldaps://" => "Můžete vynechat protokol, vyjma pokud požadujete SSL. Tehdy zaÄnÄ›te s ldaps://",
"Base DN" => "Základní DN",
+"One Base DN per line" => "Jedna základní DN na řádku",
"You can specify Base DN for users and groups in the Advanced tab" => "V rozšířeném nastavení můžete urÄit základní DN pro uživatele a skupiny",
"User DN" => "Uživatelské DN",
"The DN of the client user with which the bind shall be done, e.g. uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password empty." => "DN klentského uživatele ke kterému tvoříte vazbu, např. uid=agent,dc=example,dc=com. Pro anonymní přístup ponechte údaje DN and Heslo prázdné.",
@@ -20,7 +21,9 @@
"without any placeholder, e.g. \"objectClass=posixGroup\"." => "bez zástupných znaků, např. \"objectClass=posixGroup\".",
"Port" => "Port",
"Base User Tree" => "Základní uživatelský strom",
+"One User Base DN per line" => "Jedna uživatelská základní DN na řádku",
"Base Group Tree" => "Základní skupinový strom",
+"One Group Base DN per line" => "Jedna skupinová základní DN na řádku",
"Group-Member association" => "Asociace Älena skupiny",
"Use TLS" => "Použít TLS",
"Do not use it for SSL connections, it will fail." => "Nepoužívejte pro připojení pomocí SSL, připojení selže.",
diff --git a/apps/user_ldap/l10n/de.php b/apps/user_ldap/l10n/de.php
index 87579cb2431..89bda8af97f 100644
--- a/apps/user_ldap/l10n/de.php
+++ b/apps/user_ldap/l10n/de.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"<b>Warning:</b> Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behaviour. Please ask your system administrator to disable one of them." => "<b>Warnung:</b> Die Anwendungen user_ldap und user_webdavauth sind inkompatibel. Es kann demzufolge zu unerwarteten Verhalten kommen. Bitte Deinen Systemadministator eine der beiden Anwendungen zu deaktivieren.",
-"<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will not work. Please ask your system administrator to install it." => "<b>Warnung:</b> Das PHP-Modul, das LDAP benöntigt, ist nicht installiert. Das Backend wird nicht funktionieren. Bitte deinen Systemadministrator das Modul zu installieren.",
"Host" => "Host",
"You can omit the protocol, except you require SSL. Then start with ldaps://" => "Du kannst das Protokoll auslassen, außer wenn Du SSL benötigst. Beginne dann mit ldaps://",
"Base DN" => "Basis-DN",
diff --git a/apps/user_ldap/l10n/de_DE.php b/apps/user_ldap/l10n/de_DE.php
index f986ae83e87..1e816018386 100644
--- a/apps/user_ldap/l10n/de_DE.php
+++ b/apps/user_ldap/l10n/de_DE.php
@@ -1,9 +1,10 @@
<?php $TRANSLATIONS = array(
"<b>Warning:</b> Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behaviour. Please ask your system administrator to disable one of them." => "<b>Warnung:</b> Die Anwendungen user_ldap und user_webdavauth sind inkompatibel. Es kann demzufolge zu unerwarteten Verhalten kommen. Bitten Sie Ihren Systemadministator eine der beiden Anwendungen zu deaktivieren.",
-"<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will not work. Please ask your system administrator to install it." => "<b>Warnung:</b> Das PHP-Modul, das LDAP benöntigt, ist nicht installiert. Das Backend wird nicht funktionieren. Bitten Sie Ihren Systemadministrator das Modul zu installieren.",
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." => "<b>Warnung:</b> Da das PHP-Modul für LDAP nicht installiert ist, wird das Backend nicht funktionieren. Bitten Sie Ihren Systemadministrator das Modul zu installieren.",
"Host" => "Host",
"You can omit the protocol, except you require SSL. Then start with ldaps://" => "Sie können das Protokoll auslassen, außer wenn Sie SSL benötigen. Beginnen Sie dann mit ldaps://",
"Base DN" => "Basis-DN",
+"One Base DN per line" => "Ein Base DN pro Zeile",
"You can specify Base DN for users and groups in the Advanced tab" => "Sie können Basis-DN für Benutzer und Gruppen in dem \"Erweitert\"-Reiter konfigurieren",
"User DN" => "Benutzer-DN",
"The DN of the client user with which the bind shall be done, e.g. uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password empty." => "Der DN des Benutzers für LDAP-Bind, z.B.: uid=agent,dc=example,dc=com. Für anonymen Zugriff lassen Sie DN und Passwort leer.",
@@ -20,7 +21,9 @@
"without any placeholder, e.g. \"objectClass=posixGroup\"." => "ohne Platzhalter, z.B.: \"objectClass=posixGroup\"",
"Port" => "Port",
"Base User Tree" => "Basis-Benutzerbaum",
+"One User Base DN per line" => "Ein Benutzer Base DN pro Zeile",
"Base Group Tree" => "Basis-Gruppenbaum",
+"One Group Base DN per line" => "Ein Gruppen Base DN pro Zeile",
"Group-Member association" => "Assoziation zwischen Gruppe und Benutzer",
"Use TLS" => "Nutze TLS",
"Do not use it for SSL connections, it will fail." => "Verwenden Sie dies nicht für SSL-Verbindungen, es wird fehlschlagen.",
diff --git a/apps/user_ldap/l10n/el.php b/apps/user_ldap/l10n/el.php
index e973eaac0a9..1f75a687a5d 100644
--- a/apps/user_ldap/l10n/el.php
+++ b/apps/user_ldap/l10n/el.php
@@ -1,18 +1,38 @@
<?php $TRANSLATIONS = array(
+"<b>Warning:</b> Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behaviour. Please ask your system administrator to disable one of them." => "<b>ΠÏοσοχή:</b> Οι εφαÏμογές user_ldap και user_webdavauth είναι ασÏμβατες. ΜποÏεί να αντιμετωπίσετε απÏόβλεπτη συμπεÏιφοÏά. ΠαÏακαλώ ζητήστε από τον διαχειÏιστή συστήματος να απενεÏγοποιήσει μία από αυτές.",
+"Host" => "Διακομιστής",
+"You can omit the protocol, except you require SSL. Then start with ldaps://" => "ΜποÏείτε να παÏαλείψετε το Ï€Ïωτόκολλο, εκτός αν απαιτείται SSL. Σε αυτή την πεÏίπτωση ξεκινήστε με ldaps://",
"Base DN" => "Base DN",
+"You can specify Base DN for users and groups in the Advanced tab" => "ΜποÏείτε να καθοÏίσετε το Base DN για χÏήστες και ομάδες από την καÏτέλα ΠÏοηγμένες Ïυθμίσεις",
"User DN" => "User DN",
+"The DN of the client user with which the bind shall be done, e.g. uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password empty." => "Το DN του χÏήστη πελάτη με το οποίο θα Ï€Ïέπει να γίνει η σÏνδεση, Ï€.χ. uid=agent,dc=example,dc=com. Για χÏήση χωÏίς πιστοποίηση, αφήστε το DN και τον Κωδικό κενά.",
"Password" => "Συνθηματικό",
+"For anonymous access, leave DN and Password empty." => "Για ανώνυμη Ï€Ïόσβαση, αφήστε κενά τα πεδία DN και Pasword.",
"User Login Filter" => "User Login Filter",
+"Defines the filter to apply, when login is attempted. %%uid replaces the username in the login action." => "ΚαθοÏίζει το φίλτÏο που θα ισχÏει κατά την Ï€Ïοσπάθεια σÏνδεσης χÏήστη. %%uid αντικαθιστά το όνομα χÏήστη κατά τη σÏνδεση. ",
+"use %%uid placeholder, e.g. \"uid=%%uid\"" => "χÏησιμοποιήστε τη μεταβλητή %%uid, Ï€.χ. \"uid=%%uid\"",
"User List Filter" => "User List Filter",
+"Defines the filter to apply, when retrieving users." => "ΚαθοÏίζει το φίλτÏο που θα ισχÏει κατά την ανάκτηση επαφών.",
+"without any placeholder, e.g. \"objectClass=person\"." => "χωÏίς κάποια μεταβλητή, Ï€.χ. \"objectClass=άτομο\".",
"Group Filter" => "Group Filter",
+"Defines the filter to apply, when retrieving groups." => "ΚαθοÏίζει το φίλτÏο που θα ισχÏει κατά την ανάκτηση ομάδων.",
+"without any placeholder, e.g. \"objectClass=posixGroup\"." => "χωÏίς κάποια μεταβλητή, Ï€.χ. \"objectClass=ΟμάδαPosix\".",
"Port" => "ΘÏÏα",
"Base User Tree" => "Base User Tree",
"Base Group Tree" => "Base Group Tree",
"Group-Member association" => "Group-Member association",
"Use TLS" => "ΧÏήση TLS",
+"Do not use it for SSL connections, it will fail." => "Μην χÏησιμοποιείτε για συνδέσεις SSL, θα αποτÏχει.",
+"Case insensitve LDAP server (Windows)" => "LDAP server (Windows) με διάκÏιση πεζών-ΚΕΦΑΛΑΙΩÎ",
+"Turn off SSL certificate validation." => "ΑπενεÏγοποίηση επικÏÏωσης Ï€Î¹ÏƒÏ„Î¿Ï€Î¿Î¹Î·Ï„Î¹ÎºÎ¿Ï SSL.",
+"If connection only works with this option, import the LDAP server's SSL certificate in your ownCloud server." => "Εάν η σÏνδεση δουλεÏει μόνο με αυτή την επιλογή, εισάγετε το LDAP SSL πιστοποιητικό του διακομιστή στον ownCloud server σας.",
"Not recommended, use for testing only." => "Δεν Ï€Ïοτείνεται, χÏήση μόνο για δοκιμές.",
"User Display Name Field" => "Πεδίο Ονόματος ΧÏήστη",
+"The LDAP attribute to use to generate the user`s ownCloud name." => "Η ιδιότητα LDAP που θα χÏησιμοποιείται για τη δημιουÏγία του ονόματος χÏήστη του ownCloud.",
"Group Display Name Field" => "Group Display Name Field",
+"The LDAP attribute to use to generate the groups`s ownCloud name." => "Η ιδιότητα LDAP που θα χÏησιμοποιείται για τη δημιουÏγία του ονόματος ομάδας του ownCloud.",
"in bytes" => "σε bytes",
+"in seconds. A change empties the cache." => "σε δευτεÏόλεπτα. Μια αλλαγή αδειάζει την μνήμη cache.",
+"Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." => "Αφήστε το κενό για το όνομα χÏήστη (Ï€Ïοεπιλογή). ΔιαφοÏετικά, συμπληÏώστε μία ιδιότητα LDAP/AD.",
"Help" => "Βοήθεια"
);
diff --git a/apps/user_ldap/l10n/eo.php b/apps/user_ldap/l10n/eo.php
index ef8aff8a390..35f436a0b0a 100644
--- a/apps/user_ldap/l10n/eo.php
+++ b/apps/user_ldap/l10n/eo.php
@@ -1,7 +1,7 @@
<?php $TRANSLATIONS = array(
"Host" => "Gastigo",
"You can omit the protocol, except you require SSL. Then start with ldaps://" => "Vi povas neglekti la protokolon, escepte se vi bezonas SSL-on. Tiuokaze, komencu per ldaps://",
-"Base DN" => "Baz-DN",
+"Base DN" => "Bazo-DN",
"User DN" => "Uzanto-DN",
"Password" => "Pasvorto",
"For anonymous access, leave DN and Password empty." => "Por sennoman aliron, lasu DN-on kaj Pasvorton malplenaj.",
diff --git a/apps/user_ldap/l10n/es.php b/apps/user_ldap/l10n/es.php
index 4931af79eaf..48e7b24734e 100644
--- a/apps/user_ldap/l10n/es.php
+++ b/apps/user_ldap/l10n/es.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"<b>Warning:</b> Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behaviour. Please ask your system administrator to disable one of them." => "<b>Advertencia:</b> Los Apps user_ldap y user_webdavauth son incompatibles. Puede que experimente un comportamiento inesperado. Pregunte al administrador del sistema para desactivar uno de ellos.",
-"<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will not work. Please ask your system administrator to install it." => "<b>Advertencia:</b> El módulo PHP LDAP necesario no está instalado, el sistema no funcionará. Pregunte al administrador del sistema para instalarlo.",
"Host" => "Servidor",
"You can omit the protocol, except you require SSL. Then start with ldaps://" => "Puede omitir el protocolo, excepto si requiere SSL. En ese caso, empiece con ldaps://",
"Base DN" => "DN base",
diff --git a/apps/user_ldap/l10n/es_AR.php b/apps/user_ldap/l10n/es_AR.php
index 6bd452e9d90..331bf8699f4 100644
--- a/apps/user_ldap/l10n/es_AR.php
+++ b/apps/user_ldap/l10n/es_AR.php
@@ -1,4 +1,5 @@
<?php $TRANSLATIONS = array(
+"<b>Warning:</b> Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behaviour. Please ask your system administrator to disable one of them." => "<b>Advertencia:</b> Los Apps user_ldap y user_webdavauth son incompatibles. Puede que experimente un comportamiento inesperado. Pregunte al administrador del sistema para desactivar uno de ellos.",
"Host" => "Servidor",
"You can omit the protocol, except you require SSL. Then start with ldaps://" => "Podés omitir el protocolo, excepto si SSL es requerido. En ese caso, empezá con ldaps://",
"Base DN" => "DN base",
diff --git a/apps/user_ldap/l10n/eu.php b/apps/user_ldap/l10n/eu.php
index 35dacef3f2f..e2b50f28ee9 100644
--- a/apps/user_ldap/l10n/eu.php
+++ b/apps/user_ldap/l10n/eu.php
@@ -1,7 +1,10 @@
<?php $TRANSLATIONS = array(
+"<b>Warning:</b> Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behaviour. Please ask your system administrator to disable one of them." => "<b>Abisua:</b> user_ldap eta user_webdavauth aplikazioak bateraezinak dira. Portaera berezia izan dezakezu. Mesedez eskatu zure sistema kudeatzaileari bietako bat desgaitzeko.",
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." => "<b>Abisua:</b> PHPk behar duen LDAP modulua ez dago instalaturik, motorrak ez du funtzionatuko. Mesedez eskatu zure sistema kudeatzaileari instala dezan.",
"Host" => "Hostalaria",
"You can omit the protocol, except you require SSL. Then start with ldaps://" => "Protokoloa ez da beharrezkoa, SSL behar baldin ez baduzu. Honela bada hasi ldaps://",
"Base DN" => "Oinarrizko DN",
+"One Base DN per line" => "DN Oinarri bat lerroko",
"You can specify Base DN for users and groups in the Advanced tab" => "Erabiltzaile eta taldeentzako Oinarrizko DN zehaztu dezakezu Aurreratu fitxan",
"User DN" => "Erabiltzaile DN",
"The DN of the client user with which the bind shall be done, e.g. uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password empty." => "Lotura egingo den bezero erabiltzailearen DNa, adb. uid=agent,dc=example,dc=com. Sarrera anonimoak gaitzeko utzi DN eta Pasahitza hutsik.",
@@ -18,7 +21,9 @@
"without any placeholder, e.g. \"objectClass=posixGroup\"." => "txantiloirik gabe, adb. \"objectClass=posixGroup\".",
"Port" => "Portua",
"Base User Tree" => "Oinarrizko Erabiltzaile Zuhaitza",
+"One User Base DN per line" => "Erabiltzaile DN Oinarri bat lerroko",
"Base Group Tree" => "Oinarrizko Talde Zuhaitza",
+"One Group Base DN per line" => "Talde DN Oinarri bat lerroko",
"Group-Member association" => "Talde-Kide elkarketak",
"Use TLS" => "Erabili TLS",
"Do not use it for SSL connections, it will fail." => "Ez erabili SSL konexioetan, huts egingo du.",
diff --git a/apps/user_ldap/l10n/fr.php b/apps/user_ldap/l10n/fr.php
index 9750d1352a8..28ee6346ef4 100644
--- a/apps/user_ldap/l10n/fr.php
+++ b/apps/user_ldap/l10n/fr.php
@@ -1,12 +1,13 @@
<?php $TRANSLATIONS = array(
"<b>Warning:</b> Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behaviour. Please ask your system administrator to disable one of them." => "<b>Avertissement:</b> Les applications user_ldap et user_webdavauth sont incompatibles. Des disfonctionnements peuvent survenir. Contactez votre administrateur système pour qu'il désactive l'une d'elles.",
-"<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will not work. Please ask your system administrator to install it." => "<b>Avertissement:</b> Le module PHP LDAP requis n'est pas installé, l'application ne marchera pas. Contactez votre administrateur système pour qu'il l'installe.",
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." => "<b>Attention :</b> Le module php LDAP n'est pas installé, par conséquent cette extension ne pourra fonctionner. Veuillez contacter votre administrateur système afin qu'il l'installe.",
"Host" => "Hôte",
"You can omit the protocol, except you require SSL. Then start with ldaps://" => "Vous pouvez omettre le protocole, sauf si vous avez besoin de SSL. Dans ce cas préfixez avec ldaps://",
"Base DN" => "DN Racine",
-"You can specify Base DN for users and groups in the Advanced tab" => "Vous pouvez détailler les DN Racines de vos utilisateurs et groupes dans l'onglet Avancé",
+"One Base DN per line" => "Un DN racine par ligne",
+"You can specify Base DN for users and groups in the Advanced tab" => "Vous pouvez spécifier les DN Racines de vos utilisateurs et groupes via l'onglet Avancé",
"User DN" => "DN Utilisateur (Autorisé à consulter l'annuaire)",
-"The DN of the client user with which the bind shall be done, e.g. uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password empty." => "Le DN de l'utilisateur client avec lequel la liaison doit se faire, par exemple uid=agent,dc=example,dc=com. Pour l'accès anonyme, laisser le DN et le mot de passe vides.",
+"The DN of the client user with which the bind shall be done, e.g. uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password empty." => "DN de l'utilisateur client pour lequel la liaison doit se faire, par exemple uid=agent,dc=example,dc=com. Pour un accès anonyme, laisser le DN et le mot de passe vides.",
"Password" => "Mot de passe",
"For anonymous access, leave DN and Password empty." => "Pour un accès anonyme, laisser le DN Utilisateur et le mot de passe vides.",
"User Login Filter" => "Modèle d'authentification utilisateurs",
@@ -20,7 +21,9 @@
"without any placeholder, e.g. \"objectClass=posixGroup\"." => "sans élément de substitution, par exemple \"objectClass=posixGroup\".",
"Port" => "Port",
"Base User Tree" => "DN racine de l'arbre utilisateurs",
+"One User Base DN per line" => "Un DN racine utilisateur par ligne",
"Base Group Tree" => "DN racine de l'arbre groupes",
+"One Group Base DN per line" => "Un DN racine groupe par ligne",
"Group-Member association" => "Association groupe-membre",
"Use TLS" => "Utiliser TLS",
"Do not use it for SSL connections, it will fail." => "Ne pas utiliser pour les connexions SSL, car cela échouera.",
diff --git a/apps/user_ldap/l10n/gl.php b/apps/user_ldap/l10n/gl.php
index 41431293cba..d60521c4a02 100644
--- a/apps/user_ldap/l10n/gl.php
+++ b/apps/user_ldap/l10n/gl.php
@@ -1,10 +1,11 @@
<?php $TRANSLATIONS = array(
+"<b>Warning:</b> Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behaviour. Please ask your system administrator to disable one of them." => "<b>Aviso:</b> Os aplicativos user_ldap e user_webdavauth son incompatíbeis. Pode acontecer un comportamento estraño. Consulte co administrador do sistema para desactivar un deles.",
"Host" => "Servidor",
"You can omit the protocol, except you require SSL. Then start with ldaps://" => "Pode omitir o protocolo agás que precise de SSL. Nese caso comece con ldaps://",
"Base DN" => "DN base",
"You can specify Base DN for users and groups in the Advanced tab" => "Pode especificar a DN base para usuarios e grupos na lapela de «Avanzado»",
"User DN" => "DN do usuario",
-"The DN of the client user with which the bind shall be done, e.g. uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password empty." => "O DN do cliente do usuario co que hai que estabelecer unha conexión, p.ex uid=axente, dc=exemplo, dc=com. Para o acceso en anónimo de o DN e o contrasinal baleiros.",
+"The DN of the client user with which the bind shall be done, e.g. uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password empty." => "O DN do cliente do usuario co que hai que estabelecer unha conexión, p.ex uid=axente, dc=exemplo, dc=com. Para o acceso anónimo deixe o DN e o contrasinal baleiros.",
"Password" => "Contrasinal",
"For anonymous access, leave DN and Password empty." => "Para o acceso anónimo deixe o DN e o contrasinal baleiros.",
"User Login Filter" => "Filtro de acceso de usuarios",
@@ -21,7 +22,7 @@
"Base Group Tree" => "Base da árbore de grupo",
"Group-Member association" => "Asociación de grupos e membros",
"Use TLS" => "Usar TLS",
-"Do not use it for SSL connections, it will fail." => "Non empregualo para conexións SSL: fallará.",
+"Do not use it for SSL connections, it will fail." => "Non empregalo para conexións SSL: fallará.",
"Case insensitve LDAP server (Windows)" => "Servidor LDAP que non distingue entre maiúsculas e minúsculas (Windows)",
"Turn off SSL certificate validation." => "Desactiva a validación do certificado SSL.",
"If connection only works with this option, import the LDAP server's SSL certificate in your ownCloud server." => "Se a conexión só funciona con esta opción importa o certificado SSL do servidor LDAP no seu servidor ownCloud.",
diff --git a/apps/user_ldap/l10n/he.php b/apps/user_ldap/l10n/he.php
new file mode 100644
index 00000000000..d33ecaadf05
--- /dev/null
+++ b/apps/user_ldap/l10n/he.php
@@ -0,0 +1,12 @@
+<?php $TRANSLATIONS = array(
+"Host" => "מ×רח",
+"User DN" => "DN משתמש",
+"Password" => "סיסמ×",
+"For anonymous access, leave DN and Password empty." => "לגישה ×נונימית, הש×ר ×ת ×”DM ×•×”×¡×™×¡×ž× ×¨×™×§×™×.",
+"User Login Filter" => "סנן כניסת משתמש",
+"User List Filter" => "סנן רשימת משתמשי×",
+"Group Filter" => "סנן קבוצה",
+"in bytes" => "בבתי×",
+"in seconds. A change empties the cache." => "בשניות. שינוי מרוקן ×ת המטמון.",
+"Help" => "עזרה"
+);
diff --git a/apps/user_ldap/l10n/hr.php b/apps/user_ldap/l10n/hr.php
new file mode 100644
index 00000000000..91503315066
--- /dev/null
+++ b/apps/user_ldap/l10n/hr.php
@@ -0,0 +1,3 @@
+<?php $TRANSLATIONS = array(
+"Help" => "Pomoć"
+);
diff --git a/apps/user_ldap/l10n/hu_HU.php b/apps/user_ldap/l10n/hu_HU.php
new file mode 100644
index 00000000000..25ee47786ef
--- /dev/null
+++ b/apps/user_ldap/l10n/hu_HU.php
@@ -0,0 +1,42 @@
+<?php $TRANSLATIONS = array(
+"<b>Warning:</b> Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behaviour. Please ask your system administrator to disable one of them." => "<b>Figyelem:</b> a user_ldap és user_webdavauth alkalmazások nem kompatibilisek. Együttes használatuk váratlan eredményekhez vezethet. Kérje meg a rendszergazdát, hogy a kettő közül kapcsolja ki az egyiket.",
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." => "<b>Figyelmeztetés:</b> Az LDAP PHP modul nincs telepítve, ezért ez az alrendszer nem fog működni. Kérje meg a rendszergazdát, hogy telepítse!",
+"Host" => "Kiszolgáló",
+"You can omit the protocol, except you require SSL. Then start with ldaps://" => "A protokoll előtag elhagyható, kivéve, ha SSL-t kíván használni. Ebben az esetben kezdje így: ldaps://",
+"Base DN" => "DN-gyökér",
+"One Base DN per line" => "Soronként egy DN-gyökér",
+"You can specify Base DN for users and groups in the Advanced tab" => "A Haladó fülre kattintva külön DN-gyökér állítható be a felhasználók és a csoportok számára",
+"User DN" => "A kapcsolódó felhasználó DN-je",
+"The DN of the client user with which the bind shall be done, e.g. uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password empty." => "Annak a felhasználónak a DN-je, akinek a nevében bejelentkezve kapcsolódunk a kiszolgálóhoz, pl. uid=agent,dc=example,dc=com. Bejelentkezés nélküli eléréshez ne töltse ki a DN és Jelszó mezőket!",
+"Password" => "Jelszó",
+"For anonymous access, leave DN and Password empty." => "Bejelentkezés nélküli eléréshez ne töltse ki a DN és Jelszó mezőket!",
+"User Login Filter" => "Szűrő a bejelentkezéshez",
+"Defines the filter to apply, when login is attempted. %%uid replaces the username in the login action." => "Ez a szűrő érvényes a bejelentkezés megkísérlésekor. Ekkor az %%uid változó helyére a bejelentkezési név kerül.",
+"use %%uid placeholder, e.g. \"uid=%%uid\"" => "használja az %%uid változót, pl. \"uid=%%uid\"",
+"User List Filter" => "A felhasználók szűrője",
+"Defines the filter to apply, when retrieving users." => "Ez a szűrő érvényes a felhasználók listázásakor.",
+"without any placeholder, e.g. \"objectClass=person\"." => "itt ne használjon változót, pl. \"objectClass=person\".",
+"Group Filter" => "A csoportok szűrője",
+"Defines the filter to apply, when retrieving groups." => "Ez a szűrő érvényes a csoportok listázásakor.",
+"without any placeholder, e.g. \"objectClass=posixGroup\"." => "itt ne használjunk változót, pl. \"objectClass=posixGroup\".",
+"Port" => "Port",
+"Base User Tree" => "A felhasználói fa gyökere",
+"One User Base DN per line" => "Soronként egy felhasználói fa gyökerét adhatjuk meg",
+"Base Group Tree" => "A csoportfa gyökere",
+"One Group Base DN per line" => "Soronként egy csoportfa gyökerét adhatjuk meg",
+"Group-Member association" => "A csoporttagság attribútuma",
+"Use TLS" => "Használjunk TLS-t",
+"Do not use it for SSL connections, it will fail." => "Ne használjuk SSL-kapcsolat esetén, mert nem fog működni!",
+"Case insensitve LDAP server (Windows)" => "Az LDAP-kiszolgáló nem tesz különbséget a kis- és nagybetűk között (Windows)",
+"Turn off SSL certificate validation." => "Ne ellenőrizzük az SSL-tanúsítvány érvényességét",
+"If connection only works with this option, import the LDAP server's SSL certificate in your ownCloud server." => "Ha a kapcsolat csak ezzel a beállítással működik, akkor importálja az LDAP-kiszolgáló SSL tanúsítványát az ownCloud kiszolgálóra!",
+"Not recommended, use for testing only." => "Nem javasolt, csak tesztelésre érdemes használni.",
+"User Display Name Field" => "A felhasználónév mezője",
+"The LDAP attribute to use to generate the user`s ownCloud name." => "Ebből az LDAP attribútumból képződik a felhasználó elnevezése, ami megjelenik az ownCloudban.",
+"Group Display Name Field" => "A csoport nevének mezője",
+"The LDAP attribute to use to generate the groups`s ownCloud name." => "Ebből az LDAP attribútumból képződik a csoport elnevezése, ami megjelenik az ownCloudban.",
+"in bytes" => "bájtban",
+"in seconds. A change empties the cache." => "másodpercben. A változtatás törli a cache tartalmát.",
+"Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." => "Hagyja üresen, ha a felhasználónevet kívánja használni. Ellenkező esetben adjon meg egy LDAP/AD attribútumot!",
+"Help" => "Súgó"
+);
diff --git a/apps/user_ldap/l10n/ia.php b/apps/user_ldap/l10n/ia.php
new file mode 100644
index 00000000000..3586bf5a2e7
--- /dev/null
+++ b/apps/user_ldap/l10n/ia.php
@@ -0,0 +1,3 @@
+<?php $TRANSLATIONS = array(
+"Help" => "Adjuta"
+);
diff --git a/apps/user_ldap/l10n/is.php b/apps/user_ldap/l10n/is.php
new file mode 100644
index 00000000000..29bc7692795
--- /dev/null
+++ b/apps/user_ldap/l10n/is.php
@@ -0,0 +1,5 @@
+<?php $TRANSLATIONS = array(
+"Host" => "Netþjónn",
+"Password" => "Lykilorð",
+"Help" => "Hjálp"
+);
diff --git a/apps/user_ldap/l10n/it.php b/apps/user_ldap/l10n/it.php
index 915ce3af5b8..bee30cfe6ec 100644
--- a/apps/user_ldap/l10n/it.php
+++ b/apps/user_ldap/l10n/it.php
@@ -1,9 +1,10 @@
<?php $TRANSLATIONS = array(
"<b>Warning:</b> Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behaviour. Please ask your system administrator to disable one of them." => "<b>Avviso:</b> le applicazioni user_ldap e user_webdavauth sono incompatibili. Potresti riscontrare un comportamento inatteso. Chiedi al tuo amministratore di sistema di disabilitarne uno.",
-"<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will not work. Please ask your system administrator to install it." => "<b>Avviso:</b> il modulo PHP LDAP richiesto non è installato, il motore non funzionerà. Chiedi al tuo amministratore di sistema di installarlo.",
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." => "<b>Avviso:</b> il modulo PHP LDAP non è installato, il motore non funzionerà. Chiedi al tuo amministratore di sistema di installarlo.",
"Host" => "Host",
"You can omit the protocol, except you require SSL. Then start with ldaps://" => "È possibile omettere il protocollo, ad eccezione se è necessario SSL. Quindi inizia con ldaps://",
"Base DN" => "DN base",
+"One Base DN per line" => "Un DN base per riga",
"You can specify Base DN for users and groups in the Advanced tab" => "Puoi specificare una DN base per gli utenti ed i gruppi nella scheda Avanzate",
"User DN" => "DN utente",
"The DN of the client user with which the bind shall be done, e.g. uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password empty." => "Il DN per il client dell'utente con cui deve essere associato, ad esempio uid=agent,dc=example,dc=com. Per l'accesso anonimo, lasciare vuoti i campi DN e Password",
@@ -20,7 +21,9 @@
"without any placeholder, e.g. \"objectClass=posixGroup\"." => "senza nessun segnaposto, per esempio \"objectClass=posixGroup\".",
"Port" => "Porta",
"Base User Tree" => "Struttura base dell'utente",
+"One User Base DN per line" => "Un DN base utente per riga",
"Base Group Tree" => "Struttura base del gruppo",
+"One Group Base DN per line" => "Un DN base gruppo per riga",
"Group-Member association" => "Associazione gruppo-utente ",
"Use TLS" => "Usa TLS",
"Do not use it for SSL connections, it will fail." => "Non utilizzare per le connessioni SSL, fallirà.",
diff --git a/apps/user_ldap/l10n/ja_JP.php b/apps/user_ldap/l10n/ja_JP.php
index c7b2a0f91b8..1c93db7ba09 100644
--- a/apps/user_ldap/l10n/ja_JP.php
+++ b/apps/user_ldap/l10n/ja_JP.php
@@ -1,9 +1,10 @@
<?php $TRANSLATIONS = array(
"<b>Warning:</b> Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behaviour. Please ask your system administrator to disable one of them." => "<b>警告:</b> user_ldap 㨠user_webdavauth ã®ã‚¢ãƒ—リã«ã¯äº’æ›æ€§ãŒã‚りã¾ã›ã‚“。予期ã›ã¬å‹•作をã™ã‚‹å¯èƒ½å§“ãŒã‚りã¾ã™ã€‚システム管ç†è€…ã«ã©ã¡ã‚‰ã‹ã‚’無効ã«ã™ã‚‹ã‚ˆã†å•ã„åˆã‚ã›ã¦ãã ã•ã„。",
-"<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will not work. Please ask your system administrator to install it." => "<b>警告:</b> PHP LDAP モジュールãŒã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•れã¦ã„ã¾ã›ã‚“。ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ãŒæ­£ã—ãã©ã†ã•ã—ã¾ã›ã‚“。システム管ç†è€…ã«ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã™ã‚‹ã‚ˆã†å•ã„åˆã‚ã›ã¦ãã ã•ã„。",
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." => "<b>警告:</b> PHP LDAP モジュールãŒã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•れã¦ã„ã¾ã›ã‚“。ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ãŒæ­£ã—ã動作ã—ã¾ã›ã‚“。システム管ç†è€…ã«ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã™ã‚‹ã‚ˆã†å•ã„åˆã‚ã›ã¦ãã ã•ã„。",
"Host" => "ホスト",
"You can omit the protocol, except you require SSL. Then start with ldaps://" => "SSL通信ã—ãªã„å ´åˆã«ã¯ã€ãƒ—ロトコルåã‚’çœç•¥ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ãã†ã§ãªã„å ´åˆã«ã¯ã€ldaps:// ã‹ã‚‰å§‹ã‚ã¦ãã ã•ã„。",
"Base DN" => "ベースDN",
+"One Base DN per line" => "1行ã«1ã¤ã®ãƒ™ãƒ¼ã‚¹DN",
"You can specify Base DN for users and groups in the Advanced tab" => "拡張タブã§ãƒ¦ãƒ¼ã‚¶ã¨ã‚°ãƒ«ãƒ¼ãƒ—ã®ãƒ™ãƒ¼ã‚¹DNを指定ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚",
"User DN" => "ユーザDN",
"The DN of the client user with which the bind shall be done, e.g. uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password empty." => "クライアントユーザーã®DNã¯ã€ç‰¹å®šã®ã‚‚ã®ã«çµã³ã¤ã‘ã‚‹ã“ã¨ã¯ã—ã¾ã›ã‚“。 例ãˆã° uid=agent,dc=example,dc=com. ã ã¨åŒ¿åアクセスã®å ´åˆã€DNã¨ãƒ‘スワードã¯ç©ºã®ã¾ã¾ã§ã™ã€‚",
@@ -20,7 +21,9 @@
"without any placeholder, e.g. \"objectClass=posixGroup\"." => "プレースホルダーを利用ã—ãªã„ã§ãã ã•ã„。例 \"objectClass=posixGroup\"",
"Port" => "ãƒãƒ¼ãƒˆ",
"Base User Tree" => "ベースユーザツリー",
+"One User Base DN per line" => "1行ã«1ã¤ã®ãƒ¦ãƒ¼ã‚¶ãƒ™ãƒ¼ã‚¹DN",
"Base Group Tree" => "ベースグループツリー",
+"One Group Base DN per line" => "1行ã«1ã¤ã®ã‚°ãƒ«ãƒ¼ãƒ—ベースDN",
"Group-Member association" => "グループã¨ãƒ¡ãƒ³ãƒãƒ¼ã®é–¢é€£ä»˜ã‘",
"Use TLS" => "TLSを利用",
"Do not use it for SSL connections, it will fail." => "SSL接続ã«åˆ©ç”¨ã—ãªã„ã§ãã ã•ã„ã€å¤±æ•—ã—ã¾ã™ã€‚",
diff --git a/apps/user_ldap/l10n/ka_GE.php b/apps/user_ldap/l10n/ka_GE.php
new file mode 100644
index 00000000000..630d92b73ad
--- /dev/null
+++ b/apps/user_ldap/l10n/ka_GE.php
@@ -0,0 +1,3 @@
+<?php $TRANSLATIONS = array(
+"Help" => "დáƒáƒ®áƒ›áƒáƒ áƒ”ბáƒ"
+);
diff --git a/apps/user_ldap/l10n/ko.php b/apps/user_ldap/l10n/ko.php
index aa775e42b16..c0d09b5c3c1 100644
--- a/apps/user_ldap/l10n/ko.php
+++ b/apps/user_ldap/l10n/ko.php
@@ -1,4 +1,5 @@
<?php $TRANSLATIONS = array(
+"<b>Warning:</b> Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behaviour. Please ask your system administrator to disable one of them." => "<b>경고</b>user_ldap 앱과 user_webdavauth ì•±ì€ í˜¸í™˜ë˜ì§€ 않습니다. 오ë™ìž‘ì„ ì¼ìœ¼í‚¬ 수 있으므로, 시스템 관리ìžì—게 요청하여, 둘 중 하나를 비활성화 하시기 ë°”ëžë‹ˆë‹¤.",
"Host" => "호스트",
"You can omit the protocol, except you require SSL. Then start with ldaps://" => "SSLì„ ì‚¬ìš©í•˜ëŠ” 경우가 아니ë¼ë©´ í”„ë¡œí† ì½œì„ ìž…ë ¥í•˜ì§€ ì•Šì•„ë„ ë©ë‹ˆë‹¤. SSLì„ ì‚¬ìš©í•˜ë ¤ë©´ ldaps://를 입력하십시오.",
"Base DN" => "기본 DN",
diff --git a/apps/user_ldap/l10n/ku_IQ.php b/apps/user_ldap/l10n/ku_IQ.php
new file mode 100644
index 00000000000..1ae808ddd91
--- /dev/null
+++ b/apps/user_ldap/l10n/ku_IQ.php
@@ -0,0 +1,3 @@
+<?php $TRANSLATIONS = array(
+"Help" => "یارمەتی"
+);
diff --git a/apps/user_ldap/l10n/lb.php b/apps/user_ldap/l10n/lb.php
new file mode 100644
index 00000000000..2926538b5b0
--- /dev/null
+++ b/apps/user_ldap/l10n/lb.php
@@ -0,0 +1,3 @@
+<?php $TRANSLATIONS = array(
+"Help" => "Hëllef"
+);
diff --git a/apps/user_ldap/l10n/lv.php b/apps/user_ldap/l10n/lv.php
new file mode 100644
index 00000000000..52353472e4d
--- /dev/null
+++ b/apps/user_ldap/l10n/lv.php
@@ -0,0 +1,3 @@
+<?php $TRANSLATIONS = array(
+"Help" => "Palīdzība"
+);
diff --git a/apps/user_ldap/l10n/mk.php b/apps/user_ldap/l10n/mk.php
index f0a348b7421..4c231b516d4 100644
--- a/apps/user_ldap/l10n/mk.php
+++ b/apps/user_ldap/l10n/mk.php
@@ -1,3 +1,6 @@
<?php $TRANSLATIONS = array(
-"Password" => "Лозинка"
+"Host" => "Домаќин",
+"You can omit the protocol, except you require SSL. Then start with ldaps://" => "Може да го Ñкокнете протколот оÑвен ако не ви треба SSL. Тогаш Ñтавете ldaps://",
+"Password" => "Лозинка",
+"Help" => "Помош"
);
diff --git a/apps/user_ldap/l10n/ms_MY.php b/apps/user_ldap/l10n/ms_MY.php
new file mode 100644
index 00000000000..077a5390cf8
--- /dev/null
+++ b/apps/user_ldap/l10n/ms_MY.php
@@ -0,0 +1,3 @@
+<?php $TRANSLATIONS = array(
+"Help" => "Bantuan"
+);
diff --git a/apps/user_ldap/l10n/nl.php b/apps/user_ldap/l10n/nl.php
index 23e9a15c010..27c4407360e 100644
--- a/apps/user_ldap/l10n/nl.php
+++ b/apps/user_ldap/l10n/nl.php
@@ -1,11 +1,12 @@
<?php $TRANSLATIONS = array(
"<b>Warning:</b> Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behaviour. Please ask your system administrator to disable one of them." => "<b>Waarschuwing:</b> De Apps user_ldap en user_webdavauth zijn incompatible. U kunt onverwacht gedrag ervaren. Vraag uw beheerder om een van beide apps de deactiveren.",
-"<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will not work. Please ask your system administrator to install it." => "<b>Waarschuwing:</b> De PHP LDAP module is niet geïnstalleerd, de backend zal dus niet werken. Vraag uw beheerder de module te installeren.",
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." => "<b>Waarschuwing:</b> De PHP LDAP module is niet geïnstalleerd, het backend zal niet werken. Vraag uw systeembeheerder om de module te installeren.",
"Host" => "Host",
"You can omit the protocol, except you require SSL. Then start with ldaps://" => "Je kunt het protocol weglaten, tenzij je SSL vereist. Start in dat geval met ldaps://",
-"Base DN" => "Basis DN",
-"You can specify Base DN for users and groups in the Advanced tab" => "Je kunt het standaard DN voor gebruikers en groepen specificeren in het tab Geavanceerd.",
-"User DN" => "Gebruikers DN",
+"Base DN" => "Base DN",
+"One Base DN per line" => "Een Base DN per regel",
+"You can specify Base DN for users and groups in the Advanced tab" => "Je kunt het Base DN voor gebruikers en groepen specificeren in het tab Geavanceerd.",
+"User DN" => "User DN",
"The DN of the client user with which the bind shall be done, e.g. uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password empty." => "De DN van de client gebruiker waarmee de verbinding zal worden gemaakt, bijv. uid=agent,dc=example,dc=com. Voor anonieme toegang laat je het DN en het wachtwoord leeg.",
"Password" => "Wachtwoord",
"For anonymous access, leave DN and Password empty." => "Voor anonieme toegang, laat de DN en het wachtwoord leeg.",
@@ -20,7 +21,9 @@
"without any placeholder, e.g. \"objectClass=posixGroup\"." => "zonder een placeholder, bijv. \"objectClass=posixGroup\"",
"Port" => "Poort",
"Base User Tree" => "Basis Gebruikers Structuur",
+"One User Base DN per line" => "Een User Base DN per regel",
"Base Group Tree" => "Basis Groupen Structuur",
+"One Group Base DN per line" => "Een Group Base DN per regel",
"Group-Member association" => "Groepslid associatie",
"Use TLS" => "Gebruik TLS",
"Do not use it for SSL connections, it will fail." => "Gebruik niet voor SSL connecties, deze mislukken.",
diff --git a/apps/user_ldap/l10n/nn_NO.php b/apps/user_ldap/l10n/nn_NO.php
new file mode 100644
index 00000000000..54d1f158f65
--- /dev/null
+++ b/apps/user_ldap/l10n/nn_NO.php
@@ -0,0 +1,3 @@
+<?php $TRANSLATIONS = array(
+"Help" => "Hjelp"
+);
diff --git a/apps/user_ldap/l10n/oc.php b/apps/user_ldap/l10n/oc.php
new file mode 100644
index 00000000000..0bf27d74f2f
--- /dev/null
+++ b/apps/user_ldap/l10n/oc.php
@@ -0,0 +1,3 @@
+<?php $TRANSLATIONS = array(
+"Help" => "Ajuda"
+);
diff --git a/apps/user_ldap/l10n/pl.php b/apps/user_ldap/l10n/pl.php
index 0a3dea14c94..55110b8a830 100644
--- a/apps/user_ldap/l10n/pl.php
+++ b/apps/user_ldap/l10n/pl.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"<b>Warning:</b> Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behaviour. Please ask your system administrator to disable one of them." => "<b>Ostrzeżenie:</b> Aplikacje user_ldap i user_webdavauth nie są kompatybilne. Mogą powodować nieoczekiwane zachowanie. Poproś administratora o wyłączenie jednej z nich.",
-"<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will not work. Please ask your system administrator to install it." => "<b>Ostrzeżenie:</b> Moduł PHP LDAP nie jest zainstalowany i nie będzie działał. Poproś administratora o włączenie go.",
"Host" => "Host",
"You can omit the protocol, except you require SSL. Then start with ldaps://" => "Można pominąć protokół, z wyjątkiem wymaganego protokołu SSL. Następnie uruchom z ldaps://",
"Base DN" => "Baza DN",
diff --git a/apps/user_ldap/l10n/pt_PT.php b/apps/user_ldap/l10n/pt_PT.php
index 1b21b899a2e..9059f178769 100644
--- a/apps/user_ldap/l10n/pt_PT.php
+++ b/apps/user_ldap/l10n/pt_PT.php
@@ -1,9 +1,10 @@
<?php $TRANSLATIONS = array(
"<b>Warning:</b> Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behaviour. Please ask your system administrator to disable one of them." => "<b>Aviso:</b> A aplicação user_ldap e user_webdavauth são incompativeis. A aplicação pode tornar-se instável. Por favor, peça ao seu administrador para desactivar uma das aplicações.",
-"<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will not work. Please ask your system administrator to install it." => "<b>Aviso:</b> O módulo PHP LDAP necessário não está instalado, o backend não irá funcionar. Peça ao seu administrador para o instalar.",
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." => "<b>Aviso:</b> O módulo PHP LDAP não está instalado, logo não irá funcionar. Por favor peça ao administrador para o instalar.",
"Host" => "Anfitrião",
"You can omit the protocol, except you require SSL. Then start with ldaps://" => "Pode omitir o protocolo, excepto se necessitar de SSL. Neste caso, comece com ldaps://",
"Base DN" => "DN base",
+"One Base DN per line" => "Uma base DN por linho",
"You can specify Base DN for users and groups in the Advanced tab" => "Pode especificar o ND Base para utilizadores e grupos no separador Avançado",
"User DN" => "DN do utilizador",
"The DN of the client user with which the bind shall be done, e.g. uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password empty." => "O DN to cliente ",
@@ -20,7 +21,9 @@
"without any placeholder, e.g. \"objectClass=posixGroup\"." => "Sem nenhuma variável. Exemplo: \"objectClass=posixGroup\".",
"Port" => "Porto",
"Base User Tree" => "Base da árvore de utilizadores.",
+"One User Base DN per line" => "Uma base de utilizador DN por linha",
"Base Group Tree" => "Base da árvore de grupos.",
+"One Group Base DN per line" => "Uma base de grupo DN por linha",
"Group-Member association" => "Associar utilizador ao grupo.",
"Use TLS" => "Usar TLS",
"Do not use it for SSL connections, it will fail." => "Não use para ligações SSL, irá falhar.",
diff --git a/apps/user_ldap/l10n/ro.php b/apps/user_ldap/l10n/ro.php
index beeed857455..d83c890b747 100644
--- a/apps/user_ldap/l10n/ro.php
+++ b/apps/user_ldap/l10n/ro.php
@@ -1,7 +1,10 @@
<?php $TRANSLATIONS = array(
+"<b>Warning:</b> Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behaviour. Please ask your system administrator to disable one of them." => "<b>Atentie:</b> Apps user_ldap si user_webdavauth sunt incompatibile. Este posibil sa experimentati un comportament neasteptat. Vă rugăm să întrebați administratorul de sistem pentru a dezactiva una dintre ele.",
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." => "<b>Atenție</b> Modulul PHP LDAP nu este instalat, infrastructura nu va funcționa. Contactează administratorul sistemului pentru al instala.",
"Host" => "Gazdă",
"You can omit the protocol, except you require SSL. Then start with ldaps://" => "Puteți omite protocolul, decât dacă folosiți SSL. Atunci se începe cu ldaps://",
"Base DN" => "DN de bază",
+"One Base DN per line" => "Un Base DN pe linie",
"You can specify Base DN for users and groups in the Advanced tab" => "Puteți să specificați DN de bază pentru utilizatori și grupuri în fila Avansat",
"User DN" => "DN al utilizatorului",
"The DN of the client user with which the bind shall be done, e.g. uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password empty." => "DN-ul clientului utilizator cu care se va efectua conectarea, d.e. uid=agent,dc=example,dc=com. Pentru acces anonim, lăsăți DN și Parolă libere.",
@@ -18,7 +21,9 @@
"without any placeholder, e.g. \"objectClass=posixGroup\"." => "fără substituenți, d.e. \"objectClass=posixGroup\"",
"Port" => "Portul",
"Base User Tree" => "Arborele de bază al Utilizatorilor",
+"One User Base DN per line" => "Un User Base DN pe linie",
"Base Group Tree" => "Arborele de bază al Grupurilor",
+"One Group Base DN per line" => "Un Group Base DN pe linie",
"Group-Member association" => "Asocierea Grup-Membru",
"Use TLS" => "Utilizează TLS",
"Do not use it for SSL connections, it will fail." => "A nu se utiliza pentru conexiuni SSL, va eșua.",
diff --git a/apps/user_ldap/l10n/ru.php b/apps/user_ldap/l10n/ru.php
index f41a0b05838..42fba32f43f 100644
--- a/apps/user_ldap/l10n/ru.php
+++ b/apps/user_ldap/l10n/ru.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"<b>Warning:</b> Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behaviour. Please ask your system administrator to disable one of them." => "<b>Внимание:</b>ÐŸÑ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ user_ldap и user_webdavauth неÑовмеÑтимы. Ð’Ñ‹ можете ÑтолкнутьÑÑ Ñ Ð½ÐµÐ¾Ð¶Ð¸Ð´Ð°Ð½Ð½Ñ‹Ð¼ поведением. ПожалуйÑта, обратитеÑÑŒ к ÑиÑтемному админиÑтратору, чтобы отключить одно из них.",
-"<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will not work. Please ask your system administrator to install it." => "<b>Внимание:</b> Ðеобходимый PHP LDAP модуль не уÑтановлен, внутренний Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð½Ðµ будет работать. ПожалуйÑта, обратитеÑÑŒ к ÑиÑтемному админиÑтратору, чтобы уÑтановить его.",
"Host" => "Сервер",
"You can omit the protocol, except you require SSL. Then start with ldaps://" => "Можно опуÑтить протокол, за иÑключением того, когда вам требуетÑÑ SSL. Тогда начните Ñ ldaps :/ /",
"Base DN" => "Базовый DN",
diff --git a/apps/user_ldap/l10n/ru_RU.php b/apps/user_ldap/l10n/ru_RU.php
index 09d7899249a..64ba1176f6e 100644
--- a/apps/user_ldap/l10n/ru_RU.php
+++ b/apps/user_ldap/l10n/ru_RU.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"<b>Warning:</b> Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behaviour. Please ask your system administrator to disable one of them." => "<b>Предупреждение:</b> ÐŸÑ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ user_ldap и user_webdavauth неÑовмеÑтимы. Ð’Ñ‹ можете ÑтолкнутьÑÑ Ñ Ð½ÐµÐ¾Ð¶Ð¸Ð´Ð°Ð½Ð½Ñ‹Ð¼ поведением ÑиÑтемы. ПожалуйÑта, обратитеÑÑŒ к ÑиÑтемному админиÑтратору Ð´Ð»Ñ Ð¾Ñ‚ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð¾Ð´Ð½Ð¾Ð³Ð¾ из них.",
-"<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will not work. Please ask your system administrator to install it." => "<b>Предупреждение:</b> Ðеобходимый PHP LDAP-модуль не уÑтановлен, backend не будет работать. ПожалуйÑта, обратитеÑÑŒ к ÑиÑтемному админиÑтратору, чтобы уÑтановить его.",
"Host" => "ХоÑÑ‚",
"You can omit the protocol, except you require SSL. Then start with ldaps://" => "Ð’Ñ‹ можете пропуÑтить протокол, еÑли Вам не требуетÑÑ SSL. Затем начните Ñ ldaps://",
"Base DN" => "База DN",
diff --git a/apps/user_ldap/l10n/sl.php b/apps/user_ldap/l10n/sl.php
index 1d1fc33a83b..247f2bfdcbd 100644
--- a/apps/user_ldap/l10n/sl.php
+++ b/apps/user_ldap/l10n/sl.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"<b>Warning:</b> Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behaviour. Please ask your system administrator to disable one of them." => "<b>Opozorilo:</b> Aplikaciji user_ldap in user_webdavauth nista združljivi. Morda boste opazili nepriÄakovano obnaÅ¡anje sistema. Prosimo, prosite vaÅ¡ega skrbnika, da eno od aplikacij onemogoÄi.",
-"<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will not work. Please ask your system administrator to install it." => "<b>Opozorilo:</b> PHP LDAP modul mora biti nameÅ¡Äen, sicer ta vmesnik ne bo deloval. Prosimo, prosite vaÅ¡ega skrbnika, Äe ga namesti.",
"Host" => "Gostitelj",
"You can omit the protocol, except you require SSL. Then start with ldaps://" => "Protokol je lahko izpuÅ¡Äen, Äe ni posebej zahtevan SSL. V tem primeru se mora naslov zaÄeti z ldaps://",
"Base DN" => "Osnovni DN",
diff --git a/apps/user_ldap/l10n/sr.php b/apps/user_ldap/l10n/sr.php
new file mode 100644
index 00000000000..fff39aadc24
--- /dev/null
+++ b/apps/user_ldap/l10n/sr.php
@@ -0,0 +1,3 @@
+<?php $TRANSLATIONS = array(
+"Help" => "Помоћ"
+);
diff --git a/apps/user_ldap/l10n/sr@latin.php b/apps/user_ldap/l10n/sr@latin.php
new file mode 100644
index 00000000000..91503315066
--- /dev/null
+++ b/apps/user_ldap/l10n/sr@latin.php
@@ -0,0 +1,3 @@
+<?php $TRANSLATIONS = array(
+"Help" => "Pomoć"
+);
diff --git a/apps/user_ldap/l10n/sv.php b/apps/user_ldap/l10n/sv.php
index e8e14af7aca..25abfdd7ddb 100644
--- a/apps/user_ldap/l10n/sv.php
+++ b/apps/user_ldap/l10n/sv.php
@@ -1,9 +1,10 @@
<?php $TRANSLATIONS = array(
"<b>Warning:</b> Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behaviour. Please ask your system administrator to disable one of them." => "<b>Varning:</b> Apps user_ldap och user_webdavauth är inkompatibla. Oväntade problem kan uppstå. Be din systemadministratör att inaktivera en av dom.",
-"<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will not work. Please ask your system administrator to install it." => "<b>Varning:</b> PHP LDAP-modulen måste vara installerad, serversidan kommer inte att fungera. Be din systemadministratör att installera den.",
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." => "<b>Varning:</b> PHP LDAP - modulen är inte installerad, serversidan kommer inte att fungera. Kontakta din systemadministratör för installation.",
"Host" => "Server",
"You can omit the protocol, except you require SSL. Then start with ldaps://" => "Du behöver inte ange protokoll förutom om du använder SSL. Starta då med ldaps://",
"Base DN" => "Start DN",
+"One Base DN per line" => "Ett Start DN per rad",
"You can specify Base DN for users and groups in the Advanced tab" => "Du kan ange start DN för användare och grupper under fliken Avancerat",
"User DN" => "Användare DN",
"The DN of the client user with which the bind shall be done, e.g. uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password empty." => "DN för användaren som skall användas, t.ex. uid=agent, dc=example, dc=com. För anonym åtkomst, lämna DN och lösenord tomt.",
@@ -20,7 +21,9 @@
"without any placeholder, e.g. \"objectClass=posixGroup\"." => "utan platshållare, t.ex. \"objectClass=posixGroup\".",
"Port" => "Port",
"Base User Tree" => "Bas för användare i katalogtjänst",
+"One User Base DN per line" => "En Användare start DN per rad",
"Base Group Tree" => "Bas för grupper i katalogtjänst",
+"One Group Base DN per line" => "En Grupp start DN per rad",
"Group-Member association" => "Attribut för gruppmedlemmar",
"Use TLS" => "Använd TLS",
"Do not use it for SSL connections, it will fail." => "Använd inte för SSL-anslutningar, det kommer inte att fungera.",
diff --git a/apps/user_ldap/l10n/th_TH.php b/apps/user_ldap/l10n/th_TH.php
index acc7a4936bc..e3a941c4244 100644
--- a/apps/user_ldap/l10n/th_TH.php
+++ b/apps/user_ldap/l10n/th_TH.php
@@ -1,7 +1,10 @@
<?php $TRANSLATIONS = array(
+"<b>Warning:</b> Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behaviour. Please ask your system administrator to disable one of them." => "<b>คำเตือน:</b> à¹à¸­à¸›à¸¯ user_ldap à¹à¸¥à¸° user_webdavauth ไม่สามารถใช้งานร่วมà¸à¸±à¸™à¹„ด้. คุณอาจประสพปัà¸à¸«à¸²à¸—ี่ไม่คาดคิดจาà¸à¹€à¸«à¸•ุà¸à¸²à¸£à¸“์ดังà¸à¸¥à¹ˆà¸²à¸§ à¸à¸£à¸¸à¸“าติดต่อผู้ดูà¹à¸¥à¸£à¸°à¸šà¸šà¸‚องคุณเพื่อระงับà¸à¸²à¸£à¹ƒà¸Šà¹‰à¸‡à¸²à¸™à¹à¸­à¸›à¸¯ ตัวใดตัวหนึ่งข้างต้น",
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." => "<b>คำเตือน:</b> โมดูล PHP LDAP ยังไม่ได้ถูà¸à¸•ิดตั้ง, ระบบด้านหลังจะไม่สามารถทำงานได้ à¸à¸£à¸¸à¸“าติดต่อผู้ดูà¹à¸¥à¸£à¸°à¸šà¸šà¸‚องคุณเพื่อทำà¸à¸²à¸£à¸•ิดตั้งโมดูลดังà¸à¸¥à¹ˆà¸²à¸§",
"Host" => "โฮสต์",
"You can omit the protocol, except you require SSL. Then start with ldaps://" => "คุณสามารถปล่อยช่องโปรโตคอลเว้นไว้ได้, ยà¸à¹€à¸§à¹‰à¸™à¸à¸£à¸“ีที่คุณต้องà¸à¸²à¸£à¹ƒà¸Šà¹‰ SSL จาà¸à¸™à¸±à¹‰à¸™à¹€à¸£à¸´à¹ˆà¸¡à¸•้นด้วย ldaps://",
"Base DN" => "DN à¸à¸²à¸™",
+"One Base DN per line" => "หนึ่ง Base DN ต่อบรรทัด",
"You can specify Base DN for users and groups in the Advanced tab" => "คุณสามารถระบุ DN หลัà¸à¸ªà¸³à¸«à¸£à¸±à¸šà¸œà¸¹à¹‰à¹ƒà¸Šà¹‰à¸‡à¸²à¸™à¹à¸¥à¸°à¸à¸¥à¸¸à¹ˆà¸¡à¸•่างๆในà¹à¸—็บขั้นสูงได้",
"User DN" => "DN ของผู้ใช้งาน",
"The DN of the client user with which the bind shall be done, e.g. uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password empty." => "DN ของผู้ใช้งานที่เป็นลูà¸à¸„้าอะไรà¸à¹‡à¸•ามที่ผูà¸à¸­à¸¢à¸¹à¹ˆà¸”้วย เช่น uid=agent, dc=example, dc=com, สำหรับà¸à¸²à¸£à¹€à¸‚้าถึงโดยบุคคลนิรนาม, ให้เว้นว่าง DN à¹à¸¥à¸° รหัสผ่านเอาไว้",
@@ -18,7 +21,9 @@
"without any placeholder, e.g. \"objectClass=posixGroup\"." => "โดยไม่ต้องมีตัวยึดใดๆ, เช่น \"objectClass=posixGroup\",",
"Port" => "พอร์ต",
"Base User Tree" => "รายà¸à¸²à¸£à¸œà¸¹à¹‰à¹ƒà¸Šà¹‰à¸‡à¸²à¸™à¸«à¸¥à¸±à¸à¹à¸šà¸š Tree",
+"One User Base DN per line" => "หนึ่ง User Base DN ต่อบรรทัด",
"Base Group Tree" => "รายà¸à¸²à¸£à¸à¸¥à¸¸à¹ˆà¸¡à¸«à¸¥à¸±à¸à¹à¸šà¸š Tree",
+"One Group Base DN per line" => "หนึ่ง Group Base DN ต่อบรรทัด",
"Group-Member association" => "ความสัมพันธ์ของสมาชิà¸à¹ƒà¸™à¸à¸¥à¸¸à¹ˆà¸¡",
"Use TLS" => "ใช้ TLS",
"Do not use it for SSL connections, it will fail." => "à¸à¸£à¸¸à¸“าอย่าใช้à¸à¸²à¸£à¹€à¸Šà¸·à¹ˆà¸­à¸¡à¸•่อà¹à¸šà¸š SSL à¸à¸²à¸£à¹€à¸Šà¸·à¹ˆà¸­à¸¡à¸•่อจะเà¸à¸´à¸”à¸à¸²à¸£à¸¥à¹‰à¸¡à¹€à¸«à¸¥à¸§",
diff --git a/apps/user_ldap/l10n/tr.php b/apps/user_ldap/l10n/tr.php
new file mode 100644
index 00000000000..6da65d9832b
--- /dev/null
+++ b/apps/user_ldap/l10n/tr.php
@@ -0,0 +1,24 @@
+<?php $TRANSLATIONS = array(
+"Host" => "Konak",
+"Base DN" => "Base DN",
+"User DN" => "User DN",
+"Password" => "Parola",
+"For anonymous access, leave DN and Password empty." => "Anonim erişim için DN ve Parola alanlarını boş bırakın.",
+"User Login Filter" => "Kullanıcı Oturum Açma Süzgeci",
+"use %%uid placeholder, e.g. \"uid=%%uid\"" => "%%uid yer tutucusunu kullanın, örneğin \"uid=%%uid\"",
+"User List Filter" => "Kullanıcı Liste Süzgeci",
+"without any placeholder, e.g. \"objectClass=person\"." => "bir yer tutucusu olmadan, örneğin \"objectClass=person\"",
+"Group Filter" => "Grup Süzgeci",
+"Port" => "Port",
+"Base User Tree" => "Temel Kullanıcı Ağacı",
+"Base Group Tree" => "Temel Grup Ağacı",
+"Group-Member association" => "Grup-Üye işbirliği",
+"Use TLS" => "TLS kullan",
+"Do not use it for SSL connections, it will fail." => "SSL bağlantıları ile kullanmayın, başarısız olacaktır.",
+"Turn off SSL certificate validation." => "SSL sertifika doğrulamasını kapat.",
+"Not recommended, use for testing only." => "Önerilmez, sadece test için kullanın.",
+"in bytes" => "byte cinsinden",
+"in seconds. A change empties the cache." => "saniye cinsinden. Bir değişiklik önbelleği temizleyecektir.",
+"Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." => "Kullanıcı adı bölümünü boş bırakın (varsayılan). ",
+"Help" => "Yardım"
+);
diff --git a/apps/user_ldap/l10n/uk.php b/apps/user_ldap/l10n/uk.php
index f82e9f2a420..d617d939265 100644
--- a/apps/user_ldap/l10n/uk.php
+++ b/apps/user_ldap/l10n/uk.php
@@ -1,6 +1,5 @@
<?php $TRANSLATIONS = array(
"<b>Warning:</b> Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behaviour. Please ask your system administrator to disable one of them." => "<b>Увага:</b> ЗаÑтоÑунки user_ldap та user_webdavauth не ÑуміÑні. Ви можете зіткнутиÑÑ Ð· неÑподіваною поведінкою. Будь лаÑка, звернітьÑÑ Ð´Ð¾ ÑиÑтемного адмініÑтратора, щоб відключити одну з них.",
-"<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will not work. Please ask your system administrator to install it." => "<b>Увага:</ b> Потрібний модуль PHP LDAP не вÑтановлено, базова програма працювати не буде. Будь лаÑка, звернітьÑÑ Ð´Ð¾ ÑиÑтемного адмініÑтратора, щоб вÑтановити його.",
"Host" => "ХоÑÑ‚",
"You can omit the protocol, except you require SSL. Then start with ldaps://" => "Можна не вказувати протокол, Ñкщо вам не потрібен SSL. Тоді почніть з ldaps://",
"Base DN" => "Базовий DN",
diff --git a/apps/user_ldap/l10n/zh_CN.php b/apps/user_ldap/l10n/zh_CN.php
index bb961d534b7..ed5041eff06 100644
--- a/apps/user_ldap/l10n/zh_CN.php
+++ b/apps/user_ldap/l10n/zh_CN.php
@@ -1,4 +1,5 @@
<?php $TRANSLATIONS = array(
+"<b>Warning:</b> Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behaviour. Please ask your system administrator to disable one of them." => "<b>警告:</b>应用 user_ldap å’Œ user_webdavauth ä¸å…¼å®¹ã€‚您å¯èƒ½é­é‡æœªé¢„料的行为。请垂询您的系统管ç†å‘˜ç¦ç”¨å…¶ä¸­ä¸€ä¸ªã€‚",
"Host" => "主机",
"You can omit the protocol, except you require SSL. Then start with ldaps://" => "å¯ä»¥å¿½ç•¥å议,但如è¦ä½¿ç”¨SSL,则需以ldaps://开头",
"Base DN" => "Base DN",
@@ -31,6 +32,7 @@
"Group Display Name Field" => "组显示å称字段",
"The LDAP attribute to use to generate the groups`s ownCloud name." => "用æ¥ç”Ÿæˆç»„çš„ownCloudåç§°çš„LDAP属性",
"in bytes" => "字节数",
+"in seconds. A change empties the cache." => "以秒计。修改将清空缓存。",
"Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." => "将用户å称留空(默认)。å¦åˆ™æŒ‡å®šä¸€ä¸ªLDAP/AD属性",
"Help" => "帮助"
);
diff --git a/apps/user_ldap/l10n/zh_TW.php b/apps/user_ldap/l10n/zh_TW.php
index abc1b03d49d..506ae0f0fbd 100644
--- a/apps/user_ldap/l10n/zh_TW.php
+++ b/apps/user_ldap/l10n/zh_TW.php
@@ -1,5 +1,7 @@
<?php $TRANSLATIONS = array(
+"Host" => "主機",
"Password" => "密碼",
+"Port" => "連接阜",
"Use TLS" => "使用TLS",
"Turn off SSL certificate validation." => "關閉 SSL 憑證驗證",
"Help" => "說明"
diff --git a/apps/user_ldap/lib/access.php b/apps/user_ldap/lib/access.php
index f888577aedb..422e43fc003 100644
--- a/apps/user_ldap/lib/access.php
+++ b/apps/user_ldap/lib/access.php
@@ -114,6 +114,15 @@ abstract class Access {
* @return the sanitized DN
*/
private function sanitizeDN($dn) {
+ //treating multiple base DNs
+ if(is_array($dn)) {
+ $result = array();
+ foreach($dn as $singleDN) {
+ $result[] = $this->sanitizeDN($singleDN);
+ }
+ return $result;
+ }
+
//OID sometimes gives back DNs with whitespace after the comma a la "uid=foo, cn=bar, dn=..." We need to tackle this!
$dn = preg_replace('/([^\\\]),(\s+)/u', '\1,', $dn);
@@ -212,9 +221,13 @@ abstract class Access {
* returns the internal ownCloud name for the given LDAP DN of the group, false on DN outside of search DN or failure
*/
public function dn2groupname($dn, $ldapname = null) {
- if(mb_strripos($dn, $this->sanitizeDN($this->connection->ldapBaseGroups), 0, 'UTF-8') !== (mb_strlen($dn, 'UTF-8')-mb_strlen($this->sanitizeDN($this->connection->ldapBaseGroups), 'UTF-8'))) {
+ //To avoid bypassing the base DN settings under certain circumstances
+ //with the group support, check whether the provided DN matches one of
+ //the given Bases
+ if(!$this->isDNPartOfBase($dn, $this->connection->ldapBaseGroups)) {
return false;
}
+
return $this->dn2ocname($dn, $ldapname, false);
}
@@ -227,9 +240,13 @@ abstract class Access {
* returns the internal ownCloud name for the given LDAP DN of the user, false on DN outside of search DN or failure
*/
public function dn2username($dn, $ldapname = null) {
- if(mb_strripos($dn, $this->sanitizeDN($this->connection->ldapBaseUsers), 0, 'UTF-8') !== (mb_strlen($dn, 'UTF-8')-mb_strlen($this->sanitizeDN($this->connection->ldapBaseUsers), 'UTF-8'))) {
+ //To avoid bypassing the base DN settings under certain circumstances
+ //with the group support, check whether the provided DN matches one of
+ //the given Bases
+ if(!$this->isDNPartOfBase($dn, $this->connection->ldapBaseUsers)) {
return false;
}
+
return $this->dn2ocname($dn, $ldapname, true);
}
@@ -521,7 +538,7 @@ abstract class Access {
/**
* @brief executes an LDAP search
* @param $filter the LDAP filter for the search
- * @param $base the LDAP subtree that shall be searched
+ * @param $base an array containing the LDAP subtree(s) that shall be searched
* @param $attr optional, when a certain attribute shall be filtered out
* @returns array with the search result
*
@@ -544,18 +561,28 @@ abstract class Access {
//check wether paged search should be attempted
$pagedSearchOK = $this->initPagedSearch($filter, $base, $attr, $limit, $offset);
- $sr = ldap_search($link_resource, $base, $filter, $attr);
- if(!$sr) {
+ $linkResources = array_pad(array(), count($base), $link_resource);
+ $sr = ldap_search($linkResources, $base, $filter, $attr);
+ $error = ldap_errno($link_resource);
+ if(!is_array($sr) || $error > 0) {
\OCP\Util::writeLog('user_ldap', 'Error when searching: '.ldap_error($link_resource).' code '.ldap_errno($link_resource), \OCP\Util::ERROR);
\OCP\Util::writeLog('user_ldap', 'Attempt for Paging? '.print_r($pagedSearchOK, true), \OCP\Util::ERROR);
return array();
}
- $findings = ldap_get_entries($link_resource, $sr );
+ $findings = array();
+ foreach($sr as $key => $res) {
+ $findings = array_merge($findings, ldap_get_entries($link_resource, $res ));
+ }
if($pagedSearchOK) {
\OCP\Util::writeLog('user_ldap', 'Paged search successful', \OCP\Util::INFO);
- ldap_control_paged_result_response($link_resource, $sr, $cookie);
- \OCP\Util::writeLog('user_ldap', 'Set paged search cookie '.$cookie, \OCP\Util::INFO);
- $this->setPagedResultCookie($filter, $limit, $offset, $cookie);
+ foreach($sr as $key => $res) {
+ $cookie = null;
+ if(ldap_control_paged_result_response($link_resource, $res, $cookie)) {
+ \OCP\Util::writeLog('user_ldap', 'Set paged search cookie', \OCP\Util::INFO);
+ $this->setPagedResultCookie($base[$key], $filter, $limit, $offset, $cookie);
+ }
+ }
+
//browsing through prior pages to get the cookie for the new one
if($skipHandling) {
return;
@@ -565,7 +592,9 @@ abstract class Access {
$this->pagedSearchedSuccessful = true;
}
} else {
- \OCP\Util::writeLog('user_ldap', 'Paged search failed :(', \OCP\Util::INFO);
+ if(!is_null($limit)) {
+ \OCP\Util::writeLog('user_ldap', 'Paged search failed :(', \OCP\Util::INFO);
+ }
}
// if we're here, probably no connection resource is returned.
@@ -792,19 +821,40 @@ abstract class Access {
}
/**
+ * @brief checks if the given DN is part of the given base DN(s)
+ * @param $dn the DN
+ * @param $bases array containing the allowed base DN or DNs
+ * @returns Boolean
+ */
+ private function isDNPartOfBase($dn, $bases) {
+ $bases = $this->sanitizeDN($bases);
+ foreach($bases as $base) {
+ $belongsToBase = true;
+ if(mb_strripos($dn, $base, 0, 'UTF-8') !== (mb_strlen($dn, 'UTF-8')-mb_strlen($base))) {
+ $belongsToBase = false;
+ }
+ if($belongsToBase) {
+ break;
+ }
+ }
+ return $belongsToBase;
+ }
+
+ /**
* @brief get a cookie for the next LDAP paged search
+ * @param $base a string with the base DN for the search
* @param $filter the search filter to identify the correct search
* @param $limit the limit (or 'pageSize'), to identify the correct search well
* @param $offset the offset for the new search to identify the correct search really good
* @returns string containing the key or empty if none is cached
*/
- private function getPagedResultCookie($filter, $limit, $offset) {
+ private function getPagedResultCookie($base, $filter, $limit, $offset) {
if($offset == 0) {
return '';
}
$offset -= $limit;
//we work with cache here
- $cachekey = 'lc' . dechex(crc32($filter)) . '-' . $limit . '-' . $offset;
+ $cachekey = 'lc' . crc32($base) . '-' . crc32($filter) . '-' . $limit . '-' . $offset;
$cookie = $this->connection->getFromCache($cachekey);
if(is_null($cookie)) {
$cookie = '';
@@ -814,15 +864,16 @@ abstract class Access {
/**
* @brief set a cookie for LDAP paged search run
+ * @param $base a string with the base DN for the search
* @param $filter the search filter to identify the correct search
* @param $limit the limit (or 'pageSize'), to identify the correct search well
* @param $offset the offset for the run search to identify the correct search really good
* @param $cookie string containing the cookie returned by ldap_control_paged_result_response
* @return void
*/
- private function setPagedResultCookie($filter, $limit, $offset) {
+ private function setPagedResultCookie($base, $filter, $limit, $offset, $cookie) {
if(!empty($cookie)) {
- $cachekey = 'lc' . dechex(crc32($filter)) . '-' . $limit . '-' . $offset;
+ $cachekey = 'lc' . dechex(crc32($base)) . '-' . dechex(crc32($filter)) . '-' .$limit . '-' . $offset;
$cookie = $this->connection->writeToCache($cachekey, $cookie);
}
}
@@ -841,40 +892,47 @@ abstract class Access {
/**
* @brief prepares a paged search, if possible
* @param $filter the LDAP filter for the search
- * @param $base the LDAP subtree that shall be searched
+ * @param $bases an array containing the LDAP subtree(s) that shall be searched
* @param $attr optional, when a certain attribute shall be filtered outside
* @param $limit
* @param $offset
*
*/
- private function initPagedSearch($filter, $base, $attr, $limit, $offset) {
+ private function initPagedSearch($filter, $bases, $attr, $limit, $offset) {
$pagedSearchOK = false;
if($this->connection->hasPagedResultSupport && !is_null($limit)) {
$offset = intval($offset); //can be null
- \OCP\Util::writeLog('user_ldap', 'initializing paged search for Filter'.$filter.' base '.$base.' attr '.print_r($attr, true). ' limit ' .$limit.' offset '.$offset, \OCP\Util::DEBUG);
+ \OCP\Util::writeLog('user_ldap', 'initializing paged search for Filter'.$filter.' base '.print_r($bases, true).' attr '.print_r($attr, true). ' limit ' .$limit.' offset '.$offset, \OCP\Util::INFO);
//get the cookie from the search for the previous search, required by LDAP
- $cookie = $this->getPagedResultCookie($filter, $limit, $offset);
- if(empty($cookie) && ($offset > 0)) {
- //no cookie known, although the offset is not 0. Maybe cache run out. We need to start all over *sigh* (btw, Dear Reader, did you need LDAP paged searching was designed by MSFT?)
- $reOffset = ($offset - $limit) < 0 ? 0 : $offset - $limit;
- //a bit recursive, $offset of 0 is the exit
- \OCP\Util::writeLog('user_ldap', 'Looking for cookie L/O '.$limit.'/'.$reOffset, \OCP\Util::INFO);
- $this->search($filter, $base, $attr, $limit, $reOffset, true);
- $cookie = $this->getPagedResultCookie($filter, $limit, $offset);
- //still no cookie? obviously, the server does not like us. Let's skip paging efforts.
- //TODO: remember this, probably does not change in the next request...
- if(empty($cookie)) {
- $cookie = null;
+ foreach($bases as $base) {
+
+ $cookie = $this->getPagedResultCookie($base, $filter, $limit, $offset);
+ if(empty($cookie) && ($offset > 0)) {
+ //no cookie known, although the offset is not 0. Maybe cache run out. We need to start all over *sigh* (btw, Dear Reader, did you need LDAP paged searching was designed by MSFT?)
+ $reOffset = ($offset - $limit) < 0 ? 0 : $offset - $limit;
+ //a bit recursive, $offset of 0 is the exit
+ \OCP\Util::writeLog('user_ldap', 'Looking for cookie L/O '.$limit.'/'.$reOffset, \OCP\Util::INFO);
+ $this->search($filter, $base, $attr, $limit, $reOffset, true);
+ $cookie = $this->getPagedResultCookie($base, $filter, $limit, $offset);
+ //still no cookie? obviously, the server does not like us. Let's skip paging efforts.
+ //TODO: remember this, probably does not change in the next request...
+ if(empty($cookie)) {
+ $cookie = null;
+ }
}
- }
- if(!is_null($cookie)) {
- if($offset > 0) {
- \OCP\Util::writeLog('user_ldap', 'Cookie '.$cookie, \OCP\Util::INFO);
+ if(!is_null($cookie)) {
+ if($offset > 0) {
+ \OCP\Util::writeLog('user_ldap', 'Cookie '.$cookie, \OCP\Util::INFO);
+ }
+ $pagedSearchOK = ldap_control_paged_result($this->connection->getConnectionResource(), $limit, false, $cookie);
+ if(!$pagedSearchOK) {
+ return false;
+ }
+ \OCP\Util::writeLog('user_ldap', 'Ready for a paged search', \OCP\Util::INFO);
+ } else {
+ \OCP\Util::writeLog('user_ldap', 'No paged search for us, Cpt., Limit '.$limit.' Offset '.$offset, \OCP\Util::INFO);
}
- $pagedSearchOK = ldap_control_paged_result($this->connection->getConnectionResource(), $limit, false, $cookie);
- \OCP\Util::writeLog('user_ldap', 'Ready for a paged search', \OCP\Util::INFO);
- } else {
- \OCP\Util::writeLog('user_ldap', 'No paged search for us, Cpt., Limit '.$limit.' Offset '.$offset, \OCP\Util::INFO);
+
}
}
diff --git a/apps/user_ldap/lib/connection.php b/apps/user_ldap/lib/connection.php
index b14cdafff89..7046cbbfc78 100644
--- a/apps/user_ldap/lib/connection.php
+++ b/apps/user_ldap/lib/connection.php
@@ -187,9 +187,9 @@ class Connection {
$this->config['ldapPort'] = \OCP\Config::getAppValue($this->configID, 'ldap_port', 389);
$this->config['ldapAgentName'] = \OCP\Config::getAppValue($this->configID, 'ldap_dn', '');
$this->config['ldapAgentPassword'] = base64_decode(\OCP\Config::getAppValue($this->configID, 'ldap_agent_password', ''));
- $this->config['ldapBase'] = \OCP\Config::getAppValue($this->configID, 'ldap_base', '');
- $this->config['ldapBaseUsers'] = \OCP\Config::getAppValue($this->configID, 'ldap_base_users', $this->config['ldapBase']);
- $this->config['ldapBaseGroups'] = \OCP\Config::getAppValue($this->configID, 'ldap_base_groups', $this->config['ldapBase']);
+ $this->config['ldapBase'] = preg_split('/\r\n|\r|\n/', \OCP\Config::getAppValue($this->configID, 'ldap_base', ''));
+ $this->config['ldapBaseUsers'] = preg_split('/\r\n|\r|\n/', \OCP\Config::getAppValue($this->configID, 'ldap_base_users', $this->config['ldapBase']));
+ $this->config['ldapBaseGroups'] = preg_split('/\r\n|\r|\n/', \OCP\Config::getAppValue($this->configID, 'ldap_base_groups', $this->config['ldapBase']));
$this->config['ldapTLS'] = \OCP\Config::getAppValue($this->configID, 'ldap_tls', 0);
$this->config['ldapNoCase'] = \OCP\Config::getAppValue($this->configID, 'ldap_nocase', 0);
$this->config['turnOffCertCheck'] = \OCP\Config::getAppValue($this->configID, 'ldap_turn_off_cert_check', 0);
diff --git a/apps/user_ldap/templates/settings.php b/apps/user_ldap/templates/settings.php
index 8522d2f835c..b24c6e2f025 100644
--- a/apps/user_ldap/templates/settings.php
+++ b/apps/user_ldap/templates/settings.php
@@ -8,12 +8,12 @@
echo '<p class="ldapwarning">'.$l->t('<b>Warning:</b> Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behaviour. Please ask your system administrator to disable one of them.').'</p>';
}
if(!function_exists('ldap_connect')) {
- echo '<p class="ldapwarning">'.$l->t('<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will not work. Please ask your system administrator to install it.').'</p>';
+ echo '<p class="ldapwarning">'.$l->t('<b>Warning:</b> The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it.').'</p>';
}
?>
<fieldset id="ldapSettings-1">
<p><label for="ldap_host"><?php echo $l->t('Host');?></label><input type="text" id="ldap_host" name="ldap_host" value="<?php echo $_['ldap_host']; ?>" title="<?php echo $l->t('You can omit the protocol, except you require SSL. Then start with ldaps://');?>"></p>
- <p><label for="ldap_base"><?php echo $l->t('Base DN');?></label><input type="text" id="ldap_base" name="ldap_base" value="<?php echo $_['ldap_base']; ?>" title="<?php echo $l->t('You can specify Base DN for users and groups in the Advanced tab');?>" /></p>
+ <p><label for="ldap_base"><?php echo $l->t('Base DN');?></label><textarea id="ldap_base" name="ldap_base" placeholder="<?php echo $l->t('One Base DN per line');?>" title="<?php echo $l->t('You can specify Base DN for users and groups in the Advanced tab');?>"><?php echo $_['ldap_base']; ?></textarea></p>
<p><label for="ldap_dn"><?php echo $l->t('User DN');?></label><input type="text" id="ldap_dn" name="ldap_dn" value="<?php echo $_['ldap_dn']; ?>" title="<?php echo $l->t('The DN of the client user with which the bind shall be done, e.g. uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password empty.');?>" /></p>
<p><label for="ldap_agent_password"><?php echo $l->t('Password');?></label><input type="password" id="ldap_agent_password" name="ldap_agent_password" value="<?php echo $_['ldap_agent_password']; ?>" title="<?php echo $l->t('For anonymous access, leave DN and Password empty.');?>" /></p>
<p><label for="ldap_login_filter"><?php echo $l->t('User Login Filter');?></label><input type="text" id="ldap_login_filter" name="ldap_login_filter" value="<?php echo $_['ldap_login_filter']; ?>" title="<?php echo $l->t('Defines the filter to apply, when login is attempted. %%uid replaces the username in the login action.');?>" /><br /><small><?php echo $l->t('use %%uid placeholder, e.g. "uid=%%uid"');?></small></p>
@@ -22,8 +22,8 @@
</fieldset>
<fieldset id="ldapSettings-2">
<p><label for="ldap_port"><?php echo $l->t('Port');?></label><input type="text" id="ldap_port" name="ldap_port" value="<?php echo $_['ldap_port']; ?>" /></p>
- <p><label for="ldap_base_users"><?php echo $l->t('Base User Tree');?></label><input type="text" id="ldap_base_users" name="ldap_base_users" value="<?php echo $_['ldap_base_users']; ?>" /></p>
- <p><label for="ldap_base_groups"><?php echo $l->t('Base Group Tree');?></label><input type="text" id="ldap_base_groups" name="ldap_base_groups" value="<?php echo $_['ldap_base_groups']; ?>" /></p>
+ <p><label for="ldap_base_users"><?php echo $l->t('Base User Tree');?></label><textarea id="ldap_base_users" name="ldap_base_users" placeholder="<?php echo $l->t('One User Base DN per line');?>" title="<?php echo $l->t('Base User Tree');?>"><?php echo $_['ldap_base_users']; ?></textarea></p>
+ <p><label for="ldap_base_groups"><?php echo $l->t('Base Group Tree');?></label><textarea id="ldap_base_groups" name="ldap_base_groups" placeholder="<?php echo $l->t('One Group Base DN per line');?>" title="<?php echo $l->t('Base Group Tree');?>"><?php echo $_['ldap_base_groups']; ?></textarea></p>
<p><label for="ldap_group_member_assoc_attribute"><?php echo $l->t('Group-Member association');?></label><select id="ldap_group_member_assoc_attribute" name="ldap_group_member_assoc_attribute"><option value="uniqueMember"<?php if (isset($_['ldap_group_member_assoc_attribute']) && ($_['ldap_group_member_assoc_attribute'] == 'uniqueMember')) echo ' selected'; ?>>uniqueMember</option><option value="memberUid"<?php if (isset($_['ldap_group_member_assoc_attribute']) && ($_['ldap_group_member_assoc_attribute'] == 'memberUid')) echo ' selected'; ?>>memberUid</option><option value="member"<?php if (isset($_['ldap_group_member_assoc_attribute']) && ($_['ldap_group_member_assoc_attribute'] == 'member')) echo ' selected'; ?>>member (AD)</option></select></p>
<p><label for="ldap_tls"><?php echo $l->t('Use TLS');?></label><input type="checkbox" id="ldap_tls" name="ldap_tls" value="1"<?php if ($_['ldap_tls']) echo ' checked'; ?> title="<?php echo $l->t('Do not use it for SSL connections, it will fail.');?>" /></p>
<p><label for="ldap_nocase"><?php echo $l->t('Case insensitve LDAP server (Windows)');?></label> <input type="checkbox" id="ldap_nocase" name="ldap_nocase" value="1"<?php if (isset($_['ldap_nocase']) && ($_['ldap_nocase'])) echo ' checked'; ?>></p>
diff --git a/apps/user_ldap/tests/group_ldap.php b/apps/user_ldap/tests/group_ldap.php
index f99902d32f5..ae635597b71 100644
--- a/apps/user_ldap/tests/group_ldap.php
+++ b/apps/user_ldap/tests/group_ldap.php
@@ -20,7 +20,7 @@
*
*/
-class Test_Group_Ldap extends UnitTestCase {
+class Test_Group_Ldap extends PHPUnit_Framework_TestCase {
function setUp() {
OC_Group::clearBackends();
}
diff --git a/apps/user_webdavauth/l10n/bn_BD.php b/apps/user_webdavauth/l10n/bn_BD.php
new file mode 100644
index 00000000000..5366552efae
--- /dev/null
+++ b/apps/user_webdavauth/l10n/bn_BD.php
@@ -0,0 +1,3 @@
+<?php $TRANSLATIONS = array(
+"URL: http://" => "URL:http://"
+);
diff --git a/apps/user_webdavauth/l10n/ca.php b/apps/user_webdavauth/l10n/ca.php
index 84a6c599e78..7ac540f2130 100644
--- a/apps/user_webdavauth/l10n/ca.php
+++ b/apps/user_webdavauth/l10n/ca.php
@@ -1,4 +1,5 @@
<?php $TRANSLATIONS = array(
+"WebDAV Authentication" => "Autenticació WebDAV",
"URL: http://" => "URL: http://",
-"ownCloud will send the user credentials to this URL is interpret http 401 and http 403 as credentials wrong and all other codes as credentials correct." => "ownCloud enviarà les credencials d'usuari a aquesta URL. S'interpretarà http 401 i http 403 com a credencials incorrectes i tots els altres codis com a credencials correctes."
+"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloud enviarà les credencials d'usuari a aquesta URL. Aquest endollable en comprova la resposta i interpretarà els codis d'estat 401 i 403 com a credencials no vàlides, i qualsevol altra resposta com a credencials vàlides."
);
diff --git a/apps/user_webdavauth/l10n/cs_CZ.php b/apps/user_webdavauth/l10n/cs_CZ.php
index 5cb9b4c3704..9bd4c96a2bb 100644
--- a/apps/user_webdavauth/l10n/cs_CZ.php
+++ b/apps/user_webdavauth/l10n/cs_CZ.php
@@ -1,4 +1,5 @@
<?php $TRANSLATIONS = array(
+"WebDAV Authentication" => "Ověření WebDAV",
"URL: http://" => "URL: http://",
-"ownCloud will send the user credentials to this URL is interpret http 401 and http 403 as credentials wrong and all other codes as credentials correct." => "ownCloud odeÅ¡le pÅ™ihlaÅ¡ovací údaje uživatele na URL a z návratové hodnoty urÄí stav pÅ™ihlášení. Http 401 a 403 vyhodnotí jako neplatné údaje a vÅ¡echny ostatní jako úspěšné pÅ™ihlášení."
+"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloud odeÅ¡le uživatelské údaje na zadanou URL. Plugin zkontroluje odpovÄ›Ä a považuje návratovou hodnotu HTTP 401 a 403 za neplatné údaje a vÅ¡echny ostatní hodnoty jako platné pÅ™ihlaÅ¡ovací údaje."
);
diff --git a/apps/user_webdavauth/l10n/da.php b/apps/user_webdavauth/l10n/da.php
index 7d9ee1d5b29..245a5101341 100644
--- a/apps/user_webdavauth/l10n/da.php
+++ b/apps/user_webdavauth/l10n/da.php
@@ -1,4 +1,3 @@
<?php $TRANSLATIONS = array(
-"URL: http://" => "URL: http://",
-"ownCloud will send the user credentials to this URL is interpret http 401 and http 403 as credentials wrong and all other codes as credentials correct." => "ownCloud vil sende brugeroplysningerne til denne webadresse er fortolker http 401 og http 403 som brugeroplysninger forkerte og alle andre koder som brugeroplysninger korrekte."
+"URL: http://" => "URL: http://"
);
diff --git a/apps/user_webdavauth/l10n/de.php b/apps/user_webdavauth/l10n/de.php
index 8589dc0c4fd..f893bddc71c 100644
--- a/apps/user_webdavauth/l10n/de.php
+++ b/apps/user_webdavauth/l10n/de.php
@@ -1,4 +1,5 @@
<?php $TRANSLATIONS = array(
+"WebDAV Authentication" => "WebDAV Authentifikation",
"URL: http://" => "URL: http://",
-"ownCloud will send the user credentials to this URL is interpret http 401 and http 403 as credentials wrong and all other codes as credentials correct." => "ownCloud wird die Logindaten zu dieser URL senden. http 401 und http 403 werden als falsche Logindaten interpretiert und alle anderen Codes als korrekte Logindaten."
+"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloud wird die Benutzer-Anmeldedaten an diese URL schicken. Dieses Plugin prüft die Anmeldedaten auf ihre Gültigkeit und interpretiert die HTTP Statusfehler 401 und 403 als ungültige, sowie alle Anderen als gültige Anmeldedaten."
);
diff --git a/apps/user_webdavauth/l10n/de_DE.php b/apps/user_webdavauth/l10n/de_DE.php
index 3d73dccfe8e..8f67575fc0f 100644
--- a/apps/user_webdavauth/l10n/de_DE.php
+++ b/apps/user_webdavauth/l10n/de_DE.php
@@ -1,4 +1,5 @@
<?php $TRANSLATIONS = array(
+"WebDAV Authentication" => "WebDAV Authentifizierung",
"URL: http://" => "URL: http://",
-"ownCloud will send the user credentials to this URL is interpret http 401 and http 403 as credentials wrong and all other codes as credentials correct." => "ownCloud "
+"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloud sendet die Benutzerdaten an diese URL. Dieses Plugin prüft die Antwort und wird die Statuscodes 401 und 403 als ungültige Daten interpretieren und alle anderen Antworten als gültige Daten."
);
diff --git a/apps/user_webdavauth/l10n/el.php b/apps/user_webdavauth/l10n/el.php
index 245a5101341..951709c4d64 100644
--- a/apps/user_webdavauth/l10n/el.php
+++ b/apps/user_webdavauth/l10n/el.php
@@ -1,3 +1,5 @@
<?php $TRANSLATIONS = array(
-"URL: http://" => "URL: http://"
+"WebDAV Authentication" => "Αυθεντικοποίηση μέσω WebDAV ",
+"URL: http://" => "URL: http://",
+"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "Το ownCloud θα στείλει τα διαπιστευτήÏια χÏήστη σε αυτό το URL. Αυτό το plugin ελέγχει την απάντηση και την μετατÏέπει σε HTTP κωδικό κατάστασης 401 και 403 για μη έγκυÏα, όλες οι υπόλοιπες απαντήσεις είναι έγκυÏες."
);
diff --git a/apps/user_webdavauth/l10n/eo.php b/apps/user_webdavauth/l10n/eo.php
index b4a2652d33e..d945f181e6b 100644
--- a/apps/user_webdavauth/l10n/eo.php
+++ b/apps/user_webdavauth/l10n/eo.php
@@ -1,3 +1,4 @@
<?php $TRANSLATIONS = array(
-"WebDAV URL: http://" => "WebDAV-a URL: http://"
+"WebDAV Authentication" => "WebDAV-aÅ­tentigo",
+"URL: http://" => "URL: http://"
);
diff --git a/apps/user_webdavauth/l10n/es.php b/apps/user_webdavauth/l10n/es.php
index 9bd32954b05..103c3738e2d 100644
--- a/apps/user_webdavauth/l10n/es.php
+++ b/apps/user_webdavauth/l10n/es.php
@@ -1,3 +1,5 @@
<?php $TRANSLATIONS = array(
-"WebDAV URL: http://" => "WebDAV URL: http://"
+"WebDAV Authentication" => "Autenticación de WevDAV",
+"URL: http://" => "URL: http://",
+"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "onwCloud enviará las credenciales de usuario a esta URL. Este complemento verifica la respuesta e interpretará los códigos de respuesta HTTP 401 y 403 como credenciales inválidas y todas las otras respuestas como credenciales válidas."
);
diff --git a/apps/user_webdavauth/l10n/es_AR.php b/apps/user_webdavauth/l10n/es_AR.php
index 81f2ea1e578..245a5101341 100644
--- a/apps/user_webdavauth/l10n/es_AR.php
+++ b/apps/user_webdavauth/l10n/es_AR.php
@@ -1,3 +1,3 @@
<?php $TRANSLATIONS = array(
-"WebDAV URL: http://" => "URL de WebDAV: http://"
+"URL: http://" => "URL: http://"
);
diff --git a/apps/user_webdavauth/l10n/eu.php b/apps/user_webdavauth/l10n/eu.php
index 9bd32954b05..d792c1588bb 100644
--- a/apps/user_webdavauth/l10n/eu.php
+++ b/apps/user_webdavauth/l10n/eu.php
@@ -1,3 +1,5 @@
<?php $TRANSLATIONS = array(
-"WebDAV URL: http://" => "WebDAV URL: http://"
+"WebDAV Authentication" => "WebDAV Autentikazioa",
+"URL: http://" => "URL: http://",
+"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloudek erabiltzailearen kredentzialak URL honetara bidaliko ditu. Plugin honek erantzuna aztertzen du eta HTTP 401 eta 403 egoera kodeak baliogabezko kredentzialtzat hartuko ditu, beste erantzunak kredentzial egokitzat hartuko dituelarik."
);
diff --git a/apps/user_webdavauth/l10n/fr.php b/apps/user_webdavauth/l10n/fr.php
index 759d45b230e..9d528a3a9d2 100644
--- a/apps/user_webdavauth/l10n/fr.php
+++ b/apps/user_webdavauth/l10n/fr.php
@@ -1,3 +1,5 @@
<?php $TRANSLATIONS = array(
-"WebDAV URL: http://" => "URL WebDAV : http://"
+"WebDAV Authentication" => "Authentification WebDAV",
+"URL: http://" => "URL : http://",
+"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloud enverra les informations de connexion à cette adresse. Ce module complémentaire analyse le code réponse HTTP et considère tout code différent des codes 401 et 403 comme associé à une authentification correcte."
);
diff --git a/apps/user_webdavauth/l10n/gl.php b/apps/user_webdavauth/l10n/gl.php
index a5b7e56771f..a6b8355c074 100644
--- a/apps/user_webdavauth/l10n/gl.php
+++ b/apps/user_webdavauth/l10n/gl.php
@@ -1,3 +1,5 @@
<?php $TRANSLATIONS = array(
-"WebDAV URL: http://" => "URL WebDAV: http://"
+"WebDAV Authentication" => "Autenticación WebDAV",
+"URL: http://" => "URL: http://",
+"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloud enviará as credenciais do usuario a esta URL. Este conector comproba a resposta e interpretará os códigos de estado 401 e 403 como credenciais non válidas, e todas as outras respostas como credenciais válidas."
);
diff --git a/apps/user_webdavauth/l10n/hu_HU.php b/apps/user_webdavauth/l10n/hu_HU.php
new file mode 100644
index 00000000000..245a5101341
--- /dev/null
+++ b/apps/user_webdavauth/l10n/hu_HU.php
@@ -0,0 +1,3 @@
+<?php $TRANSLATIONS = array(
+"URL: http://" => "URL: http://"
+);
diff --git a/apps/user_webdavauth/l10n/is.php b/apps/user_webdavauth/l10n/is.php
new file mode 100644
index 00000000000..8fe0d974b32
--- /dev/null
+++ b/apps/user_webdavauth/l10n/is.php
@@ -0,0 +1,3 @@
+<?php $TRANSLATIONS = array(
+"URL: http://" => "Vefslóð: http://"
+);
diff --git a/apps/user_webdavauth/l10n/it.php b/apps/user_webdavauth/l10n/it.php
index b0abf2f2082..a7cd6e8e4b4 100644
--- a/apps/user_webdavauth/l10n/it.php
+++ b/apps/user_webdavauth/l10n/it.php
@@ -1,4 +1,5 @@
<?php $TRANSLATIONS = array(
+"WebDAV Authentication" => "Autenticazione WebDAV",
"URL: http://" => "URL: http://",
-"ownCloud will send the user credentials to this URL is interpret http 401 and http 403 as credentials wrong and all other codes as credentials correct." => "ownCloud invierà le credenziali dell'utente a questo URL. Interpreta i codici http 401 e http 403 come credenziali errate e tutti gli altri codici come credenziali corrette."
+"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloud invierà le credenziali dell'utente a questo URL. Questa estensione controlla la risposta e interpreta i codici di stato 401 e 403 come credenziali non valide, e tutte le altre risposte come credenziali valide."
);
diff --git a/apps/user_webdavauth/l10n/ja_JP.php b/apps/user_webdavauth/l10n/ja_JP.php
index 8643805ffcc..1cd14a03c72 100644
--- a/apps/user_webdavauth/l10n/ja_JP.php
+++ b/apps/user_webdavauth/l10n/ja_JP.php
@@ -1,4 +1,5 @@
<?php $TRANSLATIONS = array(
+"WebDAV Authentication" => "WebDAV èªè¨¼",
"URL: http://" => "URL: http://",
-"ownCloud will send the user credentials to this URL is interpret http 401 and http 403 as credentials wrong and all other codes as credentials correct." => "ownCloudã®ã“ã®URLã¸ã®ãƒ¦ãƒ¼ã‚¶è³‡æ ¼æƒ…å ±ã®é€ä¿¡ã¯ã€è³‡æ ¼æƒ…å ±ãŒé–“é•ã£ã¦ã„ã‚‹å ´åˆã¯HTTP401ã‚‚ã—ãã¯403ã‚’è¿”ã—ã€æ­£ã—ã„å ´åˆã¯å…¨ã¦ã®ã‚³ãƒ¼ãƒ‰ã‚’è¿”ã—ã¾ã™ã€‚"
+"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloudã¯ã“ã®URLã«ãƒ¦ãƒ¼ã‚¶è³‡æ ¼æƒ…報をé€ä¿¡ã—ã¾ã™ã€‚ã“ã®ãƒ—ラグインã¯å¿œç­”ã‚’ãƒã‚§ãƒƒã‚¯ã—ã€HTTP状態コード㌠401 㨠403 ã®å ´åˆã¯ç„¡åйãªè³‡æ ¼æƒ…å ±ã¨ã—ã€ä»–ã®å¿œç­”ã¯ã™ã¹ã¦æœ‰åйãªè³‡æ ¼æƒ…å ±ã¨ã—ã¦å‡¦ç†ã—ã¾ã™ã€‚"
);
diff --git a/apps/user_webdavauth/l10n/ko.php b/apps/user_webdavauth/l10n/ko.php
index 9bd32954b05..245a5101341 100644
--- a/apps/user_webdavauth/l10n/ko.php
+++ b/apps/user_webdavauth/l10n/ko.php
@@ -1,3 +1,3 @@
<?php $TRANSLATIONS = array(
-"WebDAV URL: http://" => "WebDAV URL: http://"
+"URL: http://" => "URL: http://"
);
diff --git a/apps/user_webdavauth/l10n/mk.php b/apps/user_webdavauth/l10n/mk.php
new file mode 100644
index 00000000000..245a5101341
--- /dev/null
+++ b/apps/user_webdavauth/l10n/mk.php
@@ -0,0 +1,3 @@
+<?php $TRANSLATIONS = array(
+"URL: http://" => "URL: http://"
+);
diff --git a/apps/user_webdavauth/l10n/nb_NO.php b/apps/user_webdavauth/l10n/nb_NO.php
new file mode 100644
index 00000000000..245a5101341
--- /dev/null
+++ b/apps/user_webdavauth/l10n/nb_NO.php
@@ -0,0 +1,3 @@
+<?php $TRANSLATIONS = array(
+"URL: http://" => "URL: http://"
+);
diff --git a/apps/user_webdavauth/l10n/nl.php b/apps/user_webdavauth/l10n/nl.php
index 687442fb665..7d1bb33923e 100644
--- a/apps/user_webdavauth/l10n/nl.php
+++ b/apps/user_webdavauth/l10n/nl.php
@@ -1,4 +1,5 @@
<?php $TRANSLATIONS = array(
+"WebDAV Authentication" => "WebDAV authenticatie",
"URL: http://" => "URL: http://",
-"ownCloud will send the user credentials to this URL is interpret http 401 and http 403 as credentials wrong and all other codes as credentials correct." => "ownCloud zal de inloggegevens naar deze URL als geïnterpreteerde http 401 en http 403 als de inloggegevens onjuist zijn. Andere codes als de inloggegevens correct zijn."
+"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloud stuurt de inloggegevens naar deze URL. Deze plugin controleert het antwoord en interpreteert de HTTP statuscodes 401 als 403 als ongeldige inloggegevens, maar alle andere antwoorden als geldige inloggegevens."
);
diff --git a/apps/user_webdavauth/l10n/pl.php b/apps/user_webdavauth/l10n/pl.php
index 245a5101341..4887e935316 100644
--- a/apps/user_webdavauth/l10n/pl.php
+++ b/apps/user_webdavauth/l10n/pl.php
@@ -1,3 +1,5 @@
<?php $TRANSLATIONS = array(
-"URL: http://" => "URL: http://"
+"WebDAV Authentication" => "Uwierzytelnienie WebDAV",
+"URL: http://" => "URL: http://",
+"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloud wyśle dane uwierzytelniające do tego URL. Ten plugin sprawdza odpowiedź i zinterpretuje kody HTTP 401 oraz 403 jako nieprawidłowe dane uwierzytelniające, a każdy inny kod odpowiedzi jako poprawne dane."
);
diff --git a/apps/user_webdavauth/l10n/pt_PT.php b/apps/user_webdavauth/l10n/pt_PT.php
index e8bfcfda81e..d7e87b5c8d1 100644
--- a/apps/user_webdavauth/l10n/pt_PT.php
+++ b/apps/user_webdavauth/l10n/pt_PT.php
@@ -1,4 +1,5 @@
<?php $TRANSLATIONS = array(
+"WebDAV Authentication" => "Autenticação WebDAV",
"URL: http://" => "URL: http://",
-"ownCloud will send the user credentials to this URL is interpret http 401 and http 403 as credentials wrong and all other codes as credentials correct." => "O ownCloud vai enviar as credenciais para este URL. Todos os códigos http 401 e 403 serão interpretados como credenciais inválidas, todos os restantes códigos http serão interpretados como credenciais correctas."
+"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "O ownCloud vai enviar as credenciais do utilizador através deste URL. Este plugin verifica a resposta e vai interpretar os códigos de estado HTTP 401 e 403 como credenciais inválidas, e todas as outras como válidas."
);
diff --git a/apps/user_webdavauth/l10n/ro.php b/apps/user_webdavauth/l10n/ro.php
new file mode 100644
index 00000000000..245a5101341
--- /dev/null
+++ b/apps/user_webdavauth/l10n/ro.php
@@ -0,0 +1,3 @@
+<?php $TRANSLATIONS = array(
+"URL: http://" => "URL: http://"
+);
diff --git a/apps/user_webdavauth/l10n/ru.php b/apps/user_webdavauth/l10n/ru.php
index 9bd32954b05..245a5101341 100644
--- a/apps/user_webdavauth/l10n/ru.php
+++ b/apps/user_webdavauth/l10n/ru.php
@@ -1,3 +1,3 @@
<?php $TRANSLATIONS = array(
-"WebDAV URL: http://" => "WebDAV URL: http://"
+"URL: http://" => "URL: http://"
);
diff --git a/apps/user_webdavauth/l10n/sk_SK.php b/apps/user_webdavauth/l10n/sk_SK.php
index 9bd32954b05..6e34b818ed7 100644
--- a/apps/user_webdavauth/l10n/sk_SK.php
+++ b/apps/user_webdavauth/l10n/sk_SK.php
@@ -1,3 +1,4 @@
<?php $TRANSLATIONS = array(
-"WebDAV URL: http://" => "WebDAV URL: http://"
+"WebDAV Authentication" => "WebDAV overenie",
+"URL: http://" => "URL: http://"
);
diff --git a/apps/user_webdavauth/l10n/sl.php b/apps/user_webdavauth/l10n/sl.php
index 9bd32954b05..245a5101341 100644
--- a/apps/user_webdavauth/l10n/sl.php
+++ b/apps/user_webdavauth/l10n/sl.php
@@ -1,3 +1,3 @@
<?php $TRANSLATIONS = array(
-"WebDAV URL: http://" => "WebDAV URL: http://"
+"URL: http://" => "URL: http://"
);
diff --git a/apps/user_webdavauth/l10n/sv.php b/apps/user_webdavauth/l10n/sv.php
index b7a7e4ea2d9..c79b35c27cd 100644
--- a/apps/user_webdavauth/l10n/sv.php
+++ b/apps/user_webdavauth/l10n/sv.php
@@ -1,4 +1,5 @@
<?php $TRANSLATIONS = array(
+"WebDAV Authentication" => "WebDAV Autentisering",
"URL: http://" => "URL: http://",
-"ownCloud will send the user credentials to this URL is interpret http 401 and http 403 as credentials wrong and all other codes as credentials correct." => "ownCloud kommer att skicka inloggningsuppgifterna till denna URL och tolkar http 401 och http 403 som fel och alla andra koder som korrekt."
+"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloud kommer skicka användaruppgifterna till denna URL. Denna plugin kontrollerar svaret och tolkar HTTP-statuskoderna 401 och 403 som felaktiga uppgifter, och alla andra svar som giltiga uppgifter."
);
diff --git a/apps/user_webdavauth/l10n/th_TH.php b/apps/user_webdavauth/l10n/th_TH.php
index 9bd32954b05..2bd1f685e65 100644
--- a/apps/user_webdavauth/l10n/th_TH.php
+++ b/apps/user_webdavauth/l10n/th_TH.php
@@ -1,3 +1,5 @@
<?php $TRANSLATIONS = array(
-"WebDAV URL: http://" => "WebDAV URL: http://"
+"WebDAV Authentication" => "WebDAV Authentication",
+"URL: http://" => "URL: http://",
+"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloud จะส่งข้อมูลà¸à¸²à¸£à¹€à¸‚้าใช้งานของผู้ใช้งานไปยังที่อยู่ URL ดังà¸à¸¥à¹ˆà¸²à¸§à¸™à¸µà¹‰ ปลั๊à¸à¸­à¸´à¸™à¸”ังà¸à¸¥à¹ˆà¸²à¸§à¸ˆà¸°à¸—ำà¸à¸²à¸£à¸•รวจสอบข้อมูลที่โต้ตอบà¸à¸¥à¸±à¸šà¸¡à¸²à¹à¸¥à¸°à¸ˆà¸°à¸—ำà¸à¸²à¸£à¹à¸›à¸¥à¸£à¸«à¸±à¸ª HTTP statuscodes 401 à¹à¸¥à¸° 403 ให้เป็นข้อมูลà¸à¸²à¸£à¹€à¸‚้าใช้งานที่ไม่สามารถใช้งานได้ ส่วนข้อมูลอื่นๆที่เหลือทั้งหมดจะเป็นข้อมูลà¸à¸²à¸£à¹€à¸‚้าใช้งานที่สามารถใช้งานได้"
);
diff --git a/apps/user_webdavauth/l10n/tr.php b/apps/user_webdavauth/l10n/tr.php
index 9bd32954b05..245a5101341 100644
--- a/apps/user_webdavauth/l10n/tr.php
+++ b/apps/user_webdavauth/l10n/tr.php
@@ -1,3 +1,3 @@
<?php $TRANSLATIONS = array(
-"WebDAV URL: http://" => "WebDAV URL: http://"
+"URL: http://" => "URL: http://"
);
diff --git a/apps/user_webdavauth/l10n/uk.php b/apps/user_webdavauth/l10n/uk.php
index 57aa90684ae..245a5101341 100644
--- a/apps/user_webdavauth/l10n/uk.php
+++ b/apps/user_webdavauth/l10n/uk.php
@@ -1,4 +1,3 @@
<?php $TRANSLATIONS = array(
-"URL: http://" => "URL: http://",
-"ownCloud will send the user credentials to this URL is interpret http 401 and http 403 as credentials wrong and all other codes as credentials correct." => "ownCloud відправить облікові дані на цей URL та буде інтерпретувати http 401 Ñ– http 403, Ñк невірні облікові дані, а вÑÑ– інші коди, Ñк вірні."
+"URL: http://" => "URL: http://"
);
diff --git a/apps/user_webdavauth/l10n/zh_CN.php b/apps/user_webdavauth/l10n/zh_CN.php
index 5b06409b42e..72d2a0c11df 100644
--- a/apps/user_webdavauth/l10n/zh_CN.php
+++ b/apps/user_webdavauth/l10n/zh_CN.php
@@ -1,3 +1,5 @@
<?php $TRANSLATIONS = array(
-"URL: http://" => "URL:http://"
+"WebDAV Authentication" => "WebDAV 认è¯",
+"URL: http://" => "URL:http://",
+"ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." => "ownCloud 将会å‘é€ç”¨æˆ·çš„身份到此 URL。这个æ’件检查返回值并且将 HTTP 状æ€ç¼–ç  401 å’Œ 403 è§£é‡Šä¸ºéžæ³•èº«ä»½ï¼Œå…¶ä»–æ‰€æœ‰è¿”å›žå€¼ä¸ºåˆæ³•身份。"
);
diff --git a/apps/user_webdavauth/templates/settings.php b/apps/user_webdavauth/templates/settings.php
index 62ed45fd278..880b77ac959 100755
--- a/apps/user_webdavauth/templates/settings.php
+++ b/apps/user_webdavauth/templates/settings.php
@@ -1,8 +1,8 @@
<form id="webdavauth" action="#" method="post">
<fieldset class="personalblock">
- <legend><strong>WebDAV Authentication</strong></legend>
+ <legend><strong><?php echo $l->t('WebDAV Authentication');?></strong></legend>
<p><label for="webdav_url"><?php echo $l->t('URL: http://');?><input type="text" id="webdav_url" name="webdav_url" value="<?php echo $_['webdav_url']; ?>"></label>
<input type="submit" value="Save" />
- <br /><?php echo $l->t('ownCloud will send the user credentials to this URL is interpret http 401 and http 403 as credentials wrong and all other codes as credentials correct.'); ?>
+ <br /><?php echo $l->t('ownCloud will send the user credentials to this URL. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials.'); ?>
</fieldset>
</form>
diff --git a/apps/user_webdavauth/user_webdavauth.php b/apps/user_webdavauth/user_webdavauth.php
index 839196c114c..1459781a3b4 100755
--- a/apps/user_webdavauth/user_webdavauth.php
+++ b/apps/user_webdavauth/user_webdavauth.php
@@ -65,7 +65,7 @@ class OC_USER_WEBDAVAUTH extends OC_User_Backend {
}
/*
- * we don´t know if a user exists without the password. so we have to return false all the time
+ * we don´t know if a user exists without the password. so we have to return true all the time
*/
public function userExists( $uid ){
return true;
diff --git a/build/phpcs.xml b/build/phpcs.xml
index 1e10be1a111..d2909955ed2 100644
--- a/build/phpcs.xml
+++ b/build/phpcs.xml
@@ -10,7 +10,7 @@
<exclude-pattern>*/files_pdfviewer/js/pdfjs/*</exclude-pattern>
<exclude-pattern>*/files_odfviewer/src/*</exclude-pattern>
<exclude-pattern>*/files_svgedit/svg-edit/*</exclude-pattern>
- <exclude-pattern>*jquery-ui-1.8.16.custom.css</exclude-pattern>
+ <exclude-pattern>*jquery-ui-*.css</exclude-pattern>
<extensions>php</extensions>
<!-- Include the whole PEAR standard -->
diff --git a/config/config.sample.php b/config/config.sample.php
index 78dfe17ea79..51373327f44 100644
--- a/config/config.sample.php
+++ b/config/config.sample.php
@@ -1,5 +1,7 @@
<?php
+/* Only enable this for local development and not in productive environments */
+/* This will disable the minifier and outputs some additional debug informations */
define("DEBUG", true);
$CONFIG = array(
@@ -36,12 +38,6 @@ $CONFIG = array(
/* The automatic protocol detection of ownCloud can fail in certain reverse proxy situations. This option allows to manually override the protocol detection. For example "https" */
"overwriteprotocol" => "",
-/* Enhanced auth forces users to enter their password again when performing potential sensitive actions like creating or deleting users */
-"enhancedauth" => true,
-
-/* Time in seconds how long an user is authenticated without entering his password again before performing sensitive actions like creating or deleting users etc...*/
-"enhancedauthtime" => 15 * 60,
-
/* A proxy to use to connect to the internet. For example "myproxy.org:88" */
"proxy" => "",
@@ -72,12 +68,25 @@ $CONFIG = array(
/* URL of the appstore to use, server should understand OCS */
"appstoreurl" => "http://api.apps.owncloud.com/v1",
+/* Enable SMTP class debugging */
+"mail_smtpdebug" => false,
+
/* Mode to use for sending mail, can be sendmail, smtp, qmail or php, see PHPMailer docs */
"mail_smtpmode" => "sendmail",
/* Host to use for sending mail, depends on mail_smtpmode if this is used */
"mail_smtphost" => "127.0.0.1",
+/* Port to use for sending mail, depends on mail_smtpmode if this is used */
+"mail_smtpport" => 25,
+
+/* SMTP server timeout in seconds for sending mail, depends on mail_smtpmode if this is used */
+"mail_smtptimeout" => 10,
+
+/* SMTP connection prefix or sending mail, depends on mail_smtpmode if this is used.
+ Can be '', ssl or tls */
+"mail_smtpsecure" => "",
+
/* authentication needed to send mail, depends on mail_smtpmode if this is used
* (false = disable authentication)
*/
@@ -107,11 +116,17 @@ $CONFIG = array(
/* Lifetime of the remember login cookie, default is 15 days */
"remember_login_cookie_lifetime" => 60*60*24*15,
+/* Custom CSP policy, changing this will overwrite the standard policy */
+"custom_csp_policy" => "default-src \'self\'; script-src \'self\' \'unsafe-eval\'; style-src \'self\' \'unsafe-inline\'; frame-src *; img-src *",
+
/* The directory where the user data is stored, default to data in the owncloud
* directory. The sqlite database is also stored here, when sqlite is used.
*/
// "datadirectory" => "",
+/* Enable maintenance mode to disable ownCloud */
+"maintenance" => false,
+
"apps_paths" => array(
/* Set an array of path for your apps directories
@@ -123,12 +138,12 @@ $CONFIG = array(
'path'=> '/var/www/owncloud/apps',
'url' => '/apps',
'writable' => true,
- ),
- ),
- 'user_backends'=>array(
- array(
- 'class'=>'OC_User_IMAP',
- 'arguments'=>array('{imap.gmail.com:993/imap/ssl}INBOX')
- )
- )
+ ),
+),
+'user_backends'=>array(
+ array(
+ 'class'=>'OC_User_IMAP',
+ 'arguments'=>array('{imap.gmail.com:993/imap/ssl}INBOX')
+ )
+)
);
diff --git a/core/ajax/share.php b/core/ajax/share.php
index 72ffc52e997..077baa8ba56 100644
--- a/core/ajax/share.php
+++ b/core/ajax/share.php
@@ -98,7 +98,7 @@ if (isset($_POST['action']) && isset($_POST['itemType']) && isset($_POST['itemSo
OCP\Util::sendMail($to_address, $to_address, $subject, $text, $from_address, $user);
OCP\JSON::success();
} catch (Exception $exception) {
- OCP\JSON::error(array('data' => array('message' => $exception->getMessage())));
+ OCP\JSON::error(array('data' => array('message' => OC_Util::sanitizeHTML($exception->getMessage()))));
}
break;
}
diff --git a/core/ajax/update.php b/core/ajax/update.php
new file mode 100644
index 00000000000..20ab045c892
--- /dev/null
+++ b/core/ajax/update.php
@@ -0,0 +1,67 @@
+<?php
+set_time_limit(0);
+$RUNTIME_NOAPPS = true;
+require_once '../../lib/base.php';
+
+if (OC::checkUpgrade(false)) {
+ $updateEventSource = new OC_EventSource();
+ $watcher = new UpdateWatcher($updateEventSource);
+ OC_Hook::connect('update', 'success', $watcher, 'success');
+ OC_Hook::connect('update', 'error', $watcher, 'error');
+ OC_Hook::connect('update', 'error', $watcher, 'failure');
+ $watcher->success('Turned on maintenance mode');
+ try {
+ $result = OC_DB::updateDbFromStructure(OC::$SERVERROOT.'/db_structure.xml');
+ $watcher->success('Updated database');
+ } catch (Exception $exception) {
+ $watcher->failure($exception->getMessage());
+ }
+ $minimizerCSS = new OC_Minimizer_CSS();
+ $minimizerCSS->clearCache();
+ $minimizerJS = new OC_Minimizer_JS();
+ $minimizerJS->clearCache();
+ OC_Config::setValue('version', implode('.', OC_Util::getVersion()));
+ OC_App::checkAppsRequirements();
+ // load all apps to also upgrade enabled apps
+ OC_App::loadApps();
+ OC_Config::setValue('maintenance', false);
+ $watcher->success('Turned off maintenance mode');
+ $watcher->done();
+}
+
+class UpdateWatcher {
+ /**
+ * @var \OC_EventSource $eventSource;
+ */
+ private $eventSource;
+
+ public function __construct($eventSource) {
+ $this->eventSource = $eventSource;
+ }
+
+ public function success($message) {
+ OC_Util::obEnd();
+ $this->eventSource->send('success', $message);
+ ob_start();
+ }
+
+ public function error($message) {
+ OC_Util::obEnd();
+ $this->eventSource->send('error', $message);
+ ob_start();
+ }
+
+ public function failure($message) {
+ OC_Util::obEnd();
+ $this->eventSource->send('failure', $message);
+ $this->eventSource->close();
+ die();
+ }
+
+ public function done() {
+ OC_Util::obEnd();
+ $this->eventSource->send('done', '');
+ $this->eventSource->close();
+ }
+
+} \ No newline at end of file
diff --git a/core/css/images/animated-overlay.gif b/core/css/images/animated-overlay.gif
new file mode 100644
index 00000000000..d441f75ebfb
--- /dev/null
+++ b/core/css/images/animated-overlay.gif
Binary files differ
diff --git a/core/css/images/ui-bg_diagonals-thick_18_b81900_40x40.png b/core/css/images/ui-bg_diagonals-thick_18_b81900_40x40.png
new file mode 100644
index 00000000000..954e22dbd99
--- /dev/null
+++ b/core/css/images/ui-bg_diagonals-thick_18_b81900_40x40.png
Binary files differ
diff --git a/core/css/images/ui-bg_diagonals-thick_20_666666_40x40.png b/core/css/images/ui-bg_diagonals-thick_20_666666_40x40.png
new file mode 100644
index 00000000000..64ece5707d9
--- /dev/null
+++ b/core/css/images/ui-bg_diagonals-thick_20_666666_40x40.png
Binary files differ
diff --git a/core/css/images/ui-bg_flat_100_ffffff_40x100.png b/core/css/images/ui-bg_flat_100_ffffff_40x100.png
new file mode 100644
index 00000000000..ac8b229af95
--- /dev/null
+++ b/core/css/images/ui-bg_flat_100_ffffff_40x100.png
Binary files differ
diff --git a/core/css/images/ui-bg_flat_10_000000_40x100.png b/core/css/images/ui-bg_flat_10_000000_40x100.png
new file mode 100644
index 00000000000..abdc01082bf
--- /dev/null
+++ b/core/css/images/ui-bg_flat_10_000000_40x100.png
Binary files differ
diff --git a/core/css/images/ui-bg_flat_35_1d2d44_40x100.png b/core/css/images/ui-bg_flat_35_1d2d44_40x100.png
new file mode 100644
index 00000000000..904ef14c37d
--- /dev/null
+++ b/core/css/images/ui-bg_flat_35_1d2d44_40x100.png
Binary files differ
diff --git a/core/css/images/ui-bg_glass_100_f8f8f8_1x400.png b/core/css/images/ui-bg_glass_100_f8f8f8_1x400.png
new file mode 100644
index 00000000000..cd79e9f1966
--- /dev/null
+++ b/core/css/images/ui-bg_glass_100_f8f8f8_1x400.png
Binary files differ
diff --git a/core/css/images/ui-bg_highlight-hard_100_f8f8f8_1x100.png b/core/css/images/ui-bg_highlight-hard_100_f8f8f8_1x100.png
new file mode 100644
index 00000000000..268e650935d
--- /dev/null
+++ b/core/css/images/ui-bg_highlight-hard_100_f8f8f8_1x100.png
Binary files differ
diff --git a/core/css/images/ui-bg_highlight-soft_100_eeeeee_1x100.png b/core/css/images/ui-bg_highlight-soft_100_eeeeee_1x100.png
new file mode 100644
index 00000000000..f1273672d25
--- /dev/null
+++ b/core/css/images/ui-bg_highlight-soft_100_eeeeee_1x100.png
Binary files differ
diff --git a/core/css/images/ui-icons_1d2d44_256x240.png b/core/css/images/ui-icons_1d2d44_256x240.png
new file mode 100644
index 00000000000..2a857e4da57
--- /dev/null
+++ b/core/css/images/ui-icons_1d2d44_256x240.png
Binary files differ
diff --git a/core/css/images/ui-icons_222222_256x240.png b/core/css/images/ui-icons_222222_256x240.png
new file mode 100644
index 00000000000..b273ff111d2
--- /dev/null
+++ b/core/css/images/ui-icons_222222_256x240.png
Binary files differ
diff --git a/core/css/images/ui-icons_ffd27a_256x240.png b/core/css/images/ui-icons_ffd27a_256x240.png
new file mode 100644
index 00000000000..e117effa3dc
--- /dev/null
+++ b/core/css/images/ui-icons_ffd27a_256x240.png
Binary files differ
diff --git a/core/css/images/ui-icons_ffffff_256x240.png b/core/css/images/ui-icons_ffffff_256x240.png
new file mode 100644
index 00000000000..42f8f992c72
--- /dev/null
+++ b/core/css/images/ui-icons_ffffff_256x240.png
Binary files differ
diff --git a/core/css/jquery-ui-1.10.0.custom.css b/core/css/jquery-ui-1.10.0.custom.css
new file mode 100644
index 00000000000..a1e9895c776
--- /dev/null
+++ b/core/css/jquery-ui-1.10.0.custom.css
@@ -0,0 +1,1174 @@
+/*! jQuery UI - v1.10.0 - 2013-01-22
+* http://jqueryui.com
+* Includes: jquery.ui.core.css, jquery.ui.resizable.css, jquery.ui.selectable.css, jquery.ui.accordion.css, jquery.ui.autocomplete.css, jquery.ui.button.css, jquery.ui.datepicker.css, jquery.ui.dialog.css, jquery.ui.menu.css, jquery.ui.progressbar.css, jquery.ui.slider.css, jquery.ui.spinner.css, jquery.ui.tabs.css, jquery.ui.tooltip.css
+* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=%22Lucida%20Grande%22%2C%20Arial%2C%20Verdana%2C%20sans-serif&fwDefault=bold&fsDefault=1em&cornerRadius=4px&bgColorHeader=1d2d44&bgTextureHeader=01_flat.png&bgImgOpacityHeader=35&borderColorHeader=1d2d44&fcHeader=ffffff&iconColorHeader=ffffff&bgColorContent=eeeeee&bgTextureContent=03_highlight_soft.png&bgImgOpacityContent=100&borderColorContent=dddddd&fcContent=333333&iconColorContent=222222&bgColorDefault=f8f8f8&bgTextureDefault=02_glass.png&bgImgOpacityDefault=100&borderColorDefault=ddd&fcDefault=555&iconColorDefault=1d2d44&bgColorHover=ffffff&bgTextureHover=01_flat.png&bgImgOpacityHover=100&borderColorHover=ddd&fcHover=333&iconColorHover=1d2d44&bgColorActive=f8f8f8&bgTextureActive=02_glass.png&bgImgOpacityActive=100&borderColorActive=1d2d44&fcActive=1d2d44&iconColorActive=1d2d44&bgColorHighlight=f8f8f8&bgTextureHighlight=04_highlight_hard.png&bgImgOpacityHighlight=100&borderColorHighlight=ddd&fcHighlight=555&iconColorHighlight=ffffff&bgColorError=b81900&bgTextureError=08_diagonals_thick.png&bgImgOpacityError=18&borderColorError=cd0a0a&fcError=ffffff&iconColorError=ffd27a&bgColorOverlay=666666&bgTextureOverlay=08_diagonals_thick.png&bgImgOpacityOverlay=20&opacityOverlay=50&bgColorShadow=000000&bgTextureShadow=01_flat.png&bgImgOpacityShadow=10&opacityShadow=20&thicknessShadow=5px&offsetTopShadow=-5px&offsetLeftShadow=-5px&cornerRadiusShadow=5px
+* Copyright (c) 2013 jQuery Foundation and other contributors Licensed MIT */
+
+/* Layout helpers
+----------------------------------*/
+.ui-helper-hidden {
+ display: none;
+}
+.ui-helper-hidden-accessible {
+ border: 0;
+ clip: rect(0 0 0 0);
+ height: 1px;
+ margin: -1px;
+ overflow: hidden;
+ padding: 0;
+ position: absolute;
+ width: 1px;
+}
+.ui-helper-reset {
+ margin: 0;
+ padding: 0;
+ border: 0;
+ outline: 0;
+ line-height: 1.3;
+ text-decoration: none;
+ font-size: 100%;
+ list-style: none;
+}
+.ui-helper-clearfix:before,
+.ui-helper-clearfix:after {
+ content: "";
+ display: table;
+}
+.ui-helper-clearfix:after {
+ clear: both;
+}
+.ui-helper-clearfix {
+ min-height: 0; /* support: IE7 */
+}
+.ui-helper-zfix {
+ width: 100%;
+ height: 100%;
+ top: 0;
+ left: 0;
+ position: absolute;
+ opacity: 0;
+ filter:Alpha(Opacity=0);
+}
+
+.ui-front {
+ z-index: 100;
+}
+
+
+/* Interaction Cues
+----------------------------------*/
+.ui-state-disabled {
+ cursor: default !important;
+}
+
+
+/* Icons
+----------------------------------*/
+
+/* states and images */
+.ui-icon {
+ display: block;
+ text-indent: -99999px;
+ overflow: hidden;
+ background-repeat: no-repeat;
+}
+
+
+/* Misc visuals
+----------------------------------*/
+
+/* Overlays */
+.ui-widget-overlay {
+ position: fixed;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+}
+.ui-resizable {
+ position: relative;
+}
+.ui-resizable-handle {
+ position: absolute;
+ font-size: 0.1px;
+ display: block;
+}
+.ui-resizable-disabled .ui-resizable-handle,
+.ui-resizable-autohide .ui-resizable-handle {
+ display: none;
+}
+.ui-resizable-n {
+ cursor: n-resize;
+ height: 7px;
+ width: 100%;
+ top: -5px;
+ left: 0;
+}
+.ui-resizable-s {
+ cursor: s-resize;
+ height: 7px;
+ width: 100%;
+ bottom: -5px;
+ left: 0;
+}
+.ui-resizable-e {
+ cursor: e-resize;
+ width: 7px;
+ right: -5px;
+ top: 0;
+ height: 100%;
+}
+.ui-resizable-w {
+ cursor: w-resize;
+ width: 7px;
+ left: -5px;
+ top: 0;
+ height: 100%;
+}
+.ui-resizable-se {
+ cursor: se-resize;
+ width: 12px;
+ height: 12px;
+ right: 1px;
+ bottom: 1px;
+}
+.ui-resizable-sw {
+ cursor: sw-resize;
+ width: 9px;
+ height: 9px;
+ left: -5px;
+ bottom: -5px;
+}
+.ui-resizable-nw {
+ cursor: nw-resize;
+ width: 9px;
+ height: 9px;
+ left: -5px;
+ top: -5px;
+}
+.ui-resizable-ne {
+ cursor: ne-resize;
+ width: 9px;
+ height: 9px;
+ right: -5px;
+ top: -5px;
+}
+.ui-selectable-helper {
+ position: absolute;
+ z-index: 100;
+ border: 1px dotted black;
+}
+.ui-accordion .ui-accordion-header {
+ display: block;
+ cursor: pointer;
+ position: relative;
+ margin-top: 2px;
+ padding: .5em .5em .5em .7em;
+ min-height: 0; /* support: IE7 */
+}
+.ui-accordion .ui-accordion-icons {
+ padding-left: 2.2em;
+}
+.ui-accordion .ui-accordion-noicons {
+ padding-left: .7em;
+}
+.ui-accordion .ui-accordion-icons .ui-accordion-icons {
+ padding-left: 2.2em;
+}
+.ui-accordion .ui-accordion-header .ui-accordion-header-icon {
+ position: absolute;
+ left: .5em;
+ top: 50%;
+ margin-top: -8px;
+}
+.ui-accordion .ui-accordion-content {
+ padding: 1em 2.2em;
+ border-top: 0;
+ overflow: auto;
+}
+.ui-autocomplete {
+ position: absolute;
+ top: 0;
+ left: 0;
+ cursor: default;
+}
+.ui-button {
+ display: inline-block;
+ position: relative;
+ padding: 0;
+ line-height: normal;
+ margin-right: .1em;
+ cursor: pointer;
+ vertical-align: middle;
+ text-align: center;
+ overflow: visible; /* removes extra width in IE */
+}
+.ui-button,
+.ui-button:link,
+.ui-button:visited,
+.ui-button:hover,
+.ui-button:active {
+ text-decoration: none;
+}
+/* to make room for the icon, a width needs to be set here */
+.ui-button-icon-only {
+ width: 2.2em;
+}
+/* button elements seem to need a little more width */
+button.ui-button-icon-only {
+ width: 2.4em;
+}
+.ui-button-icons-only {
+ width: 3.4em;
+}
+button.ui-button-icons-only {
+ width: 3.7em;
+}
+
+/* button text element */
+.ui-button .ui-button-text {
+ display: block;
+ line-height: normal;
+}
+.ui-button-text-only .ui-button-text {
+ padding: .4em 1em;
+}
+.ui-button-icon-only .ui-button-text,
+.ui-button-icons-only .ui-button-text {
+ padding: .4em;
+ text-indent: -9999999px;
+}
+.ui-button-text-icon-primary .ui-button-text,
+.ui-button-text-icons .ui-button-text {
+ padding: .4em 1em .4em 2.1em;
+}
+.ui-button-text-icon-secondary .ui-button-text,
+.ui-button-text-icons .ui-button-text {
+ padding: .4em 2.1em .4em 1em;
+}
+.ui-button-text-icons .ui-button-text {
+ padding-left: 2.1em;
+ padding-right: 2.1em;
+}
+/* no icon support for input elements, provide padding by default */
+input.ui-button {
+ padding: .4em 1em;
+}
+
+/* button icon element(s) */
+.ui-button-icon-only .ui-icon,
+.ui-button-text-icon-primary .ui-icon,
+.ui-button-text-icon-secondary .ui-icon,
+.ui-button-text-icons .ui-icon,
+.ui-button-icons-only .ui-icon {
+ position: absolute;
+ top: 50%;
+ margin-top: -8px;
+}
+.ui-button-icon-only .ui-icon {
+ left: 50%;
+ margin-left: -8px;
+}
+.ui-button-text-icon-primary .ui-button-icon-primary,
+.ui-button-text-icons .ui-button-icon-primary,
+.ui-button-icons-only .ui-button-icon-primary {
+ left: .5em;
+}
+.ui-button-text-icon-secondary .ui-button-icon-secondary,
+.ui-button-text-icons .ui-button-icon-secondary,
+.ui-button-icons-only .ui-button-icon-secondary {
+ right: .5em;
+}
+
+/* button sets */
+.ui-buttonset {
+ margin-right: 7px;
+}
+.ui-buttonset .ui-button {
+ margin-left: 0;
+ margin-right: -.3em;
+}
+
+/* workarounds */
+/* reset extra padding in Firefox, see h5bp.com/l */
+input.ui-button::-moz-focus-inner,
+button.ui-button::-moz-focus-inner {
+ border: 0;
+ padding: 0;
+}
+.ui-datepicker {
+ width: 17em;
+ padding: .2em .2em 0;
+ display: none;
+}
+.ui-datepicker .ui-datepicker-header {
+ position: relative;
+ padding: .2em 0;
+}
+.ui-datepicker .ui-datepicker-prev,
+.ui-datepicker .ui-datepicker-next {
+ position: absolute;
+ top: 2px;
+ width: 1.8em;
+ height: 1.8em;
+}
+.ui-datepicker .ui-datepicker-prev-hover,
+.ui-datepicker .ui-datepicker-next-hover {
+ top: 1px;
+}
+.ui-datepicker .ui-datepicker-prev {
+ left: 2px;
+}
+.ui-datepicker .ui-datepicker-next {
+ right: 2px;
+}
+.ui-datepicker .ui-datepicker-prev-hover {
+ left: 1px;
+}
+.ui-datepicker .ui-datepicker-next-hover {
+ right: 1px;
+}
+.ui-datepicker .ui-datepicker-prev span,
+.ui-datepicker .ui-datepicker-next span {
+ display: block;
+ position: absolute;
+ left: 50%;
+ margin-left: -8px;
+ top: 50%;
+ margin-top: -8px;
+}
+.ui-datepicker .ui-datepicker-title {
+ margin: 0 2.3em;
+ line-height: 1.8em;
+ text-align: center;
+}
+.ui-datepicker .ui-datepicker-title select {
+ font-size: 1em;
+ margin: 1px 0;
+}
+.ui-datepicker select.ui-datepicker-month-year {
+ width: 100%;
+}
+.ui-datepicker select.ui-datepicker-month,
+.ui-datepicker select.ui-datepicker-year {
+ width: 49%;
+}
+.ui-datepicker table {
+ width: 100%;
+ font-size: .9em;
+ border-collapse: collapse;
+ margin: 0 0 .4em;
+}
+.ui-datepicker th {
+ padding: .7em .3em;
+ text-align: center;
+ font-weight: bold;
+ border: 0;
+}
+.ui-datepicker td {
+ border: 0;
+ padding: 1px;
+}
+.ui-datepicker td span,
+.ui-datepicker td a {
+ display: block;
+ padding: .2em;
+ text-align: right;
+ text-decoration: none;
+}
+.ui-datepicker .ui-datepicker-buttonpane {
+ background-image: none;
+ margin: .7em 0 0 0;
+ padding: 0 .2em;
+ border-left: 0;
+ border-right: 0;
+ border-bottom: 0;
+}
+.ui-datepicker .ui-datepicker-buttonpane button {
+ float: right;
+ margin: .5em .2em .4em;
+ cursor: pointer;
+ padding: .2em .6em .3em .6em;
+ width: auto;
+ overflow: visible;
+}
+.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current {
+ float: left;
+}
+
+/* with multiple calendars */
+.ui-datepicker.ui-datepicker-multi {
+ width: auto;
+}
+.ui-datepicker-multi .ui-datepicker-group {
+ float: left;
+}
+.ui-datepicker-multi .ui-datepicker-group table {
+ width: 95%;
+ margin: 0 auto .4em;
+}
+.ui-datepicker-multi-2 .ui-datepicker-group {
+ width: 50%;
+}
+.ui-datepicker-multi-3 .ui-datepicker-group {
+ width: 33.3%;
+}
+.ui-datepicker-multi-4 .ui-datepicker-group {
+ width: 25%;
+}
+.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,
+.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header {
+ border-left-width: 0;
+}
+.ui-datepicker-multi .ui-datepicker-buttonpane {
+ clear: left;
+}
+.ui-datepicker-row-break {
+ clear: both;
+ width: 100%;
+ font-size: 0;
+}
+
+/* RTL support */
+.ui-datepicker-rtl {
+ direction: rtl;
+}
+.ui-datepicker-rtl .ui-datepicker-prev {
+ right: 2px;
+ left: auto;
+}
+.ui-datepicker-rtl .ui-datepicker-next {
+ left: 2px;
+ right: auto;
+}
+.ui-datepicker-rtl .ui-datepicker-prev:hover {
+ right: 1px;
+ left: auto;
+}
+.ui-datepicker-rtl .ui-datepicker-next:hover {
+ left: 1px;
+ right: auto;
+}
+.ui-datepicker-rtl .ui-datepicker-buttonpane {
+ clear: right;
+}
+.ui-datepicker-rtl .ui-datepicker-buttonpane button {
+ float: left;
+}
+.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,
+.ui-datepicker-rtl .ui-datepicker-group {
+ float: right;
+}
+.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,
+.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header {
+ border-right-width: 0;
+ border-left-width: 1px;
+}
+.ui-dialog {
+ position: absolute;
+ top: 0;
+ left: 0;
+ padding: .2em;
+ outline: 0;
+}
+.ui-dialog .ui-dialog-titlebar {
+ padding: .4em 1em;
+ position: relative;
+}
+.ui-dialog .ui-dialog-title {
+ float: left;
+ margin: .1em 0;
+ white-space: nowrap;
+ width: 90%;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+.ui-dialog .ui-dialog-titlebar-close {
+ position: absolute;
+ right: .3em;
+ top: 50%;
+ width: 21px;
+ margin: -10px 0 0 0;
+ padding: 1px;
+ height: 20px;
+}
+.ui-dialog .ui-dialog-content {
+ position: relative;
+ border: 0;
+ padding: .5em 1em;
+ background: none;
+ overflow: auto;
+}
+.ui-dialog .ui-dialog-buttonpane {
+ text-align: left;
+ border-width: 1px 0 0 0;
+ background-image: none;
+ margin-top: .5em;
+ padding: .3em 1em .5em .4em;
+}
+.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {
+ float: right;
+}
+.ui-dialog .ui-dialog-buttonpane button {
+ margin: .5em .4em .5em 0;
+ cursor: pointer;
+}
+.ui-dialog .ui-resizable-se {
+ width: 12px;
+ height: 12px;
+ right: -5px;
+ bottom: -5px;
+ background-position: 16px 16px;
+}
+.ui-draggable .ui-dialog-titlebar {
+ cursor: move;
+}
+.ui-menu {
+ list-style: none;
+ padding: 2px;
+ margin: 0;
+ display: block;
+ outline: none;
+}
+.ui-menu .ui-menu {
+ margin-top: -3px;
+ position: absolute;
+}
+.ui-menu .ui-menu-item {
+ margin: 0;
+ padding: 0;
+ width: 100%;
+}
+.ui-menu .ui-menu-divider {
+ margin: 5px -2px 5px -2px;
+ height: 0;
+ font-size: 0;
+ line-height: 0;
+ border-width: 1px 0 0 0;
+}
+.ui-menu .ui-menu-item a {
+ text-decoration: none;
+ display: block;
+ padding: 2px .4em;
+ line-height: 1.5;
+ min-height: 0; /* support: IE7 */
+ font-weight: normal;
+}
+.ui-menu .ui-menu-item a.ui-state-focus,
+.ui-menu .ui-menu-item a.ui-state-active {
+ font-weight: normal;
+ margin: -1px;
+}
+
+.ui-menu .ui-state-disabled {
+ font-weight: normal;
+ margin: .4em 0 .2em;
+ line-height: 1.5;
+}
+.ui-menu .ui-state-disabled a {
+ cursor: default;
+}
+
+/* icon support */
+.ui-menu-icons {
+ position: relative;
+}
+.ui-menu-icons .ui-menu-item a {
+ position: relative;
+ padding-left: 2em;
+}
+
+/* left-aligned */
+.ui-menu .ui-icon {
+ position: absolute;
+ top: .2em;
+ left: .2em;
+}
+
+/* right-aligned */
+.ui-menu .ui-menu-icon {
+ position: static;
+ float: right;
+}
+.ui-progressbar {
+ height: 2em;
+ text-align: left;
+ overflow: hidden;
+}
+.ui-progressbar .ui-progressbar-value {
+ margin: -1px;
+ height: 100%;
+}
+.ui-progressbar .ui-progressbar-overlay {
+ background: url("images/animated-overlay.gif");
+ height: 100%;
+ filter: alpha(opacity=25);
+ opacity: 0.25;
+}
+.ui-progressbar-indeterminate .ui-progressbar-value {
+ background-image: none;
+}
+.ui-slider {
+ position: relative;
+ text-align: left;
+}
+.ui-slider .ui-slider-handle {
+ position: absolute;
+ z-index: 2;
+ width: 1.2em;
+ height: 1.2em;
+ cursor: default;
+}
+.ui-slider .ui-slider-range {
+ position: absolute;
+ z-index: 1;
+ font-size: .7em;
+ display: block;
+ border: 0;
+ background-position: 0 0;
+}
+
+/* For IE8 - See #6727 */
+.ui-slider.ui-state-disabled .ui-slider-handle,
+.ui-slider.ui-state-disabled .ui-slider-range {
+ filter: inherit;
+}
+
+.ui-slider-horizontal {
+ height: .8em;
+}
+.ui-slider-horizontal .ui-slider-handle {
+ top: -.3em;
+ margin-left: -.6em;
+}
+.ui-slider-horizontal .ui-slider-range {
+ top: 0;
+ height: 100%;
+}
+.ui-slider-horizontal .ui-slider-range-min {
+ left: 0;
+}
+.ui-slider-horizontal .ui-slider-range-max {
+ right: 0;
+}
+
+.ui-slider-vertical {
+ width: .8em;
+ height: 100px;
+}
+.ui-slider-vertical .ui-slider-handle {
+ left: -.3em;
+ margin-left: 0;
+ margin-bottom: -.6em;
+}
+.ui-slider-vertical .ui-slider-range {
+ left: 0;
+ width: 100%;
+}
+.ui-slider-vertical .ui-slider-range-min {
+ bottom: 0;
+}
+.ui-slider-vertical .ui-slider-range-max {
+ top: 0;
+}
+.ui-spinner {
+ position: relative;
+ display: inline-block;
+ overflow: hidden;
+ padding: 0;
+ vertical-align: middle;
+}
+.ui-spinner-input {
+ border: none;
+ background: none;
+ color: inherit;
+ padding: 0;
+ margin: .2em 0;
+ vertical-align: middle;
+ margin-left: .4em;
+ margin-right: 22px;
+}
+.ui-spinner-button {
+ width: 16px;
+ height: 50%;
+ font-size: .5em;
+ padding: 0;
+ margin: 0;
+ text-align: center;
+ position: absolute;
+ cursor: default;
+ display: block;
+ overflow: hidden;
+ right: 0;
+}
+/* more specificity required here to overide default borders */
+.ui-spinner a.ui-spinner-button {
+ border-top: none;
+ border-bottom: none;
+ border-right: none;
+}
+/* vertical centre icon */
+.ui-spinner .ui-icon {
+ position: absolute;
+ margin-top: -8px;
+ top: 50%;
+ left: 0;
+}
+.ui-spinner-up {
+ top: 0;
+}
+.ui-spinner-down {
+ bottom: 0;
+}
+
+/* TR overrides */
+.ui-spinner .ui-icon-triangle-1-s {
+ /* need to fix icons sprite */
+ background-position: -65px -16px;
+}
+.ui-tabs {
+ position: relative;/* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
+ padding: .2em;
+}
+.ui-tabs .ui-tabs-nav {
+ margin: 0;
+ padding: .2em .2em 0;
+}
+.ui-tabs .ui-tabs-nav li {
+ list-style: none;
+ float: left;
+ position: relative;
+ top: 0;
+ margin: 1px .2em 0 0;
+ border-bottom: 0;
+ padding: 0;
+ white-space: nowrap;
+}
+.ui-tabs .ui-tabs-nav li a {
+ float: left;
+ padding: .5em 1em;
+ text-decoration: none;
+}
+.ui-tabs .ui-tabs-nav li.ui-tabs-active {
+ margin-bottom: -1px;
+ padding-bottom: 1px;
+}
+.ui-tabs .ui-tabs-nav li.ui-tabs-active a,
+.ui-tabs .ui-tabs-nav li.ui-state-disabled a,
+.ui-tabs .ui-tabs-nav li.ui-tabs-loading a {
+ cursor: text;
+}
+.ui-tabs .ui-tabs-nav li a, /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */
+.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a {
+ cursor: pointer;
+}
+.ui-tabs .ui-tabs-panel {
+ display: block;
+ border-width: 0;
+ padding: 1em 1.4em;
+ background: none;
+}
+.ui-tooltip {
+ padding: 8px;
+ position: absolute;
+ z-index: 9999;
+ max-width: 300px;
+ -webkit-box-shadow: 0 0 5px #aaa;
+ box-shadow: 0 0 5px #aaa;
+}
+body .ui-tooltip {
+ border-width: 2px;
+}
+
+/* Component containers
+----------------------------------*/
+.ui-widget {
+ font-family: "Lucida Grande", Arial, Verdana, sans-serif;
+ font-size: 1em;
+}
+.ui-widget .ui-widget {
+ font-size: 1em;
+}
+.ui-widget input,
+.ui-widget select,
+.ui-widget textarea,
+.ui-widget button {
+ font-family: "Lucida Grande", Arial, Verdana, sans-serif;
+ font-size: 1em;
+}
+.ui-widget-content {
+ border: 1px solid #dddddd;
+ background: #eeeeee url(images/ui-bg_highlight-soft_100_eeeeee_1x100.png) 50% top repeat-x;
+ color: #333333;
+}
+.ui-widget-content a {
+ color: #333333;
+}
+.ui-widget-header {
+ border: 1px solid #1d2d44;
+ background: #1d2d44 url(images/ui-bg_flat_35_1d2d44_40x100.png) 50% 50% repeat-x;
+ color: #ffffff;
+ font-weight: bold;
+}
+.ui-widget-header a {
+ color: #ffffff;
+}
+
+/* Interaction states
+----------------------------------*/
+.ui-state-default,
+.ui-widget-content .ui-state-default,
+.ui-widget-header .ui-state-default {
+ border: 1px solid #ddd;
+ background: #f8f8f8 url(images/ui-bg_glass_100_f8f8f8_1x400.png) 50% 50% repeat-x;
+ font-weight: bold;
+ color: #555;
+}
+.ui-state-default a,
+.ui-state-default a:link,
+.ui-state-default a:visited {
+ color: #555;
+ text-decoration: none;
+}
+.ui-state-hover,
+.ui-widget-content .ui-state-hover,
+.ui-widget-header .ui-state-hover,
+.ui-state-focus,
+.ui-widget-content .ui-state-focus,
+.ui-widget-header .ui-state-focus {
+ border: 1px solid #ddd;
+ background: #ffffff url(images/ui-bg_flat_100_ffffff_40x100.png) 50% 50% repeat-x;
+ font-weight: bold;
+ color: #333;
+}
+.ui-state-hover a,
+.ui-state-hover a:hover,
+.ui-state-hover a:link,
+.ui-state-hover a:visited {
+ color: #333;
+ text-decoration: none;
+}
+.ui-state-active,
+.ui-widget-content .ui-state-active,
+.ui-widget-header .ui-state-active {
+ border: 1px solid #1d2d44;
+ background: #f8f8f8 url(images/ui-bg_glass_100_f8f8f8_1x400.png) 50% 50% repeat-x;
+ font-weight: bold;
+ color: #1d2d44;
+}
+.ui-state-active a,
+.ui-state-active a:link,
+.ui-state-active a:visited {
+ color: #1d2d44;
+ text-decoration: none;
+}
+
+/* Interaction Cues
+----------------------------------*/
+.ui-state-highlight,
+.ui-widget-content .ui-state-highlight,
+.ui-widget-header .ui-state-highlight {
+ border: 1px solid #ddd;
+ background: #f8f8f8 url(images/ui-bg_highlight-hard_100_f8f8f8_1x100.png) 50% top repeat-x;
+ color: #555;
+}
+.ui-state-highlight a,
+.ui-widget-content .ui-state-highlight a,
+.ui-widget-header .ui-state-highlight a {
+ color: #555;
+}
+.ui-state-error,
+.ui-widget-content .ui-state-error,
+.ui-widget-header .ui-state-error {
+ border: 1px solid #cd0a0a;
+ background: #b81900 url(images/ui-bg_diagonals-thick_18_b81900_40x40.png) 50% 50% repeat;
+ color: #ffffff;
+}
+.ui-state-error a,
+.ui-widget-content .ui-state-error a,
+.ui-widget-header .ui-state-error a {
+ color: #ffffff;
+}
+.ui-state-error-text,
+.ui-widget-content .ui-state-error-text,
+.ui-widget-header .ui-state-error-text {
+ color: #ffffff;
+}
+.ui-priority-primary,
+.ui-widget-content .ui-priority-primary,
+.ui-widget-header .ui-priority-primary {
+ font-weight: bold;
+}
+.ui-priority-secondary,
+.ui-widget-content .ui-priority-secondary,
+.ui-widget-header .ui-priority-secondary {
+ opacity: .7;
+ filter:Alpha(Opacity=70);
+ font-weight: normal;
+}
+.ui-state-disabled,
+.ui-widget-content .ui-state-disabled,
+.ui-widget-header .ui-state-disabled {
+ opacity: .35;
+ filter:Alpha(Opacity=35);
+ background-image: none;
+}
+.ui-state-disabled .ui-icon {
+ filter:Alpha(Opacity=35); /* For IE8 - See #6059 */
+}
+
+/* Icons
+----------------------------------*/
+
+/* states and images */
+.ui-icon {
+ width: 16px;
+ height: 16px;
+ background-position: 16px 16px;
+}
+.ui-icon,
+.ui-widget-content .ui-icon {
+ background-image: url(images/ui-icons_222222_256x240.png);
+}
+.ui-widget-header .ui-icon {
+ background-image: url(images/ui-icons_222222_256x240.png);
+}
+.ui-state-default .ui-icon {
+ background-image: url(images/ui-icons_1d2d44_256x240.png);
+}
+.ui-state-hover .ui-icon,
+.ui-state-focus .ui-icon {
+ background-image: url(images/ui-icons_1d2d44_256x240.png);
+}
+.ui-state-active .ui-icon {
+ background-image: url(images/ui-icons_1d2d44_256x240.png);
+}
+.ui-state-highlight .ui-icon {
+ background-image: url(images/ui-icons_ffffff_256x240.png);
+}
+.ui-state-error .ui-icon,
+.ui-state-error-text .ui-icon {
+ background-image: url(images/ui-icons_ffd27a_256x240.png);
+}
+
+/* positioning */
+.ui-icon-carat-1-n { background-position: 0 0; }
+.ui-icon-carat-1-ne { background-position: -16px 0; }
+.ui-icon-carat-1-e { background-position: -32px 0; }
+.ui-icon-carat-1-se { background-position: -48px 0; }
+.ui-icon-carat-1-s { background-position: -64px 0; }
+.ui-icon-carat-1-sw { background-position: -80px 0; }
+.ui-icon-carat-1-w { background-position: -96px 0; }
+.ui-icon-carat-1-nw { background-position: -112px 0; }
+.ui-icon-carat-2-n-s { background-position: -128px 0; }
+.ui-icon-carat-2-e-w { background-position: -144px 0; }
+.ui-icon-triangle-1-n { background-position: 0 -16px; }
+.ui-icon-triangle-1-ne { background-position: -16px -16px; }
+.ui-icon-triangle-1-e { background-position: -32px -16px; }
+.ui-icon-triangle-1-se { background-position: -48px -16px; }
+.ui-icon-triangle-1-s { background-position: -64px -16px; }
+.ui-icon-triangle-1-sw { background-position: -80px -16px; }
+.ui-icon-triangle-1-w { background-position: -96px -16px; }
+.ui-icon-triangle-1-nw { background-position: -112px -16px; }
+.ui-icon-triangle-2-n-s { background-position: -128px -16px; }
+.ui-icon-triangle-2-e-w { background-position: -144px -16px; }
+.ui-icon-arrow-1-n { background-position: 0 -32px; }
+.ui-icon-arrow-1-ne { background-position: -16px -32px; }
+.ui-icon-arrow-1-e { background-position: -32px -32px; }
+.ui-icon-arrow-1-se { background-position: -48px -32px; }
+.ui-icon-arrow-1-s { background-position: -64px -32px; }
+.ui-icon-arrow-1-sw { background-position: -80px -32px; }
+.ui-icon-arrow-1-w { background-position: -96px -32px; }
+.ui-icon-arrow-1-nw { background-position: -112px -32px; }
+.ui-icon-arrow-2-n-s { background-position: -128px -32px; }
+.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
+.ui-icon-arrow-2-e-w { background-position: -160px -32px; }
+.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
+.ui-icon-arrowstop-1-n { background-position: -192px -32px; }
+.ui-icon-arrowstop-1-e { background-position: -208px -32px; }
+.ui-icon-arrowstop-1-s { background-position: -224px -32px; }
+.ui-icon-arrowstop-1-w { background-position: -240px -32px; }
+.ui-icon-arrowthick-1-n { background-position: 0 -48px; }
+.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
+.ui-icon-arrowthick-1-e { background-position: -32px -48px; }
+.ui-icon-arrowthick-1-se { background-position: -48px -48px; }
+.ui-icon-arrowthick-1-s { background-position: -64px -48px; }
+.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
+.ui-icon-arrowthick-1-w { background-position: -96px -48px; }
+.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
+.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
+.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
+.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
+.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
+.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
+.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
+.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
+.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
+.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
+.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
+.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
+.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
+.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
+.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
+.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
+.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
+.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
+.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
+.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
+.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
+.ui-icon-arrow-4 { background-position: 0 -80px; }
+.ui-icon-arrow-4-diag { background-position: -16px -80px; }
+.ui-icon-extlink { background-position: -32px -80px; }
+.ui-icon-newwin { background-position: -48px -80px; }
+.ui-icon-refresh { background-position: -64px -80px; }
+.ui-icon-shuffle { background-position: -80px -80px; }
+.ui-icon-transfer-e-w { background-position: -96px -80px; }
+.ui-icon-transferthick-e-w { background-position: -112px -80px; }
+.ui-icon-folder-collapsed { background-position: 0 -96px; }
+.ui-icon-folder-open { background-position: -16px -96px; }
+.ui-icon-document { background-position: -32px -96px; }
+.ui-icon-document-b { background-position: -48px -96px; }
+.ui-icon-note { background-position: -64px -96px; }
+.ui-icon-mail-closed { background-position: -80px -96px; }
+.ui-icon-mail-open { background-position: -96px -96px; }
+.ui-icon-suitcase { background-position: -112px -96px; }
+.ui-icon-comment { background-position: -128px -96px; }
+.ui-icon-person { background-position: -144px -96px; }
+.ui-icon-print { background-position: -160px -96px; }
+.ui-icon-trash { background-position: -176px -96px; }
+.ui-icon-locked { background-position: -192px -96px; }
+.ui-icon-unlocked { background-position: -208px -96px; }
+.ui-icon-bookmark { background-position: -224px -96px; }
+.ui-icon-tag { background-position: -240px -96px; }
+.ui-icon-home { background-position: 0 -112px; }
+.ui-icon-flag { background-position: -16px -112px; }
+.ui-icon-calendar { background-position: -32px -112px; }
+.ui-icon-cart { background-position: -48px -112px; }
+.ui-icon-pencil { background-position: -64px -112px; }
+.ui-icon-clock { background-position: -80px -112px; }
+.ui-icon-disk { background-position: -96px -112px; }
+.ui-icon-calculator { background-position: -112px -112px; }
+.ui-icon-zoomin { background-position: -128px -112px; }
+.ui-icon-zoomout { background-position: -144px -112px; }
+.ui-icon-search { background-position: -160px -112px; }
+.ui-icon-wrench { background-position: -176px -112px; }
+.ui-icon-gear { background-position: -192px -112px; }
+.ui-icon-heart { background-position: -208px -112px; }
+.ui-icon-star { background-position: -224px -112px; }
+.ui-icon-link { background-position: -240px -112px; }
+.ui-icon-cancel { background-position: 0 -128px; }
+.ui-icon-plus { background-position: -16px -128px; }
+.ui-icon-plusthick { background-position: -32px -128px; }
+.ui-icon-minus { background-position: -48px -128px; }
+.ui-icon-minusthick { background-position: -64px -128px; }
+.ui-icon-close { background-position: -80px -128px; }
+.ui-icon-closethick { background-position: -96px -128px; }
+.ui-icon-key { background-position: -112px -128px; }
+.ui-icon-lightbulb { background-position: -128px -128px; }
+.ui-icon-scissors { background-position: -144px -128px; }
+.ui-icon-clipboard { background-position: -160px -128px; }
+.ui-icon-copy { background-position: -176px -128px; }
+.ui-icon-contact { background-position: -192px -128px; }
+.ui-icon-image { background-position: -208px -128px; }
+.ui-icon-video { background-position: -224px -128px; }
+.ui-icon-script { background-position: -240px -128px; }
+.ui-icon-alert { background-position: 0 -144px; }
+.ui-icon-info { background-position: -16px -144px; }
+.ui-icon-notice { background-position: -32px -144px; }
+.ui-icon-help { background-position: -48px -144px; }
+.ui-icon-check { background-position: -64px -144px; }
+.ui-icon-bullet { background-position: -80px -144px; }
+.ui-icon-radio-on { background-position: -96px -144px; }
+.ui-icon-radio-off { background-position: -112px -144px; }
+.ui-icon-pin-w { background-position: -128px -144px; }
+.ui-icon-pin-s { background-position: -144px -144px; }
+.ui-icon-play { background-position: 0 -160px; }
+.ui-icon-pause { background-position: -16px -160px; }
+.ui-icon-seek-next { background-position: -32px -160px; }
+.ui-icon-seek-prev { background-position: -48px -160px; }
+.ui-icon-seek-end { background-position: -64px -160px; }
+.ui-icon-seek-start { background-position: -80px -160px; }
+/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
+.ui-icon-seek-first { background-position: -80px -160px; }
+.ui-icon-stop { background-position: -96px -160px; }
+.ui-icon-eject { background-position: -112px -160px; }
+.ui-icon-volume-off { background-position: -128px -160px; }
+.ui-icon-volume-on { background-position: -144px -160px; }
+.ui-icon-power { background-position: 0 -176px; }
+.ui-icon-signal-diag { background-position: -16px -176px; }
+.ui-icon-signal { background-position: -32px -176px; }
+.ui-icon-battery-0 { background-position: -48px -176px; }
+.ui-icon-battery-1 { background-position: -64px -176px; }
+.ui-icon-battery-2 { background-position: -80px -176px; }
+.ui-icon-battery-3 { background-position: -96px -176px; }
+.ui-icon-circle-plus { background-position: 0 -192px; }
+.ui-icon-circle-minus { background-position: -16px -192px; }
+.ui-icon-circle-close { background-position: -32px -192px; }
+.ui-icon-circle-triangle-e { background-position: -48px -192px; }
+.ui-icon-circle-triangle-s { background-position: -64px -192px; }
+.ui-icon-circle-triangle-w { background-position: -80px -192px; }
+.ui-icon-circle-triangle-n { background-position: -96px -192px; }
+.ui-icon-circle-arrow-e { background-position: -112px -192px; }
+.ui-icon-circle-arrow-s { background-position: -128px -192px; }
+.ui-icon-circle-arrow-w { background-position: -144px -192px; }
+.ui-icon-circle-arrow-n { background-position: -160px -192px; }
+.ui-icon-circle-zoomin { background-position: -176px -192px; }
+.ui-icon-circle-zoomout { background-position: -192px -192px; }
+.ui-icon-circle-check { background-position: -208px -192px; }
+.ui-icon-circlesmall-plus { background-position: 0 -208px; }
+.ui-icon-circlesmall-minus { background-position: -16px -208px; }
+.ui-icon-circlesmall-close { background-position: -32px -208px; }
+.ui-icon-squaresmall-plus { background-position: -48px -208px; }
+.ui-icon-squaresmall-minus { background-position: -64px -208px; }
+.ui-icon-squaresmall-close { background-position: -80px -208px; }
+.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
+.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
+.ui-icon-grip-solid-vertical { background-position: -32px -224px; }
+.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
+.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
+.ui-icon-grip-diagonal-se { background-position: -80px -224px; }
+
+
+/* Misc visuals
+----------------------------------*/
+
+/* Corner radius */
+.ui-corner-all,
+.ui-corner-top,
+.ui-corner-left,
+.ui-corner-tl {
+ border-top-left-radius: 4px;
+}
+.ui-corner-all,
+.ui-corner-top,
+.ui-corner-right,
+.ui-corner-tr {
+ border-top-right-radius: 4px;
+}
+.ui-corner-all,
+.ui-corner-bottom,
+.ui-corner-left,
+.ui-corner-bl {
+ border-bottom-left-radius: 4px;
+}
+.ui-corner-all,
+.ui-corner-bottom,
+.ui-corner-right,
+.ui-corner-br {
+ border-bottom-right-radius: 4px;
+}
+
+/* Overlays */
+.ui-widget-overlay {
+ background: #666666 url(images/ui-bg_diagonals-thick_20_666666_40x40.png) 50% 50% repeat;
+ opacity: .5;
+ filter: Alpha(Opacity=50);
+}
+.ui-widget-shadow {
+ margin: -5px 0 0 -5px;
+ padding: 5px;
+ background: #000000 url(images/ui-bg_flat_10_000000_40x100.png) 50% 50% repeat-x;
+ opacity: .2;
+ filter: Alpha(Opacity=20);
+ border-radius: 5px;
+}
diff --git a/core/css/jquery-ui-1.8.16.custom.css b/core/css/jquery-ui-1.8.16.custom.css
deleted file mode 100644
index add1c6af08c..00000000000
--- a/core/css/jquery-ui-1.8.16.custom.css
+++ /dev/null
@@ -1,362 +0,0 @@
-/*
- * jQuery UI CSS Framework 1.8.16
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Theming/API
- */
-
-/* Layout helpers
-----------------------------------*/
-.ui-helper-hidden { display: none; }
-.ui-helper-hidden-accessible { position: absolute !important; clip: rect(1px 1px 1px 1px); clip: rect(1px,1px,1px,1px); }
-.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; }
-.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
-.ui-helper-clearfix { display: inline-block; }
-/* required comment for clearfix to work in Opera \*/
-* html .ui-helper-clearfix { height:1%; }
-.ui-helper-clearfix { display:block; }
-/* end clearfix */
-.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); }
-
-
-/* Interaction Cues
-----------------------------------*/
-.ui-state-disabled { cursor: default !important; }
-
-
-/* Icons
-----------------------------------*/
-
-/* states and images */
-.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; }
-
-
-/* Misc visuals
-----------------------------------*/
-
-/* Overlays */
-.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
-
-
-/*
- * jQuery UI CSS Framework 1.8.16
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Theming/API
- *
- * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault="Lucida%20Grande",%20Arial,%20Verdana,%20sans-serif&fwDefault=bold&fsDefault=1em&cornerRadius=4px&bgColorHeader=1d2d44&bgTextureHeader=01_flat.png&bgImgOpacityHeader=35&borderColorHeader=1d2d44&fcHeader=ffffff&iconColorHeader=ffffff&bgColorContent=eeeeee&bgTextureContent=03_highlight_soft.png&bgImgOpacityContent=100&borderColorContent=dddddd&fcContent=333333&iconColorContent=222222&bgColorDefault=f8f8f8&bgTextureDefault=02_glass.png&bgImgOpacityDefault=100&borderColorDefault=ddd&fcDefault=555&iconColorDefault=1d2d44&bgColorHover=ffffff&bgTextureHover=01_flat.png&bgImgOpacityHover=100&borderColorHover=ddd&fcHover=333&iconColorHover=1d2d44&bgColorActive=f8f8f8&bgTextureActive=02_glass.png&bgImgOpacityActive=100&borderColorActive=1d2d44&fcActive=1d2d44&iconColorActive=1d2d44&bgColorHighlight=f8f8f8&bgTextureHighlight=04_highlight_hard.png&bgImgOpacityHighlight=100&borderColorHighlight=ddd&fcHighlight=555&iconColorHighlight=ffffff&bgColorError=b81900&bgTextureError=08_diagonals_thick.png&bgImgOpacityError=18&borderColorError=cd0a0a&fcError=ffffff&iconColorError=ffd27a&bgColorOverlay=666666&bgTextureOverlay=08_diagonals_thick.png&bgImgOpacityOverlay=20&opacityOverlay=50&bgColorShadow=000000&bgTextureShadow=01_flat.png&bgImgOpacityShadow=10&opacityShadow=20&thicknessShadow=5px&offsetTopShadow=-5px&offsetLeftShadow=-5px&cornerRadiusShadow=5px
- */
-
-
-/* Component containers
-----------------------------------*/
-.ui-widget { font-family: \\\"Lucida Grande\\\", Arial, Verdana, sans-serif; font-size: 1em; }
-.ui-widget .ui-widget { font-size: 1em; }
-.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: \\\"Lucida Grande\\\", Arial, Verdana, sans-serif; font-size: 1em; }
-.ui-widget-content { border: 1px solid #dddddd; background: #eeeeee; color: #333333; }
-.ui-widget-content a { color: #333333; }
-.ui-widget-header { border: 1px solid #1d2d44; background: #1d2d44; color: #ffffff; font-weight: bold; }
-.ui-widget-header a { color: #ffffff; }
-
-/* Interaction states
-----------------------------------*/
-.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #ddd; background: #f8f8f8; font-weight: bold; color: #555; }
-.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #555; text-decoration: none; }
-.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #ddd; background: #ffffff; font-weight: bold; color: #333; }
-.ui-state-hover a, .ui-state-hover a:hover { color: #333; text-decoration: none; }
-.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #1d2d44; background: #f8f8f8; font-weight: bold; color: #1d2d44; }
-.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #1d2d44; text-decoration: none; }
-.ui-widget :active { outline: none; }
-
-/* Interaction Cues
-----------------------------------*/
-.ui-state-disabled { cursor: default !important; }
-
-/* Icons
-----------------------------------*/
-
-/* states and images */
-.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; }
-
-/* states and images */
-.ui-icon { width: 16px; height: 16px; }
-.ui-icon-closethick { background-image: url(../img/actions/delete.png); }
-
-
-/* Misc visuals
-----------------------------------*/
-
-/* Corner radius */
-.ui-corner-all, .ui-corner-top, .ui-corner-left, .ui-corner-tl { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; -khtml-border-top-left-radius: 4px; border-top-left-radius: 4px; }
-.ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; -khtml-border-top-right-radius: 4px; border-top-right-radius: 4px; }
-.ui-corner-all, .ui-corner-bottom, .ui-corner-left, .ui-corner-bl { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; -khtml-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; }
-.ui-corner-all, .ui-corner-bottom, .ui-corner-right, .ui-corner-br { -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; -khtml-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; }
-
-/* Overlays */
-.ui-widget-overlay { background: #666666; opacity: .50;filter:Alpha(Opacity=50); }
-.ui-widget-shadow { margin: -5px 0 0 -5px; padding: 5px; background: #000000; opacity: .20;filter:Alpha(Opacity=20); -moz-border-radius: 5px; -khtml-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; }/*
- * jQuery UI Resizable 1.8.16
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Resizable#theming
- */
-.ui-resizable { position: relative;}
-.ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block; }
-.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; }
-.ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0; }
-.ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0; }
-.ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0; height: 100%; }
-.ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0; height: 100%; }
-.ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; }
-.ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; }
-.ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; }
-.ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}/*
- * jQuery UI Selectable 1.8.16
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Selectable#theming
- */
-.ui-selectable-helper { position: absolute; z-index: 100; border:1px dotted black; }
-/*
- * jQuery UI Autocomplete 1.8.16
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Autocomplete#theming
- */
-.ui-autocomplete { position: absolute; cursor: default; }
-
-/* workarounds */
-* html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */
-
-/*
- * jQuery UI Menu 1.8.16
- *
- * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Menu#theming
- */
-.ui-menu {
- list-style:none;
- padding: 2px;
- margin: 0;
- display:block;
- float: left;
-}
-.ui-menu .ui-menu {
- margin-top: -3px;
-}
-.ui-menu .ui-menu-item {
- margin:0;
- padding: 0;
- zoom: 1;
- float: left;
- clear: left;
- width: 100%;
-}
-.ui-menu .ui-menu-item a {
- text-decoration:none;
- display:block;
- padding:.2em .4em;
- line-height:1.5;
- zoom:1;
-}
-.ui-menu .ui-menu-item a.ui-state-hover,
-.ui-menu .ui-menu-item a.ui-state-active {
- font-weight: normal;
- margin: -1px;
-}
-/*
- * jQuery UI Button 1.8.16
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Button#theming
- */
-.ui-button { display: inline-block; position: relative; padding: 0; margin-right: .1em; text-decoration: none !important; cursor: pointer; text-align: center; zoom: 1; overflow: visible; } /* the overflow property removes extra width in IE */
-.ui-button-icon-only { width: 2.2em; } /* to make room for the icon, a width needs to be set here */
-button.ui-button-icon-only { width: 2.4em; } /* button elements seem to need a little more width */
-.ui-button-icons-only { width: 3.4em; }
-button.ui-button-icons-only { width: 3.7em; }
-
-/*button text element */
-.ui-button .ui-button-text { display: block; line-height: 1.4; }
-.ui-button-text-only .ui-button-text { padding: .4em 1em; }
-.ui-button-icon-only .ui-button-text, .ui-button-icons-only .ui-button-text { padding: .4em; text-indent: -9999999px; }
-.ui-button-text-icon-primary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 1em .4em 2.1em; }
-.ui-button-text-icon-secondary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 2.1em .4em 1em; }
-.ui-button-text-icons .ui-button-text { padding-left: 2.1em; padding-right: 2.1em; }
-/* no icon support for input elements, provide padding by default */
-input.ui-button { padding: .4em 1em; }
-
-/*button icon element(s) */
-.ui-button-icon-only .ui-icon, .ui-button-text-icon-primary .ui-icon, .ui-button-text-icon-secondary .ui-icon, .ui-button-text-icons .ui-icon, .ui-button-icons-only .ui-icon { position: absolute; top: 50%; margin-top: -8px; }
-.ui-button-icon-only .ui-icon { left: 50%; margin-left: -8px; }
-.ui-button-text-icon-primary .ui-button-icon-primary, .ui-button-text-icons .ui-button-icon-primary, .ui-button-icons-only .ui-button-icon-primary { left: .5em; }
-.ui-button-text-icon-secondary .ui-button-icon-secondary, .ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
-.ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
-
-/*button sets*/
-.ui-buttonset { margin-right: 7px; }
-.ui-buttonset .ui-button { margin-left: 0; margin-right: -.3em; }
-
-/* workarounds */
-button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra padding in Firefox */
-/*
- * jQuery UI Dialog 1.8.16
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Dialog#theming
- */
-.ui-dialog { position: absolute; padding: .2em; width: 300px; overflow: hidden; }
-.ui-dialog .ui-dialog-titlebar { padding: .4em 1em; position: relative; }
-.ui-dialog .ui-dialog-title { float: left; margin: .1em 16px .1em 0; }
-.ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; background-color: #EEE;}
-.ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; }
-.ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; }
-.ui-dialog .ui-dialog-content { position: relative; border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; }
-.ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em .4em; }
-.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { float: right; }
-.ui-dialog .ui-dialog-buttonpane button { margin: .5em .4em .5em 0; cursor: pointer; }
-.ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; }
-.ui-draggable .ui-dialog-titlebar { cursor: move; }
-/*
- * jQuery UI Slider 1.8.16
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Slider#theming
- */
-.ui-slider { position: relative; text-align: left; }
-.ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; }
-.ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; background-position: 0 0; }
-
-.ui-slider-horizontal { height: .8em; }
-.ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; }
-.ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; }
-.ui-slider-horizontal .ui-slider-range-min { left: 0; }
-.ui-slider-horizontal .ui-slider-range-max { right: 0; }
-
-.ui-slider-vertical { width: .8em; height: 100px; }
-.ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; }
-.ui-slider-vertical .ui-slider-range { left: 0; width: 100%; }
-.ui-slider-vertical .ui-slider-range-min { bottom: 0; }
-.ui-slider-vertical .ui-slider-range-max { top: 0; }/*
- * jQuery UI Tabs 1.8.16
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Tabs#theming
- */
-.ui-tabs { position: relative; padding: .2em; zoom: 1; } /* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
-.ui-tabs .ui-tabs-nav { margin: 0; padding: .2em .2em 0; }
-.ui-tabs .ui-tabs-nav li { list-style: none; float: left; position: relative; top: 1px; margin: 0 .2em 1px 0; border-bottom: 0 !important; padding: 0; white-space: nowrap; }
-.ui-tabs .ui-tabs-nav li a { float: left; padding: .5em 1em; text-decoration: none; }
-.ui-tabs .ui-tabs-nav li.ui-tabs-selected { margin-bottom: 0; padding-bottom: 1px; }
-.ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; }
-.ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */
-.ui-tabs .ui-tabs-panel { display: block; border-width: 0; padding: 1em 1.4em; background: none; }
-.ui-tabs .ui-tabs-hide { display: none !important; }
-/*
- * jQuery UI Datepicker 1.8.16
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Datepicker#theming
- */
-.ui-datepicker { width: 17em; padding: .2em .2em 0; display: none; }
-.ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; }
-.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; }
-.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; }
-.ui-datepicker .ui-datepicker-prev { left:2px; }
-.ui-datepicker .ui-datepicker-next { right:2px; }
-.ui-datepicker .ui-datepicker-prev-hover { left:1px; }
-.ui-datepicker .ui-datepicker-next-hover { right:1px; }
-.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px; }
-.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; }
-.ui-datepicker .ui-datepicker-title select { font-size:1em; margin:1px 0; }
-.ui-datepicker select.ui-datepicker-month-year {width: 100%;}
-.ui-datepicker select.ui-datepicker-month,
-.ui-datepicker select.ui-datepicker-year { width: 49%;}
-.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; }
-.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; }
-.ui-datepicker td { border: 0; padding: 1px; }
-.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; }
-.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; }
-.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; }
-.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; }
-
-/* with multiple calendars */
-.ui-datepicker.ui-datepicker-multi { width:auto; }
-.ui-datepicker-multi .ui-datepicker-group { float:left; }
-.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; }
-.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; }
-.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; }
-.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; }
-.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; }
-.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; }
-.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; }
-.ui-datepicker-row-break { clear:both; width:100%; font-size:0em; }
-
-/* RTL support */
-.ui-datepicker-rtl { direction: rtl; }
-.ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; }
-.ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; }
-.ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; }
-.ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; }
-.ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; }
-.ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; }
-.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; }
-.ui-datepicker-rtl .ui-datepicker-group { float:right; }
-.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
-.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
-
-/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */
-.ui-datepicker-cover {
- display: none; /*sorry for IE5*/
- display/**/: block; /*sorry for IE5*/
- position: absolute; /*must have*/
- z-index: -1; /*must have*/
- filter: mask(); /*must have*/
- top: -4px; /*must have*/
- left: -4px; /*must have*/
- width: 200px; /*must have*/
- height: 200px; /*must have*/
-}/*
- * jQuery UI Progressbar 1.8.16
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Progressbar#theming
- */
-.ui-progressbar { height:2em; text-align: left; }
-.ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; } \ No newline at end of file
diff --git a/core/css/multiselect.css b/core/css/multiselect.css
index 99f0e039334..31c8ef88eb9 100644
--- a/core/css/multiselect.css
+++ b/core/css/multiselect.css
@@ -5,15 +5,25 @@
ul.multiselectoptions {
background-color:#fff;
border:1px solid #ddd;
- border-bottom-left-radius:.5em;
- border-bottom-right-radius:.5em;
border-top:none;
box-shadow:0 1px 1px #ddd;
padding-top:.5em;
position:absolute;
+ max-height: 20em;
+ overflow-y: auto;
z-index:49;
}
+ ul.multiselectoptions.down {
+ border-bottom-left-radius:.5em;
+ border-bottom-right-radius:.5em;
+ }
+
+ ul.multiselectoptions.up {
+ border-top-left-radius:.5em;
+ border-top-right-radius:.5em;
+ }
+
ul.multiselectoptions>li {
overflow:hidden;
white-space:nowrap;
@@ -30,11 +40,20 @@
div.multiselect.active {
background-color:#fff;
+ position:relative;
+ z-index:50;
+ }
+
+ div.multiselect.up {
+ border-top:0 none;
+ border-top-left-radius:0;
+ border-top-right-radius:0;
+ }
+
+ div.multiselect.down {
border-bottom:none;
border-bottom-left-radius:0;
border-bottom-right-radius:0;
- position:relative;
- z-index:50;
}
div.multiselect>span:first-child {
diff --git a/core/css/styles.css b/core/css/styles.css
index d635916b5ae..022acab4d8a 100644
--- a/core/css/styles.css
+++ b/core/css/styles.css
@@ -34,7 +34,7 @@ filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#35537a', endC
/* INPUTS */
input[type="text"], input[type="password"] { cursor:text; }
-input:not([type="checkbox"]), textarea, select, button, .button, #quota, div.jp-progress, .pager li a {
+input, textarea, select, button, .button, #quota, div.jp-progress, .pager li a {
width:10em; margin:.3em; padding:.6em .5em .4em;
font-size:1em; font-family:Arial, Verdana, sans-serif;
background:#fff; color:#333; border:1px solid #ddd; outline:none;
@@ -56,7 +56,7 @@ input[type="checkbox"]:hover+label, input[type="checkbox"]:focus+label { color:#
/* BUTTONS */
input[type="submit"], input[type="button"], button, .button, #quota, div.jp-progress, select, .pager li a {
width:auto; padding:.4em;
- background-color:rgba(230,230,230,.5); font-weight:bold; color:#555; text-shadow:#fff 0 1px 0; border:1px solid rgba(180,180,180,.5); cursor:pointer;
+ background-color:rgba(230,230,230,.5); font-weight:bold; color:#555; text-shadow:#fff 0 1px 0; border:1px solid #bbb; border:1px solid rgba(180,180,180,.5); cursor:pointer;
-moz-box-shadow:0 1px 1px #fff, 0 1px 1px #fff inset; -webkit-box-shadow:0 1px 1px #fff, 0 1px 1px #fff inset; box-shadow:0 1px 1px #fff, 0 1px 1px #fff inset;
-moz-border-radius:.5em; -webkit-border-radius:.5em; border-radius:.5em;
}
@@ -94,8 +94,9 @@ input[type="submit"].enabled { background:#66f866; border:1px solid #5e5; -moz-b
/* CONTENT ------------------------------------------------------------------ */
#controls { padding:0 0.5em; width:100%; top:3.5em; height:2.8em; margin:0; background:#f7f7f7; border-bottom:1px solid #eee; position:fixed; z-index:50; -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; }
-#content { top:3.5em; left:12.5em; position:absolute; }
-#leftcontent, .leftcontent { position:fixed; overflow:auto; top:6.4em; width:20em; background:#f8f8f8; border-right:1px solid #ddd; }
+#content { height: 100%; width: 100%; position: relative; }
+#content-wrapper { height: 100%; width: 100%; padding-top: 3.5em; padding-left: 12.5em; box-sizing: border-box; -moz-box-sizing: border-box; position: absolute;}
+#leftcontent, .leftcontent { position:fixed; top: 0; overflow:auto; width:20em; background:#f8f8f8; border-right:1px solid #ddd; box-sizing: border-box; -moz-box-sizing: border-box; height: 100%; padding-top: 6.4em }
#leftcontent li, .leftcontent li { background:#f8f8f8; padding:.5em .8em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; -webkit-transition:background-color 200ms; -moz-transition:background-color 200ms; -o-transition:background-color 200ms; transition:background-color 200ms; }
#leftcontent li:hover, #leftcontent li:active, #leftcontent li.active, .leftcontent li:hover, .leftcontent li:active, .leftcontent li.active { background:#eee; }
#leftcontent li.active, .leftcontent li.active { font-weight:bold; }
@@ -190,7 +191,8 @@ fieldset.warning legend { color:#b94a48 !important; }
.bold { font-weight:bold; }
.center { text-align:center; }
-#notification { z-index:101; background-color:#fc4; border:0; padding:0 .7em .3em; display:none; position:fixed; left:50%; top:0; -moz-border-radius-bottomleft:1em; -webkit-border-bottom-left-radius:1em; border-bottom-left-radius:1em; -moz-border-radius-bottomright:1em; -webkit-border-bottom-right-radius:1em; border-bottom-right-radius:1em; }
+#notification-container { position: fixed; top: 0px; width: 100%; text-align: center; z-index: 101; line-height: 1.2;}
+#notification { z-index:101; background-color:#fc4; border:0; padding:0 .7em .3em; display:none; position: relative; top:0; -moz-border-radius-bottomleft:1em; -webkit-border-bottom-left-radius:1em; border-bottom-left-radius:1em; -moz-border-radius-bottomright:1em; -webkit-border-bottom-right-radius:1em; border-bottom-right-radius:1em; }
#notification span { cursor:pointer; font-weight:bold; margin-left:1em; }
tr .action, .selectedActions a { -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; filter:alpha(opacity=0); opacity:0; }
@@ -214,7 +216,8 @@ div.jp-play-bar, div.jp-seek-bar { padding:0; }
.pager { list-style:none; float:right; display:inline; margin:.7em 13em 0 0; }
.pager li { display:inline-block; }
-li.error { width:640px; margin:4em auto; padding:1em 1em 1em 4em; background:#ffe .8em .8em no-repeat; color:#FF3B3B; border:1px solid #ccc; -moz-border-radius:10px; -webkit-border-radius:10px; border-radius:10px; }
+li.update, li.error { width:640px; margin:4em auto; padding:1em 1em 1em 4em; background:#ffe .8em .8em no-repeat; border:1px solid #ccc; -moz-border-radius:10px; -webkit-border-radius:10px; border-radius:10px; cursor:default; }
+.error { color:#FF3B3B; }
.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { overflow:hidden; text-overflow:ellipsis; }
.hint { background-image:url('../img/actions/info.png'); background-repeat:no-repeat; color:#777777; padding-left:25px; background-position:0 0.3em;}
.separator { display:inline; border-left:1px solid #d3d3d3; border-right:1px solid #fff; height:10px; width:0px; margin:4px; }
diff --git a/core/js/config.js b/core/js/config.js
index f7a29276f7d..563df4e6632 100644
--- a/core/js/config.js
+++ b/core/js/config.js
@@ -50,6 +50,6 @@ OC.AppConfig={
},
deleteApp:function(app){
OC.AppConfig.postCall('deleteApp',{app:app});
- },
+ }
};
//TODO OC.Preferences
diff --git a/core/js/config.php b/core/js/config.php
new file mode 100644
index 00000000000..e838fb1cd04
--- /dev/null
+++ b/core/js/config.php
@@ -0,0 +1,37 @@
+<?php
+/**
+ * Copyright (c) 2013 Lukas Reschke <lukas@statuscode.ch>
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+
+// Set the content type to Javascript
+header("Content-type: text/javascript");
+
+// Disallow caching
+header("Cache-Control: no-cache, must-revalidate");
+header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");
+
+// Enable l10n support
+$l = OC_L10N::get('core');
+
+// Get the config
+$debug = (defined('DEBUG') && DEBUG) ? 'true' : 'false';
+$array = array(
+ "oc_debug" => $debug,
+ "oc_webroot" => "\"".OC::$WEBROOT."\"",
+ "oc_appswebroots" => "\"".$_['apps_paths']. "\"",
+ "oc_current_user" => "\"".OC_User::getUser(). "\"",
+ "oc_requesttoken" => "\"".OC_Util::callRegister(). "\"",
+ "datepickerFormatDate" => json_encode($l->l('jsdate', 'jsdate')),
+ "dayNames" => json_encode(array((string)$l->t('Sunday'), (string)$l->t('Monday'), (string)$l->t('Tuesday'), (string)$l->t('Wednesday'), (string)$l->t('Thursday'), (string)$l->t('Friday'), (string)$l->t('Saturday'))),
+ "monthNames" => json_encode(array((string)$l->t('January'), (string)$l->t('February'), (string)$l->t('March'), (string)$l->t('April'), (string)$l->t('May'), (string)$l->t('June'), (string)$l->t('July'), (string)$l->t('August'), (string)$l->t('September'), (string)$l->t('October'), (string)$l->t('November'), (string)$l->t('December'))),
+ "firstDay" => json_encode($l->l('firstday', 'firstday')) ,
+ );
+
+// Echo it
+foreach ($array as $setting => $value) {
+ echo("var ". $setting ."=".$value.";\n");
+}
+?> \ No newline at end of file
diff --git a/core/js/jquery-ui-1.10.0.custom.js b/core/js/jquery-ui-1.10.0.custom.js
new file mode 100644
index 00000000000..ca57f47ede4
--- /dev/null
+++ b/core/js/jquery-ui-1.10.0.custom.js
@@ -0,0 +1,14850 @@
+/*! jQuery UI - v1.10.0 - 2013-01-22
+* http://jqueryui.com
+* Includes: jquery.ui.core.js, jquery.ui.widget.js, jquery.ui.mouse.js, jquery.ui.position.js, jquery.ui.draggable.js, jquery.ui.droppable.js, jquery.ui.resizable.js, jquery.ui.selectable.js, jquery.ui.sortable.js, jquery.ui.accordion.js, jquery.ui.autocomplete.js, jquery.ui.button.js, jquery.ui.datepicker.js, jquery.ui.dialog.js, jquery.ui.menu.js, jquery.ui.progressbar.js, jquery.ui.slider.js, jquery.ui.spinner.js, jquery.ui.tabs.js, jquery.ui.tooltip.js, jquery.ui.effect.js, jquery.ui.effect-blind.js, jquery.ui.effect-bounce.js, jquery.ui.effect-clip.js, jquery.ui.effect-drop.js, jquery.ui.effect-explode.js, jquery.ui.effect-fade.js, jquery.ui.effect-fold.js, jquery.ui.effect-highlight.js, jquery.ui.effect-pulsate.js, jquery.ui.effect-scale.js, jquery.ui.effect-shake.js, jquery.ui.effect-slide.js, jquery.ui.effect-transfer.js
+* Copyright (c) 2013 jQuery Foundation and other contributors Licensed MIT */
+
+(function( $, undefined ) {
+
+var uuid = 0,
+ runiqueId = /^ui-id-\d+$/;
+
+// prevent duplicate loading
+// this is only a problem because we proxy existing functions
+// and we don't want to double proxy them
+$.ui = $.ui || {};
+if ( $.ui.version ) {
+ return;
+}
+
+$.extend( $.ui, {
+ version: "1.10.0",
+
+ keyCode: {
+ BACKSPACE: 8,
+ COMMA: 188,
+ DELETE: 46,
+ DOWN: 40,
+ END: 35,
+ ENTER: 13,
+ ESCAPE: 27,
+ HOME: 36,
+ LEFT: 37,
+ NUMPAD_ADD: 107,
+ NUMPAD_DECIMAL: 110,
+ NUMPAD_DIVIDE: 111,
+ NUMPAD_ENTER: 108,
+ NUMPAD_MULTIPLY: 106,
+ NUMPAD_SUBTRACT: 109,
+ PAGE_DOWN: 34,
+ PAGE_UP: 33,
+ PERIOD: 190,
+ RIGHT: 39,
+ SPACE: 32,
+ TAB: 9,
+ UP: 38
+ }
+});
+
+// plugins
+$.fn.extend({
+ _focus: $.fn.focus,
+ focus: function( delay, fn ) {
+ return typeof delay === "number" ?
+ this.each(function() {
+ var elem = this;
+ setTimeout(function() {
+ $( elem ).focus();
+ if ( fn ) {
+ fn.call( elem );
+ }
+ }, delay );
+ }) :
+ this._focus.apply( this, arguments );
+ },
+
+ scrollParent: function() {
+ var scrollParent;
+ if (($.ui.ie && (/(static|relative)/).test(this.css("position"))) || (/absolute/).test(this.css("position"))) {
+ scrollParent = this.parents().filter(function() {
+ return (/(relative|absolute|fixed)/).test($.css(this,"position")) && (/(auto|scroll)/).test($.css(this,"overflow")+$.css(this,"overflow-y")+$.css(this,"overflow-x"));
+ }).eq(0);
+ } else {
+ scrollParent = this.parents().filter(function() {
+ return (/(auto|scroll)/).test($.css(this,"overflow")+$.css(this,"overflow-y")+$.css(this,"overflow-x"));
+ }).eq(0);
+ }
+
+ return (/fixed/).test(this.css("position")) || !scrollParent.length ? $(document) : scrollParent;
+ },
+
+ zIndex: function( zIndex ) {
+ if ( zIndex !== undefined ) {
+ return this.css( "zIndex", zIndex );
+ }
+
+ if ( this.length ) {
+ var elem = $( this[ 0 ] ), position, value;
+ while ( elem.length && elem[ 0 ] !== document ) {
+ // Ignore z-index if position is set to a value where z-index is ignored by the browser
+ // This makes behavior of this function consistent across browsers
+ // WebKit always returns auto if the element is positioned
+ position = elem.css( "position" );
+ if ( position === "absolute" || position === "relative" || position === "fixed" ) {
+ // IE returns 0 when zIndex is not specified
+ // other browsers return a string
+ // we ignore the case of nested elements with an explicit value of 0
+ // <div style="z-index: -10;"><div style="z-index: 0;"></div></div>
+ value = parseInt( elem.css( "zIndex" ), 10 );
+ if ( !isNaN( value ) && value !== 0 ) {
+ return value;
+ }
+ }
+ elem = elem.parent();
+ }
+ }
+
+ return 0;
+ },
+
+ uniqueId: function() {
+ return this.each(function() {
+ if ( !this.id ) {
+ this.id = "ui-id-" + (++uuid);
+ }
+ });
+ },
+
+ removeUniqueId: function() {
+ return this.each(function() {
+ if ( runiqueId.test( this.id ) ) {
+ $( this ).removeAttr( "id" );
+ }
+ });
+ }
+});
+
+// selectors
+function focusable( element, isTabIndexNotNaN ) {
+ var map, mapName, img,
+ nodeName = element.nodeName.toLowerCase();
+ if ( "area" === nodeName ) {
+ map = element.parentNode;
+ mapName = map.name;
+ if ( !element.href || !mapName || map.nodeName.toLowerCase() !== "map" ) {
+ return false;
+ }
+ img = $( "img[usemap=#" + mapName + "]" )[0];
+ return !!img && visible( img );
+ }
+ return ( /input|select|textarea|button|object/.test( nodeName ) ?
+ !element.disabled :
+ "a" === nodeName ?
+ element.href || isTabIndexNotNaN :
+ isTabIndexNotNaN) &&
+ // the element and all of its ancestors must be visible
+ visible( element );
+}
+
+function visible( element ) {
+ return $.expr.filters.visible( element ) &&
+ !$( element ).parents().addBack().filter(function() {
+ return $.css( this, "visibility" ) === "hidden";
+ }).length;
+}
+
+$.extend( $.expr[ ":" ], {
+ data: $.expr.createPseudo ?
+ $.expr.createPseudo(function( dataName ) {
+ return function( elem ) {
+ return !!$.data( elem, dataName );
+ };
+ }) :
+ // support: jQuery <1.8
+ function( elem, i, match ) {
+ return !!$.data( elem, match[ 3 ] );
+ },
+
+ focusable: function( element ) {
+ return focusable( element, !isNaN( $.attr( element, "tabindex" ) ) );
+ },
+
+ tabbable: function( element ) {
+ var tabIndex = $.attr( element, "tabindex" ),
+ isTabIndexNaN = isNaN( tabIndex );
+ return ( isTabIndexNaN || tabIndex >= 0 ) && focusable( element, !isTabIndexNaN );
+ }
+});
+
+// support: jQuery <1.8
+if ( !$( "<a>" ).outerWidth( 1 ).jquery ) {
+ $.each( [ "Width", "Height" ], function( i, name ) {
+ var side = name === "Width" ? [ "Left", "Right" ] : [ "Top", "Bottom" ],
+ type = name.toLowerCase(),
+ orig = {
+ innerWidth: $.fn.innerWidth,
+ innerHeight: $.fn.innerHeight,
+ outerWidth: $.fn.outerWidth,
+ outerHeight: $.fn.outerHeight
+ };
+
+ function reduce( elem, size, border, margin ) {
+ $.each( side, function() {
+ size -= parseFloat( $.css( elem, "padding" + this ) ) || 0;
+ if ( border ) {
+ size -= parseFloat( $.css( elem, "border" + this + "Width" ) ) || 0;
+ }
+ if ( margin ) {
+ size -= parseFloat( $.css( elem, "margin" + this ) ) || 0;
+ }
+ });
+ return size;
+ }
+
+ $.fn[ "inner" + name ] = function( size ) {
+ if ( size === undefined ) {
+ return orig[ "inner" + name ].call( this );
+ }
+
+ return this.each(function() {
+ $( this ).css( type, reduce( this, size ) + "px" );
+ });
+ };
+
+ $.fn[ "outer" + name] = function( size, margin ) {
+ if ( typeof size !== "number" ) {
+ return orig[ "outer" + name ].call( this, size );
+ }
+
+ return this.each(function() {
+ $( this).css( type, reduce( this, size, true, margin ) + "px" );
+ });
+ };
+ });
+}
+
+// support: jQuery <1.8
+if ( !$.fn.addBack ) {
+ $.fn.addBack = function( selector ) {
+ return this.add( selector == null ?
+ this.prevObject : this.prevObject.filter( selector )
+ );
+ };
+}
+
+// support: jQuery 1.6.1, 1.6.2 (http://bugs.jquery.com/ticket/9413)
+if ( $( "<a>" ).data( "a-b", "a" ).removeData( "a-b" ).data( "a-b" ) ) {
+ $.fn.removeData = (function( removeData ) {
+ return function( key ) {
+ if ( arguments.length ) {
+ return removeData.call( this, $.camelCase( key ) );
+ } else {
+ return removeData.call( this );
+ }
+ };
+ })( $.fn.removeData );
+}
+
+
+
+
+
+// deprecated
+$.ui.ie = !!/msie [\w.]+/.exec( navigator.userAgent.toLowerCase() );
+
+$.support.selectstart = "onselectstart" in document.createElement( "div" );
+$.fn.extend({
+ disableSelection: function() {
+ return this.bind( ( $.support.selectstart ? "selectstart" : "mousedown" ) +
+ ".ui-disableSelection", function( event ) {
+ event.preventDefault();
+ });
+ },
+
+ enableSelection: function() {
+ return this.unbind( ".ui-disableSelection" );
+ }
+});
+
+$.extend( $.ui, {
+ // $.ui.plugin is deprecated. Use the proxy pattern instead.
+ plugin: {
+ add: function( module, option, set ) {
+ var i,
+ proto = $.ui[ module ].prototype;
+ for ( i in set ) {
+ proto.plugins[ i ] = proto.plugins[ i ] || [];
+ proto.plugins[ i ].push( [ option, set[ i ] ] );
+ }
+ },
+ call: function( instance, name, args ) {
+ var i,
+ set = instance.plugins[ name ];
+ if ( !set || !instance.element[ 0 ].parentNode || instance.element[ 0 ].parentNode.nodeType === 11 ) {
+ return;
+ }
+
+ for ( i = 0; i < set.length; i++ ) {
+ if ( instance.options[ set[ i ][ 0 ] ] ) {
+ set[ i ][ 1 ].apply( instance.element, args );
+ }
+ }
+ }
+ },
+
+ // only used by resizable
+ hasScroll: function( el, a ) {
+
+ //If overflow is hidden, the element might have extra content, but the user wants to hide it
+ if ( $( el ).css( "overflow" ) === "hidden") {
+ return false;
+ }
+
+ var scroll = ( a && a === "left" ) ? "scrollLeft" : "scrollTop",
+ has = false;
+
+ if ( el[ scroll ] > 0 ) {
+ return true;
+ }
+
+ // TODO: determine which cases actually cause this to happen
+ // if the element doesn't have the scroll set, see if it's possible to
+ // set the scroll
+ el[ scroll ] = 1;
+ has = ( el[ scroll ] > 0 );
+ el[ scroll ] = 0;
+ return has;
+ }
+});
+
+})( jQuery );
+(function( $, undefined ) {
+
+var uuid = 0,
+ slice = Array.prototype.slice,
+ _cleanData = $.cleanData;
+$.cleanData = function( elems ) {
+ for ( var i = 0, elem; (elem = elems[i]) != null; i++ ) {
+ try {
+ $( elem ).triggerHandler( "remove" );
+ // http://bugs.jquery.com/ticket/8235
+ } catch( e ) {}
+ }
+ _cleanData( elems );
+};
+
+$.widget = function( name, base, prototype ) {
+ var fullName, existingConstructor, constructor, basePrototype,
+ // proxiedPrototype allows the provided prototype to remain unmodified
+ // so that it can be used as a mixin for multiple widgets (#8876)
+ proxiedPrototype = {},
+ namespace = name.split( "." )[ 0 ];
+
+ name = name.split( "." )[ 1 ];
+ fullName = namespace + "-" + name;
+
+ if ( !prototype ) {
+ prototype = base;
+ base = $.Widget;
+ }
+
+ // create selector for plugin
+ $.expr[ ":" ][ fullName.toLowerCase() ] = function( elem ) {
+ return !!$.data( elem, fullName );
+ };
+
+ $[ namespace ] = $[ namespace ] || {};
+ existingConstructor = $[ namespace ][ name ];
+ constructor = $[ namespace ][ name ] = function( options, element ) {
+ // allow instantiation without "new" keyword
+ if ( !this._createWidget ) {
+ return new constructor( options, element );
+ }
+
+ // allow instantiation without initializing for simple inheritance
+ // must use "new" keyword (the code above always passes args)
+ if ( arguments.length ) {
+ this._createWidget( options, element );
+ }
+ };
+ // extend with the existing constructor to carry over any static properties
+ $.extend( constructor, existingConstructor, {
+ version: prototype.version,
+ // copy the object used to create the prototype in case we need to
+ // redefine the widget later
+ _proto: $.extend( {}, prototype ),
+ // track widgets that inherit from this widget in case this widget is
+ // redefined after a widget inherits from it
+ _childConstructors: []
+ });
+
+ basePrototype = new base();
+ // we need to make the options hash a property directly on the new instance
+ // otherwise we'll modify the options hash on the prototype that we're
+ // inheriting from
+ basePrototype.options = $.widget.extend( {}, basePrototype.options );
+ $.each( prototype, function( prop, value ) {
+ if ( !$.isFunction( value ) ) {
+ proxiedPrototype[ prop ] = value;
+ return;
+ }
+ proxiedPrototype[ prop ] = (function() {
+ var _super = function() {
+ return base.prototype[ prop ].apply( this, arguments );
+ },
+ _superApply = function( args ) {
+ return base.prototype[ prop ].apply( this, args );
+ };
+ return function() {
+ var __super = this._super,
+ __superApply = this._superApply,
+ returnValue;
+
+ this._super = _super;
+ this._superApply = _superApply;
+
+ returnValue = value.apply( this, arguments );
+
+ this._super = __super;
+ this._superApply = __superApply;
+
+ return returnValue;
+ };
+ })();
+ });
+ constructor.prototype = $.widget.extend( basePrototype, {
+ // TODO: remove support for widgetEventPrefix
+ // always use the name + a colon as the prefix, e.g., draggable:start
+ // don't prefix for widgets that aren't DOM-based
+ widgetEventPrefix: existingConstructor ? basePrototype.widgetEventPrefix : name
+ }, proxiedPrototype, {
+ constructor: constructor,
+ namespace: namespace,
+ widgetName: name,
+ widgetFullName: fullName
+ });
+
+ // If this widget is being redefined then we need to find all widgets that
+ // are inheriting from it and redefine all of them so that they inherit from
+ // the new version of this widget. We're essentially trying to replace one
+ // level in the prototype chain.
+ if ( existingConstructor ) {
+ $.each( existingConstructor._childConstructors, function( i, child ) {
+ var childPrototype = child.prototype;
+
+ // redefine the child widget using the same prototype that was
+ // originally used, but inherit from the new version of the base
+ $.widget( childPrototype.namespace + "." + childPrototype.widgetName, constructor, child._proto );
+ });
+ // remove the list of existing child constructors from the old constructor
+ // so the old child constructors can be garbage collected
+ delete existingConstructor._childConstructors;
+ } else {
+ base._childConstructors.push( constructor );
+ }
+
+ $.widget.bridge( name, constructor );
+};
+
+$.widget.extend = function( target ) {
+ var input = slice.call( arguments, 1 ),
+ inputIndex = 0,
+ inputLength = input.length,
+ key,
+ value;
+ for ( ; inputIndex < inputLength; inputIndex++ ) {
+ for ( key in input[ inputIndex ] ) {
+ value = input[ inputIndex ][ key ];
+ if ( input[ inputIndex ].hasOwnProperty( key ) && value !== undefined ) {
+ // Clone objects
+ if ( $.isPlainObject( value ) ) {
+ target[ key ] = $.isPlainObject( target[ key ] ) ?
+ $.widget.extend( {}, target[ key ], value ) :
+ // Don't extend strings, arrays, etc. with objects
+ $.widget.extend( {}, value );
+ // Copy everything else by reference
+ } else {
+ target[ key ] = value;
+ }
+ }
+ }
+ }
+ return target;
+};
+
+$.widget.bridge = function( name, object ) {
+ var fullName = object.prototype.widgetFullName || name;
+ $.fn[ name ] = function( options ) {
+ var isMethodCall = typeof options === "string",
+ args = slice.call( arguments, 1 ),
+ returnValue = this;
+
+ // allow multiple hashes to be passed on init
+ options = !isMethodCall && args.length ?
+ $.widget.extend.apply( null, [ options ].concat(args) ) :
+ options;
+
+ if ( isMethodCall ) {
+ this.each(function() {
+ var methodValue,
+ instance = $.data( this, fullName );
+ if ( !instance ) {
+ return $.error( "cannot call methods on " + name + " prior to initialization; " +
+ "attempted to call method '" + options + "'" );
+ }
+ if ( !$.isFunction( instance[options] ) || options.charAt( 0 ) === "_" ) {
+ return $.error( "no such method '" + options + "' for " + name + " widget instance" );
+ }
+ methodValue = instance[ options ].apply( instance, args );
+ if ( methodValue !== instance && methodValue !== undefined ) {
+ returnValue = methodValue && methodValue.jquery ?
+ returnValue.pushStack( methodValue.get() ) :
+ methodValue;
+ return false;
+ }
+ });
+ } else {
+ this.each(function() {
+ var instance = $.data( this, fullName );
+ if ( instance ) {
+ instance.option( options || {} )._init();
+ } else {
+ $.data( this, fullName, new object( options, this ) );
+ }
+ });
+ }
+
+ return returnValue;
+ };
+};
+
+$.Widget = function( /* options, element */ ) {};
+$.Widget._childConstructors = [];
+
+$.Widget.prototype = {
+ widgetName: "widget",
+ widgetEventPrefix: "",
+ defaultElement: "<div>",
+ options: {
+ disabled: false,
+
+ // callbacks
+ create: null
+ },
+ _createWidget: function( options, element ) {
+ element = $( element || this.defaultElement || this )[ 0 ];
+ this.element = $( element );
+ this.uuid = uuid++;
+ this.eventNamespace = "." + this.widgetName + this.uuid;
+ this.options = $.widget.extend( {},
+ this.options,
+ this._getCreateOptions(),
+ options );
+
+ this.bindings = $();
+ this.hoverable = $();
+ this.focusable = $();
+
+ if ( element !== this ) {
+ $.data( element, this.widgetFullName, this );
+ this._on( true, this.element, {
+ remove: function( event ) {
+ if ( event.target === element ) {
+ this.destroy();
+ }
+ }
+ });
+ this.document = $( element.style ?
+ // element within the document
+ element.ownerDocument :
+ // element is window or document
+ element.document || element );
+ this.window = $( this.document[0].defaultView || this.document[0].parentWindow );
+ }
+
+ this._create();
+ this._trigger( "create", null, this._getCreateEventData() );
+ this._init();
+ },
+ _getCreateOptions: $.noop,
+ _getCreateEventData: $.noop,
+ _create: $.noop,
+ _init: $.noop,
+
+ destroy: function() {
+ this._destroy();
+ // we can probably remove the unbind calls in 2.0
+ // all event bindings should go through this._on()
+ this.element
+ .unbind( this.eventNamespace )
+ // 1.9 BC for #7810
+ // TODO remove dual storage
+ .removeData( this.widgetName )
+ .removeData( this.widgetFullName )
+ // support: jquery <1.6.3
+ // http://bugs.jquery.com/ticket/9413
+ .removeData( $.camelCase( this.widgetFullName ) );
+ this.widget()
+ .unbind( this.eventNamespace )
+ .removeAttr( "aria-disabled" )
+ .removeClass(
+ this.widgetFullName + "-disabled " +
+ "ui-state-disabled" );
+
+ // clean up events and states
+ this.bindings.unbind( this.eventNamespace );
+ this.hoverable.removeClass( "ui-state-hover" );
+ this.focusable.removeClass( "ui-state-focus" );
+ },
+ _destroy: $.noop,
+
+ widget: function() {
+ return this.element;
+ },
+
+ option: function( key, value ) {
+ var options = key,
+ parts,
+ curOption,
+ i;
+
+ if ( arguments.length === 0 ) {
+ // don't return a reference to the internal hash
+ return $.widget.extend( {}, this.options );
+ }
+
+ if ( typeof key === "string" ) {
+ // handle nested keys, e.g., "foo.bar" => { foo: { bar: ___ } }
+ options = {};
+ parts = key.split( "." );
+ key = parts.shift();
+ if ( parts.length ) {
+ curOption = options[ key ] = $.widget.extend( {}, this.options[ key ] );
+ for ( i = 0; i < parts.length - 1; i++ ) {
+ curOption[ parts[ i ] ] = curOption[ parts[ i ] ] || {};
+ curOption = curOption[ parts[ i ] ];
+ }
+ key = parts.pop();
+ if ( value === undefined ) {
+ return curOption[ key ] === undefined ? null : curOption[ key ];
+ }
+ curOption[ key ] = value;
+ } else {
+ if ( value === undefined ) {
+ return this.options[ key ] === undefined ? null : this.options[ key ];
+ }
+ options[ key ] = value;
+ }
+ }
+
+ this._setOptions( options );
+
+ return this;
+ },
+ _setOptions: function( options ) {
+ var key;
+
+ for ( key in options ) {
+ this._setOption( key, options[ key ] );
+ }
+
+ return this;
+ },
+ _setOption: function( key, value ) {
+ this.options[ key ] = value;
+
+ if ( key === "disabled" ) {
+ this.widget()
+ .toggleClass( this.widgetFullName + "-disabled ui-state-disabled", !!value )
+ .attr( "aria-disabled", value );
+ this.hoverable.removeClass( "ui-state-hover" );
+ this.focusable.removeClass( "ui-state-focus" );
+ }
+
+ return this;
+ },
+
+ enable: function() {
+ return this._setOption( "disabled", false );
+ },
+ disable: function() {
+ return this._setOption( "disabled", true );
+ },
+
+ _on: function( suppressDisabledCheck, element, handlers ) {
+ var delegateElement,
+ instance = this;
+
+ // no suppressDisabledCheck flag, shuffle arguments
+ if ( typeof suppressDisabledCheck !== "boolean" ) {
+ handlers = element;
+ element = suppressDisabledCheck;
+ suppressDisabledCheck = false;
+ }
+
+ // no element argument, shuffle and use this.element
+ if ( !handlers ) {
+ handlers = element;
+ element = this.element;
+ delegateElement = this.widget();
+ } else {
+ // accept selectors, DOM elements
+ element = delegateElement = $( element );
+ this.bindings = this.bindings.add( element );
+ }
+
+ $.each( handlers, function( event, handler ) {
+ function handlerProxy() {
+ // allow widgets to customize the disabled handling
+ // - disabled as an array instead of boolean
+ // - disabled class as method for disabling individual parts
+ if ( !suppressDisabledCheck &&
+ ( instance.options.disabled === true ||
+ $( this ).hasClass( "ui-state-disabled" ) ) ) {
+ return;
+ }
+ return ( typeof handler === "string" ? instance[ handler ] : handler )
+ .apply( instance, arguments );
+ }
+
+ // copy the guid so direct unbinding works
+ if ( typeof handler !== "string" ) {
+ handlerProxy.guid = handler.guid =
+ handler.guid || handlerProxy.guid || $.guid++;
+ }
+
+ var match = event.match( /^(\w+)\s*(.*)$/ ),
+ eventName = match[1] + instance.eventNamespace,
+ selector = match[2];
+ if ( selector ) {
+ delegateElement.delegate( selector, eventName, handlerProxy );
+ } else {
+ element.bind( eventName, handlerProxy );
+ }
+ });
+ },
+
+ _off: function( element, eventName ) {
+ eventName = (eventName || "").split( " " ).join( this.eventNamespace + " " ) + this.eventNamespace;
+ element.unbind( eventName ).undelegate( eventName );
+ },
+
+ _delay: function( handler, delay ) {
+ function handlerProxy() {
+ return ( typeof handler === "string" ? instance[ handler ] : handler )
+ .apply( instance, arguments );
+ }
+ var instance = this;
+ return setTimeout( handlerProxy, delay || 0 );
+ },
+
+ _hoverable: function( element ) {
+ this.hoverable = this.hoverable.add( element );
+ this._on( element, {
+ mouseenter: function( event ) {
+ $( event.currentTarget ).addClass( "ui-state-hover" );
+ },
+ mouseleave: function( event ) {
+ $( event.currentTarget ).removeClass( "ui-state-hover" );
+ }
+ });
+ },
+
+ _focusable: function( element ) {
+ this.focusable = this.focusable.add( element );
+ this._on( element, {
+ focusin: function( event ) {
+ $( event.currentTarget ).addClass( "ui-state-focus" );
+ },
+ focusout: function( event ) {
+ $( event.currentTarget ).removeClass( "ui-state-focus" );
+ }
+ });
+ },
+
+ _trigger: function( type, event, data ) {
+ var prop, orig,
+ callback = this.options[ type ];
+
+ data = data || {};
+ event = $.Event( event );
+ event.type = ( type === this.widgetEventPrefix ?
+ type :
+ this.widgetEventPrefix + type ).toLowerCase();
+ // the original event may come from any element
+ // so we need to reset the target on the new event
+ event.target = this.element[ 0 ];
+
+ // copy original event properties over to the new event
+ orig = event.originalEvent;
+ if ( orig ) {
+ for ( prop in orig ) {
+ if ( !( prop in event ) ) {
+ event[ prop ] = orig[ prop ];
+ }
+ }
+ }
+
+ this.element.trigger( event, data );
+ return !( $.isFunction( callback ) &&
+ callback.apply( this.element[0], [ event ].concat( data ) ) === false ||
+ event.isDefaultPrevented() );
+ }
+};
+
+$.each( { show: "fadeIn", hide: "fadeOut" }, function( method, defaultEffect ) {
+ $.Widget.prototype[ "_" + method ] = function( element, options, callback ) {
+ if ( typeof options === "string" ) {
+ options = { effect: options };
+ }
+ var hasOptions,
+ effectName = !options ?
+ method :
+ options === true || typeof options === "number" ?
+ defaultEffect :
+ options.effect || defaultEffect;
+ options = options || {};
+ if ( typeof options === "number" ) {
+ options = { duration: options };
+ }
+ hasOptions = !$.isEmptyObject( options );
+ options.complete = callback;
+ if ( options.delay ) {
+ element.delay( options.delay );
+ }
+ if ( hasOptions && $.effects && $.effects.effect[ effectName ] ) {
+ element[ method ]( options );
+ } else if ( effectName !== method && element[ effectName ] ) {
+ element[ effectName ]( options.duration, options.easing, callback );
+ } else {
+ element.queue(function( next ) {
+ $( this )[ method ]();
+ if ( callback ) {
+ callback.call( element[ 0 ] );
+ }
+ next();
+ });
+ }
+ };
+});
+
+})( jQuery );
+(function( $, undefined ) {
+
+var mouseHandled = false;
+$( document ).mouseup( function() {
+ mouseHandled = false;
+});
+
+$.widget("ui.mouse", {
+ version: "1.10.0",
+ options: {
+ cancel: "input,textarea,button,select,option",
+ distance: 1,
+ delay: 0
+ },
+ _mouseInit: function() {
+ var that = this;
+
+ this.element
+ .bind("mousedown."+this.widgetName, function(event) {
+ return that._mouseDown(event);
+ })
+ .bind("click."+this.widgetName, function(event) {
+ if (true === $.data(event.target, that.widgetName + ".preventClickEvent")) {
+ $.removeData(event.target, that.widgetName + ".preventClickEvent");
+ event.stopImmediatePropagation();
+ return false;
+ }
+ });
+
+ this.started = false;
+ },
+
+ // TODO: make sure destroying one instance of mouse doesn't mess with
+ // other instances of mouse
+ _mouseDestroy: function() {
+ this.element.unbind("."+this.widgetName);
+ if ( this._mouseMoveDelegate ) {
+ $(document)
+ .unbind("mousemove."+this.widgetName, this._mouseMoveDelegate)
+ .unbind("mouseup."+this.widgetName, this._mouseUpDelegate);
+ }
+ },
+
+ _mouseDown: function(event) {
+ // don't let more than one widget handle mouseStart
+ if( mouseHandled ) { return; }
+
+ // we may have missed mouseup (out of window)
+ (this._mouseStarted && this._mouseUp(event));
+
+ this._mouseDownEvent = event;
+
+ var that = this,
+ btnIsLeft = (event.which === 1),
+ // event.target.nodeName works around a bug in IE 8 with
+ // disabled inputs (#7620)
+ elIsCancel = (typeof this.options.cancel === "string" && event.target.nodeName ? $(event.target).closest(this.options.cancel).length : false);
+ if (!btnIsLeft || elIsCancel || !this._mouseCapture(event)) {
+ return true;
+ }
+
+ this.mouseDelayMet = !this.options.delay;
+ if (!this.mouseDelayMet) {
+ this._mouseDelayTimer = setTimeout(function() {
+ that.mouseDelayMet = true;
+ }, this.options.delay);
+ }
+
+ if (this._mouseDistanceMet(event) && this._mouseDelayMet(event)) {
+ this._mouseStarted = (this._mouseStart(event) !== false);
+ if (!this._mouseStarted) {
+ event.preventDefault();
+ return true;
+ }
+ }
+
+ // Click event may never have fired (Gecko & Opera)
+ if (true === $.data(event.target, this.widgetName + ".preventClickEvent")) {
+ $.removeData(event.target, this.widgetName + ".preventClickEvent");
+ }
+
+ // these delegates are required to keep context
+ this._mouseMoveDelegate = function(event) {
+ return that._mouseMove(event);
+ };
+ this._mouseUpDelegate = function(event) {
+ return that._mouseUp(event);
+ };
+ $(document)
+ .bind("mousemove."+this.widgetName, this._mouseMoveDelegate)
+ .bind("mouseup."+this.widgetName, this._mouseUpDelegate);
+
+ event.preventDefault();
+
+ mouseHandled = true;
+ return true;
+ },
+
+ _mouseMove: function(event) {
+ // IE mouseup check - mouseup happened when mouse was out of window
+ if ($.ui.ie && ( !document.documentMode || document.documentMode < 9 ) && !event.button) {
+ return this._mouseUp(event);
+ }
+
+ if (this._mouseStarted) {
+ this._mouseDrag(event);
+ return event.preventDefault();
+ }
+
+ if (this._mouseDistanceMet(event) && this._mouseDelayMet(event)) {
+ this._mouseStarted =
+ (this._mouseStart(this._mouseDownEvent, event) !== false);
+ (this._mouseStarted ? this._mouseDrag(event) : this._mouseUp(event));
+ }
+
+ return !this._mouseStarted;
+ },
+
+ _mouseUp: function(event) {
+ $(document)
+ .unbind("mousemove."+this.widgetName, this._mouseMoveDelegate)
+ .unbind("mouseup."+this.widgetName, this._mouseUpDelegate);
+
+ if (this._mouseStarted) {
+ this._mouseStarted = false;
+
+ if (event.target === this._mouseDownEvent.target) {
+ $.data(event.target, this.widgetName + ".preventClickEvent", true);
+ }
+
+ this._mouseStop(event);
+ }
+
+ return false;
+ },
+
+ _mouseDistanceMet: function(event) {
+ return (Math.max(
+ Math.abs(this._mouseDownEvent.pageX - event.pageX),
+ Math.abs(this._mouseDownEvent.pageY - event.pageY)
+ ) >= this.options.distance
+ );
+ },
+
+ _mouseDelayMet: function(/* event */) {
+ return this.mouseDelayMet;
+ },
+
+ // These are placeholder methods, to be overriden by extending plugin
+ _mouseStart: function(/* event */) {},
+ _mouseDrag: function(/* event */) {},
+ _mouseStop: function(/* event */) {},
+ _mouseCapture: function(/* event */) { return true; }
+});
+
+})(jQuery);
+(function( $, undefined ) {
+
+$.ui = $.ui || {};
+
+var cachedScrollbarWidth,
+ max = Math.max,
+ abs = Math.abs,
+ round = Math.round,
+ rhorizontal = /left|center|right/,
+ rvertical = /top|center|bottom/,
+ roffset = /[\+\-]\d+%?/,
+ rposition = /^\w+/,
+ rpercent = /%$/,
+ _position = $.fn.position;
+
+function getOffsets( offsets, width, height ) {
+ return [
+ parseInt( offsets[ 0 ], 10 ) * ( rpercent.test( offsets[ 0 ] ) ? width / 100 : 1 ),
+ parseInt( offsets[ 1 ], 10 ) * ( rpercent.test( offsets[ 1 ] ) ? height / 100 : 1 )
+ ];
+}
+
+function parseCss( element, property ) {
+ return parseInt( $.css( element, property ), 10 ) || 0;
+}
+
+function getDimensions( elem ) {
+ var raw = elem[0];
+ if ( raw.nodeType === 9 ) {
+ return {
+ width: elem.width(),
+ height: elem.height(),
+ offset: { top: 0, left: 0 }
+ };
+ }
+ if ( $.isWindow( raw ) ) {
+ return {
+ width: elem.width(),
+ height: elem.height(),
+ offset: { top: elem.scrollTop(), left: elem.scrollLeft() }
+ };
+ }
+ if ( raw.preventDefault ) {
+ return {
+ width: 0,
+ height: 0,
+ offset: { top: raw.pageY, left: raw.pageX }
+ };
+ }
+ return {
+ width: elem.outerWidth(),
+ height: elem.outerHeight(),
+ offset: elem.offset()
+ };
+}
+
+$.position = {
+ scrollbarWidth: function() {
+ if ( cachedScrollbarWidth !== undefined ) {
+ return cachedScrollbarWidth;
+ }
+ var w1, w2,
+ div = $( "<div style='display:block;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>" ),
+ innerDiv = div.children()[0];
+
+ $( "body" ).append( div );
+ w1 = innerDiv.offsetWidth;
+ div.css( "overflow", "scroll" );
+
+ w2 = innerDiv.offsetWidth;
+
+ if ( w1 === w2 ) {
+ w2 = div[0].clientWidth;
+ }
+
+ div.remove();
+
+ return (cachedScrollbarWidth = w1 - w2);
+ },
+ getScrollInfo: function( within ) {
+ var overflowX = within.isWindow ? "" : within.element.css( "overflow-x" ),
+ overflowY = within.isWindow ? "" : within.element.css( "overflow-y" ),
+ hasOverflowX = overflowX === "scroll" ||
+ ( overflowX === "auto" && within.width < within.element[0].scrollWidth ),
+ hasOverflowY = overflowY === "scroll" ||
+ ( overflowY === "auto" && within.height < within.element[0].scrollHeight );
+ return {
+ width: hasOverflowX ? $.position.scrollbarWidth() : 0,
+ height: hasOverflowY ? $.position.scrollbarWidth() : 0
+ };
+ },
+ getWithinInfo: function( element ) {
+ var withinElement = $( element || window ),
+ isWindow = $.isWindow( withinElement[0] );
+ return {
+ element: withinElement,
+ isWindow: isWindow,
+ offset: withinElement.offset() || { left: 0, top: 0 },
+ scrollLeft: withinElement.scrollLeft(),
+ scrollTop: withinElement.scrollTop(),
+ width: isWindow ? withinElement.width() : withinElement.outerWidth(),
+ height: isWindow ? withinElement.height() : withinElement.outerHeight()
+ };
+ }
+};
+
+$.fn.position = function( options ) {
+ if ( !options || !options.of ) {
+ return _position.apply( this, arguments );
+ }
+
+ // make a copy, we don't want to modify arguments
+ options = $.extend( {}, options );
+
+ var atOffset, targetWidth, targetHeight, targetOffset, basePosition, dimensions,
+ target = $( options.of ),
+ within = $.position.getWithinInfo( options.within ),
+ scrollInfo = $.position.getScrollInfo( within ),
+ collision = ( options.collision || "flip" ).split( " " ),
+ offsets = {};
+
+ dimensions = getDimensions( target );
+ if ( target[0].preventDefault ) {
+ // force left top to allow flipping
+ options.at = "left top";
+ }
+ targetWidth = dimensions.width;
+ targetHeight = dimensions.height;
+ targetOffset = dimensions.offset;
+ // clone to reuse original targetOffset later
+ basePosition = $.extend( {}, targetOffset );
+
+ // force my and at to have valid horizontal and vertical positions
+ // if a value is missing or invalid, it will be converted to center
+ $.each( [ "my", "at" ], function() {
+ var pos = ( options[ this ] || "" ).split( " " ),
+ horizontalOffset,
+ verticalOffset;
+
+ if ( pos.length === 1) {
+ pos = rhorizontal.test( pos[ 0 ] ) ?
+ pos.concat( [ "center" ] ) :
+ rvertical.test( pos[ 0 ] ) ?
+ [ "center" ].concat( pos ) :
+ [ "center", "center" ];
+ }
+ pos[ 0 ] = rhorizontal.test( pos[ 0 ] ) ? pos[ 0 ] : "center";
+ pos[ 1 ] = rvertical.test( pos[ 1 ] ) ? pos[ 1 ] : "center";
+
+ // calculate offsets
+ horizontalOffset = roffset.exec( pos[ 0 ] );
+ verticalOffset = roffset.exec( pos[ 1 ] );
+ offsets[ this ] = [
+ horizontalOffset ? horizontalOffset[ 0 ] : 0,
+ verticalOffset ? verticalOffset[ 0 ] : 0
+ ];
+
+ // reduce to just the positions without the offsets
+ options[ this ] = [
+ rposition.exec( pos[ 0 ] )[ 0 ],
+ rposition.exec( pos[ 1 ] )[ 0 ]
+ ];
+ });
+
+ // normalize collision option
+ if ( collision.length === 1 ) {
+ collision[ 1 ] = collision[ 0 ];
+ }
+
+ if ( options.at[ 0 ] === "right" ) {
+ basePosition.left += targetWidth;
+ } else if ( options.at[ 0 ] === "center" ) {
+ basePosition.left += targetWidth / 2;
+ }
+
+ if ( options.at[ 1 ] === "bottom" ) {
+ basePosition.top += targetHeight;
+ } else if ( options.at[ 1 ] === "center" ) {
+ basePosition.top += targetHeight / 2;
+ }
+
+ atOffset = getOffsets( offsets.at, targetWidth, targetHeight );
+ basePosition.left += atOffset[ 0 ];
+ basePosition.top += atOffset[ 1 ];
+
+ return this.each(function() {
+ var collisionPosition, using,
+ elem = $( this ),
+ elemWidth = elem.outerWidth(),
+ elemHeight = elem.outerHeight(),
+ marginLeft = parseCss( this, "marginLeft" ),
+ marginTop = parseCss( this, "marginTop" ),
+ collisionWidth = elemWidth + marginLeft + parseCss( this, "marginRight" ) + scrollInfo.width,
+ collisionHeight = elemHeight + marginTop + parseCss( this, "marginBottom" ) + scrollInfo.height,
+ position = $.extend( {}, basePosition ),
+ myOffset = getOffsets( offsets.my, elem.outerWidth(), elem.outerHeight() );
+
+ if ( options.my[ 0 ] === "right" ) {
+ position.left -= elemWidth;
+ } else if ( options.my[ 0 ] === "center" ) {
+ position.left -= elemWidth / 2;
+ }
+
+ if ( options.my[ 1 ] === "bottom" ) {
+ position.top -= elemHeight;
+ } else if ( options.my[ 1 ] === "center" ) {
+ position.top -= elemHeight / 2;
+ }
+
+ position.left += myOffset[ 0 ];
+ position.top += myOffset[ 1 ];
+
+ // if the browser doesn't support fractions, then round for consistent results
+ if ( !$.support.offsetFractions ) {
+ position.left = round( position.left );
+ position.top = round( position.top );
+ }
+
+ collisionPosition = {
+ marginLeft: marginLeft,
+ marginTop: marginTop
+ };
+
+ $.each( [ "left", "top" ], function( i, dir ) {
+ if ( $.ui.position[ collision[ i ] ] ) {
+ $.ui.position[ collision[ i ] ][ dir ]( position, {
+ targetWidth: targetWidth,
+ targetHeight: targetHeight,
+ elemWidth: elemWidth,
+ elemHeight: elemHeight,
+ collisionPosition: collisionPosition,
+ collisionWidth: collisionWidth,
+ collisionHeight: collisionHeight,
+ offset: [ atOffset[ 0 ] + myOffset[ 0 ], atOffset [ 1 ] + myOffset[ 1 ] ],
+ my: options.my,
+ at: options.at,
+ within: within,
+ elem : elem
+ });
+ }
+ });
+
+ if ( options.using ) {
+ // adds feedback as second argument to using callback, if present
+ using = function( props ) {
+ var left = targetOffset.left - position.left,
+ right = left + targetWidth - elemWidth,
+ top = targetOffset.top - position.top,
+ bottom = top + targetHeight - elemHeight,
+ feedback = {
+ target: {
+ element: target,
+ left: targetOffset.left,
+ top: targetOffset.top,
+ width: targetWidth,
+ height: targetHeight
+ },
+ element: {
+ element: elem,
+ left: position.left,
+ top: position.top,
+ width: elemWidth,
+ height: elemHeight
+ },
+ horizontal: right < 0 ? "left" : left > 0 ? "right" : "center",
+ vertical: bottom < 0 ? "top" : top > 0 ? "bottom" : "middle"
+ };
+ if ( targetWidth < elemWidth && abs( left + right ) < targetWidth ) {
+ feedback.horizontal = "center";
+ }
+ if ( targetHeight < elemHeight && abs( top + bottom ) < targetHeight ) {
+ feedback.vertical = "middle";
+ }
+ if ( max( abs( left ), abs( right ) ) > max( abs( top ), abs( bottom ) ) ) {
+ feedback.important = "horizontal";
+ } else {
+ feedback.important = "vertical";
+ }
+ options.using.call( this, props, feedback );
+ };
+ }
+
+ elem.offset( $.extend( position, { using: using } ) );
+ });
+};
+
+$.ui.position = {
+ fit: {
+ left: function( position, data ) {
+ var within = data.within,
+ withinOffset = within.isWindow ? within.scrollLeft : within.offset.left,
+ outerWidth = within.width,
+ collisionPosLeft = position.left - data.collisionPosition.marginLeft,
+ overLeft = withinOffset - collisionPosLeft,
+ overRight = collisionPosLeft + data.collisionWidth - outerWidth - withinOffset,
+ newOverRight;
+
+ // element is wider than within
+ if ( data.collisionWidth > outerWidth ) {
+ // element is initially over the left side of within
+ if ( overLeft > 0 && overRight <= 0 ) {
+ newOverRight = position.left + overLeft + data.collisionWidth - outerWidth - withinOffset;
+ position.left += overLeft - newOverRight;
+ // element is initially over right side of within
+ } else if ( overRight > 0 && overLeft <= 0 ) {
+ position.left = withinOffset;
+ // element is initially over both left and right sides of within
+ } else {
+ if ( overLeft > overRight ) {
+ position.left = withinOffset + outerWidth - data.collisionWidth;
+ } else {
+ position.left = withinOffset;
+ }
+ }
+ // too far left -> align with left edge
+ } else if ( overLeft > 0 ) {
+ position.left += overLeft;
+ // too far right -> align with right edge
+ } else if ( overRight > 0 ) {
+ position.left -= overRight;
+ // adjust based on position and margin
+ } else {
+ position.left = max( position.left - collisionPosLeft, position.left );
+ }
+ },
+ top: function( position, data ) {
+ var within = data.within,
+ withinOffset = within.isWindow ? within.scrollTop : within.offset.top,
+ outerHeight = data.within.height,
+ collisionPosTop = position.top - data.collisionPosition.marginTop,
+ overTop = withinOffset - collisionPosTop,
+ overBottom = collisionPosTop + data.collisionHeight - outerHeight - withinOffset,
+ newOverBottom;
+
+ // element is taller than within
+ if ( data.collisionHeight > outerHeight ) {
+ // element is initially over the top of within
+ if ( overTop > 0 && overBottom <= 0 ) {
+ newOverBottom = position.top + overTop + data.collisionHeight - outerHeight - withinOffset;
+ position.top += overTop - newOverBottom;
+ // element is initially over bottom of within
+ } else if ( overBottom > 0 && overTop <= 0 ) {
+ position.top = withinOffset;
+ // element is initially over both top and bottom of within
+ } else {
+ if ( overTop > overBottom ) {
+ position.top = withinOffset + outerHeight - data.collisionHeight;
+ } else {
+ position.top = withinOffset;
+ }
+ }
+ // too far up -> align with top
+ } else if ( overTop > 0 ) {
+ position.top += overTop;
+ // too far down -> align with bottom edge
+ } else if ( overBottom > 0 ) {
+ position.top -= overBottom;
+ // adjust based on position and margin
+ } else {
+ position.top = max( position.top - collisionPosTop, position.top );
+ }
+ }
+ },
+ flip: {
+ left: function( position, data ) {
+ var within = data.within,
+ withinOffset = within.offset.left + within.scrollLeft,
+ outerWidth = within.width,
+ offsetLeft = within.isWindow ? within.scrollLeft : within.offset.left,
+ collisionPosLeft = position.left - data.collisionPosition.marginLeft,
+ overLeft = collisionPosLeft - offsetLeft,
+ overRight = collisionPosLeft + data.collisionWidth - outerWidth - offsetLeft,
+ myOffset = data.my[ 0 ] === "left" ?
+ -data.elemWidth :
+ data.my[ 0 ] === "right" ?
+ data.elemWidth :
+ 0,
+ atOffset = data.at[ 0 ] === "left" ?
+ data.targetWidth :
+ data.at[ 0 ] === "right" ?
+ -data.targetWidth :
+ 0,
+ offset = -2 * data.offset[ 0 ],
+ newOverRight,
+ newOverLeft;
+
+ if ( overLeft < 0 ) {
+ newOverRight = position.left + myOffset + atOffset + offset + data.collisionWidth - outerWidth - withinOffset;
+ if ( newOverRight < 0 || newOverRight < abs( overLeft ) ) {
+ position.left += myOffset + atOffset + offset;
+ }
+ }
+ else if ( overRight > 0 ) {
+ newOverLeft = position.left - data.collisionPosition.marginLeft + myOffset + atOffset + offset - offsetLeft;
+ if ( newOverLeft > 0 || abs( newOverLeft ) < overRight ) {
+ position.left += myOffset + atOffset + offset;
+ }
+ }
+ },
+ top: function( position, data ) {
+ var within = data.within,
+ withinOffset = within.offset.top + within.scrollTop,
+ outerHeight = within.height,
+ offsetTop = within.isWindow ? within.scrollTop : within.offset.top,
+ collisionPosTop = position.top - data.collisionPosition.marginTop,
+ overTop = collisionPosTop - offsetTop,
+ overBottom = collisionPosTop + data.collisionHeight - outerHeight - offsetTop,
+ top = data.my[ 1 ] === "top",
+ myOffset = top ?
+ -data.elemHeight :
+ data.my[ 1 ] === "bottom" ?
+ data.elemHeight :
+ 0,
+ atOffset = data.at[ 1 ] === "top" ?
+ data.targetHeight :
+ data.at[ 1 ] === "bottom" ?
+ -data.targetHeight :
+ 0,
+ offset = -2 * data.offset[ 1 ],
+ newOverTop,
+ newOverBottom;
+ if ( overTop < 0 ) {
+ newOverBottom = position.top + myOffset + atOffset + offset + data.collisionHeight - outerHeight - withinOffset;
+ if ( ( position.top + myOffset + atOffset + offset) > overTop && ( newOverBottom < 0 || newOverBottom < abs( overTop ) ) ) {
+ position.top += myOffset + atOffset + offset;
+ }
+ }
+ else if ( overBottom > 0 ) {
+ newOverTop = position.top - data.collisionPosition.marginTop + myOffset + atOffset + offset - offsetTop;
+ if ( ( position.top + myOffset + atOffset + offset) > overBottom && ( newOverTop > 0 || abs( newOverTop ) < overBottom ) ) {
+ position.top += myOffset + atOffset + offset;
+ }
+ }
+ }
+ },
+ flipfit: {
+ left: function() {
+ $.ui.position.flip.left.apply( this, arguments );
+ $.ui.position.fit.left.apply( this, arguments );
+ },
+ top: function() {
+ $.ui.position.flip.top.apply( this, arguments );
+ $.ui.position.fit.top.apply( this, arguments );
+ }
+ }
+};
+
+// fraction support test
+(function () {
+ var testElement, testElementParent, testElementStyle, offsetLeft, i,
+ body = document.getElementsByTagName( "body" )[ 0 ],
+ div = document.createElement( "div" );
+
+ //Create a "fake body" for testing based on method used in jQuery.support
+ testElement = document.createElement( body ? "div" : "body" );
+ testElementStyle = {
+ visibility: "hidden",
+ width: 0,
+ height: 0,
+ border: 0,
+ margin: 0,
+ background: "none"
+ };
+ if ( body ) {
+ $.extend( testElementStyle, {
+ position: "absolute",
+ left: "-1000px",
+ top: "-1000px"
+ });
+ }
+ for ( i in testElementStyle ) {
+ testElement.style[ i ] = testElementStyle[ i ];
+ }
+ testElement.appendChild( div );
+ testElementParent = body || document.documentElement;
+ testElementParent.insertBefore( testElement, testElementParent.firstChild );
+
+ div.style.cssText = "position: absolute; left: 10.7432222px;";
+
+ offsetLeft = $( div ).offset().left;
+ $.support.offsetFractions = offsetLeft > 10 && offsetLeft < 11;
+
+ testElement.innerHTML = "";
+ testElementParent.removeChild( testElement );
+})();
+
+}( jQuery ) );
+(function( $, undefined ) {
+
+$.widget("ui.draggable", $.ui.mouse, {
+ version: "1.10.0",
+ widgetEventPrefix: "drag",
+ options: {
+ addClasses: true,
+ appendTo: "parent",
+ axis: false,
+ connectToSortable: false,
+ containment: false,
+ cursor: "auto",
+ cursorAt: false,
+ grid: false,
+ handle: false,
+ helper: "original",
+ iframeFix: false,
+ opacity: false,
+ refreshPositions: false,
+ revert: false,
+ revertDuration: 500,
+ scope: "default",
+ scroll: true,
+ scrollSensitivity: 20,
+ scrollSpeed: 20,
+ snap: false,
+ snapMode: "both",
+ snapTolerance: 20,
+ stack: false,
+ zIndex: false,
+
+ // callbacks
+ drag: null,
+ start: null,
+ stop: null
+ },
+ _create: function() {
+
+ if (this.options.helper === "original" && !(/^(?:r|a|f)/).test(this.element.css("position"))) {
+ this.element[0].style.position = "relative";
+ }
+ if (this.options.addClasses){
+ this.element.addClass("ui-draggable");
+ }
+ if (this.options.disabled){
+ this.element.addClass("ui-draggable-disabled");
+ }
+
+ this._mouseInit();
+
+ },
+
+ _destroy: function() {
+ this.element.removeClass( "ui-draggable ui-draggable-dragging ui-draggable-disabled" );
+ this._mouseDestroy();
+ },
+
+ _mouseCapture: function(event) {
+
+ var o = this.options;
+
+ // among others, prevent a drag on a resizable-handle
+ if (this.helper || o.disabled || $(event.target).closest(".ui-resizable-handle").length > 0) {
+ return false;
+ }
+
+ //Quit if we're not on a valid handle
+ this.handle = this._getHandle(event);
+ if (!this.handle) {
+ return false;
+ }
+
+ $(o.iframeFix === true ? "iframe" : o.iframeFix).each(function() {
+ $("<div class='ui-draggable-iframeFix' style='background: #fff;'></div>")
+ .css({
+ width: this.offsetWidth+"px", height: this.offsetHeight+"px",
+ position: "absolute", opacity: "0.001", zIndex: 1000
+ })
+ .css($(this).offset())
+ .appendTo("body");
+ });
+
+ return true;
+
+ },
+
+ _mouseStart: function(event) {
+
+ var o = this.options;
+
+ //Create and append the visible helper
+ this.helper = this._createHelper(event);
+
+ this.helper.addClass("ui-draggable-dragging");
+
+ //Cache the helper size
+ this._cacheHelperProportions();
+
+ //If ddmanager is used for droppables, set the global draggable
+ if($.ui.ddmanager) {
+ $.ui.ddmanager.current = this;
+ }
+
+ /*
+ * - Position generation -
+ * This block generates everything position related - it's the core of draggables.
+ */
+
+ //Cache the margins of the original element
+ this._cacheMargins();
+
+ //Store the helper's css position
+ this.cssPosition = this.helper.css("position");
+ this.scrollParent = this.helper.scrollParent();
+
+ //The element's absolute position on the page minus margins
+ this.offset = this.positionAbs = this.element.offset();
+ this.offset = {
+ top: this.offset.top - this.margins.top,
+ left: this.offset.left - this.margins.left
+ };
+
+ $.extend(this.offset, {
+ click: { //Where the click happened, relative to the element
+ left: event.pageX - this.offset.left,
+ top: event.pageY - this.offset.top
+ },
+ parent: this._getParentOffset(),
+ relative: this._getRelativeOffset() //This is a relative to absolute position minus the actual position calculation - only used for relative positioned helper
+ });
+
+ //Generate the original position
+ this.originalPosition = this.position = this._generatePosition(event);
+ this.originalPageX = event.pageX;
+ this.originalPageY = event.pageY;
+
+ //Adjust the mouse offset relative to the helper if "cursorAt" is supplied
+ (o.cursorAt && this._adjustOffsetFromHelper(o.cursorAt));
+
+ //Set a containment if given in the options
+ if(o.containment) {
+ this._setContainment();
+ }
+
+ //Trigger event + callbacks
+ if(this._trigger("start", event) === false) {
+ this._clear();
+ return false;
+ }
+
+ //Recache the helper size
+ this._cacheHelperProportions();
+
+ //Prepare the droppable offsets
+ if ($.ui.ddmanager && !o.dropBehaviour) {
+ $.ui.ddmanager.prepareOffsets(this, event);
+ }
+
+
+ this._mouseDrag(event, true); //Execute the drag once - this causes the helper not to be visible before getting its correct position
+
+ //If the ddmanager is used for droppables, inform the manager that dragging has started (see #5003)
+ if ( $.ui.ddmanager ) {
+ $.ui.ddmanager.dragStart(this, event);
+ }
+
+ return true;
+ },
+
+ _mouseDrag: function(event, noPropagation) {
+
+ //Compute the helpers position
+ this.position = this._generatePosition(event);
+ this.positionAbs = this._convertPositionTo("absolute");
+
+ //Call plugins and callbacks and use the resulting position if something is returned
+ if (!noPropagation) {
+ var ui = this._uiHash();
+ if(this._trigger("drag", event, ui) === false) {
+ this._mouseUp({});
+ return false;
+ }
+ this.position = ui.position;
+ }
+
+ if(!this.options.axis || this.options.axis !== "y") {
+ this.helper[0].style.left = this.position.left+"px";
+ }
+ if(!this.options.axis || this.options.axis !== "x") {
+ this.helper[0].style.top = this.position.top+"px";
+ }
+ if($.ui.ddmanager) {
+ $.ui.ddmanager.drag(this, event);
+ }
+
+ return false;
+ },
+
+ _mouseStop: function(event) {
+
+ //If we are using droppables, inform the manager about the drop
+ var element,
+ that = this,
+ elementInDom = false,
+ dropped = false;
+ if ($.ui.ddmanager && !this.options.dropBehaviour) {
+ dropped = $.ui.ddmanager.drop(this, event);
+ }
+
+ //if a drop comes from outside (a sortable)
+ if(this.dropped) {
+ dropped = this.dropped;
+ this.dropped = false;
+ }
+
+ //if the original element is no longer in the DOM don't bother to continue (see #8269)
+ element = this.element[0];
+ while ( element && (element = element.parentNode) ) {
+ if (element === document ) {
+ elementInDom = true;
+ }
+ }
+ if ( !elementInDom && this.options.helper === "original" ) {
+ return false;
+ }
+
+ if((this.options.revert === "invalid" && !dropped) || (this.options.revert === "valid" && dropped) || this.options.revert === true || ($.isFunction(this.options.revert) && this.options.revert.call(this.element, dropped))) {
+ $(this.helper).animate(this.originalPosition, parseInt(this.options.revertDuration, 10), function() {
+ if(that._trigger("stop", event) !== false) {
+ that._clear();
+ }
+ });
+ } else {
+ if(this._trigger("stop", event) !== false) {
+ this._clear();
+ }
+ }
+
+ return false;
+ },
+
+ _mouseUp: function(event) {
+ //Remove frame helpers
+ $("div.ui-draggable-iframeFix").each(function() {
+ this.parentNode.removeChild(this);
+ });
+
+ //If the ddmanager is used for droppables, inform the manager that dragging has stopped (see #5003)
+ if( $.ui.ddmanager ) {
+ $.ui.ddmanager.dragStop(this, event);
+ }
+
+ return $.ui.mouse.prototype._mouseUp.call(this, event);
+ },
+
+ cancel: function() {
+
+ if(this.helper.is(".ui-draggable-dragging")) {
+ this._mouseUp({});
+ } else {
+ this._clear();
+ }
+
+ return this;
+
+ },
+
+ _getHandle: function(event) {
+
+ var handle = !this.options.handle || !$(this.options.handle, this.element).length ? true : false;
+ $(this.options.handle, this.element)
+ .find("*")
+ .addBack()
+ .each(function() {
+ if(this === event.target) {
+ handle = true;
+ }
+ });
+
+ return handle;
+
+ },
+
+ _createHelper: function(event) {
+
+ var o = this.options,
+ helper = $.isFunction(o.helper) ? $(o.helper.apply(this.element[0], [event])) : (o.helper === "clone" ? this.element.clone().removeAttr("id") : this.element);
+
+ if(!helper.parents("body").length) {
+ helper.appendTo((o.appendTo === "parent" ? this.element[0].parentNode : o.appendTo));
+ }
+
+ if(helper[0] !== this.element[0] && !(/(fixed|absolute)/).test(helper.css("position"))) {
+ helper.css("position", "absolute");
+ }
+
+ return helper;
+
+ },
+
+ _adjustOffsetFromHelper: function(obj) {
+ if (typeof obj === "string") {
+ obj = obj.split(" ");
+ }
+ if ($.isArray(obj)) {
+ obj = {left: +obj[0], top: +obj[1] || 0};
+ }
+ if ("left" in obj) {
+ this.offset.click.left = obj.left + this.margins.left;
+ }
+ if ("right" in obj) {
+ this.offset.click.left = this.helperProportions.width - obj.right + this.margins.left;
+ }
+ if ("top" in obj) {
+ this.offset.click.top = obj.top + this.margins.top;
+ }
+ if ("bottom" in obj) {
+ this.offset.click.top = this.helperProportions.height - obj.bottom + this.margins.top;
+ }
+ },
+
+ _getParentOffset: function() {
+
+ //Get the offsetParent and cache its position
+ this.offsetParent = this.helper.offsetParent();
+ var po = this.offsetParent.offset();
+
+ // This is a special case where we need to modify a offset calculated on start, since the following happened:
+ // 1. The position of the helper is absolute, so it's position is calculated based on the next positioned parent
+ // 2. The actual offset parent is a child of the scroll parent, and the scroll parent isn't the document, which means that
+ // the scroll is included in the initial calculation of the offset of the parent, and never recalculated upon drag
+ if(this.cssPosition === "absolute" && this.scrollParent[0] !== document && $.contains(this.scrollParent[0], this.offsetParent[0])) {
+ po.left += this.scrollParent.scrollLeft();
+ po.top += this.scrollParent.scrollTop();
+ }
+
+ //This needs to be actually done for all browsers, since pageX/pageY includes this information
+ //Ugly IE fix
+ if((this.offsetParent[0] === document.body) ||
+ (this.offsetParent[0].tagName && this.offsetParent[0].tagName.toLowerCase() === "html" && $.ui.ie)) {
+ po = { top: 0, left: 0 };
+ }
+
+ return {
+ top: po.top + (parseInt(this.offsetParent.css("borderTopWidth"),10) || 0),
+ left: po.left + (parseInt(this.offsetParent.css("borderLeftWidth"),10) || 0)
+ };
+
+ },
+
+ _getRelativeOffset: function() {
+
+ if(this.cssPosition === "relative") {
+ var p = this.element.position();
+ return {
+ top: p.top - (parseInt(this.helper.css("top"),10) || 0) + this.scrollParent.scrollTop(),
+ left: p.left - (parseInt(this.helper.css("left"),10) || 0) + this.scrollParent.scrollLeft()
+ };
+ } else {
+ return { top: 0, left: 0 };
+ }
+
+ },
+
+ _cacheMargins: function() {
+ this.margins = {
+ left: (parseInt(this.element.css("marginLeft"),10) || 0),
+ top: (parseInt(this.element.css("marginTop"),10) || 0),
+ right: (parseInt(this.element.css("marginRight"),10) || 0),
+ bottom: (parseInt(this.element.css("marginBottom"),10) || 0)
+ };
+ },
+
+ _cacheHelperProportions: function() {
+ this.helperProportions = {
+ width: this.helper.outerWidth(),
+ height: this.helper.outerHeight()
+ };
+ },
+
+ _setContainment: function() {
+
+ var over, c, ce,
+ o = this.options;
+
+ if(o.containment === "parent") {
+ o.containment = this.helper[0].parentNode;
+ }
+ if(o.containment === "document" || o.containment === "window") {
+ this.containment = [
+ o.containment === "document" ? 0 : $(window).scrollLeft() - this.offset.relative.left - this.offset.parent.left,
+ o.containment === "document" ? 0 : $(window).scrollTop() - this.offset.relative.top - this.offset.parent.top,
+ (o.containment === "document" ? 0 : $(window).scrollLeft()) + $(o.containment === "document" ? document : window).width() - this.helperProportions.width - this.margins.left,
+ (o.containment === "document" ? 0 : $(window).scrollTop()) + ($(o.containment === "document" ? document : window).height() || document.body.parentNode.scrollHeight) - this.helperProportions.height - this.margins.top
+ ];
+ }
+
+ if(!(/^(document|window|parent)$/).test(o.containment) && o.containment.constructor !== Array) {
+ c = $(o.containment);
+ ce = c[0];
+
+ if(!ce) {
+ return;
+ }
+
+ over = ($(ce).css("overflow") !== "hidden");
+
+ this.containment = [
+ (parseInt($(ce).css("borderLeftWidth"),10) || 0) + (parseInt($(ce).css("paddingLeft"),10) || 0),
+ (parseInt($(ce).css("borderTopWidth"),10) || 0) + (parseInt($(ce).css("paddingTop"),10) || 0),
+ (over ? Math.max(ce.scrollWidth,ce.offsetWidth) : ce.offsetWidth) - (parseInt($(ce).css("borderLeftWidth"),10) || 0) - (parseInt($(ce).css("paddingRight"),10) || 0) - this.helperProportions.width - this.margins.left - this.margins.right,
+ (over ? Math.max(ce.scrollHeight,ce.offsetHeight) : ce.offsetHeight) - (parseInt($(ce).css("borderTopWidth"),10) || 0) - (parseInt($(ce).css("paddingBottom"),10) || 0) - this.helperProportions.height - this.margins.top - this.margins.bottom
+ ];
+ this.relative_container = c;
+
+ } else if(o.containment.constructor === Array) {
+ this.containment = o.containment;
+ }
+
+ },
+
+ _convertPositionTo: function(d, pos) {
+
+ if(!pos) {
+ pos = this.position;
+ }
+
+ var mod = d === "absolute" ? 1 : -1,
+ scroll = this.cssPosition === "absolute" && !(this.scrollParent[0] !== document && $.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent : this.scrollParent, scrollIsRootNode = (/(html|body)/i).test(scroll[0].tagName);
+
+ return {
+ top: (
+ pos.top + // The absolute mouse position
+ this.offset.relative.top * mod + // Only for relative positioned nodes: Relative offset from element to offset parent
+ this.offset.parent.top * mod - // The offsetParent's offset without borders (offset + border)
+ ( ( this.cssPosition === "fixed" ? -this.scrollParent.scrollTop() : ( scrollIsRootNode ? 0 : scroll.scrollTop() ) ) * mod)
+ ),
+ left: (
+ pos.left + // The absolute mouse position
+ this.offset.relative.left * mod + // Only for relative positioned nodes: Relative offset from element to offset parent
+ this.offset.parent.left * mod - // The offsetParent's offset without borders (offset + border)
+ ( ( this.cssPosition === "fixed" ? -this.scrollParent.scrollLeft() : scrollIsRootNode ? 0 : scroll.scrollLeft() ) * mod)
+ )
+ };
+
+ },
+
+ _generatePosition: function(event) {
+
+ var containment, co, top, left,
+ o = this.options,
+ scroll = this.cssPosition === "absolute" && !(this.scrollParent[0] !== document && $.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent : this.scrollParent,
+ scrollIsRootNode = (/(html|body)/i).test(scroll[0].tagName),
+ pageX = event.pageX,
+ pageY = event.pageY;
+
+ /*
+ * - Position constraining -
+ * Constrain the position to a mix of grid, containment.
+ */
+
+ if(this.originalPosition) { //If we are not dragging yet, we won't check for options
+ if(this.containment) {
+ if (this.relative_container){
+ co = this.relative_container.offset();
+ containment = [ this.containment[0] + co.left,
+ this.containment[1] + co.top,
+ this.containment[2] + co.left,
+ this.containment[3] + co.top ];
+ }
+ else {
+ containment = this.containment;
+ }
+
+ if(event.pageX - this.offset.click.left < containment[0]) {
+ pageX = containment[0] + this.offset.click.left;
+ }
+ if(event.pageY - this.offset.click.top < containment[1]) {
+ pageY = containment[1] + this.offset.click.top;
+ }
+ if(event.pageX - this.offset.click.left > containment[2]) {
+ pageX = containment[2] + this.offset.click.left;
+ }
+ if(event.pageY - this.offset.click.top > containment[3]) {
+ pageY = containment[3] + this.offset.click.top;
+ }
+ }
+
+ if(o.grid) {
+ //Check for grid elements set to 0 to prevent divide by 0 error causing invalid argument errors in IE (see ticket #6950)
+ top = o.grid[1] ? this.originalPageY + Math.round((pageY - this.originalPageY) / o.grid[1]) * o.grid[1] : this.originalPageY;
+ pageY = containment ? ((top - this.offset.click.top >= containment[1] || top - this.offset.click.top > containment[3]) ? top : ((top - this.offset.click.top >= containment[1]) ? top - o.grid[1] : top + o.grid[1])) : top;
+
+ left = o.grid[0] ? this.originalPageX + Math.round((pageX - this.originalPageX) / o.grid[0]) * o.grid[0] : this.originalPageX;
+ pageX = containment ? ((left - this.offset.click.left >= containment[0] || left - this.offset.click.left > containment[2]) ? left : ((left - this.offset.click.left >= containment[0]) ? left - o.grid[0] : left + o.grid[0])) : left;
+ }
+
+ }
+
+ return {
+ top: (
+ pageY - // The absolute mouse position
+ this.offset.click.top - // Click offset (relative to the element)
+ this.offset.relative.top - // Only for relative positioned nodes: Relative offset from element to offset parent
+ this.offset.parent.top + // The offsetParent's offset without borders (offset + border)
+ ( ( this.cssPosition === "fixed" ? -this.scrollParent.scrollTop() : ( scrollIsRootNode ? 0 : scroll.scrollTop() ) ))
+ ),
+ left: (
+ pageX - // The absolute mouse position
+ this.offset.click.left - // Click offset (relative to the element)
+ this.offset.relative.left - // Only for relative positioned nodes: Relative offset from element to offset parent
+ this.offset.parent.left + // The offsetParent's offset without borders (offset + border)
+ ( ( this.cssPosition === "fixed" ? -this.scrollParent.scrollLeft() : scrollIsRootNode ? 0 : scroll.scrollLeft() ))
+ )
+ };
+
+ },
+
+ _clear: function() {
+ this.helper.removeClass("ui-draggable-dragging");
+ if(this.helper[0] !== this.element[0] && !this.cancelHelperRemoval) {
+ this.helper.remove();
+ }
+ this.helper = null;
+ this.cancelHelperRemoval = false;
+ },
+
+ // From now on bulk stuff - mainly helpers
+
+ _trigger: function(type, event, ui) {
+ ui = ui || this._uiHash();
+ $.ui.plugin.call(this, type, [event, ui]);
+ //The absolute position has to be recalculated after plugins
+ if(type === "drag") {
+ this.positionAbs = this._convertPositionTo("absolute");
+ }
+ return $.Widget.prototype._trigger.call(this, type, event, ui);
+ },
+
+ plugins: {},
+
+ _uiHash: function() {
+ return {
+ helper: this.helper,
+ position: this.position,
+ originalPosition: this.originalPosition,
+ offset: this.positionAbs
+ };
+ }
+
+});
+
+$.ui.plugin.add("draggable", "connectToSortable", {
+ start: function(event, ui) {
+
+ var inst = $(this).data("ui-draggable"), o = inst.options,
+ uiSortable = $.extend({}, ui, { item: inst.element });
+ inst.sortables = [];
+ $(o.connectToSortable).each(function() {
+ var sortable = $.data(this, "ui-sortable");
+ if (sortable && !sortable.options.disabled) {
+ inst.sortables.push({
+ instance: sortable,
+ shouldRevert: sortable.options.revert
+ });
+ sortable.refreshPositions(); // Call the sortable's refreshPositions at drag start to refresh the containerCache since the sortable container cache is used in drag and needs to be up to date (this will ensure it's initialised as well as being kept in step with any changes that might have happened on the page).
+ sortable._trigger("activate", event, uiSortable);
+ }
+ });
+
+ },
+ stop: function(event, ui) {
+
+ //If we are still over the sortable, we fake the stop event of the sortable, but also remove helper
+ var inst = $(this).data("ui-draggable"),
+ uiSortable = $.extend({}, ui, { item: inst.element });
+
+ $.each(inst.sortables, function() {
+ if(this.instance.isOver) {
+
+ this.instance.isOver = 0;
+
+ inst.cancelHelperRemoval = true; //Don't remove the helper in the draggable instance
+ this.instance.cancelHelperRemoval = false; //Remove it in the sortable instance (so sortable plugins like revert still work)
+
+ //The sortable revert is supported, and we have to set a temporary dropped variable on the draggable to support revert: "valid/invalid"
+ if(this.shouldRevert) {
+ this.instance.options.revert = true;
+ }
+
+ //Trigger the stop of the sortable
+ this.instance._mouseStop(event);
+
+ this.instance.options.helper = this.instance.options._helper;
+
+ //If the helper has been the original item, restore properties in the sortable
+ if(inst.options.helper === "original") {
+ this.instance.currentItem.css({ top: "auto", left: "auto" });
+ }
+
+ } else {
+ this.instance.cancelHelperRemoval = false; //Remove the helper in the sortable instance
+ this.instance._trigger("deactivate", event, uiSortable);
+ }
+
+ });
+
+ },
+ drag: function(event, ui) {
+
+ var inst = $(this).data("ui-draggable"), that = this;
+
+ $.each(inst.sortables, function() {
+
+ var innermostIntersecting = false,
+ thisSortable = this;
+
+ //Copy over some variables to allow calling the sortable's native _intersectsWith
+ this.instance.positionAbs = inst.positionAbs;
+ this.instance.helperProportions = inst.helperProportions;
+ this.instance.offset.click = inst.offset.click;
+
+ if(this.instance._intersectsWith(this.instance.containerCache)) {
+ innermostIntersecting = true;
+ $.each(inst.sortables, function () {
+ this.instance.positionAbs = inst.positionAbs;
+ this.instance.helperProportions = inst.helperProportions;
+ this.instance.offset.click = inst.offset.click;
+ if (this !== thisSortable &&
+ this.instance._intersectsWith(this.instance.containerCache) &&
+ $.ui.contains(thisSortable.instance.element[0], this.instance.element[0])
+ ) {
+ innermostIntersecting = false;
+ }
+ return innermostIntersecting;
+ });
+ }
+
+
+ if(innermostIntersecting) {
+ //If it intersects, we use a little isOver variable and set it once, so our move-in stuff gets fired only once
+ if(!this.instance.isOver) {
+
+ this.instance.isOver = 1;
+ //Now we fake the start of dragging for the sortable instance,
+ //by cloning the list group item, appending it to the sortable and using it as inst.currentItem
+ //We can then fire the start event of the sortable with our passed browser event, and our own helper (so it doesn't create a new one)
+ this.instance.currentItem = $(that).clone().removeAttr("id").appendTo(this.instance.element).data("ui-sortable-item", true);
+ this.instance.options._helper = this.instance.options.helper; //Store helper option to later restore it
+ this.instance.options.helper = function() { return ui.helper[0]; };
+
+ event.target = this.instance.currentItem[0];
+ this.instance._mouseCapture(event, true);
+ this.instance._mouseStart(event, true, true);
+
+ //Because the browser event is way off the new appended portlet, we modify a couple of variables to reflect the changes
+ this.instance.offset.click.top = inst.offset.click.top;
+ this.instance.offset.click.left = inst.offset.click.left;
+ this.instance.offset.parent.left -= inst.offset.parent.left - this.instance.offset.parent.left;
+ this.instance.offset.parent.top -= inst.offset.parent.top - this.instance.offset.parent.top;
+
+ inst._trigger("toSortable", event);
+ inst.dropped = this.instance.element; //draggable revert needs that
+ //hack so receive/update callbacks work (mostly)
+ inst.currentItem = inst.element;
+ this.instance.fromOutside = inst;
+
+ }
+
+ //Provided we did all the previous steps, we can fire the drag event of the sortable on every draggable drag, when it intersects with the sortable
+ if(this.instance.currentItem) {
+ this.instance._mouseDrag(event);
+ }
+
+ } else {
+
+ //If it doesn't intersect with the sortable, and it intersected before,
+ //we fake the drag stop of the sortable, but make sure it doesn't remove the helper by using cancelHelperRemoval
+ if(this.instance.isOver) {
+
+ this.instance.isOver = 0;
+ this.instance.cancelHelperRemoval = true;
+
+ //Prevent reverting on this forced stop
+ this.instance.options.revert = false;
+
+ // The out event needs to be triggered independently
+ this.instance._trigger("out", event, this.instance._uiHash(this.instance));
+
+ this.instance._mouseStop(event, true);
+ this.instance.options.helper = this.instance.options._helper;
+
+ //Now we remove our currentItem, the list group clone again, and the placeholder, and animate the helper back to it's original size
+ this.instance.currentItem.remove();
+ if(this.instance.placeholder) {
+ this.instance.placeholder.remove();
+ }
+
+ inst._trigger("fromSortable", event);
+ inst.dropped = false; //draggable revert needs that
+ }
+
+ }
+
+ });
+
+ }
+});
+
+$.ui.plugin.add("draggable", "cursor", {
+ start: function() {
+ var t = $("body"), o = $(this).data("ui-draggable").options;
+ if (t.css("cursor")) {
+ o._cursor = t.css("cursor");
+ }
+ t.css("cursor", o.cursor);
+ },
+ stop: function() {
+ var o = $(this).data("ui-draggable").options;
+ if (o._cursor) {
+ $("body").css("cursor", o._cursor);
+ }
+ }
+});
+
+$.ui.plugin.add("draggable", "opacity", {
+ start: function(event, ui) {
+ var t = $(ui.helper), o = $(this).data("ui-draggable").options;
+ if(t.css("opacity")) {
+ o._opacity = t.css("opacity");
+ }
+ t.css("opacity", o.opacity);
+ },
+ stop: function(event, ui) {
+ var o = $(this).data("ui-draggable").options;
+ if(o._opacity) {
+ $(ui.helper).css("opacity", o._opacity);
+ }
+ }
+});
+
+$.ui.plugin.add("draggable", "scroll", {
+ start: function() {
+ var i = $(this).data("ui-draggable");
+ if(i.scrollParent[0] !== document && i.scrollParent[0].tagName !== "HTML") {
+ i.overflowOffset = i.scrollParent.offset();
+ }
+ },
+ drag: function( event ) {
+
+ var i = $(this).data("ui-draggable"), o = i.options, scrolled = false;
+
+ if(i.scrollParent[0] !== document && i.scrollParent[0].tagName !== "HTML") {
+
+ if(!o.axis || o.axis !== "x") {
+ if((i.overflowOffset.top + i.scrollParent[0].offsetHeight) - event.pageY < o.scrollSensitivity) {
+ i.scrollParent[0].scrollTop = scrolled = i.scrollParent[0].scrollTop + o.scrollSpeed;
+ } else if(event.pageY - i.overflowOffset.top < o.scrollSensitivity) {
+ i.scrollParent[0].scrollTop = scrolled = i.scrollParent[0].scrollTop - o.scrollSpeed;
+ }
+ }
+
+ if(!o.axis || o.axis !== "y") {
+ if((i.overflowOffset.left + i.scrollParent[0].offsetWidth) - event.pageX < o.scrollSensitivity) {
+ i.scrollParent[0].scrollLeft = scrolled = i.scrollParent[0].scrollLeft + o.scrollSpeed;
+ } else if(event.pageX - i.overflowOffset.left < o.scrollSensitivity) {
+ i.scrollParent[0].scrollLeft = scrolled = i.scrollParent[0].scrollLeft - o.scrollSpeed;
+ }
+ }
+
+ } else {
+
+ if(!o.axis || o.axis !== "x") {
+ if(event.pageY - $(document).scrollTop() < o.scrollSensitivity) {
+ scrolled = $(document).scrollTop($(document).scrollTop() - o.scrollSpeed);
+ } else if($(window).height() - (event.pageY - $(document).scrollTop()) < o.scrollSensitivity) {
+ scrolled = $(document).scrollTop($(document).scrollTop() + o.scrollSpeed);
+ }
+ }
+
+ if(!o.axis || o.axis !== "y") {
+ if(event.pageX - $(document).scrollLeft() < o.scrollSensitivity) {
+ scrolled = $(document).scrollLeft($(document).scrollLeft() - o.scrollSpeed);
+ } else if($(window).width() - (event.pageX - $(document).scrollLeft()) < o.scrollSensitivity) {
+ scrolled = $(document).scrollLeft($(document).scrollLeft() + o.scrollSpeed);
+ }
+ }
+
+ }
+
+ if(scrolled !== false && $.ui.ddmanager && !o.dropBehaviour) {
+ $.ui.ddmanager.prepareOffsets(i, event);
+ }
+
+ }
+});
+
+$.ui.plugin.add("draggable", "snap", {
+ start: function() {
+
+ var i = $(this).data("ui-draggable"),
+ o = i.options;
+
+ i.snapElements = [];
+
+ $(o.snap.constructor !== String ? ( o.snap.items || ":data(ui-draggable)" ) : o.snap).each(function() {
+ var $t = $(this),
+ $o = $t.offset();
+ if(this !== i.element[0]) {
+ i.snapElements.push({
+ item: this,
+ width: $t.outerWidth(), height: $t.outerHeight(),
+ top: $o.top, left: $o.left
+ });
+ }
+ });
+
+ },
+ drag: function(event, ui) {
+
+ var ts, bs, ls, rs, l, r, t, b, i, first,
+ inst = $(this).data("ui-draggable"),
+ o = inst.options,
+ d = o.snapTolerance,
+ x1 = ui.offset.left, x2 = x1 + inst.helperProportions.width,
+ y1 = ui.offset.top, y2 = y1 + inst.helperProportions.height;
+
+ for (i = inst.snapElements.length - 1; i >= 0; i--){
+
+ l = inst.snapElements[i].left;
+ r = l + inst.snapElements[i].width;
+ t = inst.snapElements[i].top;
+ b = t + inst.snapElements[i].height;
+
+ //Yes, I know, this is insane ;)
+ if(!((l-d < x1 && x1 < r+d && t-d < y1 && y1 < b+d) || (l-d < x1 && x1 < r+d && t-d < y2 && y2 < b+d) || (l-d < x2 && x2 < r+d && t-d < y1 && y1 < b+d) || (l-d < x2 && x2 < r+d && t-d < y2 && y2 < b+d))) {
+ if(inst.snapElements[i].snapping) {
+ (inst.options.snap.release && inst.options.snap.release.call(inst.element, event, $.extend(inst._uiHash(), { snapItem: inst.snapElements[i].item })));
+ }
+ inst.snapElements[i].snapping = false;
+ continue;
+ }
+
+ if(o.snapMode !== "inner") {
+ ts = Math.abs(t - y2) <= d;
+ bs = Math.abs(b - y1) <= d;
+ ls = Math.abs(l - x2) <= d;
+ rs = Math.abs(r - x1) <= d;
+ if(ts) {
+ ui.position.top = inst._convertPositionTo("relative", { top: t - inst.helperProportions.height, left: 0 }).top - inst.margins.top;
+ }
+ if(bs) {
+ ui.position.top = inst._convertPositionTo("relative", { top: b, left: 0 }).top - inst.margins.top;
+ }
+ if(ls) {
+ ui.position.left = inst._convertPositionTo("relative", { top: 0, left: l - inst.helperProportions.width }).left - inst.margins.left;
+ }
+ if(rs) {
+ ui.position.left = inst._convertPositionTo("relative", { top: 0, left: r }).left - inst.margins.left;
+ }
+ }
+
+ first = (ts || bs || ls || rs);
+
+ if(o.snapMode !== "outer") {
+ ts = Math.abs(t - y1) <= d;
+ bs = Math.abs(b - y2) <= d;
+ ls = Math.abs(l - x1) <= d;
+ rs = Math.abs(r - x2) <= d;
+ if(ts) {
+ ui.position.top = inst._convertPositionTo("relative", { top: t, left: 0 }).top - inst.margins.top;
+ }
+ if(bs) {
+ ui.position.top = inst._convertPositionTo("relative", { top: b - inst.helperProportions.height, left: 0 }).top - inst.margins.top;
+ }
+ if(ls) {
+ ui.position.left = inst._convertPositionTo("relative", { top: 0, left: l }).left - inst.margins.left;
+ }
+ if(rs) {
+ ui.position.left = inst._convertPositionTo("relative", { top: 0, left: r - inst.helperProportions.width }).left - inst.margins.left;
+ }
+ }
+
+ if(!inst.snapElements[i].snapping && (ts || bs || ls || rs || first)) {
+ (inst.options.snap.snap && inst.options.snap.snap.call(inst.element, event, $.extend(inst._uiHash(), { snapItem: inst.snapElements[i].item })));
+ }
+ inst.snapElements[i].snapping = (ts || bs || ls || rs || first);
+
+ }
+
+ }
+});
+
+$.ui.plugin.add("draggable", "stack", {
+ start: function() {
+
+ var min,
+ o = $(this).data("ui-draggable").options,
+ group = $.makeArray($(o.stack)).sort(function(a,b) {
+ return (parseInt($(a).css("zIndex"),10) || 0) - (parseInt($(b).css("zIndex"),10) || 0);
+ });
+
+ if (!group.length) { return; }
+
+ min = parseInt(group[0].style.zIndex, 10) || 0;
+ $(group).each(function(i) {
+ this.style.zIndex = min + i;
+ });
+
+ this[0].style.zIndex = min + group.length;
+
+ }
+});
+
+$.ui.plugin.add("draggable", "zIndex", {
+ start: function(event, ui) {
+ var t = $(ui.helper), o = $(this).data("ui-draggable").options;
+ if(t.css("zIndex")) {
+ o._zIndex = t.css("zIndex");
+ }
+ t.css("zIndex", o.zIndex);
+ },
+ stop: function(event, ui) {
+ var o = $(this).data("ui-draggable").options;
+ if(o._zIndex) {
+ $(ui.helper).css("zIndex", o._zIndex);
+ }
+ }
+});
+
+})(jQuery);
+(function( $, undefined ) {
+
+function isOverAxis( x, reference, size ) {
+ return ( x > reference ) && ( x < ( reference + size ) );
+}
+
+$.widget("ui.droppable", {
+ version: "1.10.0",
+ widgetEventPrefix: "drop",
+ options: {
+ accept: "*",
+ activeClass: false,
+ addClasses: true,
+ greedy: false,
+ hoverClass: false,
+ scope: "default",
+ tolerance: "intersect",
+
+ // callbacks
+ activate: null,
+ deactivate: null,
+ drop: null,
+ out: null,
+ over: null
+ },
+ _create: function() {
+
+ var o = this.options,
+ accept = o.accept;
+
+ this.isover = false;
+ this.isout = true;
+
+ this.accept = $.isFunction(accept) ? accept : function(d) {
+ return d.is(accept);
+ };
+
+ //Store the droppable's proportions
+ this.proportions = { width: this.element[0].offsetWidth, height: this.element[0].offsetHeight };
+
+ // Add the reference and positions to the manager
+ $.ui.ddmanager.droppables[o.scope] = $.ui.ddmanager.droppables[o.scope] || [];
+ $.ui.ddmanager.droppables[o.scope].push(this);
+
+ (o.addClasses && this.element.addClass("ui-droppable"));
+
+ },
+
+ _destroy: function() {
+ var i = 0,
+ drop = $.ui.ddmanager.droppables[this.options.scope];
+
+ for ( ; i < drop.length; i++ ) {
+ if ( drop[i] === this ) {
+ drop.splice(i, 1);
+ }
+ }
+
+ this.element.removeClass("ui-droppable ui-droppable-disabled");
+ },
+
+ _setOption: function(key, value) {
+
+ if(key === "accept") {
+ this.accept = $.isFunction(value) ? value : function(d) {
+ return d.is(value);
+ };
+ }
+ $.Widget.prototype._setOption.apply(this, arguments);
+ },
+
+ _activate: function(event) {
+ var draggable = $.ui.ddmanager.current;
+ if(this.options.activeClass) {
+ this.element.addClass(this.options.activeClass);
+ }
+ if(draggable){
+ this._trigger("activate", event, this.ui(draggable));
+ }
+ },
+
+ _deactivate: function(event) {
+ var draggable = $.ui.ddmanager.current;
+ if(this.options.activeClass) {
+ this.element.removeClass(this.options.activeClass);
+ }
+ if(draggable){
+ this._trigger("deactivate", event, this.ui(draggable));
+ }
+ },
+
+ _over: function(event) {
+
+ var draggable = $.ui.ddmanager.current;
+
+ // Bail if draggable and droppable are same element
+ if (!draggable || (draggable.currentItem || draggable.element)[0] === this.element[0]) {
+ return;
+ }
+
+ if (this.accept.call(this.element[0],(draggable.currentItem || draggable.element))) {
+ if(this.options.hoverClass) {
+ this.element.addClass(this.options.hoverClass);
+ }
+ this._trigger("over", event, this.ui(draggable));
+ }
+
+ },
+
+ _out: function(event) {
+
+ var draggable = $.ui.ddmanager.current;
+
+ // Bail if draggable and droppable are same element
+ if (!draggable || (draggable.currentItem || draggable.element)[0] === this.element[0]) {
+ return;
+ }
+
+ if (this.accept.call(this.element[0],(draggable.currentItem || draggable.element))) {
+ if(this.options.hoverClass) {
+ this.element.removeClass(this.options.hoverClass);
+ }
+ this._trigger("out", event, this.ui(draggable));
+ }
+
+ },
+
+ _drop: function(event,custom) {
+
+ var draggable = custom || $.ui.ddmanager.current,
+ childrenIntersection = false;
+
+ // Bail if draggable and droppable are same element
+ if (!draggable || (draggable.currentItem || draggable.element)[0] === this.element[0]) {
+ return false;
+ }
+
+ this.element.find(":data(ui-droppable)").not(".ui-draggable-dragging").each(function() {
+ var inst = $.data(this, "ui-droppable");
+ if(
+ inst.options.greedy &&
+ !inst.options.disabled &&
+ inst.options.scope === draggable.options.scope &&
+ inst.accept.call(inst.element[0], (draggable.currentItem || draggable.element)) &&
+ $.ui.intersect(draggable, $.extend(inst, { offset: inst.element.offset() }), inst.options.tolerance)
+ ) { childrenIntersection = true; return false; }
+ });
+ if(childrenIntersection) {
+ return false;
+ }
+
+ if(this.accept.call(this.element[0],(draggable.currentItem || draggable.element))) {
+ if(this.options.activeClass) {
+ this.element.removeClass(this.options.activeClass);
+ }
+ if(this.options.hoverClass) {
+ this.element.removeClass(this.options.hoverClass);
+ }
+ this._trigger("drop", event, this.ui(draggable));
+ return this.element;
+ }
+
+ return false;
+
+ },
+
+ ui: function(c) {
+ return {
+ draggable: (c.currentItem || c.element),
+ helper: c.helper,
+ position: c.position,
+ offset: c.positionAbs
+ };
+ }
+
+});
+
+$.ui.intersect = function(draggable, droppable, toleranceMode) {
+
+ if (!droppable.offset) {
+ return false;
+ }
+
+ var draggableLeft, draggableTop,
+ x1 = (draggable.positionAbs || draggable.position.absolute).left, x2 = x1 + draggable.helperProportions.width,
+ y1 = (draggable.positionAbs || draggable.position.absolute).top, y2 = y1 + draggable.helperProportions.height,
+ l = droppable.offset.left, r = l + droppable.proportions.width,
+ t = droppable.offset.top, b = t + droppable.proportions.height;
+
+ switch (toleranceMode) {
+ case "fit":
+ return (l <= x1 && x2 <= r && t <= y1 && y2 <= b);
+ case "intersect":
+ return (l < x1 + (draggable.helperProportions.width / 2) && // Right Half
+ x2 - (draggable.helperProportions.width / 2) < r && // Left Half
+ t < y1 + (draggable.helperProportions.height / 2) && // Bottom Half
+ y2 - (draggable.helperProportions.height / 2) < b ); // Top Half
+ case "pointer":
+ draggableLeft = ((draggable.positionAbs || draggable.position.absolute).left + (draggable.clickOffset || draggable.offset.click).left);
+ draggableTop = ((draggable.positionAbs || draggable.position.absolute).top + (draggable.clickOffset || draggable.offset.click).top);
+ return isOverAxis( draggableTop, t, droppable.proportions.height ) && isOverAxis( draggableLeft, l, droppable.proportions.width );
+ case "touch":
+ return (
+ (y1 >= t && y1 <= b) || // Top edge touching
+ (y2 >= t && y2 <= b) || // Bottom edge touching
+ (y1 < t && y2 > b) // Surrounded vertically
+ ) && (
+ (x1 >= l && x1 <= r) || // Left edge touching
+ (x2 >= l && x2 <= r) || // Right edge touching
+ (x1 < l && x2 > r) // Surrounded horizontally
+ );
+ default:
+ return false;
+ }
+
+};
+
+/*
+ This manager tracks offsets of draggables and droppables
+*/
+$.ui.ddmanager = {
+ current: null,
+ droppables: { "default": [] },
+ prepareOffsets: function(t, event) {
+
+ var i, j,
+ m = $.ui.ddmanager.droppables[t.options.scope] || [],
+ type = event ? event.type : null, // workaround for #2317
+ list = (t.currentItem || t.element).find(":data(ui-droppable)").addBack();
+
+ droppablesLoop: for (i = 0; i < m.length; i++) {
+
+ //No disabled and non-accepted
+ if(m[i].options.disabled || (t && !m[i].accept.call(m[i].element[0],(t.currentItem || t.element)))) {
+ continue;
+ }
+
+ // Filter out elements in the current dragged item
+ for (j=0; j < list.length; j++) {
+ if(list[j] === m[i].element[0]) {
+ m[i].proportions.height = 0;
+ continue droppablesLoop;
+ }
+ }
+
+ m[i].visible = m[i].element.css("display") !== "none";
+ if(!m[i].visible) {
+ continue;
+ }
+
+ //Activate the droppable if used directly from draggables
+ if(type === "mousedown") {
+ m[i]._activate.call(m[i], event);
+ }
+
+ m[i].offset = m[i].element.offset();
+ m[i].proportions = { width: m[i].element[0].offsetWidth, height: m[i].element[0].offsetHeight };
+
+ }
+
+ },
+ drop: function(draggable, event) {
+
+ var dropped = false;
+ $.each($.ui.ddmanager.droppables[draggable.options.scope] || [], function() {
+
+ if(!this.options) {
+ return;
+ }
+ if (!this.options.disabled && this.visible && $.ui.intersect(draggable, this, this.options.tolerance)) {
+ dropped = this._drop.call(this, event) || dropped;
+ }
+
+ if (!this.options.disabled && this.visible && this.accept.call(this.element[0],(draggable.currentItem || draggable.element))) {
+ this.isout = true;
+ this.isover = false;
+ this._deactivate.call(this, event);
+ }
+
+ });
+ return dropped;
+
+ },
+ dragStart: function( draggable, event ) {
+ //Listen for scrolling so that if the dragging causes scrolling the position of the droppables can be recalculated (see #5003)
+ draggable.element.parentsUntil( "body" ).bind( "scroll.droppable", function() {
+ if( !draggable.options.refreshPositions ) {
+ $.ui.ddmanager.prepareOffsets( draggable, event );
+ }
+ });
+ },
+ drag: function(draggable, event) {
+
+ //If you have a highly dynamic page, you might try this option. It renders positions every time you move the mouse.
+ if(draggable.options.refreshPositions) {
+ $.ui.ddmanager.prepareOffsets(draggable, event);
+ }
+
+ //Run through all droppables and check their positions based on specific tolerance options
+ $.each($.ui.ddmanager.droppables[draggable.options.scope] || [], function() {
+
+ if(this.options.disabled || this.greedyChild || !this.visible) {
+ return;
+ }
+
+ var parentInstance, scope, parent,
+ intersects = $.ui.intersect(draggable, this, this.options.tolerance),
+ c = !intersects && this.isover ? "isout" : (intersects && !this.isover ? "isover" : null);
+ if(!c) {
+ return;
+ }
+
+ if (this.options.greedy) {
+ // find droppable parents with same scope
+ scope = this.options.scope;
+ parent = this.element.parents(":data(ui-droppable)").filter(function () {
+ return $.data(this, "ui-droppable").options.scope === scope;
+ });
+
+ if (parent.length) {
+ parentInstance = $.data(parent[0], "ui-droppable");
+ parentInstance.greedyChild = (c === "isover");
+ }
+ }
+
+ // we just moved into a greedy child
+ if (parentInstance && c === "isover") {
+ parentInstance.isover = false;
+ parentInstance.isout = true;
+ parentInstance._out.call(parentInstance, event);
+ }
+
+ this[c] = true;
+ this[c === "isout" ? "isover" : "isout"] = false;
+ this[c === "isover" ? "_over" : "_out"].call(this, event);
+
+ // we just moved out of a greedy child
+ if (parentInstance && c === "isout") {
+ parentInstance.isout = false;
+ parentInstance.isover = true;
+ parentInstance._over.call(parentInstance, event);
+ }
+ });
+
+ },
+ dragStop: function( draggable, event ) {
+ draggable.element.parentsUntil( "body" ).unbind( "scroll.droppable" );
+ //Call prepareOffsets one final time since IE does not fire return scroll events when overflow was caused by drag (see #5003)
+ if( !draggable.options.refreshPositions ) {
+ $.ui.ddmanager.prepareOffsets( draggable, event );
+ }
+ }
+};
+
+})(jQuery);
+(function( $, undefined ) {
+
+function num(v) {
+ return parseInt(v, 10) || 0;
+}
+
+function isNumber(value) {
+ return !isNaN(parseInt(value, 10));
+}
+
+$.widget("ui.resizable", $.ui.mouse, {
+ version: "1.10.0",
+ widgetEventPrefix: "resize",
+ options: {
+ alsoResize: false,
+ animate: false,
+ animateDuration: "slow",
+ animateEasing: "swing",
+ aspectRatio: false,
+ autoHide: false,
+ containment: false,
+ ghost: false,
+ grid: false,
+ handles: "e,s,se",
+ helper: false,
+ maxHeight: null,
+ maxWidth: null,
+ minHeight: 10,
+ minWidth: 10,
+ // See #7960
+ zIndex: 90,
+
+ // callbacks
+ resize: null,
+ start: null,
+ stop: null
+ },
+ _create: function() {
+
+ var n, i, handle, axis, hname,
+ that = this,
+ o = this.options;
+ this.element.addClass("ui-resizable");
+
+ $.extend(this, {
+ _aspectRatio: !!(o.aspectRatio),
+ aspectRatio: o.aspectRatio,
+ originalElement: this.element,
+ _proportionallyResizeElements: [],
+ _helper: o.helper || o.ghost || o.animate ? o.helper || "ui-resizable-helper" : null
+ });
+
+ //Wrap the element if it cannot hold child nodes
+ if(this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)) {
+
+ //Create a wrapper element and set the wrapper to the new current internal element
+ this.element.wrap(
+ $("<div class='ui-wrapper' style='overflow: hidden;'></div>").css({
+ position: this.element.css("position"),
+ width: this.element.outerWidth(),
+ height: this.element.outerHeight(),
+ top: this.element.css("top"),
+ left: this.element.css("left")
+ })
+ );
+
+ //Overwrite the original this.element
+ this.element = this.element.parent().data(
+ "ui-resizable", this.element.data("ui-resizable")
+ );
+
+ this.elementIsWrapper = true;
+
+ //Move margins to the wrapper
+ this.element.css({ marginLeft: this.originalElement.css("marginLeft"), marginTop: this.originalElement.css("marginTop"), marginRight: this.originalElement.css("marginRight"), marginBottom: this.originalElement.css("marginBottom") });
+ this.originalElement.css({ marginLeft: 0, marginTop: 0, marginRight: 0, marginBottom: 0});
+
+ //Prevent Safari textarea resize
+ this.originalResizeStyle = this.originalElement.css("resize");
+ this.originalElement.css("resize", "none");
+
+ //Push the actual element to our proportionallyResize internal array
+ this._proportionallyResizeElements.push(this.originalElement.css({ position: "static", zoom: 1, display: "block" }));
+
+ // avoid IE jump (hard set the margin)
+ this.originalElement.css({ margin: this.originalElement.css("margin") });
+
+ // fix handlers offset
+ this._proportionallyResize();
+
+ }
+
+ this.handles = o.handles || (!$(".ui-resizable-handle", this.element).length ? "e,s,se" : { n: ".ui-resizable-n", e: ".ui-resizable-e", s: ".ui-resizable-s", w: ".ui-resizable-w", se: ".ui-resizable-se", sw: ".ui-resizable-sw", ne: ".ui-resizable-ne", nw: ".ui-resizable-nw" });
+ if(this.handles.constructor === String) {
+
+ if ( this.handles === "all") {
+ this.handles = "n,e,s,w,se,sw,ne,nw";
+ }
+
+ n = this.handles.split(",");
+ this.handles = {};
+
+ for(i = 0; i < n.length; i++) {
+
+ handle = $.trim(n[i]);
+ hname = "ui-resizable-"+handle;
+ axis = $("<div class='ui-resizable-handle " + hname + "'></div>");
+
+ // Apply zIndex to all handles - see #7960
+ axis.css({ zIndex: o.zIndex });
+
+ //TODO : What's going on here?
+ if ("se" === handle) {
+ axis.addClass("ui-icon ui-icon-gripsmall-diagonal-se");
+ }
+
+ //Insert into internal handles object and append to element
+ this.handles[handle] = ".ui-resizable-"+handle;
+ this.element.append(axis);
+ }
+
+ }
+
+ this._renderAxis = function(target) {
+
+ var i, axis, padPos, padWrapper;
+
+ target = target || this.element;
+
+ for(i in this.handles) {
+
+ if(this.handles[i].constructor === String) {
+ this.handles[i] = $(this.handles[i], this.element).show();
+ }
+
+ //Apply pad to wrapper element, needed to fix axis position (textarea, inputs, scrolls)
+ if (this.elementIsWrapper && this.originalElement[0].nodeName.match(/textarea|input|select|button/i)) {
+
+ axis = $(this.handles[i], this.element);
+
+ //Checking the correct pad and border
+ padWrapper = /sw|ne|nw|se|n|s/.test(i) ? axis.outerHeight() : axis.outerWidth();
+
+ //The padding type i have to apply...
+ padPos = [ "padding",
+ /ne|nw|n/.test(i) ? "Top" :
+ /se|sw|s/.test(i) ? "Bottom" :
+ /^e$/.test(i) ? "Right" : "Left" ].join("");
+
+ target.css(padPos, padWrapper);
+
+ this._proportionallyResize();
+
+ }
+
+ //TODO: What's that good for? There's not anything to be executed left
+ if(!$(this.handles[i]).length) {
+ continue;
+ }
+ }
+ };
+
+ //TODO: make renderAxis a prototype function
+ this._renderAxis(this.element);
+
+ this._handles = $(".ui-resizable-handle", this.element)
+ .disableSelection();
+
+ //Matching axis name
+ this._handles.mouseover(function() {
+ if (!that.resizing) {
+ if (this.className) {
+ axis = this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i);
+ }
+ //Axis, default = se
+ that.axis = axis && axis[1] ? axis[1] : "se";
+ }
+ });
+
+ //If we want to auto hide the elements
+ if (o.autoHide) {
+ this._handles.hide();
+ $(this.element)
+ .addClass("ui-resizable-autohide")
+ .mouseenter(function() {
+ if (o.disabled) {
+ return;
+ }
+ $(this).removeClass("ui-resizable-autohide");
+ that._handles.show();
+ })
+ .mouseleave(function(){
+ if (o.disabled) {
+ return;
+ }
+ if (!that.resizing) {
+ $(this).addClass("ui-resizable-autohide");
+ that._handles.hide();
+ }
+ });
+ }
+
+ //Initialize the mouse interaction
+ this._mouseInit();
+
+ },
+
+ _destroy: function() {
+
+ this._mouseDestroy();
+
+ var wrapper,
+ _destroy = function(exp) {
+ $(exp).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing")
+ .removeData("resizable").removeData("ui-resizable").unbind(".resizable").find(".ui-resizable-handle").remove();
+ };
+
+ //TODO: Unwrap at same DOM position
+ if (this.elementIsWrapper) {
+ _destroy(this.element);
+ wrapper = this.element;
+ this.originalElement.css({
+ position: wrapper.css("position"),
+ width: wrapper.outerWidth(),
+ height: wrapper.outerHeight(),
+ top: wrapper.css("top"),
+ left: wrapper.css("left")
+ }).insertAfter( wrapper );
+ wrapper.remove();
+ }
+
+ this.originalElement.css("resize", this.originalResizeStyle);
+ _destroy(this.originalElement);
+
+ return this;
+ },
+
+ _mouseCapture: function(event) {
+ var i, handle,
+ capture = false;
+
+ for (i in this.handles) {
+ handle = $(this.handles[i])[0];
+ if (handle === event.target || $.contains(handle, event.target)) {
+ capture = true;
+ }
+ }
+
+ return !this.options.disabled && capture;
+ },
+
+ _mouseStart: function(event) {
+
+ var curleft, curtop, cursor,
+ o = this.options,
+ iniPos = this.element.position(),
+ el = this.element;
+
+ this.resizing = true;
+
+ // bugfix for http://dev.jquery.com/ticket/1749
+ if ( (/absolute/).test( el.css("position") ) ) {
+ el.css({ position: "absolute", top: el.css("top"), left: el.css("left") });
+ } else if (el.is(".ui-draggable")) {
+ el.css({ position: "absolute", top: iniPos.top, left: iniPos.left });
+ }
+
+ this._renderProxy();
+
+ curleft = num(this.helper.css("left"));
+ curtop = num(this.helper.css("top"));
+
+ if (o.containment) {
+ curleft += $(o.containment).scrollLeft() || 0;
+ curtop += $(o.containment).scrollTop() || 0;
+ }
+
+ //Store needed variables
+ this.offset = this.helper.offset();
+ this.position = { left: curleft, top: curtop };
+ this.size = this._helper ? { width: el.outerWidth(), height: el.outerHeight() } : { width: el.width(), height: el.height() };
+ this.originalSize = this._helper ? { width: el.outerWidth(), height: el.outerHeight() } : { width: el.width(), height: el.height() };
+ this.originalPosition = { left: curleft, top: curtop };
+ this.sizeDiff = { width: el.outerWidth() - el.width(), height: el.outerHeight() - el.height() };
+ this.originalMousePosition = { left: event.pageX, top: event.pageY };
+
+ //Aspect Ratio
+ this.aspectRatio = (typeof o.aspectRatio === "number") ? o.aspectRatio : ((this.originalSize.width / this.originalSize.height) || 1);
+
+ cursor = $(".ui-resizable-" + this.axis).css("cursor");
+ $("body").css("cursor", cursor === "auto" ? this.axis + "-resize" : cursor);
+
+ el.addClass("ui-resizable-resizing");
+ this._propagate("start", event);
+ return true;
+ },
+
+ _mouseDrag: function(event) {
+
+ //Increase performance, avoid regex
+ var data,
+ el = this.helper, props = {},
+ smp = this.originalMousePosition,
+ a = this.axis,
+ prevTop = this.position.top,
+ prevLeft = this.position.left,
+ prevWidth = this.size.width,
+ prevHeight = this.size.height,
+ dx = (event.pageX-smp.left)||0,
+ dy = (event.pageY-smp.top)||0,
+ trigger = this._change[a];
+
+ if (!trigger) {
+ return false;
+ }
+
+ // Calculate the attrs that will be change
+ data = trigger.apply(this, [event, dx, dy]);
+
+ // Put this in the mouseDrag handler since the user can start pressing shift while resizing
+ this._updateVirtualBoundaries(event.shiftKey);
+ if (this._aspectRatio || event.shiftKey) {
+ data = this._updateRatio(data, event);
+ }
+
+ data = this._respectSize(data, event);
+
+ this._updateCache(data);
+
+ // plugins callbacks need to be called first
+ this._propagate("resize", event);
+
+ if (this.position.top !== prevTop) {
+ props.top = this.position.top + "px";
+ }
+ if (this.position.left !== prevLeft) {
+ props.left = this.position.left + "px";
+ }
+ if (this.size.width !== prevWidth) {
+ props.width = this.size.width + "px";
+ }
+ if (this.size.height !== prevHeight) {
+ props.height = this.size.height + "px";
+ }
+ el.css(props);
+
+ if (!this._helper && this._proportionallyResizeElements.length) {
+ this._proportionallyResize();
+ }
+
+ // Call the user callback if the element was resized
+ if ( ! $.isEmptyObject(props) ) {
+ this._trigger("resize", event, this.ui());
+ }
+
+ return false;
+ },
+
+ _mouseStop: function(event) {
+
+ this.resizing = false;
+ var pr, ista, soffseth, soffsetw, s, left, top,
+ o = this.options, that = this;
+
+ if(this._helper) {
+
+ pr = this._proportionallyResizeElements;
+ ista = pr.length && (/textarea/i).test(pr[0].nodeName);
+ soffseth = ista && $.ui.hasScroll(pr[0], "left") /* TODO - jump height */ ? 0 : that.sizeDiff.height;
+ soffsetw = ista ? 0 : that.sizeDiff.width;
+
+ s = { width: (that.helper.width() - soffsetw), height: (that.helper.height() - soffseth) };
+ left = (parseInt(that.element.css("left"), 10) + (that.position.left - that.originalPosition.left)) || null;
+ top = (parseInt(that.element.css("top"), 10) + (that.position.top - that.originalPosition.top)) || null;
+
+ if (!o.animate) {
+ this.element.css($.extend(s, { top: top, left: left }));
+ }
+
+ that.helper.height(that.size.height);
+ that.helper.width(that.size.width);
+
+ if (this._helper && !o.animate) {
+ this._proportionallyResize();
+ }
+ }
+
+ $("body").css("cursor", "auto");
+
+ this.element.removeClass("ui-resizable-resizing");
+
+ this._propagate("stop", event);
+
+ if (this._helper) {
+ this.helper.remove();
+ }
+
+ return false;
+
+ },
+
+ _updateVirtualBoundaries: function(forceAspectRatio) {
+ var pMinWidth, pMaxWidth, pMinHeight, pMaxHeight, b,
+ o = this.options;
+
+ b = {
+ minWidth: isNumber(o.minWidth) ? o.minWidth : 0,
+ maxWidth: isNumber(o.maxWidth) ? o.maxWidth : Infinity,
+ minHeight: isNumber(o.minHeight) ? o.minHeight : 0,
+ maxHeight: isNumber(o.maxHeight) ? o.maxHeight : Infinity
+ };
+
+ if(this._aspectRatio || forceAspectRatio) {
+ // We want to create an enclosing box whose aspect ration is the requested one
+ // First, compute the "projected" size for each dimension based on the aspect ratio and other dimension
+ pMinWidth = b.minHeight * this.aspectRatio;
+ pMinHeight = b.minWidth / this.aspectRatio;
+ pMaxWidth = b.maxHeight * this.aspectRatio;
+ pMaxHeight = b.maxWidth / this.aspectRatio;
+
+ if(pMinWidth > b.minWidth) {
+ b.minWidth = pMinWidth;
+ }
+ if(pMinHeight > b.minHeight) {
+ b.minHeight = pMinHeight;
+ }
+ if(pMaxWidth < b.maxWidth) {
+ b.maxWidth = pMaxWidth;
+ }
+ if(pMaxHeight < b.maxHeight) {
+ b.maxHeight = pMaxHeight;
+ }
+ }
+ this._vBoundaries = b;
+ },
+
+ _updateCache: function(data) {
+ this.offset = this.helper.offset();
+ if (isNumber(data.left)) {
+ this.position.left = data.left;
+ }
+ if (isNumber(data.top)) {
+ this.position.top = data.top;
+ }
+ if (isNumber(data.height)) {
+ this.size.height = data.height;
+ }
+ if (isNumber(data.width)) {
+ this.size.width = data.width;
+ }
+ },
+
+ _updateRatio: function( data ) {
+
+ var cpos = this.position,
+ csize = this.size,
+ a = this.axis;
+
+ if (isNumber(data.height)) {
+ data.width = (data.height * this.aspectRatio);
+ } else if (isNumber(data.width)) {
+ data.height = (data.width / this.aspectRatio);
+ }
+
+ if (a === "sw") {
+ data.left = cpos.left + (csize.width - data.width);
+ data.top = null;
+ }
+ if (a === "nw") {
+ data.top = cpos.top + (csize.height - data.height);
+ data.left = cpos.left + (csize.width - data.width);
+ }
+
+ return data;
+ },
+
+ _respectSize: function( data ) {
+
+ var o = this._vBoundaries,
+ a = this.axis,
+ ismaxw = isNumber(data.width) && o.maxWidth && (o.maxWidth < data.width), ismaxh = isNumber(data.height) && o.maxHeight && (o.maxHeight < data.height),
+ isminw = isNumber(data.width) && o.minWidth && (o.minWidth > data.width), isminh = isNumber(data.height) && o.minHeight && (o.minHeight > data.height),
+ dw = this.originalPosition.left + this.originalSize.width,
+ dh = this.position.top + this.size.height,
+ cw = /sw|nw|w/.test(a), ch = /nw|ne|n/.test(a);
+ if (isminw) {
+ data.width = o.minWidth;
+ }
+ if (isminh) {
+ data.height = o.minHeight;
+ }
+ if (ismaxw) {
+ data.width = o.maxWidth;
+ }
+ if (ismaxh) {
+ data.height = o.maxHeight;
+ }
+
+ if (isminw && cw) {
+ data.left = dw - o.minWidth;
+ }
+ if (ismaxw && cw) {
+ data.left = dw - o.maxWidth;
+ }
+ if (isminh && ch) {
+ data.top = dh - o.minHeight;
+ }
+ if (ismaxh && ch) {
+ data.top = dh - o.maxHeight;
+ }
+
+ // fixing jump error on top/left - bug #2330
+ if (!data.width && !data.height && !data.left && data.top) {
+ data.top = null;
+ } else if (!data.width && !data.height && !data.top && data.left) {
+ data.left = null;
+ }
+
+ return data;
+ },
+
+ _proportionallyResize: function() {
+
+ if (!this._proportionallyResizeElements.length) {
+ return;
+ }
+
+ var i, j, borders, paddings, prel,
+ element = this.helper || this.element;
+
+ for ( i=0; i < this._proportionallyResizeElements.length; i++) {
+
+ prel = this._proportionallyResizeElements[i];
+
+ if (!this.borderDif) {
+ this.borderDif = [];
+ borders = [prel.css("borderTopWidth"), prel.css("borderRightWidth"), prel.css("borderBottomWidth"), prel.css("borderLeftWidth")];
+ paddings = [prel.css("paddingTop"), prel.css("paddingRight"), prel.css("paddingBottom"), prel.css("paddingLeft")];
+
+ for ( j = 0; j < borders.length; j++ ) {
+ this.borderDif[ j ] = ( parseInt( borders[ j ], 10 ) || 0 ) + ( parseInt( paddings[ j ], 10 ) || 0 );
+ }
+ }
+
+ prel.css({
+ height: (element.height() - this.borderDif[0] - this.borderDif[2]) || 0,
+ width: (element.width() - this.borderDif[1] - this.borderDif[3]) || 0
+ });
+
+ }
+
+ },
+
+ _renderProxy: function() {
+
+ var el = this.element, o = this.options;
+ this.elementOffset = el.offset();
+
+ if(this._helper) {
+
+ this.helper = this.helper || $("<div style='overflow:hidden;'></div>");
+
+ this.helper.addClass(this._helper).css({
+ width: this.element.outerWidth() - 1,
+ height: this.element.outerHeight() - 1,
+ position: "absolute",
+ left: this.elementOffset.left +"px",
+ top: this.elementOffset.top +"px",
+ zIndex: ++o.zIndex //TODO: Don't modify option
+ });
+
+ this.helper
+ .appendTo("body")
+ .disableSelection();
+
+ } else {
+ this.helper = this.element;
+ }
+
+ },
+
+ _change: {
+ e: function(event, dx) {
+ return { width: this.originalSize.width + dx };
+ },
+ w: function(event, dx) {
+ var cs = this.originalSize, sp = this.originalPosition;
+ return { left: sp.left + dx, width: cs.width - dx };
+ },
+ n: function(event, dx, dy) {
+ var cs = this.originalSize, sp = this.originalPosition;
+ return { top: sp.top + dy, height: cs.height - dy };
+ },
+ s: function(event, dx, dy) {
+ return { height: this.originalSize.height + dy };
+ },
+ se: function(event, dx, dy) {
+ return $.extend(this._change.s.apply(this, arguments), this._change.e.apply(this, [event, dx, dy]));
+ },
+ sw: function(event, dx, dy) {
+ return $.extend(this._change.s.apply(this, arguments), this._change.w.apply(this, [event, dx, dy]));
+ },
+ ne: function(event, dx, dy) {
+ return $.extend(this._change.n.apply(this, arguments), this._change.e.apply(this, [event, dx, dy]));
+ },
+ nw: function(event, dx, dy) {
+ return $.extend(this._change.n.apply(this, arguments), this._change.w.apply(this, [event, dx, dy]));
+ }
+ },
+
+ _propagate: function(n, event) {
+ $.ui.plugin.call(this, n, [event, this.ui()]);
+ (n !== "resize" && this._trigger(n, event, this.ui()));
+ },
+
+ plugins: {},
+
+ ui: function() {
+ return {
+ originalElement: this.originalElement,
+ element: this.element,
+ helper: this.helper,
+ position: this.position,
+ size: this.size,
+ originalSize: this.originalSize,
+ originalPosition: this.originalPosition
+ };
+ }
+
+});
+
+/*
+ * Resizable Extensions
+ */
+
+$.ui.plugin.add("resizable", "animate", {
+
+ stop: function( event ) {
+ var that = $(this).data("ui-resizable"),
+ o = that.options,
+ pr = that._proportionallyResizeElements,
+ ista = pr.length && (/textarea/i).test(pr[0].nodeName),
+ soffseth = ista && $.ui.hasScroll(pr[0], "left") /* TODO - jump height */ ? 0 : that.sizeDiff.height,
+ soffsetw = ista ? 0 : that.sizeDiff.width,
+ style = { width: (that.size.width - soffsetw), height: (that.size.height - soffseth) },
+ left = (parseInt(that.element.css("left"), 10) + (that.position.left - that.originalPosition.left)) || null,
+ top = (parseInt(that.element.css("top"), 10) + (that.position.top - that.originalPosition.top)) || null;
+
+ that.element.animate(
+ $.extend(style, top && left ? { top: top, left: left } : {}), {
+ duration: o.animateDuration,
+ easing: o.animateEasing,
+ step: function() {
+
+ var data = {
+ width: parseInt(that.element.css("width"), 10),
+ height: parseInt(that.element.css("height"), 10),
+ top: parseInt(that.element.css("top"), 10),
+ left: parseInt(that.element.css("left"), 10)
+ };
+
+ if (pr && pr.length) {
+ $(pr[0]).css({ width: data.width, height: data.height });
+ }
+
+ // propagating resize, and updating values for each animation step
+ that._updateCache(data);
+ that._propagate("resize", event);
+
+ }
+ }
+ );
+ }
+
+});
+
+$.ui.plugin.add("resizable", "containment", {
+
+ start: function() {
+ var element, p, co, ch, cw, width, height,
+ that = $(this).data("ui-resizable"),
+ o = that.options,
+ el = that.element,
+ oc = o.containment,
+ ce = (oc instanceof $) ? oc.get(0) : (/parent/.test(oc)) ? el.parent().get(0) : oc;
+
+ if (!ce) {
+ return;
+ }
+
+ that.containerElement = $(ce);
+
+ if (/document/.test(oc) || oc === document) {
+ that.containerOffset = { left: 0, top: 0 };
+ that.containerPosition = { left: 0, top: 0 };
+
+ that.parentData = {
+ element: $(document), left: 0, top: 0,
+ width: $(document).width(), height: $(document).height() || document.body.parentNode.scrollHeight
+ };
+ }
+
+ // i'm a node, so compute top, left, right, bottom
+ else {
+ element = $(ce);
+ p = [];
+ $([ "Top", "Right", "Left", "Bottom" ]).each(function(i, name) { p[i] = num(element.css("padding" + name)); });
+
+ that.containerOffset = element.offset();
+ that.containerPosition = element.position();
+ that.containerSize = { height: (element.innerHeight() - p[3]), width: (element.innerWidth() - p[1]) };
+
+ co = that.containerOffset;
+ ch = that.containerSize.height;
+ cw = that.containerSize.width;
+ width = ($.ui.hasScroll(ce, "left") ? ce.scrollWidth : cw );
+ height = ($.ui.hasScroll(ce) ? ce.scrollHeight : ch);
+
+ that.parentData = {
+ element: ce, left: co.left, top: co.top, width: width, height: height
+ };
+ }
+ },
+
+ resize: function( event ) {
+ var woset, hoset, isParent, isOffsetRelative,
+ that = $(this).data("ui-resizable"),
+ o = that.options,
+ co = that.containerOffset, cp = that.position,
+ pRatio = that._aspectRatio || event.shiftKey,
+ cop = { top:0, left:0 }, ce = that.containerElement;
+
+ if (ce[0] !== document && (/static/).test(ce.css("position"))) {
+ cop = co;
+ }
+
+ if (cp.left < (that._helper ? co.left : 0)) {
+ that.size.width = that.size.width + (that._helper ? (that.position.left - co.left) : (that.position.left - cop.left));
+ if (pRatio) {
+ that.size.height = that.size.width / that.aspectRatio;
+ }
+ that.position.left = o.helper ? co.left : 0;
+ }
+
+ if (cp.top < (that._helper ? co.top : 0)) {
+ that.size.height = that.size.height + (that._helper ? (that.position.top - co.top) : that.position.top);
+ if (pRatio) {
+ that.size.width = that.size.height * that.aspectRatio;
+ }
+ that.position.top = that._helper ? co.top : 0;
+ }
+
+ that.offset.left = that.parentData.left+that.position.left;
+ that.offset.top = that.parentData.top+that.position.top;
+
+ woset = Math.abs( (that._helper ? that.offset.left - cop.left : (that.offset.left - cop.left)) + that.sizeDiff.width );
+ hoset = Math.abs( (that._helper ? that.offset.top - cop.top : (that.offset.top - co.top)) + that.sizeDiff.height );
+
+ isParent = that.containerElement.get(0) === that.element.parent().get(0);
+ isOffsetRelative = /relative|absolute/.test(that.containerElement.css("position"));
+
+ if(isParent && isOffsetRelative) {
+ woset -= that.parentData.left;
+ }
+
+ if (woset + that.size.width >= that.parentData.width) {
+ that.size.width = that.parentData.width - woset;
+ if (pRatio) {
+ that.size.height = that.size.width / that.aspectRatio;
+ }
+ }
+
+ if (hoset + that.size.height >= that.parentData.height) {
+ that.size.height = that.parentData.height - hoset;
+ if (pRatio) {
+ that.size.width = that.size.height * that.aspectRatio;
+ }
+ }
+ },
+
+ stop: function(){
+ var that = $(this).data("ui-resizable"),
+ o = that.options,
+ co = that.containerOffset,
+ cop = that.containerPosition,
+ ce = that.containerElement,
+ helper = $(that.helper),
+ ho = helper.offset(),
+ w = helper.outerWidth() - that.sizeDiff.width,
+ h = helper.outerHeight() - that.sizeDiff.height;
+
+ if (that._helper && !o.animate && (/relative/).test(ce.css("position"))) {
+ $(this).css({ left: ho.left - cop.left - co.left, width: w, height: h });
+ }
+
+ if (that._helper && !o.animate && (/static/).test(ce.css("position"))) {
+ $(this).css({ left: ho.left - cop.left - co.left, width: w, height: h });
+ }
+
+ }
+});
+
+$.ui.plugin.add("resizable", "alsoResize", {
+
+ start: function () {
+ var that = $(this).data("ui-resizable"),
+ o = that.options,
+ _store = function (exp) {
+ $(exp).each(function() {
+ var el = $(this);
+ el.data("ui-resizable-alsoresize", {
+ width: parseInt(el.width(), 10), height: parseInt(el.height(), 10),
+ left: parseInt(el.css("left"), 10), top: parseInt(el.css("top"), 10)
+ });
+ });
+ };
+
+ if (typeof(o.alsoResize) === "object" && !o.alsoResize.parentNode) {
+ if (o.alsoResize.length) { o.alsoResize = o.alsoResize[0]; _store(o.alsoResize); }
+ else { $.each(o.alsoResize, function (exp) { _store(exp); }); }
+ }else{
+ _store(o.alsoResize);
+ }
+ },
+
+ resize: function (event, ui) {
+ var that = $(this).data("ui-resizable"),
+ o = that.options,
+ os = that.originalSize,
+ op = that.originalPosition,
+ delta = {
+ height: (that.size.height - os.height) || 0, width: (that.size.width - os.width) || 0,
+ top: (that.position.top - op.top) || 0, left: (that.position.left - op.left) || 0
+ },
+
+ _alsoResize = function (exp, c) {
+ $(exp).each(function() {
+ var el = $(this), start = $(this).data("ui-resizable-alsoresize"), style = {},
+ css = c && c.length ? c : el.parents(ui.originalElement[0]).length ? ["width", "height"] : ["width", "height", "top", "left"];
+
+ $.each(css, function (i, prop) {
+ var sum = (start[prop]||0) + (delta[prop]||0);
+ if (sum && sum >= 0) {
+ style[prop] = sum || null;
+ }
+ });
+
+ el.css(style);
+ });
+ };
+
+ if (typeof(o.alsoResize) === "object" && !o.alsoResize.nodeType) {
+ $.each(o.alsoResize, function (exp, c) { _alsoResize(exp, c); });
+ }else{
+ _alsoResize(o.alsoResize);
+ }
+ },
+
+ stop: function () {
+ $(this).removeData("resizable-alsoresize");
+ }
+});
+
+$.ui.plugin.add("resizable", "ghost", {
+
+ start: function() {
+
+ var that = $(this).data("ui-resizable"), o = that.options, cs = that.size;
+
+ that.ghost = that.originalElement.clone();
+ that.ghost
+ .css({ opacity: 0.25, display: "block", position: "relative", height: cs.height, width: cs.width, margin: 0, left: 0, top: 0 })
+ .addClass("ui-resizable-ghost")
+ .addClass(typeof o.ghost === "string" ? o.ghost : "");
+
+ that.ghost.appendTo(that.helper);
+
+ },
+
+ resize: function(){
+ var that = $(this).data("ui-resizable");
+ if (that.ghost) {
+ that.ghost.css({ position: "relative", height: that.size.height, width: that.size.width });
+ }
+ },
+
+ stop: function() {
+ var that = $(this).data("ui-resizable");
+ if (that.ghost && that.helper) {
+ that.helper.get(0).removeChild(that.ghost.get(0));
+ }
+ }
+
+});
+
+$.ui.plugin.add("resizable", "grid", {
+
+ resize: function() {
+ var that = $(this).data("ui-resizable"),
+ o = that.options,
+ cs = that.size,
+ os = that.originalSize,
+ op = that.originalPosition,
+ a = that.axis,
+ grid = typeof o.grid === "number" ? [o.grid, o.grid] : o.grid,
+ gridX = (grid[0]||1),
+ gridY = (grid[1]||1),
+ ox = Math.round((cs.width - os.width) / gridX) * gridX,
+ oy = Math.round((cs.height - os.height) / gridY) * gridY,
+ newWidth = os.width + ox,
+ newHeight = os.height + oy,
+ isMaxWidth = o.maxWidth && (o.maxWidth < newWidth),
+ isMaxHeight = o.maxHeight && (o.maxHeight < newHeight),
+ isMinWidth = o.minWidth && (o.minWidth > newWidth),
+ isMinHeight = o.minHeight && (o.minHeight > newHeight);
+
+ o.grid = grid;
+
+ if (isMinWidth) {
+ newWidth = newWidth + gridX;
+ }
+ if (isMinHeight) {
+ newHeight = newHeight + gridY;
+ }
+ if (isMaxWidth) {
+ newWidth = newWidth - gridX;
+ }
+ if (isMaxHeight) {
+ newHeight = newHeight - gridY;
+ }
+
+ if (/^(se|s|e)$/.test(a)) {
+ that.size.width = newWidth;
+ that.size.height = newHeight;
+ } else if (/^(ne)$/.test(a)) {
+ that.size.width = newWidth;
+ that.size.height = newHeight;
+ that.position.top = op.top - oy;
+ } else if (/^(sw)$/.test(a)) {
+ that.size.width = newWidth;
+ that.size.height = newHeight;
+ that.position.left = op.left - ox;
+ } else {
+ that.size.width = newWidth;
+ that.size.height = newHeight;
+ that.position.top = op.top - oy;
+ that.position.left = op.left - ox;
+ }
+ }
+
+});
+
+})(jQuery);
+(function( $, undefined ) {
+
+$.widget("ui.selectable", $.ui.mouse, {
+ version: "1.10.0",
+ options: {
+ appendTo: "body",
+ autoRefresh: true,
+ distance: 0,
+ filter: "*",
+ tolerance: "touch",
+
+ // callbacks
+ selected: null,
+ selecting: null,
+ start: null,
+ stop: null,
+ unselected: null,
+ unselecting: null
+ },
+ _create: function() {
+ var selectees,
+ that = this;
+
+ this.element.addClass("ui-selectable");
+
+ this.dragged = false;
+
+ // cache selectee children based on filter
+ this.refresh = function() {
+ selectees = $(that.options.filter, that.element[0]);
+ selectees.addClass("ui-selectee");
+ selectees.each(function() {
+ var $this = $(this),
+ pos = $this.offset();
+ $.data(this, "selectable-item", {
+ element: this,
+ $element: $this,
+ left: pos.left,
+ top: pos.top,
+ right: pos.left + $this.outerWidth(),
+ bottom: pos.top + $this.outerHeight(),
+ startselected: false,
+ selected: $this.hasClass("ui-selected"),
+ selecting: $this.hasClass("ui-selecting"),
+ unselecting: $this.hasClass("ui-unselecting")
+ });
+ });
+ };
+ this.refresh();
+
+ this.selectees = selectees.addClass("ui-selectee");
+
+ this._mouseInit();
+
+ this.helper = $("<div class='ui-selectable-helper'></div>");
+ },
+
+ _destroy: function() {
+ this.selectees
+ .removeClass("ui-selectee")
+ .removeData("selectable-item");
+ this.element
+ .removeClass("ui-selectable ui-selectable-disabled");
+ this._mouseDestroy();
+ },
+
+ _mouseStart: function(event) {
+ var that = this,
+ options = this.options;
+
+ this.opos = [event.pageX, event.pageY];
+
+ if (this.options.disabled) {
+ return;
+ }
+
+ this.selectees = $(options.filter, this.element[0]);
+
+ this._trigger("start", event);
+
+ $(options.appendTo).append(this.helper);
+ // position helper (lasso)
+ this.helper.css({
+ "left": event.pageX,
+ "top": event.pageY,
+ "width": 0,
+ "height": 0
+ });
+
+ if (options.autoRefresh) {
+ this.refresh();
+ }
+
+ this.selectees.filter(".ui-selected").each(function() {
+ var selectee = $.data(this, "selectable-item");
+ selectee.startselected = true;
+ if (!event.metaKey && !event.ctrlKey) {
+ selectee.$element.removeClass("ui-selected");
+ selectee.selected = false;
+ selectee.$element.addClass("ui-unselecting");
+ selectee.unselecting = true;
+ // selectable UNSELECTING callback
+ that._trigger("unselecting", event, {
+ unselecting: selectee.element
+ });
+ }
+ });
+
+ $(event.target).parents().addBack().each(function() {
+ var doSelect,
+ selectee = $.data(this, "selectable-item");
+ if (selectee) {
+ doSelect = (!event.metaKey && !event.ctrlKey) || !selectee.$element.hasClass("ui-selected");
+ selectee.$element
+ .removeClass(doSelect ? "ui-unselecting" : "ui-selected")
+ .addClass(doSelect ? "ui-selecting" : "ui-unselecting");
+ selectee.unselecting = !doSelect;
+ selectee.selecting = doSelect;
+ selectee.selected = doSelect;
+ // selectable (UN)SELECTING callback
+ if (doSelect) {
+ that._trigger("selecting", event, {
+ selecting: selectee.element
+ });
+ } else {
+ that._trigger("unselecting", event, {
+ unselecting: selectee.element
+ });
+ }
+ return false;
+ }
+ });
+
+ },
+
+ _mouseDrag: function(event) {
+
+ this.dragged = true;
+
+ if (this.options.disabled) {
+ return;
+ }
+
+ var tmp,
+ that = this,
+ options = this.options,
+ x1 = this.opos[0],
+ y1 = this.opos[1],
+ x2 = event.pageX,
+ y2 = event.pageY;
+
+ if (x1 > x2) { tmp = x2; x2 = x1; x1 = tmp; }
+ if (y1 > y2) { tmp = y2; y2 = y1; y1 = tmp; }
+ this.helper.css({left: x1, top: y1, width: x2-x1, height: y2-y1});
+
+ this.selectees.each(function() {
+ var selectee = $.data(this, "selectable-item"),
+ hit = false;
+
+ //prevent helper from being selected if appendTo: selectable
+ if (!selectee || selectee.element === that.element[0]) {
+ return;
+ }
+
+ if (options.tolerance === "touch") {
+ hit = ( !(selectee.left > x2 || selectee.right < x1 || selectee.top > y2 || selectee.bottom < y1) );
+ } else if (options.tolerance === "fit") {
+ hit = (selectee.left > x1 && selectee.right < x2 && selectee.top > y1 && selectee.bottom < y2);
+ }
+
+ if (hit) {
+ // SELECT
+ if (selectee.selected) {
+ selectee.$element.removeClass("ui-selected");
+ selectee.selected = false;
+ }
+ if (selectee.unselecting) {
+ selectee.$element.removeClass("ui-unselecting");
+ selectee.unselecting = false;
+ }
+ if (!selectee.selecting) {
+ selectee.$element.addClass("ui-selecting");
+ selectee.selecting = true;
+ // selectable SELECTING callback
+ that._trigger("selecting", event, {
+ selecting: selectee.element
+ });
+ }
+ } else {
+ // UNSELECT
+ if (selectee.selecting) {
+ if ((event.metaKey || event.ctrlKey) && selectee.startselected) {
+ selectee.$element.removeClass("ui-selecting");
+ selectee.selecting = false;
+ selectee.$element.addClass("ui-selected");
+ selectee.selected = true;
+ } else {
+ selectee.$element.removeClass("ui-selecting");
+ selectee.selecting = false;
+ if (selectee.startselected) {
+ selectee.$element.addClass("ui-unselecting");
+ selectee.unselecting = true;
+ }
+ // selectable UNSELECTING callback
+ that._trigger("unselecting", event, {
+ unselecting: selectee.element
+ });
+ }
+ }
+ if (selectee.selected) {
+ if (!event.metaKey && !event.ctrlKey && !selectee.startselected) {
+ selectee.$element.removeClass("ui-selected");
+ selectee.selected = false;
+
+ selectee.$element.addClass("ui-unselecting");
+ selectee.unselecting = true;
+ // selectable UNSELECTING callback
+ that._trigger("unselecting", event, {
+ unselecting: selectee.element
+ });
+ }
+ }
+ }
+ });
+
+ return false;
+ },
+
+ _mouseStop: function(event) {
+ var that = this;
+
+ this.dragged = false;
+
+ $(".ui-unselecting", this.element[0]).each(function() {
+ var selectee = $.data(this, "selectable-item");
+ selectee.$element.removeClass("ui-unselecting");
+ selectee.unselecting = false;
+ selectee.startselected = false;
+ that._trigger("unselected", event, {
+ unselected: selectee.element
+ });
+ });
+ $(".ui-selecting", this.element[0]).each(function() {
+ var selectee = $.data(this, "selectable-item");
+ selectee.$element.removeClass("ui-selecting").addClass("ui-selected");
+ selectee.selecting = false;
+ selectee.selected = true;
+ selectee.startselected = true;
+ that._trigger("selected", event, {
+ selected: selectee.element
+ });
+ });
+ this._trigger("stop", event);
+
+ this.helper.remove();
+
+ return false;
+ }
+
+});
+
+})(jQuery);
+(function( $, undefined ) {
+
+/*jshint loopfunc: true */
+
+function isOverAxis( x, reference, size ) {
+ return ( x > reference ) && ( x < ( reference + size ) );
+}
+
+$.widget("ui.sortable", $.ui.mouse, {
+ version: "1.10.0",
+ widgetEventPrefix: "sort",
+ ready: false,
+ options: {
+ appendTo: "parent",
+ axis: false,
+ connectWith: false,
+ containment: false,
+ cursor: "auto",
+ cursorAt: false,
+ dropOnEmpty: true,
+ forcePlaceholderSize: false,
+ forceHelperSize: false,
+ grid: false,
+ handle: false,
+ helper: "original",
+ items: "> *",
+ opacity: false,
+ placeholder: false,
+ revert: false,
+ scroll: true,
+ scrollSensitivity: 20,
+ scrollSpeed: 20,
+ scope: "default",
+ tolerance: "intersect",
+ zIndex: 1000,
+
+ // callbacks
+ activate: null,
+ beforeStop: null,
+ change: null,
+ deactivate: null,
+ out: null,
+ over: null,
+ receive: null,
+ remove: null,
+ sort: null,
+ start: null,
+ stop: null,
+ update: null
+ },
+ _create: function() {
+
+ var o = this.options;
+ this.containerCache = {};
+ this.element.addClass("ui-sortable");
+
+ //Get the items
+ this.refresh();
+
+ //Let's determine if the items are being displayed horizontally
+ this.floating = this.items.length ? o.axis === "x" || (/left|right/).test(this.items[0].item.css("float")) || (/inline|table-cell/).test(this.items[0].item.css("display")) : false;
+
+ //Let's determine the parent's offset
+ this.offset = this.element.offset();
+
+ //Initialize mouse events for interaction
+ this._mouseInit();
+
+ //We're ready to go
+ this.ready = true;
+
+ },
+
+ _destroy: function() {
+ this.element
+ .removeClass("ui-sortable ui-sortable-disabled");
+ this._mouseDestroy();
+
+ for ( var i = this.items.length - 1; i >= 0; i-- ) {
+ this.items[i].item.removeData(this.widgetName + "-item");
+ }
+
+ return this;
+ },
+
+ _setOption: function(key, value){
+ if ( key === "disabled" ) {
+ this.options[ key ] = value;
+
+ this.widget().toggleClass( "ui-sortable-disabled", !!value );
+ } else {
+ // Don't call widget base _setOption for disable as it adds ui-state-disabled class
+ $.Widget.prototype._setOption.apply(this, arguments);
+ }
+ },
+
+ _mouseCapture: function(event, overrideHandle) {
+ var currentItem = null,
+ validHandle = false,
+ that = this;
+
+ if (this.reverting) {
+ return false;
+ }
+
+ if(this.options.disabled || this.options.type === "static") {
+ return false;
+ }
+
+ //We have to refresh the items data once first
+ this._refreshItems(event);
+
+ //Find out if the clicked node (or one of its parents) is a actual item in this.items
+ $(event.target).parents().each(function() {
+ if($.data(this, that.widgetName + "-item") === that) {
+ currentItem = $(this);
+ return false;
+ }
+ });
+ if($.data(event.target, that.widgetName + "-item") === that) {
+ currentItem = $(event.target);
+ }
+
+ if(!currentItem) {
+ return false;
+ }
+ if(this.options.handle && !overrideHandle) {
+ $(this.options.handle, currentItem).find("*").addBack().each(function() {
+ if(this === event.target) {
+ validHandle = true;
+ }
+ });
+ if(!validHandle) {
+ return false;
+ }
+ }
+
+ this.currentItem = currentItem;
+ this._removeCurrentsFromItems();
+ return true;
+
+ },
+
+ _mouseStart: function(event, overrideHandle, noActivation) {
+
+ var i,
+ o = this.options;
+
+ this.currentContainer = this;
+
+ //We only need to call refreshPositions, because the refreshItems call has been moved to mouseCapture
+ this.refreshPositions();
+
+ //Create and append the visible helper
+ this.helper = this._createHelper(event);
+
+ //Cache the helper size
+ this._cacheHelperProportions();
+
+ /*
+ * - Position generation -
+ * This block generates everything position related - it's the core of draggables.
+ */
+
+ //Cache the margins of the original element
+ this._cacheMargins();
+
+ //Get the next scrolling parent
+ this.scrollParent = this.helper.scrollParent();
+
+ //The element's absolute position on the page minus margins
+ this.offset = this.currentItem.offset();
+ this.offset = {
+ top: this.offset.top - this.margins.top,
+ left: this.offset.left - this.margins.left
+ };
+
+ $.extend(this.offset, {
+ click: { //Where the click happened, relative to the element
+ left: event.pageX - this.offset.left,
+ top: event.pageY - this.offset.top
+ },
+ parent: this._getParentOffset(),
+ relative: this._getRelativeOffset() //This is a relative to absolute position minus the actual position calculation - only used for relative positioned helper
+ });
+
+ // Only after we got the offset, we can change the helper's position to absolute
+ // TODO: Still need to figure out a way to make relative sorting possible
+ this.helper.css("position", "absolute");
+ this.cssPosition = this.helper.css("position");
+
+ //Generate the original position
+ this.originalPosition = this._generatePosition(event);
+ this.originalPageX = event.pageX;
+ this.originalPageY = event.pageY;
+
+ //Adjust the mouse offset relative to the helper if "cursorAt" is supplied
+ (o.cursorAt && this._adjustOffsetFromHelper(o.cursorAt));
+
+ //Cache the former DOM position
+ this.domPosition = { prev: this.currentItem.prev()[0], parent: this.currentItem.parent()[0] };
+
+ //If the helper is not the original, hide the original so it's not playing any role during the drag, won't cause anything bad this way
+ if(this.helper[0] !== this.currentItem[0]) {
+ this.currentItem.hide();
+ }
+
+ //Create the placeholder
+ this._createPlaceholder();
+
+ //Set a containment if given in the options
+ if(o.containment) {
+ this._setContainment();
+ }
+
+ if(o.cursor) { // cursor option
+ if ($("body").css("cursor")) {
+ this._storedCursor = $("body").css("cursor");
+ }
+ $("body").css("cursor", o.cursor);
+ }
+
+ if(o.opacity) { // opacity option
+ if (this.helper.css("opacity")) {
+ this._storedOpacity = this.helper.css("opacity");
+ }
+ this.helper.css("opacity", o.opacity);
+ }
+
+ if(o.zIndex) { // zIndex option
+ if (this.helper.css("zIndex")) {
+ this._storedZIndex = this.helper.css("zIndex");
+ }
+ this.helper.css("zIndex", o.zIndex);
+ }
+
+ //Prepare scrolling
+ if(this.scrollParent[0] !== document && this.scrollParent[0].tagName !== "HTML") {
+ this.overflowOffset = this.scrollParent.offset();
+ }
+
+ //Call callbacks
+ this._trigger("start", event, this._uiHash());
+
+ //Recache the helper size
+ if(!this._preserveHelperProportions) {
+ this._cacheHelperProportions();
+ }
+
+
+ //Post "activate" events to possible containers
+ if( !noActivation ) {
+ for ( i = this.containers.length - 1; i >= 0; i-- ) {
+ this.containers[ i ]._trigger( "activate", event, this._uiHash( this ) );
+ }
+ }
+
+ //Prepare possible droppables
+ if($.ui.ddmanager) {
+ $.ui.ddmanager.current = this;
+ }
+
+ if ($.ui.ddmanager && !o.dropBehaviour) {
+ $.ui.ddmanager.prepareOffsets(this, event);
+ }
+
+ this.dragging = true;
+
+ this.helper.addClass("ui-sortable-helper");
+ this._mouseDrag(event); //Execute the drag once - this causes the helper not to be visible before getting its correct position
+ return true;
+
+ },
+
+ _mouseDrag: function(event) {
+ var i, item, itemElement, intersection,
+ o = this.options,
+ scrolled = false;
+
+ //Compute the helpers position
+ this.position = this._generatePosition(event);
+ this.positionAbs = this._convertPositionTo("absolute");
+
+ if (!this.lastPositionAbs) {
+ this.lastPositionAbs = this.positionAbs;
+ }
+
+ //Do scrolling
+ if(this.options.scroll) {
+ if(this.scrollParent[0] !== document && this.scrollParent[0].tagName !== "HTML") {
+
+ if((this.overflowOffset.top + this.scrollParent[0].offsetHeight) - event.pageY < o.scrollSensitivity) {
+ this.scrollParent[0].scrollTop = scrolled = this.scrollParent[0].scrollTop + o.scrollSpeed;
+ } else if(event.pageY - this.overflowOffset.top < o.scrollSensitivity) {
+ this.scrollParent[0].scrollTop = scrolled = this.scrollParent[0].scrollTop - o.scrollSpeed;
+ }
+
+ if((this.overflowOffset.left + this.scrollParent[0].offsetWidth) - event.pageX < o.scrollSensitivity) {
+ this.scrollParent[0].scrollLeft = scrolled = this.scrollParent[0].scrollLeft + o.scrollSpeed;
+ } else if(event.pageX - this.overflowOffset.left < o.scrollSensitivity) {
+ this.scrollParent[0].scrollLeft = scrolled = this.scrollParent[0].scrollLeft - o.scrollSpeed;
+ }
+
+ } else {
+
+ if(event.pageY - $(document).scrollTop() < o.scrollSensitivity) {
+ scrolled = $(document).scrollTop($(document).scrollTop() - o.scrollSpeed);
+ } else if($(window).height() - (event.pageY - $(document).scrollTop()) < o.scrollSensitivity) {
+ scrolled = $(document).scrollTop($(document).scrollTop() + o.scrollSpeed);
+ }
+
+ if(event.pageX - $(document).scrollLeft() < o.scrollSensitivity) {
+ scrolled = $(document).scrollLeft($(document).scrollLeft() - o.scrollSpeed);
+ } else if($(window).width() - (event.pageX - $(document).scrollLeft()) < o.scrollSensitivity) {
+ scrolled = $(document).scrollLeft($(document).scrollLeft() + o.scrollSpeed);
+ }
+
+ }
+
+ if(scrolled !== false && $.ui.ddmanager && !o.dropBehaviour) {
+ $.ui.ddmanager.prepareOffsets(this, event);
+ }
+ }
+
+ //Regenerate the absolute position used for position checks
+ this.positionAbs = this._convertPositionTo("absolute");
+
+ //Set the helper position
+ if(!this.options.axis || this.options.axis !== "y") {
+ this.helper[0].style.left = this.position.left+"px";
+ }
+ if(!this.options.axis || this.options.axis !== "x") {
+ this.helper[0].style.top = this.position.top+"px";
+ }
+
+ //Rearrange
+ for (i = this.items.length - 1; i >= 0; i--) {
+
+ //Cache variables and intersection, continue if no intersection
+ item = this.items[i];
+ itemElement = item.item[0];
+ intersection = this._intersectsWithPointer(item);
+ if (!intersection) {
+ continue;
+ }
+
+ // Only put the placeholder inside the current Container, skip all
+ // items form other containers. This works because when moving
+ // an item from one container to another the
+ // currentContainer is switched before the placeholder is moved.
+ //
+ // Without this moving items in "sub-sortables" can cause the placeholder to jitter
+ // beetween the outer and inner container.
+ if (item.instance !== this.currentContainer) {
+ continue;
+ }
+
+ // cannot intersect with itself
+ // no useless actions that have been done before
+ // no action if the item moved is the parent of the item checked
+ if (itemElement !== this.currentItem[0] &&
+ this.placeholder[intersection === 1 ? "next" : "prev"]()[0] !== itemElement &&
+ !$.contains(this.placeholder[0], itemElement) &&
+ (this.options.type === "semi-dynamic" ? !$.contains(this.element[0], itemElement) : true)
+ ) {
+
+ this.direction = intersection === 1 ? "down" : "up";
+
+ if (this.options.tolerance === "pointer" || this._intersectsWithSides(item)) {
+ this._rearrange(event, item);
+ } else {
+ break;
+ }
+
+ this._trigger("change", event, this._uiHash());
+ break;
+ }
+ }
+
+ //Post events to containers
+ this._contactContainers(event);
+
+ //Interconnect with droppables
+ if($.ui.ddmanager) {
+ $.ui.ddmanager.drag(this, event);
+ }
+
+ //Call callbacks
+ this._trigger("sort", event, this._uiHash());
+
+ this.lastPositionAbs = this.positionAbs;
+ return false;
+
+ },
+
+ _mouseStop: function(event, noPropagation) {
+
+ if(!event) {
+ return;
+ }
+
+ //If we are using droppables, inform the manager about the drop
+ if ($.ui.ddmanager && !this.options.dropBehaviour) {
+ $.ui.ddmanager.drop(this, event);
+ }
+
+ if(this.options.revert) {
+ var that = this,
+ cur = this.placeholder.offset();
+
+ this.reverting = true;
+
+ $(this.helper).animate({
+ left: cur.left - this.offset.parent.left - this.margins.left + (this.offsetParent[0] === document.body ? 0 : this.offsetParent[0].scrollLeft),
+ top: cur.top - this.offset.parent.top - this.margins.top + (this.offsetParent[0] === document.body ? 0 : this.offsetParent[0].scrollTop)
+ }, parseInt(this.options.revert, 10) || 500, function() {
+ that._clear(event);
+ });
+ } else {
+ this._clear(event, noPropagation);
+ }
+
+ return false;
+
+ },
+
+ cancel: function() {
+
+ if(this.dragging) {
+
+ this._mouseUp({ target: null });
+
+ if(this.options.helper === "original") {
+ this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper");
+ } else {
+ this.currentItem.show();
+ }
+
+ //Post deactivating events to containers
+ for (var i = this.containers.length - 1; i >= 0; i--){
+ this.containers[i]._trigger("deactivate", null, this._uiHash(this));
+ if(this.containers[i].containerCache.over) {
+ this.containers[i]._trigger("out", null, this._uiHash(this));
+ this.containers[i].containerCache.over = 0;
+ }
+ }
+
+ }
+
+ if (this.placeholder) {
+ //$(this.placeholder[0]).remove(); would have been the jQuery way - unfortunately, it unbinds ALL events from the original node!
+ if(this.placeholder[0].parentNode) {
+ this.placeholder[0].parentNode.removeChild(this.placeholder[0]);
+ }
+ if(this.options.helper !== "original" && this.helper && this.helper[0].parentNode) {
+ this.helper.remove();
+ }
+
+ $.extend(this, {
+ helper: null,
+ dragging: false,
+ reverting: false,
+ _noFinalSort: null
+ });
+
+ if(this.domPosition.prev) {
+ $(this.domPosition.prev).after(this.currentItem);
+ } else {
+ $(this.domPosition.parent).prepend(this.currentItem);
+ }
+ }
+
+ return this;
+
+ },
+
+ serialize: function(o) {
+
+ var items = this._getItemsAsjQuery(o && o.connected),
+ str = [];
+ o = o || {};
+
+ $(items).each(function() {
+ var res = ($(o.item || this).attr(o.attribute || "id") || "").match(o.expression || (/(.+)[\-=_](.+)/));
+ if (res) {
+ str.push((o.key || res[1]+"[]")+"="+(o.key && o.expression ? res[1] : res[2]));
+ }
+ });
+
+ if(!str.length && o.key) {
+ str.push(o.key + "=");
+ }
+
+ return str.join("&");
+
+ },
+
+ toArray: function(o) {
+
+ var items = this._getItemsAsjQuery(o && o.connected),
+ ret = [];
+
+ o = o || {};
+
+ items.each(function() { ret.push($(o.item || this).attr(o.attribute || "id") || ""); });
+ return ret;
+
+ },
+
+ /* Be careful with the following core functions */
+ _intersectsWith: function(item) {
+
+ var x1 = this.positionAbs.left,
+ x2 = x1 + this.helperProportions.width,
+ y1 = this.positionAbs.top,
+ y2 = y1 + this.helperProportions.height,
+ l = item.left,
+ r = l + item.width,
+ t = item.top,
+ b = t + item.height,
+ dyClick = this.offset.click.top,
+ dxClick = this.offset.click.left,
+ isOverElement = (y1 + dyClick) > t && (y1 + dyClick) < b && (x1 + dxClick) > l && (x1 + dxClick) < r;
+
+ if ( this.options.tolerance === "pointer" ||
+ this.options.forcePointerForContainers ||
+ (this.options.tolerance !== "pointer" && this.helperProportions[this.floating ? "width" : "height"] > item[this.floating ? "width" : "height"])
+ ) {
+ return isOverElement;
+ } else {
+
+ return (l < x1 + (this.helperProportions.width / 2) && // Right Half
+ x2 - (this.helperProportions.width / 2) < r && // Left Half
+ t < y1 + (this.helperProportions.height / 2) && // Bottom Half
+ y2 - (this.helperProportions.height / 2) < b ); // Top Half
+
+ }
+ },
+
+ _intersectsWithPointer: function(item) {
+
+ var isOverElementHeight = (this.options.axis === "x") || isOverAxis(this.positionAbs.top + this.offset.click.top, item.top, item.height),
+ isOverElementWidth = (this.options.axis === "y") || isOverAxis(this.positionAbs.left + this.offset.click.left, item.left, item.width),
+ isOverElement = isOverElementHeight && isOverElementWidth,
+ verticalDirection = this._getDragVerticalDirection(),
+ horizontalDirection = this._getDragHorizontalDirection();
+
+ if (!isOverElement) {
+ return false;
+ }
+
+ return this.floating ?
+ ( ((horizontalDirection && horizontalDirection === "right") || verticalDirection === "down") ? 2 : 1 )
+ : ( verticalDirection && (verticalDirection === "down" ? 2 : 1) );
+
+ },
+
+ _intersectsWithSides: function(item) {
+
+ var isOverBottomHalf = isOverAxis(this.positionAbs.top + this.offset.click.top, item.top + (item.height/2), item.height),
+ isOverRightHalf = isOverAxis(this.positionAbs.left + this.offset.click.left, item.left + (item.width/2), item.width),
+ verticalDirection = this._getDragVerticalDirection(),
+ horizontalDirection = this._getDragHorizontalDirection();
+
+ if (this.floating && horizontalDirection) {
+ return ((horizontalDirection === "right" && isOverRightHalf) || (horizontalDirection === "left" && !isOverRightHalf));
+ } else {
+ return verticalDirection && ((verticalDirection === "down" && isOverBottomHalf) || (verticalDirection === "up" && !isOverBottomHalf));
+ }
+
+ },
+
+ _getDragVerticalDirection: function() {
+ var delta = this.positionAbs.top - this.lastPositionAbs.top;
+ return delta !== 0 && (delta > 0 ? "down" : "up");
+ },
+
+ _getDragHorizontalDirection: function() {
+ var delta = this.positionAbs.left - this.lastPositionAbs.left;
+ return delta !== 0 && (delta > 0 ? "right" : "left");
+ },
+
+ refresh: function(event) {
+ this._refreshItems(event);
+ this.refreshPositions();
+ return this;
+ },
+
+ _connectWith: function() {
+ var options = this.options;
+ return options.connectWith.constructor === String ? [options.connectWith] : options.connectWith;
+ },
+
+ _getItemsAsjQuery: function(connected) {
+
+ var i, j, cur, inst,
+ items = [],
+ queries = [],
+ connectWith = this._connectWith();
+
+ if(connectWith && connected) {
+ for (i = connectWith.length - 1; i >= 0; i--){
+ cur = $(connectWith[i]);
+ for ( j = cur.length - 1; j >= 0; j--){
+ inst = $.data(cur[j], this.widgetFullName);
+ if(inst && inst !== this && !inst.options.disabled) {
+ queries.push([$.isFunction(inst.options.items) ? inst.options.items.call(inst.element) : $(inst.options.items, inst.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"), inst]);
+ }
+ }
+ }
+ }
+
+ queries.push([$.isFunction(this.options.items) ? this.options.items.call(this.element, null, { options: this.options, item: this.currentItem }) : $(this.options.items, this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"), this]);
+
+ for (i = queries.length - 1; i >= 0; i--){
+ queries[i][0].each(function() {
+ items.push(this);
+ });
+ }
+
+ return $(items);
+
+ },
+
+ _removeCurrentsFromItems: function() {
+
+ var list = this.currentItem.find(":data(" + this.widgetName + "-item)");
+
+ this.items = $.grep(this.items, function (item) {
+ for (var j=0; j < list.length; j++) {
+ if(list[j] === item.item[0]) {
+ return false;
+ }
+ }
+ return true;
+ });
+
+ },
+
+ _refreshItems: function(event) {
+
+ this.items = [];
+ this.containers = [this];
+
+ var i, j, cur, inst, targetData, _queries, item, queriesLength,
+ items = this.items,
+ queries = [[$.isFunction(this.options.items) ? this.options.items.call(this.element[0], event, { item: this.currentItem }) : $(this.options.items, this.element), this]],
+ connectWith = this._connectWith();
+
+ if(connectWith && this.ready) { //Shouldn't be run the first time through due to massive slow-down
+ for (i = connectWith.length - 1; i >= 0; i--){
+ cur = $(connectWith[i]);
+ for (j = cur.length - 1; j >= 0; j--){
+ inst = $.data(cur[j], this.widgetFullName);
+ if(inst && inst !== this && !inst.options.disabled) {
+ queries.push([$.isFunction(inst.options.items) ? inst.options.items.call(inst.element[0], event, { item: this.currentItem }) : $(inst.options.items, inst.element), inst]);
+ this.containers.push(inst);
+ }
+ }
+ }
+ }
+
+ for (i = queries.length - 1; i >= 0; i--) {
+ targetData = queries[i][1];
+ _queries = queries[i][0];
+
+ for (j=0, queriesLength = _queries.length; j < queriesLength; j++) {
+ item = $(_queries[j]);
+
+ item.data(this.widgetName + "-item", targetData); // Data for target checking (mouse manager)
+
+ items.push({
+ item: item,
+ instance: targetData,
+ width: 0, height: 0,
+ left: 0, top: 0
+ });
+ }
+ }
+
+ },
+
+ refreshPositions: function(fast) {
+
+ //This has to be redone because due to the item being moved out/into the offsetParent, the offsetParent's position will change
+ if(this.offsetParent && this.helper) {
+ this.offset.parent = this._getParentOffset();
+ }
+
+ var i, item, t, p;
+
+ for (i = this.items.length - 1; i >= 0; i--){
+ item = this.items[i];
+
+ //We ignore calculating positions of all connected containers when we're not over them
+ if(item.instance !== this.currentContainer && this.currentContainer && item.item[0] !== this.currentItem[0]) {
+ continue;
+ }
+
+ t = this.options.toleranceElement ? $(this.options.toleranceElement, item.item) : item.item;
+
+ if (!fast) {
+ item.width = t.outerWidth();
+ item.height = t.outerHeight();
+ }
+
+ p = t.offset();
+ item.left = p.left;
+ item.top = p.top;
+ }
+
+ if(this.options.custom && this.options.custom.refreshContainers) {
+ this.options.custom.refreshContainers.call(this);
+ } else {
+ for (i = this.containers.length - 1; i >= 0; i--){
+ p = this.containers[i].element.offset();
+ this.containers[i].containerCache.left = p.left;
+ this.containers[i].containerCache.top = p.top;
+ this.containers[i].containerCache.width = this.containers[i].element.outerWidth();
+ this.containers[i].containerCache.height = this.containers[i].element.outerHeight();
+ }
+ }
+
+ return this;
+ },
+
+ _createPlaceholder: function(that) {
+ that = that || this;
+ var className,
+ o = that.options;
+
+ if(!o.placeholder || o.placeholder.constructor === String) {
+ className = o.placeholder;
+ o.placeholder = {
+ element: function() {
+
+ var el = $(document.createElement(that.currentItem[0].nodeName))
+ .addClass(className || that.currentItem[0].className+" ui-sortable-placeholder")
+ .removeClass("ui-sortable-helper")[0];
+
+ if(!className) {
+ el.style.visibility = "hidden";
+ }
+
+ return el;
+ },
+ update: function(container, p) {
+
+ // 1. If a className is set as 'placeholder option, we don't force sizes - the class is responsible for that
+ // 2. The option 'forcePlaceholderSize can be enabled to force it even if a class name is specified
+ if(className && !o.forcePlaceholderSize) {
+ return;
+ }
+
+ //If the element doesn't have a actual height by itself (without styles coming from a stylesheet), it receives the inline height from the dragged item
+ if(!p.height()) { p.height(that.currentItem.innerHeight() - parseInt(that.currentItem.css("paddingTop")||0, 10) - parseInt(that.currentItem.css("paddingBottom")||0, 10)); }
+ if(!p.width()) { p.width(that.currentItem.innerWidth() - parseInt(that.currentItem.css("paddingLeft")||0, 10) - parseInt(that.currentItem.css("paddingRight")||0, 10)); }
+ }
+ };
+ }
+
+ //Create the placeholder
+ that.placeholder = $(o.placeholder.element.call(that.element, that.currentItem));
+
+ //Append it after the actual current item
+ that.currentItem.after(that.placeholder);
+
+ //Update the size of the placeholder (TODO: Logic to fuzzy, see line 316/317)
+ o.placeholder.update(that, that.placeholder);
+
+ },
+
+ _contactContainers: function(event) {
+ var i, j, dist, itemWithLeastDistance, posProperty, sizeProperty, base, cur, nearBottom,
+ innermostContainer = null,
+ innermostIndex = null;
+
+ // get innermost container that intersects with item
+ for (i = this.containers.length - 1; i >= 0; i--) {
+
+ // never consider a container that's located within the item itself
+ if($.contains(this.currentItem[0], this.containers[i].element[0])) {
+ continue;
+ }
+
+ if(this._intersectsWith(this.containers[i].containerCache)) {
+
+ // if we've already found a container and it's more "inner" than this, then continue
+ if(innermostContainer && $.contains(this.containers[i].element[0], innermostContainer.element[0])) {
+ continue;
+ }
+
+ innermostContainer = this.containers[i];
+ innermostIndex = i;
+
+ } else {
+ // container doesn't intersect. trigger "out" event if necessary
+ if(this.containers[i].containerCache.over) {
+ this.containers[i]._trigger("out", event, this._uiHash(this));
+ this.containers[i].containerCache.over = 0;
+ }
+ }
+
+ }
+
+ // if no intersecting containers found, return
+ if(!innermostContainer) {
+ return;
+ }
+
+ // move the item into the container if it's not there already
+ if(this.containers.length === 1) {
+ this.containers[innermostIndex]._trigger("over", event, this._uiHash(this));
+ this.containers[innermostIndex].containerCache.over = 1;
+ } else {
+
+ //When entering a new container, we will find the item with the least distance and append our item near it
+ dist = 10000;
+ itemWithLeastDistance = null;
+ posProperty = this.containers[innermostIndex].floating ? "left" : "top";
+ sizeProperty = this.containers[innermostIndex].floating ? "width" : "height";
+ base = this.positionAbs[posProperty] + this.offset.click[posProperty];
+ for (j = this.items.length - 1; j >= 0; j--) {
+ if(!$.contains(this.containers[innermostIndex].element[0], this.items[j].item[0])) {
+ continue;
+ }
+ if(this.items[j].item[0] === this.currentItem[0]) {
+ continue;
+ }
+ cur = this.items[j].item.offset()[posProperty];
+ nearBottom = false;
+ if(Math.abs(cur - base) > Math.abs(cur + this.items[j][sizeProperty] - base)){
+ nearBottom = true;
+ cur += this.items[j][sizeProperty];
+ }
+
+ if(Math.abs(cur - base) < dist) {
+ dist = Math.abs(cur - base); itemWithLeastDistance = this.items[j];
+ this.direction = nearBottom ? "up": "down";
+ }
+ }
+
+ //Check if dropOnEmpty is enabled
+ if(!itemWithLeastDistance && !this.options.dropOnEmpty) {
+ return;
+ }
+
+ this.currentContainer = this.containers[innermostIndex];
+ itemWithLeastDistance ? this._rearrange(event, itemWithLeastDistance, null, true) : this._rearrange(event, null, this.containers[innermostIndex].element, true);
+ this._trigger("change", event, this._uiHash());
+ this.containers[innermostIndex]._trigger("change", event, this._uiHash(this));
+
+ //Update the placeholder
+ this.options.placeholder.update(this.currentContainer, this.placeholder);
+
+ this.containers[innermostIndex]._trigger("over", event, this._uiHash(this));
+ this.containers[innermostIndex].containerCache.over = 1;
+ }
+
+
+ },
+
+ _createHelper: function(event) {
+
+ var o = this.options,
+ helper = $.isFunction(o.helper) ? $(o.helper.apply(this.element[0], [event, this.currentItem])) : (o.helper === "clone" ? this.currentItem.clone() : this.currentItem);
+
+ //Add the helper to the DOM if that didn't happen already
+ if(!helper.parents("body").length) {
+ $(o.appendTo !== "parent" ? o.appendTo : this.currentItem[0].parentNode)[0].appendChild(helper[0]);
+ }
+
+ if(helper[0] === this.currentItem[0]) {
+ this._storedCSS = { width: this.currentItem[0].style.width, height: this.currentItem[0].style.height, position: this.currentItem.css("position"), top: this.currentItem.css("top"), left: this.currentItem.css("left") };
+ }
+
+ if(!helper[0].style.width || o.forceHelperSize) {
+ helper.width(this.currentItem.width());
+ }
+ if(!helper[0].style.height || o.forceHelperSize) {
+ helper.height(this.currentItem.height());
+ }
+
+ return helper;
+
+ },
+
+ _adjustOffsetFromHelper: function(obj) {
+ if (typeof obj === "string") {
+ obj = obj.split(" ");
+ }
+ if ($.isArray(obj)) {
+ obj = {left: +obj[0], top: +obj[1] || 0};
+ }
+ if ("left" in obj) {
+ this.offset.click.left = obj.left + this.margins.left;
+ }
+ if ("right" in obj) {
+ this.offset.click.left = this.helperProportions.width - obj.right + this.margins.left;
+ }
+ if ("top" in obj) {
+ this.offset.click.top = obj.top + this.margins.top;
+ }
+ if ("bottom" in obj) {
+ this.offset.click.top = this.helperProportions.height - obj.bottom + this.margins.top;
+ }
+ },
+
+ _getParentOffset: function() {
+
+
+ //Get the offsetParent and cache its position
+ this.offsetParent = this.helper.offsetParent();
+ var po = this.offsetParent.offset();
+
+ // This is a special case where we need to modify a offset calculated on start, since the following happened:
+ // 1. The position of the helper is absolute, so it's position is calculated based on the next positioned parent
+ // 2. The actual offset parent is a child of the scroll parent, and the scroll parent isn't the document, which means that
+ // the scroll is included in the initial calculation of the offset of the parent, and never recalculated upon drag
+ if(this.cssPosition === "absolute" && this.scrollParent[0] !== document && $.contains(this.scrollParent[0], this.offsetParent[0])) {
+ po.left += this.scrollParent.scrollLeft();
+ po.top += this.scrollParent.scrollTop();
+ }
+
+ // This needs to be actually done for all browsers, since pageX/pageY includes this information
+ // with an ugly IE fix
+ if( this.offsetParent[0] === document.body || (this.offsetParent[0].tagName && this.offsetParent[0].tagName.toLowerCase() === "html" && $.ui.ie)) {
+ po = { top: 0, left: 0 };
+ }
+
+ return {
+ top: po.top + (parseInt(this.offsetParent.css("borderTopWidth"),10) || 0),
+ left: po.left + (parseInt(this.offsetParent.css("borderLeftWidth"),10) || 0)
+ };
+
+ },
+
+ _getRelativeOffset: function() {
+
+ if(this.cssPosition === "relative") {
+ var p = this.currentItem.position();
+ return {
+ top: p.top - (parseInt(this.helper.css("top"),10) || 0) + this.scrollParent.scrollTop(),
+ left: p.left - (parseInt(this.helper.css("left"),10) || 0) + this.scrollParent.scrollLeft()
+ };
+ } else {
+ return { top: 0, left: 0 };
+ }
+
+ },
+
+ _cacheMargins: function() {
+ this.margins = {
+ left: (parseInt(this.currentItem.css("marginLeft"),10) || 0),
+ top: (parseInt(this.currentItem.css("marginTop"),10) || 0)
+ };
+ },
+
+ _cacheHelperProportions: function() {
+ this.helperProportions = {
+ width: this.helper.outerWidth(),
+ height: this.helper.outerHeight()
+ };
+ },
+
+ _setContainment: function() {
+
+ var ce, co, over,
+ o = this.options;
+ if(o.containment === "parent") {
+ o.containment = this.helper[0].parentNode;
+ }
+ if(o.containment === "document" || o.containment === "window") {
+ this.containment = [
+ 0 - this.offset.relative.left - this.offset.parent.left,
+ 0 - this.offset.relative.top - this.offset.parent.top,
+ $(o.containment === "document" ? document : window).width() - this.helperProportions.width - this.margins.left,
+ ($(o.containment === "document" ? document : window).height() || document.body.parentNode.scrollHeight) - this.helperProportions.height - this.margins.top
+ ];
+ }
+
+ if(!(/^(document|window|parent)$/).test(o.containment)) {
+ ce = $(o.containment)[0];
+ co = $(o.containment).offset();
+ over = ($(ce).css("overflow") !== "hidden");
+
+ this.containment = [
+ co.left + (parseInt($(ce).css("borderLeftWidth"),10) || 0) + (parseInt($(ce).css("paddingLeft"),10) || 0) - this.margins.left,
+ co.top + (parseInt($(ce).css("borderTopWidth"),10) || 0) + (parseInt($(ce).css("paddingTop"),10) || 0) - this.margins.top,
+ co.left+(over ? Math.max(ce.scrollWidth,ce.offsetWidth) : ce.offsetWidth) - (parseInt($(ce).css("borderLeftWidth"),10) || 0) - (parseInt($(ce).css("paddingRight"),10) || 0) - this.helperProportions.width - this.margins.left,
+ co.top+(over ? Math.max(ce.scrollHeight,ce.offsetHeight) : ce.offsetHeight) - (parseInt($(ce).css("borderTopWidth"),10) || 0) - (parseInt($(ce).css("paddingBottom"),10) || 0) - this.helperProportions.height - this.margins.top
+ ];
+ }
+
+ },
+
+ _convertPositionTo: function(d, pos) {
+
+ if(!pos) {
+ pos = this.position;
+ }
+ var mod = d === "absolute" ? 1 : -1,
+ scroll = this.cssPosition === "absolute" && !(this.scrollParent[0] !== document && $.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent : this.scrollParent,
+ scrollIsRootNode = (/(html|body)/i).test(scroll[0].tagName);
+
+ return {
+ top: (
+ pos.top + // The absolute mouse position
+ this.offset.relative.top * mod + // Only for relative positioned nodes: Relative offset from element to offset parent
+ this.offset.parent.top * mod - // The offsetParent's offset without borders (offset + border)
+ ( ( this.cssPosition === "fixed" ? -this.scrollParent.scrollTop() : ( scrollIsRootNode ? 0 : scroll.scrollTop() ) ) * mod)
+ ),
+ left: (
+ pos.left + // The absolute mouse position
+ this.offset.relative.left * mod + // Only for relative positioned nodes: Relative offset from element to offset parent
+ this.offset.parent.left * mod - // The offsetParent's offset without borders (offset + border)
+ ( ( this.cssPosition === "fixed" ? -this.scrollParent.scrollLeft() : scrollIsRootNode ? 0 : scroll.scrollLeft() ) * mod)
+ )
+ };
+
+ },
+
+ _generatePosition: function(event) {
+
+ var top, left,
+ o = this.options,
+ pageX = event.pageX,
+ pageY = event.pageY,
+ scroll = this.cssPosition === "absolute" && !(this.scrollParent[0] !== document && $.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent : this.scrollParent, scrollIsRootNode = (/(html|body)/i).test(scroll[0].tagName);
+
+ // This is another very weird special case that only happens for relative elements:
+ // 1. If the css position is relative
+ // 2. and the scroll parent is the document or similar to the offset parent
+ // we have to refresh the relative offset during the scroll so there are no jumps
+ if(this.cssPosition === "relative" && !(this.scrollParent[0] !== document && this.scrollParent[0] !== this.offsetParent[0])) {
+ this.offset.relative = this._getRelativeOffset();
+ }
+
+ /*
+ * - Position constraining -
+ * Constrain the position to a mix of grid, containment.
+ */
+
+ if(this.originalPosition) { //If we are not dragging yet, we won't check for options
+
+ if(this.containment) {
+ if(event.pageX - this.offset.click.left < this.containment[0]) {
+ pageX = this.containment[0] + this.offset.click.left;
+ }
+ if(event.pageY - this.offset.click.top < this.containment[1]) {
+ pageY = this.containment[1] + this.offset.click.top;
+ }
+ if(event.pageX - this.offset.click.left > this.containment[2]) {
+ pageX = this.containment[2] + this.offset.click.left;
+ }
+ if(event.pageY - this.offset.click.top > this.containment[3]) {
+ pageY = this.containment[3] + this.offset.click.top;
+ }
+ }
+
+ if(o.grid) {
+ top = this.originalPageY + Math.round((pageY - this.originalPageY) / o.grid[1]) * o.grid[1];
+ pageY = this.containment ? ( (top - this.offset.click.top >= this.containment[1] && top - this.offset.click.top <= this.containment[3]) ? top : ((top - this.offset.click.top >= this.containment[1]) ? top - o.grid[1] : top + o.grid[1])) : top;
+
+ left = this.originalPageX + Math.round((pageX - this.originalPageX) / o.grid[0]) * o.grid[0];
+ pageX = this.containment ? ( (left - this.offset.click.left >= this.containment[0] && left - this.offset.click.left <= this.containment[2]) ? left : ((left - this.offset.click.left >= this.containment[0]) ? left - o.grid[0] : left + o.grid[0])) : left;
+ }
+
+ }
+
+ return {
+ top: (
+ pageY - // The absolute mouse position
+ this.offset.click.top - // Click offset (relative to the element)
+ this.offset.relative.top - // Only for relative positioned nodes: Relative offset from element to offset parent
+ this.offset.parent.top + // The offsetParent's offset without borders (offset + border)
+ ( ( this.cssPosition === "fixed" ? -this.scrollParent.scrollTop() : ( scrollIsRootNode ? 0 : scroll.scrollTop() ) ))
+ ),
+ left: (
+ pageX - // The absolute mouse position
+ this.offset.click.left - // Click offset (relative to the element)
+ this.offset.relative.left - // Only for relative positioned nodes: Relative offset from element to offset parent
+ this.offset.parent.left + // The offsetParent's offset without borders (offset + border)
+ ( ( this.cssPosition === "fixed" ? -this.scrollParent.scrollLeft() : scrollIsRootNode ? 0 : scroll.scrollLeft() ))
+ )
+ };
+
+ },
+
+ _rearrange: function(event, i, a, hardRefresh) {
+
+ a ? a[0].appendChild(this.placeholder[0]) : i.item[0].parentNode.insertBefore(this.placeholder[0], (this.direction === "down" ? i.item[0] : i.item[0].nextSibling));
+
+ //Various things done here to improve the performance:
+ // 1. we create a setTimeout, that calls refreshPositions
+ // 2. on the instance, we have a counter variable, that get's higher after every append
+ // 3. on the local scope, we copy the counter variable, and check in the timeout, if it's still the same
+ // 4. this lets only the last addition to the timeout stack through
+ this.counter = this.counter ? ++this.counter : 1;
+ var counter = this.counter;
+
+ this._delay(function() {
+ if(counter === this.counter) {
+ this.refreshPositions(!hardRefresh); //Precompute after each DOM insertion, NOT on mousemove
+ }
+ });
+
+ },
+
+ _clear: function(event, noPropagation) {
+
+ this.reverting = false;
+ // We delay all events that have to be triggered to after the point where the placeholder has been removed and
+ // everything else normalized again
+ var i,
+ delayedTriggers = [];
+
+ // We first have to update the dom position of the actual currentItem
+ // Note: don't do it if the current item is already removed (by a user), or it gets reappended (see #4088)
+ if(!this._noFinalSort && this.currentItem.parent().length) {
+ this.placeholder.before(this.currentItem);
+ }
+ this._noFinalSort = null;
+
+ if(this.helper[0] === this.currentItem[0]) {
+ for(i in this._storedCSS) {
+ if(this._storedCSS[i] === "auto" || this._storedCSS[i] === "static") {
+ this._storedCSS[i] = "";
+ }
+ }
+ this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper");
+ } else {
+ this.currentItem.show();
+ }
+
+ if(this.fromOutside && !noPropagation) {
+ delayedTriggers.push(function(event) { this._trigger("receive", event, this._uiHash(this.fromOutside)); });
+ }
+ if((this.fromOutside || this.domPosition.prev !== this.currentItem.prev().not(".ui-sortable-helper")[0] || this.domPosition.parent !== this.currentItem.parent()[0]) && !noPropagation) {
+ delayedTriggers.push(function(event) { this._trigger("update", event, this._uiHash()); }); //Trigger update callback if the DOM position has changed
+ }
+
+ // Check if the items Container has Changed and trigger appropriate
+ // events.
+ if (this !== this.currentContainer) {
+ if(!noPropagation) {
+ delayedTriggers.push(function(event) { this._trigger("remove", event, this._uiHash()); });
+ delayedTriggers.push((function(c) { return function(event) { c._trigger("receive", event, this._uiHash(this)); }; }).call(this, this.currentContainer));
+ delayedTriggers.push((function(c) { return function(event) { c._trigger("update", event, this._uiHash(this)); }; }).call(this, this.currentContainer));
+ }
+ }
+
+
+ //Post events to containers
+ for (i = this.containers.length - 1; i >= 0; i--){
+ if(!noPropagation) {
+ delayedTriggers.push((function(c) { return function(event) { c._trigger("deactivate", event, this._uiHash(this)); }; }).call(this, this.containers[i]));
+ }
+ if(this.containers[i].containerCache.over) {
+ delayedTriggers.push((function(c) { return function(event) { c._trigger("out", event, this._uiHash(this)); }; }).call(this, this.containers[i]));
+ this.containers[i].containerCache.over = 0;
+ }
+ }
+
+ //Do what was originally in plugins
+ if(this._storedCursor) {
+ $("body").css("cursor", this._storedCursor);
+ }
+ if(this._storedOpacity) {
+ this.helper.css("opacity", this._storedOpacity);
+ }
+ if(this._storedZIndex) {
+ this.helper.css("zIndex", this._storedZIndex === "auto" ? "" : this._storedZIndex);
+ }
+
+ this.dragging = false;
+ if(this.cancelHelperRemoval) {
+ if(!noPropagation) {
+ this._trigger("beforeStop", event, this._uiHash());
+ for (i=0; i < delayedTriggers.length; i++) {
+ delayedTriggers[i].call(this, event);
+ } //Trigger all delayed events
+ this._trigger("stop", event, this._uiHash());
+ }
+
+ this.fromOutside = false;
+ return false;
+ }
+
+ if(!noPropagation) {
+ this._trigger("beforeStop", event, this._uiHash());
+ }
+
+ //$(this.placeholder[0]).remove(); would have been the jQuery way - unfortunately, it unbinds ALL events from the original node!
+ this.placeholder[0].parentNode.removeChild(this.placeholder[0]);
+
+ if(this.helper[0] !== this.currentItem[0]) {
+ this.helper.remove();
+ }
+ this.helper = null;
+
+ if(!noPropagation) {
+ for (i=0; i < delayedTriggers.length; i++) {
+ delayedTriggers[i].call(this, event);
+ } //Trigger all delayed events
+ this._trigger("stop", event, this._uiHash());
+ }
+
+ this.fromOutside = false;
+ return true;
+
+ },
+
+ _trigger: function() {
+ if ($.Widget.prototype._trigger.apply(this, arguments) === false) {
+ this.cancel();
+ }
+ },
+
+ _uiHash: function(_inst) {
+ var inst = _inst || this;
+ return {
+ helper: inst.helper,
+ placeholder: inst.placeholder || $([]),
+ position: inst.position,
+ originalPosition: inst.originalPosition,
+ offset: inst.positionAbs,
+ item: inst.currentItem,
+ sender: _inst ? _inst.element : null
+ };
+ }
+
+});
+
+})(jQuery);
+(function( $, undefined ) {
+
+var uid = 0,
+ hideProps = {},
+ showProps = {};
+
+hideProps.height = hideProps.paddingTop = hideProps.paddingBottom =
+ hideProps.borderTopWidth = hideProps.borderBottomWidth = "hide";
+showProps.height = showProps.paddingTop = showProps.paddingBottom =
+ showProps.borderTopWidth = showProps.borderBottomWidth = "show";
+
+$.widget( "ui.accordion", {
+ version: "1.10.0",
+ options: {
+ active: 0,
+ animate: {},
+ collapsible: false,
+ event: "click",
+ header: "> li > :first-child,> :not(li):even",
+ heightStyle: "auto",
+ icons: {
+ activeHeader: "ui-icon-triangle-1-s",
+ header: "ui-icon-triangle-1-e"
+ },
+
+ // callbacks
+ activate: null,
+ beforeActivate: null
+ },
+
+ _create: function() {
+ var options = this.options;
+ this.prevShow = this.prevHide = $();
+ this.element.addClass( "ui-accordion ui-widget ui-helper-reset" )
+ // ARIA
+ .attr( "role", "tablist" );
+
+ // don't allow collapsible: false and active: false / null
+ if ( !options.collapsible && (options.active === false || options.active == null) ) {
+ options.active = 0;
+ }
+
+ this._processPanels();
+ // handle negative values
+ if ( options.active < 0 ) {
+ options.active += this.headers.length;
+ }
+ this._refresh();
+ },
+
+ _getCreateEventData: function() {
+ return {
+ header: this.active,
+ content: !this.active.length ? $() : this.active.next()
+ };
+ },
+
+ _createIcons: function() {
+ var icons = this.options.icons;
+ if ( icons ) {
+ $( "<span>" )
+ .addClass( "ui-accordion-header-icon ui-icon " + icons.header )
+ .prependTo( this.headers );
+ this.active.children( ".ui-accordion-header-icon" )
+ .removeClass( icons.header )
+ .addClass( icons.activeHeader );
+ this.headers.addClass( "ui-accordion-icons" );
+ }
+ },
+
+ _destroyIcons: function() {
+ this.headers
+ .removeClass( "ui-accordion-icons" )
+ .children( ".ui-accordion-header-icon" )
+ .remove();
+ },
+
+ _destroy: function() {
+ var contents;
+
+ // clean up main element
+ this.element
+ .removeClass( "ui-accordion ui-widget ui-helper-reset" )
+ .removeAttr( "role" );
+
+ // clean up headers
+ this.headers
+ .removeClass( "ui-accordion-header ui-accordion-header-active ui-helper-reset ui-state-default ui-corner-all ui-state-active ui-state-disabled ui-corner-top" )
+ .removeAttr( "role" )
+ .removeAttr( "aria-selected" )
+ .removeAttr( "aria-controls" )
+ .removeAttr( "tabIndex" )
+ .each(function() {
+ if ( /^ui-accordion/.test( this.id ) ) {
+ this.removeAttribute( "id" );
+ }
+ });
+ this._destroyIcons();
+
+ // clean up content panels
+ contents = this.headers.next()
+ .css( "display", "" )
+ .removeAttr( "role" )
+ .removeAttr( "aria-expanded" )
+ .removeAttr( "aria-hidden" )
+ .removeAttr( "aria-labelledby" )
+ .removeClass( "ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-state-disabled" )
+ .each(function() {
+ if ( /^ui-accordion/.test( this.id ) ) {
+ this.removeAttribute( "id" );
+ }
+ });
+ if ( this.options.heightStyle !== "content" ) {
+ contents.css( "height", "" );
+ }
+ },
+
+ _setOption: function( key, value ) {
+ if ( key === "active" ) {
+ // _activate() will handle invalid values and update this.options
+ this._activate( value );
+ return;
+ }
+
+ if ( key === "event" ) {
+ if ( this.options.event ) {
+ this._off( this.headers, this.options.event );
+ }
+ this._setupEvents( value );
+ }
+
+ this._super( key, value );
+
+ // setting collapsible: false while collapsed; open first panel
+ if ( key === "collapsible" && !value && this.options.active === false ) {
+ this._activate( 0 );
+ }
+
+ if ( key === "icons" ) {
+ this._destroyIcons();
+ if ( value ) {
+ this._createIcons();
+ }
+ }
+
+ // #5332 - opacity doesn't cascade to positioned elements in IE
+ // so we need to add the disabled class to the headers and panels
+ if ( key === "disabled" ) {
+ this.headers.add( this.headers.next() )
+ .toggleClass( "ui-state-disabled", !!value );
+ }
+ },
+
+ _keydown: function( event ) {
+ /*jshint maxcomplexity:15*/
+ if ( event.altKey || event.ctrlKey ) {
+ return;
+ }
+
+ var keyCode = $.ui.keyCode,
+ length = this.headers.length,
+ currentIndex = this.headers.index( event.target ),
+ toFocus = false;
+
+ switch ( event.keyCode ) {
+ case keyCode.RIGHT:
+ case keyCode.DOWN:
+ toFocus = this.headers[ ( currentIndex + 1 ) % length ];
+ break;
+ case keyCode.LEFT:
+ case keyCode.UP:
+ toFocus = this.headers[ ( currentIndex - 1 + length ) % length ];
+ break;
+ case keyCode.SPACE:
+ case keyCode.ENTER:
+ this._eventHandler( event );
+ break;
+ case keyCode.HOME:
+ toFocus = this.headers[ 0 ];
+ break;
+ case keyCode.END:
+ toFocus = this.headers[ length - 1 ];
+ break;
+ }
+
+ if ( toFocus ) {
+ $( event.target ).attr( "tabIndex", -1 );
+ $( toFocus ).attr( "tabIndex", 0 );
+ toFocus.focus();
+ event.preventDefault();
+ }
+ },
+
+ _panelKeyDown : function( event ) {
+ if ( event.keyCode === $.ui.keyCode.UP && event.ctrlKey ) {
+ $( event.currentTarget ).prev().focus();
+ }
+ },
+
+ refresh: function() {
+ var options = this.options;
+ this._processPanels();
+
+ // was collapsed or no panel
+ if ( ( options.active === false && options.collapsible === true ) || !this.headers.length ) {
+ options.active = false;
+ this.active = $();
+ // active false only when collapsible is true
+ } if ( options.active === false ) {
+ this._activate( 0 );
+ // was active, but active panel is gone
+ } else if ( this.active.length && !$.contains( this.element[ 0 ], this.active[ 0 ] ) ) {
+ // all remaining panel are disabled
+ if ( this.headers.length === this.headers.find(".ui-state-disabled").length ) {
+ options.active = false;
+ this.active = $();
+ // activate previous panel
+ } else {
+ this._activate( Math.max( 0, options.active - 1 ) );
+ }
+ // was active, active panel still exists
+ } else {
+ // make sure active index is correct
+ options.active = this.headers.index( this.active );
+ }
+
+ this._destroyIcons();
+
+ this._refresh();
+ },
+
+ _processPanels: function() {
+ this.headers = this.element.find( this.options.header )
+ .addClass( "ui-accordion-header ui-helper-reset ui-state-default ui-corner-all" );
+
+ this.headers.next()
+ .addClass( "ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom" )
+ .filter(":not(.ui-accordion-content-active)")
+ .hide();
+ },
+
+ _refresh: function() {
+ var maxHeight,
+ options = this.options,
+ heightStyle = options.heightStyle,
+ parent = this.element.parent(),
+ accordionId = this.accordionId = "ui-accordion-" +
+ (this.element.attr( "id" ) || ++uid);
+
+ this.active = this._findActive( options.active )
+ .addClass( "ui-accordion-header-active ui-state-active" )
+ .toggleClass( "ui-corner-all ui-corner-top" );
+ this.active.next()
+ .addClass( "ui-accordion-content-active" )
+ .show();
+
+ this.headers
+ .attr( "role", "tab" )
+ .each(function( i ) {
+ var header = $( this ),
+ headerId = header.attr( "id" ),
+ panel = header.next(),
+ panelId = panel.attr( "id" );
+ if ( !headerId ) {
+ headerId = accordionId + "-header-" + i;
+ header.attr( "id", headerId );
+ }
+ if ( !panelId ) {
+ panelId = accordionId + "-panel-" + i;
+ panel.attr( "id", panelId );
+ }
+ header.attr( "aria-controls", panelId );
+ panel.attr( "aria-labelledby", headerId );
+ })
+ .next()
+ .attr( "role", "tabpanel" );
+
+ this.headers
+ .not( this.active )
+ .attr({
+ "aria-selected": "false",
+ tabIndex: -1
+ })
+ .next()
+ .attr({
+ "aria-expanded": "false",
+ "aria-hidden": "true"
+ })
+ .hide();
+
+ // make sure at least one header is in the tab order
+ if ( !this.active.length ) {
+ this.headers.eq( 0 ).attr( "tabIndex", 0 );
+ } else {
+ this.active.attr({
+ "aria-selected": "true",
+ tabIndex: 0
+ })
+ .next()
+ .attr({
+ "aria-expanded": "true",
+ "aria-hidden": "false"
+ });
+ }
+
+ this._createIcons();
+
+ this._setupEvents( options.event );
+
+ if ( heightStyle === "fill" ) {
+ maxHeight = parent.height();
+ this.element.siblings( ":visible" ).each(function() {
+ var elem = $( this ),
+ position = elem.css( "position" );
+
+ if ( position === "absolute" || position === "fixed" ) {
+ return;
+ }
+ maxHeight -= elem.outerHeight( true );
+ });
+
+ this.headers.each(function() {
+ maxHeight -= $( this ).outerHeight( true );
+ });
+
+ this.headers.next()
+ .each(function() {
+ $( this ).height( Math.max( 0, maxHeight -
+ $( this ).innerHeight() + $( this ).height() ) );
+ })
+ .css( "overflow", "auto" );
+ } else if ( heightStyle === "auto" ) {
+ maxHeight = 0;
+ this.headers.next()
+ .each(function() {
+ maxHeight = Math.max( maxHeight, $( this ).css( "height", "" ).height() );
+ })
+ .height( maxHeight );
+ }
+ },
+
+ _activate: function( index ) {
+ var active = this._findActive( index )[ 0 ];
+
+ // trying to activate the already active panel
+ if ( active === this.active[ 0 ] ) {
+ return;
+ }
+
+ // trying to collapse, simulate a click on the currently active header
+ active = active || this.active[ 0 ];
+
+ this._eventHandler({
+ target: active,
+ currentTarget: active,
+ preventDefault: $.noop
+ });
+ },
+
+ _findActive: function( selector ) {
+ return typeof selector === "number" ? this.headers.eq( selector ) : $();
+ },
+
+ _setupEvents: function( event ) {
+ var events = {
+ keydown: "_keydown"
+ };
+ if ( event ) {
+ $.each( event.split(" "), function( index, eventName ) {
+ events[ eventName ] = "_eventHandler";
+ });
+ }
+
+ this._off( this.headers.add( this.headers.next() ) );
+ this._on( this.headers, events );
+ this._on( this.headers.next(), { keydown: "_panelKeyDown" });
+ this._hoverable( this.headers );
+ this._focusable( this.headers );
+ },
+
+ _eventHandler: function( event ) {
+ var options = this.options,
+ active = this.active,
+ clicked = $( event.currentTarget ),
+ clickedIsActive = clicked[ 0 ] === active[ 0 ],
+ collapsing = clickedIsActive && options.collapsible,
+ toShow = collapsing ? $() : clicked.next(),
+ toHide = active.next(),
+ eventData = {
+ oldHeader: active,
+ oldPanel: toHide,
+ newHeader: collapsing ? $() : clicked,
+ newPanel: toShow
+ };
+
+ event.preventDefault();
+
+ if (
+ // click on active header, but not collapsible
+ ( clickedIsActive && !options.collapsible ) ||
+ // allow canceling activation
+ ( this._trigger( "beforeActivate", event, eventData ) === false ) ) {
+ return;
+ }
+
+ options.active = collapsing ? false : this.headers.index( clicked );
+
+ // when the call to ._toggle() comes after the class changes
+ // it causes a very odd bug in IE 8 (see #6720)
+ this.active = clickedIsActive ? $() : clicked;
+ this._toggle( eventData );
+
+ // switch classes
+ // corner classes on the previously active header stay after the animation
+ active.removeClass( "ui-accordion-header-active ui-state-active" );
+ if ( options.icons ) {
+ active.children( ".ui-accordion-header-icon" )
+ .removeClass( options.icons.activeHeader )
+ .addClass( options.icons.header );
+ }
+
+ if ( !clickedIsActive ) {
+ clicked
+ .removeClass( "ui-corner-all" )
+ .addClass( "ui-accordion-header-active ui-state-active ui-corner-top" );
+ if ( options.icons ) {
+ clicked.children( ".ui-accordion-header-icon" )
+ .removeClass( options.icons.header )
+ .addClass( options.icons.activeHeader );
+ }
+
+ clicked
+ .next()
+ .addClass( "ui-accordion-content-active" );
+ }
+ },
+
+ _toggle: function( data ) {
+ var toShow = data.newPanel,
+ toHide = this.prevShow.length ? this.prevShow : data.oldPanel;
+
+ // handle activating a panel during the animation for another activation
+ this.prevShow.add( this.prevHide ).stop( true, true );
+ this.prevShow = toShow;
+ this.prevHide = toHide;
+
+ if ( this.options.animate ) {
+ this._animate( toShow, toHide, data );
+ } else {
+ toHide.hide();
+ toShow.show();
+ this._toggleComplete( data );
+ }
+
+ toHide.attr({
+ "aria-expanded": "false",
+ "aria-hidden": "true"
+ });
+ toHide.prev().attr( "aria-selected", "false" );
+ // if we're switching panels, remove the old header from the tab order
+ // if we're opening from collapsed state, remove the previous header from the tab order
+ // if we're collapsing, then keep the collapsing header in the tab order
+ if ( toShow.length && toHide.length ) {
+ toHide.prev().attr( "tabIndex", -1 );
+ } else if ( toShow.length ) {
+ this.headers.filter(function() {
+ return $( this ).attr( "tabIndex" ) === 0;
+ })
+ .attr( "tabIndex", -1 );
+ }
+
+ toShow
+ .attr({
+ "aria-expanded": "true",
+ "aria-hidden": "false"
+ })
+ .prev()
+ .attr({
+ "aria-selected": "true",
+ tabIndex: 0
+ });
+ },
+
+ _animate: function( toShow, toHide, data ) {
+ var total, easing, duration,
+ that = this,
+ adjust = 0,
+ down = toShow.length &&
+ ( !toHide.length || ( toShow.index() < toHide.index() ) ),
+ animate = this.options.animate || {},
+ options = down && animate.down || animate,
+ complete = function() {
+ that._toggleComplete( data );
+ };
+
+ if ( typeof options === "number" ) {
+ duration = options;
+ }
+ if ( typeof options === "string" ) {
+ easing = options;
+ }
+ // fall back from options to animation in case of partial down settings
+ easing = easing || options.easing || animate.easing;
+ duration = duration || options.duration || animate.duration;
+
+ if ( !toHide.length ) {
+ return toShow.animate( showProps, duration, easing, complete );
+ }
+ if ( !toShow.length ) {
+ return toHide.animate( hideProps, duration, easing, complete );
+ }
+
+ total = toShow.show().outerHeight();
+ toHide.animate( hideProps, {
+ duration: duration,
+ easing: easing,
+ step: function( now, fx ) {
+ fx.now = Math.round( now );
+ }
+ });
+ toShow
+ .hide()
+ .animate( showProps, {
+ duration: duration,
+ easing: easing,
+ complete: complete,
+ step: function( now, fx ) {
+ fx.now = Math.round( now );
+ if ( fx.prop !== "height" ) {
+ adjust += fx.now;
+ } else if ( that.options.heightStyle !== "content" ) {
+ fx.now = Math.round( total - toHide.outerHeight() - adjust );
+ adjust = 0;
+ }
+ }
+ });
+ },
+
+ _toggleComplete: function( data ) {
+ var toHide = data.oldPanel;
+
+ toHide
+ .removeClass( "ui-accordion-content-active" )
+ .prev()
+ .removeClass( "ui-corner-top" )
+ .addClass( "ui-corner-all" );
+
+ // Work around for rendering bug in IE (#5421)
+ if ( toHide.length ) {
+ toHide.parent()[0].className = toHide.parent()[0].className;
+ }
+
+ this._trigger( "activate", null, data );
+ }
+});
+
+})( jQuery );
+(function( $, undefined ) {
+
+// used to prevent race conditions with remote data sources
+var requestIndex = 0;
+
+$.widget( "ui.autocomplete", {
+ version: "1.10.0",
+ defaultElement: "<input>",
+ options: {
+ appendTo: null,
+ autoFocus: false,
+ delay: 300,
+ minLength: 1,
+ position: {
+ my: "left top",
+ at: "left bottom",
+ collision: "none"
+ },
+ source: null,
+
+ // callbacks
+ change: null,
+ close: null,
+ focus: null,
+ open: null,
+ response: null,
+ search: null,
+ select: null
+ },
+
+ pending: 0,
+
+ _create: function() {
+ // Some browsers only repeat keydown events, not keypress events,
+ // so we use the suppressKeyPress flag to determine if we've already
+ // handled the keydown event. #7269
+ // Unfortunately the code for & in keypress is the same as the up arrow,
+ // so we use the suppressKeyPressRepeat flag to avoid handling keypress
+ // events when we know the keydown event was used to modify the
+ // search term. #7799
+ var suppressKeyPress, suppressKeyPressRepeat, suppressInput;
+
+ this.isMultiLine = this._isMultiLine();
+ this.valueMethod = this.element[ this.element.is( "input,textarea" ) ? "val" : "text" ];
+ this.isNewMenu = true;
+
+ this.element
+ .addClass( "ui-autocomplete-input" )
+ .attr( "autocomplete", "off" );
+
+ this._on( this.element, {
+ keydown: function( event ) {
+ /*jshint maxcomplexity:15*/
+ if ( this.element.prop( "readOnly" ) ) {
+ suppressKeyPress = true;
+ suppressInput = true;
+ suppressKeyPressRepeat = true;
+ return;
+ }
+
+ suppressKeyPress = false;
+ suppressInput = false;
+ suppressKeyPressRepeat = false;
+ var keyCode = $.ui.keyCode;
+ switch( event.keyCode ) {
+ case keyCode.PAGE_UP:
+ suppressKeyPress = true;
+ this._move( "previousPage", event );
+ break;
+ case keyCode.PAGE_DOWN:
+ suppressKeyPress = true;
+ this._move( "nextPage", event );
+ break;
+ case keyCode.UP:
+ suppressKeyPress = true;
+ this._keyEvent( "previous", event );
+ break;
+ case keyCode.DOWN:
+ suppressKeyPress = true;
+ this._keyEvent( "next", event );
+ break;
+ case keyCode.ENTER:
+ case keyCode.NUMPAD_ENTER:
+ // when menu is open and has focus
+ if ( this.menu.active ) {
+ // #6055 - Opera still allows the keypress to occur
+ // which causes forms to submit
+ suppressKeyPress = true;
+ event.preventDefault();
+ this.menu.select( event );
+ }
+ break;
+ case keyCode.TAB:
+ if ( this.menu.active ) {
+ this.menu.select( event );
+ }
+ break;
+ case keyCode.ESCAPE:
+ if ( this.menu.element.is( ":visible" ) ) {
+ this._value( this.term );
+ this.close( event );
+ // Different browsers have different default behavior for escape
+ // Single press can mean undo or clear
+ // Double press in IE means clear the whole form
+ event.preventDefault();
+ }
+ break;
+ default:
+ suppressKeyPressRepeat = true;
+ // search timeout should be triggered before the input value is changed
+ this._searchTimeout( event );
+ break;
+ }
+ },
+ keypress: function( event ) {
+ if ( suppressKeyPress ) {
+ suppressKeyPress = false;
+ event.preventDefault();
+ return;
+ }
+ if ( suppressKeyPressRepeat ) {
+ return;
+ }
+
+ // replicate some key handlers to allow them to repeat in Firefox and Opera
+ var keyCode = $.ui.keyCode;
+ switch( event.keyCode ) {
+ case keyCode.PAGE_UP:
+ this._move( "previousPage", event );
+ break;
+ case keyCode.PAGE_DOWN:
+ this._move( "nextPage", event );
+ break;
+ case keyCode.UP:
+ this._keyEvent( "previous", event );
+ break;
+ case keyCode.DOWN:
+ this._keyEvent( "next", event );
+ break;
+ }
+ },
+ input: function( event ) {
+ if ( suppressInput ) {
+ suppressInput = false;
+ event.preventDefault();
+ return;
+ }
+ this._searchTimeout( event );
+ },
+ focus: function() {
+ this.selectedItem = null;
+ this.previous = this._value();
+ },
+ blur: function( event ) {
+ if ( this.cancelBlur ) {
+ delete this.cancelBlur;
+ return;
+ }
+
+ clearTimeout( this.searching );
+ this.close( event );
+ this._change( event );
+ }
+ });
+
+ this._initSource();
+ this.menu = $( "<ul>" )
+ .addClass( "ui-autocomplete" )
+ .appendTo( this._appendTo() )
+ .menu({
+ // custom key handling for now
+ input: $(),
+ // disable ARIA support, the live region takes care of that
+ role: null
+ })
+ .zIndex( this.element.zIndex() + 1 )
+ .hide()
+ .data( "ui-menu" );
+
+ this._on( this.menu.element, {
+ mousedown: function( event ) {
+ // prevent moving focus out of the text field
+ event.preventDefault();
+
+ // IE doesn't prevent moving focus even with event.preventDefault()
+ // so we set a flag to know when we should ignore the blur event
+ this.cancelBlur = true;
+ this._delay(function() {
+ delete this.cancelBlur;
+ });
+
+ // clicking on the scrollbar causes focus to shift to the body
+ // but we can't detect a mouseup or a click immediately afterward
+ // so we have to track the next mousedown and close the menu if
+ // the user clicks somewhere outside of the autocomplete
+ var menuElement = this.menu.element[ 0 ];
+ if ( !$( event.target ).closest( ".ui-menu-item" ).length ) {
+ this._delay(function() {
+ var that = this;
+ this.document.one( "mousedown", function( event ) {
+ if ( event.target !== that.element[ 0 ] &&
+ event.target !== menuElement &&
+ !$.contains( menuElement, event.target ) ) {
+ that.close();
+ }
+ });
+ });
+ }
+ },
+ menufocus: function( event, ui ) {
+ // #7024 - Prevent accidental activation of menu items in Firefox
+ if ( this.isNewMenu ) {
+ this.isNewMenu = false;
+ if ( event.originalEvent && /^mouse/.test( event.originalEvent.type ) ) {
+ this.menu.blur();
+
+ this.document.one( "mousemove", function() {
+ $( event.target ).trigger( event.originalEvent );
+ });
+
+ return;
+ }
+ }
+
+ var item = ui.item.data( "ui-autocomplete-item" );
+ if ( false !== this._trigger( "focus", event, { item: item } ) ) {
+ // use value to match what will end up in the input, if it was a key event
+ if ( event.originalEvent && /^key/.test( event.originalEvent.type ) ) {
+ this._value( item.value );
+ }
+ } else {
+ // Normally the input is populated with the item's value as the
+ // menu is navigated, causing screen readers to notice a change and
+ // announce the item. Since the focus event was canceled, this doesn't
+ // happen, so we update the live region so that screen readers can
+ // still notice the change and announce it.
+ this.liveRegion.text( item.value );
+ }
+ },
+ menuselect: function( event, ui ) {
+ var item = ui.item.data( "ui-autocomplete-item" ),
+ previous = this.previous;
+
+ // only trigger when focus was lost (click on menu)
+ if ( this.element[0] !== this.document[0].activeElement ) {
+ this.element.focus();
+ this.previous = previous;
+ // #6109 - IE triggers two focus events and the second
+ // is asynchronous, so we need to reset the previous
+ // term synchronously and asynchronously :-(
+ this._delay(function() {
+ this.previous = previous;
+ this.selectedItem = item;
+ });
+ }
+
+ if ( false !== this._trigger( "select", event, { item: item } ) ) {
+ this._value( item.value );
+ }
+ // reset the term after the select event
+ // this allows custom select handling to work properly
+ this.term = this._value();
+
+ this.close( event );
+ this.selectedItem = item;
+ }
+ });
+
+ this.liveRegion = $( "<span>", {
+ role: "status",
+ "aria-live": "polite"
+ })
+ .addClass( "ui-helper-hidden-accessible" )
+ .insertAfter( this.element );
+
+ // turning off autocomplete prevents the browser from remembering the
+ // value when navigating through history, so we re-enable autocomplete
+ // if the page is unloaded before the widget is destroyed. #7790
+ this._on( this.window, {
+ beforeunload: function() {
+ this.element.removeAttr( "autocomplete" );
+ }
+ });
+ },
+
+ _destroy: function() {
+ clearTimeout( this.searching );
+ this.element
+ .removeClass( "ui-autocomplete-input" )
+ .removeAttr( "autocomplete" );
+ this.menu.element.remove();
+ this.liveRegion.remove();
+ },
+
+ _setOption: function( key, value ) {
+ this._super( key, value );
+ if ( key === "source" ) {
+ this._initSource();
+ }
+ if ( key === "appendTo" ) {
+ this.menu.element.appendTo( this._appendTo() );
+ }
+ if ( key === "disabled" && value && this.xhr ) {
+ this.xhr.abort();
+ }
+ },
+
+ _appendTo: function() {
+ var element = this.options.appendTo;
+
+ if ( element ) {
+ element = element.jquery || element.nodeType ?
+ $( element ) :
+ this.document.find( element ).eq( 0 );
+ }
+
+ if ( !element ) {
+ element = this.element.closest( ".ui-front" );
+ }
+
+ if ( !element.length ) {
+ element = this.document[0].body;
+ }
+
+ return element;
+ },
+
+ _isMultiLine: function() {
+ // Textareas are always multi-line
+ if ( this.element.is( "textarea" ) ) {
+ return true;
+ }
+ // Inputs are always single-line, even if inside a contentEditable element
+ // IE also treats inputs as contentEditable
+ if ( this.element.is( "input" ) ) {
+ return false;
+ }
+ // All other element types are determined by whether or not they're contentEditable
+ return this.element.prop( "isContentEditable" );
+ },
+
+ _initSource: function() {
+ var array, url,
+ that = this;
+ if ( $.isArray(this.options.source) ) {
+ array = this.options.source;
+ this.source = function( request, response ) {
+ response( $.ui.autocomplete.filter( array, request.term ) );
+ };
+ } else if ( typeof this.options.source === "string" ) {
+ url = this.options.source;
+ this.source = function( request, response ) {
+ if ( that.xhr ) {
+ that.xhr.abort();
+ }
+ that.xhr = $.ajax({
+ url: url,
+ data: request,
+ dataType: "json",
+ success: function( data ) {
+ response( data );
+ },
+ error: function() {
+ response( [] );
+ }
+ });
+ };
+ } else {
+ this.source = this.options.source;
+ }
+ },
+
+ _searchTimeout: function( event ) {
+ clearTimeout( this.searching );
+ this.searching = this._delay(function() {
+ // only search if the value has changed
+ if ( this.term !== this._value() ) {
+ this.selectedItem = null;
+ this.search( null, event );
+ }
+ }, this.options.delay );
+ },
+
+ search: function( value, event ) {
+ value = value != null ? value : this._value();
+
+ // always save the actual value, not the one passed as an argument
+ this.term = this._value();
+
+ if ( value.length < this.options.minLength ) {
+ return this.close( event );
+ }
+
+ if ( this._trigger( "search", event ) === false ) {
+ return;
+ }
+
+ return this._search( value );
+ },
+
+ _search: function( value ) {
+ this.pending++;
+ this.element.addClass( "ui-autocomplete-loading" );
+ this.cancelSearch = false;
+
+ this.source( { term: value }, this._response() );
+ },
+
+ _response: function() {
+ var that = this,
+ index = ++requestIndex;
+
+ return function( content ) {
+ if ( index === requestIndex ) {
+ that.__response( content );
+ }
+
+ that.pending--;
+ if ( !that.pending ) {
+ that.element.removeClass( "ui-autocomplete-loading" );
+ }
+ };
+ },
+
+ __response: function( content ) {
+ if ( content ) {
+ content = this._normalize( content );
+ }
+ this._trigger( "response", null, { content: content } );
+ if ( !this.options.disabled && content && content.length && !this.cancelSearch ) {
+ this._suggest( content );
+ this._trigger( "open" );
+ } else {
+ // use ._close() instead of .close() so we don't cancel future searches
+ this._close();
+ }
+ },
+
+ close: function( event ) {
+ this.cancelSearch = true;
+ this._close( event );
+ },
+
+ _close: function( event ) {
+ if ( this.menu.element.is( ":visible" ) ) {
+ this.menu.element.hide();
+ this.menu.blur();
+ this.isNewMenu = true;
+ this._trigger( "close", event );
+ }
+ },
+
+ _change: function( event ) {
+ if ( this.previous !== this._value() ) {
+ this._trigger( "change", event, { item: this.selectedItem } );
+ }
+ },
+
+ _normalize: function( items ) {
+ // assume all items have the right format when the first item is complete
+ if ( items.length && items[0].label && items[0].value ) {
+ return items;
+ }
+ return $.map( items, function( item ) {
+ if ( typeof item === "string" ) {
+ return {
+ label: item,
+ value: item
+ };
+ }
+ return $.extend({
+ label: item.label || item.value,
+ value: item.value || item.label
+ }, item );
+ });
+ },
+
+ _suggest: function( items ) {
+ var ul = this.menu.element
+ .empty()
+ .zIndex( this.element.zIndex() + 1 );
+ this._renderMenu( ul, items );
+ this.menu.refresh();
+
+ // size and position menu
+ ul.show();
+ this._resizeMenu();
+ ul.position( $.extend({
+ of: this.element
+ }, this.options.position ));
+
+ if ( this.options.autoFocus ) {
+ this.menu.next();
+ }
+ },
+
+ _resizeMenu: function() {
+ var ul = this.menu.element;
+ ul.outerWidth( Math.max(
+ // Firefox wraps long text (possibly a rounding bug)
+ // so we add 1px to avoid the wrapping (#7513)
+ ul.width( "" ).outerWidth() + 1,
+ this.element.outerWidth()
+ ) );
+ },
+
+ _renderMenu: function( ul, items ) {
+ var that = this;
+ $.each( items, function( index, item ) {
+ that._renderItemData( ul, item );
+ });
+ },
+
+ _renderItemData: function( ul, item ) {
+ return this._renderItem( ul, item ).data( "ui-autocomplete-item", item );
+ },
+
+ _renderItem: function( ul, item ) {
+ return $( "<li>" )
+ .append( $( "<a>" ).text( item.label ) )
+ .appendTo( ul );
+ },
+
+ _move: function( direction, event ) {
+ if ( !this.menu.element.is( ":visible" ) ) {
+ this.search( null, event );
+ return;
+ }
+ if ( this.menu.isFirstItem() && /^previous/.test( direction ) ||
+ this.menu.isLastItem() && /^next/.test( direction ) ) {
+ this._value( this.term );
+ this.menu.blur();
+ return;
+ }
+ this.menu[ direction ]( event );
+ },
+
+ widget: function() {
+ return this.menu.element;
+ },
+
+ _value: function() {
+ return this.valueMethod.apply( this.element, arguments );
+ },
+
+ _keyEvent: function( keyEvent, event ) {
+ if ( !this.isMultiLine || this.menu.element.is( ":visible" ) ) {
+ this._move( keyEvent, event );
+
+ // prevents moving cursor to beginning/end of the text field in some browsers
+ event.preventDefault();
+ }
+ }
+});
+
+$.extend( $.ui.autocomplete, {
+ escapeRegex: function( value ) {
+ return value.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&");
+ },
+ filter: function(array, term) {
+ var matcher = new RegExp( $.ui.autocomplete.escapeRegex(term), "i" );
+ return $.grep( array, function(value) {
+ return matcher.test( value.label || value.value || value );
+ });
+ }
+});
+
+
+// live region extension, adding a `messages` option
+// NOTE: This is an experimental API. We are still investigating
+// a full solution for string manipulation and internationalization.
+$.widget( "ui.autocomplete", $.ui.autocomplete, {
+ options: {
+ messages: {
+ noResults: "No search results.",
+ results: function( amount ) {
+ return amount + ( amount > 1 ? " results are" : " result is" ) +
+ " available, use up and down arrow keys to navigate.";
+ }
+ }
+ },
+
+ __response: function( content ) {
+ var message;
+ this._superApply( arguments );
+ if ( this.options.disabled || this.cancelSearch ) {
+ return;
+ }
+ if ( content && content.length ) {
+ message = this.options.messages.results( content.length );
+ } else {
+ message = this.options.messages.noResults;
+ }
+ this.liveRegion.text( message );
+ }
+});
+
+}( jQuery ));
+(function( $, undefined ) {
+
+var lastActive, startXPos, startYPos, clickDragged,
+ baseClasses = "ui-button ui-widget ui-state-default ui-corner-all",
+ stateClasses = "ui-state-hover ui-state-active ",
+ typeClasses = "ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only",
+ formResetHandler = function() {
+ var buttons = $( this ).find( ":ui-button" );
+ setTimeout(function() {
+ buttons.button( "refresh" );
+ }, 1 );
+ },
+ radioGroup = function( radio ) {
+ var name = radio.name,
+ form = radio.form,
+ radios = $( [] );
+ if ( name ) {
+ name = name.replace( /'/g, "\\'" );
+ if ( form ) {
+ radios = $( form ).find( "[name='" + name + "']" );
+ } else {
+ radios = $( "[name='" + name + "']", radio.ownerDocument )
+ .filter(function() {
+ return !this.form;
+ });
+ }
+ }
+ return radios;
+ };
+
+$.widget( "ui.button", {
+ version: "1.10.0",
+ defaultElement: "<button>",
+ options: {
+ disabled: null,
+ text: true,
+ label: null,
+ icons: {
+ primary: null,
+ secondary: null
+ }
+ },
+ _create: function() {
+ this.element.closest( "form" )
+ .unbind( "reset" + this.eventNamespace )
+ .bind( "reset" + this.eventNamespace, formResetHandler );
+
+ if ( typeof this.options.disabled !== "boolean" ) {
+ this.options.disabled = !!this.element.prop( "disabled" );
+ } else {
+ this.element.prop( "disabled", this.options.disabled );
+ }
+
+ this._determineButtonType();
+ this.hasTitle = !!this.buttonElement.attr( "title" );
+
+ var that = this,
+ options = this.options,
+ toggleButton = this.type === "checkbox" || this.type === "radio",
+ activeClass = !toggleButton ? "ui-state-active" : "",
+ focusClass = "ui-state-focus";
+
+ if ( options.label === null ) {
+ options.label = (this.type === "input" ? this.buttonElement.val() : this.buttonElement.html());
+ }
+
+ this._hoverable( this.buttonElement );
+
+ this.buttonElement
+ .addClass( baseClasses )
+ .attr( "role", "button" )
+ .bind( "mouseenter" + this.eventNamespace, function() {
+ if ( options.disabled ) {
+ return;
+ }
+ if ( this === lastActive ) {
+ $( this ).addClass( "ui-state-active" );
+ }
+ })
+ .bind( "mouseleave" + this.eventNamespace, function() {
+ if ( options.disabled ) {
+ return;
+ }
+ $( this ).removeClass( activeClass );
+ })
+ .bind( "click" + this.eventNamespace, function( event ) {
+ if ( options.disabled ) {
+ event.preventDefault();
+ event.stopImmediatePropagation();
+ }
+ });
+
+ this.element
+ .bind( "focus" + this.eventNamespace, function() {
+ // no need to check disabled, focus won't be triggered anyway
+ that.buttonElement.addClass( focusClass );
+ })
+ .bind( "blur" + this.eventNamespace, function() {
+ that.buttonElement.removeClass( focusClass );
+ });
+
+ if ( toggleButton ) {
+ this.element.bind( "change" + this.eventNamespace, function() {
+ if ( clickDragged ) {
+ return;
+ }
+ that.refresh();
+ });
+ // if mouse moves between mousedown and mouseup (drag) set clickDragged flag
+ // prevents issue where button state changes but checkbox/radio checked state
+ // does not in Firefox (see ticket #6970)
+ this.buttonElement
+ .bind( "mousedown" + this.eventNamespace, function( event ) {
+ if ( options.disabled ) {
+ return;
+ }
+ clickDragged = false;
+ startXPos = event.pageX;
+ startYPos = event.pageY;
+ })
+ .bind( "mouseup" + this.eventNamespace, function( event ) {
+ if ( options.disabled ) {
+ return;
+ }
+ if ( startXPos !== event.pageX || startYPos !== event.pageY ) {
+ clickDragged = true;
+ }
+ });
+ }
+
+ if ( this.type === "checkbox" ) {
+ this.buttonElement.bind( "click" + this.eventNamespace, function() {
+ if ( options.disabled || clickDragged ) {
+ return false;
+ }
+ });
+ } else if ( this.type === "radio" ) {
+ this.buttonElement.bind( "click" + this.eventNamespace, function() {
+ if ( options.disabled || clickDragged ) {
+ return false;
+ }
+ $( this ).addClass( "ui-state-active" );
+ that.buttonElement.attr( "aria-pressed", "true" );
+
+ var radio = that.element[ 0 ];
+ radioGroup( radio )
+ .not( radio )
+ .map(function() {
+ return $( this ).button( "widget" )[ 0 ];
+ })
+ .removeClass( "ui-state-active" )
+ .attr( "aria-pressed", "false" );
+ });
+ } else {
+ this.buttonElement
+ .bind( "mousedown" + this.eventNamespace, function() {
+ if ( options.disabled ) {
+ return false;
+ }
+ $( this ).addClass( "ui-state-active" );
+ lastActive = this;
+ that.document.one( "mouseup", function() {
+ lastActive = null;
+ });
+ })
+ .bind( "mouseup" + this.eventNamespace, function() {
+ if ( options.disabled ) {
+ return false;
+ }
+ $( this ).removeClass( "ui-state-active" );
+ })
+ .bind( "keydown" + this.eventNamespace, function(event) {
+ if ( options.disabled ) {
+ return false;
+ }
+ if ( event.keyCode === $.ui.keyCode.SPACE || event.keyCode === $.ui.keyCode.ENTER ) {
+ $( this ).addClass( "ui-state-active" );
+ }
+ })
+ // see #8559, we bind to blur here in case the button element loses
+ // focus between keydown and keyup, it would be left in an "active" state
+ .bind( "keyup" + this.eventNamespace + " blur" + this.eventNamespace, function() {
+ $( this ).removeClass( "ui-state-active" );
+ });
+
+ if ( this.buttonElement.is("a") ) {
+ this.buttonElement.keyup(function(event) {
+ if ( event.keyCode === $.ui.keyCode.SPACE ) {
+ // TODO pass through original event correctly (just as 2nd argument doesn't work)
+ $( this ).click();
+ }
+ });
+ }
+ }
+
+ // TODO: pull out $.Widget's handling for the disabled option into
+ // $.Widget.prototype._setOptionDisabled so it's easy to proxy and can
+ // be overridden by individual plugins
+ this._setOption( "disabled", options.disabled );
+ this._resetButton();
+ },
+
+ _determineButtonType: function() {
+ var ancestor, labelSelector, checked;
+
+ if ( this.element.is("[type=checkbox]") ) {
+ this.type = "checkbox";
+ } else if ( this.element.is("[type=radio]") ) {
+ this.type = "radio";
+ } else if ( this.element.is("input") ) {
+ this.type = "input";
+ } else {
+ this.type = "button";
+ }
+
+ if ( this.type === "checkbox" || this.type === "radio" ) {
+ // we don't search against the document in case the element
+ // is disconnected from the DOM
+ ancestor = this.element.parents().last();
+ labelSelector = "label[for='" + this.element.attr("id") + "']";
+ this.buttonElement = ancestor.find( labelSelector );
+ if ( !this.buttonElement.length ) {
+ ancestor = ancestor.length ? ancestor.siblings() : this.element.siblings();
+ this.buttonElement = ancestor.filter( labelSelector );
+ if ( !this.buttonElement.length ) {
+ this.buttonElement = ancestor.find( labelSelector );
+ }
+ }
+ this.element.addClass( "ui-helper-hidden-accessible" );
+
+ checked = this.element.is( ":checked" );
+ if ( checked ) {
+ this.buttonElement.addClass( "ui-state-active" );
+ }
+ this.buttonElement.prop( "aria-pressed", checked );
+ } else {
+ this.buttonElement = this.element;
+ }
+ },
+
+ widget: function() {
+ return this.buttonElement;
+ },
+
+ _destroy: function() {
+ this.element
+ .removeClass( "ui-helper-hidden-accessible" );
+ this.buttonElement
+ .removeClass( baseClasses + " " + stateClasses + " " + typeClasses )
+ .removeAttr( "role" )
+ .removeAttr( "aria-pressed" )
+ .html( this.buttonElement.find(".ui-button-text").html() );
+
+ if ( !this.hasTitle ) {
+ this.buttonElement.removeAttr( "title" );
+ }
+ },
+
+ _setOption: function( key, value ) {
+ this._super( key, value );
+ if ( key === "disabled" ) {
+ if ( value ) {
+ this.element.prop( "disabled", true );
+ } else {
+ this.element.prop( "disabled", false );
+ }
+ return;
+ }
+ this._resetButton();
+ },
+
+ refresh: function() {
+ //See #8237 & #8828
+ var isDisabled = this.element.is( "input, button" ) ? this.element.is( ":disabled" ) : this.element.hasClass( "ui-button-disabled" );
+
+ if ( isDisabled !== this.options.disabled ) {
+ this._setOption( "disabled", isDisabled );
+ }
+ if ( this.type === "radio" ) {
+ radioGroup( this.element[0] ).each(function() {
+ if ( $( this ).is( ":checked" ) ) {
+ $( this ).button( "widget" )
+ .addClass( "ui-state-active" )
+ .attr( "aria-pressed", "true" );
+ } else {
+ $( this ).button( "widget" )
+ .removeClass( "ui-state-active" )
+ .attr( "aria-pressed", "false" );
+ }
+ });
+ } else if ( this.type === "checkbox" ) {
+ if ( this.element.is( ":checked" ) ) {
+ this.buttonElement
+ .addClass( "ui-state-active" )
+ .attr( "aria-pressed", "true" );
+ } else {
+ this.buttonElement
+ .removeClass( "ui-state-active" )
+ .attr( "aria-pressed", "false" );
+ }
+ }
+ },
+
+ _resetButton: function() {
+ if ( this.type === "input" ) {
+ if ( this.options.label ) {
+ this.element.val( this.options.label );
+ }
+ return;
+ }
+ var buttonElement = this.buttonElement.removeClass( typeClasses ),
+ buttonText = $( "<span></span>", this.document[0] )
+ .addClass( "ui-button-text" )
+ .html( this.options.label )
+ .appendTo( buttonElement.empty() )
+ .text(),
+ icons = this.options.icons,
+ multipleIcons = icons.primary && icons.secondary,
+ buttonClasses = [];
+
+ if ( icons.primary || icons.secondary ) {
+ if ( this.options.text ) {
+ buttonClasses.push( "ui-button-text-icon" + ( multipleIcons ? "s" : ( icons.primary ? "-primary" : "-secondary" ) ) );
+ }
+
+ if ( icons.primary ) {
+ buttonElement.prepend( "<span class='ui-button-icon-primary ui-icon " + icons.primary + "'></span>" );
+ }
+
+ if ( icons.secondary ) {
+ buttonElement.append( "<span class='ui-button-icon-secondary ui-icon " + icons.secondary + "'></span>" );
+ }
+
+ if ( !this.options.text ) {
+ buttonClasses.push( multipleIcons ? "ui-button-icons-only" : "ui-button-icon-only" );
+
+ if ( !this.hasTitle ) {
+ buttonElement.attr( "title", $.trim( buttonText ) );
+ }
+ }
+ } else {
+ buttonClasses.push( "ui-button-text-only" );
+ }
+ buttonElement.addClass( buttonClasses.join( " " ) );
+ }
+});
+
+$.widget( "ui.buttonset", {
+ version: "1.10.0",
+ options: {
+ items: "button, input[type=button], input[type=submit], input[type=reset], input[type=checkbox], input[type=radio], a, :data(ui-button)"
+ },
+
+ _create: function() {
+ this.element.addClass( "ui-buttonset" );
+ },
+
+ _init: function() {
+ this.refresh();
+ },
+
+ _setOption: function( key, value ) {
+ if ( key === "disabled" ) {
+ this.buttons.button( "option", key, value );
+ }
+
+ this._super( key, value );
+ },
+
+ refresh: function() {
+ var rtl = this.element.css( "direction" ) === "rtl";
+
+ this.buttons = this.element.find( this.options.items )
+ .filter( ":ui-button" )
+ .button( "refresh" )
+ .end()
+ .not( ":ui-button" )
+ .button()
+ .end()
+ .map(function() {
+ return $( this ).button( "widget" )[ 0 ];
+ })
+ .removeClass( "ui-corner-all ui-corner-left ui-corner-right" )
+ .filter( ":first" )
+ .addClass( rtl ? "ui-corner-right" : "ui-corner-left" )
+ .end()
+ .filter( ":last" )
+ .addClass( rtl ? "ui-corner-left" : "ui-corner-right" )
+ .end()
+ .end();
+ },
+
+ _destroy: function() {
+ this.element.removeClass( "ui-buttonset" );
+ this.buttons
+ .map(function() {
+ return $( this ).button( "widget" )[ 0 ];
+ })
+ .removeClass( "ui-corner-left ui-corner-right" )
+ .end()
+ .button( "destroy" );
+ }
+});
+
+}( jQuery ) );
+(function( $, undefined ) {
+
+$.extend($.ui, { datepicker: { version: "1.10.0" } });
+
+var PROP_NAME = "datepicker",
+ dpuuid = new Date().getTime(),
+ instActive;
+
+/* Date picker manager.
+ Use the singleton instance of this class, $.datepicker, to interact with the date picker.
+ Settings for (groups of) date pickers are maintained in an instance object,
+ allowing multiple different settings on the same page. */
+
+function Datepicker() {
+ this._curInst = null; // The current instance in use
+ this._keyEvent = false; // If the last event was a key event
+ this._disabledInputs = []; // List of date picker inputs that have been disabled
+ this._datepickerShowing = false; // True if the popup picker is showing , false if not
+ this._inDialog = false; // True if showing within a "dialog", false if not
+ this._mainDivId = "ui-datepicker-div"; // The ID of the main datepicker division
+ this._inlineClass = "ui-datepicker-inline"; // The name of the inline marker class
+ this._appendClass = "ui-datepicker-append"; // The name of the append marker class
+ this._triggerClass = "ui-datepicker-trigger"; // The name of the trigger marker class
+ this._dialogClass = "ui-datepicker-dialog"; // The name of the dialog marker class
+ this._disableClass = "ui-datepicker-disabled"; // The name of the disabled covering marker class
+ this._unselectableClass = "ui-datepicker-unselectable"; // The name of the unselectable cell marker class
+ this._currentClass = "ui-datepicker-current-day"; // The name of the current day marker class
+ this._dayOverClass = "ui-datepicker-days-cell-over"; // The name of the day hover marker class
+ this.regional = []; // Available regional settings, indexed by language code
+ this.regional[""] = { // Default regional settings
+ closeText: "Done", // Display text for close link
+ prevText: "Prev", // Display text for previous month link
+ nextText: "Next", // Display text for next month link
+ currentText: "Today", // Display text for current month link
+ monthNames: ["January","February","March","April","May","June",
+ "July","August","September","October","November","December"], // Names of months for drop-down and formatting
+ monthNamesShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], // For formatting
+ dayNames: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], // For formatting
+ dayNamesShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], // For formatting
+ dayNamesMin: ["Su","Mo","Tu","We","Th","Fr","Sa"], // Column headings for days starting at Sunday
+ weekHeader: "Wk", // Column header for week of the year
+ dateFormat: "mm/dd/yy", // See format options on parseDate
+ firstDay: 0, // The first day of the week, Sun = 0, Mon = 1, ...
+ isRTL: false, // True if right-to-left language, false if left-to-right
+ showMonthAfterYear: false, // True if the year select precedes month, false for month then year
+ yearSuffix: "" // Additional text to append to the year in the month headers
+ };
+ this._defaults = { // Global defaults for all the date picker instances
+ showOn: "focus", // "focus" for popup on focus,
+ // "button" for trigger button, or "both" for either
+ showAnim: "fadeIn", // Name of jQuery animation for popup
+ showOptions: {}, // Options for enhanced animations
+ defaultDate: null, // Used when field is blank: actual date,
+ // +/-number for offset from today, null for today
+ appendText: "", // Display text following the input box, e.g. showing the format
+ buttonText: "...", // Text for trigger button
+ buttonImage: "", // URL for trigger button image
+ buttonImageOnly: false, // True if the image appears alone, false if it appears on a button
+ hideIfNoPrevNext: false, // True to hide next/previous month links
+ // if not applicable, false to just disable them
+ navigationAsDateFormat: false, // True if date formatting applied to prev/today/next links
+ gotoCurrent: false, // True if today link goes back to current selection instead
+ changeMonth: false, // True if month can be selected directly, false if only prev/next
+ changeYear: false, // True if year can be selected directly, false if only prev/next
+ yearRange: "c-10:c+10", // Range of years to display in drop-down,
+ // either relative to today's year (-nn:+nn), relative to currently displayed year
+ // (c-nn:c+nn), absolute (nnnn:nnnn), or a combination of the above (nnnn:-n)
+ showOtherMonths: false, // True to show dates in other months, false to leave blank
+ selectOtherMonths: false, // True to allow selection of dates in other months, false for unselectable
+ showWeek: false, // True to show week of the year, false to not show it
+ calculateWeek: this.iso8601Week, // How to calculate the week of the year,
+ // takes a Date and returns the number of the week for it
+ shortYearCutoff: "+10", // Short year values < this are in the current century,
+ // > this are in the previous century,
+ // string value starting with "+" for current year + value
+ minDate: null, // The earliest selectable date, or null for no limit
+ maxDate: null, // The latest selectable date, or null for no limit
+ duration: "fast", // Duration of display/closure
+ beforeShowDay: null, // Function that takes a date and returns an array with
+ // [0] = true if selectable, false if not, [1] = custom CSS class name(s) or "",
+ // [2] = cell title (optional), e.g. $.datepicker.noWeekends
+ beforeShow: null, // Function that takes an input field and
+ // returns a set of custom settings for the date picker
+ onSelect: null, // Define a callback function when a date is selected
+ onChangeMonthYear: null, // Define a callback function when the month or year is changed
+ onClose: null, // Define a callback function when the datepicker is closed
+ numberOfMonths: 1, // Number of months to show at a time
+ showCurrentAtPos: 0, // The position in multipe months at which to show the current month (starting at 0)
+ stepMonths: 1, // Number of months to step back/forward
+ stepBigMonths: 12, // Number of months to step back/forward for the big links
+ altField: "", // Selector for an alternate field to store selected dates into
+ altFormat: "", // The date format to use for the alternate field
+ constrainInput: true, // The input is constrained by the current date format
+ showButtonPanel: false, // True to show button panel, false to not show it
+ autoSize: false, // True to size the input for the date format, false to leave as is
+ disabled: false // The initial disabled state
+ };
+ $.extend(this._defaults, this.regional[""]);
+ this.dpDiv = bindHover($("<div id='" + this._mainDivId + "' class='ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>"));
+}
+
+$.extend(Datepicker.prototype, {
+ /* Class name added to elements to indicate already configured with a date picker. */
+ markerClassName: "hasDatepicker",
+
+ //Keep track of the maximum number of rows displayed (see #7043)
+ maxRows: 4,
+
+ // TODO rename to "widget" when switching to widget factory
+ _widgetDatepicker: function() {
+ return this.dpDiv;
+ },
+
+ /* Override the default settings for all instances of the date picker.
+ * @param settings object - the new settings to use as defaults (anonymous object)
+ * @return the manager object
+ */
+ setDefaults: function(settings) {
+ extendRemove(this._defaults, settings || {});
+ return this;
+ },
+
+ /* Attach the date picker to a jQuery selection.
+ * @param target element - the target input field or division or span
+ * @param settings object - the new settings to use for this date picker instance (anonymous)
+ */
+ _attachDatepicker: function(target, settings) {
+ var nodeName, inline, inst;
+ nodeName = target.nodeName.toLowerCase();
+ inline = (nodeName === "div" || nodeName === "span");
+ if (!target.id) {
+ this.uuid += 1;
+ target.id = "dp" + this.uuid;
+ }
+ inst = this._newInst($(target), inline);
+ inst.settings = $.extend({}, settings || {});
+ if (nodeName === "input") {
+ this._connectDatepicker(target, inst);
+ } else if (inline) {
+ this._inlineDatepicker(target, inst);
+ }
+ },
+
+ /* Create a new instance object. */
+ _newInst: function(target, inline) {
+ var id = target[0].id.replace(/([^A-Za-z0-9_\-])/g, "\\\\$1"); // escape jQuery meta chars
+ return {id: id, input: target, // associated target
+ selectedDay: 0, selectedMonth: 0, selectedYear: 0, // current selection
+ drawMonth: 0, drawYear: 0, // month being drawn
+ inline: inline, // is datepicker inline or not
+ dpDiv: (!inline ? this.dpDiv : // presentation div
+ bindHover($("<div class='" + this._inlineClass + " ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>")))};
+ },
+
+ /* Attach the date picker to an input field. */
+ _connectDatepicker: function(target, inst) {
+ var input = $(target);
+ inst.append = $([]);
+ inst.trigger = $([]);
+ if (input.hasClass(this.markerClassName)) {
+ return;
+ }
+ this._attachments(input, inst);
+ input.addClass(this.markerClassName).keydown(this._doKeyDown).
+ keypress(this._doKeyPress).keyup(this._doKeyUp);
+ this._autoSize(inst);
+ $.data(target, PROP_NAME, inst);
+ //If disabled option is true, disable the datepicker once it has been attached to the input (see ticket #5665)
+ if( inst.settings.disabled ) {
+ this._disableDatepicker( target );
+ }
+ },
+
+ /* Make attachments based on settings. */
+ _attachments: function(input, inst) {
+ var showOn, buttonText, buttonImage,
+ appendText = this._get(inst, "appendText"),
+ isRTL = this._get(inst, "isRTL");
+
+ if (inst.append) {
+ inst.append.remove();
+ }
+ if (appendText) {
+ inst.append = $("<span class='" + this._appendClass + "'>" + appendText + "</span>");
+ input[isRTL ? "before" : "after"](inst.append);
+ }
+
+ input.unbind("focus", this._showDatepicker);
+
+ if (inst.trigger) {
+ inst.trigger.remove();
+ }
+
+ showOn = this._get(inst, "showOn");
+ if (showOn === "focus" || showOn === "both") { // pop-up date picker when in the marked field
+ input.focus(this._showDatepicker);
+ }
+ if (showOn === "button" || showOn === "both") { // pop-up date picker when button clicked
+ buttonText = this._get(inst, "buttonText");
+ buttonImage = this._get(inst, "buttonImage");
+ inst.trigger = $(this._get(inst, "buttonImageOnly") ?
+ $("<img/>").addClass(this._triggerClass).
+ attr({ src: buttonImage, alt: buttonText, title: buttonText }) :
+ $("<button type='button'></button>").addClass(this._triggerClass).
+ html(!buttonImage ? buttonText : $("<img/>").attr(
+ { src:buttonImage, alt:buttonText, title:buttonText })));
+ input[isRTL ? "before" : "after"](inst.trigger);
+ inst.trigger.click(function() {
+ if ($.datepicker._datepickerShowing && $.datepicker._lastInput === input[0]) {
+ $.datepicker._hideDatepicker();
+ } else if ($.datepicker._datepickerShowing && $.datepicker._lastInput !== input[0]) {
+ $.datepicker._hideDatepicker();
+ $.datepicker._showDatepicker(input[0]);
+ } else {
+ $.datepicker._showDatepicker(input[0]);
+ }
+ return false;
+ });
+ }
+ },
+
+ /* Apply the maximum length for the date format. */
+ _autoSize: function(inst) {
+ if (this._get(inst, "autoSize") && !inst.inline) {
+ var findMax, max, maxI, i,
+ date = new Date(2009, 12 - 1, 20), // Ensure double digits
+ dateFormat = this._get(inst, "dateFormat");
+
+ if (dateFormat.match(/[DM]/)) {
+ findMax = function(names) {
+ max = 0;
+ maxI = 0;
+ for (i = 0; i < names.length; i++) {
+ if (names[i].length > max) {
+ max = names[i].length;
+ maxI = i;
+ }
+ }
+ return maxI;
+ };
+ date.setMonth(findMax(this._get(inst, (dateFormat.match(/MM/) ?
+ "monthNames" : "monthNamesShort"))));
+ date.setDate(findMax(this._get(inst, (dateFormat.match(/DD/) ?
+ "dayNames" : "dayNamesShort"))) + 20 - date.getDay());
+ }
+ inst.input.attr("size", this._formatDate(inst, date).length);
+ }
+ },
+
+ /* Attach an inline date picker to a div. */
+ _inlineDatepicker: function(target, inst) {
+ var divSpan = $(target);
+ if (divSpan.hasClass(this.markerClassName)) {
+ return;
+ }
+ divSpan.addClass(this.markerClassName).append(inst.dpDiv);
+ $.data(target, PROP_NAME, inst);
+ this._setDate(inst, this._getDefaultDate(inst), true);
+ this._updateDatepicker(inst);
+ this._updateAlternate(inst);
+ //If disabled option is true, disable the datepicker before showing it (see ticket #5665)
+ if( inst.settings.disabled ) {
+ this._disableDatepicker( target );
+ }
+ // Set display:block in place of inst.dpDiv.show() which won't work on disconnected elements
+ // http://bugs.jqueryui.com/ticket/7552 - A Datepicker created on a detached div has zero height
+ inst.dpDiv.css( "display", "block" );
+ },
+
+ /* Pop-up the date picker in a "dialog" box.
+ * @param input element - ignored
+ * @param date string or Date - the initial date to display
+ * @param onSelect function - the function to call when a date is selected
+ * @param settings object - update the dialog date picker instance's settings (anonymous object)
+ * @param pos int[2] - coordinates for the dialog's position within the screen or
+ * event - with x/y coordinates or
+ * leave empty for default (screen centre)
+ * @return the manager object
+ */
+ _dialogDatepicker: function(input, date, onSelect, settings, pos) {
+ var id, browserWidth, browserHeight, scrollX, scrollY,
+ inst = this._dialogInst; // internal instance
+
+ if (!inst) {
+ this.uuid += 1;
+ id = "dp" + this.uuid;
+ this._dialogInput = $("<input type='text' id='" + id +
+ "' style='position: absolute; top: -100px; width: 0px;'/>");
+ this._dialogInput.keydown(this._doKeyDown);
+ $("body").append(this._dialogInput);
+ inst = this._dialogInst = this._newInst(this._dialogInput, false);
+ inst.settings = {};
+ $.data(this._dialogInput[0], PROP_NAME, inst);
+ }
+ extendRemove(inst.settings, settings || {});
+ date = (date && date.constructor === Date ? this._formatDate(inst, date) : date);
+ this._dialogInput.val(date);
+
+ this._pos = (pos ? (pos.length ? pos : [pos.pageX, pos.pageY]) : null);
+ if (!this._pos) {
+ browserWidth = document.documentElement.clientWidth;
+ browserHeight = document.documentElement.clientHeight;
+ scrollX = document.documentElement.scrollLeft || document.body.scrollLeft;
+ scrollY = document.documentElement.scrollTop || document.body.scrollTop;
+ this._pos = // should use actual width/height below
+ [(browserWidth / 2) - 100 + scrollX, (browserHeight / 2) - 150 + scrollY];
+ }
+
+ // move input on screen for focus, but hidden behind dialog
+ this._dialogInput.css("left", (this._pos[0] + 20) + "px").css("top", this._pos[1] + "px");
+ inst.settings.onSelect = onSelect;
+ this._inDialog = true;
+ this.dpDiv.addClass(this._dialogClass);
+ this._showDatepicker(this._dialogInput[0]);
+ if ($.blockUI) {
+ $.blockUI(this.dpDiv);
+ }
+ $.data(this._dialogInput[0], PROP_NAME, inst);
+ return this;
+ },
+
+ /* Detach a datepicker from its control.
+ * @param target element - the target input field or division or span
+ */
+ _destroyDatepicker: function(target) {
+ var nodeName,
+ $target = $(target),
+ inst = $.data(target, PROP_NAME);
+
+ if (!$target.hasClass(this.markerClassName)) {
+ return;
+ }
+
+ nodeName = target.nodeName.toLowerCase();
+ $.removeData(target, PROP_NAME);
+ if (nodeName === "input") {
+ inst.append.remove();
+ inst.trigger.remove();
+ $target.removeClass(this.markerClassName).
+ unbind("focus", this._showDatepicker).
+ unbind("keydown", this._doKeyDown).
+ unbind("keypress", this._doKeyPress).
+ unbind("keyup", this._doKeyUp);
+ } else if (nodeName === "div" || nodeName === "span") {
+ $target.removeClass(this.markerClassName).empty();
+ }
+ },
+
+ /* Enable the date picker to a jQuery selection.
+ * @param target element - the target input field or division or span
+ */
+ _enableDatepicker: function(target) {
+ var nodeName, inline,
+ $target = $(target),
+ inst = $.data(target, PROP_NAME);
+
+ if (!$target.hasClass(this.markerClassName)) {
+ return;
+ }
+
+ nodeName = target.nodeName.toLowerCase();
+ if (nodeName === "input") {
+ target.disabled = false;
+ inst.trigger.filter("button").
+ each(function() { this.disabled = false; }).end().
+ filter("img").css({opacity: "1.0", cursor: ""});
+ } else if (nodeName === "div" || nodeName === "span") {
+ inline = $target.children("." + this._inlineClass);
+ inline.children().removeClass("ui-state-disabled");
+ inline.find("select.ui-datepicker-month, select.ui-datepicker-year").
+ prop("disabled", false);
+ }
+ this._disabledInputs = $.map(this._disabledInputs,
+ function(value) { return (value === target ? null : value); }); // delete entry
+ },
+
+ /* Disable the date picker to a jQuery selection.
+ * @param target element - the target input field or division or span
+ */
+ _disableDatepicker: function(target) {
+ var nodeName, inline,
+ $target = $(target),
+ inst = $.data(target, PROP_NAME);
+
+ if (!$target.hasClass(this.markerClassName)) {
+ return;
+ }
+
+ nodeName = target.nodeName.toLowerCase();
+ if (nodeName === "input") {
+ target.disabled = true;
+ inst.trigger.filter("button").
+ each(function() { this.disabled = true; }).end().
+ filter("img").css({opacity: "0.5", cursor: "default"});
+ } else if (nodeName === "div" || nodeName === "span") {
+ inline = $target.children("." + this._inlineClass);
+ inline.children().addClass("ui-state-disabled");
+ inline.find("select.ui-datepicker-month, select.ui-datepicker-year").
+ prop("disabled", true);
+ }
+ this._disabledInputs = $.map(this._disabledInputs,
+ function(value) { return (value === target ? null : value); }); // delete entry
+ this._disabledInputs[this._disabledInputs.length] = target;
+ },
+
+ /* Is the first field in a jQuery collection disabled as a datepicker?
+ * @param target element - the target input field or division or span
+ * @return boolean - true if disabled, false if enabled
+ */
+ _isDisabledDatepicker: function(target) {
+ if (!target) {
+ return false;
+ }
+ for (var i = 0; i < this._disabledInputs.length; i++) {
+ if (this._disabledInputs[i] === target) {
+ return true;
+ }
+ }
+ return false;
+ },
+
+ /* Retrieve the instance data for the target control.
+ * @param target element - the target input field or division or span
+ * @return object - the associated instance data
+ * @throws error if a jQuery problem getting data
+ */
+ _getInst: function(target) {
+ try {
+ return $.data(target, PROP_NAME);
+ }
+ catch (err) {
+ throw "Missing instance data for this datepicker";
+ }
+ },
+
+ /* Update or retrieve the settings for a date picker attached to an input field or division.
+ * @param target element - the target input field or division or span
+ * @param name object - the new settings to update or
+ * string - the name of the setting to change or retrieve,
+ * when retrieving also "all" for all instance settings or
+ * "defaults" for all global defaults
+ * @param value any - the new value for the setting
+ * (omit if above is an object or to retrieve a value)
+ */
+ _optionDatepicker: function(target, name, value) {
+ var settings, date, minDate, maxDate,
+ inst = this._getInst(target);
+
+ if (arguments.length === 2 && typeof name === "string") {
+ return (name === "defaults" ? $.extend({}, $.datepicker._defaults) :
+ (inst ? (name === "all" ? $.extend({}, inst.settings) :
+ this._get(inst, name)) : null));
+ }
+
+ settings = name || {};
+ if (typeof name === "string") {
+ settings = {};
+ settings[name] = value;
+ }
+
+ if (inst) {
+ if (this._curInst === inst) {
+ this._hideDatepicker();
+ }
+
+ date = this._getDateDatepicker(target, true);
+ minDate = this._getMinMaxDate(inst, "min");
+ maxDate = this._getMinMaxDate(inst, "max");
+ extendRemove(inst.settings, settings);
+ // reformat the old minDate/maxDate values if dateFormat changes and a new minDate/maxDate isn't provided
+ if (minDate !== null && settings.dateFormat !== undefined && settings.minDate === undefined) {
+ inst.settings.minDate = this._formatDate(inst, minDate);
+ }
+ if (maxDate !== null && settings.dateFormat !== undefined && settings.maxDate === undefined) {
+ inst.settings.maxDate = this._formatDate(inst, maxDate);
+ }
+ if ( "disabled" in settings ) {
+ if ( settings.disabled ) {
+ this._disableDatepicker(target);
+ } else {
+ this._enableDatepicker(target);
+ }
+ }
+ this._attachments($(target), inst);
+ this._autoSize(inst);
+ this._setDate(inst, date);
+ this._updateAlternate(inst);
+ this._updateDatepicker(inst);
+ }
+ },
+
+ // change method deprecated
+ _changeDatepicker: function(target, name, value) {
+ this._optionDatepicker(target, name, value);
+ },
+
+ /* Redraw the date picker attached to an input field or division.
+ * @param target element - the target input field or division or span
+ */
+ _refreshDatepicker: function(target) {
+ var inst = this._getInst(target);
+ if (inst) {
+ this._updateDatepicker(inst);
+ }
+ },
+
+ /* Set the dates for a jQuery selection.
+ * @param target element - the target input field or division or span
+ * @param date Date - the new date
+ */
+ _setDateDatepicker: function(target, date) {
+ var inst = this._getInst(target);
+ if (inst) {
+ this._setDate(inst, date);
+ this._updateDatepicker(inst);
+ this._updateAlternate(inst);
+ }
+ },
+
+ /* Get the date(s) for the first entry in a jQuery selection.
+ * @param target element - the target input field or division or span
+ * @param noDefault boolean - true if no default date is to be used
+ * @return Date - the current date
+ */
+ _getDateDatepicker: function(target, noDefault) {
+ var inst = this._getInst(target);
+ if (inst && !inst.inline) {
+ this._setDateFromField(inst, noDefault);
+ }
+ return (inst ? this._getDate(inst) : null);
+ },
+
+ /* Handle keystrokes. */
+ _doKeyDown: function(event) {
+ var onSelect, dateStr, sel,
+ inst = $.datepicker._getInst(event.target),
+ handled = true,
+ isRTL = inst.dpDiv.is(".ui-datepicker-rtl");
+
+ inst._keyEvent = true;
+ if ($.datepicker._datepickerShowing) {
+ switch (event.keyCode) {
+ case 9: $.datepicker._hideDatepicker();
+ handled = false;
+ break; // hide on tab out
+ case 13: sel = $("td." + $.datepicker._dayOverClass + ":not(." +
+ $.datepicker._currentClass + ")", inst.dpDiv);
+ if (sel[0]) {
+ $.datepicker._selectDay(event.target, inst.selectedMonth, inst.selectedYear, sel[0]);
+ }
+
+ onSelect = $.datepicker._get(inst, "onSelect");
+ if (onSelect) {
+ dateStr = $.datepicker._formatDate(inst);
+
+ // trigger custom callback
+ onSelect.apply((inst.input ? inst.input[0] : null), [dateStr, inst]);
+ } else {
+ $.datepicker._hideDatepicker();
+ }
+
+ return false; // don't submit the form
+ case 27: $.datepicker._hideDatepicker();
+ break; // hide on escape
+ case 33: $.datepicker._adjustDate(event.target, (event.ctrlKey ?
+ -$.datepicker._get(inst, "stepBigMonths") :
+ -$.datepicker._get(inst, "stepMonths")), "M");
+ break; // previous month/year on page up/+ ctrl
+ case 34: $.datepicker._adjustDate(event.target, (event.ctrlKey ?
+ +$.datepicker._get(inst, "stepBigMonths") :
+ +$.datepicker._get(inst, "stepMonths")), "M");
+ break; // next month/year on page down/+ ctrl
+ case 35: if (event.ctrlKey || event.metaKey) {
+ $.datepicker._clearDate(event.target);
+ }
+ handled = event.ctrlKey || event.metaKey;
+ break; // clear on ctrl or command +end
+ case 36: if (event.ctrlKey || event.metaKey) {
+ $.datepicker._gotoToday(event.target);
+ }
+ handled = event.ctrlKey || event.metaKey;
+ break; // current on ctrl or command +home
+ case 37: if (event.ctrlKey || event.metaKey) {
+ $.datepicker._adjustDate(event.target, (isRTL ? +1 : -1), "D");
+ }
+ handled = event.ctrlKey || event.metaKey;
+ // -1 day on ctrl or command +left
+ if (event.originalEvent.altKey) {
+ $.datepicker._adjustDate(event.target, (event.ctrlKey ?
+ -$.datepicker._get(inst, "stepBigMonths") :
+ -$.datepicker._get(inst, "stepMonths")), "M");
+ }
+ // next month/year on alt +left on Mac
+ break;
+ case 38: if (event.ctrlKey || event.metaKey) {
+ $.datepicker._adjustDate(event.target, -7, "D");
+ }
+ handled = event.ctrlKey || event.metaKey;
+ break; // -1 week on ctrl or command +up
+ case 39: if (event.ctrlKey || event.metaKey) {
+ $.datepicker._adjustDate(event.target, (isRTL ? -1 : +1), "D");
+ }
+ handled = event.ctrlKey || event.metaKey;
+ // +1 day on ctrl or command +right
+ if (event.originalEvent.altKey) {
+ $.datepicker._adjustDate(event.target, (event.ctrlKey ?
+ +$.datepicker._get(inst, "stepBigMonths") :
+ +$.datepicker._get(inst, "stepMonths")), "M");
+ }
+ // next month/year on alt +right
+ break;
+ case 40: if (event.ctrlKey || event.metaKey) {
+ $.datepicker._adjustDate(event.target, +7, "D");
+ }
+ handled = event.ctrlKey || event.metaKey;
+ break; // +1 week on ctrl or command +down
+ default: handled = false;
+ }
+ } else if (event.keyCode === 36 && event.ctrlKey) { // display the date picker on ctrl+home
+ $.datepicker._showDatepicker(this);
+ } else {
+ handled = false;
+ }
+
+ if (handled) {
+ event.preventDefault();
+ event.stopPropagation();
+ }
+ },
+
+ /* Filter entered characters - based on date format. */
+ _doKeyPress: function(event) {
+ var chars, chr,
+ inst = $.datepicker._getInst(event.target);
+
+ if ($.datepicker._get(inst, "constrainInput")) {
+ chars = $.datepicker._possibleChars($.datepicker._get(inst, "dateFormat"));
+ chr = String.fromCharCode(event.charCode == null ? event.keyCode : event.charCode);
+ return event.ctrlKey || event.metaKey || (chr < " " || !chars || chars.indexOf(chr) > -1);
+ }
+ },
+
+ /* Synchronise manual entry and field/alternate field. */
+ _doKeyUp: function(event) {
+ var date,
+ inst = $.datepicker._getInst(event.target);
+
+ if (inst.input.val() !== inst.lastVal) {
+ try {
+ date = $.datepicker.parseDate($.datepicker._get(inst, "dateFormat"),
+ (inst.input ? inst.input.val() : null),
+ $.datepicker._getFormatConfig(inst));
+
+ if (date) { // only if valid
+ $.datepicker._setDateFromField(inst);
+ $.datepicker._updateAlternate(inst);
+ $.datepicker._updateDatepicker(inst);
+ }
+ }
+ catch (err) {
+ }
+ }
+ return true;
+ },
+
+ /* Pop-up the date picker for a given input field.
+ * If false returned from beforeShow event handler do not show.
+ * @param input element - the input field attached to the date picker or
+ * event - if triggered by focus
+ */
+ _showDatepicker: function(input) {
+ input = input.target || input;
+ if (input.nodeName.toLowerCase() !== "input") { // find from button/image trigger
+ input = $("input", input.parentNode)[0];
+ }
+
+ if ($.datepicker._isDisabledDatepicker(input) || $.datepicker._lastInput === input) { // already here
+ return;
+ }
+
+ var inst, beforeShow, beforeShowSettings, isFixed,
+ offset, showAnim, duration;
+
+ inst = $.datepicker._getInst(input);
+ if ($.datepicker._curInst && $.datepicker._curInst !== inst) {
+ $.datepicker._curInst.dpDiv.stop(true, true);
+ if ( inst && $.datepicker._datepickerShowing ) {
+ $.datepicker._hideDatepicker( $.datepicker._curInst.input[0] );
+ }
+ }
+
+ beforeShow = $.datepicker._get(inst, "beforeShow");
+ beforeShowSettings = beforeShow ? beforeShow.apply(input, [input, inst]) : {};
+ if(beforeShowSettings === false){
+ return;
+ }
+ extendRemove(inst.settings, beforeShowSettings);
+
+ inst.lastVal = null;
+ $.datepicker._lastInput = input;
+ $.datepicker._setDateFromField(inst);
+
+ if ($.datepicker._inDialog) { // hide cursor
+ input.value = "";
+ }
+ if (!$.datepicker._pos) { // position below input
+ $.datepicker._pos = $.datepicker._findPos(input);
+ $.datepicker._pos[1] += input.offsetHeight; // add the height
+ }
+
+ isFixed = false;
+ $(input).parents().each(function() {
+ isFixed |= $(this).css("position") === "fixed";
+ return !isFixed;
+ });
+
+ offset = {left: $.datepicker._pos[0], top: $.datepicker._pos[1]};
+ $.datepicker._pos = null;
+ //to avoid flashes on Firefox
+ inst.dpDiv.empty();
+ // determine sizing offscreen
+ inst.dpDiv.css({position: "absolute", display: "block", top: "-1000px"});
+ $.datepicker._updateDatepicker(inst);
+ // fix width for dynamic number of date pickers
+ // and adjust position before showing
+ offset = $.datepicker._checkOffset(inst, offset, isFixed);
+ inst.dpDiv.css({position: ($.datepicker._inDialog && $.blockUI ?
+ "static" : (isFixed ? "fixed" : "absolute")), display: "none",
+ left: offset.left + "px", top: offset.top + "px"});
+
+ if (!inst.inline) {
+ showAnim = $.datepicker._get(inst, "showAnim");
+ duration = $.datepicker._get(inst, "duration");
+ inst.dpDiv.zIndex($(input).zIndex()+1);
+ $.datepicker._datepickerShowing = true;
+
+ if ( $.effects && $.effects.effect[ showAnim ] ) {
+ inst.dpDiv.show(showAnim, $.datepicker._get(inst, "showOptions"), duration);
+ } else {
+ inst.dpDiv[showAnim || "show"](showAnim ? duration : null);
+ }
+
+ if (inst.input.is(":visible") && !inst.input.is(":disabled")) {
+ inst.input.focus();
+ }
+ $.datepicker._curInst = inst;
+ }
+ },
+
+ /* Generate the date picker content. */
+ _updateDatepicker: function(inst) {
+ this.maxRows = 4; //Reset the max number of rows being displayed (see #7043)
+ instActive = inst; // for delegate hover events
+ inst.dpDiv.empty().append(this._generateHTML(inst));
+ this._attachHandlers(inst);
+ inst.dpDiv.find("." + this._dayOverClass + " a").mouseover();
+
+ var origyearshtml,
+ numMonths = this._getNumberOfMonths(inst),
+ cols = numMonths[1],
+ width = 17;
+
+ inst.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width("");
+ if (cols > 1) {
+ inst.dpDiv.addClass("ui-datepicker-multi-" + cols).css("width", (width * cols) + "em");
+ }
+ inst.dpDiv[(numMonths[0] !== 1 || numMonths[1] !== 1 ? "add" : "remove") +
+ "Class"]("ui-datepicker-multi");
+ inst.dpDiv[(this._get(inst, "isRTL") ? "add" : "remove") +
+ "Class"]("ui-datepicker-rtl");
+
+ // #6694 - don't focus the input if it's already focused
+ // this breaks the change event in IE
+ if (inst === $.datepicker._curInst && $.datepicker._datepickerShowing && inst.input &&
+ inst.input.is(":visible") && !inst.input.is(":disabled") && inst.input[0] !== document.activeElement) {
+ inst.input.focus();
+ }
+
+ // deffered render of the years select (to avoid flashes on Firefox)
+ if( inst.yearshtml ){
+ origyearshtml = inst.yearshtml;
+ setTimeout(function(){
+ //assure that inst.yearshtml didn't change.
+ if( origyearshtml === inst.yearshtml && inst.yearshtml ){
+ inst.dpDiv.find("select.ui-datepicker-year:first").replaceWith(inst.yearshtml);
+ }
+ origyearshtml = inst.yearshtml = null;
+ }, 0);
+ }
+ },
+
+ /* Retrieve the size of left and top borders for an element.
+ * @param elem (jQuery object) the element of interest
+ * @return (number[2]) the left and top borders
+ */
+ _getBorders: function(elem) {
+ var convert = function(value) {
+ return {thin: 1, medium: 2, thick: 3}[value] || value;
+ };
+ return [parseFloat(convert(elem.css("border-left-width"))),
+ parseFloat(convert(elem.css("border-top-width")))];
+ },
+
+ /* Check positioning to remain on screen. */
+ _checkOffset: function(inst, offset, isFixed) {
+ var dpWidth = inst.dpDiv.outerWidth(),
+ dpHeight = inst.dpDiv.outerHeight(),
+ inputWidth = inst.input ? inst.input.outerWidth() : 0,
+ inputHeight = inst.input ? inst.input.outerHeight() : 0,
+ viewWidth = document.documentElement.clientWidth + (isFixed ? 0 : $(document).scrollLeft()),
+ viewHeight = document.documentElement.clientHeight + (isFixed ? 0 : $(document).scrollTop());
+
+ offset.left -= (this._get(inst, "isRTL") ? (dpWidth - inputWidth) : 0);
+ offset.left -= (isFixed && offset.left === inst.input.offset().left) ? $(document).scrollLeft() : 0;
+ offset.top -= (isFixed && offset.top === (inst.input.offset().top + inputHeight)) ? $(document).scrollTop() : 0;
+
+ // now check if datepicker is showing outside window viewport - move to a better place if so.
+ offset.left -= Math.min(offset.left, (offset.left + dpWidth > viewWidth && viewWidth > dpWidth) ?
+ Math.abs(offset.left + dpWidth - viewWidth) : 0);
+ offset.top -= Math.min(offset.top, (offset.top + dpHeight > viewHeight && viewHeight > dpHeight) ?
+ Math.abs(dpHeight + inputHeight) : 0);
+
+ return offset;
+ },
+
+ /* Find an object's position on the screen. */
+ _findPos: function(obj) {
+ var position,
+ inst = this._getInst(obj),
+ isRTL = this._get(inst, "isRTL");
+
+ while (obj && (obj.type === "hidden" || obj.nodeType !== 1 || $.expr.filters.hidden(obj))) {
+ obj = obj[isRTL ? "previousSibling" : "nextSibling"];
+ }
+
+ position = $(obj).offset();
+ return [position.left, position.top];
+ },
+
+ /* Hide the date picker from view.
+ * @param input element - the input field attached to the date picker
+ */
+ _hideDatepicker: function(input) {
+ var showAnim, duration, postProcess, onClose,
+ inst = this._curInst;
+
+ if (!inst || (input && inst !== $.data(input, PROP_NAME))) {
+ return;
+ }
+
+ if (this._datepickerShowing) {
+ showAnim = this._get(inst, "showAnim");
+ duration = this._get(inst, "duration");
+ postProcess = function() {
+ $.datepicker._tidyDialog(inst);
+ };
+
+ // DEPRECATED: after BC for 1.8.x $.effects[ showAnim ] is not needed
+ if ( $.effects && ( $.effects.effect[ showAnim ] || $.effects[ showAnim ] ) ) {
+ inst.dpDiv.hide(showAnim, $.datepicker._get(inst, "showOptions"), duration, postProcess);
+ } else {
+ inst.dpDiv[(showAnim === "slideDown" ? "slideUp" :
+ (showAnim === "fadeIn" ? "fadeOut" : "hide"))]((showAnim ? duration : null), postProcess);
+ }
+
+ if (!showAnim) {
+ postProcess();
+ }
+ this._datepickerShowing = false;
+
+ onClose = this._get(inst, "onClose");
+ if (onClose) {
+ onClose.apply((inst.input ? inst.input[0] : null), [(inst.input ? inst.input.val() : ""), inst]);
+ }
+
+ this._lastInput = null;
+ if (this._inDialog) {
+ this._dialogInput.css({ position: "absolute", left: "0", top: "-100px" });
+ if ($.blockUI) {
+ $.unblockUI();
+ $("body").append(this.dpDiv);
+ }
+ }
+ this._inDialog = false;
+ }
+ },
+
+ /* Tidy up after a dialog display. */
+ _tidyDialog: function(inst) {
+ inst.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar");
+ },
+
+ /* Close date picker if clicked elsewhere. */
+ _checkExternalClick: function(event) {
+ if (!$.datepicker._curInst) {
+ return;
+ }
+
+ var $target = $(event.target),
+ inst = $.datepicker._getInst($target[0]);
+
+ if ( ( ( $target[0].id !== $.datepicker._mainDivId &&
+ $target.parents("#" + $.datepicker._mainDivId).length === 0 &&
+ !$target.hasClass($.datepicker.markerClassName) &&
+ !$target.closest("." + $.datepicker._triggerClass).length &&
+ $.datepicker._datepickerShowing && !($.datepicker._inDialog && $.blockUI) ) ) ||
+ ( $target.hasClass($.datepicker.markerClassName) && $.datepicker._curInst !== inst ) ) {
+ $.datepicker._hideDatepicker();
+ }
+ },
+
+ /* Adjust one of the date sub-fields. */
+ _adjustDate: function(id, offset, period) {
+ var target = $(id),
+ inst = this._getInst(target[0]);
+
+ if (this._isDisabledDatepicker(target[0])) {
+ return;
+ }
+ this._adjustInstDate(inst, offset +
+ (period === "M" ? this._get(inst, "showCurrentAtPos") : 0), // undo positioning
+ period);
+ this._updateDatepicker(inst);
+ },
+
+ /* Action for current link. */
+ _gotoToday: function(id) {
+ var date,
+ target = $(id),
+ inst = this._getInst(target[0]);
+
+ if (this._get(inst, "gotoCurrent") && inst.currentDay) {
+ inst.selectedDay = inst.currentDay;
+ inst.drawMonth = inst.selectedMonth = inst.currentMonth;
+ inst.drawYear = inst.selectedYear = inst.currentYear;
+ } else {
+ date = new Date();
+ inst.selectedDay = date.getDate();
+ inst.drawMonth = inst.selectedMonth = date.getMonth();
+ inst.drawYear = inst.selectedYear = date.getFullYear();
+ }
+ this._notifyChange(inst);
+ this._adjustDate(target);
+ },
+
+ /* Action for selecting a new month/year. */
+ _selectMonthYear: function(id, select, period) {
+ var target = $(id),
+ inst = this._getInst(target[0]);
+
+ inst["selected" + (period === "M" ? "Month" : "Year")] =
+ inst["draw" + (period === "M" ? "Month" : "Year")] =
+ parseInt(select.options[select.selectedIndex].value,10);
+
+ this._notifyChange(inst);
+ this._adjustDate(target);
+ },
+
+ /* Action for selecting a day. */
+ _selectDay: function(id, month, year, td) {
+ var inst,
+ target = $(id);
+
+ if ($(td).hasClass(this._unselectableClass) || this._isDisabledDatepicker(target[0])) {
+ return;
+ }
+
+ inst = this._getInst(target[0]);
+ inst.selectedDay = inst.currentDay = $("a", td).html();
+ inst.selectedMonth = inst.currentMonth = month;
+ inst.selectedYear = inst.currentYear = year;
+ this._selectDate(id, this._formatDate(inst,
+ inst.currentDay, inst.currentMonth, inst.currentYear));
+ },
+
+ /* Erase the input field and hide the date picker. */
+ _clearDate: function(id) {
+ var target = $(id);
+ this._selectDate(target, "");
+ },
+
+ /* Update the input field with the selected date. */
+ _selectDate: function(id, dateStr) {
+ var onSelect,
+ target = $(id),
+ inst = this._getInst(target[0]);
+
+ dateStr = (dateStr != null ? dateStr : this._formatDate(inst));
+ if (inst.input) {
+ inst.input.val(dateStr);
+ }
+ this._updateAlternate(inst);
+
+ onSelect = this._get(inst, "onSelect");
+ if (onSelect) {
+ onSelect.apply((inst.input ? inst.input[0] : null), [dateStr, inst]); // trigger custom callback
+ } else if (inst.input) {
+ inst.input.trigger("change"); // fire the change event
+ }
+
+ if (inst.inline){
+ this._updateDatepicker(inst);
+ } else {
+ this._hideDatepicker();
+ this._lastInput = inst.input[0];
+ if (typeof(inst.input[0]) !== "object") {
+ inst.input.focus(); // restore focus
+ }
+ this._lastInput = null;
+ }
+ },
+
+ /* Update any alternate field to synchronise with the main field. */
+ _updateAlternate: function(inst) {
+ var altFormat, date, dateStr,
+ altField = this._get(inst, "altField");
+
+ if (altField) { // update alternate field too
+ altFormat = this._get(inst, "altFormat") || this._get(inst, "dateFormat");
+ date = this._getDate(inst);
+ dateStr = this.formatDate(altFormat, date, this._getFormatConfig(inst));
+ $(altField).each(function() { $(this).val(dateStr); });
+ }
+ },
+
+ /* Set as beforeShowDay function to prevent selection of weekends.
+ * @param date Date - the date to customise
+ * @return [boolean, string] - is this date selectable?, what is its CSS class?
+ */
+ noWeekends: function(date) {
+ var day = date.getDay();
+ return [(day > 0 && day < 6), ""];
+ },
+
+ /* Set as calculateWeek to determine the week of the year based on the ISO 8601 definition.
+ * @param date Date - the date to get the week for
+ * @return number - the number of the week within the year that contains this date
+ */
+ iso8601Week: function(date) {
+ var time,
+ checkDate = new Date(date.getTime());
+
+ // Find Thursday of this week starting on Monday
+ checkDate.setDate(checkDate.getDate() + 4 - (checkDate.getDay() || 7));
+
+ time = checkDate.getTime();
+ checkDate.setMonth(0); // Compare with Jan 1
+ checkDate.setDate(1);
+ return Math.floor(Math.round((time - checkDate) / 86400000) / 7) + 1;
+ },
+
+ /* Parse a string value into a date object.
+ * See formatDate below for the possible formats.
+ *
+ * @param format string - the expected format of the date
+ * @param value string - the date in the above format
+ * @param settings Object - attributes include:
+ * shortYearCutoff number - the cutoff year for determining the century (optional)
+ * dayNamesShort string[7] - abbreviated names of the days from Sunday (optional)
+ * dayNames string[7] - names of the days from Sunday (optional)
+ * monthNamesShort string[12] - abbreviated names of the months (optional)
+ * monthNames string[12] - names of the months (optional)
+ * @return Date - the extracted date value or null if value is blank
+ */
+ parseDate: function (format, value, settings) {
+ if (format == null || value == null) {
+ throw "Invalid arguments";
+ }
+
+ value = (typeof value === "object" ? value.toString() : value + "");
+ if (value === "") {
+ return null;
+ }
+
+ var iFormat, dim, extra,
+ iValue = 0,
+ shortYearCutoffTemp = (settings ? settings.shortYearCutoff : null) || this._defaults.shortYearCutoff,
+ shortYearCutoff = (typeof shortYearCutoffTemp !== "string" ? shortYearCutoffTemp :
+ new Date().getFullYear() % 100 + parseInt(shortYearCutoffTemp, 10)),
+ dayNamesShort = (settings ? settings.dayNamesShort : null) || this._defaults.dayNamesShort,
+ dayNames = (settings ? settings.dayNames : null) || this._defaults.dayNames,
+ monthNamesShort = (settings ? settings.monthNamesShort : null) || this._defaults.monthNamesShort,
+ monthNames = (settings ? settings.monthNames : null) || this._defaults.monthNames,
+ year = -1,
+ month = -1,
+ day = -1,
+ doy = -1,
+ literal = false,
+ date,
+ // Check whether a format character is doubled
+ lookAhead = function(match) {
+ var matches = (iFormat + 1 < format.length && format.charAt(iFormat + 1) === match);
+ if (matches) {
+ iFormat++;
+ }
+ return matches;
+ },
+ // Extract a number from the string value
+ getNumber = function(match) {
+ var isDoubled = lookAhead(match),
+ size = (match === "@" ? 14 : (match === "!" ? 20 :
+ (match === "y" && isDoubled ? 4 : (match === "o" ? 3 : 2)))),
+ digits = new RegExp("^\\d{1," + size + "}"),
+ num = value.substring(iValue).match(digits);
+ if (!num) {
+ throw "Missing number at position " + iValue;
+ }
+ iValue += num[0].length;
+ return parseInt(num[0], 10);
+ },
+ // Extract a name from the string value and convert to an index
+ getName = function(match, shortNames, longNames) {
+ var index = -1,
+ names = $.map(lookAhead(match) ? longNames : shortNames, function (v, k) {
+ return [ [k, v] ];
+ }).sort(function (a, b) {
+ return -(a[1].length - b[1].length);
+ });
+
+ $.each(names, function (i, pair) {
+ var name = pair[1];
+ if (value.substr(iValue, name.length).toLowerCase() === name.toLowerCase()) {
+ index = pair[0];
+ iValue += name.length;
+ return false;
+ }
+ });
+ if (index !== -1) {
+ return index + 1;
+ } else {
+ throw "Unknown name at position " + iValue;
+ }
+ },
+ // Confirm that a literal character matches the string value
+ checkLiteral = function() {
+ if (value.charAt(iValue) !== format.charAt(iFormat)) {
+ throw "Unexpected literal at position " + iValue;
+ }
+ iValue++;
+ };
+
+ for (iFormat = 0; iFormat < format.length; iFormat++) {
+ if (literal) {
+ if (format.charAt(iFormat) === "'" && !lookAhead("'")) {
+ literal = false;
+ } else {
+ checkLiteral();
+ }
+ } else {
+ switch (format.charAt(iFormat)) {
+ case "d":
+ day = getNumber("d");
+ break;
+ case "D":
+ getName("D", dayNamesShort, dayNames);
+ break;
+ case "o":
+ doy = getNumber("o");
+ break;
+ case "m":
+ month = getNumber("m");
+ break;
+ case "M":
+ month = getName("M", monthNamesShort, monthNames);
+ break;
+ case "y":
+ year = getNumber("y");
+ break;
+ case "@":
+ date = new Date(getNumber("@"));
+ year = date.getFullYear();
+ month = date.getMonth() + 1;
+ day = date.getDate();
+ break;
+ case "!":
+ date = new Date((getNumber("!") - this._ticksTo1970) / 10000);
+ year = date.getFullYear();
+ month = date.getMonth() + 1;
+ day = date.getDate();
+ break;
+ case "'":
+ if (lookAhead("'")){
+ checkLiteral();
+ } else {
+ literal = true;
+ }
+ break;
+ default:
+ checkLiteral();
+ }
+ }
+ }
+
+ if (iValue < value.length){
+ extra = value.substr(iValue);
+ if (!/^\s+/.test(extra)) {
+ throw "Extra/unparsed characters found in date: " + extra;
+ }
+ }
+
+ if (year === -1) {
+ year = new Date().getFullYear();
+ } else if (year < 100) {
+ year += new Date().getFullYear() - new Date().getFullYear() % 100 +
+ (year <= shortYearCutoff ? 0 : -100);
+ }
+
+ if (doy > -1) {
+ month = 1;
+ day = doy;
+ do {
+ dim = this._getDaysInMonth(year, month - 1);
+ if (day <= dim) {
+ break;
+ }
+ month++;
+ day -= dim;
+ } while (true);
+ }
+
+ date = this._daylightSavingAdjust(new Date(year, month - 1, day));
+ if (date.getFullYear() !== year || date.getMonth() + 1 !== month || date.getDate() !== day) {
+ throw "Invalid date"; // E.g. 31/02/00
+ }
+ return date;
+ },
+
+ /* Standard date formats. */
+ ATOM: "yy-mm-dd", // RFC 3339 (ISO 8601)
+ COOKIE: "D, dd M yy",
+ ISO_8601: "yy-mm-dd",
+ RFC_822: "D, d M y",
+ RFC_850: "DD, dd-M-y",
+ RFC_1036: "D, d M y",
+ RFC_1123: "D, d M yy",
+ RFC_2822: "D, d M yy",
+ RSS: "D, d M y", // RFC 822
+ TICKS: "!",
+ TIMESTAMP: "@",
+ W3C: "yy-mm-dd", // ISO 8601
+
+ _ticksTo1970: (((1970 - 1) * 365 + Math.floor(1970 / 4) - Math.floor(1970 / 100) +
+ Math.floor(1970 / 400)) * 24 * 60 * 60 * 10000000),
+
+ /* Format a date object into a string value.
+ * The format can be combinations of the following:
+ * d - day of month (no leading zero)
+ * dd - day of month (two digit)
+ * o - day of year (no leading zeros)
+ * oo - day of year (three digit)
+ * D - day name short
+ * DD - day name long
+ * m - month of year (no leading zero)
+ * mm - month of year (two digit)
+ * M - month name short
+ * MM - month name long
+ * y - year (two digit)
+ * yy - year (four digit)
+ * @ - Unix timestamp (ms since 01/01/1970)
+ * ! - Windows ticks (100ns since 01/01/0001)
+ * "..." - literal text
+ * '' - single quote
+ *
+ * @param format string - the desired format of the date
+ * @param date Date - the date value to format
+ * @param settings Object - attributes include:
+ * dayNamesShort string[7] - abbreviated names of the days from Sunday (optional)
+ * dayNames string[7] - names of the days from Sunday (optional)
+ * monthNamesShort string[12] - abbreviated names of the months (optional)
+ * monthNames string[12] - names of the months (optional)
+ * @return string - the date in the above format
+ */
+ formatDate: function (format, date, settings) {
+ if (!date) {
+ return "";
+ }
+
+ var iFormat,
+ dayNamesShort = (settings ? settings.dayNamesShort : null) || this._defaults.dayNamesShort,
+ dayNames = (settings ? settings.dayNames : null) || this._defaults.dayNames,
+ monthNamesShort = (settings ? settings.monthNamesShort : null) || this._defaults.monthNamesShort,
+ monthNames = (settings ? settings.monthNames : null) || this._defaults.monthNames,
+ // Check whether a format character is doubled
+ lookAhead = function(match) {
+ var matches = (iFormat + 1 < format.length && format.charAt(iFormat + 1) === match);
+ if (matches) {
+ iFormat++;
+ }
+ return matches;
+ },
+ // Format a number, with leading zero if necessary
+ formatNumber = function(match, value, len) {
+ var num = "" + value;
+ if (lookAhead(match)) {
+ while (num.length < len) {
+ num = "0" + num;
+ }
+ }
+ return num;
+ },
+ // Format a name, short or long as requested
+ formatName = function(match, value, shortNames, longNames) {
+ return (lookAhead(match) ? longNames[value] : shortNames[value]);
+ },
+ output = "",
+ literal = false;
+
+ if (date) {
+ for (iFormat = 0; iFormat < format.length; iFormat++) {
+ if (literal) {
+ if (format.charAt(iFormat) === "'" && !lookAhead("'")) {
+ literal = false;
+ } else {
+ output += format.charAt(iFormat);
+ }
+ } else {
+ switch (format.charAt(iFormat)) {
+ case "d":
+ output += formatNumber("d", date.getDate(), 2);
+ break;
+ case "D":
+ output += formatName("D", date.getDay(), dayNamesShort, dayNames);
+ break;
+ case "o":
+ output += formatNumber("o",
+ Math.round((new Date(date.getFullYear(), date.getMonth(), date.getDate()).getTime() - new Date(date.getFullYear(), 0, 0).getTime()) / 86400000), 3);
+ break;
+ case "m":
+ output += formatNumber("m", date.getMonth() + 1, 2);
+ break;
+ case "M":
+ output += formatName("M", date.getMonth(), monthNamesShort, monthNames);
+ break;
+ case "y":
+ output += (lookAhead("y") ? date.getFullYear() :
+ (date.getYear() % 100 < 10 ? "0" : "") + date.getYear() % 100);
+ break;
+ case "@":
+ output += date.getTime();
+ break;
+ case "!":
+ output += date.getTime() * 10000 + this._ticksTo1970;
+ break;
+ case "'":
+ if (lookAhead("'")) {
+ output += "'";
+ } else {
+ literal = true;
+ }
+ break;
+ default:
+ output += format.charAt(iFormat);
+ }
+ }
+ }
+ }
+ return output;
+ },
+
+ /* Extract all possible characters from the date format. */
+ _possibleChars: function (format) {
+ var iFormat,
+ chars = "",
+ literal = false,
+ // Check whether a format character is doubled
+ lookAhead = function(match) {
+ var matches = (iFormat + 1 < format.length && format.charAt(iFormat + 1) === match);
+ if (matches) {
+ iFormat++;
+ }
+ return matches;
+ };
+
+ for (iFormat = 0; iFormat < format.length; iFormat++) {
+ if (literal) {
+ if (format.charAt(iFormat) === "'" && !lookAhead("'")) {
+ literal = false;
+ } else {
+ chars += format.charAt(iFormat);
+ }
+ } else {
+ switch (format.charAt(iFormat)) {
+ case "d": case "m": case "y": case "@":
+ chars += "0123456789";
+ break;
+ case "D": case "M":
+ return null; // Accept anything
+ case "'":
+ if (lookAhead("'")) {
+ chars += "'";
+ } else {
+ literal = true;
+ }
+ break;
+ default:
+ chars += format.charAt(iFormat);
+ }
+ }
+ }
+ return chars;
+ },
+
+ /* Get a setting value, defaulting if necessary. */
+ _get: function(inst, name) {
+ return inst.settings[name] !== undefined ?
+ inst.settings[name] : this._defaults[name];
+ },
+
+ /* Parse existing date and initialise date picker. */
+ _setDateFromField: function(inst, noDefault) {
+ if (inst.input.val() === inst.lastVal) {
+ return;
+ }
+
+ var dateFormat = this._get(inst, "dateFormat"),
+ dates = inst.lastVal = inst.input ? inst.input.val() : null,
+ defaultDate = this._getDefaultDate(inst),
+ date = defaultDate,
+ settings = this._getFormatConfig(inst);
+
+ try {
+ date = this.parseDate(dateFormat, dates, settings) || defaultDate;
+ } catch (event) {
+ dates = (noDefault ? "" : dates);
+ }
+ inst.selectedDay = date.getDate();
+ inst.drawMonth = inst.selectedMonth = date.getMonth();
+ inst.drawYear = inst.selectedYear = date.getFullYear();
+ inst.currentDay = (dates ? date.getDate() : 0);
+ inst.currentMonth = (dates ? date.getMonth() : 0);
+ inst.currentYear = (dates ? date.getFullYear() : 0);
+ this._adjustInstDate(inst);
+ },
+
+ /* Retrieve the default date shown on opening. */
+ _getDefaultDate: function(inst) {
+ return this._restrictMinMax(inst,
+ this._determineDate(inst, this._get(inst, "defaultDate"), new Date()));
+ },
+
+ /* A date may be specified as an exact value or a relative one. */
+ _determineDate: function(inst, date, defaultDate) {
+ var offsetNumeric = function(offset) {
+ var date = new Date();
+ date.setDate(date.getDate() + offset);
+ return date;
+ },
+ offsetString = function(offset) {
+ try {
+ return $.datepicker.parseDate($.datepicker._get(inst, "dateFormat"),
+ offset, $.datepicker._getFormatConfig(inst));
+ }
+ catch (e) {
+ // Ignore
+ }
+
+ var date = (offset.toLowerCase().match(/^c/) ?
+ $.datepicker._getDate(inst) : null) || new Date(),
+ year = date.getFullYear(),
+ month = date.getMonth(),
+ day = date.getDate(),
+ pattern = /([+\-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,
+ matches = pattern.exec(offset);
+
+ while (matches) {
+ switch (matches[2] || "d") {
+ case "d" : case "D" :
+ day += parseInt(matches[1],10); break;
+ case "w" : case "W" :
+ day += parseInt(matches[1],10) * 7; break;
+ case "m" : case "M" :
+ month += parseInt(matches[1],10);
+ day = Math.min(day, $.datepicker._getDaysInMonth(year, month));
+ break;
+ case "y": case "Y" :
+ year += parseInt(matches[1],10);
+ day = Math.min(day, $.datepicker._getDaysInMonth(year, month));
+ break;
+ }
+ matches = pattern.exec(offset);
+ }
+ return new Date(year, month, day);
+ },
+ newDate = (date == null || date === "" ? defaultDate : (typeof date === "string" ? offsetString(date) :
+ (typeof date === "number" ? (isNaN(date) ? defaultDate : offsetNumeric(date)) : new Date(date.getTime()))));
+
+ newDate = (newDate && newDate.toString() === "Invalid Date" ? defaultDate : newDate);
+ if (newDate) {
+ newDate.setHours(0);
+ newDate.setMinutes(0);
+ newDate.setSeconds(0);
+ newDate.setMilliseconds(0);
+ }
+ return this._daylightSavingAdjust(newDate);
+ },
+
+ /* Handle switch to/from daylight saving.
+ * Hours may be non-zero on daylight saving cut-over:
+ * > 12 when midnight changeover, but then cannot generate
+ * midnight datetime, so jump to 1AM, otherwise reset.
+ * @param date (Date) the date to check
+ * @return (Date) the corrected date
+ */
+ _daylightSavingAdjust: function(date) {
+ if (!date) {
+ return null;
+ }
+ date.setHours(date.getHours() > 12 ? date.getHours() + 2 : 0);
+ return date;
+ },
+
+ /* Set the date(s) directly. */
+ _setDate: function(inst, date, noChange) {
+ var clear = !date,
+ origMonth = inst.selectedMonth,
+ origYear = inst.selectedYear,
+ newDate = this._restrictMinMax(inst, this._determineDate(inst, date, new Date()));
+
+ inst.selectedDay = inst.currentDay = newDate.getDate();
+ inst.drawMonth = inst.selectedMonth = inst.currentMonth = newDate.getMonth();
+ inst.drawYear = inst.selectedYear = inst.currentYear = newDate.getFullYear();
+ if ((origMonth !== inst.selectedMonth || origYear !== inst.selectedYear) && !noChange) {
+ this._notifyChange(inst);
+ }
+ this._adjustInstDate(inst);
+ if (inst.input) {
+ inst.input.val(clear ? "" : this._formatDate(inst));
+ }
+ },
+
+ /* Retrieve the date(s) directly. */
+ _getDate: function(inst) {
+ var startDate = (!inst.currentYear || (inst.input && inst.input.val() === "") ? null :
+ this._daylightSavingAdjust(new Date(
+ inst.currentYear, inst.currentMonth, inst.currentDay)));
+ return startDate;
+ },
+
+ /* Attach the onxxx handlers. These are declared statically so
+ * they work with static code transformers like Caja.
+ */
+ _attachHandlers: function(inst) {
+ var stepMonths = this._get(inst, "stepMonths"),
+ id = "#" + inst.id.replace( /\\\\/g, "\\" );
+ inst.dpDiv.find("[data-handler]").map(function () {
+ var handler = {
+ prev: function () {
+ window["DP_jQuery_" + dpuuid].datepicker._adjustDate(id, -stepMonths, "M");
+ },
+ next: function () {
+ window["DP_jQuery_" + dpuuid].datepicker._adjustDate(id, +stepMonths, "M");
+ },
+ hide: function () {
+ window["DP_jQuery_" + dpuuid].datepicker._hideDatepicker();
+ },
+ today: function () {
+ window["DP_jQuery_" + dpuuid].datepicker._gotoToday(id);
+ },
+ selectDay: function () {
+ window["DP_jQuery_" + dpuuid].datepicker._selectDay(id, +this.getAttribute("data-month"), +this.getAttribute("data-year"), this);
+ return false;
+ },
+ selectMonth: function () {
+ window["DP_jQuery_" + dpuuid].datepicker._selectMonthYear(id, this, "M");
+ return false;
+ },
+ selectYear: function () {
+ window["DP_jQuery_" + dpuuid].datepicker._selectMonthYear(id, this, "Y");
+ return false;
+ }
+ };
+ $(this).bind(this.getAttribute("data-event"), handler[this.getAttribute("data-handler")]);
+ });
+ },
+
+ /* Generate the HTML for the current state of the date picker. */
+ _generateHTML: function(inst) {
+ var maxDraw, prevText, prev, nextText, next, currentText, gotoDate,
+ controls, buttonPanel, firstDay, showWeek, dayNames, dayNamesMin,
+ monthNames, monthNamesShort, beforeShowDay, showOtherMonths,
+ selectOtherMonths, defaultDate, html, dow, row, group, col, selectedDate,
+ cornerClass, calender, thead, day, daysInMonth, leadDays, curRows, numRows,
+ printDate, dRow, tbody, daySettings, otherMonth, unselectable,
+ tempDate = new Date(),
+ today = this._daylightSavingAdjust(
+ new Date(tempDate.getFullYear(), tempDate.getMonth(), tempDate.getDate())), // clear time
+ isRTL = this._get(inst, "isRTL"),
+ showButtonPanel = this._get(inst, "showButtonPanel"),
+ hideIfNoPrevNext = this._get(inst, "hideIfNoPrevNext"),
+ navigationAsDateFormat = this._get(inst, "navigationAsDateFormat"),
+ numMonths = this._getNumberOfMonths(inst),
+ showCurrentAtPos = this._get(inst, "showCurrentAtPos"),
+ stepMonths = this._get(inst, "stepMonths"),
+ isMultiMonth = (numMonths[0] !== 1 || numMonths[1] !== 1),
+ currentDate = this._daylightSavingAdjust((!inst.currentDay ? new Date(9999, 9, 9) :
+ new Date(inst.currentYear, inst.currentMonth, inst.currentDay))),
+ minDate = this._getMinMaxDate(inst, "min"),
+ maxDate = this._getMinMaxDate(inst, "max"),
+ drawMonth = inst.drawMonth - showCurrentAtPos,
+ drawYear = inst.drawYear;
+
+ if (drawMonth < 0) {
+ drawMonth += 12;
+ drawYear--;
+ }
+ if (maxDate) {
+ maxDraw = this._daylightSavingAdjust(new Date(maxDate.getFullYear(),
+ maxDate.getMonth() - (numMonths[0] * numMonths[1]) + 1, maxDate.getDate()));
+ maxDraw = (minDate && maxDraw < minDate ? minDate : maxDraw);
+ while (this._daylightSavingAdjust(new Date(drawYear, drawMonth, 1)) > maxDraw) {
+ drawMonth--;
+ if (drawMonth < 0) {
+ drawMonth = 11;
+ drawYear--;
+ }
+ }
+ }
+ inst.drawMonth = drawMonth;
+ inst.drawYear = drawYear;
+
+ prevText = this._get(inst, "prevText");
+ prevText = (!navigationAsDateFormat ? prevText : this.formatDate(prevText,
+ this._daylightSavingAdjust(new Date(drawYear, drawMonth - stepMonths, 1)),
+ this._getFormatConfig(inst)));
+
+ prev = (this._canAdjustMonth(inst, -1, drawYear, drawMonth) ?
+ "<a class='ui-datepicker-prev ui-corner-all' data-handler='prev' data-event='click'" +
+ " title='" + prevText + "'><span class='ui-icon ui-icon-circle-triangle-" + ( isRTL ? "e" : "w") + "'>" + prevText + "</span></a>" :
+ (hideIfNoPrevNext ? "" : "<a class='ui-datepicker-prev ui-corner-all ui-state-disabled' title='"+ prevText +"'><span class='ui-icon ui-icon-circle-triangle-" + ( isRTL ? "e" : "w") + "'>" + prevText + "</span></a>"));
+
+ nextText = this._get(inst, "nextText");
+ nextText = (!navigationAsDateFormat ? nextText : this.formatDate(nextText,
+ this._daylightSavingAdjust(new Date(drawYear, drawMonth + stepMonths, 1)),
+ this._getFormatConfig(inst)));
+
+ next = (this._canAdjustMonth(inst, +1, drawYear, drawMonth) ?
+ "<a class='ui-datepicker-next ui-corner-all' data-handler='next' data-event='click'" +
+ " title='" + nextText + "'><span class='ui-icon ui-icon-circle-triangle-" + ( isRTL ? "w" : "e") + "'>" + nextText + "</span></a>" :
+ (hideIfNoPrevNext ? "" : "<a class='ui-datepicker-next ui-corner-all ui-state-disabled' title='"+ nextText + "'><span class='ui-icon ui-icon-circle-triangle-" + ( isRTL ? "w" : "e") + "'>" + nextText + "</span></a>"));
+
+ currentText = this._get(inst, "currentText");
+ gotoDate = (this._get(inst, "gotoCurrent") && inst.currentDay ? currentDate : today);
+ currentText = (!navigationAsDateFormat ? currentText :
+ this.formatDate(currentText, gotoDate, this._getFormatConfig(inst)));
+
+ controls = (!inst.inline ? "<button type='button' class='ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all' data-handler='hide' data-event='click'>" +
+ this._get(inst, "closeText") + "</button>" : "");
+
+ buttonPanel = (showButtonPanel) ? "<div class='ui-datepicker-buttonpane ui-widget-content'>" + (isRTL ? controls : "") +
+ (this._isInRange(inst, gotoDate) ? "<button type='button' class='ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all' data-handler='today' data-event='click'" +
+ ">" + currentText + "</button>" : "") + (isRTL ? "" : controls) + "</div>" : "";
+
+ firstDay = parseInt(this._get(inst, "firstDay"),10);
+ firstDay = (isNaN(firstDay) ? 0 : firstDay);
+
+ showWeek = this._get(inst, "showWeek");
+ dayNames = this._get(inst, "dayNames");
+ dayNamesMin = this._get(inst, "dayNamesMin");
+ monthNames = this._get(inst, "monthNames");
+ monthNamesShort = this._get(inst, "monthNamesShort");
+ beforeShowDay = this._get(inst, "beforeShowDay");
+ showOtherMonths = this._get(inst, "showOtherMonths");
+ selectOtherMonths = this._get(inst, "selectOtherMonths");
+ defaultDate = this._getDefaultDate(inst);
+ html = "";
+ dow;
+ for (row = 0; row < numMonths[0]; row++) {
+ group = "";
+ this.maxRows = 4;
+ for (col = 0; col < numMonths[1]; col++) {
+ selectedDate = this._daylightSavingAdjust(new Date(drawYear, drawMonth, inst.selectedDay));
+ cornerClass = " ui-corner-all";
+ calender = "";
+ if (isMultiMonth) {
+ calender += "<div class='ui-datepicker-group";
+ if (numMonths[1] > 1) {
+ switch (col) {
+ case 0: calender += " ui-datepicker-group-first";
+ cornerClass = " ui-corner-" + (isRTL ? "right" : "left"); break;
+ case numMonths[1]-1: calender += " ui-datepicker-group-last";
+ cornerClass = " ui-corner-" + (isRTL ? "left" : "right"); break;
+ default: calender += " ui-datepicker-group-middle"; cornerClass = ""; break;
+ }
+ }
+ calender += "'>";
+ }
+ calender += "<div class='ui-datepicker-header ui-widget-header ui-helper-clearfix" + cornerClass + "'>" +
+ (/all|left/.test(cornerClass) && row === 0 ? (isRTL ? next : prev) : "") +
+ (/all|right/.test(cornerClass) && row === 0 ? (isRTL ? prev : next) : "") +
+ this._generateMonthYearHeader(inst, drawMonth, drawYear, minDate, maxDate,
+ row > 0 || col > 0, monthNames, monthNamesShort) + // draw month headers
+ "</div><table class='ui-datepicker-calendar'><thead>" +
+ "<tr>";
+ thead = (showWeek ? "<th class='ui-datepicker-week-col'>" + this._get(inst, "weekHeader") + "</th>" : "");
+ for (dow = 0; dow < 7; dow++) { // days of the week
+ day = (dow + firstDay) % 7;
+ thead += "<th" + ((dow + firstDay + 6) % 7 >= 5 ? " class='ui-datepicker-week-end'" : "") + ">" +
+ "<span title='" + dayNames[day] + "'>" + dayNamesMin[day] + "</span></th>";
+ }
+ calender += thead + "</tr></thead><tbody>";
+ daysInMonth = this._getDaysInMonth(drawYear, drawMonth);
+ if (drawYear === inst.selectedYear && drawMonth === inst.selectedMonth) {
+ inst.selectedDay = Math.min(inst.selectedDay, daysInMonth);
+ }
+ leadDays = (this._getFirstDayOfMonth(drawYear, drawMonth) - firstDay + 7) % 7;
+ curRows = Math.ceil((leadDays + daysInMonth) / 7); // calculate the number of rows to generate
+ numRows = (isMultiMonth ? this.maxRows > curRows ? this.maxRows : curRows : curRows); //If multiple months, use the higher number of rows (see #7043)
+ this.maxRows = numRows;
+ printDate = this._daylightSavingAdjust(new Date(drawYear, drawMonth, 1 - leadDays));
+ for (dRow = 0; dRow < numRows; dRow++) { // create date picker rows
+ calender += "<tr>";
+ tbody = (!showWeek ? "" : "<td class='ui-datepicker-week-col'>" +
+ this._get(inst, "calculateWeek")(printDate) + "</td>");
+ for (dow = 0; dow < 7; dow++) { // create date picker days
+ daySettings = (beforeShowDay ?
+ beforeShowDay.apply((inst.input ? inst.input[0] : null), [printDate]) : [true, ""]);
+ otherMonth = (printDate.getMonth() !== drawMonth);
+ unselectable = (otherMonth && !selectOtherMonths) || !daySettings[0] ||
+ (minDate && printDate < minDate) || (maxDate && printDate > maxDate);
+ tbody += "<td class='" +
+ ((dow + firstDay + 6) % 7 >= 5 ? " ui-datepicker-week-end" : "") + // highlight weekends
+ (otherMonth ? " ui-datepicker-other-month" : "") + // highlight days from other months
+ ((printDate.getTime() === selectedDate.getTime() && drawMonth === inst.selectedMonth && inst._keyEvent) || // user pressed key
+ (defaultDate.getTime() === printDate.getTime() && defaultDate.getTime() === selectedDate.getTime()) ?
+ // or defaultDate is current printedDate and defaultDate is selectedDate
+ " " + this._dayOverClass : "") + // highlight selected day
+ (unselectable ? " " + this._unselectableClass + " ui-state-disabled": "") + // highlight unselectable days
+ (otherMonth && !showOtherMonths ? "" : " " + daySettings[1] + // highlight custom dates
+ (printDate.getTime() === currentDate.getTime() ? " " + this._currentClass : "") + // highlight selected day
+ (printDate.getTime() === today.getTime() ? " ui-datepicker-today" : "")) + "'" + // highlight today (if different)
+ ((!otherMonth || showOtherMonths) && daySettings[2] ? " title='" + daySettings[2] + "'" : "") + // cell title
+ (unselectable ? "" : " data-handler='selectDay' data-event='click' data-month='" + printDate.getMonth() + "' data-year='" + printDate.getFullYear() + "'") + ">" + // actions
+ (otherMonth && !showOtherMonths ? "&#xa0;" : // display for other months
+ (unselectable ? "<span class='ui-state-default'>" + printDate.getDate() + "</span>" : "<a class='ui-state-default" +
+ (printDate.getTime() === today.getTime() ? " ui-state-highlight" : "") +
+ (printDate.getTime() === currentDate.getTime() ? " ui-state-active" : "") + // highlight selected day
+ (otherMonth ? " ui-priority-secondary" : "") + // distinguish dates from other months
+ "' href='#'>" + printDate.getDate() + "</a>")) + "</td>"; // display selectable date
+ printDate.setDate(printDate.getDate() + 1);
+ printDate = this._daylightSavingAdjust(printDate);
+ }
+ calender += tbody + "</tr>";
+ }
+ drawMonth++;
+ if (drawMonth > 11) {
+ drawMonth = 0;
+ drawYear++;
+ }
+ calender += "</tbody></table>" + (isMultiMonth ? "</div>" +
+ ((numMonths[0] > 0 && col === numMonths[1]-1) ? "<div class='ui-datepicker-row-break'></div>" : "") : "");
+ group += calender;
+ }
+ html += group;
+ }
+ html += buttonPanel;
+ inst._keyEvent = false;
+ return html;
+ },
+
+ /* Generate the month and year header. */
+ _generateMonthYearHeader: function(inst, drawMonth, drawYear, minDate, maxDate,
+ secondary, monthNames, monthNamesShort) {
+
+ var inMinYear, inMaxYear, month, years, thisYear, determineYear, year, endYear,
+ changeMonth = this._get(inst, "changeMonth"),
+ changeYear = this._get(inst, "changeYear"),
+ showMonthAfterYear = this._get(inst, "showMonthAfterYear"),
+ html = "<div class='ui-datepicker-title'>",
+ monthHtml = "";
+
+ // month selection
+ if (secondary || !changeMonth) {
+ monthHtml += "<span class='ui-datepicker-month'>" + monthNames[drawMonth] + "</span>";
+ } else {
+ inMinYear = (minDate && minDate.getFullYear() === drawYear);
+ inMaxYear = (maxDate && maxDate.getFullYear() === drawYear);
+ monthHtml += "<select class='ui-datepicker-month' data-handler='selectMonth' data-event='change'>";
+ for ( month = 0; month < 12; month++) {
+ if ((!inMinYear || month >= minDate.getMonth()) && (!inMaxYear || month <= maxDate.getMonth())) {
+ monthHtml += "<option value='" + month + "'" +
+ (month === drawMonth ? " selected='selected'" : "") +
+ ">" + monthNamesShort[month] + "</option>";
+ }
+ }
+ monthHtml += "</select>";
+ }
+
+ if (!showMonthAfterYear) {
+ html += monthHtml + (secondary || !(changeMonth && changeYear) ? "&#xa0;" : "");
+ }
+
+ // year selection
+ if ( !inst.yearshtml ) {
+ inst.yearshtml = "";
+ if (secondary || !changeYear) {
+ html += "<span class='ui-datepicker-year'>" + drawYear + "</span>";
+ } else {
+ // determine range of years to display
+ years = this._get(inst, "yearRange").split(":");
+ thisYear = new Date().getFullYear();
+ determineYear = function(value) {
+ var year = (value.match(/c[+\-].*/) ? drawYear + parseInt(value.substring(1), 10) :
+ (value.match(/[+\-].*/) ? thisYear + parseInt(value, 10) :
+ parseInt(value, 10)));
+ return (isNaN(year) ? thisYear : year);
+ };
+ year = determineYear(years[0]);
+ endYear = Math.max(year, determineYear(years[1] || ""));
+ year = (minDate ? Math.max(year, minDate.getFullYear()) : year);
+ endYear = (maxDate ? Math.min(endYear, maxDate.getFullYear()) : endYear);
+ inst.yearshtml += "<select class='ui-datepicker-year' data-handler='selectYear' data-event='change'>";
+ for (; year <= endYear; year++) {
+ inst.yearshtml += "<option value='" + year + "'" +
+ (year === drawYear ? " selected='selected'" : "") +
+ ">" + year + "</option>";
+ }
+ inst.yearshtml += "</select>";
+
+ html += inst.yearshtml;
+ inst.yearshtml = null;
+ }
+ }
+
+ html += this._get(inst, "yearSuffix");
+ if (showMonthAfterYear) {
+ html += (secondary || !(changeMonth && changeYear) ? "&#xa0;" : "") + monthHtml;
+ }
+ html += "</div>"; // Close datepicker_header
+ return html;
+ },
+
+ /* Adjust one of the date sub-fields. */
+ _adjustInstDate: function(inst, offset, period) {
+ var year = inst.drawYear + (period === "Y" ? offset : 0),
+ month = inst.drawMonth + (period === "M" ? offset : 0),
+ day = Math.min(inst.selectedDay, this._getDaysInMonth(year, month)) + (period === "D" ? offset : 0),
+ date = this._restrictMinMax(inst, this._daylightSavingAdjust(new Date(year, month, day)));
+
+ inst.selectedDay = date.getDate();
+ inst.drawMonth = inst.selectedMonth = date.getMonth();
+ inst.drawYear = inst.selectedYear = date.getFullYear();
+ if (period === "M" || period === "Y") {
+ this._notifyChange(inst);
+ }
+ },
+
+ /* Ensure a date is within any min/max bounds. */
+ _restrictMinMax: function(inst, date) {
+ var minDate = this._getMinMaxDate(inst, "min"),
+ maxDate = this._getMinMaxDate(inst, "max"),
+ newDate = (minDate && date < minDate ? minDate : date);
+ return (maxDate && newDate > maxDate ? maxDate : newDate);
+ },
+
+ /* Notify change of month/year. */
+ _notifyChange: function(inst) {
+ var onChange = this._get(inst, "onChangeMonthYear");
+ if (onChange) {
+ onChange.apply((inst.input ? inst.input[0] : null),
+ [inst.selectedYear, inst.selectedMonth + 1, inst]);
+ }
+ },
+
+ /* Determine the number of months to show. */
+ _getNumberOfMonths: function(inst) {
+ var numMonths = this._get(inst, "numberOfMonths");
+ return (numMonths == null ? [1, 1] : (typeof numMonths === "number" ? [1, numMonths] : numMonths));
+ },
+
+ /* Determine the current maximum date - ensure no time components are set. */
+ _getMinMaxDate: function(inst, minMax) {
+ return this._determineDate(inst, this._get(inst, minMax + "Date"), null);
+ },
+
+ /* Find the number of days in a given month. */
+ _getDaysInMonth: function(year, month) {
+ return 32 - this._daylightSavingAdjust(new Date(year, month, 32)).getDate();
+ },
+
+ /* Find the day of the week of the first of a month. */
+ _getFirstDayOfMonth: function(year, month) {
+ return new Date(year, month, 1).getDay();
+ },
+
+ /* Determines if we should allow a "next/prev" month display change. */
+ _canAdjustMonth: function(inst, offset, curYear, curMonth) {
+ var numMonths = this._getNumberOfMonths(inst),
+ date = this._daylightSavingAdjust(new Date(curYear,
+ curMonth + (offset < 0 ? offset : numMonths[0] * numMonths[1]), 1));
+
+ if (offset < 0) {
+ date.setDate(this._getDaysInMonth(date.getFullYear(), date.getMonth()));
+ }
+ return this._isInRange(inst, date);
+ },
+
+ /* Is the given date in the accepted range? */
+ _isInRange: function(inst, date) {
+ var yearSplit, currentYear,
+ minDate = this._getMinMaxDate(inst, "min"),
+ maxDate = this._getMinMaxDate(inst, "max"),
+ minYear = null,
+ maxYear = null,
+ years = this._get(inst, "yearRange");
+ if (years){
+ yearSplit = years.split(":");
+ currentYear = new Date().getFullYear();
+ minYear = parseInt(yearSplit[0], 10) + currentYear;
+ maxYear = parseInt(yearSplit[1], 10) + currentYear;
+ }
+
+ return ((!minDate || date.getTime() >= minDate.getTime()) &&
+ (!maxDate || date.getTime() <= maxDate.getTime()) &&
+ (!minYear || date.getFullYear() >= minYear) &&
+ (!maxYear || date.getFullYear() <= maxYear));
+ },
+
+ /* Provide the configuration settings for formatting/parsing. */
+ _getFormatConfig: function(inst) {
+ var shortYearCutoff = this._get(inst, "shortYearCutoff");
+ shortYearCutoff = (typeof shortYearCutoff !== "string" ? shortYearCutoff :
+ new Date().getFullYear() % 100 + parseInt(shortYearCutoff, 10));
+ return {shortYearCutoff: shortYearCutoff,
+ dayNamesShort: this._get(inst, "dayNamesShort"), dayNames: this._get(inst, "dayNames"),
+ monthNamesShort: this._get(inst, "monthNamesShort"), monthNames: this._get(inst, "monthNames")};
+ },
+
+ /* Format the given date for display. */
+ _formatDate: function(inst, day, month, year) {
+ if (!day) {
+ inst.currentDay = inst.selectedDay;
+ inst.currentMonth = inst.selectedMonth;
+ inst.currentYear = inst.selectedYear;
+ }
+ var date = (day ? (typeof day === "object" ? day :
+ this._daylightSavingAdjust(new Date(year, month, day))) :
+ this._daylightSavingAdjust(new Date(inst.currentYear, inst.currentMonth, inst.currentDay)));
+ return this.formatDate(this._get(inst, "dateFormat"), date, this._getFormatConfig(inst));
+ }
+});
+
+/*
+ * Bind hover events for datepicker elements.
+ * Done via delegate so the binding only occurs once in the lifetime of the parent div.
+ * Global instActive, set by _updateDatepicker allows the handlers to find their way back to the active picker.
+ */
+function bindHover(dpDiv) {
+ var selector = "button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";
+ return dpDiv.delegate(selector, "mouseout", function() {
+ $(this).removeClass("ui-state-hover");
+ if (this.className.indexOf("ui-datepicker-prev") !== -1) {
+ $(this).removeClass("ui-datepicker-prev-hover");
+ }
+ if (this.className.indexOf("ui-datepicker-next") !== -1) {
+ $(this).removeClass("ui-datepicker-next-hover");
+ }
+ })
+ .delegate(selector, "mouseover", function(){
+ if (!$.datepicker._isDisabledDatepicker( instActive.inline ? dpDiv.parent()[0] : instActive.input[0])) {
+ $(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover");
+ $(this).addClass("ui-state-hover");
+ if (this.className.indexOf("ui-datepicker-prev") !== -1) {
+ $(this).addClass("ui-datepicker-prev-hover");
+ }
+ if (this.className.indexOf("ui-datepicker-next") !== -1) {
+ $(this).addClass("ui-datepicker-next-hover");
+ }
+ }
+ });
+}
+
+/* jQuery extend now ignores nulls! */
+function extendRemove(target, props) {
+ $.extend(target, props);
+ for (var name in props) {
+ if (props[name] == null) {
+ target[name] = props[name];
+ }
+ }
+ return target;
+}
+
+/* Invoke the datepicker functionality.
+ @param options string - a command, optionally followed by additional parameters or
+ Object - settings for attaching new datepicker functionality
+ @return jQuery object */
+$.fn.datepicker = function(options){
+
+ /* Verify an empty collection wasn't passed - Fixes #6976 */
+ if ( !this.length ) {
+ return this;
+ }
+
+ /* Initialise the date picker. */
+ if (!$.datepicker.initialized) {
+ $(document).mousedown($.datepicker._checkExternalClick);
+ $.datepicker.initialized = true;
+ }
+
+ /* Append datepicker main container to body if not exist. */
+ if ($("#"+$.datepicker._mainDivId).length === 0) {
+ $("body").append($.datepicker.dpDiv);
+ }
+
+ var otherArgs = Array.prototype.slice.call(arguments, 1);
+ if (typeof options === "string" && (options === "isDisabled" || options === "getDate" || options === "widget")) {
+ return $.datepicker["_" + options + "Datepicker"].
+ apply($.datepicker, [this[0]].concat(otherArgs));
+ }
+ if (options === "option" && arguments.length === 2 && typeof arguments[1] === "string") {
+ return $.datepicker["_" + options + "Datepicker"].
+ apply($.datepicker, [this[0]].concat(otherArgs));
+ }
+ return this.each(function() {
+ typeof options === "string" ?
+ $.datepicker["_" + options + "Datepicker"].
+ apply($.datepicker, [this].concat(otherArgs)) :
+ $.datepicker._attachDatepicker(this, options);
+ });
+};
+
+$.datepicker = new Datepicker(); // singleton instance
+$.datepicker.initialized = false;
+$.datepicker.uuid = new Date().getTime();
+$.datepicker.version = "1.10.0";
+
+// Workaround for #4055
+// Add another global to avoid noConflict issues with inline event handlers
+window["DP_jQuery_" + dpuuid] = $;
+
+})(jQuery);
+(function( $, undefined ) {
+
+var sizeRelatedOptions = {
+ buttons: true,
+ height: true,
+ maxHeight: true,
+ maxWidth: true,
+ minHeight: true,
+ minWidth: true,
+ width: true
+ },
+ resizableRelatedOptions = {
+ maxHeight: true,
+ maxWidth: true,
+ minHeight: true,
+ minWidth: true
+ };
+
+$.widget( "ui.dialog", {
+ version: "1.10.0",
+ options: {
+ appendTo: "body",
+ autoOpen: true,
+ buttons: [],
+ closeOnEscape: true,
+ closeText: "close",
+ dialogClass: "",
+ draggable: true,
+ hide: null,
+ height: "auto",
+ maxHeight: null,
+ maxWidth: null,
+ minHeight: 150,
+ minWidth: 150,
+ modal: false,
+ position: {
+ my: "center",
+ at: "center",
+ of: window,
+ collision: "fit",
+ // Ensure the titlebar is always visible
+ using: function( pos ) {
+ var topOffset = $( this ).css( pos ).offset().top;
+ if ( topOffset < 0 ) {
+ $( this ).css( "top", pos.top - topOffset );
+ }
+ }
+ },
+ resizable: true,
+ show: null,
+ title: null,
+ width: 300,
+
+ // callbacks
+ beforeClose: null,
+ close: null,
+ drag: null,
+ dragStart: null,
+ dragStop: null,
+ focus: null,
+ open: null,
+ resize: null,
+ resizeStart: null,
+ resizeStop: null
+ },
+
+ _create: function() {
+ this.originalCss = {
+ display: this.element[0].style.display,
+ width: this.element[0].style.width,
+ minHeight: this.element[0].style.minHeight,
+ maxHeight: this.element[0].style.maxHeight,
+ height: this.element[0].style.height
+ };
+ this.originalPosition = {
+ parent: this.element.parent(),
+ index: this.element.parent().children().index( this.element )
+ };
+ this.originalTitle = this.element.attr("title");
+ this.options.title = this.options.title || this.originalTitle;
+
+ this._createWrapper();
+
+ this.element
+ .show()
+ .removeAttr("title")
+ .addClass("ui-dialog-content ui-widget-content")
+ .appendTo( this.uiDialog );
+
+ this._createTitlebar();
+ this._createButtonPane();
+
+ if ( this.options.draggable && $.fn.draggable ) {
+ this._makeDraggable();
+ }
+ if ( this.options.resizable && $.fn.resizable ) {
+ this._makeResizable();
+ }
+
+ this._isOpen = false;
+ },
+
+ _init: function() {
+ if ( this.options.autoOpen ) {
+ this.open();
+ }
+ },
+
+ _appendTo: function() {
+ var element = this.options.appendTo;
+ if ( element && (element.jquery || element.nodeType) ) {
+ return $( element );
+ }
+ return this.document.find( element || "body" ).eq( 0 );
+ },
+
+ _destroy: function() {
+ var next,
+ originalPosition = this.originalPosition;
+
+ this._destroyOverlay();
+
+ this.element
+ .removeUniqueId()
+ .removeClass("ui-dialog-content ui-widget-content")
+ .css( this.originalCss )
+ // Without detaching first, the following becomes really slow
+ .detach();
+
+ this.uiDialog.stop( true, true ).remove();
+
+ if ( this.originalTitle ) {
+ this.element.attr( "title", this.originalTitle );
+ }
+
+ next = originalPosition.parent.children().eq( originalPosition.index );
+ // Don't try to place the dialog next to itself (#8613)
+ if ( next.length && next[0] !== this.element[0] ) {
+ next.before( this.element );
+ } else {
+ originalPosition.parent.append( this.element );
+ }
+ },
+
+ widget: function() {
+ return this.uiDialog;
+ },
+
+ disable: $.noop,
+ enable: $.noop,
+
+ close: function( event ) {
+ var that = this;
+
+ if ( !this._isOpen || this._trigger( "beforeClose", event ) === false ) {
+ return;
+ }
+
+ this._isOpen = false;
+ this._destroyOverlay();
+
+ if ( !this.opener.filter(":focusable").focus().length ) {
+ // Hiding a focused element doesn't trigger blur in WebKit
+ // so in case we have nothing to focus on, explicitly blur the active element
+ // https://bugs.webkit.org/show_bug.cgi?id=47182
+ $( this.document[0].activeElement ).blur();
+ }
+
+ this._hide( this.uiDialog, this.options.hide, function() {
+ that._trigger( "close", event );
+ });
+ },
+
+ isOpen: function() {
+ return this._isOpen;
+ },
+
+ moveToTop: function() {
+ this._moveToTop();
+ },
+
+ _moveToTop: function( event, silent ) {
+ var moved = !!this.uiDialog.nextAll(":visible").insertBefore( this.uiDialog ).length;
+ if ( moved && !silent ) {
+ this._trigger( "focus", event );
+ }
+ return moved;
+ },
+
+ open: function() {
+ if ( this._isOpen ) {
+ if ( this._moveToTop() ) {
+ this._focusTabbable();
+ }
+ return;
+ }
+
+ this.opener = $( this.document[0].activeElement );
+
+ this._size();
+ this._position();
+ this._createOverlay();
+ this._moveToTop( null, true );
+ this._show( this.uiDialog, this.options.show );
+
+ this._focusTabbable();
+
+ this._isOpen = true;
+ this._trigger("open");
+ this._trigger("focus");
+ },
+
+ _focusTabbable: function() {
+ // Set focus to the first match:
+ // 1. First element inside the dialog matching [autofocus]
+ // 2. Tabbable element inside the content element
+ // 3. Tabbable element inside the buttonpane
+ // 4. The close button
+ // 5. The dialog itself
+ var hasFocus = this.element.find("[autofocus]");
+ if ( !hasFocus.length ) {
+ hasFocus = this.element.find(":tabbable");
+ }
+ if ( !hasFocus.length ) {
+ hasFocus = this.uiDialogButtonPane.find(":tabbable");
+ }
+ if ( !hasFocus.length ) {
+ hasFocus = this.uiDialogTitlebarClose.filter(":tabbable");
+ }
+ if ( !hasFocus.length ) {
+ hasFocus = this.uiDialog;
+ }
+ hasFocus.eq( 0 ).focus();
+ },
+
+ _keepFocus: function( event ) {
+ function checkFocus() {
+ var activeElement = this.document[0].activeElement,
+ isActive = this.uiDialog[0] === activeElement ||
+ $.contains( this.uiDialog[0], activeElement );
+ if ( !isActive ) {
+ this._focusTabbable();
+ }
+ }
+ event.preventDefault();
+ checkFocus.call( this );
+ // support: IE
+ // IE <= 8 doesn't prevent moving focus even with event.preventDefault()
+ // so we check again later
+ this._delay( checkFocus );
+ },
+
+ _createWrapper: function() {
+ this.uiDialog = $("<div>")
+ .addClass( "ui-dialog ui-widget ui-widget-content ui-corner-all ui-front " +
+ this.options.dialogClass )
+ .hide()
+ .attr({
+ // Setting tabIndex makes the div focusable
+ tabIndex: -1,
+ role: "dialog"
+ })
+ .appendTo( this._appendTo() );
+
+ this._on( this.uiDialog, {
+ keydown: function( event ) {
+ if ( this.options.closeOnEscape && !event.isDefaultPrevented() && event.keyCode &&
+ event.keyCode === $.ui.keyCode.ESCAPE ) {
+ event.preventDefault();
+ this.close( event );
+ return;
+ }
+
+ // prevent tabbing out of dialogs
+ if ( event.keyCode !== $.ui.keyCode.TAB ) {
+ return;
+ }
+ var tabbables = this.uiDialog.find(":tabbable"),
+ first = tabbables.filter(":first"),
+ last = tabbables.filter(":last");
+
+ if ( ( event.target === last[0] || event.target === this.uiDialog[0] ) && !event.shiftKey ) {
+ first.focus( 1 );
+ event.preventDefault();
+ } else if ( ( event.target === first[0] || event.target === this.uiDialog[0] ) && event.shiftKey ) {
+ last.focus( 1 );
+ event.preventDefault();
+ }
+ },
+ mousedown: function( event ) {
+ if ( this._moveToTop( event ) ) {
+ this._focusTabbable();
+ }
+ }
+ });
+
+ // We assume that any existing aria-describedby attribute means
+ // that the dialog content is marked up properly
+ // otherwise we brute force the content as the description
+ if ( !this.element.find("[aria-describedby]").length ) {
+ this.uiDialog.attr({
+ "aria-describedby": this.element.uniqueId().attr("id")
+ });
+ }
+ },
+
+ _createTitlebar: function() {
+ var uiDialogTitle;
+
+ this.uiDialogTitlebar = $("<div>")
+ .addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix")
+ .prependTo( this.uiDialog );
+ this._on( this.uiDialogTitlebar, {
+ mousedown: function( event ) {
+ // Don't prevent click on close button (#8838)
+ // Focusing a dialog that is partially scrolled out of view
+ // causes the browser to scroll it into view, preventing the click event
+ if ( !$( event.target ).closest(".ui-dialog-titlebar-close") ) {
+ // Dialog isn't getting focus when dragging (#8063)
+ this.uiDialog.focus();
+ }
+ }
+ });
+
+ this.uiDialogTitlebarClose = $("<button></button>")
+ .button({
+ label: this.options.closeText,
+ icons: {
+ primary: "ui-icon-closethick"
+ },
+ text: false
+ })
+ .addClass("ui-dialog-titlebar-close")
+ .appendTo( this.uiDialogTitlebar );
+ this._on( this.uiDialogTitlebarClose, {
+ click: function( event ) {
+ event.preventDefault();
+ this.close( event );
+ }
+ });
+
+ uiDialogTitle = $("<span>")
+ .uniqueId()
+ .addClass("ui-dialog-title")
+ .prependTo( this.uiDialogTitlebar );
+ this._title( uiDialogTitle );
+
+ this.uiDialog.attr({
+ "aria-labelledby": uiDialogTitle.attr("id")
+ });
+ },
+
+ _title: function( title ) {
+ if ( !this.options.title ) {
+ title.html("&#160;");
+ }
+ title.text( this.options.title );
+ },
+
+ _createButtonPane: function() {
+ this.uiDialogButtonPane = $("<div>")
+ .addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix");
+
+ this.uiButtonSet = $("<div>")
+ .addClass("ui-dialog-buttonset")
+ .appendTo( this.uiDialogButtonPane );
+
+ this._createButtons();
+ },
+
+ _createButtons: function() {
+ var that = this,
+ buttons = this.options.buttons;
+
+ // if we already have a button pane, remove it
+ this.uiDialogButtonPane.remove();
+ this.uiButtonSet.empty();
+
+ if ( $.isEmptyObject( buttons ) ) {
+ this.uiDialog.removeClass("ui-dialog-buttons");
+ return;
+ }
+
+ $.each( buttons, function( name, props ) {
+ var click, buttonOptions;
+ props = $.isFunction( props ) ?
+ { click: props, text: name } :
+ props;
+ // Default to a non-submitting button
+ props = $.extend( { type: "button" }, props );
+ // Change the context for the click callback to be the main element
+ click = props.click;
+ props.click = function() {
+ click.apply( that.element[0], arguments );
+ };
+ buttonOptions = {
+ icons: props.icons,
+ text: props.showText
+ };
+ delete props.icons;
+ delete props.showText;
+ $( "<button></button>", props )
+ .button( buttonOptions )
+ .appendTo( that.uiButtonSet );
+ });
+ this.uiDialog.addClass("ui-dialog-buttons");
+ this.uiDialogButtonPane.appendTo( this.uiDialog );
+ },
+
+ _makeDraggable: function() {
+ var that = this,
+ options = this.options;
+
+ function filteredUi( ui ) {
+ return {
+ position: ui.position,
+ offset: ui.offset
+ };
+ }
+
+ this.uiDialog.draggable({
+ cancel: ".ui-dialog-content, .ui-dialog-titlebar-close",
+ handle: ".ui-dialog-titlebar",
+ containment: "document",
+ start: function( event, ui ) {
+ $( this ).addClass("ui-dialog-dragging");
+ that._trigger( "dragStart", event, filteredUi( ui ) );
+ },
+ drag: function( event, ui ) {
+ that._trigger( "drag", event, filteredUi( ui ) );
+ },
+ stop: function( event, ui ) {
+ options.position = [
+ ui.position.left - that.document.scrollLeft(),
+ ui.position.top - that.document.scrollTop()
+ ];
+ $( this ).removeClass("ui-dialog-dragging");
+ that._trigger( "dragStop", event, filteredUi( ui ) );
+ }
+ });
+ },
+
+ _makeResizable: function() {
+ var that = this,
+ options = this.options,
+ handles = options.resizable,
+ // .ui-resizable has position: relative defined in the stylesheet
+ // but dialogs have to use absolute or fixed positioning
+ position = this.uiDialog.css("position"),
+ resizeHandles = typeof handles === "string" ?
+ handles :
+ "n,e,s,w,se,sw,ne,nw";
+
+ function filteredUi( ui ) {
+ return {
+ originalPosition: ui.originalPosition,
+ originalSize: ui.originalSize,
+ position: ui.position,
+ size: ui.size
+ };
+ }
+
+ this.uiDialog.resizable({
+ cancel: ".ui-dialog-content",
+ containment: "document",
+ alsoResize: this.element,
+ maxWidth: options.maxWidth,
+ maxHeight: options.maxHeight,
+ minWidth: options.minWidth,
+ minHeight: this._minHeight(),
+ handles: resizeHandles,
+ start: function( event, ui ) {
+ $( this ).addClass("ui-dialog-resizing");
+ that._trigger( "resizeStart", event, filteredUi( ui ) );
+ },
+ resize: function( event, ui ) {
+ that._trigger( "resize", event, filteredUi( ui ) );
+ },
+ stop: function( event, ui ) {
+ options.height = $( this ).height();
+ options.width = $( this ).width();
+ $( this ).removeClass("ui-dialog-resizing");
+ that._trigger( "resizeStop", event, filteredUi( ui ) );
+ }
+ })
+ .css( "position", position );
+ },
+
+ _minHeight: function() {
+ var options = this.options;
+
+ return options.height === "auto" ?
+ options.minHeight :
+ Math.min( options.minHeight, options.height );
+ },
+
+ _position: function() {
+ // Need to show the dialog to get the actual offset in the position plugin
+ var isVisible = this.uiDialog.is(":visible");
+ if ( !isVisible ) {
+ this.uiDialog.show();
+ }
+ this.uiDialog.position( this.options.position );
+ if ( !isVisible ) {
+ this.uiDialog.hide();
+ }
+ },
+
+ _setOptions: function( options ) {
+ var that = this,
+ resize = false,
+ resizableOptions = {};
+
+ $.each( options, function( key, value ) {
+ that._setOption( key, value );
+
+ if ( key in sizeRelatedOptions ) {
+ resize = true;
+ }
+ if ( key in resizableRelatedOptions ) {
+ resizableOptions[ key ] = value;
+ }
+ });
+
+ if ( resize ) {
+ this._size();
+ this._position();
+ }
+ if ( this.uiDialog.is(":data(ui-resizable)") ) {
+ this.uiDialog.resizable( "option", resizableOptions );
+ }
+ },
+
+ _setOption: function( key, value ) {
+ /*jshint maxcomplexity:15*/
+ var isDraggable, isResizable,
+ uiDialog = this.uiDialog;
+
+ if ( key === "dialogClass" ) {
+ uiDialog
+ .removeClass( this.options.dialogClass )
+ .addClass( value );
+ }
+
+ if ( key === "disabled" ) {
+ return;
+ }
+
+ this._super( key, value );
+
+ if ( key === "appendTo" ) {
+ this.uiDialog.appendTo( this._appendTo() );
+ }
+
+ if ( key === "buttons" ) {
+ this._createButtons();
+ }
+
+ if ( key === "closeText" ) {
+ this.uiDialogTitlebarClose.button({
+ // Ensure that we always pass a string
+ label: "" + value
+ });
+ }
+
+ if ( key === "draggable" ) {
+ isDraggable = uiDialog.is(":data(ui-draggable)");
+ if ( isDraggable && !value ) {
+ uiDialog.draggable("destroy");
+ }
+
+ if ( !isDraggable && value ) {
+ this._makeDraggable();
+ }
+ }
+
+ if ( key === "position" ) {
+ this._position();
+ }
+
+ if ( key === "resizable" ) {
+ // currently resizable, becoming non-resizable
+ isResizable = uiDialog.is(":data(ui-resizable)");
+ if ( isResizable && !value ) {
+ uiDialog.resizable("destroy");
+ }
+
+ // currently resizable, changing handles
+ if ( isResizable && typeof value === "string" ) {
+ uiDialog.resizable( "option", "handles", value );
+ }
+
+ // currently non-resizable, becoming resizable
+ if ( !isResizable && value !== false ) {
+ this._makeResizable();
+ }
+ }
+
+ if ( key === "title" ) {
+ this._title( this.uiDialogTitlebar.find(".ui-dialog-title") );
+ }
+ },
+
+ _size: function() {
+ // If the user has resized the dialog, the .ui-dialog and .ui-dialog-content
+ // divs will both have width and height set, so we need to reset them
+ var nonContentHeight, minContentHeight, maxContentHeight,
+ options = this.options;
+
+ // Reset content sizing
+ this.element.show().css({
+ width: "auto",
+ minHeight: 0,
+ maxHeight: "none",
+ height: 0
+ });
+
+ if ( options.minWidth > options.width ) {
+ options.width = options.minWidth;
+ }
+
+ // reset wrapper sizing
+ // determine the height of all the non-content elements
+ nonContentHeight = this.uiDialog.css({
+ height: "auto",
+ width: options.width
+ })
+ .outerHeight();
+ minContentHeight = Math.max( 0, options.minHeight - nonContentHeight );
+ maxContentHeight = typeof options.maxHeight === "number" ?
+ Math.max( 0, options.maxHeight - nonContentHeight ) :
+ "none";
+
+ if ( options.height === "auto" ) {
+ this.element.css({
+ minHeight: minContentHeight,
+ maxHeight: maxContentHeight,
+ height: "auto"
+ });
+ } else {
+ this.element.height( Math.max( 0, options.height - nonContentHeight ) );
+ }
+
+ if (this.uiDialog.is(":data(ui-resizable)") ) {
+ this.uiDialog.resizable( "option", "minHeight", this._minHeight() );
+ }
+ },
+
+ _createOverlay: function() {
+ if ( !this.options.modal ) {
+ return;
+ }
+
+ if ( !$.ui.dialog.overlayInstances ) {
+ // Prevent use of anchors and inputs.
+ // We use a delay in case the overlay is created from an
+ // event that we're going to be cancelling. (#2804)
+ this._delay(function() {
+ // Handle .dialog().dialog("close") (#4065)
+ if ( $.ui.dialog.overlayInstances ) {
+ this._on( this.document, {
+ focusin: function( event ) {
+ if ( !$( event.target ).closest(".ui-dialog").length ) {
+ event.preventDefault();
+ $(".ui-dialog:visible:last .ui-dialog-content")
+ .data("ui-dialog")._focusTabbable();
+ }
+ }
+ });
+ }
+ });
+ }
+
+ this.overlay = $("<div>")
+ .addClass("ui-widget-overlay ui-front")
+ .appendTo( this.document[0].body );
+ this._on( this.overlay, {
+ mousedown: "_keepFocus"
+ });
+ $.ui.dialog.overlayInstances++;
+ },
+
+ _destroyOverlay: function() {
+ if ( !this.options.modal ) {
+ return;
+ }
+
+ $.ui.dialog.overlayInstances--;
+ if ( !$.ui.dialog.overlayInstances ) {
+ this._off( this.document, "focusin" );
+ }
+ this.overlay.remove();
+ }
+});
+
+$.ui.dialog.overlayInstances = 0;
+
+// DEPRECATED
+if ( $.uiBackCompat !== false ) {
+ // position option with array notation
+ // just override with old implementation
+ $.widget( "ui.dialog", $.ui.dialog, {
+ _position: function() {
+ var position = this.options.position,
+ myAt = [],
+ offset = [ 0, 0 ],
+ isVisible;
+
+ if ( position ) {
+ if ( typeof position === "string" || (typeof position === "object" && "0" in position ) ) {
+ myAt = position.split ? position.split(" ") : [ position[0], position[1] ];
+ if ( myAt.length === 1 ) {
+ myAt[1] = myAt[0];
+ }
+
+ $.each( [ "left", "top" ], function( i, offsetPosition ) {
+ if ( +myAt[ i ] === myAt[ i ] ) {
+ offset[ i ] = myAt[ i ];
+ myAt[ i ] = offsetPosition;
+ }
+ });
+
+ position = {
+ my: myAt[0] + (offset[0] < 0 ? offset[0] : "+" + offset[0]) + " " +
+ myAt[1] + (offset[1] < 0 ? offset[1] : "+" + offset[1]),
+ at: myAt.join(" ")
+ };
+ }
+
+ position = $.extend( {}, $.ui.dialog.prototype.options.position, position );
+ } else {
+ position = $.ui.dialog.prototype.options.position;
+ }
+
+ // need to show the dialog to get the actual offset in the position plugin
+ isVisible = this.uiDialog.is(":visible");
+ if ( !isVisible ) {
+ this.uiDialog.show();
+ }
+ this.uiDialog.position( position );
+ if ( !isVisible ) {
+ this.uiDialog.hide();
+ }
+ }
+ });
+}
+
+}( jQuery ) );
+(function( $, undefined ) {
+
+$.widget( "ui.menu", {
+ version: "1.10.0",
+ defaultElement: "<ul>",
+ delay: 300,
+ options: {
+ icons: {
+ submenu: "ui-icon-carat-1-e"
+ },
+ menus: "ul",
+ position: {
+ my: "left top",
+ at: "right top"
+ },
+ role: "menu",
+
+ // callbacks
+ blur: null,
+ focus: null,
+ select: null
+ },
+
+ _create: function() {
+ this.activeMenu = this.element;
+ // flag used to prevent firing of the click handler
+ // as the event bubbles up through nested menus
+ this.mouseHandled = false;
+ this.element
+ .uniqueId()
+ .addClass( "ui-menu ui-widget ui-widget-content ui-corner-all" )
+ .toggleClass( "ui-menu-icons", !!this.element.find( ".ui-icon" ).length )
+ .attr({
+ role: this.options.role,
+ tabIndex: 0
+ })
+ // need to catch all clicks on disabled menu
+ // not possible through _on
+ .bind( "click" + this.eventNamespace, $.proxy(function( event ) {
+ if ( this.options.disabled ) {
+ event.preventDefault();
+ }
+ }, this ));
+
+ if ( this.options.disabled ) {
+ this.element
+ .addClass( "ui-state-disabled" )
+ .attr( "aria-disabled", "true" );
+ }
+
+ this._on({
+ // Prevent focus from sticking to links inside menu after clicking
+ // them (focus should always stay on UL during navigation).
+ "mousedown .ui-menu-item > a": function( event ) {
+ event.preventDefault();
+ },
+ "click .ui-state-disabled > a": function( event ) {
+ event.preventDefault();
+ },
+ "click .ui-menu-item:has(a)": function( event ) {
+ var target = $( event.target ).closest( ".ui-menu-item" );
+ if ( !this.mouseHandled && target.not( ".ui-state-disabled" ).length ) {
+ this.mouseHandled = true;
+
+ this.select( event );
+ // Open submenu on click
+ if ( target.has( ".ui-menu" ).length ) {
+ this.expand( event );
+ } else if ( !this.element.is( ":focus" ) ) {
+ // Redirect focus to the menu
+ this.element.trigger( "focus", [ true ] );
+
+ // If the active item is on the top level, let it stay active.
+ // Otherwise, blur the active item since it is no longer visible.
+ if ( this.active && this.active.parents( ".ui-menu" ).length === 1 ) {
+ clearTimeout( this.timer );
+ }
+ }
+ }
+ },
+ "mouseenter .ui-menu-item": function( event ) {
+ var target = $( event.currentTarget );
+ // Remove ui-state-active class from siblings of the newly focused menu item
+ // to avoid a jump caused by adjacent elements both having a class with a border
+ target.siblings().children( ".ui-state-active" ).removeClass( "ui-state-active" );
+ this.focus( event, target );
+ },
+ mouseleave: "collapseAll",
+ "mouseleave .ui-menu": "collapseAll",
+ focus: function( event, keepActiveItem ) {
+ // If there's already an active item, keep it active
+ // If not, activate the first item
+ var item = this.active || this.element.children( ".ui-menu-item" ).eq( 0 );
+
+ if ( !keepActiveItem ) {
+ this.focus( event, item );
+ }
+ },
+ blur: function( event ) {
+ this._delay(function() {
+ if ( !$.contains( this.element[0], this.document[0].activeElement ) ) {
+ this.collapseAll( event );
+ }
+ });
+ },
+ keydown: "_keydown"
+ });
+
+ this.refresh();
+
+ // Clicks outside of a menu collapse any open menus
+ this._on( this.document, {
+ click: function( event ) {
+ if ( !$( event.target ).closest( ".ui-menu" ).length ) {
+ this.collapseAll( event );
+ }
+
+ // Reset the mouseHandled flag
+ this.mouseHandled = false;
+ }
+ });
+ },
+
+ _destroy: function() {
+ // Destroy (sub)menus
+ this.element
+ .removeAttr( "aria-activedescendant" )
+ .find( ".ui-menu" ).addBack()
+ .removeClass( "ui-menu ui-widget ui-widget-content ui-corner-all ui-menu-icons" )
+ .removeAttr( "role" )
+ .removeAttr( "tabIndex" )
+ .removeAttr( "aria-labelledby" )
+ .removeAttr( "aria-expanded" )
+ .removeAttr( "aria-hidden" )
+ .removeAttr( "aria-disabled" )
+ .removeUniqueId()
+ .show();
+
+ // Destroy menu items
+ this.element.find( ".ui-menu-item" )
+ .removeClass( "ui-menu-item" )
+ .removeAttr( "role" )
+ .removeAttr( "aria-disabled" )
+ .children( "a" )
+ .removeUniqueId()
+ .removeClass( "ui-corner-all ui-state-hover" )
+ .removeAttr( "tabIndex" )
+ .removeAttr( "role" )
+ .removeAttr( "aria-haspopup" )
+ .children().each( function() {
+ var elem = $( this );
+ if ( elem.data( "ui-menu-submenu-carat" ) ) {
+ elem.remove();
+ }
+ });
+
+ // Destroy menu dividers
+ this.element.find( ".ui-menu-divider" ).removeClass( "ui-menu-divider ui-widget-content" );
+ },
+
+ _keydown: function( event ) {
+ /*jshint maxcomplexity:20*/
+ var match, prev, character, skip, regex,
+ preventDefault = true;
+
+ function escape( value ) {
+ return value.replace( /[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&" );
+ }
+
+ switch ( event.keyCode ) {
+ case $.ui.keyCode.PAGE_UP:
+ this.previousPage( event );
+ break;
+ case $.ui.keyCode.PAGE_DOWN:
+ this.nextPage( event );
+ break;
+ case $.ui.keyCode.HOME:
+ this._move( "first", "first", event );
+ break;
+ case $.ui.keyCode.END:
+ this._move( "last", "last", event );
+ break;
+ case $.ui.keyCode.UP:
+ this.previous( event );
+ break;
+ case $.ui.keyCode.DOWN:
+ this.next( event );
+ break;
+ case $.ui.keyCode.LEFT:
+ this.collapse( event );
+ break;
+ case $.ui.keyCode.RIGHT:
+ if ( this.active && !this.active.is( ".ui-state-disabled" ) ) {
+ this.expand( event );
+ }
+ break;
+ case $.ui.keyCode.ENTER:
+ case $.ui.keyCode.SPACE:
+ this._activate( event );
+ break;
+ case $.ui.keyCode.ESCAPE:
+ this.collapse( event );
+ break;
+ default:
+ preventDefault = false;
+ prev = this.previousFilter || "";
+ character = String.fromCharCode( event.keyCode );
+ skip = false;
+
+ clearTimeout( this.filterTimer );
+
+ if ( character === prev ) {
+ skip = true;
+ } else {
+ character = prev + character;
+ }
+
+ regex = new RegExp( "^" + escape( character ), "i" );
+ match = this.activeMenu.children( ".ui-menu-item" ).filter(function() {
+ return regex.test( $( this ).children( "a" ).text() );
+ });
+ match = skip && match.index( this.active.next() ) !== -1 ?
+ this.active.nextAll( ".ui-menu-item" ) :
+ match;
+
+ // If no matches on the current filter, reset to the last character pressed
+ // to move down the menu to the first item that starts with that character
+ if ( !match.length ) {
+ character = String.fromCharCode( event.keyCode );
+ regex = new RegExp( "^" + escape( character ), "i" );
+ match = this.activeMenu.children( ".ui-menu-item" ).filter(function() {
+ return regex.test( $( this ).children( "a" ).text() );
+ });
+ }
+
+ if ( match.length ) {
+ this.focus( event, match );
+ if ( match.length > 1 ) {
+ this.previousFilter = character;
+ this.filterTimer = this._delay(function() {
+ delete this.previousFilter;
+ }, 1000 );
+ } else {
+ delete this.previousFilter;
+ }
+ } else {
+ delete this.previousFilter;
+ }
+ }
+
+ if ( preventDefault ) {
+ event.preventDefault();
+ }
+ },
+
+ _activate: function( event ) {
+ if ( !this.active.is( ".ui-state-disabled" ) ) {
+ if ( this.active.children( "a[aria-haspopup='true']" ).length ) {
+ this.expand( event );
+ } else {
+ this.select( event );
+ }
+ }
+ },
+
+ refresh: function() {
+ var menus,
+ icon = this.options.icons.submenu,
+ submenus = this.element.find( this.options.menus );
+
+ // Initialize nested menus
+ submenus.filter( ":not(.ui-menu)" )
+ .addClass( "ui-menu ui-widget ui-widget-content ui-corner-all" )
+ .hide()
+ .attr({
+ role: this.options.role,
+ "aria-hidden": "true",
+ "aria-expanded": "false"
+ })
+ .each(function() {
+ var menu = $( this ),
+ item = menu.prev( "a" ),
+ submenuCarat = $( "<span>" )
+ .addClass( "ui-menu-icon ui-icon " + icon )
+ .data( "ui-menu-submenu-carat", true );
+
+ item
+ .attr( "aria-haspopup", "true" )
+ .prepend( submenuCarat );
+ menu.attr( "aria-labelledby", item.attr( "id" ) );
+ });
+
+ menus = submenus.add( this.element );
+
+ // Don't refresh list items that are already adapted
+ menus.children( ":not(.ui-menu-item):has(a)" )
+ .addClass( "ui-menu-item" )
+ .attr( "role", "presentation" )
+ .children( "a" )
+ .uniqueId()
+ .addClass( "ui-corner-all" )
+ .attr({
+ tabIndex: -1,
+ role: this._itemRole()
+ });
+
+ // Initialize unlinked menu-items containing spaces and/or dashes only as dividers
+ menus.children( ":not(.ui-menu-item)" ).each(function() {
+ var item = $( this );
+ // hyphen, em dash, en dash
+ if ( !/[^\-—–\s]/.test( item.text() ) ) {
+ item.addClass( "ui-widget-content ui-menu-divider" );
+ }
+ });
+
+ // Add aria-disabled attribute to any disabled menu item
+ menus.children( ".ui-state-disabled" ).attr( "aria-disabled", "true" );
+
+ // If the active item has been removed, blur the menu
+ if ( this.active && !$.contains( this.element[ 0 ], this.active[ 0 ] ) ) {
+ this.blur();
+ }
+ },
+
+ _itemRole: function() {
+ return {
+ menu: "menuitem",
+ listbox: "option"
+ }[ this.options.role ];
+ },
+
+ _setOption: function( key, value ) {
+ if ( key === "icons" ) {
+ this.element.find( ".ui-menu-icon" )
+ .removeClass( this.options.icons.submenu )
+ .addClass( value.submenu );
+ }
+ this._super( key, value );
+ },
+
+ focus: function( event, item ) {
+ var nested, focused;
+ this.blur( event, event && event.type === "focus" );
+
+ this._scrollIntoView( item );
+
+ this.active = item.first();
+ focused = this.active.children( "a" ).addClass( "ui-state-focus" );
+ // Only update aria-activedescendant if there's a role
+ // otherwise we assume focus is managed elsewhere
+ if ( this.options.role ) {
+ this.element.attr( "aria-activedescendant", focused.attr( "id" ) );
+ }
+
+ // Highlight active parent menu item, if any
+ this.active
+ .parent()
+ .closest( ".ui-menu-item" )
+ .children( "a:first" )
+ .addClass( "ui-state-active" );
+
+ if ( event && event.type === "keydown" ) {
+ this._close();
+ } else {
+ this.timer = this._delay(function() {
+ this._close();
+ }, this.delay );
+ }
+
+ nested = item.children( ".ui-menu" );
+ if ( nested.length && ( /^mouse/.test( event.type ) ) ) {
+ this._startOpening(nested);
+ }
+ this.activeMenu = item.parent();
+
+ this._trigger( "focus", event, { item: item } );
+ },
+
+ _scrollIntoView: function( item ) {
+ var borderTop, paddingTop, offset, scroll, elementHeight, itemHeight;
+ if ( this._hasScroll() ) {
+ borderTop = parseFloat( $.css( this.activeMenu[0], "borderTopWidth" ) ) || 0;
+ paddingTop = parseFloat( $.css( this.activeMenu[0], "paddingTop" ) ) || 0;
+ offset = item.offset().top - this.activeMenu.offset().top - borderTop - paddingTop;
+ scroll = this.activeMenu.scrollTop();
+ elementHeight = this.activeMenu.height();
+ itemHeight = item.height();
+
+ if ( offset < 0 ) {
+ this.activeMenu.scrollTop( scroll + offset );
+ } else if ( offset + itemHeight > elementHeight ) {
+ this.activeMenu.scrollTop( scroll + offset - elementHeight + itemHeight );
+ }
+ }
+ },
+
+ blur: function( event, fromFocus ) {
+ if ( !fromFocus ) {
+ clearTimeout( this.timer );
+ }
+
+ if ( !this.active ) {
+ return;
+ }
+
+ this.active.children( "a" ).removeClass( "ui-state-focus" );
+ this.active = null;
+
+ this._trigger( "blur", event, { item: this.active } );
+ },
+
+ _startOpening: function( submenu ) {
+ clearTimeout( this.timer );
+
+ // Don't open if already open fixes a Firefox bug that caused a .5 pixel
+ // shift in the submenu position when mousing over the carat icon
+ if ( submenu.attr( "aria-hidden" ) !== "true" ) {
+ return;
+ }
+
+ this.timer = this._delay(function() {
+ this._close();
+ this._open( submenu );
+ }, this.delay );
+ },
+
+ _open: function( submenu ) {
+ var position = $.extend({
+ of: this.active
+ }, this.options.position );
+
+ clearTimeout( this.timer );
+ this.element.find( ".ui-menu" ).not( submenu.parents( ".ui-menu" ) )
+ .hide()
+ .attr( "aria-hidden", "true" );
+
+ submenu
+ .show()
+ .removeAttr( "aria-hidden" )
+ .attr( "aria-expanded", "true" )
+ .position( position );
+ },
+
+ collapseAll: function( event, all ) {
+ clearTimeout( this.timer );
+ this.timer = this._delay(function() {
+ // If we were passed an event, look for the submenu that contains the event
+ var currentMenu = all ? this.element :
+ $( event && event.target ).closest( this.element.find( ".ui-menu" ) );
+
+ // If we found no valid submenu ancestor, use the main menu to close all sub menus anyway
+ if ( !currentMenu.length ) {
+ currentMenu = this.element;
+ }
+
+ this._close( currentMenu );
+
+ this.blur( event );
+ this.activeMenu = currentMenu;
+ }, this.delay );
+ },
+
+ // With no arguments, closes the currently active menu - if nothing is active
+ // it closes all menus. If passed an argument, it will search for menus BELOW
+ _close: function( startMenu ) {
+ if ( !startMenu ) {
+ startMenu = this.active ? this.active.parent() : this.element;
+ }
+
+ startMenu
+ .find( ".ui-menu" )
+ .hide()
+ .attr( "aria-hidden", "true" )
+ .attr( "aria-expanded", "false" )
+ .end()
+ .find( "a.ui-state-active" )
+ .removeClass( "ui-state-active" );
+ },
+
+ collapse: function( event ) {
+ var newItem = this.active &&
+ this.active.parent().closest( ".ui-menu-item", this.element );
+ if ( newItem && newItem.length ) {
+ this._close();
+ this.focus( event, newItem );
+ }
+ },
+
+ expand: function( event ) {
+ var newItem = this.active &&
+ this.active
+ .children( ".ui-menu " )
+ .children( ".ui-menu-item" )
+ .first();
+
+ if ( newItem && newItem.length ) {
+ this._open( newItem.parent() );
+
+ // Delay so Firefox will not hide activedescendant change in expanding submenu from AT
+ this._delay(function() {
+ this.focus( event, newItem );
+ });
+ }
+ },
+
+ next: function( event ) {
+ this._move( "next", "first", event );
+ },
+
+ previous: function( event ) {
+ this._move( "prev", "last", event );
+ },
+
+ isFirstItem: function() {
+ return this.active && !this.active.prevAll( ".ui-menu-item" ).length;
+ },
+
+ isLastItem: function() {
+ return this.active && !this.active.nextAll( ".ui-menu-item" ).length;
+ },
+
+ _move: function( direction, filter, event ) {
+ var next;
+ if ( this.active ) {
+ if ( direction === "first" || direction === "last" ) {
+ next = this.active
+ [ direction === "first" ? "prevAll" : "nextAll" ]( ".ui-menu-item" )
+ .eq( -1 );
+ } else {
+ next = this.active
+ [ direction + "All" ]( ".ui-menu-item" )
+ .eq( 0 );
+ }
+ }
+ if ( !next || !next.length || !this.active ) {
+ next = this.activeMenu.children( ".ui-menu-item" )[ filter ]();
+ }
+
+ this.focus( event, next );
+ },
+
+ nextPage: function( event ) {
+ var item, base, height;
+
+ if ( !this.active ) {
+ this.next( event );
+ return;
+ }
+ if ( this.isLastItem() ) {
+ return;
+ }
+ if ( this._hasScroll() ) {
+ base = this.active.offset().top;
+ height = this.element.height();
+ this.active.nextAll( ".ui-menu-item" ).each(function() {
+ item = $( this );
+ return item.offset().top - base - height < 0;
+ });
+
+ this.focus( event, item );
+ } else {
+ this.focus( event, this.activeMenu.children( ".ui-menu-item" )
+ [ !this.active ? "first" : "last" ]() );
+ }
+ },
+
+ previousPage: function( event ) {
+ var item, base, height;
+ if ( !this.active ) {
+ this.next( event );
+ return;
+ }
+ if ( this.isFirstItem() ) {
+ return;
+ }
+ if ( this._hasScroll() ) {
+ base = this.active.offset().top;
+ height = this.element.height();
+ this.active.prevAll( ".ui-menu-item" ).each(function() {
+ item = $( this );
+ return item.offset().top - base + height > 0;
+ });
+
+ this.focus( event, item );
+ } else {
+ this.focus( event, this.activeMenu.children( ".ui-menu-item" ).first() );
+ }
+ },
+
+ _hasScroll: function() {
+ return this.element.outerHeight() < this.element.prop( "scrollHeight" );
+ },
+
+ select: function( event ) {
+ // TODO: It should never be possible to not have an active item at this
+ // point, but the tests don't trigger mouseenter before click.
+ this.active = this.active || $( event.target ).closest( ".ui-menu-item" );
+ var ui = { item: this.active };
+ if ( !this.active.has( ".ui-menu" ).length ) {
+ this.collapseAll( event, true );
+ }
+ this._trigger( "select", event, ui );
+ }
+});
+
+}( jQuery ));
+(function( $, undefined ) {
+
+$.widget( "ui.progressbar", {
+ version: "1.10.0",
+ options: {
+ max: 100,
+ value: 0,
+
+ change: null,
+ complete: null
+ },
+
+ min: 0,
+
+ _create: function() {
+ // Constrain initial value
+ this.oldValue = this.options.value = this._constrainedValue();
+
+ this.element
+ .addClass( "ui-progressbar ui-widget ui-widget-content ui-corner-all" )
+ .attr({
+ // Only set static values, aria-valuenow and aria-valuemax are
+ // set inside _refreshValue()
+ role: "progressbar",
+ "aria-valuemin": this.min
+ });
+
+ this.valueDiv = $( "<div class='ui-progressbar-value ui-widget-header ui-corner-left'></div>" )
+ .appendTo( this.element );
+
+ this._refreshValue();
+ },
+
+ _destroy: function() {
+ this.element
+ .removeClass( "ui-progressbar ui-widget ui-widget-content ui-corner-all" )
+ .removeAttr( "role" )
+ .removeAttr( "aria-valuemin" )
+ .removeAttr( "aria-valuemax" )
+ .removeAttr( "aria-valuenow" );
+
+ this.valueDiv.remove();
+ },
+
+ value: function( newValue ) {
+ if ( newValue === undefined ) {
+ return this.options.value;
+ }
+
+ this.options.value = this._constrainedValue( newValue );
+ this._refreshValue();
+ },
+
+ _constrainedValue: function( newValue ) {
+ if ( newValue === undefined ) {
+ newValue = this.options.value;
+ }
+
+ this.indeterminate = newValue === false;
+
+ // sanitize value
+ if ( typeof newValue !== "number" ) {
+ newValue = 0;
+ }
+
+ return this.indeterminate ? false :
+ Math.min( this.options.max, Math.max( this.min, newValue ) );
+ },
+
+ _setOptions: function( options ) {
+ // Ensure "value" option is set after other values (like max)
+ var value = options.value;
+ delete options.value;
+
+ this._super( options );
+
+ this.options.value = this._constrainedValue( value );
+ this._refreshValue();
+ },
+
+ _setOption: function( key, value ) {
+ if ( key === "max" ) {
+ // Don't allow a max less than min
+ value = Math.max( this.min, value );
+ }
+
+ this._super( key, value );
+ },
+
+ _percentage: function() {
+ return this.indeterminate ? 100 : 100 * ( this.options.value - this.min ) / ( this.options.max - this.min );
+ },
+
+ _refreshValue: function() {
+ var value = this.options.value,
+ percentage = this._percentage();
+
+ this.valueDiv
+ .toggle( this.indeterminate || value > this.min )
+ .toggleClass( "ui-corner-right", value === this.options.max )
+ .width( percentage.toFixed(0) + "%" );
+
+ this.element.toggleClass( "ui-progressbar-indeterminate", this.indeterminate );
+
+ if ( this.indeterminate ) {
+ this.element.removeAttr( "aria-valuenow" );
+ if ( !this.overlayDiv ) {
+ this.overlayDiv = $( "<div class='ui-progressbar-overlay'></div>" ).appendTo( this.valueDiv );
+ }
+ } else {
+ this.element.attr({
+ "aria-valuemax": this.options.max,
+ "aria-valuenow": value
+ });
+ if ( this.overlayDiv ) {
+ this.overlayDiv.remove();
+ this.overlayDiv = null;
+ }
+ }
+
+ if ( this.oldValue !== value ) {
+ this.oldValue = value;
+ this._trigger( "change" );
+ }
+ if ( value === this.options.max ) {
+ this._trigger( "complete" );
+ }
+ }
+});
+
+})( jQuery );
+(function( $, undefined ) {
+
+// number of pages in a slider
+// (how many times can you page up/down to go through the whole range)
+var numPages = 5;
+
+$.widget( "ui.slider", $.ui.mouse, {
+ version: "1.10.0",
+ widgetEventPrefix: "slide",
+
+ options: {
+ animate: false,
+ distance: 0,
+ max: 100,
+ min: 0,
+ orientation: "horizontal",
+ range: false,
+ step: 1,
+ value: 0,
+ values: null,
+
+ // callbacks
+ change: null,
+ slide: null,
+ start: null,
+ stop: null
+ },
+
+ _create: function() {
+ var i, handleCount,
+ o = this.options,
+ existingHandles = this.element.find( ".ui-slider-handle" ).addClass( "ui-state-default ui-corner-all" ),
+ handle = "<a class='ui-slider-handle ui-state-default ui-corner-all' href='#'></a>",
+ handles = [];
+
+ this._keySliding = false;
+ this._mouseSliding = false;
+ this._animateOff = true;
+ this._handleIndex = null;
+ this._detectOrientation();
+ this._mouseInit();
+
+ this.element
+ .addClass( "ui-slider" +
+ " ui-slider-" + this.orientation +
+ " ui-widget" +
+ " ui-widget-content" +
+ " ui-corner-all");
+
+ this.range = $([]);
+
+ if ( o.range ) {
+ if ( o.range === true ) {
+ if ( !o.values ) {
+ o.values = [ this._valueMin(), this._valueMin() ];
+ } else if ( o.values.length && o.values.length !== 2 ) {
+ o.values = [ o.values[0], o.values[0] ];
+ } else if ( $.isArray( o.values ) ) {
+ o.values = o.values.slice(0);
+ }
+ }
+
+ this.range = $( "<div></div>" )
+ .appendTo( this.element )
+ .addClass( "ui-slider-range" +
+ // note: this isn't the most fittingly semantic framework class for this element,
+ // but worked best visually with a variety of themes
+ " ui-widget-header" +
+ ( ( o.range === "min" || o.range === "max" ) ? " ui-slider-range-" + o.range : "" ) );
+ }
+
+ handleCount = ( o.values && o.values.length ) || 1;
+
+ for ( i = existingHandles.length; i < handleCount; i++ ) {
+ handles.push( handle );
+ }
+
+ this.handles = existingHandles.add( $( handles.join( "" ) ).appendTo( this.element ) );
+
+ this.handle = this.handles.eq( 0 );
+
+ this.handles.add( this.range ).filter( "a" )
+ .click(function( event ) {
+ event.preventDefault();
+ })
+ .mouseenter(function() {
+ if ( !o.disabled ) {
+ $( this ).addClass( "ui-state-hover" );
+ }
+ })
+ .mouseleave(function() {
+ $( this ).removeClass( "ui-state-hover" );
+ })
+ .focus(function() {
+ if ( !o.disabled ) {
+ $( ".ui-slider .ui-state-focus" ).removeClass( "ui-state-focus" );
+ $( this ).addClass( "ui-state-focus" );
+ } else {
+ $( this ).blur();
+ }
+ })
+ .blur(function() {
+ $( this ).removeClass( "ui-state-focus" );
+ });
+
+ this.handles.each(function( i ) {
+ $( this ).data( "ui-slider-handle-index", i );
+ });
+
+ this._setOption( "disabled", o.disabled );
+
+ this._on( this.handles, this._handleEvents );
+
+ this._refreshValue();
+
+ this._animateOff = false;
+ },
+
+ _destroy: function() {
+ this.handles.remove();
+ this.range.remove();
+
+ this.element
+ .removeClass( "ui-slider" +
+ " ui-slider-horizontal" +
+ " ui-slider-vertical" +
+ " ui-widget" +
+ " ui-widget-content" +
+ " ui-corner-all" );
+
+ this._mouseDestroy();
+ },
+
+ _mouseCapture: function( event ) {
+ var position, normValue, distance, closestHandle, index, allowed, offset, mouseOverHandle,
+ that = this,
+ o = this.options;
+
+ if ( o.disabled ) {
+ return false;
+ }
+
+ this.elementSize = {
+ width: this.element.outerWidth(),
+ height: this.element.outerHeight()
+ };
+ this.elementOffset = this.element.offset();
+
+ position = { x: event.pageX, y: event.pageY };
+ normValue = this._normValueFromMouse( position );
+ distance = this._valueMax() - this._valueMin() + 1;
+ this.handles.each(function( i ) {
+ var thisDistance = Math.abs( normValue - that.values(i) );
+ if (( distance > thisDistance ) ||
+ ( distance === thisDistance &&
+ (i === that._lastChangedValue || that.values(i) === o.min ))) {
+ distance = thisDistance;
+ closestHandle = $( this );
+ index = i;
+ }
+ });
+
+ allowed = this._start( event, index );
+ if ( allowed === false ) {
+ return false;
+ }
+ this._mouseSliding = true;
+
+ this._handleIndex = index;
+
+ closestHandle
+ .addClass( "ui-state-active" )
+ .focus();
+
+ offset = closestHandle.offset();
+ mouseOverHandle = !$( event.target ).parents().addBack().is( ".ui-slider-handle" );
+ this._clickOffset = mouseOverHandle ? { left: 0, top: 0 } : {
+ left: event.pageX - offset.left - ( closestHandle.width() / 2 ),
+ top: event.pageY - offset.top -
+ ( closestHandle.height() / 2 ) -
+ ( parseInt( closestHandle.css("borderTopWidth"), 10 ) || 0 ) -
+ ( parseInt( closestHandle.css("borderBottomWidth"), 10 ) || 0) +
+ ( parseInt( closestHandle.css("marginTop"), 10 ) || 0)
+ };
+
+ if ( !this.handles.hasClass( "ui-state-hover" ) ) {
+ this._slide( event, index, normValue );
+ }
+ this._animateOff = true;
+ return true;
+ },
+
+ _mouseStart: function() {
+ return true;
+ },
+
+ _mouseDrag: function( event ) {
+ var position = { x: event.pageX, y: event.pageY },
+ normValue = this._normValueFromMouse( position );
+
+ this._slide( event, this._handleIndex, normValue );
+
+ return false;
+ },
+
+ _mouseStop: function( event ) {
+ this.handles.removeClass( "ui-state-active" );
+ this._mouseSliding = false;
+
+ this._stop( event, this._handleIndex );
+ this._change( event, this._handleIndex );
+
+ this._handleIndex = null;
+ this._clickOffset = null;
+ this._animateOff = false;
+
+ return false;
+ },
+
+ _detectOrientation: function() {
+ this.orientation = ( this.options.orientation === "vertical" ) ? "vertical" : "horizontal";
+ },
+
+ _normValueFromMouse: function( position ) {
+ var pixelTotal,
+ pixelMouse,
+ percentMouse,
+ valueTotal,
+ valueMouse;
+
+ if ( this.orientation === "horizontal" ) {
+ pixelTotal = this.elementSize.width;
+ pixelMouse = position.x - this.elementOffset.left - ( this._clickOffset ? this._clickOffset.left : 0 );
+ } else {
+ pixelTotal = this.elementSize.height;
+ pixelMouse = position.y - this.elementOffset.top - ( this._clickOffset ? this._clickOffset.top : 0 );
+ }
+
+ percentMouse = ( pixelMouse / pixelTotal );
+ if ( percentMouse > 1 ) {
+ percentMouse = 1;
+ }
+ if ( percentMouse < 0 ) {
+ percentMouse = 0;
+ }
+ if ( this.orientation === "vertical" ) {
+ percentMouse = 1 - percentMouse;
+ }
+
+ valueTotal = this._valueMax() - this._valueMin();
+ valueMouse = this._valueMin() + percentMouse * valueTotal;
+
+ return this._trimAlignValue( valueMouse );
+ },
+
+ _start: function( event, index ) {
+ var uiHash = {
+ handle: this.handles[ index ],
+ value: this.value()
+ };
+ if ( this.options.values && this.options.values.length ) {
+ uiHash.value = this.values( index );
+ uiHash.values = this.values();
+ }
+ return this._trigger( "start", event, uiHash );
+ },
+
+ _slide: function( event, index, newVal ) {
+ var otherVal,
+ newValues,
+ allowed;
+
+ if ( this.options.values && this.options.values.length ) {
+ otherVal = this.values( index ? 0 : 1 );
+
+ if ( ( this.options.values.length === 2 && this.options.range === true ) &&
+ ( ( index === 0 && newVal > otherVal) || ( index === 1 && newVal < otherVal ) )
+ ) {
+ newVal = otherVal;
+ }
+
+ if ( newVal !== this.values( index ) ) {
+ newValues = this.values();
+ newValues[ index ] = newVal;
+ // A slide can be canceled by returning false from the slide callback
+ allowed = this._trigger( "slide", event, {
+ handle: this.handles[ index ],
+ value: newVal,
+ values: newValues
+ } );
+ otherVal = this.values( index ? 0 : 1 );
+ if ( allowed !== false ) {
+ this.values( index, newVal, true );
+ }
+ }
+ } else {
+ if ( newVal !== this.value() ) {
+ // A slide can be canceled by returning false from the slide callback
+ allowed = this._trigger( "slide", event, {
+ handle: this.handles[ index ],
+ value: newVal
+ } );
+ if ( allowed !== false ) {
+ this.value( newVal );
+ }
+ }
+ }
+ },
+
+ _stop: function( event, index ) {
+ var uiHash = {
+ handle: this.handles[ index ],
+ value: this.value()
+ };
+ if ( this.options.values && this.options.values.length ) {
+ uiHash.value = this.values( index );
+ uiHash.values = this.values();
+ }
+
+ this._trigger( "stop", event, uiHash );
+ },
+
+ _change: function( event, index ) {
+ if ( !this._keySliding && !this._mouseSliding ) {
+ var uiHash = {
+ handle: this.handles[ index ],
+ value: this.value()
+ };
+ if ( this.options.values && this.options.values.length ) {
+ uiHash.value = this.values( index );
+ uiHash.values = this.values();
+ }
+
+ //store the last changed value index for reference when handles overlap
+ this._lastChangedValue = index;
+
+ this._trigger( "change", event, uiHash );
+ }
+ },
+
+ value: function( newValue ) {
+ if ( arguments.length ) {
+ this.options.value = this._trimAlignValue( newValue );
+ this._refreshValue();
+ this._change( null, 0 );
+ return;
+ }
+
+ return this._value();
+ },
+
+ values: function( index, newValue ) {
+ var vals,
+ newValues,
+ i;
+
+ if ( arguments.length > 1 ) {
+ this.options.values[ index ] = this._trimAlignValue( newValue );
+ this._refreshValue();
+ this._change( null, index );
+ return;
+ }
+
+ if ( arguments.length ) {
+ if ( $.isArray( arguments[ 0 ] ) ) {
+ vals = this.options.values;
+ newValues = arguments[ 0 ];
+ for ( i = 0; i < vals.length; i += 1 ) {
+ vals[ i ] = this._trimAlignValue( newValues[ i ] );
+ this._change( null, i );
+ }
+ this._refreshValue();
+ } else {
+ if ( this.options.values && this.options.values.length ) {
+ return this._values( index );
+ } else {
+ return this.value();
+ }
+ }
+ } else {
+ return this._values();
+ }
+ },
+
+ _setOption: function( key, value ) {
+ var i,
+ valsLength = 0;
+
+ if ( $.isArray( this.options.values ) ) {
+ valsLength = this.options.values.length;
+ }
+
+ $.Widget.prototype._setOption.apply( this, arguments );
+
+ switch ( key ) {
+ case "disabled":
+ if ( value ) {
+ this.handles.filter( ".ui-state-focus" ).blur();
+ this.handles.removeClass( "ui-state-hover" );
+ this.handles.prop( "disabled", true );
+ } else {
+ this.handles.prop( "disabled", false );
+ }
+ break;
+ case "orientation":
+ this._detectOrientation();
+ this.element
+ .removeClass( "ui-slider-horizontal ui-slider-vertical" )
+ .addClass( "ui-slider-" + this.orientation );
+ this._refreshValue();
+ break;
+ case "value":
+ this._animateOff = true;
+ this._refreshValue();
+ this._change( null, 0 );
+ this._animateOff = false;
+ break;
+ case "values":
+ this._animateOff = true;
+ this._refreshValue();
+ for ( i = 0; i < valsLength; i += 1 ) {
+ this._change( null, i );
+ }
+ this._animateOff = false;
+ break;
+ case "min":
+ case "max":
+ this._animateOff = true;
+ this._refreshValue();
+ this._animateOff = false;
+ break;
+ }
+ },
+
+ //internal value getter
+ // _value() returns value trimmed by min and max, aligned by step
+ _value: function() {
+ var val = this.options.value;
+ val = this._trimAlignValue( val );
+
+ return val;
+ },
+
+ //internal values getter
+ // _values() returns array of values trimmed by min and max, aligned by step
+ // _values( index ) returns single value trimmed by min and max, aligned by step
+ _values: function( index ) {
+ var val,
+ vals,
+ i;
+
+ if ( arguments.length ) {
+ val = this.options.values[ index ];
+ val = this._trimAlignValue( val );
+
+ return val;
+ } else {
+ // .slice() creates a copy of the array
+ // this copy gets trimmed by min and max and then returned
+ vals = this.options.values.slice();
+ for ( i = 0; i < vals.length; i+= 1) {
+ vals[ i ] = this._trimAlignValue( vals[ i ] );
+ }
+
+ return vals;
+ }
+ },
+
+ // returns the step-aligned value that val is closest to, between (inclusive) min and max
+ _trimAlignValue: function( val ) {
+ if ( val <= this._valueMin() ) {
+ return this._valueMin();
+ }
+ if ( val >= this._valueMax() ) {
+ return this._valueMax();
+ }
+ var step = ( this.options.step > 0 ) ? this.options.step : 1,
+ valModStep = (val - this._valueMin()) % step,
+ alignValue = val - valModStep;
+
+ if ( Math.abs(valModStep) * 2 >= step ) {
+ alignValue += ( valModStep > 0 ) ? step : ( -step );
+ }
+
+ // Since JavaScript has problems with large floats, round
+ // the final value to 5 digits after the decimal point (see #4124)
+ return parseFloat( alignValue.toFixed(5) );
+ },
+
+ _valueMin: function() {
+ return this.options.min;
+ },
+
+ _valueMax: function() {
+ return this.options.max;
+ },
+
+ _refreshValue: function() {
+ var lastValPercent, valPercent, value, valueMin, valueMax,
+ oRange = this.options.range,
+ o = this.options,
+ that = this,
+ animate = ( !this._animateOff ) ? o.animate : false,
+ _set = {};
+
+ if ( this.options.values && this.options.values.length ) {
+ this.handles.each(function( i ) {
+ valPercent = ( that.values(i) - that._valueMin() ) / ( that._valueMax() - that._valueMin() ) * 100;
+ _set[ that.orientation === "horizontal" ? "left" : "bottom" ] = valPercent + "%";
+ $( this ).stop( 1, 1 )[ animate ? "animate" : "css" ]( _set, o.animate );
+ if ( that.options.range === true ) {
+ if ( that.orientation === "horizontal" ) {
+ if ( i === 0 ) {
+ that.range.stop( 1, 1 )[ animate ? "animate" : "css" ]( { left: valPercent + "%" }, o.animate );
+ }
+ if ( i === 1 ) {
+ that.range[ animate ? "animate" : "css" ]( { width: ( valPercent - lastValPercent ) + "%" }, { queue: false, duration: o.animate } );
+ }
+ } else {
+ if ( i === 0 ) {
+ that.range.stop( 1, 1 )[ animate ? "animate" : "css" ]( { bottom: ( valPercent ) + "%" }, o.animate );
+ }
+ if ( i === 1 ) {
+ that.range[ animate ? "animate" : "css" ]( { height: ( valPercent - lastValPercent ) + "%" }, { queue: false, duration: o.animate } );
+ }
+ }
+ }
+ lastValPercent = valPercent;
+ });
+ } else {
+ value = this.value();
+ valueMin = this._valueMin();
+ valueMax = this._valueMax();
+ valPercent = ( valueMax !== valueMin ) ?
+ ( value - valueMin ) / ( valueMax - valueMin ) * 100 :
+ 0;
+ _set[ this.orientation === "horizontal" ? "left" : "bottom" ] = valPercent + "%";
+ this.handle.stop( 1, 1 )[ animate ? "animate" : "css" ]( _set, o.animate );
+
+ if ( oRange === "min" && this.orientation === "horizontal" ) {
+ this.range.stop( 1, 1 )[ animate ? "animate" : "css" ]( { width: valPercent + "%" }, o.animate );
+ }
+ if ( oRange === "max" && this.orientation === "horizontal" ) {
+ this.range[ animate ? "animate" : "css" ]( { width: ( 100 - valPercent ) + "%" }, { queue: false, duration: o.animate } );
+ }
+ if ( oRange === "min" && this.orientation === "vertical" ) {
+ this.range.stop( 1, 1 )[ animate ? "animate" : "css" ]( { height: valPercent + "%" }, o.animate );
+ }
+ if ( oRange === "max" && this.orientation === "vertical" ) {
+ this.range[ animate ? "animate" : "css" ]( { height: ( 100 - valPercent ) + "%" }, { queue: false, duration: o.animate } );
+ }
+ }
+ },
+
+ _handleEvents: {
+ keydown: function( event ) {
+ /*jshint maxcomplexity:25*/
+ var allowed, curVal, newVal, step,
+ index = $( event.target ).data( "ui-slider-handle-index" );
+
+ switch ( event.keyCode ) {
+ case $.ui.keyCode.HOME:
+ case $.ui.keyCode.END:
+ case $.ui.keyCode.PAGE_UP:
+ case $.ui.keyCode.PAGE_DOWN:
+ case $.ui.keyCode.UP:
+ case $.ui.keyCode.RIGHT:
+ case $.ui.keyCode.DOWN:
+ case $.ui.keyCode.LEFT:
+ event.preventDefault();
+ if ( !this._keySliding ) {
+ this._keySliding = true;
+ $( event.target ).addClass( "ui-state-active" );
+ allowed = this._start( event, index );
+ if ( allowed === false ) {
+ return;
+ }
+ }
+ break;
+ }
+
+ step = this.options.step;
+ if ( this.options.values && this.options.values.length ) {
+ curVal = newVal = this.values( index );
+ } else {
+ curVal = newVal = this.value();
+ }
+
+ switch ( event.keyCode ) {
+ case $.ui.keyCode.HOME:
+ newVal = this._valueMin();
+ break;
+ case $.ui.keyCode.END:
+ newVal = this._valueMax();
+ break;
+ case $.ui.keyCode.PAGE_UP:
+ newVal = this._trimAlignValue( curVal + ( (this._valueMax() - this._valueMin()) / numPages ) );
+ break;
+ case $.ui.keyCode.PAGE_DOWN:
+ newVal = this._trimAlignValue( curVal - ( (this._valueMax() - this._valueMin()) / numPages ) );
+ break;
+ case $.ui.keyCode.UP:
+ case $.ui.keyCode.RIGHT:
+ if ( curVal === this._valueMax() ) {
+ return;
+ }
+ newVal = this._trimAlignValue( curVal + step );
+ break;
+ case $.ui.keyCode.DOWN:
+ case $.ui.keyCode.LEFT:
+ if ( curVal === this._valueMin() ) {
+ return;
+ }
+ newVal = this._trimAlignValue( curVal - step );
+ break;
+ }
+
+ this._slide( event, index, newVal );
+ },
+ keyup: function( event ) {
+ var index = $( event.target ).data( "ui-slider-handle-index" );
+
+ if ( this._keySliding ) {
+ this._keySliding = false;
+ this._stop( event, index );
+ this._change( event, index );
+ $( event.target ).removeClass( "ui-state-active" );
+ }
+ }
+ }
+
+});
+
+}(jQuery));
+(function( $ ) {
+
+function modifier( fn ) {
+ return function() {
+ var previous = this.element.val();
+ fn.apply( this, arguments );
+ this._refresh();
+ if ( previous !== this.element.val() ) {
+ this._trigger( "change" );
+ }
+ };
+}
+
+$.widget( "ui.spinner", {
+ version: "1.10.0",
+ defaultElement: "<input>",
+ widgetEventPrefix: "spin",
+ options: {
+ culture: null,
+ icons: {
+ down: "ui-icon-triangle-1-s",
+ up: "ui-icon-triangle-1-n"
+ },
+ incremental: true,
+ max: null,
+ min: null,
+ numberFormat: null,
+ page: 10,
+ step: 1,
+
+ change: null,
+ spin: null,
+ start: null,
+ stop: null
+ },
+
+ _create: function() {
+ // handle string values that need to be parsed
+ this._setOption( "max", this.options.max );
+ this._setOption( "min", this.options.min );
+ this._setOption( "step", this.options.step );
+
+ // format the value, but don't constrain
+ this._value( this.element.val(), true );
+
+ this._draw();
+ this._on( this._events );
+ this._refresh();
+
+ // turning off autocomplete prevents the browser from remembering the
+ // value when navigating through history, so we re-enable autocomplete
+ // if the page is unloaded before the widget is destroyed. #7790
+ this._on( this.window, {
+ beforeunload: function() {
+ this.element.removeAttr( "autocomplete" );
+ }
+ });
+ },
+
+ _getCreateOptions: function() {
+ var options = {},
+ element = this.element;
+
+ $.each( [ "min", "max", "step" ], function( i, option ) {
+ var value = element.attr( option );
+ if ( value !== undefined && value.length ) {
+ options[ option ] = value;
+ }
+ });
+
+ return options;
+ },
+
+ _events: {
+ keydown: function( event ) {
+ if ( this._start( event ) && this._keydown( event ) ) {
+ event.preventDefault();
+ }
+ },
+ keyup: "_stop",
+ focus: function() {
+ this.previous = this.element.val();
+ },
+ blur: function( event ) {
+ if ( this.cancelBlur ) {
+ delete this.cancelBlur;
+ return;
+ }
+
+ this._refresh();
+ if ( this.previous !== this.element.val() ) {
+ this._trigger( "change", event );
+ }
+ },
+ mousewheel: function( event, delta ) {
+ if ( !delta ) {
+ return;
+ }
+ if ( !this.spinning && !this._start( event ) ) {
+ return false;
+ }
+
+ this._spin( (delta > 0 ? 1 : -1) * this.options.step, event );
+ clearTimeout( this.mousewheelTimer );
+ this.mousewheelTimer = this._delay(function() {
+ if ( this.spinning ) {
+ this._stop( event );
+ }
+ }, 100 );
+ event.preventDefault();
+ },
+ "mousedown .ui-spinner-button": function( event ) {
+ var previous;
+
+ // We never want the buttons to have focus; whenever the user is
+ // interacting with the spinner, the focus should be on the input.
+ // If the input is focused then this.previous is properly set from
+ // when the input first received focus. If the input is not focused
+ // then we need to set this.previous based on the value before spinning.
+ previous = this.element[0] === this.document[0].activeElement ?
+ this.previous : this.element.val();
+ function checkFocus() {
+ var isActive = this.element[0] === this.document[0].activeElement;
+ if ( !isActive ) {
+ this.element.focus();
+ this.previous = previous;
+ // support: IE
+ // IE sets focus asynchronously, so we need to check if focus
+ // moved off of the input because the user clicked on the button.
+ this._delay(function() {
+ this.previous = previous;
+ });
+ }
+ }
+
+ // ensure focus is on (or stays on) the text field
+ event.preventDefault();
+ checkFocus.call( this );
+
+ // support: IE
+ // IE doesn't prevent moving focus even with event.preventDefault()
+ // so we set a flag to know when we should ignore the blur event
+ // and check (again) if focus moved off of the input.
+ this.cancelBlur = true;
+ this._delay(function() {
+ delete this.cancelBlur;
+ checkFocus.call( this );
+ });
+
+ if ( this._start( event ) === false ) {
+ return;
+ }
+
+ this._repeat( null, $( event.currentTarget ).hasClass( "ui-spinner-up" ) ? 1 : -1, event );
+ },
+ "mouseup .ui-spinner-button": "_stop",
+ "mouseenter .ui-spinner-button": function( event ) {
+ // button will add ui-state-active if mouse was down while mouseleave and kept down
+ if ( !$( event.currentTarget ).hasClass( "ui-state-active" ) ) {
+ return;
+ }
+
+ if ( this._start( event ) === false ) {
+ return false;
+ }
+ this._repeat( null, $( event.currentTarget ).hasClass( "ui-spinner-up" ) ? 1 : -1, event );
+ },
+ // TODO: do we really want to consider this a stop?
+ // shouldn't we just stop the repeater and wait until mouseup before
+ // we trigger the stop event?
+ "mouseleave .ui-spinner-button": "_stop"
+ },
+
+ _draw: function() {
+ var uiSpinner = this.uiSpinner = this.element
+ .addClass( "ui-spinner-input" )
+ .attr( "autocomplete", "off" )
+ .wrap( this._uiSpinnerHtml() )
+ .parent()
+ // add buttons
+ .append( this._buttonHtml() );
+
+ this.element.attr( "role", "spinbutton" );
+
+ // button bindings
+ this.buttons = uiSpinner.find( ".ui-spinner-button" )
+ .attr( "tabIndex", -1 )
+ .button()
+ .removeClass( "ui-corner-all" );
+
+ // IE 6 doesn't understand height: 50% for the buttons
+ // unless the wrapper has an explicit height
+ if ( this.buttons.height() > Math.ceil( uiSpinner.height() * 0.5 ) &&
+ uiSpinner.height() > 0 ) {
+ uiSpinner.height( uiSpinner.height() );
+ }
+
+ // disable spinner if element was already disabled
+ if ( this.options.disabled ) {
+ this.disable();
+ }
+ },
+
+ _keydown: function( event ) {
+ var options = this.options,
+ keyCode = $.ui.keyCode;
+
+ switch ( event.keyCode ) {
+ case keyCode.UP:
+ this._repeat( null, 1, event );
+ return true;
+ case keyCode.DOWN:
+ this._repeat( null, -1, event );
+ return true;
+ case keyCode.PAGE_UP:
+ this._repeat( null, options.page, event );
+ return true;
+ case keyCode.PAGE_DOWN:
+ this._repeat( null, -options.page, event );
+ return true;
+ }
+
+ return false;
+ },
+
+ _uiSpinnerHtml: function() {
+ return "<span class='ui-spinner ui-widget ui-widget-content ui-corner-all'></span>";
+ },
+
+ _buttonHtml: function() {
+ return "" +
+ "<a class='ui-spinner-button ui-spinner-up ui-corner-tr'>" +
+ "<span class='ui-icon " + this.options.icons.up + "'>&#9650;</span>" +
+ "</a>" +
+ "<a class='ui-spinner-button ui-spinner-down ui-corner-br'>" +
+ "<span class='ui-icon " + this.options.icons.down + "'>&#9660;</span>" +
+ "</a>";
+ },
+
+ _start: function( event ) {
+ if ( !this.spinning && this._trigger( "start", event ) === false ) {
+ return false;
+ }
+
+ if ( !this.counter ) {
+ this.counter = 1;
+ }
+ this.spinning = true;
+ return true;
+ },
+
+ _repeat: function( i, steps, event ) {
+ i = i || 500;
+
+ clearTimeout( this.timer );
+ this.timer = this._delay(function() {
+ this._repeat( 40, steps, event );
+ }, i );
+
+ this._spin( steps * this.options.step, event );
+ },
+
+ _spin: function( step, event ) {
+ var value = this.value() || 0;
+
+ if ( !this.counter ) {
+ this.counter = 1;
+ }
+
+ value = this._adjustValue( value + step * this._increment( this.counter ) );
+
+ if ( !this.spinning || this._trigger( "spin", event, { value: value } ) !== false) {
+ this._value( value );
+ this.counter++;
+ }
+ },
+
+ _increment: function( i ) {
+ var incremental = this.options.incremental;
+
+ if ( incremental ) {
+ return $.isFunction( incremental ) ?
+ incremental( i ) :
+ Math.floor( i*i*i/50000 - i*i/500 + 17*i/200 + 1 );
+ }
+
+ return 1;
+ },
+
+ _precision: function() {
+ var precision = this._precisionOf( this.options.step );
+ if ( this.options.min !== null ) {
+ precision = Math.max( precision, this._precisionOf( this.options.min ) );
+ }
+ return precision;
+ },
+
+ _precisionOf: function( num ) {
+ var str = num.toString(),
+ decimal = str.indexOf( "." );
+ return decimal === -1 ? 0 : str.length - decimal - 1;
+ },
+
+ _adjustValue: function( value ) {
+ var base, aboveMin,
+ options = this.options;
+
+ // make sure we're at a valid step
+ // - find out where we are relative to the base (min or 0)
+ base = options.min !== null ? options.min : 0;
+ aboveMin = value - base;
+ // - round to the nearest step
+ aboveMin = Math.round(aboveMin / options.step) * options.step;
+ // - rounding is based on 0, so adjust back to our base
+ value = base + aboveMin;
+
+ // fix precision from bad JS floating point math
+ value = parseFloat( value.toFixed( this._precision() ) );
+
+ // clamp the value
+ if ( options.max !== null && value > options.max) {
+ return options.max;
+ }
+ if ( options.min !== null && value < options.min ) {
+ return options.min;
+ }
+
+ return value;
+ },
+
+ _stop: function( event ) {
+ if ( !this.spinning ) {
+ return;
+ }
+
+ clearTimeout( this.timer );
+ clearTimeout( this.mousewheelTimer );
+ this.counter = 0;
+ this.spinning = false;
+ this._trigger( "stop", event );
+ },
+
+ _setOption: function( key, value ) {
+ if ( key === "culture" || key === "numberFormat" ) {
+ var prevValue = this._parse( this.element.val() );
+ this.options[ key ] = value;
+ this.element.val( this._format( prevValue ) );
+ return;
+ }
+
+ if ( key === "max" || key === "min" || key === "step" ) {
+ if ( typeof value === "string" ) {
+ value = this._parse( value );
+ }
+ }
+ if ( key === "icons" ) {
+ this.buttons.first().find( ".ui-icon" )
+ .removeClass( this.options.icons.up )
+ .addClass( value.up );
+ this.buttons.last().find( ".ui-icon" )
+ .removeClass( this.options.icons.down )
+ .addClass( value.down );
+ }
+
+ this._super( key, value );
+
+ if ( key === "disabled" ) {
+ if ( value ) {
+ this.element.prop( "disabled", true );
+ this.buttons.button( "disable" );
+ } else {
+ this.element.prop( "disabled", false );
+ this.buttons.button( "enable" );
+ }
+ }
+ },
+
+ _setOptions: modifier(function( options ) {
+ this._super( options );
+ this._value( this.element.val() );
+ }),
+
+ _parse: function( val ) {
+ if ( typeof val === "string" && val !== "" ) {
+ val = window.Globalize && this.options.numberFormat ?
+ Globalize.parseFloat( val, 10, this.options.culture ) : +val;
+ }
+ return val === "" || isNaN( val ) ? null : val;
+ },
+
+ _format: function( value ) {
+ if ( value === "" ) {
+ return "";
+ }
+ return window.Globalize && this.options.numberFormat ?
+ Globalize.format( value, this.options.numberFormat, this.options.culture ) :
+ value;
+ },
+
+ _refresh: function() {
+ this.element.attr({
+ "aria-valuemin": this.options.min,
+ "aria-valuemax": this.options.max,
+ // TODO: what should we do with values that can't be parsed?
+ "aria-valuenow": this._parse( this.element.val() )
+ });
+ },
+
+ // update the value without triggering change
+ _value: function( value, allowAny ) {
+ var parsed;
+ if ( value !== "" ) {
+ parsed = this._parse( value );
+ if ( parsed !== null ) {
+ if ( !allowAny ) {
+ parsed = this._adjustValue( parsed );
+ }
+ value = this._format( parsed );
+ }
+ }
+ this.element.val( value );
+ this._refresh();
+ },
+
+ _destroy: function() {
+ this.element
+ .removeClass( "ui-spinner-input" )
+ .prop( "disabled", false )
+ .removeAttr( "autocomplete" )
+ .removeAttr( "role" )
+ .removeAttr( "aria-valuemin" )
+ .removeAttr( "aria-valuemax" )
+ .removeAttr( "aria-valuenow" );
+ this.uiSpinner.replaceWith( this.element );
+ },
+
+ stepUp: modifier(function( steps ) {
+ this._stepUp( steps );
+ }),
+ _stepUp: function( steps ) {
+ if ( this._start() ) {
+ this._spin( (steps || 1) * this.options.step );
+ this._stop();
+ }
+ },
+
+ stepDown: modifier(function( steps ) {
+ this._stepDown( steps );
+ }),
+ _stepDown: function( steps ) {
+ if ( this._start() ) {
+ this._spin( (steps || 1) * -this.options.step );
+ this._stop();
+ }
+ },
+
+ pageUp: modifier(function( pages ) {
+ this._stepUp( (pages || 1) * this.options.page );
+ }),
+
+ pageDown: modifier(function( pages ) {
+ this._stepDown( (pages || 1) * this.options.page );
+ }),
+
+ value: function( newVal ) {
+ if ( !arguments.length ) {
+ return this._parse( this.element.val() );
+ }
+ modifier( this._value ).call( this, newVal );
+ },
+
+ widget: function() {
+ return this.uiSpinner;
+ }
+});
+
+}( jQuery ) );
+(function( $, undefined ) {
+
+var tabId = 0,
+ rhash = /#.*$/;
+
+function getNextTabId() {
+ return ++tabId;
+}
+
+function isLocal( anchor ) {
+ return anchor.hash.length > 1 &&
+ decodeURIComponent( anchor.href.replace( rhash, "" ) ) ===
+ decodeURIComponent( location.href.replace( rhash, "" ) );
+}
+
+$.widget( "ui.tabs", {
+ version: "1.10.0",
+ delay: 300,
+ options: {
+ active: null,
+ collapsible: false,
+ event: "click",
+ heightStyle: "content",
+ hide: null,
+ show: null,
+
+ // callbacks
+ activate: null,
+ beforeActivate: null,
+ beforeLoad: null,
+ load: null
+ },
+
+ _create: function() {
+ var that = this,
+ options = this.options;
+
+ this.running = false;
+
+ this.element
+ .addClass( "ui-tabs ui-widget ui-widget-content ui-corner-all" )
+ .toggleClass( "ui-tabs-collapsible", options.collapsible )
+ // Prevent users from focusing disabled tabs via click
+ .delegate( ".ui-tabs-nav > li", "mousedown" + this.eventNamespace, function( event ) {
+ if ( $( this ).is( ".ui-state-disabled" ) ) {
+ event.preventDefault();
+ }
+ })
+ // support: IE <9
+ // Preventing the default action in mousedown doesn't prevent IE
+ // from focusing the element, so if the anchor gets focused, blur.
+ // We don't have to worry about focusing the previously focused
+ // element since clicking on a non-focusable element should focus
+ // the body anyway.
+ .delegate( ".ui-tabs-anchor", "focus" + this.eventNamespace, function() {
+ if ( $( this ).closest( "li" ).is( ".ui-state-disabled" ) ) {
+ this.blur();
+ }
+ });
+
+ this._processTabs();
+ options.active = this._initialActive();
+
+ // Take disabling tabs via class attribute from HTML
+ // into account and update option properly.
+ if ( $.isArray( options.disabled ) ) {
+ options.disabled = $.unique( options.disabled.concat(
+ $.map( this.tabs.filter( ".ui-state-disabled" ), function( li ) {
+ return that.tabs.index( li );
+ })
+ ) ).sort();
+ }
+
+ // check for length avoids error when initializing empty list
+ if ( this.options.active !== false && this.anchors.length ) {
+ this.active = this._findActive( options.active );
+ } else {
+ this.active = $();
+ }
+
+ this._refresh();
+
+ if ( this.active.length ) {
+ this.load( options.active );
+ }
+ },
+
+ _initialActive: function() {
+ var active = this.options.active,
+ collapsible = this.options.collapsible,
+ locationHash = location.hash.substring( 1 );
+
+ if ( active === null ) {
+ // check the fragment identifier in the URL
+ if ( locationHash ) {
+ this.tabs.each(function( i, tab ) {
+ if ( $( tab ).attr( "aria-controls" ) === locationHash ) {
+ active = i;
+ return false;
+ }
+ });
+ }
+
+ // check for a tab marked active via a class
+ if ( active === null ) {
+ active = this.tabs.index( this.tabs.filter( ".ui-tabs-active" ) );
+ }
+
+ // no active tab, set to false
+ if ( active === null || active === -1 ) {
+ active = this.tabs.length ? 0 : false;
+ }
+ }
+
+ // handle numbers: negative, out of range
+ if ( active !== false ) {
+ active = this.tabs.index( this.tabs.eq( active ) );
+ if ( active === -1 ) {
+ active = collapsible ? false : 0;
+ }
+ }
+
+ // don't allow collapsible: false and active: false
+ if ( !collapsible && active === false && this.anchors.length ) {
+ active = 0;
+ }
+
+ return active;
+ },
+
+ _getCreateEventData: function() {
+ return {
+ tab: this.active,
+ panel: !this.active.length ? $() : this._getPanelForTab( this.active )
+ };
+ },
+
+ _tabKeydown: function( event ) {
+ /*jshint maxcomplexity:15*/
+ var focusedTab = $( this.document[0].activeElement ).closest( "li" ),
+ selectedIndex = this.tabs.index( focusedTab ),
+ goingForward = true;
+
+ if ( this._handlePageNav( event ) ) {
+ return;
+ }
+
+ switch ( event.keyCode ) {
+ case $.ui.keyCode.RIGHT:
+ case $.ui.keyCode.DOWN:
+ selectedIndex++;
+ break;
+ case $.ui.keyCode.UP:
+ case $.ui.keyCode.LEFT:
+ goingForward = false;
+ selectedIndex--;
+ break;
+ case $.ui.keyCode.END:
+ selectedIndex = this.anchors.length - 1;
+ break;
+ case $.ui.keyCode.HOME:
+ selectedIndex = 0;
+ break;
+ case $.ui.keyCode.SPACE:
+ // Activate only, no collapsing
+ event.preventDefault();
+ clearTimeout( this.activating );
+ this._activate( selectedIndex );
+ return;
+ case $.ui.keyCode.ENTER:
+ // Toggle (cancel delayed activation, allow collapsing)
+ event.preventDefault();
+ clearTimeout( this.activating );
+ // Determine if we should collapse or activate
+ this._activate( selectedIndex === this.options.active ? false : selectedIndex );
+ return;
+ default:
+ return;
+ }
+
+ // Focus the appropriate tab, based on which key was pressed
+ event.preventDefault();
+ clearTimeout( this.activating );
+ selectedIndex = this._focusNextTab( selectedIndex, goingForward );
+
+ // Navigating with control key will prevent automatic activation
+ if ( !event.ctrlKey ) {
+ // Update aria-selected immediately so that AT think the tab is already selected.
+ // Otherwise AT may confuse the user by stating that they need to activate the tab,
+ // but the tab will already be activated by the time the announcement finishes.
+ focusedTab.attr( "aria-selected", "false" );
+ this.tabs.eq( selectedIndex ).attr( "aria-selected", "true" );
+
+ this.activating = this._delay(function() {
+ this.option( "active", selectedIndex );
+ }, this.delay );
+ }
+ },
+
+ _panelKeydown: function( event ) {
+ if ( this._handlePageNav( event ) ) {
+ return;
+ }
+
+ // Ctrl+up moves focus to the current tab
+ if ( event.ctrlKey && event.keyCode === $.ui.keyCode.UP ) {
+ event.preventDefault();
+ this.active.focus();
+ }
+ },
+
+ // Alt+page up/down moves focus to the previous/next tab (and activates)
+ _handlePageNav: function( event ) {
+ if ( event.altKey && event.keyCode === $.ui.keyCode.PAGE_UP ) {
+ this._activate( this._focusNextTab( this.options.active - 1, false ) );
+ return true;
+ }
+ if ( event.altKey && event.keyCode === $.ui.keyCode.PAGE_DOWN ) {
+ this._activate( this._focusNextTab( this.options.active + 1, true ) );
+ return true;
+ }
+ },
+
+ _findNextTab: function( index, goingForward ) {
+ var lastTabIndex = this.tabs.length - 1;
+
+ function constrain() {
+ if ( index > lastTabIndex ) {
+ index = 0;
+ }
+ if ( index < 0 ) {
+ index = lastTabIndex;
+ }
+ return index;
+ }
+
+ while ( $.inArray( constrain(), this.options.disabled ) !== -1 ) {
+ index = goingForward ? index + 1 : index - 1;
+ }
+
+ return index;
+ },
+
+ _focusNextTab: function( index, goingForward ) {
+ index = this._findNextTab( index, goingForward );
+ this.tabs.eq( index ).focus();
+ return index;
+ },
+
+ _setOption: function( key, value ) {
+ if ( key === "active" ) {
+ // _activate() will handle invalid values and update this.options
+ this._activate( value );
+ return;
+ }
+
+ if ( key === "disabled" ) {
+ // don't use the widget factory's disabled handling
+ this._setupDisabled( value );
+ return;
+ }
+
+ this._super( key, value);
+
+ if ( key === "collapsible" ) {
+ this.element.toggleClass( "ui-tabs-collapsible", value );
+ // Setting collapsible: false while collapsed; open first panel
+ if ( !value && this.options.active === false ) {
+ this._activate( 0 );
+ }
+ }
+
+ if ( key === "event" ) {
+ this._setupEvents( value );
+ }
+
+ if ( key === "heightStyle" ) {
+ this._setupHeightStyle( value );
+ }
+ },
+
+ _tabId: function( tab ) {
+ return tab.attr( "aria-controls" ) || "ui-tabs-" + getNextTabId();
+ },
+
+ _sanitizeSelector: function( hash ) {
+ return hash ? hash.replace( /[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g, "\\$&" ) : "";
+ },
+
+ refresh: function() {
+ var options = this.options,
+ lis = this.tablist.children( ":has(a[href])" );
+
+ // get disabled tabs from class attribute from HTML
+ // this will get converted to a boolean if needed in _refresh()
+ options.disabled = $.map( lis.filter( ".ui-state-disabled" ), function( tab ) {
+ return lis.index( tab );
+ });
+
+ this._processTabs();
+
+ // was collapsed or no tabs
+ if ( options.active === false || !this.anchors.length ) {
+ options.active = false;
+ this.active = $();
+ // was active, but active tab is gone
+ } else if ( this.active.length && !$.contains( this.tablist[ 0 ], this.active[ 0 ] ) ) {
+ // all remaining tabs are disabled
+ if ( this.tabs.length === options.disabled.length ) {
+ options.active = false;
+ this.active = $();
+ // activate previous tab
+ } else {
+ this._activate( this._findNextTab( Math.max( 0, options.active - 1 ), false ) );
+ }
+ // was active, active tab still exists
+ } else {
+ // make sure active index is correct
+ options.active = this.tabs.index( this.active );
+ }
+
+ this._refresh();
+ },
+
+ _refresh: function() {
+ this._setupDisabled( this.options.disabled );
+ this._setupEvents( this.options.event );
+ this._setupHeightStyle( this.options.heightStyle );
+
+ this.tabs.not( this.active ).attr({
+ "aria-selected": "false",
+ tabIndex: -1
+ });
+ this.panels.not( this._getPanelForTab( this.active ) )
+ .hide()
+ .attr({
+ "aria-expanded": "false",
+ "aria-hidden": "true"
+ });
+
+ // Make sure one tab is in the tab order
+ if ( !this.active.length ) {
+ this.tabs.eq( 0 ).attr( "tabIndex", 0 );
+ } else {
+ this.active
+ .addClass( "ui-tabs-active ui-state-active" )
+ .attr({
+ "aria-selected": "true",
+ tabIndex: 0
+ });
+ this._getPanelForTab( this.active )
+ .show()
+ .attr({
+ "aria-expanded": "true",
+ "aria-hidden": "false"
+ });
+ }
+ },
+
+ _processTabs: function() {
+ var that = this;
+
+ this.tablist = this._getList()
+ .addClass( "ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all" )
+ .attr( "role", "tablist" );
+
+ this.tabs = this.tablist.find( "> li:has(a[href])" )
+ .addClass( "ui-state-default ui-corner-top" )
+ .attr({
+ role: "tab",
+ tabIndex: -1
+ });
+
+ this.anchors = this.tabs.map(function() {
+ return $( "a", this )[ 0 ];
+ })
+ .addClass( "ui-tabs-anchor" )
+ .attr({
+ role: "presentation",
+ tabIndex: -1
+ });
+
+ this.panels = $();
+
+ this.anchors.each(function( i, anchor ) {
+ var selector, panel, panelId,
+ anchorId = $( anchor ).uniqueId().attr( "id" ),
+ tab = $( anchor ).closest( "li" ),
+ originalAriaControls = tab.attr( "aria-controls" );
+
+ // inline tab
+ if ( isLocal( anchor ) ) {
+ selector = anchor.hash;
+ panel = that.element.find( that._sanitizeSelector( selector ) );
+ // remote tab
+ } else {
+ panelId = that._tabId( tab );
+ selector = "#" + panelId;
+ panel = that.element.find( selector );
+ if ( !panel.length ) {
+ panel = that._createPanel( panelId );
+ panel.insertAfter( that.panels[ i - 1 ] || that.tablist );
+ }
+ panel.attr( "aria-live", "polite" );
+ }
+
+ if ( panel.length) {
+ that.panels = that.panels.add( panel );
+ }
+ if ( originalAriaControls ) {
+ tab.data( "ui-tabs-aria-controls", originalAriaControls );
+ }
+ tab.attr({
+ "aria-controls": selector.substring( 1 ),
+ "aria-labelledby": anchorId
+ });
+ panel.attr( "aria-labelledby", anchorId );
+ });
+
+ this.panels
+ .addClass( "ui-tabs-panel ui-widget-content ui-corner-bottom" )
+ .attr( "role", "tabpanel" );
+ },
+
+ // allow overriding how to find the list for rare usage scenarios (#7715)
+ _getList: function() {
+ return this.element.find( "ol,ul" ).eq( 0 );
+ },
+
+ _createPanel: function( id ) {
+ return $( "<div>" )
+ .attr( "id", id )
+ .addClass( "ui-tabs-panel ui-widget-content ui-corner-bottom" )
+ .data( "ui-tabs-destroy", true );
+ },
+
+ _setupDisabled: function( disabled ) {
+ if ( $.isArray( disabled ) ) {
+ if ( !disabled.length ) {
+ disabled = false;
+ } else if ( disabled.length === this.anchors.length ) {
+ disabled = true;
+ }
+ }
+
+ // disable tabs
+ for ( var i = 0, li; ( li = this.tabs[ i ] ); i++ ) {
+ if ( disabled === true || $.inArray( i, disabled ) !== -1 ) {
+ $( li )
+ .addClass( "ui-state-disabled" )
+ .attr( "aria-disabled", "true" );
+ } else {
+ $( li )
+ .removeClass( "ui-state-disabled" )
+ .removeAttr( "aria-disabled" );
+ }
+ }
+
+ this.options.disabled = disabled;
+ },
+
+ _setupEvents: function( event ) {
+ var events = {
+ click: function( event ) {
+ event.preventDefault();
+ }
+ };
+ if ( event ) {
+ $.each( event.split(" "), function( index, eventName ) {
+ events[ eventName ] = "_eventHandler";
+ });
+ }
+
+ this._off( this.anchors.add( this.tabs ).add( this.panels ) );
+ this._on( this.anchors, events );
+ this._on( this.tabs, { keydown: "_tabKeydown" } );
+ this._on( this.panels, { keydown: "_panelKeydown" } );
+
+ this._focusable( this.tabs );
+ this._hoverable( this.tabs );
+ },
+
+ _setupHeightStyle: function( heightStyle ) {
+ var maxHeight,
+ parent = this.element.parent();
+
+ if ( heightStyle === "fill" ) {
+ maxHeight = parent.height();
+ maxHeight -= this.element.outerHeight() - this.element.height();
+
+ this.element.siblings( ":visible" ).each(function() {
+ var elem = $( this ),
+ position = elem.css( "position" );
+
+ if ( position === "absolute" || position === "fixed" ) {
+ return;
+ }
+ maxHeight -= elem.outerHeight( true );
+ });
+
+ this.element.children().not( this.panels ).each(function() {
+ maxHeight -= $( this ).outerHeight( true );
+ });
+
+ this.panels.each(function() {
+ $( this ).height( Math.max( 0, maxHeight -
+ $( this ).innerHeight() + $( this ).height() ) );
+ })
+ .css( "overflow", "auto" );
+ } else if ( heightStyle === "auto" ) {
+ maxHeight = 0;
+ this.panels.each(function() {
+ maxHeight = Math.max( maxHeight, $( this ).height( "" ).height() );
+ }).height( maxHeight );
+ }
+ },
+
+ _eventHandler: function( event ) {
+ var options = this.options,
+ active = this.active,
+ anchor = $( event.currentTarget ),
+ tab = anchor.closest( "li" ),
+ clickedIsActive = tab[ 0 ] === active[ 0 ],
+ collapsing = clickedIsActive && options.collapsible,
+ toShow = collapsing ? $() : this._getPanelForTab( tab ),
+ toHide = !active.length ? $() : this._getPanelForTab( active ),
+ eventData = {
+ oldTab: active,
+ oldPanel: toHide,
+ newTab: collapsing ? $() : tab,
+ newPanel: toShow
+ };
+
+ event.preventDefault();
+
+ if ( tab.hasClass( "ui-state-disabled" ) ||
+ // tab is already loading
+ tab.hasClass( "ui-tabs-loading" ) ||
+ // can't switch durning an animation
+ this.running ||
+ // click on active header, but not collapsible
+ ( clickedIsActive && !options.collapsible ) ||
+ // allow canceling activation
+ ( this._trigger( "beforeActivate", event, eventData ) === false ) ) {
+ return;
+ }
+
+ options.active = collapsing ? false : this.tabs.index( tab );
+
+ this.active = clickedIsActive ? $() : tab;
+ if ( this.xhr ) {
+ this.xhr.abort();
+ }
+
+ if ( !toHide.length && !toShow.length ) {
+ $.error( "jQuery UI Tabs: Mismatching fragment identifier." );
+ }
+
+ if ( toShow.length ) {
+ this.load( this.tabs.index( tab ), event );
+ }
+ this._toggle( event, eventData );
+ },
+
+ // handles show/hide for selecting tabs
+ _toggle: function( event, eventData ) {
+ var that = this,
+ toShow = eventData.newPanel,
+ toHide = eventData.oldPanel;
+
+ this.running = true;
+
+ function complete() {
+ that.running = false;
+ that._trigger( "activate", event, eventData );
+ }
+
+ function show() {
+ eventData.newTab.closest( "li" ).addClass( "ui-tabs-active ui-state-active" );
+
+ if ( toShow.length && that.options.show ) {
+ that._show( toShow, that.options.show, complete );
+ } else {
+ toShow.show();
+ complete();
+ }
+ }
+
+ // start out by hiding, then showing, then completing
+ if ( toHide.length && this.options.hide ) {
+ this._hide( toHide, this.options.hide, function() {
+ eventData.oldTab.closest( "li" ).removeClass( "ui-tabs-active ui-state-active" );
+ show();
+ });
+ } else {
+ eventData.oldTab.closest( "li" ).removeClass( "ui-tabs-active ui-state-active" );
+ toHide.hide();
+ show();
+ }
+
+ toHide.attr({
+ "aria-expanded": "false",
+ "aria-hidden": "true"
+ });
+ eventData.oldTab.attr( "aria-selected", "false" );
+ // If we're switching tabs, remove the old tab from the tab order.
+ // If we're opening from collapsed state, remove the previous tab from the tab order.
+ // If we're collapsing, then keep the collapsing tab in the tab order.
+ if ( toShow.length && toHide.length ) {
+ eventData.oldTab.attr( "tabIndex", -1 );
+ } else if ( toShow.length ) {
+ this.tabs.filter(function() {
+ return $( this ).attr( "tabIndex" ) === 0;
+ })
+ .attr( "tabIndex", -1 );
+ }
+
+ toShow.attr({
+ "aria-expanded": "true",
+ "aria-hidden": "false"
+ });
+ eventData.newTab.attr({
+ "aria-selected": "true",
+ tabIndex: 0
+ });
+ },
+
+ _activate: function( index ) {
+ var anchor,
+ active = this._findActive( index );
+
+ // trying to activate the already active panel
+ if ( active[ 0 ] === this.active[ 0 ] ) {
+ return;
+ }
+
+ // trying to collapse, simulate a click on the current active header
+ if ( !active.length ) {
+ active = this.active;
+ }
+
+ anchor = active.find( ".ui-tabs-anchor" )[ 0 ];
+ this._eventHandler({
+ target: anchor,
+ currentTarget: anchor,
+ preventDefault: $.noop
+ });
+ },
+
+ _findActive: function( index ) {
+ return index === false ? $() : this.tabs.eq( index );
+ },
+
+ _getIndex: function( index ) {
+ // meta-function to give users option to provide a href string instead of a numerical index.
+ if ( typeof index === "string" ) {
+ index = this.anchors.index( this.anchors.filter( "[href$='" + index + "']" ) );
+ }
+
+ return index;
+ },
+
+ _destroy: function() {
+ if ( this.xhr ) {
+ this.xhr.abort();
+ }
+
+ this.element.removeClass( "ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible" );
+
+ this.tablist
+ .removeClass( "ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all" )
+ .removeAttr( "role" );
+
+ this.anchors
+ .removeClass( "ui-tabs-anchor" )
+ .removeAttr( "role" )
+ .removeAttr( "tabIndex" )
+ .removeUniqueId();
+
+ this.tabs.add( this.panels ).each(function() {
+ if ( $.data( this, "ui-tabs-destroy" ) ) {
+ $( this ).remove();
+ } else {
+ $( this )
+ .removeClass( "ui-state-default ui-state-active ui-state-disabled " +
+ "ui-corner-top ui-corner-bottom ui-widget-content ui-tabs-active ui-tabs-panel" )
+ .removeAttr( "tabIndex" )
+ .removeAttr( "aria-live" )
+ .removeAttr( "aria-busy" )
+ .removeAttr( "aria-selected" )
+ .removeAttr( "aria-labelledby" )
+ .removeAttr( "aria-hidden" )
+ .removeAttr( "aria-expanded" )
+ .removeAttr( "role" );
+ }
+ });
+
+ this.tabs.each(function() {
+ var li = $( this ),
+ prev = li.data( "ui-tabs-aria-controls" );
+ if ( prev ) {
+ li
+ .attr( "aria-controls", prev )
+ .removeData( "ui-tabs-aria-controls" );
+ } else {
+ li.removeAttr( "aria-controls" );
+ }
+ });
+
+ this.panels.show();
+
+ if ( this.options.heightStyle !== "content" ) {
+ this.panels.css( "height", "" );
+ }
+ },
+
+ enable: function( index ) {
+ var disabled = this.options.disabled;
+ if ( disabled === false ) {
+ return;
+ }
+
+ if ( index === undefined ) {
+ disabled = false;
+ } else {
+ index = this._getIndex( index );
+ if ( $.isArray( disabled ) ) {
+ disabled = $.map( disabled, function( num ) {
+ return num !== index ? num : null;
+ });
+ } else {
+ disabled = $.map( this.tabs, function( li, num ) {
+ return num !== index ? num : null;
+ });
+ }
+ }
+ this._setupDisabled( disabled );
+ },
+
+ disable: function( index ) {
+ var disabled = this.options.disabled;
+ if ( disabled === true ) {
+ return;
+ }
+
+ if ( index === undefined ) {
+ disabled = true;
+ } else {
+ index = this._getIndex( index );
+ if ( $.inArray( index, disabled ) !== -1 ) {
+ return;
+ }
+ if ( $.isArray( disabled ) ) {
+ disabled = $.merge( [ index ], disabled ).sort();
+ } else {
+ disabled = [ index ];
+ }
+ }
+ this._setupDisabled( disabled );
+ },
+
+ load: function( index, event ) {
+ index = this._getIndex( index );
+ var that = this,
+ tab = this.tabs.eq( index ),
+ anchor = tab.find( ".ui-tabs-anchor" ),
+ panel = this._getPanelForTab( tab ),
+ eventData = {
+ tab: tab,
+ panel: panel
+ };
+
+ // not remote
+ if ( isLocal( anchor[ 0 ] ) ) {
+ return;
+ }
+
+ this.xhr = $.ajax( this._ajaxSettings( anchor, event, eventData ) );
+
+ // support: jQuery <1.8
+ // jQuery <1.8 returns false if the request is canceled in beforeSend,
+ // but as of 1.8, $.ajax() always returns a jqXHR object.
+ if ( this.xhr && this.xhr.statusText !== "canceled" ) {
+ tab.addClass( "ui-tabs-loading" );
+ panel.attr( "aria-busy", "true" );
+
+ this.xhr
+ .success(function( response ) {
+ // support: jQuery <1.8
+ // http://bugs.jquery.com/ticket/11778
+ setTimeout(function() {
+ panel.html( response );
+ that._trigger( "load", event, eventData );
+ }, 1 );
+ })
+ .complete(function( jqXHR, status ) {
+ // support: jQuery <1.8
+ // http://bugs.jquery.com/ticket/11778
+ setTimeout(function() {
+ if ( status === "abort" ) {
+ that.panels.stop( false, true );
+ }
+
+ tab.removeClass( "ui-tabs-loading" );
+ panel.removeAttr( "aria-busy" );
+
+ if ( jqXHR === that.xhr ) {
+ delete that.xhr;
+ }
+ }, 1 );
+ });
+ }
+ },
+
+ _ajaxSettings: function( anchor, event, eventData ) {
+ var that = this;
+ return {
+ url: anchor.attr( "href" ),
+ beforeSend: function( jqXHR, settings ) {
+ return that._trigger( "beforeLoad", event,
+ $.extend( { jqXHR : jqXHR, ajaxSettings: settings }, eventData ) );
+ }
+ };
+ },
+
+ _getPanelForTab: function( tab ) {
+ var id = $( tab ).attr( "aria-controls" );
+ return this.element.find( this._sanitizeSelector( "#" + id ) );
+ }
+});
+
+})( jQuery );
+(function( $ ) {
+
+var increments = 0;
+
+function addDescribedBy( elem, id ) {
+ var describedby = (elem.attr( "aria-describedby" ) || "").split( /\s+/ );
+ describedby.push( id );
+ elem
+ .data( "ui-tooltip-id", id )
+ .attr( "aria-describedby", $.trim( describedby.join( " " ) ) );
+}
+
+function removeDescribedBy( elem ) {
+ var id = elem.data( "ui-tooltip-id" ),
+ describedby = (elem.attr( "aria-describedby" ) || "").split( /\s+/ ),
+ index = $.inArray( id, describedby );
+ if ( index !== -1 ) {
+ describedby.splice( index, 1 );
+ }
+
+ elem.removeData( "ui-tooltip-id" );
+ describedby = $.trim( describedby.join( " " ) );
+ if ( describedby ) {
+ elem.attr( "aria-describedby", describedby );
+ } else {
+ elem.removeAttr( "aria-describedby" );
+ }
+}
+
+$.widget( "ui.tooltip", {
+ version: "1.10.0",
+ options: {
+ content: function() {
+ // support: IE<9, Opera in jQuery <1.7
+ // .text() can't accept undefined, so coerce to a string
+ var title = $( this ).attr( "title" ) || "";
+ // Escape title, since we're going from an attribute to raw HTML
+ return $( "<a>" ).text( title ).html();
+ },
+ hide: true,
+ // Disabled elements have inconsistent behavior across browsers (#8661)
+ items: "[title]:not([disabled])",
+ position: {
+ my: "left top+15",
+ at: "left bottom",
+ collision: "flipfit flip"
+ },
+ show: true,
+ tooltipClass: null,
+ track: false,
+
+ // callbacks
+ close: null,
+ open: null
+ },
+
+ _create: function() {
+ this._on({
+ mouseover: "open",
+ focusin: "open"
+ });
+
+ // IDs of generated tooltips, needed for destroy
+ this.tooltips = {};
+ // IDs of parent tooltips where we removed the title attribute
+ this.parents = {};
+
+ if ( this.options.disabled ) {
+ this._disable();
+ }
+ },
+
+ _setOption: function( key, value ) {
+ var that = this;
+
+ if ( key === "disabled" ) {
+ this[ value ? "_disable" : "_enable" ]();
+ this.options[ key ] = value;
+ // disable element style changes
+ return;
+ }
+
+ this._super( key, value );
+
+ if ( key === "content" ) {
+ $.each( this.tooltips, function( id, element ) {
+ that._updateContent( element );
+ });
+ }
+ },
+
+ _disable: function() {
+ var that = this;
+
+ // close open tooltips
+ $.each( this.tooltips, function( id, element ) {
+ var event = $.Event( "blur" );
+ event.target = event.currentTarget = element[0];
+ that.close( event, true );
+ });
+
+ // remove title attributes to prevent native tooltips
+ this.element.find( this.options.items ).addBack().each(function() {
+ var element = $( this );
+ if ( element.is( "[title]" ) ) {
+ element
+ .data( "ui-tooltip-title", element.attr( "title" ) )
+ .attr( "title", "" );
+ }
+ });
+ },
+
+ _enable: function() {
+ // restore title attributes
+ this.element.find( this.options.items ).addBack().each(function() {
+ var element = $( this );
+ if ( element.data( "ui-tooltip-title" ) ) {
+ element.attr( "title", element.data( "ui-tooltip-title" ) );
+ }
+ });
+ },
+
+ open: function( event ) {
+ var that = this,
+ target = $( event ? event.target : this.element )
+ // we need closest here due to mouseover bubbling,
+ // but always pointing at the same event target
+ .closest( this.options.items );
+
+ // No element to show a tooltip for or the tooltip is already open
+ if ( !target.length || target.data( "ui-tooltip-id" ) ) {
+ return;
+ }
+
+ if ( target.attr( "title" ) ) {
+ target.data( "ui-tooltip-title", target.attr( "title" ) );
+ }
+
+ target.data( "ui-tooltip-open", true );
+
+ // kill parent tooltips, custom or native, for hover
+ if ( event && event.type === "mouseover" ) {
+ target.parents().each(function() {
+ var parent = $( this ),
+ blurEvent;
+ if ( parent.data( "ui-tooltip-open" ) ) {
+ blurEvent = $.Event( "blur" );
+ blurEvent.target = blurEvent.currentTarget = this;
+ that.close( blurEvent, true );
+ }
+ if ( parent.attr( "title" ) ) {
+ parent.uniqueId();
+ that.parents[ this.id ] = {
+ element: this,
+ title: parent.attr( "title" )
+ };
+ parent.attr( "title", "" );
+ }
+ });
+ }
+
+ this._updateContent( target, event );
+ },
+
+ _updateContent: function( target, event ) {
+ var content,
+ contentOption = this.options.content,
+ that = this,
+ eventType = event ? event.type : null;
+
+ if ( typeof contentOption === "string" ) {
+ return this._open( event, target, contentOption );
+ }
+
+ content = contentOption.call( target[0], function( response ) {
+ // ignore async response if tooltip was closed already
+ if ( !target.data( "ui-tooltip-open" ) ) {
+ return;
+ }
+ // IE may instantly serve a cached response for ajax requests
+ // delay this call to _open so the other call to _open runs first
+ that._delay(function() {
+ // jQuery creates a special event for focusin when it doesn't
+ // exist natively. To improve performance, the native event
+ // object is reused and the type is changed. Therefore, we can't
+ // rely on the type being correct after the event finished
+ // bubbling, so we set it back to the previous value. (#8740)
+ if ( event ) {
+ event.type = eventType;
+ }
+ this._open( event, target, response );
+ });
+ });
+ if ( content ) {
+ this._open( event, target, content );
+ }
+ },
+
+ _open: function( event, target, content ) {
+ var tooltip, events, delayedShow,
+ positionOption = $.extend( {}, this.options.position );
+
+ if ( !content ) {
+ return;
+ }
+
+ // Content can be updated multiple times. If the tooltip already
+ // exists, then just update the content and bail.
+ tooltip = this._find( target );
+ if ( tooltip.length ) {
+ tooltip.find( ".ui-tooltip-content" ).html( content );
+ return;
+ }
+
+ // if we have a title, clear it to prevent the native tooltip
+ // we have to check first to avoid defining a title if none exists
+ // (we don't want to cause an element to start matching [title])
+ //
+ // We use removeAttr only for key events, to allow IE to export the correct
+ // accessible attributes. For mouse events, set to empty string to avoid
+ // native tooltip showing up (happens only when removing inside mouseover).
+ if ( target.is( "[title]" ) ) {
+ if ( event && event.type === "mouseover" ) {
+ target.attr( "title", "" );
+ } else {
+ target.removeAttr( "title" );
+ }
+ }
+
+ tooltip = this._tooltip( target );
+ addDescribedBy( target, tooltip.attr( "id" ) );
+ tooltip.find( ".ui-tooltip-content" ).html( content );
+
+ function position( event ) {
+ positionOption.of = event;
+ if ( tooltip.is( ":hidden" ) ) {
+ return;
+ }
+ tooltip.position( positionOption );
+ }
+ if ( this.options.track && event && /^mouse/.test( event.type ) ) {
+ this._on( this.document, {
+ mousemove: position
+ });
+ // trigger once to override element-relative positioning
+ position( event );
+ } else {
+ tooltip.position( $.extend({
+ of: target
+ }, this.options.position ) );
+ }
+
+ tooltip.hide();
+
+ this._show( tooltip, this.options.show );
+ // Handle tracking tooltips that are shown with a delay (#8644). As soon
+ // as the tooltip is visible, position the tooltip using the most recent
+ // event.
+ if ( this.options.show && this.options.show.delay ) {
+ delayedShow = this.delayedShow = setInterval(function() {
+ if ( tooltip.is( ":visible" ) ) {
+ position( positionOption.of );
+ clearInterval( delayedShow );
+ }
+ }, $.fx.interval );
+ }
+
+ this._trigger( "open", event, { tooltip: tooltip } );
+
+ events = {
+ keyup: function( event ) {
+ if ( event.keyCode === $.ui.keyCode.ESCAPE ) {
+ var fakeEvent = $.Event(event);
+ fakeEvent.currentTarget = target[0];
+ this.close( fakeEvent, true );
+ }
+ },
+ remove: function() {
+ this._removeTooltip( tooltip );
+ }
+ };
+ if ( !event || event.type === "mouseover" ) {
+ events.mouseleave = "close";
+ }
+ if ( !event || event.type === "focusin" ) {
+ events.focusout = "close";
+ }
+ this._on( true, target, events );
+ },
+
+ close: function( event ) {
+ var that = this,
+ target = $( event ? event.currentTarget : this.element ),
+ tooltip = this._find( target );
+
+ // disabling closes the tooltip, so we need to track when we're closing
+ // to avoid an infinite loop in case the tooltip becomes disabled on close
+ if ( this.closing ) {
+ return;
+ }
+
+ // Clear the interval for delayed tracking tooltips
+ clearInterval( this.delayedShow );
+
+ // only set title if we had one before (see comment in _open())
+ if ( target.data( "ui-tooltip-title" ) ) {
+ target.attr( "title", target.data( "ui-tooltip-title" ) );
+ }
+
+ removeDescribedBy( target );
+
+ tooltip.stop( true );
+ this._hide( tooltip, this.options.hide, function() {
+ that._removeTooltip( $( this ) );
+ });
+
+ target.removeData( "ui-tooltip-open" );
+ this._off( target, "mouseleave focusout keyup" );
+ // Remove 'remove' binding only on delegated targets
+ if ( target[0] !== this.element[0] ) {
+ this._off( target, "remove" );
+ }
+ this._off( this.document, "mousemove" );
+
+ if ( event && event.type === "mouseleave" ) {
+ $.each( this.parents, function( id, parent ) {
+ $( parent.element ).attr( "title", parent.title );
+ delete that.parents[ id ];
+ });
+ }
+
+ this.closing = true;
+ this._trigger( "close", event, { tooltip: tooltip } );
+ this.closing = false;
+ },
+
+ _tooltip: function( element ) {
+ var id = "ui-tooltip-" + increments++,
+ tooltip = $( "<div>" )
+ .attr({
+ id: id,
+ role: "tooltip"
+ })
+ .addClass( "ui-tooltip ui-widget ui-corner-all ui-widget-content " +
+ ( this.options.tooltipClass || "" ) );
+ $( "<div>" )
+ .addClass( "ui-tooltip-content" )
+ .appendTo( tooltip );
+ tooltip.appendTo( this.document[0].body );
+ this.tooltips[ id ] = element;
+ return tooltip;
+ },
+
+ _find: function( target ) {
+ var id = target.data( "ui-tooltip-id" );
+ return id ? $( "#" + id ) : $();
+ },
+
+ _removeTooltip: function( tooltip ) {
+ tooltip.remove();
+ delete this.tooltips[ tooltip.attr( "id" ) ];
+ },
+
+ _destroy: function() {
+ var that = this;
+
+ // close open tooltips
+ $.each( this.tooltips, function( id, element ) {
+ // Delegate to close method to handle common cleanup
+ var event = $.Event( "blur" );
+ event.target = event.currentTarget = element[0];
+ that.close( event, true );
+
+ // Remove immediately; destroying an open tooltip doesn't use the
+ // hide animation
+ $( "#" + id ).remove();
+
+ // Restore the title
+ if ( element.data( "ui-tooltip-title" ) ) {
+ element.attr( "title", element.data( "ui-tooltip-title" ) );
+ element.removeData( "ui-tooltip-title" );
+ }
+ });
+ }
+});
+
+}( jQuery ) );
+;(jQuery.effects || (function($, undefined) {
+
+var dataSpace = "ui-effects-";
+
+$.effects = {
+ effect: {}
+};
+
+/*!
+ * jQuery Color Animations v2.1.2
+ * https://github.com/jquery/jquery-color
+ *
+ * Copyright 2013 jQuery Foundation and other contributors
+ * Released under the MIT license.
+ * http://jquery.org/license
+ *
+ * Date: Wed Jan 16 08:47:09 2013 -0600
+ */
+(function( jQuery, undefined ) {
+
+ var stepHooks = "backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor",
+
+ // plusequals test for += 100 -= 100
+ rplusequals = /^([\-+])=\s*(\d+\.?\d*)/,
+ // a set of RE's that can match strings and generate color tuples.
+ stringParsers = [{
+ re: /rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,
+ parse: function( execResult ) {
+ return [
+ execResult[ 1 ],
+ execResult[ 2 ],
+ execResult[ 3 ],
+ execResult[ 4 ]
+ ];
+ }
+ }, {
+ re: /rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,
+ parse: function( execResult ) {
+ return [
+ execResult[ 1 ] * 2.55,
+ execResult[ 2 ] * 2.55,
+ execResult[ 3 ] * 2.55,
+ execResult[ 4 ]
+ ];
+ }
+ }, {
+ // this regex ignores A-F because it's compared against an already lowercased string
+ re: /#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/,
+ parse: function( execResult ) {
+ return [
+ parseInt( execResult[ 1 ], 16 ),
+ parseInt( execResult[ 2 ], 16 ),
+ parseInt( execResult[ 3 ], 16 )
+ ];
+ }
+ }, {
+ // this regex ignores A-F because it's compared against an already lowercased string
+ re: /#([a-f0-9])([a-f0-9])([a-f0-9])/,
+ parse: function( execResult ) {
+ return [
+ parseInt( execResult[ 1 ] + execResult[ 1 ], 16 ),
+ parseInt( execResult[ 2 ] + execResult[ 2 ], 16 ),
+ parseInt( execResult[ 3 ] + execResult[ 3 ], 16 )
+ ];
+ }
+ }, {
+ re: /hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,
+ space: "hsla",
+ parse: function( execResult ) {
+ return [
+ execResult[ 1 ],
+ execResult[ 2 ] / 100,
+ execResult[ 3 ] / 100,
+ execResult[ 4 ]
+ ];
+ }
+ }],
+
+ // jQuery.Color( )
+ color = jQuery.Color = function( color, green, blue, alpha ) {
+ return new jQuery.Color.fn.parse( color, green, blue, alpha );
+ },
+ spaces = {
+ rgba: {
+ props: {
+ red: {
+ idx: 0,
+ type: "byte"
+ },
+ green: {
+ idx: 1,
+ type: "byte"
+ },
+ blue: {
+ idx: 2,
+ type: "byte"
+ }
+ }
+ },
+
+ hsla: {
+ props: {
+ hue: {
+ idx: 0,
+ type: "degrees"
+ },
+ saturation: {
+ idx: 1,
+ type: "percent"
+ },
+ lightness: {
+ idx: 2,
+ type: "percent"
+ }
+ }
+ }
+ },
+ propTypes = {
+ "byte": {
+ floor: true,
+ max: 255
+ },
+ "percent": {
+ max: 1
+ },
+ "degrees": {
+ mod: 360,
+ floor: true
+ }
+ },
+ support = color.support = {},
+
+ // element for support tests
+ supportElem = jQuery( "<p>" )[ 0 ],
+
+ // colors = jQuery.Color.names
+ colors,
+
+ // local aliases of functions called often
+ each = jQuery.each;
+
+// determine rgba support immediately
+supportElem.style.cssText = "background-color:rgba(1,1,1,.5)";
+support.rgba = supportElem.style.backgroundColor.indexOf( "rgba" ) > -1;
+
+// define cache name and alpha properties
+// for rgba and hsla spaces
+each( spaces, function( spaceName, space ) {
+ space.cache = "_" + spaceName;
+ space.props.alpha = {
+ idx: 3,
+ type: "percent",
+ def: 1
+ };
+});
+
+function clamp( value, prop, allowEmpty ) {
+ var type = propTypes[ prop.type ] || {};
+
+ if ( value == null ) {
+ return (allowEmpty || !prop.def) ? null : prop.def;
+ }
+
+ // ~~ is an short way of doing floor for positive numbers
+ value = type.floor ? ~~value : parseFloat( value );
+
+ // IE will pass in empty strings as value for alpha,
+ // which will hit this case
+ if ( isNaN( value ) ) {
+ return prop.def;
+ }
+
+ if ( type.mod ) {
+ // we add mod before modding to make sure that negatives values
+ // get converted properly: -10 -> 350
+ return (value + type.mod) % type.mod;
+ }
+
+ // for now all property types without mod have min and max
+ return 0 > value ? 0 : type.max < value ? type.max : value;
+}
+
+function stringParse( string ) {
+ var inst = color(),
+ rgba = inst._rgba = [];
+
+ string = string.toLowerCase();
+
+ each( stringParsers, function( i, parser ) {
+ var parsed,
+ match = parser.re.exec( string ),
+ values = match && parser.parse( match ),
+ spaceName = parser.space || "rgba";
+
+ if ( values ) {
+ parsed = inst[ spaceName ]( values );
+
+ // if this was an rgba parse the assignment might happen twice
+ // oh well....
+ inst[ spaces[ spaceName ].cache ] = parsed[ spaces[ spaceName ].cache ];
+ rgba = inst._rgba = parsed._rgba;
+
+ // exit each( stringParsers ) here because we matched
+ return false;
+ }
+ });
+
+ // Found a stringParser that handled it
+ if ( rgba.length ) {
+
+ // if this came from a parsed string, force "transparent" when alpha is 0
+ // chrome, (and maybe others) return "transparent" as rgba(0,0,0,0)
+ if ( rgba.join() === "0,0,0,0" ) {
+ jQuery.extend( rgba, colors.transparent );
+ }
+ return inst;
+ }
+
+ // named colors
+ return colors[ string ];
+}
+
+color.fn = jQuery.extend( color.prototype, {
+ parse: function( red, green, blue, alpha ) {
+ if ( red === undefined ) {
+ this._rgba = [ null, null, null, null ];
+ return this;
+ }
+ if ( red.jquery || red.nodeType ) {
+ red = jQuery( red ).css( green );
+ green = undefined;
+ }
+
+ var inst = this,
+ type = jQuery.type( red ),
+ rgba = this._rgba = [];
+
+ // more than 1 argument specified - assume ( red, green, blue, alpha )
+ if ( green !== undefined ) {
+ red = [ red, green, blue, alpha ];
+ type = "array";
+ }
+
+ if ( type === "string" ) {
+ return this.parse( stringParse( red ) || colors._default );
+ }
+
+ if ( type === "array" ) {
+ each( spaces.rgba.props, function( key, prop ) {
+ rgba[ prop.idx ] = clamp( red[ prop.idx ], prop );
+ });
+ return this;
+ }
+
+ if ( type === "object" ) {
+ if ( red instanceof color ) {
+ each( spaces, function( spaceName, space ) {
+ if ( red[ space.cache ] ) {
+ inst[ space.cache ] = red[ space.cache ].slice();
+ }
+ });
+ } else {
+ each( spaces, function( spaceName, space ) {
+ var cache = space.cache;
+ each( space.props, function( key, prop ) {
+
+ // if the cache doesn't exist, and we know how to convert
+ if ( !inst[ cache ] && space.to ) {
+
+ // if the value was null, we don't need to copy it
+ // if the key was alpha, we don't need to copy it either
+ if ( key === "alpha" || red[ key ] == null ) {
+ return;
+ }
+ inst[ cache ] = space.to( inst._rgba );
+ }
+
+ // this is the only case where we allow nulls for ALL properties.
+ // call clamp with alwaysAllowEmpty
+ inst[ cache ][ prop.idx ] = clamp( red[ key ], prop, true );
+ });
+
+ // everything defined but alpha?
+ if ( inst[ cache ] && jQuery.inArray( null, inst[ cache ].slice( 0, 3 ) ) < 0 ) {
+ // use the default of 1
+ inst[ cache ][ 3 ] = 1;
+ if ( space.from ) {
+ inst._rgba = space.from( inst[ cache ] );
+ }
+ }
+ });
+ }
+ return this;
+ }
+ },
+ is: function( compare ) {
+ var is = color( compare ),
+ same = true,
+ inst = this;
+
+ each( spaces, function( _, space ) {
+ var localCache,
+ isCache = is[ space.cache ];
+ if (isCache) {
+ localCache = inst[ space.cache ] || space.to && space.to( inst._rgba ) || [];
+ each( space.props, function( _, prop ) {
+ if ( isCache[ prop.idx ] != null ) {
+ same = ( isCache[ prop.idx ] === localCache[ prop.idx ] );
+ return same;
+ }
+ });
+ }
+ return same;
+ });
+ return same;
+ },
+ _space: function() {
+ var used = [],
+ inst = this;
+ each( spaces, function( spaceName, space ) {
+ if ( inst[ space.cache ] ) {
+ used.push( spaceName );
+ }
+ });
+ return used.pop();
+ },
+ transition: function( other, distance ) {
+ var end = color( other ),
+ spaceName = end._space(),
+ space = spaces[ spaceName ],
+ startColor = this.alpha() === 0 ? color( "transparent" ) : this,
+ start = startColor[ space.cache ] || space.to( startColor._rgba ),
+ result = start.slice();
+
+ end = end[ space.cache ];
+ each( space.props, function( key, prop ) {
+ var index = prop.idx,
+ startValue = start[ index ],
+ endValue = end[ index ],
+ type = propTypes[ prop.type ] || {};
+
+ // if null, don't override start value
+ if ( endValue === null ) {
+ return;
+ }
+ // if null - use end
+ if ( startValue === null ) {
+ result[ index ] = endValue;
+ } else {
+ if ( type.mod ) {
+ if ( endValue - startValue > type.mod / 2 ) {
+ startValue += type.mod;
+ } else if ( startValue - endValue > type.mod / 2 ) {
+ startValue -= type.mod;
+ }
+ }
+ result[ index ] = clamp( ( endValue - startValue ) * distance + startValue, prop );
+ }
+ });
+ return this[ spaceName ]( result );
+ },
+ blend: function( opaque ) {
+ // if we are already opaque - return ourself
+ if ( this._rgba[ 3 ] === 1 ) {
+ return this;
+ }
+
+ var rgb = this._rgba.slice(),
+ a = rgb.pop(),
+ blend = color( opaque )._rgba;
+
+ return color( jQuery.map( rgb, function( v, i ) {
+ return ( 1 - a ) * blend[ i ] + a * v;
+ }));
+ },
+ toRgbaString: function() {
+ var prefix = "rgba(",
+ rgba = jQuery.map( this._rgba, function( v, i ) {
+ return v == null ? ( i > 2 ? 1 : 0 ) : v;
+ });
+
+ if ( rgba[ 3 ] === 1 ) {
+ rgba.pop();
+ prefix = "rgb(";
+ }
+
+ return prefix + rgba.join() + ")";
+ },
+ toHslaString: function() {
+ var prefix = "hsla(",
+ hsla = jQuery.map( this.hsla(), function( v, i ) {
+ if ( v == null ) {
+ v = i > 2 ? 1 : 0;
+ }
+
+ // catch 1 and 2
+ if ( i && i < 3 ) {
+ v = Math.round( v * 100 ) + "%";
+ }
+ return v;
+ });
+
+ if ( hsla[ 3 ] === 1 ) {
+ hsla.pop();
+ prefix = "hsl(";
+ }
+ return prefix + hsla.join() + ")";
+ },
+ toHexString: function( includeAlpha ) {
+ var rgba = this._rgba.slice(),
+ alpha = rgba.pop();
+
+ if ( includeAlpha ) {
+ rgba.push( ~~( alpha * 255 ) );
+ }
+
+ return "#" + jQuery.map( rgba, function( v ) {
+
+ // default to 0 when nulls exist
+ v = ( v || 0 ).toString( 16 );
+ return v.length === 1 ? "0" + v : v;
+ }).join("");
+ },
+ toString: function() {
+ return this._rgba[ 3 ] === 0 ? "transparent" : this.toRgbaString();
+ }
+});
+color.fn.parse.prototype = color.fn;
+
+// hsla conversions adapted from:
+// https://code.google.com/p/maashaack/source/browse/packages/graphics/trunk/src/graphics/colors/HUE2RGB.as?r=5021
+
+function hue2rgb( p, q, h ) {
+ h = ( h + 1 ) % 1;
+ if ( h * 6 < 1 ) {
+ return p + (q - p) * h * 6;
+ }
+ if ( h * 2 < 1) {
+ return q;
+ }
+ if ( h * 3 < 2 ) {
+ return p + (q - p) * ((2/3) - h) * 6;
+ }
+ return p;
+}
+
+spaces.hsla.to = function ( rgba ) {
+ if ( rgba[ 0 ] == null || rgba[ 1 ] == null || rgba[ 2 ] == null ) {
+ return [ null, null, null, rgba[ 3 ] ];
+ }
+ var r = rgba[ 0 ] / 255,
+ g = rgba[ 1 ] / 255,
+ b = rgba[ 2 ] / 255,
+ a = rgba[ 3 ],
+ max = Math.max( r, g, b ),
+ min = Math.min( r, g, b ),
+ diff = max - min,
+ add = max + min,
+ l = add * 0.5,
+ h, s;
+
+ if ( min === max ) {
+ h = 0;
+ } else if ( r === max ) {
+ h = ( 60 * ( g - b ) / diff ) + 360;
+ } else if ( g === max ) {
+ h = ( 60 * ( b - r ) / diff ) + 120;
+ } else {
+ h = ( 60 * ( r - g ) / diff ) + 240;
+ }
+
+ // chroma (diff) == 0 means greyscale which, by definition, saturation = 0%
+ // otherwise, saturation is based on the ratio of chroma (diff) to lightness (add)
+ if ( diff === 0 ) {
+ s = 0;
+ } else if ( l <= 0.5 ) {
+ s = diff / add;
+ } else {
+ s = diff / ( 2 - add );
+ }
+ return [ Math.round(h) % 360, s, l, a == null ? 1 : a ];
+};
+
+spaces.hsla.from = function ( hsla ) {
+ if ( hsla[ 0 ] == null || hsla[ 1 ] == null || hsla[ 2 ] == null ) {
+ return [ null, null, null, hsla[ 3 ] ];
+ }
+ var h = hsla[ 0 ] / 360,
+ s = hsla[ 1 ],
+ l = hsla[ 2 ],
+ a = hsla[ 3 ],
+ q = l <= 0.5 ? l * ( 1 + s ) : l + s - l * s,
+ p = 2 * l - q;
+
+ return [
+ Math.round( hue2rgb( p, q, h + ( 1 / 3 ) ) * 255 ),
+ Math.round( hue2rgb( p, q, h ) * 255 ),
+ Math.round( hue2rgb( p, q, h - ( 1 / 3 ) ) * 255 ),
+ a
+ ];
+};
+
+
+each( spaces, function( spaceName, space ) {
+ var props = space.props,
+ cache = space.cache,
+ to = space.to,
+ from = space.from;
+
+ // makes rgba() and hsla()
+ color.fn[ spaceName ] = function( value ) {
+
+ // generate a cache for this space if it doesn't exist
+ if ( to && !this[ cache ] ) {
+ this[ cache ] = to( this._rgba );
+ }
+ if ( value === undefined ) {
+ return this[ cache ].slice();
+ }
+
+ var ret,
+ type = jQuery.type( value ),
+ arr = ( type === "array" || type === "object" ) ? value : arguments,
+ local = this[ cache ].slice();
+
+ each( props, function( key, prop ) {
+ var val = arr[ type === "object" ? key : prop.idx ];
+ if ( val == null ) {
+ val = local[ prop.idx ];
+ }
+ local[ prop.idx ] = clamp( val, prop );
+ });
+
+ if ( from ) {
+ ret = color( from( local ) );
+ ret[ cache ] = local;
+ return ret;
+ } else {
+ return color( local );
+ }
+ };
+
+ // makes red() green() blue() alpha() hue() saturation() lightness()
+ each( props, function( key, prop ) {
+ // alpha is included in more than one space
+ if ( color.fn[ key ] ) {
+ return;
+ }
+ color.fn[ key ] = function( value ) {
+ var vtype = jQuery.type( value ),
+ fn = ( key === "alpha" ? ( this._hsla ? "hsla" : "rgba" ) : spaceName ),
+ local = this[ fn ](),
+ cur = local[ prop.idx ],
+ match;
+
+ if ( vtype === "undefined" ) {
+ return cur;
+ }
+
+ if ( vtype === "function" ) {
+ value = value.call( this, cur );
+ vtype = jQuery.type( value );
+ }
+ if ( value == null && prop.empty ) {
+ return this;
+ }
+ if ( vtype === "string" ) {
+ match = rplusequals.exec( value );
+ if ( match ) {
+ value = cur + parseFloat( match[ 2 ] ) * ( match[ 1 ] === "+" ? 1 : -1 );
+ }
+ }
+ local[ prop.idx ] = value;
+ return this[ fn ]( local );
+ };
+ });
+});
+
+// add cssHook and .fx.step function for each named hook.
+// accept a space separated string of properties
+color.hook = function( hook ) {
+ var hooks = hook.split( " " );
+ each( hooks, function( i, hook ) {
+ jQuery.cssHooks[ hook ] = {
+ set: function( elem, value ) {
+ var parsed, curElem,
+ backgroundColor = "";
+
+ if ( value !== "transparent" && ( jQuery.type( value ) !== "string" || ( parsed = stringParse( value ) ) ) ) {
+ value = color( parsed || value );
+ if ( !support.rgba && value._rgba[ 3 ] !== 1 ) {
+ curElem = hook === "backgroundColor" ? elem.parentNode : elem;
+ while (
+ (backgroundColor === "" || backgroundColor === "transparent") &&
+ curElem && curElem.style
+ ) {
+ try {
+ backgroundColor = jQuery.css( curElem, "backgroundColor" );
+ curElem = curElem.parentNode;
+ } catch ( e ) {
+ }
+ }
+
+ value = value.blend( backgroundColor && backgroundColor !== "transparent" ?
+ backgroundColor :
+ "_default" );
+ }
+
+ value = value.toRgbaString();
+ }
+ try {
+ elem.style[ hook ] = value;
+ } catch( e ) {
+ // wrapped to prevent IE from throwing errors on "invalid" values like 'auto' or 'inherit'
+ }
+ }
+ };
+ jQuery.fx.step[ hook ] = function( fx ) {
+ if ( !fx.colorInit ) {
+ fx.start = color( fx.elem, hook );
+ fx.end = color( fx.end );
+ fx.colorInit = true;
+ }
+ jQuery.cssHooks[ hook ].set( fx.elem, fx.start.transition( fx.end, fx.pos ) );
+ };
+ });
+
+};
+
+color.hook( stepHooks );
+
+jQuery.cssHooks.borderColor = {
+ expand: function( value ) {
+ var expanded = {};
+
+ each( [ "Top", "Right", "Bottom", "Left" ], function( i, part ) {
+ expanded[ "border" + part + "Color" ] = value;
+ });
+ return expanded;
+ }
+};
+
+// Basic color names only.
+// Usage of any of the other color names requires adding yourself or including
+// jquery.color.svg-names.js.
+colors = jQuery.Color.names = {
+ // 4.1. Basic color keywords
+ aqua: "#00ffff",
+ black: "#000000",
+ blue: "#0000ff",
+ fuchsia: "#ff00ff",
+ gray: "#808080",
+ green: "#008000",
+ lime: "#00ff00",
+ maroon: "#800000",
+ navy: "#000080",
+ olive: "#808000",
+ purple: "#800080",
+ red: "#ff0000",
+ silver: "#c0c0c0",
+ teal: "#008080",
+ white: "#ffffff",
+ yellow: "#ffff00",
+
+ // 4.2.3. "transparent" color keyword
+ transparent: [ null, null, null, 0 ],
+
+ _default: "#ffffff"
+};
+
+})( jQuery );
+
+
+/******************************************************************************/
+/****************************** CLASS ANIMATIONS ******************************/
+/******************************************************************************/
+(function() {
+
+var classAnimationActions = [ "add", "remove", "toggle" ],
+ shorthandStyles = {
+ border: 1,
+ borderBottom: 1,
+ borderColor: 1,
+ borderLeft: 1,
+ borderRight: 1,
+ borderTop: 1,
+ borderWidth: 1,
+ margin: 1,
+ padding: 1
+ };
+
+$.each([ "borderLeftStyle", "borderRightStyle", "borderBottomStyle", "borderTopStyle" ], function( _, prop ) {
+ $.fx.step[ prop ] = function( fx ) {
+ if ( fx.end !== "none" && !fx.setAttr || fx.pos === 1 && !fx.setAttr ) {
+ jQuery.style( fx.elem, prop, fx.end );
+ fx.setAttr = true;
+ }
+ };
+});
+
+function getElementStyles( elem ) {
+ var key, len,
+ style = elem.ownerDocument.defaultView ?
+ elem.ownerDocument.defaultView.getComputedStyle( elem, null ) :
+ elem.currentStyle,
+ styles = {};
+
+ if ( style && style.length && style[ 0 ] && style[ style[ 0 ] ] ) {
+ len = style.length;
+ while ( len-- ) {
+ key = style[ len ];
+ if ( typeof style[ key ] === "string" ) {
+ styles[ $.camelCase( key ) ] = style[ key ];
+ }
+ }
+ // support: Opera, IE <9
+ } else {
+ for ( key in style ) {
+ if ( typeof style[ key ] === "string" ) {
+ styles[ key ] = style[ key ];
+ }
+ }
+ }
+
+ return styles;
+}
+
+
+function styleDifference( oldStyle, newStyle ) {
+ var diff = {},
+ name, value;
+
+ for ( name in newStyle ) {
+ value = newStyle[ name ];
+ if ( oldStyle[ name ] !== value ) {
+ if ( !shorthandStyles[ name ] ) {
+ if ( $.fx.step[ name ] || !isNaN( parseFloat( value ) ) ) {
+ diff[ name ] = value;
+ }
+ }
+ }
+ }
+
+ return diff;
+}
+
+// support: jQuery <1.8
+if ( !$.fn.addBack ) {
+ $.fn.addBack = function( selector ) {
+ return this.add( selector == null ?
+ this.prevObject : this.prevObject.filter( selector )
+ );
+ };
+}
+
+$.effects.animateClass = function( value, duration, easing, callback ) {
+ var o = $.speed( duration, easing, callback );
+
+ return this.queue( function() {
+ var animated = $( this ),
+ baseClass = animated.attr( "class" ) || "",
+ applyClassChange,
+ allAnimations = o.children ? animated.find( "*" ).addBack() : animated;
+
+ // map the animated objects to store the original styles.
+ allAnimations = allAnimations.map(function() {
+ var el = $( this );
+ return {
+ el: el,
+ start: getElementStyles( this )
+ };
+ });
+
+ // apply class change
+ applyClassChange = function() {
+ $.each( classAnimationActions, function(i, action) {
+ if ( value[ action ] ) {
+ animated[ action + "Class" ]( value[ action ] );
+ }
+ });
+ };
+ applyClassChange();
+
+ // map all animated objects again - calculate new styles and diff
+ allAnimations = allAnimations.map(function() {
+ this.end = getElementStyles( this.el[ 0 ] );
+ this.diff = styleDifference( this.start, this.end );
+ return this;
+ });
+
+ // apply original class
+ animated.attr( "class", baseClass );
+
+ // map all animated objects again - this time collecting a promise
+ allAnimations = allAnimations.map(function() {
+ var styleInfo = this,
+ dfd = $.Deferred(),
+ opts = $.extend({}, o, {
+ queue: false,
+ complete: function() {
+ dfd.resolve( styleInfo );
+ }
+ });
+
+ this.el.animate( this.diff, opts );
+ return dfd.promise();
+ });
+
+ // once all animations have completed:
+ $.when.apply( $, allAnimations.get() ).done(function() {
+
+ // set the final class
+ applyClassChange();
+
+ // for each animated element,
+ // clear all css properties that were animated
+ $.each( arguments, function() {
+ var el = this.el;
+ $.each( this.diff, function(key) {
+ el.css( key, "" );
+ });
+ });
+
+ // this is guarnteed to be there if you use jQuery.speed()
+ // it also handles dequeuing the next anim...
+ o.complete.call( animated[ 0 ] );
+ });
+ });
+};
+
+$.fn.extend({
+ _addClass: $.fn.addClass,
+ addClass: function( classNames, speed, easing, callback ) {
+ return speed ?
+ $.effects.animateClass.call( this,
+ { add: classNames }, speed, easing, callback ) :
+ this._addClass( classNames );
+ },
+
+ _removeClass: $.fn.removeClass,
+ removeClass: function( classNames, speed, easing, callback ) {
+ return speed ?
+ $.effects.animateClass.call( this,
+ { remove: classNames }, speed, easing, callback ) :
+ this._removeClass( classNames );
+ },
+
+ _toggleClass: $.fn.toggleClass,
+ toggleClass: function( classNames, force, speed, easing, callback ) {
+ if ( typeof force === "boolean" || force === undefined ) {
+ if ( !speed ) {
+ // without speed parameter
+ return this._toggleClass( classNames, force );
+ } else {
+ return $.effects.animateClass.call( this,
+ (force ? { add: classNames } : { remove: classNames }),
+ speed, easing, callback );
+ }
+ } else {
+ // without force parameter
+ return $.effects.animateClass.call( this,
+ { toggle: classNames }, force, speed, easing );
+ }
+ },
+
+ switchClass: function( remove, add, speed, easing, callback) {
+ return $.effects.animateClass.call( this, {
+ add: add,
+ remove: remove
+ }, speed, easing, callback );
+ }
+});
+
+})();
+
+/******************************************************************************/
+/*********************************** EFFECTS **********************************/
+/******************************************************************************/
+
+(function() {
+
+$.extend( $.effects, {
+ version: "1.10.0",
+
+ // Saves a set of properties in a data storage
+ save: function( element, set ) {
+ for( var i=0; i < set.length; i++ ) {
+ if ( set[ i ] !== null ) {
+ element.data( dataSpace + set[ i ], element[ 0 ].style[ set[ i ] ] );
+ }
+ }
+ },
+
+ // Restores a set of previously saved properties from a data storage
+ restore: function( element, set ) {
+ var val, i;
+ for( i=0; i < set.length; i++ ) {
+ if ( set[ i ] !== null ) {
+ val = element.data( dataSpace + set[ i ] );
+ // support: jQuery 1.6.2
+ // http://bugs.jquery.com/ticket/9917
+ // jQuery 1.6.2 incorrectly returns undefined for any falsy value.
+ // We can't differentiate between "" and 0 here, so we just assume
+ // empty string since it's likely to be a more common value...
+ if ( val === undefined ) {
+ val = "";
+ }
+ element.css( set[ i ], val );
+ }
+ }
+ },
+
+ setMode: function( el, mode ) {
+ if (mode === "toggle") {
+ mode = el.is( ":hidden" ) ? "show" : "hide";
+ }
+ return mode;
+ },
+
+ // Translates a [top,left] array into a baseline value
+ // this should be a little more flexible in the future to handle a string & hash
+ getBaseline: function( origin, original ) {
+ var y, x;
+ switch ( origin[ 0 ] ) {
+ case "top": y = 0; break;
+ case "middle": y = 0.5; break;
+ case "bottom": y = 1; break;
+ default: y = origin[ 0 ] / original.height;
+ }
+ switch ( origin[ 1 ] ) {
+ case "left": x = 0; break;
+ case "center": x = 0.5; break;
+ case "right": x = 1; break;
+ default: x = origin[ 1 ] / original.width;
+ }
+ return {
+ x: x,
+ y: y
+ };
+ },
+
+ // Wraps the element around a wrapper that copies position properties
+ createWrapper: function( element ) {
+
+ // if the element is already wrapped, return it
+ if ( element.parent().is( ".ui-effects-wrapper" )) {
+ return element.parent();
+ }
+
+ // wrap the element
+ var props = {
+ width: element.outerWidth(true),
+ height: element.outerHeight(true),
+ "float": element.css( "float" )
+ },
+ wrapper = $( "<div></div>" )
+ .addClass( "ui-effects-wrapper" )
+ .css({
+ fontSize: "100%",
+ background: "transparent",
+ border: "none",
+ margin: 0,
+ padding: 0
+ }),
+ // Store the size in case width/height are defined in % - Fixes #5245
+ size = {
+ width: element.width(),
+ height: element.height()
+ },
+ active = document.activeElement;
+
+ // support: Firefox
+ // Firefox incorrectly exposes anonymous content
+ // https://bugzilla.mozilla.org/show_bug.cgi?id=561664
+ try {
+ active.id;
+ } catch( e ) {
+ active = document.body;
+ }
+
+ element.wrap( wrapper );
+
+ // Fixes #7595 - Elements lose focus when wrapped.
+ if ( element[ 0 ] === active || $.contains( element[ 0 ], active ) ) {
+ $( active ).focus();
+ }
+
+ wrapper = element.parent(); //Hotfix for jQuery 1.4 since some change in wrap() seems to actually lose the reference to the wrapped element
+
+ // transfer positioning properties to the wrapper
+ if ( element.css( "position" ) === "static" ) {
+ wrapper.css({ position: "relative" });
+ element.css({ position: "relative" });
+ } else {
+ $.extend( props, {
+ position: element.css( "position" ),
+ zIndex: element.css( "z-index" )
+ });
+ $.each([ "top", "left", "bottom", "right" ], function(i, pos) {
+ props[ pos ] = element.css( pos );
+ if ( isNaN( parseInt( props[ pos ], 10 ) ) ) {
+ props[ pos ] = "auto";
+ }
+ });
+ element.css({
+ position: "relative",
+ top: 0,
+ left: 0,
+ right: "auto",
+ bottom: "auto"
+ });
+ }
+ element.css(size);
+
+ return wrapper.css( props ).show();
+ },
+
+ removeWrapper: function( element ) {
+ var active = document.activeElement;
+
+ if ( element.parent().is( ".ui-effects-wrapper" ) ) {
+ element.parent().replaceWith( element );
+
+ // Fixes #7595 - Elements lose focus when wrapped.
+ if ( element[ 0 ] === active || $.contains( element[ 0 ], active ) ) {
+ $( active ).focus();
+ }
+ }
+
+
+ return element;
+ },
+
+ setTransition: function( element, list, factor, value ) {
+ value = value || {};
+ $.each( list, function( i, x ) {
+ var unit = element.cssUnit( x );
+ if ( unit[ 0 ] > 0 ) {
+ value[ x ] = unit[ 0 ] * factor + unit[ 1 ];
+ }
+ });
+ return value;
+ }
+});
+
+// return an effect options object for the given parameters:
+function _normalizeArguments( effect, options, speed, callback ) {
+
+ // allow passing all options as the first parameter
+ if ( $.isPlainObject( effect ) ) {
+ options = effect;
+ effect = effect.effect;
+ }
+
+ // convert to an object
+ effect = { effect: effect };
+
+ // catch (effect, null, ...)
+ if ( options == null ) {
+ options = {};
+ }
+
+ // catch (effect, callback)
+ if ( $.isFunction( options ) ) {
+ callback = options;
+ speed = null;
+ options = {};
+ }
+
+ // catch (effect, speed, ?)
+ if ( typeof options === "number" || $.fx.speeds[ options ] ) {
+ callback = speed;
+ speed = options;
+ options = {};
+ }
+
+ // catch (effect, options, callback)
+ if ( $.isFunction( speed ) ) {
+ callback = speed;
+ speed = null;
+ }
+
+ // add options to effect
+ if ( options ) {
+ $.extend( effect, options );
+ }
+
+ speed = speed || options.duration;
+ effect.duration = $.fx.off ? 0 :
+ typeof speed === "number" ? speed :
+ speed in $.fx.speeds ? $.fx.speeds[ speed ] :
+ $.fx.speeds._default;
+
+ effect.complete = callback || options.complete;
+
+ return effect;
+}
+
+function standardSpeed( speed ) {
+ // valid standard speeds
+ if ( !speed || typeof speed === "number" || $.fx.speeds[ speed ] ) {
+ return true;
+ }
+
+ // invalid strings - treat as "normal" speed
+ return typeof speed === "string" && !$.effects.effect[ speed ];
+}
+
+$.fn.extend({
+ effect: function( /* effect, options, speed, callback */ ) {
+ var args = _normalizeArguments.apply( this, arguments ),
+ mode = args.mode,
+ queue = args.queue,
+ effectMethod = $.effects.effect[ args.effect ];
+
+ if ( $.fx.off || !effectMethod ) {
+ // delegate to the original method (e.g., .show()) if possible
+ if ( mode ) {
+ return this[ mode ]( args.duration, args.complete );
+ } else {
+ return this.each( function() {
+ if ( args.complete ) {
+ args.complete.call( this );
+ }
+ });
+ }
+ }
+
+ function run( next ) {
+ var elem = $( this ),
+ complete = args.complete,
+ mode = args.mode;
+
+ function done() {
+ if ( $.isFunction( complete ) ) {
+ complete.call( elem[0] );
+ }
+ if ( $.isFunction( next ) ) {
+ next();
+ }
+ }
+
+ // if the element is hiddden and mode is hide,
+ // or element is visible and mode is show
+ if ( elem.is( ":hidden" ) ? mode === "hide" : mode === "show" ) {
+ done();
+ } else {
+ effectMethod.call( elem[0], args, done );
+ }
+ }
+
+ return queue === false ? this.each( run ) : this.queue( queue || "fx", run );
+ },
+
+ _show: $.fn.show,
+ show: function( speed ) {
+ if ( standardSpeed( speed ) ) {
+ return this._show.apply( this, arguments );
+ } else {
+ var args = _normalizeArguments.apply( this, arguments );
+ args.mode = "show";
+ return this.effect.call( this, args );
+ }
+ },
+
+ _hide: $.fn.hide,
+ hide: function( speed ) {
+ if ( standardSpeed( speed ) ) {
+ return this._hide.apply( this, arguments );
+ } else {
+ var args = _normalizeArguments.apply( this, arguments );
+ args.mode = "hide";
+ return this.effect.call( this, args );
+ }
+ },
+
+ // jQuery core overloads toggle and creates _toggle
+ __toggle: $.fn.toggle,
+ toggle: function( speed ) {
+ if ( standardSpeed( speed ) || typeof speed === "boolean" || $.isFunction( speed ) ) {
+ return this.__toggle.apply( this, arguments );
+ } else {
+ var args = _normalizeArguments.apply( this, arguments );
+ args.mode = "toggle";
+ return this.effect.call( this, args );
+ }
+ },
+
+ // helper functions
+ cssUnit: function(key) {
+ var style = this.css( key ),
+ val = [];
+
+ $.each( [ "em", "px", "%", "pt" ], function( i, unit ) {
+ if ( style.indexOf( unit ) > 0 ) {
+ val = [ parseFloat( style ), unit ];
+ }
+ });
+ return val;
+ }
+});
+
+})();
+
+/******************************************************************************/
+/*********************************** EASING ***********************************/
+/******************************************************************************/
+
+(function() {
+
+// based on easing equations from Robert Penner (http://www.robertpenner.com/easing)
+
+var baseEasings = {};
+
+$.each( [ "Quad", "Cubic", "Quart", "Quint", "Expo" ], function( i, name ) {
+ baseEasings[ name ] = function( p ) {
+ return Math.pow( p, i + 2 );
+ };
+});
+
+$.extend( baseEasings, {
+ Sine: function ( p ) {
+ return 1 - Math.cos( p * Math.PI / 2 );
+ },
+ Circ: function ( p ) {
+ return 1 - Math.sqrt( 1 - p * p );
+ },
+ Elastic: function( p ) {
+ return p === 0 || p === 1 ? p :
+ -Math.pow( 2, 8 * (p - 1) ) * Math.sin( ( (p - 1) * 80 - 7.5 ) * Math.PI / 15 );
+ },
+ Back: function( p ) {
+ return p * p * ( 3 * p - 2 );
+ },
+ Bounce: function ( p ) {
+ var pow2,
+ bounce = 4;
+
+ while ( p < ( ( pow2 = Math.pow( 2, --bounce ) ) - 1 ) / 11 ) {}
+ return 1 / Math.pow( 4, 3 - bounce ) - 7.5625 * Math.pow( ( pow2 * 3 - 2 ) / 22 - p, 2 );
+ }
+});
+
+$.each( baseEasings, function( name, easeIn ) {
+ $.easing[ "easeIn" + name ] = easeIn;
+ $.easing[ "easeOut" + name ] = function( p ) {
+ return 1 - easeIn( 1 - p );
+ };
+ $.easing[ "easeInOut" + name ] = function( p ) {
+ return p < 0.5 ?
+ easeIn( p * 2 ) / 2 :
+ 1 - easeIn( p * -2 + 2 ) / 2;
+ };
+});
+
+})();
+
+})(jQuery));
+(function( $, undefined ) {
+
+var rvertical = /up|down|vertical/,
+ rpositivemotion = /up|left|vertical|horizontal/;
+
+$.effects.effect.blind = function( o, done ) {
+ // Create element
+ var el = $( this ),
+ props = [ "position", "top", "bottom", "left", "right", "height", "width" ],
+ mode = $.effects.setMode( el, o.mode || "hide" ),
+ direction = o.direction || "up",
+ vertical = rvertical.test( direction ),
+ ref = vertical ? "height" : "width",
+ ref2 = vertical ? "top" : "left",
+ motion = rpositivemotion.test( direction ),
+ animation = {},
+ show = mode === "show",
+ wrapper, distance, margin;
+
+ // if already wrapped, the wrapper's properties are my property. #6245
+ if ( el.parent().is( ".ui-effects-wrapper" ) ) {
+ $.effects.save( el.parent(), props );
+ } else {
+ $.effects.save( el, props );
+ }
+ el.show();
+ wrapper = $.effects.createWrapper( el ).css({
+ overflow: "hidden"
+ });
+
+ distance = wrapper[ ref ]();
+ margin = parseFloat( wrapper.css( ref2 ) ) || 0;
+
+ animation[ ref ] = show ? distance : 0;
+ if ( !motion ) {
+ el
+ .css( vertical ? "bottom" : "right", 0 )
+ .css( vertical ? "top" : "left", "auto" )
+ .css({ position: "absolute" });
+
+ animation[ ref2 ] = show ? margin : distance + margin;
+ }
+
+ // start at 0 if we are showing
+ if ( show ) {
+ wrapper.css( ref, 0 );
+ if ( ! motion ) {
+ wrapper.css( ref2, margin + distance );
+ }
+ }
+
+ // Animate
+ wrapper.animate( animation, {
+ duration: o.duration,
+ easing: o.easing,
+ queue: false,
+ complete: function() {
+ if ( mode === "hide" ) {
+ el.hide();
+ }
+ $.effects.restore( el, props );
+ $.effects.removeWrapper( el );
+ done();
+ }
+ });
+
+};
+
+})(jQuery);
+(function( $, undefined ) {
+
+$.effects.effect.bounce = function( o, done ) {
+ var el = $( this ),
+ props = [ "position", "top", "bottom", "left", "right", "height", "width" ],
+
+ // defaults:
+ mode = $.effects.setMode( el, o.mode || "effect" ),
+ hide = mode === "hide",
+ show = mode === "show",
+ direction = o.direction || "up",
+ distance = o.distance,
+ times = o.times || 5,
+
+ // number of internal animations
+ anims = times * 2 + ( show || hide ? 1 : 0 ),
+ speed = o.duration / anims,
+ easing = o.easing,
+
+ // utility:
+ ref = ( direction === "up" || direction === "down" ) ? "top" : "left",
+ motion = ( direction === "up" || direction === "left" ),
+ i,
+ upAnim,
+ downAnim,
+
+ // we will need to re-assemble the queue to stack our animations in place
+ queue = el.queue(),
+ queuelen = queue.length;
+
+ // Avoid touching opacity to prevent clearType and PNG issues in IE
+ if ( show || hide ) {
+ props.push( "opacity" );
+ }
+
+ $.effects.save( el, props );
+ el.show();
+ $.effects.createWrapper( el ); // Create Wrapper
+
+ // default distance for the BIGGEST bounce is the outer Distance / 3
+ if ( !distance ) {
+ distance = el[ ref === "top" ? "outerHeight" : "outerWidth" ]() / 3;
+ }
+
+ if ( show ) {
+ downAnim = { opacity: 1 };
+ downAnim[ ref ] = 0;
+
+ // if we are showing, force opacity 0 and set the initial position
+ // then do the "first" animation
+ el.css( "opacity", 0 )
+ .css( ref, motion ? -distance * 2 : distance * 2 )
+ .animate( downAnim, speed, easing );
+ }
+
+ // start at the smallest distance if we are hiding
+ if ( hide ) {
+ distance = distance / Math.pow( 2, times - 1 );
+ }
+
+ downAnim = {};
+ downAnim[ ref ] = 0;
+ // Bounces up/down/left/right then back to 0 -- times * 2 animations happen here
+ for ( i = 0; i < times; i++ ) {
+ upAnim = {};
+ upAnim[ ref ] = ( motion ? "-=" : "+=" ) + distance;
+
+ el.animate( upAnim, speed, easing )
+ .animate( downAnim, speed, easing );
+
+ distance = hide ? distance * 2 : distance / 2;
+ }
+
+ // Last Bounce when Hiding
+ if ( hide ) {
+ upAnim = { opacity: 0 };
+ upAnim[ ref ] = ( motion ? "-=" : "+=" ) + distance;
+
+ el.animate( upAnim, speed, easing );
+ }
+
+ el.queue(function() {
+ if ( hide ) {
+ el.hide();
+ }
+ $.effects.restore( el, props );
+ $.effects.removeWrapper( el );
+ done();
+ });
+
+ // inject all the animations we just queued to be first in line (after "inprogress")
+ if ( queuelen > 1) {
+ queue.splice.apply( queue,
+ [ 1, 0 ].concat( queue.splice( queuelen, anims + 1 ) ) );
+ }
+ el.dequeue();
+
+};
+
+})(jQuery);
+(function( $, undefined ) {
+
+$.effects.effect.clip = function( o, done ) {
+ // Create element
+ var el = $( this ),
+ props = [ "position", "top", "bottom", "left", "right", "height", "width" ],
+ mode = $.effects.setMode( el, o.mode || "hide" ),
+ show = mode === "show",
+ direction = o.direction || "vertical",
+ vert = direction === "vertical",
+ size = vert ? "height" : "width",
+ position = vert ? "top" : "left",
+ animation = {},
+ wrapper, animate, distance;
+
+ // Save & Show
+ $.effects.save( el, props );
+ el.show();
+
+ // Create Wrapper
+ wrapper = $.effects.createWrapper( el ).css({
+ overflow: "hidden"
+ });
+ animate = ( el[0].tagName === "IMG" ) ? wrapper : el;
+ distance = animate[ size ]();
+
+ // Shift
+ if ( show ) {
+ animate.css( size, 0 );
+ animate.css( position, distance / 2 );
+ }
+
+ // Create Animation Object:
+ animation[ size ] = show ? distance : 0;
+ animation[ position ] = show ? 0 : distance / 2;
+
+ // Animate
+ animate.animate( animation, {
+ queue: false,
+ duration: o.duration,
+ easing: o.easing,
+ complete: function() {
+ if ( !show ) {
+ el.hide();
+ }
+ $.effects.restore( el, props );
+ $.effects.removeWrapper( el );
+ done();
+ }
+ });
+
+};
+
+})(jQuery);
+(function( $, undefined ) {
+
+$.effects.effect.drop = function( o, done ) {
+
+ var el = $( this ),
+ props = [ "position", "top", "bottom", "left", "right", "opacity", "height", "width" ],
+ mode = $.effects.setMode( el, o.mode || "hide" ),
+ show = mode === "show",
+ direction = o.direction || "left",
+ ref = ( direction === "up" || direction === "down" ) ? "top" : "left",
+ motion = ( direction === "up" || direction === "left" ) ? "pos" : "neg",
+ animation = {
+ opacity: show ? 1 : 0
+ },
+ distance;
+
+ // Adjust
+ $.effects.save( el, props );
+ el.show();
+ $.effects.createWrapper( el );
+
+ distance = o.distance || el[ ref === "top" ? "outerHeight": "outerWidth" ]( true ) / 2;
+
+ if ( show ) {
+ el
+ .css( "opacity", 0 )
+ .css( ref, motion === "pos" ? -distance : distance );
+ }
+
+ // Animation
+ animation[ ref ] = ( show ?
+ ( motion === "pos" ? "+=" : "-=" ) :
+ ( motion === "pos" ? "-=" : "+=" ) ) +
+ distance;
+
+ // Animate
+ el.animate( animation, {
+ queue: false,
+ duration: o.duration,
+ easing: o.easing,
+ complete: function() {
+ if ( mode === "hide" ) {
+ el.hide();
+ }
+ $.effects.restore( el, props );
+ $.effects.removeWrapper( el );
+ done();
+ }
+ });
+};
+
+})(jQuery);
+(function( $, undefined ) {
+
+$.effects.effect.explode = function( o, done ) {
+
+ var rows = o.pieces ? Math.round( Math.sqrt( o.pieces ) ) : 3,
+ cells = rows,
+ el = $( this ),
+ mode = $.effects.setMode( el, o.mode || "hide" ),
+ show = mode === "show",
+
+ // show and then visibility:hidden the element before calculating offset
+ offset = el.show().css( "visibility", "hidden" ).offset(),
+
+ // width and height of a piece
+ width = Math.ceil( el.outerWidth() / cells ),
+ height = Math.ceil( el.outerHeight() / rows ),
+ pieces = [],
+
+ // loop
+ i, j, left, top, mx, my;
+
+ // children animate complete:
+ function childComplete() {
+ pieces.push( this );
+ if ( pieces.length === rows * cells ) {
+ animComplete();
+ }
+ }
+
+ // clone the element for each row and cell.
+ for( i = 0; i < rows ; i++ ) { // ===>
+ top = offset.top + i * height;
+ my = i - ( rows - 1 ) / 2 ;
+
+ for( j = 0; j < cells ; j++ ) { // |||
+ left = offset.left + j * width;
+ mx = j - ( cells - 1 ) / 2 ;
+
+ // Create a clone of the now hidden main element that will be absolute positioned
+ // within a wrapper div off the -left and -top equal to size of our pieces
+ el
+ .clone()
+ .appendTo( "body" )
+ .wrap( "<div></div>" )
+ .css({
+ position: "absolute",
+ visibility: "visible",
+ left: -j * width,
+ top: -i * height
+ })
+
+ // select the wrapper - make it overflow: hidden and absolute positioned based on
+ // where the original was located +left and +top equal to the size of pieces
+ .parent()
+ .addClass( "ui-effects-explode" )
+ .css({
+ position: "absolute",
+ overflow: "hidden",
+ width: width,
+ height: height,
+ left: left + ( show ? mx * width : 0 ),
+ top: top + ( show ? my * height : 0 ),
+ opacity: show ? 0 : 1
+ }).animate({
+ left: left + ( show ? 0 : mx * width ),
+ top: top + ( show ? 0 : my * height ),
+ opacity: show ? 1 : 0
+ }, o.duration || 500, o.easing, childComplete );
+ }
+ }
+
+ function animComplete() {
+ el.css({
+ visibility: "visible"
+ });
+ $( pieces ).remove();
+ if ( !show ) {
+ el.hide();
+ }
+ done();
+ }
+};
+
+})(jQuery);
+(function( $, undefined ) {
+
+$.effects.effect.fade = function( o, done ) {
+ var el = $( this ),
+ mode = $.effects.setMode( el, o.mode || "toggle" );
+
+ el.animate({
+ opacity: mode
+ }, {
+ queue: false,
+ duration: o.duration,
+ easing: o.easing,
+ complete: done
+ });
+};
+
+})( jQuery );
+(function( $, undefined ) {
+
+$.effects.effect.fold = function( o, done ) {
+
+ // Create element
+ var el = $( this ),
+ props = [ "position", "top", "bottom", "left", "right", "height", "width" ],
+ mode = $.effects.setMode( el, o.mode || "hide" ),
+ show = mode === "show",
+ hide = mode === "hide",
+ size = o.size || 15,
+ percent = /([0-9]+)%/.exec( size ),
+ horizFirst = !!o.horizFirst,
+ widthFirst = show !== horizFirst,
+ ref = widthFirst ? [ "width", "height" ] : [ "height", "width" ],
+ duration = o.duration / 2,
+ wrapper, distance,
+ animation1 = {},
+ animation2 = {};
+
+ $.effects.save( el, props );
+ el.show();
+
+ // Create Wrapper
+ wrapper = $.effects.createWrapper( el ).css({
+ overflow: "hidden"
+ });
+ distance = widthFirst ?
+ [ wrapper.width(), wrapper.height() ] :
+ [ wrapper.height(), wrapper.width() ];
+
+ if ( percent ) {
+ size = parseInt( percent[ 1 ], 10 ) / 100 * distance[ hide ? 0 : 1 ];
+ }
+ if ( show ) {
+ wrapper.css( horizFirst ? {
+ height: 0,
+ width: size
+ } : {
+ height: size,
+ width: 0
+ });
+ }
+
+ // Animation
+ animation1[ ref[ 0 ] ] = show ? distance[ 0 ] : size;
+ animation2[ ref[ 1 ] ] = show ? distance[ 1 ] : 0;
+
+ // Animate
+ wrapper
+ .animate( animation1, duration, o.easing )
+ .animate( animation2, duration, o.easing, function() {
+ if ( hide ) {
+ el.hide();
+ }
+ $.effects.restore( el, props );
+ $.effects.removeWrapper( el );
+ done();
+ });
+
+};
+
+})(jQuery);
+(function( $, undefined ) {
+
+$.effects.effect.highlight = function( o, done ) {
+ var elem = $( this ),
+ props = [ "backgroundImage", "backgroundColor", "opacity" ],
+ mode = $.effects.setMode( elem, o.mode || "show" ),
+ animation = {
+ backgroundColor: elem.css( "backgroundColor" )
+ };
+
+ if (mode === "hide") {
+ animation.opacity = 0;
+ }
+
+ $.effects.save( elem, props );
+
+ elem
+ .show()
+ .css({
+ backgroundImage: "none",
+ backgroundColor: o.color || "#ffff99"
+ })
+ .animate( animation, {
+ queue: false,
+ duration: o.duration,
+ easing: o.easing,
+ complete: function() {
+ if ( mode === "hide" ) {
+ elem.hide();
+ }
+ $.effects.restore( elem, props );
+ done();
+ }
+ });
+};
+
+})(jQuery);
+(function( $, undefined ) {
+
+$.effects.effect.pulsate = function( o, done ) {
+ var elem = $( this ),
+ mode = $.effects.setMode( elem, o.mode || "show" ),
+ show = mode === "show",
+ hide = mode === "hide",
+ showhide = ( show || mode === "hide" ),
+
+ // showing or hiding leaves of the "last" animation
+ anims = ( ( o.times || 5 ) * 2 ) + ( showhide ? 1 : 0 ),
+ duration = o.duration / anims,
+ animateTo = 0,
+ queue = elem.queue(),
+ queuelen = queue.length,
+ i;
+
+ if ( show || !elem.is(":visible")) {
+ elem.css( "opacity", 0 ).show();
+ animateTo = 1;
+ }
+
+ // anims - 1 opacity "toggles"
+ for ( i = 1; i < anims; i++ ) {
+ elem.animate({
+ opacity: animateTo
+ }, duration, o.easing );
+ animateTo = 1 - animateTo;
+ }
+
+ elem.animate({
+ opacity: animateTo
+ }, duration, o.easing);
+
+ elem.queue(function() {
+ if ( hide ) {
+ elem.hide();
+ }
+ done();
+ });
+
+ // We just queued up "anims" animations, we need to put them next in the queue
+ if ( queuelen > 1 ) {
+ queue.splice.apply( queue,
+ [ 1, 0 ].concat( queue.splice( queuelen, anims + 1 ) ) );
+ }
+ elem.dequeue();
+};
+
+})(jQuery);
+(function( $, undefined ) {
+
+$.effects.effect.puff = function( o, done ) {
+ var elem = $( this ),
+ mode = $.effects.setMode( elem, o.mode || "hide" ),
+ hide = mode === "hide",
+ percent = parseInt( o.percent, 10 ) || 150,
+ factor = percent / 100,
+ original = {
+ height: elem.height(),
+ width: elem.width(),
+ outerHeight: elem.outerHeight(),
+ outerWidth: elem.outerWidth()
+ };
+
+ $.extend( o, {
+ effect: "scale",
+ queue: false,
+ fade: true,
+ mode: mode,
+ complete: done,
+ percent: hide ? percent : 100,
+ from: hide ?
+ original :
+ {
+ height: original.height * factor,
+ width: original.width * factor,
+ outerHeight: original.outerHeight * factor,
+ outerWidth: original.outerWidth * factor
+ }
+ });
+
+ elem.effect( o );
+};
+
+$.effects.effect.scale = function( o, done ) {
+
+ // Create element
+ var el = $( this ),
+ options = $.extend( true, {}, o ),
+ mode = $.effects.setMode( el, o.mode || "effect" ),
+ percent = parseInt( o.percent, 10 ) ||
+ ( parseInt( o.percent, 10 ) === 0 ? 0 : ( mode === "hide" ? 0 : 100 ) ),
+ direction = o.direction || "both",
+ origin = o.origin,
+ original = {
+ height: el.height(),
+ width: el.width(),
+ outerHeight: el.outerHeight(),
+ outerWidth: el.outerWidth()
+ },
+ factor = {
+ y: direction !== "horizontal" ? (percent / 100) : 1,
+ x: direction !== "vertical" ? (percent / 100) : 1
+ };
+
+ // We are going to pass this effect to the size effect:
+ options.effect = "size";
+ options.queue = false;
+ options.complete = done;
+
+ // Set default origin and restore for show/hide
+ if ( mode !== "effect" ) {
+ options.origin = origin || ["middle","center"];
+ options.restore = true;
+ }
+
+ options.from = o.from || ( mode === "show" ? {
+ height: 0,
+ width: 0,
+ outerHeight: 0,
+ outerWidth: 0
+ } : original );
+ options.to = {
+ height: original.height * factor.y,
+ width: original.width * factor.x,
+ outerHeight: original.outerHeight * factor.y,
+ outerWidth: original.outerWidth * factor.x
+ };
+
+ // Fade option to support puff
+ if ( options.fade ) {
+ if ( mode === "show" ) {
+ options.from.opacity = 0;
+ options.to.opacity = 1;
+ }
+ if ( mode === "hide" ) {
+ options.from.opacity = 1;
+ options.to.opacity = 0;
+ }
+ }
+
+ // Animate
+ el.effect( options );
+
+};
+
+$.effects.effect.size = function( o, done ) {
+
+ // Create element
+ var original, baseline, factor,
+ el = $( this ),
+ props0 = [ "position", "top", "bottom", "left", "right", "width", "height", "overflow", "opacity" ],
+
+ // Always restore
+ props1 = [ "position", "top", "bottom", "left", "right", "overflow", "opacity" ],
+
+ // Copy for children
+ props2 = [ "width", "height", "overflow" ],
+ cProps = [ "fontSize" ],
+ vProps = [ "borderTopWidth", "borderBottomWidth", "paddingTop", "paddingBottom" ],
+ hProps = [ "borderLeftWidth", "borderRightWidth", "paddingLeft", "paddingRight" ],
+
+ // Set options
+ mode = $.effects.setMode( el, o.mode || "effect" ),
+ restore = o.restore || mode !== "effect",
+ scale = o.scale || "both",
+ origin = o.origin || [ "middle", "center" ],
+ position = el.css( "position" ),
+ props = restore ? props0 : props1,
+ zero = {
+ height: 0,
+ width: 0,
+ outerHeight: 0,
+ outerWidth: 0
+ };
+
+ if ( mode === "show" ) {
+ el.show();
+ }
+ original = {
+ height: el.height(),
+ width: el.width(),
+ outerHeight: el.outerHeight(),
+ outerWidth: el.outerWidth()
+ };
+
+ if ( o.mode === "toggle" && mode === "show" ) {
+ el.from = o.to || zero;
+ el.to = o.from || original;
+ } else {
+ el.from = o.from || ( mode === "show" ? zero : original );
+ el.to = o.to || ( mode === "hide" ? zero : original );
+ }
+
+ // Set scaling factor
+ factor = {
+ from: {
+ y: el.from.height / original.height,
+ x: el.from.width / original.width
+ },
+ to: {
+ y: el.to.height / original.height,
+ x: el.to.width / original.width
+ }
+ };
+
+ // Scale the css box
+ if ( scale === "box" || scale === "both" ) {
+
+ // Vertical props scaling
+ if ( factor.from.y !== factor.to.y ) {
+ props = props.concat( vProps );
+ el.from = $.effects.setTransition( el, vProps, factor.from.y, el.from );
+ el.to = $.effects.setTransition( el, vProps, factor.to.y, el.to );
+ }
+
+ // Horizontal props scaling
+ if ( factor.from.x !== factor.to.x ) {
+ props = props.concat( hProps );
+ el.from = $.effects.setTransition( el, hProps, factor.from.x, el.from );
+ el.to = $.effects.setTransition( el, hProps, factor.to.x, el.to );
+ }
+ }
+
+ // Scale the content
+ if ( scale === "content" || scale === "both" ) {
+
+ // Vertical props scaling
+ if ( factor.from.y !== factor.to.y ) {
+ props = props.concat( cProps ).concat( props2 );
+ el.from = $.effects.setTransition( el, cProps, factor.from.y, el.from );
+ el.to = $.effects.setTransition( el, cProps, factor.to.y, el.to );
+ }
+ }
+
+ $.effects.save( el, props );
+ el.show();
+ $.effects.createWrapper( el );
+ el.css( "overflow", "hidden" ).css( el.from );
+
+ // Adjust
+ if (origin) { // Calculate baseline shifts
+ baseline = $.effects.getBaseline( origin, original );
+ el.from.top = ( original.outerHeight - el.outerHeight() ) * baseline.y;
+ el.from.left = ( original.outerWidth - el.outerWidth() ) * baseline.x;
+ el.to.top = ( original.outerHeight - el.to.outerHeight ) * baseline.y;
+ el.to.left = ( original.outerWidth - el.to.outerWidth ) * baseline.x;
+ }
+ el.css( el.from ); // set top & left
+
+ // Animate
+ if ( scale === "content" || scale === "both" ) { // Scale the children
+
+ // Add margins/font-size
+ vProps = vProps.concat([ "marginTop", "marginBottom" ]).concat(cProps);
+ hProps = hProps.concat([ "marginLeft", "marginRight" ]);
+ props2 = props0.concat(vProps).concat(hProps);
+
+ el.find( "*[width]" ).each( function(){
+ var child = $( this ),
+ c_original = {
+ height: child.height(),
+ width: child.width(),
+ outerHeight: child.outerHeight(),
+ outerWidth: child.outerWidth()
+ };
+ if (restore) {
+ $.effects.save(child, props2);
+ }
+
+ child.from = {
+ height: c_original.height * factor.from.y,
+ width: c_original.width * factor.from.x,
+ outerHeight: c_original.outerHeight * factor.from.y,
+ outerWidth: c_original.outerWidth * factor.from.x
+ };
+ child.to = {
+ height: c_original.height * factor.to.y,
+ width: c_original.width * factor.to.x,
+ outerHeight: c_original.height * factor.to.y,
+ outerWidth: c_original.width * factor.to.x
+ };
+
+ // Vertical props scaling
+ if ( factor.from.y !== factor.to.y ) {
+ child.from = $.effects.setTransition( child, vProps, factor.from.y, child.from );
+ child.to = $.effects.setTransition( child, vProps, factor.to.y, child.to );
+ }
+
+ // Horizontal props scaling
+ if ( factor.from.x !== factor.to.x ) {
+ child.from = $.effects.setTransition( child, hProps, factor.from.x, child.from );
+ child.to = $.effects.setTransition( child, hProps, factor.to.x, child.to );
+ }
+
+ // Animate children
+ child.css( child.from );
+ child.animate( child.to, o.duration, o.easing, function() {
+
+ // Restore children
+ if ( restore ) {
+ $.effects.restore( child, props2 );
+ }
+ });
+ });
+ }
+
+ // Animate
+ el.animate( el.to, {
+ queue: false,
+ duration: o.duration,
+ easing: o.easing,
+ complete: function() {
+ if ( el.to.opacity === 0 ) {
+ el.css( "opacity", el.from.opacity );
+ }
+ if( mode === "hide" ) {
+ el.hide();
+ }
+ $.effects.restore( el, props );
+ if ( !restore ) {
+
+ // we need to calculate our new positioning based on the scaling
+ if ( position === "static" ) {
+ el.css({
+ position: "relative",
+ top: el.to.top,
+ left: el.to.left
+ });
+ } else {
+ $.each([ "top", "left" ], function( idx, pos ) {
+ el.css( pos, function( _, str ) {
+ var val = parseInt( str, 10 ),
+ toRef = idx ? el.to.left : el.to.top;
+
+ // if original was "auto", recalculate the new value from wrapper
+ if ( str === "auto" ) {
+ return toRef + "px";
+ }
+
+ return val + toRef + "px";
+ });
+ });
+ }
+ }
+
+ $.effects.removeWrapper( el );
+ done();
+ }
+ });
+
+};
+
+})(jQuery);
+(function( $, undefined ) {
+
+$.effects.effect.shake = function( o, done ) {
+
+ var el = $( this ),
+ props = [ "position", "top", "bottom", "left", "right", "height", "width" ],
+ mode = $.effects.setMode( el, o.mode || "effect" ),
+ direction = o.direction || "left",
+ distance = o.distance || 20,
+ times = o.times || 3,
+ anims = times * 2 + 1,
+ speed = Math.round(o.duration/anims),
+ ref = (direction === "up" || direction === "down") ? "top" : "left",
+ positiveMotion = (direction === "up" || direction === "left"),
+ animation = {},
+ animation1 = {},
+ animation2 = {},
+ i,
+
+ // we will need to re-assemble the queue to stack our animations in place
+ queue = el.queue(),
+ queuelen = queue.length;
+
+ $.effects.save( el, props );
+ el.show();
+ $.effects.createWrapper( el );
+
+ // Animation
+ animation[ ref ] = ( positiveMotion ? "-=" : "+=" ) + distance;
+ animation1[ ref ] = ( positiveMotion ? "+=" : "-=" ) + distance * 2;
+ animation2[ ref ] = ( positiveMotion ? "-=" : "+=" ) + distance * 2;
+
+ // Animate
+ el.animate( animation, speed, o.easing );
+
+ // Shakes
+ for ( i = 1; i < times; i++ ) {
+ el.animate( animation1, speed, o.easing ).animate( animation2, speed, o.easing );
+ }
+ el
+ .animate( animation1, speed, o.easing )
+ .animate( animation, speed / 2, o.easing )
+ .queue(function() {
+ if ( mode === "hide" ) {
+ el.hide();
+ }
+ $.effects.restore( el, props );
+ $.effects.removeWrapper( el );
+ done();
+ });
+
+ // inject all the animations we just queued to be first in line (after "inprogress")
+ if ( queuelen > 1) {
+ queue.splice.apply( queue,
+ [ 1, 0 ].concat( queue.splice( queuelen, anims + 1 ) ) );
+ }
+ el.dequeue();
+
+};
+
+})(jQuery);
+(function( $, undefined ) {
+
+$.effects.effect.slide = function( o, done ) {
+
+ // Create element
+ var el = $( this ),
+ props = [ "position", "top", "bottom", "left", "right", "width", "height" ],
+ mode = $.effects.setMode( el, o.mode || "show" ),
+ show = mode === "show",
+ direction = o.direction || "left",
+ ref = (direction === "up" || direction === "down") ? "top" : "left",
+ positiveMotion = (direction === "up" || direction === "left"),
+ distance,
+ animation = {};
+
+ // Adjust
+ $.effects.save( el, props );
+ el.show();
+ distance = o.distance || el[ ref === "top" ? "outerHeight" : "outerWidth" ]( true );
+
+ $.effects.createWrapper( el ).css({
+ overflow: "hidden"
+ });
+
+ if ( show ) {
+ el.css( ref, positiveMotion ? (isNaN(distance) ? "-" + distance : -distance) : distance );
+ }
+
+ // Animation
+ animation[ ref ] = ( show ?
+ ( positiveMotion ? "+=" : "-=") :
+ ( positiveMotion ? "-=" : "+=")) +
+ distance;
+
+ // Animate
+ el.animate( animation, {
+ queue: false,
+ duration: o.duration,
+ easing: o.easing,
+ complete: function() {
+ if ( mode === "hide" ) {
+ el.hide();
+ }
+ $.effects.restore( el, props );
+ $.effects.removeWrapper( el );
+ done();
+ }
+ });
+};
+
+})(jQuery);
+(function( $, undefined ) {
+
+$.effects.effect.transfer = function( o, done ) {
+ var elem = $( this ),
+ target = $( o.to ),
+ targetFixed = target.css( "position" ) === "fixed",
+ body = $("body"),
+ fixTop = targetFixed ? body.scrollTop() : 0,
+ fixLeft = targetFixed ? body.scrollLeft() : 0,
+ endPosition = target.offset(),
+ animation = {
+ top: endPosition.top - fixTop ,
+ left: endPosition.left - fixLeft ,
+ height: target.innerHeight(),
+ width: target.innerWidth()
+ },
+ startPosition = elem.offset(),
+ transfer = $( "<div class='ui-effects-transfer'></div>" )
+ .appendTo( document.body )
+ .addClass( o.className )
+ .css({
+ top: startPosition.top - fixTop ,
+ left: startPosition.left - fixLeft ,
+ height: elem.innerHeight(),
+ width: elem.innerWidth(),
+ position: targetFixed ? "fixed" : "absolute"
+ })
+ .animate( animation, o.duration, o.easing, function() {
+ transfer.remove();
+ done();
+ });
+};
+
+})(jQuery);
diff --git a/core/js/jquery-ui-1.8.16.custom.min.js b/core/js/jquery-ui-1.8.16.custom.min.js
deleted file mode 100644
index eefefa8579d..00000000000
--- a/core/js/jquery-ui-1.8.16.custom.min.js
+++ /dev/null
@@ -1,761 +0,0 @@
-/*!
- * jQuery UI 1.8.16
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI
- */
-(function(c,j){function k(a,b){var d=a.nodeName.toLowerCase();if("area"===d){b=a.parentNode;d=b.name;if(!a.href||!d||b.nodeName.toLowerCase()!=="map")return false;a=c("img[usemap=#"+d+"]")[0];return!!a&&l(a)}return(/input|select|textarea|button|object/.test(d)?!a.disabled:"a"==d?a.href||b:b)&&l(a)}function l(a){return!c(a).parents().andSelf().filter(function(){return c.curCSS(this,"visibility")==="hidden"||c.expr.filters.hidden(this)}).length}c.ui=c.ui||{};if(!c.ui.version){c.extend(c.ui,{version:"1.8.16",
-keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}});c.fn.extend({propAttr:c.fn.prop||c.fn.attr,_focus:c.fn.focus,focus:function(a,b){return typeof a==="number"?this.each(function(){var d=
-this;setTimeout(function(){c(d).focus();b&&b.call(d)},a)}):this._focus.apply(this,arguments)},scrollParent:function(){var a;a=c.browser.msie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?this.parents().filter(function(){return/(relative|absolute|fixed)/.test(c.curCSS(this,"position",1))&&/(auto|scroll)/.test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0):this.parents().filter(function(){return/(auto|scroll)/.test(c.curCSS(this,
-"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0);return/fixed/.test(this.css("position"))||!a.length?c(document):a},zIndex:function(a){if(a!==j)return this.css("zIndex",a);if(this.length){a=c(this[0]);for(var b;a.length&&a[0]!==document;){b=a.css("position");if(b==="absolute"||b==="relative"||b==="fixed"){b=parseInt(a.css("zIndex"),10);if(!isNaN(b)&&b!==0)return b}a=a.parent()}}return 0},disableSelection:function(){return this.bind((c.support.selectstart?"selectstart":
-"mousedown")+".ui-disableSelection",function(a){a.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}});c.each(["Width","Height"],function(a,b){function d(f,g,m,n){c.each(e,function(){g-=parseFloat(c.curCSS(f,"padding"+this,true))||0;if(m)g-=parseFloat(c.curCSS(f,"border"+this+"Width",true))||0;if(n)g-=parseFloat(c.curCSS(f,"margin"+this,true))||0});return g}var e=b==="Width"?["Left","Right"]:["Top","Bottom"],h=b.toLowerCase(),i={innerWidth:c.fn.innerWidth,innerHeight:c.fn.innerHeight,
-outerWidth:c.fn.outerWidth,outerHeight:c.fn.outerHeight};c.fn["inner"+b]=function(f){if(f===j)return i["inner"+b].call(this);return this.each(function(){c(this).css(h,d(this,f)+"px")})};c.fn["outer"+b]=function(f,g){if(typeof f!=="number")return i["outer"+b].call(this,f);return this.each(function(){c(this).css(h,d(this,f,true,g)+"px")})}});c.extend(c.expr[":"],{data:function(a,b,d){return!!c.data(a,d[3])},focusable:function(a){return k(a,!isNaN(c.attr(a,"tabindex")))},tabbable:function(a){var b=c.attr(a,
-"tabindex"),d=isNaN(b);return(d||b>=0)&&k(a,!d)}});c(function(){var a=document.body,b=a.appendChild(b=document.createElement("div"));c.extend(b.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0});c.support.minHeight=b.offsetHeight===100;c.support.selectstart="onselectstart"in b;a.removeChild(b).style.display="none"});c.extend(c.ui,{plugin:{add:function(a,b,d){a=c.ui[a].prototype;for(var e in d){a.plugins[e]=a.plugins[e]||[];a.plugins[e].push([b,d[e]])}},call:function(a,b,d){if((b=a.plugins[b])&&
-a.element[0].parentNode)for(var e=0;e<b.length;e++)a.options[b[e][0]]&&b[e][1].apply(a.element,d)}},contains:function(a,b){return document.compareDocumentPosition?a.compareDocumentPosition(b)&16:a!==b&&a.contains(b)},hasScroll:function(a,b){if(c(a).css("overflow")==="hidden")return false;b=b&&b==="left"?"scrollLeft":"scrollTop";var d=false;if(a[b]>0)return true;a[b]=1;d=a[b]>0;a[b]=0;return d},isOverAxis:function(a,b,d){return a>b&&a<b+d},isOver:function(a,b,d,e,h,i){return c.ui.isOverAxis(a,d,h)&&
-c.ui.isOverAxis(b,e,i)}})}})(jQuery);
-;/*!
- * jQuery UI Widget 1.8.16
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Widget
- */
-(function(b,j){if(b.cleanData){var k=b.cleanData;b.cleanData=function(a){for(var c=0,d;(d=a[c])!=null;c++)try{b(d).triggerHandler("remove")}catch(e){}k(a)}}else{var l=b.fn.remove;b.fn.remove=function(a,c){return this.each(function(){if(!c)if(!a||b.filter(a,[this]).length)b("*",this).add([this]).each(function(){try{b(this).triggerHandler("remove")}catch(d){}});return l.call(b(this),a,c)})}}b.widget=function(a,c,d){var e=a.split(".")[0],f;a=a.split(".")[1];f=e+"-"+a;if(!d){d=c;c=b.Widget}b.expr[":"][f]=
-function(h){return!!b.data(h,a)};b[e]=b[e]||{};b[e][a]=function(h,g){arguments.length&&this._createWidget(h,g)};c=new c;c.options=b.extend(true,{},c.options);b[e][a].prototype=b.extend(true,c,{namespace:e,widgetName:a,widgetEventPrefix:b[e][a].prototype.widgetEventPrefix||a,widgetBaseClass:f},d);b.widget.bridge(a,b[e][a])};b.widget.bridge=function(a,c){b.fn[a]=function(d){var e=typeof d==="string",f=Array.prototype.slice.call(arguments,1),h=this;d=!e&&f.length?b.extend.apply(null,[true,d].concat(f)):
-d;if(e&&d.charAt(0)==="_")return h;e?this.each(function(){var g=b.data(this,a),i=g&&b.isFunction(g[d])?g[d].apply(g,f):g;if(i!==g&&i!==j){h=i;return false}}):this.each(function(){var g=b.data(this,a);g?g.option(d||{})._init():b.data(this,a,new c(d,this))});return h}};b.Widget=function(a,c){arguments.length&&this._createWidget(a,c)};b.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(a,c){b.data(c,this.widgetName,this);this.element=b(c);this.options=
-b.extend(true,{},this.options,this._getCreateOptions(),a);var d=this;this.element.bind("remove."+this.widgetName,function(){d.destroy()});this._create();this._trigger("create");this._init()},_getCreateOptions:function(){return b.metadata&&b.metadata.get(this.element[0])[this.widgetName]},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+
-"-disabled ui-state-disabled")},widget:function(){return this.element},option:function(a,c){var d=a;if(arguments.length===0)return b.extend({},this.options);if(typeof a==="string"){if(c===j)return this.options[a];d={};d[a]=c}this._setOptions(d);return this},_setOptions:function(a){var c=this;b.each(a,function(d,e){c._setOption(d,e)});return this},_setOption:function(a,c){this.options[a]=c;if(a==="disabled")this.widget()[c?"addClass":"removeClass"](this.widgetBaseClass+"-disabled ui-state-disabled").attr("aria-disabled",
-c);return this},enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(a,c,d){var e=this.options[a];c=b.Event(c);c.type=(a===this.widgetEventPrefix?a:this.widgetEventPrefix+a).toLowerCase();d=d||{};if(c.originalEvent){a=b.event.props.length;for(var f;a;){f=b.event.props[--a];c[f]=c.originalEvent[f]}}this.element.trigger(c,d);return!(b.isFunction(e)&&e.call(this.element[0],c,d)===false||c.isDefaultPrevented())}}})(jQuery);
-;/*!
- * jQuery UI Mouse 1.8.16
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Mouse
- *
- * Depends:
- * jquery.ui.widget.js
- */
-(function(b){var d=false;b(document).mouseup(function(){d=false});b.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var a=this;this.element.bind("mousedown."+this.widgetName,function(c){return a._mouseDown(c)}).bind("click."+this.widgetName,function(c){if(true===b.data(c.target,a.widgetName+".preventClickEvent")){b.removeData(c.target,a.widgetName+".preventClickEvent");c.stopImmediatePropagation();return false}});this.started=false},_mouseDestroy:function(){this.element.unbind("."+
-this.widgetName)},_mouseDown:function(a){if(!d){this._mouseStarted&&this._mouseUp(a);this._mouseDownEvent=a;var c=this,f=a.which==1,g=typeof this.options.cancel=="string"&&a.target.nodeName?b(a.target).closest(this.options.cancel).length:false;if(!f||g||!this._mouseCapture(a))return true;this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet)this._mouseDelayTimer=setTimeout(function(){c.mouseDelayMet=true},this.options.delay);if(this._mouseDistanceMet(a)&&this._mouseDelayMet(a)){this._mouseStarted=
-this._mouseStart(a)!==false;if(!this._mouseStarted){a.preventDefault();return true}}true===b.data(a.target,this.widgetName+".preventClickEvent")&&b.removeData(a.target,this.widgetName+".preventClickEvent");this._mouseMoveDelegate=function(e){return c._mouseMove(e)};this._mouseUpDelegate=function(e){return c._mouseUp(e)};b(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);a.preventDefault();return d=true}},_mouseMove:function(a){if(b.browser.msie&&
-!(document.documentMode>=9)&&!a.button)return this._mouseUp(a);if(this._mouseStarted){this._mouseDrag(a);return a.preventDefault()}if(this._mouseDistanceMet(a)&&this._mouseDelayMet(a))(this._mouseStarted=this._mouseStart(this._mouseDownEvent,a)!==false)?this._mouseDrag(a):this._mouseUp(a);return!this._mouseStarted},_mouseUp:function(a){b(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=
-false;a.target==this._mouseDownEvent.target&&b.data(a.target,this.widgetName+".preventClickEvent",true);this._mouseStop(a)}return false},_mouseDistanceMet:function(a){return Math.max(Math.abs(this._mouseDownEvent.pageX-a.pageX),Math.abs(this._mouseDownEvent.pageY-a.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return true}})})(jQuery);
-;/*
- * jQuery UI Position 1.8.16
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Position
- */
-(function(c){c.ui=c.ui||{};var n=/left|center|right/,o=/top|center|bottom/,t=c.fn.position,u=c.fn.offset;c.fn.position=function(b){if(!b||!b.of)return t.apply(this,arguments);b=c.extend({},b);var a=c(b.of),d=a[0],g=(b.collision||"flip").split(" "),e=b.offset?b.offset.split(" "):[0,0],h,k,j;if(d.nodeType===9){h=a.width();k=a.height();j={top:0,left:0}}else if(d.setTimeout){h=a.width();k=a.height();j={top:a.scrollTop(),left:a.scrollLeft()}}else if(d.preventDefault){b.at="left top";h=k=0;j={top:b.of.pageY,
-left:b.of.pageX}}else{h=a.outerWidth();k=a.outerHeight();j=a.offset()}c.each(["my","at"],function(){var f=(b[this]||"").split(" ");if(f.length===1)f=n.test(f[0])?f.concat(["center"]):o.test(f[0])?["center"].concat(f):["center","center"];f[0]=n.test(f[0])?f[0]:"center";f[1]=o.test(f[1])?f[1]:"center";b[this]=f});if(g.length===1)g[1]=g[0];e[0]=parseInt(e[0],10)||0;if(e.length===1)e[1]=e[0];e[1]=parseInt(e[1],10)||0;if(b.at[0]==="right")j.left+=h;else if(b.at[0]==="center")j.left+=h/2;if(b.at[1]==="bottom")j.top+=
-k;else if(b.at[1]==="center")j.top+=k/2;j.left+=e[0];j.top+=e[1];return this.each(function(){var f=c(this),l=f.outerWidth(),m=f.outerHeight(),p=parseInt(c.curCSS(this,"marginLeft",true))||0,q=parseInt(c.curCSS(this,"marginTop",true))||0,v=l+p+(parseInt(c.curCSS(this,"marginRight",true))||0),w=m+q+(parseInt(c.curCSS(this,"marginBottom",true))||0),i=c.extend({},j),r;if(b.my[0]==="right")i.left-=l;else if(b.my[0]==="center")i.left-=l/2;if(b.my[1]==="bottom")i.top-=m;else if(b.my[1]==="center")i.top-=
-m/2;i.left=Math.round(i.left);i.top=Math.round(i.top);r={left:i.left-p,top:i.top-q};c.each(["left","top"],function(s,x){c.ui.position[g[s]]&&c.ui.position[g[s]][x](i,{targetWidth:h,targetHeight:k,elemWidth:l,elemHeight:m,collisionPosition:r,collisionWidth:v,collisionHeight:w,offset:e,my:b.my,at:b.at})});c.fn.bgiframe&&f.bgiframe();f.offset(c.extend(i,{using:b.using}))})};c.ui.position={fit:{left:function(b,a){var d=c(window);d=a.collisionPosition.left+a.collisionWidth-d.width()-d.scrollLeft();b.left=
-d>0?b.left-d:Math.max(b.left-a.collisionPosition.left,b.left)},top:function(b,a){var d=c(window);d=a.collisionPosition.top+a.collisionHeight-d.height()-d.scrollTop();b.top=d>0?b.top-d:Math.max(b.top-a.collisionPosition.top,b.top)}},flip:{left:function(b,a){if(a.at[0]!=="center"){var d=c(window);d=a.collisionPosition.left+a.collisionWidth-d.width()-d.scrollLeft();var g=a.my[0]==="left"?-a.elemWidth:a.my[0]==="right"?a.elemWidth:0,e=a.at[0]==="left"?a.targetWidth:-a.targetWidth,h=-2*a.offset[0];b.left+=
-a.collisionPosition.left<0?g+e+h:d>0?g+e+h:0}},top:function(b,a){if(a.at[1]!=="center"){var d=c(window);d=a.collisionPosition.top+a.collisionHeight-d.height()-d.scrollTop();var g=a.my[1]==="top"?-a.elemHeight:a.my[1]==="bottom"?a.elemHeight:0,e=a.at[1]==="top"?a.targetHeight:-a.targetHeight,h=-2*a.offset[1];b.top+=a.collisionPosition.top<0?g+e+h:d>0?g+e+h:0}}}};if(!c.offset.setOffset){c.offset.setOffset=function(b,a){if(/static/.test(c.curCSS(b,"position")))b.style.position="relative";var d=c(b),
-g=d.offset(),e=parseInt(c.curCSS(b,"top",true),10)||0,h=parseInt(c.curCSS(b,"left",true),10)||0;g={top:a.top-g.top+e,left:a.left-g.left+h};"using"in a?a.using.call(b,g):d.css(g)};c.fn.offset=function(b){var a=this[0];if(!a||!a.ownerDocument)return null;if(b)return this.each(function(){c.offset.setOffset(this,b)});return u.call(this)}}})(jQuery);
-;/*
- * jQuery UI Draggable 1.8.16
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Draggables
- *
- * Depends:
- * jquery.ui.core.js
- * jquery.ui.mouse.js
- * jquery.ui.widget.js
- */
-(function(d){d.widget("ui.draggable",d.ui.mouse,{widgetEventPrefix:"drag",options:{addClasses:true,appendTo:"parent",axis:false,connectToSortable:false,containment:false,cursor:"auto",cursorAt:false,grid:false,handle:false,helper:"original",iframeFix:false,opacity:false,refreshPositions:false,revert:false,revertDuration:500,scope:"default",scroll:true,scrollSensitivity:20,scrollSpeed:20,snap:false,snapMode:"both",snapTolerance:20,stack:false,zIndex:false},_create:function(){if(this.options.helper==
-"original"&&!/^(?:r|a|f)/.test(this.element.css("position")))this.element[0].style.position="relative";this.options.addClasses&&this.element.addClass("ui-draggable");this.options.disabled&&this.element.addClass("ui-draggable-disabled");this._mouseInit()},destroy:function(){if(this.element.data("draggable")){this.element.removeData("draggable").unbind(".draggable").removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled");this._mouseDestroy();return this}},_mouseCapture:function(a){var b=
-this.options;if(this.helper||b.disabled||d(a.target).is(".ui-resizable-handle"))return false;this.handle=this._getHandle(a);if(!this.handle)return false;if(b.iframeFix)d(b.iframeFix===true?"iframe":b.iframeFix).each(function(){d('<div class="ui-draggable-iframeFix" style="background: #fff;"></div>').css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1E3}).css(d(this).offset()).appendTo("body")});return true},_mouseStart:function(a){var b=this.options;
-this.helper=this._createHelper(a);this._cacheHelperProportions();if(d.ui.ddmanager)d.ui.ddmanager.current=this;this._cacheMargins();this.cssPosition=this.helper.css("position");this.scrollParent=this.helper.scrollParent();this.offset=this.positionAbs=this.element.offset();this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left};d.extend(this.offset,{click:{left:a.pageX-this.offset.left,top:a.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});
-this.originalPosition=this.position=this._generatePosition(a);this.originalPageX=a.pageX;this.originalPageY=a.pageY;b.cursorAt&&this._adjustOffsetFromHelper(b.cursorAt);b.containment&&this._setContainment();if(this._trigger("start",a)===false){this._clear();return false}this._cacheHelperProportions();d.ui.ddmanager&&!b.dropBehaviour&&d.ui.ddmanager.prepareOffsets(this,a);this.helper.addClass("ui-draggable-dragging");this._mouseDrag(a,true);d.ui.ddmanager&&d.ui.ddmanager.dragStart(this,a);return true},
-_mouseDrag:function(a,b){this.position=this._generatePosition(a);this.positionAbs=this._convertPositionTo("absolute");if(!b){b=this._uiHash();if(this._trigger("drag",a,b)===false){this._mouseUp({});return false}this.position=b.position}if(!this.options.axis||this.options.axis!="y")this.helper[0].style.left=this.position.left+"px";if(!this.options.axis||this.options.axis!="x")this.helper[0].style.top=this.position.top+"px";d.ui.ddmanager&&d.ui.ddmanager.drag(this,a);return false},_mouseStop:function(a){var b=
-false;if(d.ui.ddmanager&&!this.options.dropBehaviour)b=d.ui.ddmanager.drop(this,a);if(this.dropped){b=this.dropped;this.dropped=false}if((!this.element[0]||!this.element[0].parentNode)&&this.options.helper=="original")return false;if(this.options.revert=="invalid"&&!b||this.options.revert=="valid"&&b||this.options.revert===true||d.isFunction(this.options.revert)&&this.options.revert.call(this.element,b)){var c=this;d(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,
-10),function(){c._trigger("stop",a)!==false&&c._clear()})}else this._trigger("stop",a)!==false&&this._clear();return false},_mouseUp:function(a){this.options.iframeFix===true&&d("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)});d.ui.ddmanager&&d.ui.ddmanager.dragStop(this,a);return d.ui.mouse.prototype._mouseUp.call(this,a)},cancel:function(){this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear();return this},_getHandle:function(a){var b=!this.options.handle||
-!d(this.options.handle,this.element).length?true:false;d(this.options.handle,this.element).find("*").andSelf().each(function(){if(this==a.target)b=true});return b},_createHelper:function(a){var b=this.options;a=d.isFunction(b.helper)?d(b.helper.apply(this.element[0],[a])):b.helper=="clone"?this.element.clone().removeAttr("id"):this.element;a.parents("body").length||a.appendTo(b.appendTo=="parent"?this.element[0].parentNode:b.appendTo);a[0]!=this.element[0]&&!/(fixed|absolute)/.test(a.css("position"))&&
-a.css("position","absolute");return a},_adjustOffsetFromHelper:function(a){if(typeof a=="string")a=a.split(" ");if(d.isArray(a))a={left:+a[0],top:+a[1]||0};if("left"in a)this.offset.click.left=a.left+this.margins.left;if("right"in a)this.offset.click.left=this.helperProportions.width-a.right+this.margins.left;if("top"in a)this.offset.click.top=a.top+this.margins.top;if("bottom"in a)this.offset.click.top=this.helperProportions.height-a.bottom+this.margins.top},_getParentOffset:function(){this.offsetParent=
-this.helper.offsetParent();var a=this.offsetParent.offset();if(this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0])){a.left+=this.scrollParent.scrollLeft();a.top+=this.scrollParent.scrollTop()}if(this.offsetParent[0]==document.body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&d.browser.msie)a={top:0,left:0};return{top:a.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:a.left+(parseInt(this.offsetParent.css("borderLeftWidth"),
-10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var a=this.element.position();return{top:a.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}else return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),
-10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var a=this.options;if(a.containment=="parent")a.containment=this.helper[0].parentNode;if(a.containment=="document"||a.containment=="window")this.containment=[a.containment=="document"?0:d(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,a.containment=="document"?0:d(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,
-(a.containment=="document"?0:d(window).scrollLeft())+d(a.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,(a.containment=="document"?0:d(window).scrollTop())+(d(a.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!/^(document|window|parent)$/.test(a.containment)&&a.containment.constructor!=Array){a=d(a.containment);var b=a[0];if(b){a.offset();var c=d(b).css("overflow")!=
-"hidden";this.containment=[(parseInt(d(b).css("borderLeftWidth"),10)||0)+(parseInt(d(b).css("paddingLeft"),10)||0),(parseInt(d(b).css("borderTopWidth"),10)||0)+(parseInt(d(b).css("paddingTop"),10)||0),(c?Math.max(b.scrollWidth,b.offsetWidth):b.offsetWidth)-(parseInt(d(b).css("borderLeftWidth"),10)||0)-(parseInt(d(b).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(c?Math.max(b.scrollHeight,b.offsetHeight):b.offsetHeight)-(parseInt(d(b).css("borderTopWidth"),
-10)||0)-(parseInt(d(b).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom];this.relative_container=a}}else if(a.containment.constructor==Array)this.containment=a.containment},_convertPositionTo:function(a,b){if(!b)b=this.position;a=a=="absolute"?1:-1;var c=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,f=/(html|body)/i.test(c[0].tagName);return{top:b.top+
-this.offset.relative.top*a+this.offset.parent.top*a-(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():f?0:c.scrollTop())*a),left:b.left+this.offset.relative.left*a+this.offset.parent.left*a-(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():f?0:c.scrollLeft())*a)}},_generatePosition:function(a){var b=this.options,c=this.cssPosition=="absolute"&&
-!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,f=/(html|body)/i.test(c[0].tagName),e=a.pageX,h=a.pageY;if(this.originalPosition){var g;if(this.containment){if(this.relative_container){g=this.relative_container.offset();g=[this.containment[0]+g.left,this.containment[1]+g.top,this.containment[2]+g.left,this.containment[3]+g.top]}else g=this.containment;if(a.pageX-this.offset.click.left<g[0])e=g[0]+this.offset.click.left;
-if(a.pageY-this.offset.click.top<g[1])h=g[1]+this.offset.click.top;if(a.pageX-this.offset.click.left>g[2])e=g[2]+this.offset.click.left;if(a.pageY-this.offset.click.top>g[3])h=g[3]+this.offset.click.top}if(b.grid){h=b.grid[1]?this.originalPageY+Math.round((h-this.originalPageY)/b.grid[1])*b.grid[1]:this.originalPageY;h=g?!(h-this.offset.click.top<g[1]||h-this.offset.click.top>g[3])?h:!(h-this.offset.click.top<g[1])?h-b.grid[1]:h+b.grid[1]:h;e=b.grid[0]?this.originalPageX+Math.round((e-this.originalPageX)/
-b.grid[0])*b.grid[0]:this.originalPageX;e=g?!(e-this.offset.click.left<g[0]||e-this.offset.click.left>g[2])?e:!(e-this.offset.click.left<g[0])?e-b.grid[0]:e+b.grid[0]:e}}return{top:h-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollTop():f?0:c.scrollTop()),left:e-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+(d.browser.safari&&d.browser.version<
-526&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():f?0:c.scrollLeft())}},_clear:function(){this.helper.removeClass("ui-draggable-dragging");this.helper[0]!=this.element[0]&&!this.cancelHelperRemoval&&this.helper.remove();this.helper=null;this.cancelHelperRemoval=false},_trigger:function(a,b,c){c=c||this._uiHash();d.ui.plugin.call(this,a,[b,c]);if(a=="drag")this.positionAbs=this._convertPositionTo("absolute");return d.Widget.prototype._trigger.call(this,a,b,
-c)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}});d.extend(d.ui.draggable,{version:"1.8.16"});d.ui.plugin.add("draggable","connectToSortable",{start:function(a,b){var c=d(this).data("draggable"),f=c.options,e=d.extend({},b,{item:c.element});c.sortables=[];d(f.connectToSortable).each(function(){var h=d.data(this,"sortable");if(h&&!h.options.disabled){c.sortables.push({instance:h,shouldRevert:h.options.revert});
-h.refreshPositions();h._trigger("activate",a,e)}})},stop:function(a,b){var c=d(this).data("draggable"),f=d.extend({},b,{item:c.element});d.each(c.sortables,function(){if(this.instance.isOver){this.instance.isOver=0;c.cancelHelperRemoval=true;this.instance.cancelHelperRemoval=false;if(this.shouldRevert)this.instance.options.revert=true;this.instance._mouseStop(a);this.instance.options.helper=this.instance.options._helper;c.options.helper=="original"&&this.instance.currentItem.css({top:"auto",left:"auto"})}else{this.instance.cancelHelperRemoval=
-false;this.instance._trigger("deactivate",a,f)}})},drag:function(a,b){var c=d(this).data("draggable"),f=this;d.each(c.sortables,function(){this.instance.positionAbs=c.positionAbs;this.instance.helperProportions=c.helperProportions;this.instance.offset.click=c.offset.click;if(this.instance._intersectsWith(this.instance.containerCache)){if(!this.instance.isOver){this.instance.isOver=1;this.instance.currentItem=d(f).clone().removeAttr("id").appendTo(this.instance.element).data("sortable-item",true);
-this.instance.options._helper=this.instance.options.helper;this.instance.options.helper=function(){return b.helper[0]};a.target=this.instance.currentItem[0];this.instance._mouseCapture(a,true);this.instance._mouseStart(a,true,true);this.instance.offset.click.top=c.offset.click.top;this.instance.offset.click.left=c.offset.click.left;this.instance.offset.parent.left-=c.offset.parent.left-this.instance.offset.parent.left;this.instance.offset.parent.top-=c.offset.parent.top-this.instance.offset.parent.top;
-c._trigger("toSortable",a);c.dropped=this.instance.element;c.currentItem=c.element;this.instance.fromOutside=c}this.instance.currentItem&&this.instance._mouseDrag(a)}else if(this.instance.isOver){this.instance.isOver=0;this.instance.cancelHelperRemoval=true;this.instance.options.revert=false;this.instance._trigger("out",a,this.instance._uiHash(this.instance));this.instance._mouseStop(a,true);this.instance.options.helper=this.instance.options._helper;this.instance.currentItem.remove();this.instance.placeholder&&
-this.instance.placeholder.remove();c._trigger("fromSortable",a);c.dropped=false}})}});d.ui.plugin.add("draggable","cursor",{start:function(){var a=d("body"),b=d(this).data("draggable").options;if(a.css("cursor"))b._cursor=a.css("cursor");a.css("cursor",b.cursor)},stop:function(){var a=d(this).data("draggable").options;a._cursor&&d("body").css("cursor",a._cursor)}});d.ui.plugin.add("draggable","opacity",{start:function(a,b){a=d(b.helper);b=d(this).data("draggable").options;if(a.css("opacity"))b._opacity=
-a.css("opacity");a.css("opacity",b.opacity)},stop:function(a,b){a=d(this).data("draggable").options;a._opacity&&d(b.helper).css("opacity",a._opacity)}});d.ui.plugin.add("draggable","scroll",{start:function(){var a=d(this).data("draggable");if(a.scrollParent[0]!=document&&a.scrollParent[0].tagName!="HTML")a.overflowOffset=a.scrollParent.offset()},drag:function(a){var b=d(this).data("draggable"),c=b.options,f=false;if(b.scrollParent[0]!=document&&b.scrollParent[0].tagName!="HTML"){if(!c.axis||c.axis!=
-"x")if(b.overflowOffset.top+b.scrollParent[0].offsetHeight-a.pageY<c.scrollSensitivity)b.scrollParent[0].scrollTop=f=b.scrollParent[0].scrollTop+c.scrollSpeed;else if(a.pageY-b.overflowOffset.top<c.scrollSensitivity)b.scrollParent[0].scrollTop=f=b.scrollParent[0].scrollTop-c.scrollSpeed;if(!c.axis||c.axis!="y")if(b.overflowOffset.left+b.scrollParent[0].offsetWidth-a.pageX<c.scrollSensitivity)b.scrollParent[0].scrollLeft=f=b.scrollParent[0].scrollLeft+c.scrollSpeed;else if(a.pageX-b.overflowOffset.left<
-c.scrollSensitivity)b.scrollParent[0].scrollLeft=f=b.scrollParent[0].scrollLeft-c.scrollSpeed}else{if(!c.axis||c.axis!="x")if(a.pageY-d(document).scrollTop()<c.scrollSensitivity)f=d(document).scrollTop(d(document).scrollTop()-c.scrollSpeed);else if(d(window).height()-(a.pageY-d(document).scrollTop())<c.scrollSensitivity)f=d(document).scrollTop(d(document).scrollTop()+c.scrollSpeed);if(!c.axis||c.axis!="y")if(a.pageX-d(document).scrollLeft()<c.scrollSensitivity)f=d(document).scrollLeft(d(document).scrollLeft()-
-c.scrollSpeed);else if(d(window).width()-(a.pageX-d(document).scrollLeft())<c.scrollSensitivity)f=d(document).scrollLeft(d(document).scrollLeft()+c.scrollSpeed)}f!==false&&d.ui.ddmanager&&!c.dropBehaviour&&d.ui.ddmanager.prepareOffsets(b,a)}});d.ui.plugin.add("draggable","snap",{start:function(){var a=d(this).data("draggable"),b=a.options;a.snapElements=[];d(b.snap.constructor!=String?b.snap.items||":data(draggable)":b.snap).each(function(){var c=d(this),f=c.offset();this!=a.element[0]&&a.snapElements.push({item:this,
-width:c.outerWidth(),height:c.outerHeight(),top:f.top,left:f.left})})},drag:function(a,b){for(var c=d(this).data("draggable"),f=c.options,e=f.snapTolerance,h=b.offset.left,g=h+c.helperProportions.width,n=b.offset.top,o=n+c.helperProportions.height,i=c.snapElements.length-1;i>=0;i--){var j=c.snapElements[i].left,l=j+c.snapElements[i].width,k=c.snapElements[i].top,m=k+c.snapElements[i].height;if(j-e<h&&h<l+e&&k-e<n&&n<m+e||j-e<h&&h<l+e&&k-e<o&&o<m+e||j-e<g&&g<l+e&&k-e<n&&n<m+e||j-e<g&&g<l+e&&k-e<o&&
-o<m+e){if(f.snapMode!="inner"){var p=Math.abs(k-o)<=e,q=Math.abs(m-n)<=e,r=Math.abs(j-g)<=e,s=Math.abs(l-h)<=e;if(p)b.position.top=c._convertPositionTo("relative",{top:k-c.helperProportions.height,left:0}).top-c.margins.top;if(q)b.position.top=c._convertPositionTo("relative",{top:m,left:0}).top-c.margins.top;if(r)b.position.left=c._convertPositionTo("relative",{top:0,left:j-c.helperProportions.width}).left-c.margins.left;if(s)b.position.left=c._convertPositionTo("relative",{top:0,left:l}).left-c.margins.left}var t=
-p||q||r||s;if(f.snapMode!="outer"){p=Math.abs(k-n)<=e;q=Math.abs(m-o)<=e;r=Math.abs(j-h)<=e;s=Math.abs(l-g)<=e;if(p)b.position.top=c._convertPositionTo("relative",{top:k,left:0}).top-c.margins.top;if(q)b.position.top=c._convertPositionTo("relative",{top:m-c.helperProportions.height,left:0}).top-c.margins.top;if(r)b.position.left=c._convertPositionTo("relative",{top:0,left:j}).left-c.margins.left;if(s)b.position.left=c._convertPositionTo("relative",{top:0,left:l-c.helperProportions.width}).left-c.margins.left}if(!c.snapElements[i].snapping&&
-(p||q||r||s||t))c.options.snap.snap&&c.options.snap.snap.call(c.element,a,d.extend(c._uiHash(),{snapItem:c.snapElements[i].item}));c.snapElements[i].snapping=p||q||r||s||t}else{c.snapElements[i].snapping&&c.options.snap.release&&c.options.snap.release.call(c.element,a,d.extend(c._uiHash(),{snapItem:c.snapElements[i].item}));c.snapElements[i].snapping=false}}}});d.ui.plugin.add("draggable","stack",{start:function(){var a=d(this).data("draggable").options;a=d.makeArray(d(a.stack)).sort(function(c,f){return(parseInt(d(c).css("zIndex"),
-10)||0)-(parseInt(d(f).css("zIndex"),10)||0)});if(a.length){var b=parseInt(a[0].style.zIndex)||0;d(a).each(function(c){this.style.zIndex=b+c});this[0].style.zIndex=b+a.length}}});d.ui.plugin.add("draggable","zIndex",{start:function(a,b){a=d(b.helper);b=d(this).data("draggable").options;if(a.css("zIndex"))b._zIndex=a.css("zIndex");a.css("zIndex",b.zIndex)},stop:function(a,b){a=d(this).data("draggable").options;a._zIndex&&d(b.helper).css("zIndex",a._zIndex)}})})(jQuery);
-;/*
- * jQuery UI Droppable 1.8.16
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Droppables
- *
- * Depends:
- * jquery.ui.core.js
- * jquery.ui.widget.js
- * jquery.ui.mouse.js
- * jquery.ui.draggable.js
- */
-(function(d){d.widget("ui.droppable",{widgetEventPrefix:"drop",options:{accept:"*",activeClass:false,addClasses:true,greedy:false,hoverClass:false,scope:"default",tolerance:"intersect"},_create:function(){var a=this.options,b=a.accept;this.isover=0;this.isout=1;this.accept=d.isFunction(b)?b:function(c){return c.is(b)};this.proportions={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight};d.ui.ddmanager.droppables[a.scope]=d.ui.ddmanager.droppables[a.scope]||[];d.ui.ddmanager.droppables[a.scope].push(this);
-a.addClasses&&this.element.addClass("ui-droppable")},destroy:function(){for(var a=d.ui.ddmanager.droppables[this.options.scope],b=0;b<a.length;b++)a[b]==this&&a.splice(b,1);this.element.removeClass("ui-droppable ui-droppable-disabled").removeData("droppable").unbind(".droppable");return this},_setOption:function(a,b){if(a=="accept")this.accept=d.isFunction(b)?b:function(c){return c.is(b)};d.Widget.prototype._setOption.apply(this,arguments)},_activate:function(a){var b=d.ui.ddmanager.current;this.options.activeClass&&
-this.element.addClass(this.options.activeClass);b&&this._trigger("activate",a,this.ui(b))},_deactivate:function(a){var b=d.ui.ddmanager.current;this.options.activeClass&&this.element.removeClass(this.options.activeClass);b&&this._trigger("deactivate",a,this.ui(b))},_over:function(a){var b=d.ui.ddmanager.current;if(!(!b||(b.currentItem||b.element)[0]==this.element[0]))if(this.accept.call(this.element[0],b.currentItem||b.element)){this.options.hoverClass&&this.element.addClass(this.options.hoverClass);
-this._trigger("over",a,this.ui(b))}},_out:function(a){var b=d.ui.ddmanager.current;if(!(!b||(b.currentItem||b.element)[0]==this.element[0]))if(this.accept.call(this.element[0],b.currentItem||b.element)){this.options.hoverClass&&this.element.removeClass(this.options.hoverClass);this._trigger("out",a,this.ui(b))}},_drop:function(a,b){var c=b||d.ui.ddmanager.current;if(!c||(c.currentItem||c.element)[0]==this.element[0])return false;var e=false;this.element.find(":data(droppable)").not(".ui-draggable-dragging").each(function(){var g=
-d.data(this,"droppable");if(g.options.greedy&&!g.options.disabled&&g.options.scope==c.options.scope&&g.accept.call(g.element[0],c.currentItem||c.element)&&d.ui.intersect(c,d.extend(g,{offset:g.element.offset()}),g.options.tolerance)){e=true;return false}});if(e)return false;if(this.accept.call(this.element[0],c.currentItem||c.element)){this.options.activeClass&&this.element.removeClass(this.options.activeClass);this.options.hoverClass&&this.element.removeClass(this.options.hoverClass);this._trigger("drop",
-a,this.ui(c));return this.element}return false},ui:function(a){return{draggable:a.currentItem||a.element,helper:a.helper,position:a.position,offset:a.positionAbs}}});d.extend(d.ui.droppable,{version:"1.8.16"});d.ui.intersect=function(a,b,c){if(!b.offset)return false;var e=(a.positionAbs||a.position.absolute).left,g=e+a.helperProportions.width,f=(a.positionAbs||a.position.absolute).top,h=f+a.helperProportions.height,i=b.offset.left,k=i+b.proportions.width,j=b.offset.top,l=j+b.proportions.height;
-switch(c){case "fit":return i<=e&&g<=k&&j<=f&&h<=l;case "intersect":return i<e+a.helperProportions.width/2&&g-a.helperProportions.width/2<k&&j<f+a.helperProportions.height/2&&h-a.helperProportions.height/2<l;case "pointer":return d.ui.isOver((a.positionAbs||a.position.absolute).top+(a.clickOffset||a.offset.click).top,(a.positionAbs||a.position.absolute).left+(a.clickOffset||a.offset.click).left,j,i,b.proportions.height,b.proportions.width);case "touch":return(f>=j&&f<=l||h>=j&&h<=l||f<j&&h>l)&&(e>=
-i&&e<=k||g>=i&&g<=k||e<i&&g>k);default:return false}};d.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(a,b){var c=d.ui.ddmanager.droppables[a.options.scope]||[],e=b?b.type:null,g=(a.currentItem||a.element).find(":data(droppable)").andSelf(),f=0;a:for(;f<c.length;f++)if(!(c[f].options.disabled||a&&!c[f].accept.call(c[f].element[0],a.currentItem||a.element))){for(var h=0;h<g.length;h++)if(g[h]==c[f].element[0]){c[f].proportions.height=0;continue a}c[f].visible=c[f].element.css("display")!=
-"none";if(c[f].visible){e=="mousedown"&&c[f]._activate.call(c[f],b);c[f].offset=c[f].element.offset();c[f].proportions={width:c[f].element[0].offsetWidth,height:c[f].element[0].offsetHeight}}}},drop:function(a,b){var c=false;d.each(d.ui.ddmanager.droppables[a.options.scope]||[],function(){if(this.options){if(!this.options.disabled&&this.visible&&d.ui.intersect(a,this,this.options.tolerance))c=c||this._drop.call(this,b);if(!this.options.disabled&&this.visible&&this.accept.call(this.element[0],a.currentItem||
-a.element)){this.isout=1;this.isover=0;this._deactivate.call(this,b)}}});return c},dragStart:function(a,b){a.element.parents(":not(body,html)").bind("scroll.droppable",function(){a.options.refreshPositions||d.ui.ddmanager.prepareOffsets(a,b)})},drag:function(a,b){a.options.refreshPositions&&d.ui.ddmanager.prepareOffsets(a,b);d.each(d.ui.ddmanager.droppables[a.options.scope]||[],function(){if(!(this.options.disabled||this.greedyChild||!this.visible)){var c=d.ui.intersect(a,this,this.options.tolerance);
-if(c=!c&&this.isover==1?"isout":c&&this.isover==0?"isover":null){var e;if(this.options.greedy){var g=this.element.parents(":data(droppable):eq(0)");if(g.length){e=d.data(g[0],"droppable");e.greedyChild=c=="isover"?1:0}}if(e&&c=="isover"){e.isover=0;e.isout=1;e._out.call(e,b)}this[c]=1;this[c=="isout"?"isover":"isout"]=0;this[c=="isover"?"_over":"_out"].call(this,b);if(e&&c=="isout"){e.isout=0;e.isover=1;e._over.call(e,b)}}}})},dragStop:function(a,b){a.element.parents(":not(body,html)").unbind("scroll.droppable");
-a.options.refreshPositions||d.ui.ddmanager.prepareOffsets(a,b)}}})(jQuery);
-;/*
- * jQuery UI Resizable 1.8.16
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Resizables
- *
- * Depends:
- * jquery.ui.core.js
- * jquery.ui.mouse.js
- * jquery.ui.widget.js
- */
-(function(e){e.widget("ui.resizable",e.ui.mouse,{widgetEventPrefix:"resize",options:{alsoResize:false,animate:false,animateDuration:"slow",animateEasing:"swing",aspectRatio:false,autoHide:false,containment:false,ghost:false,grid:false,handles:"e,s,se",helper:false,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:1E3},_create:function(){var b=this,a=this.options;this.element.addClass("ui-resizable");e.extend(this,{_aspectRatio:!!a.aspectRatio,aspectRatio:a.aspectRatio,originalElement:this.element,
-_proportionallyResizeElements:[],_helper:a.helper||a.ghost||a.animate?a.helper||"ui-resizable-helper":null});if(this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)){/relative/.test(this.element.css("position"))&&e.browser.opera&&this.element.css({position:"relative",top:"auto",left:"auto"});this.element.wrap(e('<div class="ui-wrapper" style="overflow: hidden;"></div>').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),
-top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle=
-this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=a.handles||(!e(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",
-nw:".ui-resizable-nw"});if(this.handles.constructor==String){if(this.handles=="all")this.handles="n,e,s,w,se,sw,ne,nw";var c=this.handles.split(",");this.handles={};for(var d=0;d<c.length;d++){var f=e.trim(c[d]),g=e('<div class="ui-resizable-handle '+("ui-resizable-"+f)+'"></div>');/sw|se|ne|nw/.test(f)&&g.css({zIndex:++a.zIndex});"se"==f&&g.addClass("ui-icon ui-icon-gripsmall-diagonal-se");this.handles[f]=".ui-resizable-"+f;this.element.append(g)}}this._renderAxis=function(h){h=h||this.element;for(var i in this.handles){if(this.handles[i].constructor==
-String)this.handles[i]=e(this.handles[i],this.element).show();if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var j=e(this.handles[i],this.element),l=0;l=/sw|ne|nw|se|n|s/.test(i)?j.outerHeight():j.outerWidth();j=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join("");h.css(j,l);this._proportionallyResize()}e(this.handles[i])}};this._renderAxis(this.element);this._handles=e(".ui-resizable-handle",this.element).disableSelection();
-this._handles.mouseover(function(){if(!b.resizing){if(this.className)var h=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i);b.axis=h&&h[1]?h[1]:"se"}});if(a.autoHide){this._handles.hide();e(this.element).addClass("ui-resizable-autohide").hover(function(){if(!a.disabled){e(this).removeClass("ui-resizable-autohide");b._handles.show()}},function(){if(!a.disabled)if(!b.resizing){e(this).addClass("ui-resizable-autohide");b._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy();
-var b=function(c){e(c).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};if(this.elementIsWrapper){b(this.element);var a=this.element;a.after(this.originalElement.css({position:a.css("position"),width:a.outerWidth(),height:a.outerHeight(),top:a.css("top"),left:a.css("left")})).remove()}this.originalElement.css("resize",this.originalResizeStyle);b(this.originalElement);return this},_mouseCapture:function(b){var a=
-false;for(var c in this.handles)if(e(this.handles[c])[0]==b.target)a=true;return!this.options.disabled&&a},_mouseStart:function(b){var a=this.options,c=this.element.position(),d=this.element;this.resizing=true;this.documentScroll={top:e(document).scrollTop(),left:e(document).scrollLeft()};if(d.is(".ui-draggable")||/absolute/.test(d.css("position")))d.css({position:"absolute",top:c.top,left:c.left});e.browser.opera&&/relative/.test(d.css("position"))&&d.css({position:"relative",top:"auto",left:"auto"});
-this._renderProxy();c=m(this.helper.css("left"));var f=m(this.helper.css("top"));if(a.containment){c+=e(a.containment).scrollLeft()||0;f+=e(a.containment).scrollTop()||0}this.offset=this.helper.offset();this.position={left:c,top:f};this.size=this._helper?{width:d.outerWidth(),height:d.outerHeight()}:{width:d.width(),height:d.height()};this.originalSize=this._helper?{width:d.outerWidth(),height:d.outerHeight()}:{width:d.width(),height:d.height()};this.originalPosition={left:c,top:f};this.sizeDiff=
-{width:d.outerWidth()-d.width(),height:d.outerHeight()-d.height()};this.originalMousePosition={left:b.pageX,top:b.pageY};this.aspectRatio=typeof a.aspectRatio=="number"?a.aspectRatio:this.originalSize.width/this.originalSize.height||1;a=e(".ui-resizable-"+this.axis).css("cursor");e("body").css("cursor",a=="auto"?this.axis+"-resize":a);d.addClass("ui-resizable-resizing");this._propagate("start",b);return true},_mouseDrag:function(b){var a=this.helper,c=this.originalMousePosition,d=this._change[this.axis];
-if(!d)return false;c=d.apply(this,[b,b.pageX-c.left||0,b.pageY-c.top||0]);this._updateVirtualBoundaries(b.shiftKey);if(this._aspectRatio||b.shiftKey)c=this._updateRatio(c,b);c=this._respectSize(c,b);this._propagate("resize",b);a.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize();this._updateCache(c);this._trigger("resize",b,this.ui());return false},
-_mouseStop:function(b){this.resizing=false;var a=this.options,c=this;if(this._helper){var d=this._proportionallyResizeElements,f=d.length&&/textarea/i.test(d[0].nodeName);d=f&&e.ui.hasScroll(d[0],"left")?0:c.sizeDiff.height;f=f?0:c.sizeDiff.width;f={width:c.helper.width()-f,height:c.helper.height()-d};d=parseInt(c.element.css("left"),10)+(c.position.left-c.originalPosition.left)||null;var g=parseInt(c.element.css("top"),10)+(c.position.top-c.originalPosition.top)||null;a.animate||this.element.css(e.extend(f,
-{top:g,left:d}));c.helper.height(c.size.height);c.helper.width(c.size.width);this._helper&&!a.animate&&this._proportionallyResize()}e("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");this._propagate("stop",b);this._helper&&this.helper.remove();return false},_updateVirtualBoundaries:function(b){var a=this.options,c,d,f;a={minWidth:k(a.minWidth)?a.minWidth:0,maxWidth:k(a.maxWidth)?a.maxWidth:Infinity,minHeight:k(a.minHeight)?a.minHeight:0,maxHeight:k(a.maxHeight)?a.maxHeight:
-Infinity};if(this._aspectRatio||b){b=a.minHeight*this.aspectRatio;d=a.minWidth/this.aspectRatio;c=a.maxHeight*this.aspectRatio;f=a.maxWidth/this.aspectRatio;if(b>a.minWidth)a.minWidth=b;if(d>a.minHeight)a.minHeight=d;if(c<a.maxWidth)a.maxWidth=c;if(f<a.maxHeight)a.maxHeight=f}this._vBoundaries=a},_updateCache:function(b){this.offset=this.helper.offset();if(k(b.left))this.position.left=b.left;if(k(b.top))this.position.top=b.top;if(k(b.height))this.size.height=b.height;if(k(b.width))this.size.width=
-b.width},_updateRatio:function(b){var a=this.position,c=this.size,d=this.axis;if(k(b.height))b.width=b.height*this.aspectRatio;else if(k(b.width))b.height=b.width/this.aspectRatio;if(d=="sw"){b.left=a.left+(c.width-b.width);b.top=null}if(d=="nw"){b.top=a.top+(c.height-b.height);b.left=a.left+(c.width-b.width)}return b},_respectSize:function(b){var a=this._vBoundaries,c=this.axis,d=k(b.width)&&a.maxWidth&&a.maxWidth<b.width,f=k(b.height)&&a.maxHeight&&a.maxHeight<b.height,g=k(b.width)&&a.minWidth&&
-a.minWidth>b.width,h=k(b.height)&&a.minHeight&&a.minHeight>b.height;if(g)b.width=a.minWidth;if(h)b.height=a.minHeight;if(d)b.width=a.maxWidth;if(f)b.height=a.maxHeight;var i=this.originalPosition.left+this.originalSize.width,j=this.position.top+this.size.height,l=/sw|nw|w/.test(c);c=/nw|ne|n/.test(c);if(g&&l)b.left=i-a.minWidth;if(d&&l)b.left=i-a.maxWidth;if(h&&c)b.top=j-a.minHeight;if(f&&c)b.top=j-a.maxHeight;if((a=!b.width&&!b.height)&&!b.left&&b.top)b.top=null;else if(a&&!b.top&&b.left)b.left=
-null;return b},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var b=this.helper||this.element,a=0;a<this._proportionallyResizeElements.length;a++){var c=this._proportionallyResizeElements[a];if(!this.borderDif){var d=[c.css("borderTopWidth"),c.css("borderRightWidth"),c.css("borderBottomWidth"),c.css("borderLeftWidth")],f=[c.css("paddingTop"),c.css("paddingRight"),c.css("paddingBottom"),c.css("paddingLeft")];this.borderDif=e.map(d,function(g,h){g=parseInt(g,10)||
-0;h=parseInt(f[h],10)||0;return g+h})}e.browser.msie&&(e(b).is(":hidden")||e(b).parents(":hidden").length)||c.css({height:b.height()-this.borderDif[0]-this.borderDif[2]||0,width:b.width()-this.borderDif[1]-this.borderDif[3]||0})}},_renderProxy:function(){var b=this.options;this.elementOffset=this.element.offset();if(this._helper){this.helper=this.helper||e('<div style="overflow:hidden;"></div>');var a=e.browser.msie&&e.browser.version<7,c=a?1:0;a=a?2:-1;this.helper.addClass(this._helper).css({width:this.element.outerWidth()+
-a,height:this.element.outerHeight()+a,position:"absolute",left:this.elementOffset.left-c+"px",top:this.elementOffset.top-c+"px",zIndex:++b.zIndex});this.helper.appendTo("body").disableSelection()}else this.helper=this.element},_change:{e:function(b,a){return{width:this.originalSize.width+a}},w:function(b,a){return{left:this.originalPosition.left+a,width:this.originalSize.width-a}},n:function(b,a,c){return{top:this.originalPosition.top+c,height:this.originalSize.height-c}},s:function(b,a,c){return{height:this.originalSize.height+
-c}},se:function(b,a,c){return e.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[b,a,c]))},sw:function(b,a,c){return e.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[b,a,c]))},ne:function(b,a,c){return e.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[b,a,c]))},nw:function(b,a,c){return e.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[b,a,c]))}},_propagate:function(b,a){e.ui.plugin.call(this,b,[a,this.ui()]);
-b!="resize"&&this._trigger(b,a,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}});e.extend(e.ui.resizable,{version:"1.8.16"});e.ui.plugin.add("resizable","alsoResize",{start:function(){var b=e(this).data("resizable").options,a=function(c){e(c).each(function(){var d=e(this);d.data("resizable-alsoresize",{width:parseInt(d.width(),
-10),height:parseInt(d.height(),10),left:parseInt(d.css("left"),10),top:parseInt(d.css("top"),10),position:d.css("position")})})};if(typeof b.alsoResize=="object"&&!b.alsoResize.parentNode)if(b.alsoResize.length){b.alsoResize=b.alsoResize[0];a(b.alsoResize)}else e.each(b.alsoResize,function(c){a(c)});else a(b.alsoResize)},resize:function(b,a){var c=e(this).data("resizable");b=c.options;var d=c.originalSize,f=c.originalPosition,g={height:c.size.height-d.height||0,width:c.size.width-d.width||0,top:c.position.top-
-f.top||0,left:c.position.left-f.left||0},h=function(i,j){e(i).each(function(){var l=e(this),q=e(this).data("resizable-alsoresize"),p={},r=j&&j.length?j:l.parents(a.originalElement[0]).length?["width","height"]:["width","height","top","left"];e.each(r,function(n,o){if((n=(q[o]||0)+(g[o]||0))&&n>=0)p[o]=n||null});if(e.browser.opera&&/relative/.test(l.css("position"))){c._revertToRelativePosition=true;l.css({position:"absolute",top:"auto",left:"auto"})}l.css(p)})};typeof b.alsoResize=="object"&&!b.alsoResize.nodeType?
-e.each(b.alsoResize,function(i,j){h(i,j)}):h(b.alsoResize)},stop:function(){var b=e(this).data("resizable"),a=b.options,c=function(d){e(d).each(function(){var f=e(this);f.css({position:f.data("resizable-alsoresize").position})})};if(b._revertToRelativePosition){b._revertToRelativePosition=false;typeof a.alsoResize=="object"&&!a.alsoResize.nodeType?e.each(a.alsoResize,function(d){c(d)}):c(a.alsoResize)}e(this).removeData("resizable-alsoresize")}});e.ui.plugin.add("resizable","animate",{stop:function(b){var a=
-e(this).data("resizable"),c=a.options,d=a._proportionallyResizeElements,f=d.length&&/textarea/i.test(d[0].nodeName),g=f&&e.ui.hasScroll(d[0],"left")?0:a.sizeDiff.height;f={width:a.size.width-(f?0:a.sizeDiff.width),height:a.size.height-g};g=parseInt(a.element.css("left"),10)+(a.position.left-a.originalPosition.left)||null;var h=parseInt(a.element.css("top"),10)+(a.position.top-a.originalPosition.top)||null;a.element.animate(e.extend(f,h&&g?{top:h,left:g}:{}),{duration:c.animateDuration,easing:c.animateEasing,
-step:function(){var i={width:parseInt(a.element.css("width"),10),height:parseInt(a.element.css("height"),10),top:parseInt(a.element.css("top"),10),left:parseInt(a.element.css("left"),10)};d&&d.length&&e(d[0]).css({width:i.width,height:i.height});a._updateCache(i);a._propagate("resize",b)}})}});e.ui.plugin.add("resizable","containment",{start:function(){var b=e(this).data("resizable"),a=b.element,c=b.options.containment;if(a=c instanceof e?c.get(0):/parent/.test(c)?a.parent().get(0):c){b.containerElement=
-e(a);if(/document/.test(c)||c==document){b.containerOffset={left:0,top:0};b.containerPosition={left:0,top:0};b.parentData={element:e(document),left:0,top:0,width:e(document).width(),height:e(document).height()||document.body.parentNode.scrollHeight}}else{var d=e(a),f=[];e(["Top","Right","Left","Bottom"]).each(function(i,j){f[i]=m(d.css("padding"+j))});b.containerOffset=d.offset();b.containerPosition=d.position();b.containerSize={height:d.innerHeight()-f[3],width:d.innerWidth()-f[1]};c=b.containerOffset;
-var g=b.containerSize.height,h=b.containerSize.width;h=e.ui.hasScroll(a,"left")?a.scrollWidth:h;g=e.ui.hasScroll(a)?a.scrollHeight:g;b.parentData={element:a,left:c.left,top:c.top,width:h,height:g}}}},resize:function(b){var a=e(this).data("resizable"),c=a.options,d=a.containerOffset,f=a.position;b=a._aspectRatio||b.shiftKey;var g={top:0,left:0},h=a.containerElement;if(h[0]!=document&&/static/.test(h.css("position")))g=d;if(f.left<(a._helper?d.left:0)){a.size.width+=a._helper?a.position.left-d.left:
-a.position.left-g.left;if(b)a.size.height=a.size.width/c.aspectRatio;a.position.left=c.helper?d.left:0}if(f.top<(a._helper?d.top:0)){a.size.height+=a._helper?a.position.top-d.top:a.position.top;if(b)a.size.width=a.size.height*c.aspectRatio;a.position.top=a._helper?d.top:0}a.offset.left=a.parentData.left+a.position.left;a.offset.top=a.parentData.top+a.position.top;c=Math.abs((a._helper?a.offset.left-g.left:a.offset.left-g.left)+a.sizeDiff.width);d=Math.abs((a._helper?a.offset.top-g.top:a.offset.top-
-d.top)+a.sizeDiff.height);f=a.containerElement.get(0)==a.element.parent().get(0);g=/relative|absolute/.test(a.containerElement.css("position"));if(f&&g)c-=a.parentData.left;if(c+a.size.width>=a.parentData.width){a.size.width=a.parentData.width-c;if(b)a.size.height=a.size.width/a.aspectRatio}if(d+a.size.height>=a.parentData.height){a.size.height=a.parentData.height-d;if(b)a.size.width=a.size.height*a.aspectRatio}},stop:function(){var b=e(this).data("resizable"),a=b.options,c=b.containerOffset,d=b.containerPosition,
-f=b.containerElement,g=e(b.helper),h=g.offset(),i=g.outerWidth()-b.sizeDiff.width;g=g.outerHeight()-b.sizeDiff.height;b._helper&&!a.animate&&/relative/.test(f.css("position"))&&e(this).css({left:h.left-d.left-c.left,width:i,height:g});b._helper&&!a.animate&&/static/.test(f.css("position"))&&e(this).css({left:h.left-d.left-c.left,width:i,height:g})}});e.ui.plugin.add("resizable","ghost",{start:function(){var b=e(this).data("resizable"),a=b.options,c=b.size;b.ghost=b.originalElement.clone();b.ghost.css({opacity:0.25,
-display:"block",position:"relative",height:c.height,width:c.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof a.ghost=="string"?a.ghost:"");b.ghost.appendTo(b.helper)},resize:function(){var b=e(this).data("resizable");b.ghost&&b.ghost.css({position:"relative",height:b.size.height,width:b.size.width})},stop:function(){var b=e(this).data("resizable");b.ghost&&b.helper&&b.helper.get(0).removeChild(b.ghost.get(0))}});e.ui.plugin.add("resizable","grid",{resize:function(){var b=
-e(this).data("resizable"),a=b.options,c=b.size,d=b.originalSize,f=b.originalPosition,g=b.axis;a.grid=typeof a.grid=="number"?[a.grid,a.grid]:a.grid;var h=Math.round((c.width-d.width)/(a.grid[0]||1))*(a.grid[0]||1);a=Math.round((c.height-d.height)/(a.grid[1]||1))*(a.grid[1]||1);if(/^(se|s|e)$/.test(g)){b.size.width=d.width+h;b.size.height=d.height+a}else if(/^(ne)$/.test(g)){b.size.width=d.width+h;b.size.height=d.height+a;b.position.top=f.top-a}else{if(/^(sw)$/.test(g)){b.size.width=d.width+h;b.size.height=
-d.height+a}else{b.size.width=d.width+h;b.size.height=d.height+a;b.position.top=f.top-a}b.position.left=f.left-h}}});var m=function(b){return parseInt(b,10)||0},k=function(b){return!isNaN(parseInt(b,10))}})(jQuery);
-;/*
- * jQuery UI Selectable 1.8.16
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Selectables
- *
- * Depends:
- * jquery.ui.core.js
- * jquery.ui.mouse.js
- * jquery.ui.widget.js
- */
-(function(e){e.widget("ui.selectable",e.ui.mouse,{options:{appendTo:"body",autoRefresh:true,distance:0,filter:"*",tolerance:"touch"},_create:function(){var c=this;this.element.addClass("ui-selectable");this.dragged=false;var f;this.refresh=function(){f=e(c.options.filter,c.element[0]);f.each(function(){var d=e(this),b=d.offset();e.data(this,"selectable-item",{element:this,$element:d,left:b.left,top:b.top,right:b.left+d.outerWidth(),bottom:b.top+d.outerHeight(),startselected:false,selected:d.hasClass("ui-selected"),
-selecting:d.hasClass("ui-selecting"),unselecting:d.hasClass("ui-unselecting")})})};this.refresh();this.selectees=f.addClass("ui-selectee");this._mouseInit();this.helper=e("<div class='ui-selectable-helper'></div>")},destroy:function(){this.selectees.removeClass("ui-selectee").removeData("selectable-item");this.element.removeClass("ui-selectable ui-selectable-disabled").removeData("selectable").unbind(".selectable");this._mouseDestroy();return this},_mouseStart:function(c){var f=this;this.opos=[c.pageX,
-c.pageY];if(!this.options.disabled){var d=this.options;this.selectees=e(d.filter,this.element[0]);this._trigger("start",c);e(d.appendTo).append(this.helper);this.helper.css({left:c.clientX,top:c.clientY,width:0,height:0});d.autoRefresh&&this.refresh();this.selectees.filter(".ui-selected").each(function(){var b=e.data(this,"selectable-item");b.startselected=true;if(!c.metaKey){b.$element.removeClass("ui-selected");b.selected=false;b.$element.addClass("ui-unselecting");b.unselecting=true;f._trigger("unselecting",
-c,{unselecting:b.element})}});e(c.target).parents().andSelf().each(function(){var b=e.data(this,"selectable-item");if(b){var g=!c.metaKey||!b.$element.hasClass("ui-selected");b.$element.removeClass(g?"ui-unselecting":"ui-selected").addClass(g?"ui-selecting":"ui-unselecting");b.unselecting=!g;b.selecting=g;(b.selected=g)?f._trigger("selecting",c,{selecting:b.element}):f._trigger("unselecting",c,{unselecting:b.element});return false}})}},_mouseDrag:function(c){var f=this;this.dragged=true;if(!this.options.disabled){var d=
-this.options,b=this.opos[0],g=this.opos[1],h=c.pageX,i=c.pageY;if(b>h){var j=h;h=b;b=j}if(g>i){j=i;i=g;g=j}this.helper.css({left:b,top:g,width:h-b,height:i-g});this.selectees.each(function(){var a=e.data(this,"selectable-item");if(!(!a||a.element==f.element[0])){var k=false;if(d.tolerance=="touch")k=!(a.left>h||a.right<b||a.top>i||a.bottom<g);else if(d.tolerance=="fit")k=a.left>b&&a.right<h&&a.top>g&&a.bottom<i;if(k){if(a.selected){a.$element.removeClass("ui-selected");a.selected=false}if(a.unselecting){a.$element.removeClass("ui-unselecting");
-a.unselecting=false}if(!a.selecting){a.$element.addClass("ui-selecting");a.selecting=true;f._trigger("selecting",c,{selecting:a.element})}}else{if(a.selecting)if(c.metaKey&&a.startselected){a.$element.removeClass("ui-selecting");a.selecting=false;a.$element.addClass("ui-selected");a.selected=true}else{a.$element.removeClass("ui-selecting");a.selecting=false;if(a.startselected){a.$element.addClass("ui-unselecting");a.unselecting=true}f._trigger("unselecting",c,{unselecting:a.element})}if(a.selected)if(!c.metaKey&&
-!a.startselected){a.$element.removeClass("ui-selected");a.selected=false;a.$element.addClass("ui-unselecting");a.unselecting=true;f._trigger("unselecting",c,{unselecting:a.element})}}}});return false}},_mouseStop:function(c){var f=this;this.dragged=false;e(".ui-unselecting",this.element[0]).each(function(){var d=e.data(this,"selectable-item");d.$element.removeClass("ui-unselecting");d.unselecting=false;d.startselected=false;f._trigger("unselected",c,{unselected:d.element})});e(".ui-selecting",this.element[0]).each(function(){var d=
-e.data(this,"selectable-item");d.$element.removeClass("ui-selecting").addClass("ui-selected");d.selecting=false;d.selected=true;d.startselected=true;f._trigger("selected",c,{selected:d.element})});this._trigger("stop",c);this.helper.remove();return false}});e.extend(e.ui.selectable,{version:"1.8.16"})})(jQuery);
-;/*
- * jQuery UI Sortable 1.8.16
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Sortables
- *
- * Depends:
- * jquery.ui.core.js
- * jquery.ui.mouse.js
- * jquery.ui.widget.js
- */
-(function(d){d.widget("ui.sortable",d.ui.mouse,{widgetEventPrefix:"sort",options:{appendTo:"parent",axis:false,connectWith:false,containment:false,cursor:"auto",cursorAt:false,dropOnEmpty:true,forcePlaceholderSize:false,forceHelperSize:false,grid:false,handle:false,helper:"original",items:"> *",opacity:false,placeholder:false,revert:false,scroll:true,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1E3},_create:function(){var a=this.options;this.containerCache={};this.element.addClass("ui-sortable");
-this.refresh();this.floating=this.items.length?a.axis==="x"||/left|right/.test(this.items[0].item.css("float"))||/inline|table-cell/.test(this.items[0].item.css("display")):false;this.offset=this.element.offset();this._mouseInit()},destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled").removeData("sortable").unbind(".sortable");this._mouseDestroy();for(var a=this.items.length-1;a>=0;a--)this.items[a].item.removeData("sortable-item");return this},_setOption:function(a,b){if(a===
-"disabled"){this.options[a]=b;this.widget()[b?"addClass":"removeClass"]("ui-sortable-disabled")}else d.Widget.prototype._setOption.apply(this,arguments)},_mouseCapture:function(a,b){if(this.reverting)return false;if(this.options.disabled||this.options.type=="static")return false;this._refreshItems(a);var c=null,e=this;d(a.target).parents().each(function(){if(d.data(this,"sortable-item")==e){c=d(this);return false}});if(d.data(a.target,"sortable-item")==e)c=d(a.target);if(!c)return false;if(this.options.handle&&
-!b){var f=false;d(this.options.handle,c).find("*").andSelf().each(function(){if(this==a.target)f=true});if(!f)return false}this.currentItem=c;this._removeCurrentsFromItems();return true},_mouseStart:function(a,b,c){b=this.options;var e=this;this.currentContainer=this;this.refreshPositions();this.helper=this._createHelper(a);this._cacheHelperProportions();this._cacheMargins();this.scrollParent=this.helper.scrollParent();this.offset=this.currentItem.offset();this.offset={top:this.offset.top-this.margins.top,
-left:this.offset.left-this.margins.left};this.helper.css("position","absolute");this.cssPosition=this.helper.css("position");d.extend(this.offset,{click:{left:a.pageX-this.offset.left,top:a.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});this.originalPosition=this._generatePosition(a);this.originalPageX=a.pageX;this.originalPageY=a.pageY;b.cursorAt&&this._adjustOffsetFromHelper(b.cursorAt);this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]};
-this.helper[0]!=this.currentItem[0]&&this.currentItem.hide();this._createPlaceholder();b.containment&&this._setContainment();if(b.cursor){if(d("body").css("cursor"))this._storedCursor=d("body").css("cursor");d("body").css("cursor",b.cursor)}if(b.opacity){if(this.helper.css("opacity"))this._storedOpacity=this.helper.css("opacity");this.helper.css("opacity",b.opacity)}if(b.zIndex){if(this.helper.css("zIndex"))this._storedZIndex=this.helper.css("zIndex");this.helper.css("zIndex",b.zIndex)}if(this.scrollParent[0]!=
-document&&this.scrollParent[0].tagName!="HTML")this.overflowOffset=this.scrollParent.offset();this._trigger("start",a,this._uiHash());this._preserveHelperProportions||this._cacheHelperProportions();if(!c)for(c=this.containers.length-1;c>=0;c--)this.containers[c]._trigger("activate",a,e._uiHash(this));if(d.ui.ddmanager)d.ui.ddmanager.current=this;d.ui.ddmanager&&!b.dropBehaviour&&d.ui.ddmanager.prepareOffsets(this,a);this.dragging=true;this.helper.addClass("ui-sortable-helper");this._mouseDrag(a);
-return true},_mouseDrag:function(a){this.position=this._generatePosition(a);this.positionAbs=this._convertPositionTo("absolute");if(!this.lastPositionAbs)this.lastPositionAbs=this.positionAbs;if(this.options.scroll){var b=this.options,c=false;if(this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"){if(this.overflowOffset.top+this.scrollParent[0].offsetHeight-a.pageY<b.scrollSensitivity)this.scrollParent[0].scrollTop=c=this.scrollParent[0].scrollTop+b.scrollSpeed;else if(a.pageY-this.overflowOffset.top<
-b.scrollSensitivity)this.scrollParent[0].scrollTop=c=this.scrollParent[0].scrollTop-b.scrollSpeed;if(this.overflowOffset.left+this.scrollParent[0].offsetWidth-a.pageX<b.scrollSensitivity)this.scrollParent[0].scrollLeft=c=this.scrollParent[0].scrollLeft+b.scrollSpeed;else if(a.pageX-this.overflowOffset.left<b.scrollSensitivity)this.scrollParent[0].scrollLeft=c=this.scrollParent[0].scrollLeft-b.scrollSpeed}else{if(a.pageY-d(document).scrollTop()<b.scrollSensitivity)c=d(document).scrollTop(d(document).scrollTop()-
-b.scrollSpeed);else if(d(window).height()-(a.pageY-d(document).scrollTop())<b.scrollSensitivity)c=d(document).scrollTop(d(document).scrollTop()+b.scrollSpeed);if(a.pageX-d(document).scrollLeft()<b.scrollSensitivity)c=d(document).scrollLeft(d(document).scrollLeft()-b.scrollSpeed);else if(d(window).width()-(a.pageX-d(document).scrollLeft())<b.scrollSensitivity)c=d(document).scrollLeft(d(document).scrollLeft()+b.scrollSpeed)}c!==false&&d.ui.ddmanager&&!b.dropBehaviour&&d.ui.ddmanager.prepareOffsets(this,
-a)}this.positionAbs=this._convertPositionTo("absolute");if(!this.options.axis||this.options.axis!="y")this.helper[0].style.left=this.position.left+"px";if(!this.options.axis||this.options.axis!="x")this.helper[0].style.top=this.position.top+"px";for(b=this.items.length-1;b>=0;b--){c=this.items[b];var e=c.item[0],f=this._intersectsWithPointer(c);if(f)if(e!=this.currentItem[0]&&this.placeholder[f==1?"next":"prev"]()[0]!=e&&!d.ui.contains(this.placeholder[0],e)&&(this.options.type=="semi-dynamic"?!d.ui.contains(this.element[0],
-e):true)){this.direction=f==1?"down":"up";if(this.options.tolerance=="pointer"||this._intersectsWithSides(c))this._rearrange(a,c);else break;this._trigger("change",a,this._uiHash());break}}this._contactContainers(a);d.ui.ddmanager&&d.ui.ddmanager.drag(this,a);this._trigger("sort",a,this._uiHash());this.lastPositionAbs=this.positionAbs;return false},_mouseStop:function(a,b){if(a){d.ui.ddmanager&&!this.options.dropBehaviour&&d.ui.ddmanager.drop(this,a);if(this.options.revert){var c=this;b=c.placeholder.offset();
-c.reverting=true;d(this.helper).animate({left:b.left-this.offset.parent.left-c.margins.left+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollLeft),top:b.top-this.offset.parent.top-c.margins.top+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollTop)},parseInt(this.options.revert,10)||500,function(){c._clear(a)})}else this._clear(a,b);return false}},cancel:function(){var a=this;if(this.dragging){this._mouseUp({target:null});this.options.helper=="original"?this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"):
-this.currentItem.show();for(var b=this.containers.length-1;b>=0;b--){this.containers[b]._trigger("deactivate",null,a._uiHash(this));if(this.containers[b].containerCache.over){this.containers[b]._trigger("out",null,a._uiHash(this));this.containers[b].containerCache.over=0}}}if(this.placeholder){this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]);this.options.helper!="original"&&this.helper&&this.helper[0].parentNode&&this.helper.remove();d.extend(this,{helper:null,
-dragging:false,reverting:false,_noFinalSort:null});this.domPosition.prev?d(this.domPosition.prev).after(this.currentItem):d(this.domPosition.parent).prepend(this.currentItem)}return this},serialize:function(a){var b=this._getItemsAsjQuery(a&&a.connected),c=[];a=a||{};d(b).each(function(){var e=(d(a.item||this).attr(a.attribute||"id")||"").match(a.expression||/(.+)[-=_](.+)/);if(e)c.push((a.key||e[1]+"[]")+"="+(a.key&&a.expression?e[1]:e[2]))});!c.length&&a.key&&c.push(a.key+"=");return c.join("&")},
-toArray:function(a){var b=this._getItemsAsjQuery(a&&a.connected),c=[];a=a||{};b.each(function(){c.push(d(a.item||this).attr(a.attribute||"id")||"")});return c},_intersectsWith:function(a){var b=this.positionAbs.left,c=b+this.helperProportions.width,e=this.positionAbs.top,f=e+this.helperProportions.height,g=a.left,h=g+a.width,i=a.top,k=i+a.height,j=this.offset.click.top,l=this.offset.click.left;j=e+j>i&&e+j<k&&b+l>g&&b+l<h;return this.options.tolerance=="pointer"||this.options.forcePointerForContainers||
-this.options.tolerance!="pointer"&&this.helperProportions[this.floating?"width":"height"]>a[this.floating?"width":"height"]?j:g<b+this.helperProportions.width/2&&c-this.helperProportions.width/2<h&&i<e+this.helperProportions.height/2&&f-this.helperProportions.height/2<k},_intersectsWithPointer:function(a){var b=d.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,a.top,a.height);a=d.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,a.left,a.width);b=b&&a;a=this._getDragVerticalDirection();
-var c=this._getDragHorizontalDirection();if(!b)return false;return this.floating?c&&c=="right"||a=="down"?2:1:a&&(a=="down"?2:1)},_intersectsWithSides:function(a){var b=d.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,a.top+a.height/2,a.height);a=d.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,a.left+a.width/2,a.width);var c=this._getDragVerticalDirection(),e=this._getDragHorizontalDirection();return this.floating&&e?e=="right"&&a||e=="left"&&!a:c&&(c=="down"&&b||c=="up"&&!b)},
-_getDragVerticalDirection:function(){var a=this.positionAbs.top-this.lastPositionAbs.top;return a!=0&&(a>0?"down":"up")},_getDragHorizontalDirection:function(){var a=this.positionAbs.left-this.lastPositionAbs.left;return a!=0&&(a>0?"right":"left")},refresh:function(a){this._refreshItems(a);this.refreshPositions();return this},_connectWith:function(){var a=this.options;return a.connectWith.constructor==String?[a.connectWith]:a.connectWith},_getItemsAsjQuery:function(a){var b=[],c=[],e=this._connectWith();
-if(e&&a)for(a=e.length-1;a>=0;a--)for(var f=d(e[a]),g=f.length-1;g>=0;g--){var h=d.data(f[g],"sortable");if(h&&h!=this&&!h.options.disabled)c.push([d.isFunction(h.options.items)?h.options.items.call(h.element):d(h.options.items,h.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),h])}c.push([d.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):d(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),
-this]);for(a=c.length-1;a>=0;a--)c[a][0].each(function(){b.push(this)});return d(b)},_removeCurrentsFromItems:function(){for(var a=this.currentItem.find(":data(sortable-item)"),b=0;b<this.items.length;b++)for(var c=0;c<a.length;c++)a[c]==this.items[b].item[0]&&this.items.splice(b,1)},_refreshItems:function(a){this.items=[];this.containers=[this];var b=this.items,c=[[d.isFunction(this.options.items)?this.options.items.call(this.element[0],a,{item:this.currentItem}):d(this.options.items,this.element),
-this]],e=this._connectWith();if(e)for(var f=e.length-1;f>=0;f--)for(var g=d(e[f]),h=g.length-1;h>=0;h--){var i=d.data(g[h],"sortable");if(i&&i!=this&&!i.options.disabled){c.push([d.isFunction(i.options.items)?i.options.items.call(i.element[0],a,{item:this.currentItem}):d(i.options.items,i.element),i]);this.containers.push(i)}}for(f=c.length-1;f>=0;f--){a=c[f][1];e=c[f][0];h=0;for(g=e.length;h<g;h++){i=d(e[h]);i.data("sortable-item",a);b.push({item:i,instance:a,width:0,height:0,left:0,top:0})}}},refreshPositions:function(a){if(this.offsetParent&&
-this.helper)this.offset.parent=this._getParentOffset();for(var b=this.items.length-1;b>=0;b--){var c=this.items[b];if(!(c.instance!=this.currentContainer&&this.currentContainer&&c.item[0]!=this.currentItem[0])){var e=this.options.toleranceElement?d(this.options.toleranceElement,c.item):c.item;if(!a){c.width=e.outerWidth();c.height=e.outerHeight()}e=e.offset();c.left=e.left;c.top=e.top}}if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(b=
-this.containers.length-1;b>=0;b--){e=this.containers[b].element.offset();this.containers[b].containerCache.left=e.left;this.containers[b].containerCache.top=e.top;this.containers[b].containerCache.width=this.containers[b].element.outerWidth();this.containers[b].containerCache.height=this.containers[b].element.outerHeight()}return this},_createPlaceholder:function(a){var b=a||this,c=b.options;if(!c.placeholder||c.placeholder.constructor==String){var e=c.placeholder;c.placeholder={element:function(){var f=
-d(document.createElement(b.currentItem[0].nodeName)).addClass(e||b.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper")[0];if(!e)f.style.visibility="hidden";return f},update:function(f,g){if(!(e&&!c.forcePlaceholderSize)){g.height()||g.height(b.currentItem.innerHeight()-parseInt(b.currentItem.css("paddingTop")||0,10)-parseInt(b.currentItem.css("paddingBottom")||0,10));g.width()||g.width(b.currentItem.innerWidth()-parseInt(b.currentItem.css("paddingLeft")||0,10)-parseInt(b.currentItem.css("paddingRight")||
-0,10))}}}}b.placeholder=d(c.placeholder.element.call(b.element,b.currentItem));b.currentItem.after(b.placeholder);c.placeholder.update(b,b.placeholder)},_contactContainers:function(a){for(var b=null,c=null,e=this.containers.length-1;e>=0;e--)if(!d.ui.contains(this.currentItem[0],this.containers[e].element[0]))if(this._intersectsWith(this.containers[e].containerCache)){if(!(b&&d.ui.contains(this.containers[e].element[0],b.element[0]))){b=this.containers[e];c=e}}else if(this.containers[e].containerCache.over){this.containers[e]._trigger("out",
-a,this._uiHash(this));this.containers[e].containerCache.over=0}if(b)if(this.containers.length===1){this.containers[c]._trigger("over",a,this._uiHash(this));this.containers[c].containerCache.over=1}else if(this.currentContainer!=this.containers[c]){b=1E4;e=null;for(var f=this.positionAbs[this.containers[c].floating?"left":"top"],g=this.items.length-1;g>=0;g--)if(d.ui.contains(this.containers[c].element[0],this.items[g].item[0])){var h=this.items[g][this.containers[c].floating?"left":"top"];if(Math.abs(h-
-f)<b){b=Math.abs(h-f);e=this.items[g]}}if(e||this.options.dropOnEmpty){this.currentContainer=this.containers[c];e?this._rearrange(a,e,null,true):this._rearrange(a,null,this.containers[c].element,true);this._trigger("change",a,this._uiHash());this.containers[c]._trigger("change",a,this._uiHash(this));this.options.placeholder.update(this.currentContainer,this.placeholder);this.containers[c]._trigger("over",a,this._uiHash(this));this.containers[c].containerCache.over=1}}},_createHelper:function(a){var b=
-this.options;a=d.isFunction(b.helper)?d(b.helper.apply(this.element[0],[a,this.currentItem])):b.helper=="clone"?this.currentItem.clone():this.currentItem;a.parents("body").length||d(b.appendTo!="parent"?b.appendTo:this.currentItem[0].parentNode)[0].appendChild(a[0]);if(a[0]==this.currentItem[0])this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")};if(a[0].style.width==
-""||b.forceHelperSize)a.width(this.currentItem.width());if(a[0].style.height==""||b.forceHelperSize)a.height(this.currentItem.height());return a},_adjustOffsetFromHelper:function(a){if(typeof a=="string")a=a.split(" ");if(d.isArray(a))a={left:+a[0],top:+a[1]||0};if("left"in a)this.offset.click.left=a.left+this.margins.left;if("right"in a)this.offset.click.left=this.helperProportions.width-a.right+this.margins.left;if("top"in a)this.offset.click.top=a.top+this.margins.top;if("bottom"in a)this.offset.click.top=
-this.helperProportions.height-a.bottom+this.margins.top},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var a=this.offsetParent.offset();if(this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0])){a.left+=this.scrollParent.scrollLeft();a.top+=this.scrollParent.scrollTop()}if(this.offsetParent[0]==document.body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&d.browser.msie)a=
-{top:0,left:0};return{top:a.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:a.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var a=this.currentItem.position();return{top:a.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}else return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.currentItem.css("marginLeft"),
-10)||0,top:parseInt(this.currentItem.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var a=this.options;if(a.containment=="parent")a.containment=this.helper[0].parentNode;if(a.containment=="document"||a.containment=="window")this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,d(a.containment=="document"?
-document:window).width()-this.helperProportions.width-this.margins.left,(d(a.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!/^(document|window|parent)$/.test(a.containment)){var b=d(a.containment)[0];a=d(a.containment).offset();var c=d(b).css("overflow")!="hidden";this.containment=[a.left+(parseInt(d(b).css("borderLeftWidth"),10)||0)+(parseInt(d(b).css("paddingLeft"),10)||0)-this.margins.left,a.top+(parseInt(d(b).css("borderTopWidth"),
-10)||0)+(parseInt(d(b).css("paddingTop"),10)||0)-this.margins.top,a.left+(c?Math.max(b.scrollWidth,b.offsetWidth):b.offsetWidth)-(parseInt(d(b).css("borderLeftWidth"),10)||0)-(parseInt(d(b).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,a.top+(c?Math.max(b.scrollHeight,b.offsetHeight):b.offsetHeight)-(parseInt(d(b).css("borderTopWidth"),10)||0)-(parseInt(d(b).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top]}},_convertPositionTo:function(a,b){if(!b)b=
-this.position;a=a=="absolute"?1:-1;var c=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,e=/(html|body)/i.test(c[0].tagName);return{top:b.top+this.offset.relative.top*a+this.offset.parent.top*a-(d.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():e?0:c.scrollTop())*a),left:b.left+this.offset.relative.left*a+this.offset.parent.left*a-(d.browser.safari&&
-this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():e?0:c.scrollLeft())*a)}},_generatePosition:function(a){var b=this.options,c=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,e=/(html|body)/i.test(c[0].tagName);if(this.cssPosition=="relative"&&!(this.scrollParent[0]!=document&&this.scrollParent[0]!=this.offsetParent[0]))this.offset.relative=this._getRelativeOffset();
-var f=a.pageX,g=a.pageY;if(this.originalPosition){if(this.containment){if(a.pageX-this.offset.click.left<this.containment[0])f=this.containment[0]+this.offset.click.left;if(a.pageY-this.offset.click.top<this.containment[1])g=this.containment[1]+this.offset.click.top;if(a.pageX-this.offset.click.left>this.containment[2])f=this.containment[2]+this.offset.click.left;if(a.pageY-this.offset.click.top>this.containment[3])g=this.containment[3]+this.offset.click.top}if(b.grid){g=this.originalPageY+Math.round((g-
-this.originalPageY)/b.grid[1])*b.grid[1];g=this.containment?!(g-this.offset.click.top<this.containment[1]||g-this.offset.click.top>this.containment[3])?g:!(g-this.offset.click.top<this.containment[1])?g-b.grid[1]:g+b.grid[1]:g;f=this.originalPageX+Math.round((f-this.originalPageX)/b.grid[0])*b.grid[0];f=this.containment?!(f-this.offset.click.left<this.containment[0]||f-this.offset.click.left>this.containment[2])?f:!(f-this.offset.click.left<this.containment[0])?f-b.grid[0]:f+b.grid[0]:f}}return{top:g-
-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(d.browser.safari&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollTop():e?0:c.scrollTop()),left:f-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+(d.browser.safari&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():e?0:c.scrollLeft())}},_rearrange:function(a,b,c,e){c?c[0].appendChild(this.placeholder[0]):b.item[0].parentNode.insertBefore(this.placeholder[0],
-this.direction=="down"?b.item[0]:b.item[0].nextSibling);this.counter=this.counter?++this.counter:1;var f=this,g=this.counter;window.setTimeout(function(){g==f.counter&&f.refreshPositions(!e)},0)},_clear:function(a,b){this.reverting=false;var c=[];!this._noFinalSort&&this.currentItem.parent().length&&this.placeholder.before(this.currentItem);this._noFinalSort=null;if(this.helper[0]==this.currentItem[0]){for(var e in this._storedCSS)if(this._storedCSS[e]=="auto"||this._storedCSS[e]=="static")this._storedCSS[e]=
-"";this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else this.currentItem.show();this.fromOutside&&!b&&c.push(function(f){this._trigger("receive",f,this._uiHash(this.fromOutside))});if((this.fromOutside||this.domPosition.prev!=this.currentItem.prev().not(".ui-sortable-helper")[0]||this.domPosition.parent!=this.currentItem.parent()[0])&&!b)c.push(function(f){this._trigger("update",f,this._uiHash())});if(!d.ui.contains(this.element[0],this.currentItem[0])){b||c.push(function(f){this._trigger("remove",
-f,this._uiHash())});for(e=this.containers.length-1;e>=0;e--)if(d.ui.contains(this.containers[e].element[0],this.currentItem[0])&&!b){c.push(function(f){return function(g){f._trigger("receive",g,this._uiHash(this))}}.call(this,this.containers[e]));c.push(function(f){return function(g){f._trigger("update",g,this._uiHash(this))}}.call(this,this.containers[e]))}}for(e=this.containers.length-1;e>=0;e--){b||c.push(function(f){return function(g){f._trigger("deactivate",g,this._uiHash(this))}}.call(this,
-this.containers[e]));if(this.containers[e].containerCache.over){c.push(function(f){return function(g){f._trigger("out",g,this._uiHash(this))}}.call(this,this.containers[e]));this.containers[e].containerCache.over=0}}this._storedCursor&&d("body").css("cursor",this._storedCursor);this._storedOpacity&&this.helper.css("opacity",this._storedOpacity);if(this._storedZIndex)this.helper.css("zIndex",this._storedZIndex=="auto"?"":this._storedZIndex);this.dragging=false;if(this.cancelHelperRemoval){if(!b){this._trigger("beforeStop",
-a,this._uiHash());for(e=0;e<c.length;e++)c[e].call(this,a);this._trigger("stop",a,this._uiHash())}return false}b||this._trigger("beforeStop",a,this._uiHash());this.placeholder[0].parentNode.removeChild(this.placeholder[0]);this.helper[0]!=this.currentItem[0]&&this.helper.remove();this.helper=null;if(!b){for(e=0;e<c.length;e++)c[e].call(this,a);this._trigger("stop",a,this._uiHash())}this.fromOutside=false;return true},_trigger:function(){d.Widget.prototype._trigger.apply(this,arguments)===false&&this.cancel()},
-_uiHash:function(a){var b=a||this;return{helper:b.helper,placeholder:b.placeholder||d([]),position:b.position,originalPosition:b.originalPosition,offset:b.positionAbs,item:b.currentItem,sender:a?a.element:null}}});d.extend(d.ui.sortable,{version:"1.8.16"})})(jQuery);
-;/*
- * jQuery UI Autocomplete 1.8.16
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Autocomplete
- *
- * Depends:
- * jquery.ui.core.js
- * jquery.ui.widget.js
- * jquery.ui.position.js
- */
-(function(d){var e=0;d.widget("ui.autocomplete",{options:{appendTo:"body",autoFocus:false,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null},pending:0,_create:function(){var a=this,b=this.element[0].ownerDocument,g;this.element.addClass("ui-autocomplete-input").attr("autocomplete","off").attr({role:"textbox","aria-autocomplete":"list","aria-haspopup":"true"}).bind("keydown.autocomplete",function(c){if(!(a.options.disabled||a.element.propAttr("readOnly"))){g=
-false;var f=d.ui.keyCode;switch(c.keyCode){case f.PAGE_UP:a._move("previousPage",c);break;case f.PAGE_DOWN:a._move("nextPage",c);break;case f.UP:a._move("previous",c);c.preventDefault();break;case f.DOWN:a._move("next",c);c.preventDefault();break;case f.ENTER:case f.NUMPAD_ENTER:if(a.menu.active){g=true;c.preventDefault()}case f.TAB:if(!a.menu.active)return;a.menu.select(c);break;case f.ESCAPE:a.element.val(a.term);a.close(c);break;default:clearTimeout(a.searching);a.searching=setTimeout(function(){if(a.term!=
-a.element.val()){a.selectedItem=null;a.search(null,c)}},a.options.delay);break}}}).bind("keypress.autocomplete",function(c){if(g){g=false;c.preventDefault()}}).bind("focus.autocomplete",function(){if(!a.options.disabled){a.selectedItem=null;a.previous=a.element.val()}}).bind("blur.autocomplete",function(c){if(!a.options.disabled){clearTimeout(a.searching);a.closing=setTimeout(function(){a.close(c);a._change(c)},150)}});this._initSource();this.response=function(){return a._response.apply(a,arguments)};
-this.menu=d("<ul></ul>").addClass("ui-autocomplete").appendTo(d(this.options.appendTo||"body",b)[0]).mousedown(function(c){var f=a.menu.element[0];d(c.target).closest(".ui-menu-item").length||setTimeout(function(){d(document).one("mousedown",function(h){h.target!==a.element[0]&&h.target!==f&&!d.ui.contains(f,h.target)&&a.close()})},1);setTimeout(function(){clearTimeout(a.closing)},13)}).menu({focus:function(c,f){f=f.item.data("item.autocomplete");false!==a._trigger("focus",c,{item:f})&&/^key/.test(c.originalEvent.type)&&
-a.element.val(f.value)},selected:function(c,f){var h=f.item.data("item.autocomplete"),i=a.previous;if(a.element[0]!==b.activeElement){a.element.focus();a.previous=i;setTimeout(function(){a.previous=i;a.selectedItem=h},1)}false!==a._trigger("select",c,{item:h})&&a.element.val(h.value);a.term=a.element.val();a.close(c);a.selectedItem=h},blur:function(){a.menu.element.is(":visible")&&a.element.val()!==a.term&&a.element.val(a.term)}}).zIndex(this.element.zIndex()+1).css({top:0,left:0}).hide().data("menu");
-d.fn.bgiframe&&this.menu.element.bgiframe()},destroy:function(){this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete").removeAttr("role").removeAttr("aria-autocomplete").removeAttr("aria-haspopup");this.menu.element.remove();d.Widget.prototype.destroy.call(this)},_setOption:function(a,b){d.Widget.prototype._setOption.apply(this,arguments);a==="source"&&this._initSource();if(a==="appendTo")this.menu.element.appendTo(d(b||"body",this.element[0].ownerDocument)[0]);a==="disabled"&&
-b&&this.xhr&&this.xhr.abort()},_initSource:function(){var a=this,b,g;if(d.isArray(this.options.source)){b=this.options.source;this.source=function(c,f){f(d.ui.autocomplete.filter(b,c.term))}}else if(typeof this.options.source==="string"){g=this.options.source;this.source=function(c,f){a.xhr&&a.xhr.abort();a.xhr=d.ajax({url:g,data:c,dataType:"json",autocompleteRequest:++e,success:function(h){this.autocompleteRequest===e&&f(h)},error:function(){this.autocompleteRequest===e&&f([])}})}}else this.source=
-this.options.source},search:function(a,b){a=a!=null?a:this.element.val();this.term=this.element.val();if(a.length<this.options.minLength)return this.close(b);clearTimeout(this.closing);if(this._trigger("search",b)!==false)return this._search(a)},_search:function(a){this.pending++;this.element.addClass("ui-autocomplete-loading");this.source({term:a},this.response)},_response:function(a){if(!this.options.disabled&&a&&a.length){a=this._normalize(a);this._suggest(a);this._trigger("open")}else this.close();
-this.pending--;this.pending||this.element.removeClass("ui-autocomplete-loading")},close:function(a){clearTimeout(this.closing);if(this.menu.element.is(":visible")){this.menu.element.hide();this.menu.deactivate();this._trigger("close",a)}},_change:function(a){this.previous!==this.element.val()&&this._trigger("change",a,{item:this.selectedItem})},_normalize:function(a){if(a.length&&a[0].label&&a[0].value)return a;return d.map(a,function(b){if(typeof b==="string")return{label:b,value:b};return d.extend({label:b.label||
-b.value,value:b.value||b.label},b)})},_suggest:function(a){var b=this.menu.element.empty().zIndex(this.element.zIndex()+1);this._renderMenu(b,a);this.menu.deactivate();this.menu.refresh();b.show();this._resizeMenu();b.position(d.extend({of:this.element},this.options.position));this.options.autoFocus&&this.menu.next(new d.Event("mouseover"))},_resizeMenu:function(){var a=this.menu.element;a.outerWidth(Math.max(a.width("").outerWidth(),this.element.outerWidth()))},_renderMenu:function(a,b){var g=this;
-d.each(b,function(c,f){g._renderItem(a,f)})},_renderItem:function(a,b){return d("<li></li>").data("item.autocomplete",b).append(d("<a></a>").text(b.label)).appendTo(a)},_move:function(a,b){if(this.menu.element.is(":visible"))if(this.menu.first()&&/^previous/.test(a)||this.menu.last()&&/^next/.test(a)){this.element.val(this.term);this.menu.deactivate()}else this.menu[a](b);else this.search(null,b)},widget:function(){return this.menu.element}});d.extend(d.ui.autocomplete,{escapeRegex:function(a){return a.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,
-"\\$&")},filter:function(a,b){var g=new RegExp(d.ui.autocomplete.escapeRegex(b),"i");return d.grep(a,function(c){return g.test(c.label||c.value||c)})}})})(jQuery);
-(function(d){d.widget("ui.menu",{_create:function(){var e=this;this.element.addClass("ui-menu ui-widget ui-widget-content ui-corner-all").attr({role:"listbox","aria-activedescendant":"ui-active-menuitem"}).click(function(a){if(d(a.target).closest(".ui-menu-item a").length){a.preventDefault();e.select(a)}});this.refresh()},refresh:function(){var e=this;this.element.children("li:not(.ui-menu-item):has(a)").addClass("ui-menu-item").attr("role","menuitem").children("a").addClass("ui-corner-all").attr("tabindex",
--1).mouseenter(function(a){e.activate(a,d(this).parent())}).mouseleave(function(){e.deactivate()})},activate:function(e,a){this.deactivate();if(this.hasScroll()){var b=a.offset().top-this.element.offset().top,g=this.element.scrollTop(),c=this.element.height();if(b<0)this.element.scrollTop(g+b);else b>=c&&this.element.scrollTop(g+b-c+a.height())}this.active=a.eq(0).children("a").addClass("ui-state-hover").attr("id","ui-active-menuitem").end();this._trigger("focus",e,{item:a})},deactivate:function(){if(this.active){this.active.children("a").removeClass("ui-state-hover").removeAttr("id");
-this._trigger("blur");this.active=null}},next:function(e){this.move("next",".ui-menu-item:first",e)},previous:function(e){this.move("prev",".ui-menu-item:last",e)},first:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},last:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},move:function(e,a,b){if(this.active){e=this.active[e+"All"](".ui-menu-item").eq(0);e.length?this.activate(b,e):this.activate(b,this.element.children(a))}else this.activate(b,
-this.element.children(a))},nextPage:function(e){if(this.hasScroll())if(!this.active||this.last())this.activate(e,this.element.children(".ui-menu-item:first"));else{var a=this.active.offset().top,b=this.element.height(),g=this.element.children(".ui-menu-item").filter(function(){var c=d(this).offset().top-a-b+d(this).height();return c<10&&c>-10});g.length||(g=this.element.children(".ui-menu-item:last"));this.activate(e,g)}else this.activate(e,this.element.children(".ui-menu-item").filter(!this.active||
-this.last()?":first":":last"))},previousPage:function(e){if(this.hasScroll())if(!this.active||this.first())this.activate(e,this.element.children(".ui-menu-item:last"));else{var a=this.active.offset().top,b=this.element.height();result=this.element.children(".ui-menu-item").filter(function(){var g=d(this).offset().top-a+b-d(this).height();return g<10&&g>-10});result.length||(result=this.element.children(".ui-menu-item:first"));this.activate(e,result)}else this.activate(e,this.element.children(".ui-menu-item").filter(!this.active||
-this.first()?":last":":first"))},hasScroll:function(){return this.element.height()<this.element[d.fn.prop?"prop":"attr"]("scrollHeight")},select:function(e){this._trigger("selected",e,{item:this.active})}})})(jQuery);
-;/*
- * jQuery UI Button 1.8.16
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Button
- *
- * Depends:
- * jquery.ui.core.js
- * jquery.ui.widget.js
- */
-(function(b){var h,i,j,g,l=function(){var a=b(this).find(":ui-button");setTimeout(function(){a.button("refresh")},1)},k=function(a){var c=a.name,e=a.form,f=b([]);if(c)f=e?b(e).find("[name='"+c+"']"):b("[name='"+c+"']",a.ownerDocument).filter(function(){return!this.form});return f};b.widget("ui.button",{options:{disabled:null,text:true,label:null,icons:{primary:null,secondary:null}},_create:function(){this.element.closest("form").unbind("reset.button").bind("reset.button",l);if(typeof this.options.disabled!==
-"boolean")this.options.disabled=this.element.propAttr("disabled");this._determineButtonType();this.hasTitle=!!this.buttonElement.attr("title");var a=this,c=this.options,e=this.type==="checkbox"||this.type==="radio",f="ui-state-hover"+(!e?" ui-state-active":"");if(c.label===null)c.label=this.buttonElement.html();if(this.element.is(":disabled"))c.disabled=true;this.buttonElement.addClass("ui-button ui-widget ui-state-default ui-corner-all").attr("role","button").bind("mouseenter.button",function(){if(!c.disabled){b(this).addClass("ui-state-hover");
-this===h&&b(this).addClass("ui-state-active")}}).bind("mouseleave.button",function(){c.disabled||b(this).removeClass(f)}).bind("click.button",function(d){if(c.disabled){d.preventDefault();d.stopImmediatePropagation()}});this.element.bind("focus.button",function(){a.buttonElement.addClass("ui-state-focus")}).bind("blur.button",function(){a.buttonElement.removeClass("ui-state-focus")});if(e){this.element.bind("change.button",function(){g||a.refresh()});this.buttonElement.bind("mousedown.button",function(d){if(!c.disabled){g=
-false;i=d.pageX;j=d.pageY}}).bind("mouseup.button",function(d){if(!c.disabled)if(i!==d.pageX||j!==d.pageY)g=true})}if(this.type==="checkbox")this.buttonElement.bind("click.button",function(){if(c.disabled||g)return false;b(this).toggleClass("ui-state-active");a.buttonElement.attr("aria-pressed",a.element[0].checked)});else if(this.type==="radio")this.buttonElement.bind("click.button",function(){if(c.disabled||g)return false;b(this).addClass("ui-state-active");a.buttonElement.attr("aria-pressed","true");
-var d=a.element[0];k(d).not(d).map(function(){return b(this).button("widget")[0]}).removeClass("ui-state-active").attr("aria-pressed","false")});else{this.buttonElement.bind("mousedown.button",function(){if(c.disabled)return false;b(this).addClass("ui-state-active");h=this;b(document).one("mouseup",function(){h=null})}).bind("mouseup.button",function(){if(c.disabled)return false;b(this).removeClass("ui-state-active")}).bind("keydown.button",function(d){if(c.disabled)return false;if(d.keyCode==b.ui.keyCode.SPACE||
-d.keyCode==b.ui.keyCode.ENTER)b(this).addClass("ui-state-active")}).bind("keyup.button",function(){b(this).removeClass("ui-state-active")});this.buttonElement.is("a")&&this.buttonElement.keyup(function(d){d.keyCode===b.ui.keyCode.SPACE&&b(this).click()})}this._setOption("disabled",c.disabled);this._resetButton()},_determineButtonType:function(){this.type=this.element.is(":checkbox")?"checkbox":this.element.is(":radio")?"radio":this.element.is("input")?"input":"button";if(this.type==="checkbox"||this.type===
-"radio"){var a=this.element.parents().filter(":last"),c="label[for='"+this.element.attr("id")+"']";this.buttonElement=a.find(c);if(!this.buttonElement.length){a=a.length?a.siblings():this.element.siblings();this.buttonElement=a.filter(c);if(!this.buttonElement.length)this.buttonElement=a.find(c)}this.element.addClass("ui-helper-hidden-accessible");(a=this.element.is(":checked"))&&this.buttonElement.addClass("ui-state-active");this.buttonElement.attr("aria-pressed",a)}else this.buttonElement=this.element},
-widget:function(){return this.buttonElement},destroy:function(){this.element.removeClass("ui-helper-hidden-accessible");this.buttonElement.removeClass("ui-button ui-widget ui-state-default ui-corner-all ui-state-hover ui-state-active ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only").removeAttr("role").removeAttr("aria-pressed").html(this.buttonElement.find(".ui-button-text").html());this.hasTitle||this.buttonElement.removeAttr("title");
-b.Widget.prototype.destroy.call(this)},_setOption:function(a,c){b.Widget.prototype._setOption.apply(this,arguments);if(a==="disabled")c?this.element.propAttr("disabled",true):this.element.propAttr("disabled",false);else this._resetButton()},refresh:function(){var a=this.element.is(":disabled");a!==this.options.disabled&&this._setOption("disabled",a);if(this.type==="radio")k(this.element[0]).each(function(){b(this).is(":checked")?b(this).button("widget").addClass("ui-state-active").attr("aria-pressed",
-"true"):b(this).button("widget").removeClass("ui-state-active").attr("aria-pressed","false")});else if(this.type==="checkbox")this.element.is(":checked")?this.buttonElement.addClass("ui-state-active").attr("aria-pressed","true"):this.buttonElement.removeClass("ui-state-active").attr("aria-pressed","false")},_resetButton:function(){if(this.type==="input")this.options.label&&this.element.val(this.options.label);else{var a=this.buttonElement.removeClass("ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only"),
-c=b("<span></span>").addClass("ui-button-text").html(this.options.label).appendTo(a.empty()).text(),e=this.options.icons,f=e.primary&&e.secondary,d=[];if(e.primary||e.secondary){if(this.options.text)d.push("ui-button-text-icon"+(f?"s":e.primary?"-primary":"-secondary"));e.primary&&a.prepend("<span class='ui-button-icon-primary ui-icon "+e.primary+"'></span>");e.secondary&&a.append("<span class='ui-button-icon-secondary ui-icon "+e.secondary+"'></span>");if(!this.options.text){d.push(f?"ui-button-icons-only":
-"ui-button-icon-only");this.hasTitle||a.attr("title",c)}}else d.push("ui-button-text-only");a.addClass(d.join(" "))}}});b.widget("ui.buttonset",{options:{items:":button, :submit, :reset, :checkbox, :radio, a, :data(button)"},_create:function(){this.element.addClass("ui-buttonset")},_init:function(){this.refresh()},_setOption:function(a,c){a==="disabled"&&this.buttons.button("option",a,c);b.Widget.prototype._setOption.apply(this,arguments)},refresh:function(){var a=this.element.css("direction")===
-"ltr";this.buttons=this.element.find(this.options.items).filter(":ui-button").button("refresh").end().not(":ui-button").button().end().map(function(){return b(this).button("widget")[0]}).removeClass("ui-corner-all ui-corner-left ui-corner-right").filter(":first").addClass(a?"ui-corner-left":"ui-corner-right").end().filter(":last").addClass(a?"ui-corner-right":"ui-corner-left").end().end()},destroy:function(){this.element.removeClass("ui-buttonset");this.buttons.map(function(){return b(this).button("widget")[0]}).removeClass("ui-corner-left ui-corner-right").end().button("destroy");
-b.Widget.prototype.destroy.call(this)}})})(jQuery);
-;/*
- * jQuery UI Dialog 1.8.16
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Dialog
- *
- * Depends:
- * jquery.ui.core.js
- * jquery.ui.widget.js
- * jquery.ui.button.js
- * jquery.ui.draggable.js
- * jquery.ui.mouse.js
- * jquery.ui.position.js
- * jquery.ui.resizable.js
- */
-(function(c,l){var m={buttons:true,height:true,maxHeight:true,maxWidth:true,minHeight:true,minWidth:true,width:true},n={maxHeight:true,maxWidth:true,minHeight:true,minWidth:true},o=c.attrFn||{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true,click:true};c.widget("ui.dialog",{options:{autoOpen:true,buttons:{},closeOnEscape:true,closeText:"close",dialogClass:"",draggable:true,hide:null,height:"auto",maxHeight:false,maxWidth:false,minHeight:150,minWidth:150,modal:false,
-position:{my:"center",at:"center",collision:"fit",using:function(a){var b=c(this).css(a).offset().top;b<0&&c(this).css("top",a.top-b)}},resizable:true,show:null,stack:true,title:"",width:300,zIndex:1E3},_create:function(){this.originalTitle=this.element.attr("title");if(typeof this.originalTitle!=="string")this.originalTitle="";this.options.title=this.options.title||this.originalTitle;var a=this,b=a.options,d=b.title||"&#160;",e=c.ui.dialog.getTitleId(a.element),g=(a.uiDialog=c("<div></div>")).appendTo(document.body).hide().addClass("ui-dialog ui-widget ui-widget-content ui-corner-all "+
-b.dialogClass).css({zIndex:b.zIndex}).attr("tabIndex",-1).css("outline",0).keydown(function(i){if(b.closeOnEscape&&!i.isDefaultPrevented()&&i.keyCode&&i.keyCode===c.ui.keyCode.ESCAPE){a.close(i);i.preventDefault()}}).attr({role:"dialog","aria-labelledby":e}).mousedown(function(i){a.moveToTop(false,i)});a.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(g);var f=(a.uiDialogTitlebar=c("<div></div>")).addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(g),
-h=c('<a href="#"></a>').addClass("ui-dialog-titlebar-close ui-corner-all").attr("role","button").hover(function(){h.addClass("ui-state-hover")},function(){h.removeClass("ui-state-hover")}).focus(function(){h.addClass("ui-state-focus")}).blur(function(){h.removeClass("ui-state-focus")}).click(function(i){a.close(i);return false}).appendTo(f);(a.uiDialogTitlebarCloseText=c("<span></span>")).addClass("ui-icon ui-icon-closethick").text(b.closeText).appendTo(h);c("<span></span>").addClass("ui-dialog-title").attr("id",
-e).html(d).prependTo(f);if(c.isFunction(b.beforeclose)&&!c.isFunction(b.beforeClose))b.beforeClose=b.beforeclose;f.find("*").add(f).disableSelection();b.draggable&&c.fn.draggable&&a._makeDraggable();b.resizable&&c.fn.resizable&&a._makeResizable();a._createButtons(b.buttons);a._isOpen=false;c.fn.bgiframe&&g.bgiframe()},_init:function(){this.options.autoOpen&&this.open()},destroy:function(){var a=this;a.overlay&&a.overlay.destroy();a.uiDialog.hide();a.element.unbind(".dialog").removeData("dialog").removeClass("ui-dialog-content ui-widget-content").hide().appendTo("body");
-a.uiDialog.remove();a.originalTitle&&a.element.attr("title",a.originalTitle);return a},widget:function(){return this.uiDialog},close:function(a){var b=this,d,e;if(false!==b._trigger("beforeClose",a)){b.overlay&&b.overlay.destroy();b.uiDialog.unbind("keypress.ui-dialog");b._isOpen=false;if(b.options.hide)b.uiDialog.hide(b.options.hide,function(){b._trigger("close",a)});else{b.uiDialog.hide();b._trigger("close",a)}c.ui.dialog.overlay.resize();if(b.options.modal){d=0;c(".ui-dialog").each(function(){if(this!==
-b.uiDialog[0]){e=c(this).css("z-index");isNaN(e)||(d=Math.max(d,e))}});c.ui.dialog.maxZ=d}return b}},isOpen:function(){return this._isOpen},moveToTop:function(a,b){var d=this,e=d.options;if(e.modal&&!a||!e.stack&&!e.modal)return d._trigger("focus",b);if(e.zIndex>c.ui.dialog.maxZ)c.ui.dialog.maxZ=e.zIndex;if(d.overlay){c.ui.dialog.maxZ+=1;d.overlay.$el.css("z-index",c.ui.dialog.overlay.maxZ=c.ui.dialog.maxZ)}a={scrollTop:d.element.scrollTop(),scrollLeft:d.element.scrollLeft()};c.ui.dialog.maxZ+=1;
-d.uiDialog.css("z-index",c.ui.dialog.maxZ);d.element.attr(a);d._trigger("focus",b);return d},open:function(){if(!this._isOpen){var a=this,b=a.options,d=a.uiDialog;a.overlay=b.modal?new c.ui.dialog.overlay(a):null;a._size();a._position(b.position);d.show(b.show);a.moveToTop(true);b.modal&&d.bind("keypress.ui-dialog",function(e){if(e.keyCode===c.ui.keyCode.TAB){var g=c(":tabbable",this),f=g.filter(":first");g=g.filter(":last");if(e.target===g[0]&&!e.shiftKey){f.focus(1);return false}else if(e.target===
-f[0]&&e.shiftKey){g.focus(1);return false}}});c(a.element.find(":tabbable").get().concat(d.find(".ui-dialog-buttonpane :tabbable").get().concat(d.get()))).eq(0).focus();a._isOpen=true;a._trigger("open");return a}},_createButtons:function(a){var b=this,d=false,e=c("<div></div>").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"),g=c("<div></div>").addClass("ui-dialog-buttonset").appendTo(e);b.uiDialog.find(".ui-dialog-buttonpane").remove();typeof a==="object"&&a!==null&&c.each(a,
-function(){return!(d=true)});if(d){c.each(a,function(f,h){h=c.isFunction(h)?{click:h,text:f}:h;var i=c('<button type="button"></button>').click(function(){h.click.apply(b.element[0],arguments)}).appendTo(g);c.each(h,function(j,k){if(j!=="click")j in o?i[j](k):i.attr(j,k)});c.fn.button&&i.button()});e.appendTo(b.uiDialog)}},_makeDraggable:function(){function a(f){return{position:f.position,offset:f.offset}}var b=this,d=b.options,e=c(document),g;b.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",
-handle:".ui-dialog-titlebar",containment:"document",start:function(f,h){g=d.height==="auto"?"auto":c(this).height();c(this).height(c(this).height()).addClass("ui-dialog-dragging");b._trigger("dragStart",f,a(h))},drag:function(f,h){b._trigger("drag",f,a(h))},stop:function(f,h){d.position=[h.position.left-e.scrollLeft(),h.position.top-e.scrollTop()];c(this).removeClass("ui-dialog-dragging").height(g);b._trigger("dragStop",f,a(h));c.ui.dialog.overlay.resize()}})},_makeResizable:function(a){function b(f){return{originalPosition:f.originalPosition,
-originalSize:f.originalSize,position:f.position,size:f.size}}a=a===l?this.options.resizable:a;var d=this,e=d.options,g=d.uiDialog.css("position");a=typeof a==="string"?a:"n,e,s,w,se,sw,ne,nw";d.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:d.element,maxWidth:e.maxWidth,maxHeight:e.maxHeight,minWidth:e.minWidth,minHeight:d._minHeight(),handles:a,start:function(f,h){c(this).addClass("ui-dialog-resizing");d._trigger("resizeStart",f,b(h))},resize:function(f,h){d._trigger("resize",
-f,b(h))},stop:function(f,h){c(this).removeClass("ui-dialog-resizing");e.height=c(this).height();e.width=c(this).width();d._trigger("resizeStop",f,b(h));c.ui.dialog.overlay.resize()}}).css("position",g).find(".ui-resizable-se").addClass("ui-icon ui-icon-grip-diagonal-se")},_minHeight:function(){var a=this.options;return a.height==="auto"?a.minHeight:Math.min(a.minHeight,a.height)},_position:function(a){var b=[],d=[0,0],e;if(a){if(typeof a==="string"||typeof a==="object"&&"0"in a){b=a.split?a.split(" "):
-[a[0],a[1]];if(b.length===1)b[1]=b[0];c.each(["left","top"],function(g,f){if(+b[g]===b[g]){d[g]=b[g];b[g]=f}});a={my:b.join(" "),at:b.join(" "),offset:d.join(" ")}}a=c.extend({},c.ui.dialog.prototype.options.position,a)}else a=c.ui.dialog.prototype.options.position;(e=this.uiDialog.is(":visible"))||this.uiDialog.show();this.uiDialog.css({top:0,left:0}).position(c.extend({of:window},a));e||this.uiDialog.hide()},_setOptions:function(a){var b=this,d={},e=false;c.each(a,function(g,f){b._setOption(g,f);
-if(g in m)e=true;if(g in n)d[g]=f});e&&this._size();this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option",d)},_setOption:function(a,b){var d=this,e=d.uiDialog;switch(a){case "beforeclose":a="beforeClose";break;case "buttons":d._createButtons(b);break;case "closeText":d.uiDialogTitlebarCloseText.text(""+b);break;case "dialogClass":e.removeClass(d.options.dialogClass).addClass("ui-dialog ui-widget ui-widget-content ui-corner-all "+b);break;case "disabled":b?e.addClass("ui-dialog-disabled"):
-e.removeClass("ui-dialog-disabled");break;case "draggable":var g=e.is(":data(draggable)");g&&!b&&e.draggable("destroy");!g&&b&&d._makeDraggable();break;case "position":d._position(b);break;case "resizable":(g=e.is(":data(resizable)"))&&!b&&e.resizable("destroy");g&&typeof b==="string"&&e.resizable("option","handles",b);!g&&b!==false&&d._makeResizable(b);break;case "title":c(".ui-dialog-title",d.uiDialogTitlebar).html(""+(b||"&#160;"));break}c.Widget.prototype._setOption.apply(d,arguments)},_size:function(){var a=
-this.options,b,d,e=this.uiDialog.is(":visible");this.element.show().css({width:"auto",minHeight:0,height:0});if(a.minWidth>a.width)a.width=a.minWidth;b=this.uiDialog.css({height:"auto",width:a.width}).height();d=Math.max(0,a.minHeight-b);if(a.height==="auto")if(c.support.minHeight)this.element.css({minHeight:d,height:"auto"});else{this.uiDialog.show();a=this.element.css("height","auto").height();e||this.uiDialog.hide();this.element.height(Math.max(a,d))}else this.element.height(Math.max(a.height-
-b,0));this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())}});c.extend(c.ui.dialog,{version:"1.8.16",uuid:0,maxZ:0,getTitleId:function(a){a=a.attr("id");if(!a){this.uuid+=1;a=this.uuid}return"ui-dialog-title-"+a},overlay:function(a){this.$el=c.ui.dialog.overlay.create(a)}});c.extend(c.ui.dialog.overlay,{instances:[],oldInstances:[],maxZ:0,events:c.map("focus,mousedown,mouseup,keydown,keypress,click".split(","),function(a){return a+".dialog-overlay"}).join(" "),
-create:function(a){if(this.instances.length===0){setTimeout(function(){c.ui.dialog.overlay.instances.length&&c(document).bind(c.ui.dialog.overlay.events,function(d){if(c(d.target).zIndex()<c.ui.dialog.overlay.maxZ)return false})},1);c(document).bind("keydown.dialog-overlay",function(d){if(a.options.closeOnEscape&&!d.isDefaultPrevented()&&d.keyCode&&d.keyCode===c.ui.keyCode.ESCAPE){a.close(d);d.preventDefault()}});c(window).bind("resize.dialog-overlay",c.ui.dialog.overlay.resize)}var b=(this.oldInstances.pop()||
-c("<div></div>").addClass("ui-widget-overlay")).appendTo(document.body).css({width:this.width(),height:this.height()});c.fn.bgiframe&&b.bgiframe();this.instances.push(b);return b},destroy:function(a){var b=c.inArray(a,this.instances);b!=-1&&this.oldInstances.push(this.instances.splice(b,1)[0]);this.instances.length===0&&c([document,window]).unbind(".dialog-overlay");a.remove();var d=0;c.each(this.instances,function(){d=Math.max(d,this.css("z-index"))});this.maxZ=d},height:function(){var a,b;if(c.browser.msie&&
-c.browser.version<7){a=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight);b=Math.max(document.documentElement.offsetHeight,document.body.offsetHeight);return a<b?c(window).height()+"px":a+"px"}else return c(document).height()+"px"},width:function(){var a,b;if(c.browser.msie){a=Math.max(document.documentElement.scrollWidth,document.body.scrollWidth);b=Math.max(document.documentElement.offsetWidth,document.body.offsetWidth);return a<b?c(window).width()+"px":a+"px"}else return c(document).width()+
-"px"},resize:function(){var a=c([]);c.each(c.ui.dialog.overlay.instances,function(){a=a.add(this)});a.css({width:0,height:0}).css({width:c.ui.dialog.overlay.width(),height:c.ui.dialog.overlay.height()})}});c.extend(c.ui.dialog.overlay.prototype,{destroy:function(){c.ui.dialog.overlay.destroy(this.$el)}})})(jQuery);
-;/*
- * jQuery UI Slider 1.8.16
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Slider
- *
- * Depends:
- * jquery.ui.core.js
- * jquery.ui.mouse.js
- * jquery.ui.widget.js
- */
-(function(d){d.widget("ui.slider",d.ui.mouse,{widgetEventPrefix:"slide",options:{animate:false,distance:0,max:100,min:0,orientation:"horizontal",range:false,step:1,value:0,values:null},_create:function(){var a=this,b=this.options,c=this.element.find(".ui-slider-handle").addClass("ui-state-default ui-corner-all"),f=b.values&&b.values.length||1,e=[];this._mouseSliding=this._keySliding=false;this._animateOff=true;this._handleIndex=null;this._detectOrientation();this._mouseInit();this.element.addClass("ui-slider ui-slider-"+
-this.orientation+" ui-widget ui-widget-content ui-corner-all"+(b.disabled?" ui-slider-disabled ui-disabled":""));this.range=d([]);if(b.range){if(b.range===true){if(!b.values)b.values=[this._valueMin(),this._valueMin()];if(b.values.length&&b.values.length!==2)b.values=[b.values[0],b.values[0]]}this.range=d("<div></div>").appendTo(this.element).addClass("ui-slider-range ui-widget-header"+(b.range==="min"||b.range==="max"?" ui-slider-range-"+b.range:""))}for(var j=c.length;j<f;j+=1)e.push("<a class='ui-slider-handle ui-state-default ui-corner-all' href='#'></a>");
-this.handles=c.add(d(e.join("")).appendTo(a.element));this.handle=this.handles.eq(0);this.handles.add(this.range).filter("a").click(function(g){g.preventDefault()}).hover(function(){b.disabled||d(this).addClass("ui-state-hover")},function(){d(this).removeClass("ui-state-hover")}).focus(function(){if(b.disabled)d(this).blur();else{d(".ui-slider .ui-state-focus").removeClass("ui-state-focus");d(this).addClass("ui-state-focus")}}).blur(function(){d(this).removeClass("ui-state-focus")});this.handles.each(function(g){d(this).data("index.ui-slider-handle",
-g)});this.handles.keydown(function(g){var k=true,l=d(this).data("index.ui-slider-handle"),i,h,m;if(!a.options.disabled){switch(g.keyCode){case d.ui.keyCode.HOME:case d.ui.keyCode.END:case d.ui.keyCode.PAGE_UP:case d.ui.keyCode.PAGE_DOWN:case d.ui.keyCode.UP:case d.ui.keyCode.RIGHT:case d.ui.keyCode.DOWN:case d.ui.keyCode.LEFT:k=false;if(!a._keySliding){a._keySliding=true;d(this).addClass("ui-state-active");i=a._start(g,l);if(i===false)return}break}m=a.options.step;i=a.options.values&&a.options.values.length?
-(h=a.values(l)):(h=a.value());switch(g.keyCode){case d.ui.keyCode.HOME:h=a._valueMin();break;case d.ui.keyCode.END:h=a._valueMax();break;case d.ui.keyCode.PAGE_UP:h=a._trimAlignValue(i+(a._valueMax()-a._valueMin())/5);break;case d.ui.keyCode.PAGE_DOWN:h=a._trimAlignValue(i-(a._valueMax()-a._valueMin())/5);break;case d.ui.keyCode.UP:case d.ui.keyCode.RIGHT:if(i===a._valueMax())return;h=a._trimAlignValue(i+m);break;case d.ui.keyCode.DOWN:case d.ui.keyCode.LEFT:if(i===a._valueMin())return;h=a._trimAlignValue(i-
-m);break}a._slide(g,l,h);return k}}).keyup(function(g){var k=d(this).data("index.ui-slider-handle");if(a._keySliding){a._keySliding=false;a._stop(g,k);a._change(g,k);d(this).removeClass("ui-state-active")}});this._refreshValue();this._animateOff=false},destroy:function(){this.handles.remove();this.range.remove();this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-slider-disabled ui-widget ui-widget-content ui-corner-all").removeData("slider").unbind(".slider");this._mouseDestroy();
-return this},_mouseCapture:function(a){var b=this.options,c,f,e,j,g;if(b.disabled)return false;this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()};this.elementOffset=this.element.offset();c=this._normValueFromMouse({x:a.pageX,y:a.pageY});f=this._valueMax()-this._valueMin()+1;j=this;this.handles.each(function(k){var l=Math.abs(c-j.values(k));if(f>l){f=l;e=d(this);g=k}});if(b.range===true&&this.values(1)===b.min){g+=1;e=d(this.handles[g])}if(this._start(a,g)===false)return false;
-this._mouseSliding=true;j._handleIndex=g;e.addClass("ui-state-active").focus();b=e.offset();this._clickOffset=!d(a.target).parents().andSelf().is(".ui-slider-handle")?{left:0,top:0}:{left:a.pageX-b.left-e.width()/2,top:a.pageY-b.top-e.height()/2-(parseInt(e.css("borderTopWidth"),10)||0)-(parseInt(e.css("borderBottomWidth"),10)||0)+(parseInt(e.css("marginTop"),10)||0)};this.handles.hasClass("ui-state-hover")||this._slide(a,g,c);return this._animateOff=true},_mouseStart:function(){return true},_mouseDrag:function(a){var b=
-this._normValueFromMouse({x:a.pageX,y:a.pageY});this._slide(a,this._handleIndex,b);return false},_mouseStop:function(a){this.handles.removeClass("ui-state-active");this._mouseSliding=false;this._stop(a,this._handleIndex);this._change(a,this._handleIndex);this._clickOffset=this._handleIndex=null;return this._animateOff=false},_detectOrientation:function(){this.orientation=this.options.orientation==="vertical"?"vertical":"horizontal"},_normValueFromMouse:function(a){var b;if(this.orientation==="horizontal"){b=
-this.elementSize.width;a=a.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)}else{b=this.elementSize.height;a=a.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)}b=a/b;if(b>1)b=1;if(b<0)b=0;if(this.orientation==="vertical")b=1-b;a=this._valueMax()-this._valueMin();return this._trimAlignValue(this._valueMin()+b*a)},_start:function(a,b){var c={handle:this.handles[b],value:this.value()};if(this.options.values&&this.options.values.length){c.value=this.values(b);
-c.values=this.values()}return this._trigger("start",a,c)},_slide:function(a,b,c){var f;if(this.options.values&&this.options.values.length){f=this.values(b?0:1);if(this.options.values.length===2&&this.options.range===true&&(b===0&&c>f||b===1&&c<f))c=f;if(c!==this.values(b)){f=this.values();f[b]=c;a=this._trigger("slide",a,{handle:this.handles[b],value:c,values:f});this.values(b?0:1);a!==false&&this.values(b,c,true)}}else if(c!==this.value()){a=this._trigger("slide",a,{handle:this.handles[b],value:c});
-a!==false&&this.value(c)}},_stop:function(a,b){var c={handle:this.handles[b],value:this.value()};if(this.options.values&&this.options.values.length){c.value=this.values(b);c.values=this.values()}this._trigger("stop",a,c)},_change:function(a,b){if(!this._keySliding&&!this._mouseSliding){var c={handle:this.handles[b],value:this.value()};if(this.options.values&&this.options.values.length){c.value=this.values(b);c.values=this.values()}this._trigger("change",a,c)}},value:function(a){if(arguments.length){this.options.value=
-this._trimAlignValue(a);this._refreshValue();this._change(null,0)}else return this._value()},values:function(a,b){var c,f,e;if(arguments.length>1){this.options.values[a]=this._trimAlignValue(b);this._refreshValue();this._change(null,a)}else if(arguments.length)if(d.isArray(arguments[0])){c=this.options.values;f=arguments[0];for(e=0;e<c.length;e+=1){c[e]=this._trimAlignValue(f[e]);this._change(null,e)}this._refreshValue()}else return this.options.values&&this.options.values.length?this._values(a):
-this.value();else return this._values()},_setOption:function(a,b){var c,f=0;if(d.isArray(this.options.values))f=this.options.values.length;d.Widget.prototype._setOption.apply(this,arguments);switch(a){case "disabled":if(b){this.handles.filter(".ui-state-focus").blur();this.handles.removeClass("ui-state-hover");this.handles.propAttr("disabled",true);this.element.addClass("ui-disabled")}else{this.handles.propAttr("disabled",false);this.element.removeClass("ui-disabled")}break;case "orientation":this._detectOrientation();
-this.element.removeClass("ui-slider-horizontal ui-slider-vertical").addClass("ui-slider-"+this.orientation);this._refreshValue();break;case "value":this._animateOff=true;this._refreshValue();this._change(null,0);this._animateOff=false;break;case "values":this._animateOff=true;this._refreshValue();for(c=0;c<f;c+=1)this._change(null,c);this._animateOff=false;break}},_value:function(){var a=this.options.value;return a=this._trimAlignValue(a)},_values:function(a){var b,c;if(arguments.length){b=this.options.values[a];
-return b=this._trimAlignValue(b)}else{b=this.options.values.slice();for(c=0;c<b.length;c+=1)b[c]=this._trimAlignValue(b[c]);return b}},_trimAlignValue:function(a){if(a<=this._valueMin())return this._valueMin();if(a>=this._valueMax())return this._valueMax();var b=this.options.step>0?this.options.step:1,c=(a-this._valueMin())%b;a=a-c;if(Math.abs(c)*2>=b)a+=c>0?b:-b;return parseFloat(a.toFixed(5))},_valueMin:function(){return this.options.min},_valueMax:function(){return this.options.max},_refreshValue:function(){var a=
-this.options.range,b=this.options,c=this,f=!this._animateOff?b.animate:false,e,j={},g,k,l,i;if(this.options.values&&this.options.values.length)this.handles.each(function(h){e=(c.values(h)-c._valueMin())/(c._valueMax()-c._valueMin())*100;j[c.orientation==="horizontal"?"left":"bottom"]=e+"%";d(this).stop(1,1)[f?"animate":"css"](j,b.animate);if(c.options.range===true)if(c.orientation==="horizontal"){if(h===0)c.range.stop(1,1)[f?"animate":"css"]({left:e+"%"},b.animate);if(h===1)c.range[f?"animate":"css"]({width:e-
-g+"%"},{queue:false,duration:b.animate})}else{if(h===0)c.range.stop(1,1)[f?"animate":"css"]({bottom:e+"%"},b.animate);if(h===1)c.range[f?"animate":"css"]({height:e-g+"%"},{queue:false,duration:b.animate})}g=e});else{k=this.value();l=this._valueMin();i=this._valueMax();e=i!==l?(k-l)/(i-l)*100:0;j[c.orientation==="horizontal"?"left":"bottom"]=e+"%";this.handle.stop(1,1)[f?"animate":"css"](j,b.animate);if(a==="min"&&this.orientation==="horizontal")this.range.stop(1,1)[f?"animate":"css"]({width:e+"%"},
-b.animate);if(a==="max"&&this.orientation==="horizontal")this.range[f?"animate":"css"]({width:100-e+"%"},{queue:false,duration:b.animate});if(a==="min"&&this.orientation==="vertical")this.range.stop(1,1)[f?"animate":"css"]({height:e+"%"},b.animate);if(a==="max"&&this.orientation==="vertical")this.range[f?"animate":"css"]({height:100-e+"%"},{queue:false,duration:b.animate})}}});d.extend(d.ui.slider,{version:"1.8.16"})})(jQuery);
-;/*
- * jQuery UI Tabs 1.8.16
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Tabs
- *
- * Depends:
- * jquery.ui.core.js
- * jquery.ui.widget.js
- */
-(function(d,p){function u(){return++v}function w(){return++x}var v=0,x=0;d.widget("ui.tabs",{options:{add:null,ajaxOptions:null,cache:false,cookie:null,collapsible:false,disable:null,disabled:[],enable:null,event:"click",fx:null,idPrefix:"ui-tabs-",load:null,panelTemplate:"<div></div>",remove:null,select:null,show:null,spinner:"<em>Loading&#8230;</em>",tabTemplate:"<li><a href='#{href}'><span>#{label}</span></a></li>"},_create:function(){this._tabify(true)},_setOption:function(b,e){if(b=="selected")this.options.collapsible&&
-e==this.options.selected||this.select(e);else{this.options[b]=e;this._tabify()}},_tabId:function(b){return b.title&&b.title.replace(/\s/g,"_").replace(/[^\w\u00c0-\uFFFF-]/g,"")||this.options.idPrefix+u()},_sanitizeSelector:function(b){return b.replace(/:/g,"\\:")},_cookie:function(){var b=this.cookie||(this.cookie=this.options.cookie.name||"ui-tabs-"+w());return d.cookie.apply(null,[b].concat(d.makeArray(arguments)))},_ui:function(b,e){return{tab:b,panel:e,index:this.anchors.index(b)}},_cleanup:function(){this.lis.filter(".ui-state-processing").removeClass("ui-state-processing").find("span:data(label.tabs)").each(function(){var b=
-d(this);b.html(b.data("label.tabs")).removeData("label.tabs")})},_tabify:function(b){function e(g,f){g.css("display","");!d.support.opacity&&f.opacity&&g[0].style.removeAttribute("filter")}var a=this,c=this.options,h=/^#.+/;this.list=this.element.find("ol,ul").eq(0);this.lis=d(" > li:has(a[href])",this.list);this.anchors=this.lis.map(function(){return d("a",this)[0]});this.panels=d([]);this.anchors.each(function(g,f){var i=d(f).attr("href"),l=i.split("#")[0],q;if(l&&(l===location.toString().split("#")[0]||
-(q=d("base")[0])&&l===q.href)){i=f.hash;f.href=i}if(h.test(i))a.panels=a.panels.add(a.element.find(a._sanitizeSelector(i)));else if(i&&i!=="#"){d.data(f,"href.tabs",i);d.data(f,"load.tabs",i.replace(/#.*$/,""));i=a._tabId(f);f.href="#"+i;f=a.element.find("#"+i);if(!f.length){f=d(c.panelTemplate).attr("id",i).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").insertAfter(a.panels[g-1]||a.list);f.data("destroy.tabs",true)}a.panels=a.panels.add(f)}else c.disabled.push(g)});if(b){this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all");
-this.list.addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.lis.addClass("ui-state-default ui-corner-top");this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom");if(c.selected===p){location.hash&&this.anchors.each(function(g,f){if(f.hash==location.hash){c.selected=g;return false}});if(typeof c.selected!=="number"&&c.cookie)c.selected=parseInt(a._cookie(),10);if(typeof c.selected!=="number"&&this.lis.filter(".ui-tabs-selected").length)c.selected=
-this.lis.index(this.lis.filter(".ui-tabs-selected"));c.selected=c.selected||(this.lis.length?0:-1)}else if(c.selected===null)c.selected=-1;c.selected=c.selected>=0&&this.anchors[c.selected]||c.selected<0?c.selected:0;c.disabled=d.unique(c.disabled.concat(d.map(this.lis.filter(".ui-state-disabled"),function(g){return a.lis.index(g)}))).sort();d.inArray(c.selected,c.disabled)!=-1&&c.disabled.splice(d.inArray(c.selected,c.disabled),1);this.panels.addClass("ui-tabs-hide");this.lis.removeClass("ui-tabs-selected ui-state-active");
-if(c.selected>=0&&this.anchors.length){a.element.find(a._sanitizeSelector(a.anchors[c.selected].hash)).removeClass("ui-tabs-hide");this.lis.eq(c.selected).addClass("ui-tabs-selected ui-state-active");a.element.queue("tabs",function(){a._trigger("show",null,a._ui(a.anchors[c.selected],a.element.find(a._sanitizeSelector(a.anchors[c.selected].hash))[0]))});this.load(c.selected)}d(window).bind("unload",function(){a.lis.add(a.anchors).unbind(".tabs");a.lis=a.anchors=a.panels=null})}else c.selected=this.lis.index(this.lis.filter(".ui-tabs-selected"));
-this.element[c.collapsible?"addClass":"removeClass"]("ui-tabs-collapsible");c.cookie&&this._cookie(c.selected,c.cookie);b=0;for(var j;j=this.lis[b];b++)d(j)[d.inArray(b,c.disabled)!=-1&&!d(j).hasClass("ui-tabs-selected")?"addClass":"removeClass"]("ui-state-disabled");c.cache===false&&this.anchors.removeData("cache.tabs");this.lis.add(this.anchors).unbind(".tabs");if(c.event!=="mouseover"){var k=function(g,f){f.is(":not(.ui-state-disabled)")&&f.addClass("ui-state-"+g)},n=function(g,f){f.removeClass("ui-state-"+
-g)};this.lis.bind("mouseover.tabs",function(){k("hover",d(this))});this.lis.bind("mouseout.tabs",function(){n("hover",d(this))});this.anchors.bind("focus.tabs",function(){k("focus",d(this).closest("li"))});this.anchors.bind("blur.tabs",function(){n("focus",d(this).closest("li"))})}var m,o;if(c.fx)if(d.isArray(c.fx)){m=c.fx[0];o=c.fx[1]}else m=o=c.fx;var r=o?function(g,f){d(g).closest("li").addClass("ui-tabs-selected ui-state-active");f.hide().removeClass("ui-tabs-hide").animate(o,o.duration||"normal",
-function(){e(f,o);a._trigger("show",null,a._ui(g,f[0]))})}:function(g,f){d(g).closest("li").addClass("ui-tabs-selected ui-state-active");f.removeClass("ui-tabs-hide");a._trigger("show",null,a._ui(g,f[0]))},s=m?function(g,f){f.animate(m,m.duration||"normal",function(){a.lis.removeClass("ui-tabs-selected ui-state-active");f.addClass("ui-tabs-hide");e(f,m);a.element.dequeue("tabs")})}:function(g,f){a.lis.removeClass("ui-tabs-selected ui-state-active");f.addClass("ui-tabs-hide");a.element.dequeue("tabs")};
-this.anchors.bind(c.event+".tabs",function(){var g=this,f=d(g).closest("li"),i=a.panels.filter(":not(.ui-tabs-hide)"),l=a.element.find(a._sanitizeSelector(g.hash));if(f.hasClass("ui-tabs-selected")&&!c.collapsible||f.hasClass("ui-state-disabled")||f.hasClass("ui-state-processing")||a.panels.filter(":animated").length||a._trigger("select",null,a._ui(this,l[0]))===false){this.blur();return false}c.selected=a.anchors.index(this);a.abort();if(c.collapsible)if(f.hasClass("ui-tabs-selected")){c.selected=
--1;c.cookie&&a._cookie(c.selected,c.cookie);a.element.queue("tabs",function(){s(g,i)}).dequeue("tabs");this.blur();return false}else if(!i.length){c.cookie&&a._cookie(c.selected,c.cookie);a.element.queue("tabs",function(){r(g,l)});a.load(a.anchors.index(this));this.blur();return false}c.cookie&&a._cookie(c.selected,c.cookie);if(l.length){i.length&&a.element.queue("tabs",function(){s(g,i)});a.element.queue("tabs",function(){r(g,l)});a.load(a.anchors.index(this))}else throw"jQuery UI Tabs: Mismatching fragment identifier.";
-d.browser.msie&&this.blur()});this.anchors.bind("click.tabs",function(){return false})},_getIndex:function(b){if(typeof b=="string")b=this.anchors.index(this.anchors.filter("[href$="+b+"]"));return b},destroy:function(){var b=this.options;this.abort();this.element.unbind(".tabs").removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible").removeData("tabs");this.list.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.anchors.each(function(){var e=
-d.data(this,"href.tabs");if(e)this.href=e;var a=d(this).unbind(".tabs");d.each(["href","load","cache"],function(c,h){a.removeData(h+".tabs")})});this.lis.unbind(".tabs").add(this.panels).each(function(){d.data(this,"destroy.tabs")?d(this).remove():d(this).removeClass("ui-state-default ui-corner-top ui-tabs-selected ui-state-active ui-state-hover ui-state-focus ui-state-disabled ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide")});b.cookie&&this._cookie(null,b.cookie);return this},add:function(b,
-e,a){if(a===p)a=this.anchors.length;var c=this,h=this.options;e=d(h.tabTemplate.replace(/#\{href\}/g,b).replace(/#\{label\}/g,e));b=!b.indexOf("#")?b.replace("#",""):this._tabId(d("a",e)[0]);e.addClass("ui-state-default ui-corner-top").data("destroy.tabs",true);var j=c.element.find("#"+b);j.length||(j=d(h.panelTemplate).attr("id",b).data("destroy.tabs",true));j.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide");if(a>=this.lis.length){e.appendTo(this.list);j.appendTo(this.list[0].parentNode)}else{e.insertBefore(this.lis[a]);
-j.insertBefore(this.panels[a])}h.disabled=d.map(h.disabled,function(k){return k>=a?++k:k});this._tabify();if(this.anchors.length==1){h.selected=0;e.addClass("ui-tabs-selected ui-state-active");j.removeClass("ui-tabs-hide");this.element.queue("tabs",function(){c._trigger("show",null,c._ui(c.anchors[0],c.panels[0]))});this.load(0)}this._trigger("add",null,this._ui(this.anchors[a],this.panels[a]));return this},remove:function(b){b=this._getIndex(b);var e=this.options,a=this.lis.eq(b).remove(),c=this.panels.eq(b).remove();
-if(a.hasClass("ui-tabs-selected")&&this.anchors.length>1)this.select(b+(b+1<this.anchors.length?1:-1));e.disabled=d.map(d.grep(e.disabled,function(h){return h!=b}),function(h){return h>=b?--h:h});this._tabify();this._trigger("remove",null,this._ui(a.find("a")[0],c[0]));return this},enable:function(b){b=this._getIndex(b);var e=this.options;if(d.inArray(b,e.disabled)!=-1){this.lis.eq(b).removeClass("ui-state-disabled");e.disabled=d.grep(e.disabled,function(a){return a!=b});this._trigger("enable",null,
-this._ui(this.anchors[b],this.panels[b]));return this}},disable:function(b){b=this._getIndex(b);var e=this.options;if(b!=e.selected){this.lis.eq(b).addClass("ui-state-disabled");e.disabled.push(b);e.disabled.sort();this._trigger("disable",null,this._ui(this.anchors[b],this.panels[b]))}return this},select:function(b){b=this._getIndex(b);if(b==-1)if(this.options.collapsible&&this.options.selected!=-1)b=this.options.selected;else return this;this.anchors.eq(b).trigger(this.options.event+".tabs");return this},
-load:function(b){b=this._getIndex(b);var e=this,a=this.options,c=this.anchors.eq(b)[0],h=d.data(c,"load.tabs");this.abort();if(!h||this.element.queue("tabs").length!==0&&d.data(c,"cache.tabs"))this.element.dequeue("tabs");else{this.lis.eq(b).addClass("ui-state-processing");if(a.spinner){var j=d("span",c);j.data("label.tabs",j.html()).html(a.spinner)}this.xhr=d.ajax(d.extend({},a.ajaxOptions,{url:h,success:function(k,n){e.element.find(e._sanitizeSelector(c.hash)).html(k);e._cleanup();a.cache&&d.data(c,
-"cache.tabs",true);e._trigger("load",null,e._ui(e.anchors[b],e.panels[b]));try{a.ajaxOptions.success(k,n)}catch(m){}},error:function(k,n){e._cleanup();e._trigger("load",null,e._ui(e.anchors[b],e.panels[b]));try{a.ajaxOptions.error(k,n,b,c)}catch(m){}}}));e.element.dequeue("tabs");return this}},abort:function(){this.element.queue([]);this.panels.stop(false,true);this.element.queue("tabs",this.element.queue("tabs").splice(-2,2));if(this.xhr){this.xhr.abort();delete this.xhr}this._cleanup();return this},
-url:function(b,e){this.anchors.eq(b).removeData("cache.tabs").data("load.tabs",e);return this},length:function(){return this.anchors.length}});d.extend(d.ui.tabs,{version:"1.8.16"});d.extend(d.ui.tabs.prototype,{rotation:null,rotate:function(b,e){var a=this,c=this.options,h=a._rotate||(a._rotate=function(j){clearTimeout(a.rotation);a.rotation=setTimeout(function(){var k=c.selected;a.select(++k<a.anchors.length?k:0)},b);j&&j.stopPropagation()});e=a._unrotate||(a._unrotate=!e?function(j){j.clientX&&
-a.rotate(null)}:function(){t=c.selected;h()});if(b){this.element.bind("tabsshow",h);this.anchors.bind(c.event+".tabs",e);h()}else{clearTimeout(a.rotation);this.element.unbind("tabsshow",h);this.anchors.unbind(c.event+".tabs",e);delete this._rotate;delete this._unrotate}return this}})})(jQuery);
-;/*
- * jQuery UI Datepicker 1.8.16
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Datepicker
- *
- * Depends:
- * jquery.ui.core.js
- */
-(function(d,C){function M(){this.debug=false;this._curInst=null;this._keyEvent=false;this._disabledInputs=[];this._inDialog=this._datepickerShowing=false;this._mainDivId="ui-datepicker-div";this._inlineClass="ui-datepicker-inline";this._appendClass="ui-datepicker-append";this._triggerClass="ui-datepicker-trigger";this._dialogClass="ui-datepicker-dialog";this._disableClass="ui-datepicker-disabled";this._unselectableClass="ui-datepicker-unselectable";this._currentClass="ui-datepicker-current-day";this._dayOverClass=
-"ui-datepicker-days-cell-over";this.regional=[];this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su",
-"Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"mm/dd/yy",firstDay:0,isRTL:false,showMonthAfterYear:false,yearSuffix:""};this._defaults={showOn:"focus",showAnim:"fadeIn",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:false,hideIfNoPrevNext:false,navigationAsDateFormat:false,gotoCurrent:false,changeMonth:false,changeYear:false,yearRange:"c-10:c+10",showOtherMonths:false,selectOtherMonths:false,showWeek:false,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",
-minDate:null,maxDate:null,duration:"fast",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:true,showButtonPanel:false,autoSize:false,disabled:false};d.extend(this._defaults,this.regional[""]);this.dpDiv=N(d('<div id="'+this._mainDivId+'" class="ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>'))}function N(a){return a.bind("mouseout",
-function(b){b=d(b.target).closest("button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a");b.length&&b.removeClass("ui-state-hover ui-datepicker-prev-hover ui-datepicker-next-hover")}).bind("mouseover",function(b){b=d(b.target).closest("button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a");if(!(d.datepicker._isDisabledDatepicker(J.inline?a.parent()[0]:J.input[0])||!b.length)){b.parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover");
-b.addClass("ui-state-hover");b.hasClass("ui-datepicker-prev")&&b.addClass("ui-datepicker-prev-hover");b.hasClass("ui-datepicker-next")&&b.addClass("ui-datepicker-next-hover")}})}function H(a,b){d.extend(a,b);for(var c in b)if(b[c]==null||b[c]==C)a[c]=b[c];return a}d.extend(d.ui,{datepicker:{version:"1.8.16"}});var B=(new Date).getTime(),J;d.extend(M.prototype,{markerClassName:"hasDatepicker",maxRows:4,log:function(){this.debug&&console.log.apply("",arguments)},_widgetDatepicker:function(){return this.dpDiv},
-setDefaults:function(a){H(this._defaults,a||{});return this},_attachDatepicker:function(a,b){var c=null;for(var e in this._defaults){var f=a.getAttribute("date:"+e);if(f){c=c||{};try{c[e]=eval(f)}catch(h){c[e]=f}}}e=a.nodeName.toLowerCase();f=e=="div"||e=="span";if(!a.id){this.uuid+=1;a.id="dp"+this.uuid}var i=this._newInst(d(a),f);i.settings=d.extend({},b||{},c||{});if(e=="input")this._connectDatepicker(a,i);else f&&this._inlineDatepicker(a,i)},_newInst:function(a,b){return{id:a[0].id.replace(/([^A-Za-z0-9_-])/g,
-"\\\\$1"),input:a,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:b,dpDiv:!b?this.dpDiv:N(d('<div class="'+this._inlineClass+' ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>'))}},_connectDatepicker:function(a,b){var c=d(a);b.append=d([]);b.trigger=d([]);if(!c.hasClass(this.markerClassName)){this._attachments(c,b);c.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp).bind("setData.datepicker",
-function(e,f,h){b.settings[f]=h}).bind("getData.datepicker",function(e,f){return this._get(b,f)});this._autoSize(b);d.data(a,"datepicker",b);b.settings.disabled&&this._disableDatepicker(a)}},_attachments:function(a,b){var c=this._get(b,"appendText"),e=this._get(b,"isRTL");b.append&&b.append.remove();if(c){b.append=d('<span class="'+this._appendClass+'">'+c+"</span>");a[e?"before":"after"](b.append)}a.unbind("focus",this._showDatepicker);b.trigger&&b.trigger.remove();c=this._get(b,"showOn");if(c==
-"focus"||c=="both")a.focus(this._showDatepicker);if(c=="button"||c=="both"){c=this._get(b,"buttonText");var f=this._get(b,"buttonImage");b.trigger=d(this._get(b,"buttonImageOnly")?d("<img/>").addClass(this._triggerClass).attr({src:f,alt:c,title:c}):d('<button type="button"></button>').addClass(this._triggerClass).html(f==""?c:d("<img/>").attr({src:f,alt:c,title:c})));a[e?"before":"after"](b.trigger);b.trigger.click(function(){d.datepicker._datepickerShowing&&d.datepicker._lastInput==a[0]?d.datepicker._hideDatepicker():
-d.datepicker._showDatepicker(a[0]);return false})}},_autoSize:function(a){if(this._get(a,"autoSize")&&!a.inline){var b=new Date(2009,11,20),c=this._get(a,"dateFormat");if(c.match(/[DM]/)){var e=function(f){for(var h=0,i=0,g=0;g<f.length;g++)if(f[g].length>h){h=f[g].length;i=g}return i};b.setMonth(e(this._get(a,c.match(/MM/)?"monthNames":"monthNamesShort")));b.setDate(e(this._get(a,c.match(/DD/)?"dayNames":"dayNamesShort"))+20-b.getDay())}a.input.attr("size",this._formatDate(a,b).length)}},_inlineDatepicker:function(a,
-b){var c=d(a);if(!c.hasClass(this.markerClassName)){c.addClass(this.markerClassName).append(b.dpDiv).bind("setData.datepicker",function(e,f,h){b.settings[f]=h}).bind("getData.datepicker",function(e,f){return this._get(b,f)});d.data(a,"datepicker",b);this._setDate(b,this._getDefaultDate(b),true);this._updateDatepicker(b);this._updateAlternate(b);b.settings.disabled&&this._disableDatepicker(a);b.dpDiv.css("display","block")}},_dialogDatepicker:function(a,b,c,e,f){a=this._dialogInst;if(!a){this.uuid+=
-1;this._dialogInput=d('<input type="text" id="'+("dp"+this.uuid)+'" style="position: absolute; top: -100px; width: 0px; z-index: -10;"/>');this._dialogInput.keydown(this._doKeyDown);d("body").append(this._dialogInput);a=this._dialogInst=this._newInst(this._dialogInput,false);a.settings={};d.data(this._dialogInput[0],"datepicker",a)}H(a.settings,e||{});b=b&&b.constructor==Date?this._formatDate(a,b):b;this._dialogInput.val(b);this._pos=f?f.length?f:[f.pageX,f.pageY]:null;if(!this._pos)this._pos=[document.documentElement.clientWidth/
-2-100+(document.documentElement.scrollLeft||document.body.scrollLeft),document.documentElement.clientHeight/2-150+(document.documentElement.scrollTop||document.body.scrollTop)];this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px");a.settings.onSelect=c;this._inDialog=true;this.dpDiv.addClass(this._dialogClass);this._showDatepicker(this._dialogInput[0]);d.blockUI&&d.blockUI(this.dpDiv);d.data(this._dialogInput[0],"datepicker",a);return this},_destroyDatepicker:function(a){var b=
-d(a),c=d.data(a,"datepicker");if(b.hasClass(this.markerClassName)){var e=a.nodeName.toLowerCase();d.removeData(a,"datepicker");if(e=="input"){c.append.remove();c.trigger.remove();b.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress).unbind("keyup",this._doKeyUp)}else if(e=="div"||e=="span")b.removeClass(this.markerClassName).empty()}},_enableDatepicker:function(a){var b=d(a),c=d.data(a,"datepicker");if(b.hasClass(this.markerClassName)){var e=
-a.nodeName.toLowerCase();if(e=="input"){a.disabled=false;c.trigger.filter("button").each(function(){this.disabled=false}).end().filter("img").css({opacity:"1.0",cursor:""})}else if(e=="div"||e=="span"){b=b.children("."+this._inlineClass);b.children().removeClass("ui-state-disabled");b.find("select.ui-datepicker-month, select.ui-datepicker-year").removeAttr("disabled")}this._disabledInputs=d.map(this._disabledInputs,function(f){return f==a?null:f})}},_disableDatepicker:function(a){var b=d(a),c=d.data(a,
-"datepicker");if(b.hasClass(this.markerClassName)){var e=a.nodeName.toLowerCase();if(e=="input"){a.disabled=true;c.trigger.filter("button").each(function(){this.disabled=true}).end().filter("img").css({opacity:"0.5",cursor:"default"})}else if(e=="div"||e=="span"){b=b.children("."+this._inlineClass);b.children().addClass("ui-state-disabled");b.find("select.ui-datepicker-month, select.ui-datepicker-year").attr("disabled","disabled")}this._disabledInputs=d.map(this._disabledInputs,function(f){return f==
-a?null:f});this._disabledInputs[this._disabledInputs.length]=a}},_isDisabledDatepicker:function(a){if(!a)return false;for(var b=0;b<this._disabledInputs.length;b++)if(this._disabledInputs[b]==a)return true;return false},_getInst:function(a){try{return d.data(a,"datepicker")}catch(b){throw"Missing instance data for this datepicker";}},_optionDatepicker:function(a,b,c){var e=this._getInst(a);if(arguments.length==2&&typeof b=="string")return b=="defaults"?d.extend({},d.datepicker._defaults):e?b=="all"?
-d.extend({},e.settings):this._get(e,b):null;var f=b||{};if(typeof b=="string"){f={};f[b]=c}if(e){this._curInst==e&&this._hideDatepicker();var h=this._getDateDatepicker(a,true),i=this._getMinMaxDate(e,"min"),g=this._getMinMaxDate(e,"max");H(e.settings,f);if(i!==null&&f.dateFormat!==C&&f.minDate===C)e.settings.minDate=this._formatDate(e,i);if(g!==null&&f.dateFormat!==C&&f.maxDate===C)e.settings.maxDate=this._formatDate(e,g);this._attachments(d(a),e);this._autoSize(e);this._setDate(e,h);this._updateAlternate(e);
-this._updateDatepicker(e)}},_changeDatepicker:function(a,b,c){this._optionDatepicker(a,b,c)},_refreshDatepicker:function(a){(a=this._getInst(a))&&this._updateDatepicker(a)},_setDateDatepicker:function(a,b){if(a=this._getInst(a)){this._setDate(a,b);this._updateDatepicker(a);this._updateAlternate(a)}},_getDateDatepicker:function(a,b){(a=this._getInst(a))&&!a.inline&&this._setDateFromField(a,b);return a?this._getDate(a):null},_doKeyDown:function(a){var b=d.datepicker._getInst(a.target),c=true,e=b.dpDiv.is(".ui-datepicker-rtl");
-b._keyEvent=true;if(d.datepicker._datepickerShowing)switch(a.keyCode){case 9:d.datepicker._hideDatepicker();c=false;break;case 13:c=d("td."+d.datepicker._dayOverClass+":not(."+d.datepicker._currentClass+")",b.dpDiv);c[0]&&d.datepicker._selectDay(a.target,b.selectedMonth,b.selectedYear,c[0]);if(a=d.datepicker._get(b,"onSelect")){c=d.datepicker._formatDate(b);a.apply(b.input?b.input[0]:null,[c,b])}else d.datepicker._hideDatepicker();return false;case 27:d.datepicker._hideDatepicker();break;case 33:d.datepicker._adjustDate(a.target,
-a.ctrlKey?-d.datepicker._get(b,"stepBigMonths"):-d.datepicker._get(b,"stepMonths"),"M");break;case 34:d.datepicker._adjustDate(a.target,a.ctrlKey?+d.datepicker._get(b,"stepBigMonths"):+d.datepicker._get(b,"stepMonths"),"M");break;case 35:if(a.ctrlKey||a.metaKey)d.datepicker._clearDate(a.target);c=a.ctrlKey||a.metaKey;break;case 36:if(a.ctrlKey||a.metaKey)d.datepicker._gotoToday(a.target);c=a.ctrlKey||a.metaKey;break;case 37:if(a.ctrlKey||a.metaKey)d.datepicker._adjustDate(a.target,e?+1:-1,"D");c=
-a.ctrlKey||a.metaKey;if(a.originalEvent.altKey)d.datepicker._adjustDate(a.target,a.ctrlKey?-d.datepicker._get(b,"stepBigMonths"):-d.datepicker._get(b,"stepMonths"),"M");break;case 38:if(a.ctrlKey||a.metaKey)d.datepicker._adjustDate(a.target,-7,"D");c=a.ctrlKey||a.metaKey;break;case 39:if(a.ctrlKey||a.metaKey)d.datepicker._adjustDate(a.target,e?-1:+1,"D");c=a.ctrlKey||a.metaKey;if(a.originalEvent.altKey)d.datepicker._adjustDate(a.target,a.ctrlKey?+d.datepicker._get(b,"stepBigMonths"):+d.datepicker._get(b,
-"stepMonths"),"M");break;case 40:if(a.ctrlKey||a.metaKey)d.datepicker._adjustDate(a.target,+7,"D");c=a.ctrlKey||a.metaKey;break;default:c=false}else if(a.keyCode==36&&a.ctrlKey)d.datepicker._showDatepicker(this);else c=false;if(c){a.preventDefault();a.stopPropagation()}},_doKeyPress:function(a){var b=d.datepicker._getInst(a.target);if(d.datepicker._get(b,"constrainInput")){b=d.datepicker._possibleChars(d.datepicker._get(b,"dateFormat"));var c=String.fromCharCode(a.charCode==C?a.keyCode:a.charCode);
-return a.ctrlKey||a.metaKey||c<" "||!b||b.indexOf(c)>-1}},_doKeyUp:function(a){a=d.datepicker._getInst(a.target);if(a.input.val()!=a.lastVal)try{if(d.datepicker.parseDate(d.datepicker._get(a,"dateFormat"),a.input?a.input.val():null,d.datepicker._getFormatConfig(a))){d.datepicker._setDateFromField(a);d.datepicker._updateAlternate(a);d.datepicker._updateDatepicker(a)}}catch(b){d.datepicker.log(b)}return true},_showDatepicker:function(a){a=a.target||a;if(a.nodeName.toLowerCase()!="input")a=d("input",
-a.parentNode)[0];if(!(d.datepicker._isDisabledDatepicker(a)||d.datepicker._lastInput==a)){var b=d.datepicker._getInst(a);if(d.datepicker._curInst&&d.datepicker._curInst!=b){d.datepicker._datepickerShowing&&d.datepicker._triggerOnClose(d.datepicker._curInst);d.datepicker._curInst.dpDiv.stop(true,true)}var c=d.datepicker._get(b,"beforeShow");c=c?c.apply(a,[a,b]):{};if(c!==false){H(b.settings,c);b.lastVal=null;d.datepicker._lastInput=a;d.datepicker._setDateFromField(b);if(d.datepicker._inDialog)a.value=
-"";if(!d.datepicker._pos){d.datepicker._pos=d.datepicker._findPos(a);d.datepicker._pos[1]+=a.offsetHeight}var e=false;d(a).parents().each(function(){e|=d(this).css("position")=="fixed";return!e});if(e&&d.browser.opera){d.datepicker._pos[0]-=document.documentElement.scrollLeft;d.datepicker._pos[1]-=document.documentElement.scrollTop}c={left:d.datepicker._pos[0],top:d.datepicker._pos[1]};d.datepicker._pos=null;b.dpDiv.empty();b.dpDiv.css({position:"absolute",display:"block",top:"-1000px"});d.datepicker._updateDatepicker(b);
-c=d.datepicker._checkOffset(b,c,e);b.dpDiv.css({position:d.datepicker._inDialog&&d.blockUI?"static":e?"fixed":"absolute",display:"none",left:c.left+"px",top:c.top+"px"});if(!b.inline){c=d.datepicker._get(b,"showAnim");var f=d.datepicker._get(b,"duration"),h=function(){var i=b.dpDiv.find("iframe.ui-datepicker-cover");if(i.length){var g=d.datepicker._getBorders(b.dpDiv);i.css({left:-g[0],top:-g[1],width:b.dpDiv.outerWidth(),height:b.dpDiv.outerHeight()})}};b.dpDiv.zIndex(d(a).zIndex()+1);d.datepicker._datepickerShowing=
-true;d.effects&&d.effects[c]?b.dpDiv.show(c,d.datepicker._get(b,"showOptions"),f,h):b.dpDiv[c||"show"](c?f:null,h);if(!c||!f)h();b.input.is(":visible")&&!b.input.is(":disabled")&&b.input.focus();d.datepicker._curInst=b}}}},_updateDatepicker:function(a){this.maxRows=4;var b=d.datepicker._getBorders(a.dpDiv);J=a;a.dpDiv.empty().append(this._generateHTML(a));var c=a.dpDiv.find("iframe.ui-datepicker-cover");c.length&&c.css({left:-b[0],top:-b[1],width:a.dpDiv.outerWidth(),height:a.dpDiv.outerHeight()});
-a.dpDiv.find("."+this._dayOverClass+" a").mouseover();b=this._getNumberOfMonths(a);c=b[1];a.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width("");c>1&&a.dpDiv.addClass("ui-datepicker-multi-"+c).css("width",17*c+"em");a.dpDiv[(b[0]!=1||b[1]!=1?"add":"remove")+"Class"]("ui-datepicker-multi");a.dpDiv[(this._get(a,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl");a==d.datepicker._curInst&&d.datepicker._datepickerShowing&&a.input&&a.input.is(":visible")&&
-!a.input.is(":disabled")&&a.input[0]!=document.activeElement&&a.input.focus();if(a.yearshtml){var e=a.yearshtml;setTimeout(function(){e===a.yearshtml&&a.yearshtml&&a.dpDiv.find("select.ui-datepicker-year:first").replaceWith(a.yearshtml);e=a.yearshtml=null},0)}},_getBorders:function(a){var b=function(c){return{thin:1,medium:2,thick:3}[c]||c};return[parseFloat(b(a.css("border-left-width"))),parseFloat(b(a.css("border-top-width")))]},_checkOffset:function(a,b,c){var e=a.dpDiv.outerWidth(),f=a.dpDiv.outerHeight(),
-h=a.input?a.input.outerWidth():0,i=a.input?a.input.outerHeight():0,g=document.documentElement.clientWidth+d(document).scrollLeft(),j=document.documentElement.clientHeight+d(document).scrollTop();b.left-=this._get(a,"isRTL")?e-h:0;b.left-=c&&b.left==a.input.offset().left?d(document).scrollLeft():0;b.top-=c&&b.top==a.input.offset().top+i?d(document).scrollTop():0;b.left-=Math.min(b.left,b.left+e>g&&g>e?Math.abs(b.left+e-g):0);b.top-=Math.min(b.top,b.top+f>j&&j>f?Math.abs(f+i):0);return b},_findPos:function(a){for(var b=
-this._get(this._getInst(a),"isRTL");a&&(a.type=="hidden"||a.nodeType!=1||d.expr.filters.hidden(a));)a=a[b?"previousSibling":"nextSibling"];a=d(a).offset();return[a.left,a.top]},_triggerOnClose:function(a){var b=this._get(a,"onClose");if(b)b.apply(a.input?a.input[0]:null,[a.input?a.input.val():"",a])},_hideDatepicker:function(a){var b=this._curInst;if(!(!b||a&&b!=d.data(a,"datepicker")))if(this._datepickerShowing){a=this._get(b,"showAnim");var c=this._get(b,"duration"),e=function(){d.datepicker._tidyDialog(b);
-this._curInst=null};d.effects&&d.effects[a]?b.dpDiv.hide(a,d.datepicker._get(b,"showOptions"),c,e):b.dpDiv[a=="slideDown"?"slideUp":a=="fadeIn"?"fadeOut":"hide"](a?c:null,e);a||e();d.datepicker._triggerOnClose(b);this._datepickerShowing=false;this._lastInput=null;if(this._inDialog){this._dialogInput.css({position:"absolute",left:"0",top:"-100px"});if(d.blockUI){d.unblockUI();d("body").append(this.dpDiv)}}this._inDialog=false}},_tidyDialog:function(a){a.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")},
-_checkExternalClick:function(a){if(d.datepicker._curInst){a=d(a.target);a[0].id!=d.datepicker._mainDivId&&a.parents("#"+d.datepicker._mainDivId).length==0&&!a.hasClass(d.datepicker.markerClassName)&&!a.hasClass(d.datepicker._triggerClass)&&d.datepicker._datepickerShowing&&!(d.datepicker._inDialog&&d.blockUI)&&d.datepicker._hideDatepicker()}},_adjustDate:function(a,b,c){a=d(a);var e=this._getInst(a[0]);if(!this._isDisabledDatepicker(a[0])){this._adjustInstDate(e,b+(c=="M"?this._get(e,"showCurrentAtPos"):
-0),c);this._updateDatepicker(e)}},_gotoToday:function(a){a=d(a);var b=this._getInst(a[0]);if(this._get(b,"gotoCurrent")&&b.currentDay){b.selectedDay=b.currentDay;b.drawMonth=b.selectedMonth=b.currentMonth;b.drawYear=b.selectedYear=b.currentYear}else{var c=new Date;b.selectedDay=c.getDate();b.drawMonth=b.selectedMonth=c.getMonth();b.drawYear=b.selectedYear=c.getFullYear()}this._notifyChange(b);this._adjustDate(a)},_selectMonthYear:function(a,b,c){a=d(a);var e=this._getInst(a[0]);e["selected"+(c=="M"?
-"Month":"Year")]=e["draw"+(c=="M"?"Month":"Year")]=parseInt(b.options[b.selectedIndex].value,10);this._notifyChange(e);this._adjustDate(a)},_selectDay:function(a,b,c,e){var f=d(a);if(!(d(e).hasClass(this._unselectableClass)||this._isDisabledDatepicker(f[0]))){f=this._getInst(f[0]);f.selectedDay=f.currentDay=d("a",e).html();f.selectedMonth=f.currentMonth=b;f.selectedYear=f.currentYear=c;this._selectDate(a,this._formatDate(f,f.currentDay,f.currentMonth,f.currentYear))}},_clearDate:function(a){a=d(a);
-this._getInst(a[0]);this._selectDate(a,"")},_selectDate:function(a,b){a=this._getInst(d(a)[0]);b=b!=null?b:this._formatDate(a);a.input&&a.input.val(b);this._updateAlternate(a);var c=this._get(a,"onSelect");if(c)c.apply(a.input?a.input[0]:null,[b,a]);else a.input&&a.input.trigger("change");if(a.inline)this._updateDatepicker(a);else{this._hideDatepicker();this._lastInput=a.input[0];typeof a.input[0]!="object"&&a.input.focus();this._lastInput=null}},_updateAlternate:function(a){var b=this._get(a,"altField");
-if(b){var c=this._get(a,"altFormat")||this._get(a,"dateFormat"),e=this._getDate(a),f=this.formatDate(c,e,this._getFormatConfig(a));d(b).each(function(){d(this).val(f)})}},noWeekends:function(a){a=a.getDay();return[a>0&&a<6,""]},iso8601Week:function(a){a=new Date(a.getTime());a.setDate(a.getDate()+4-(a.getDay()||7));var b=a.getTime();a.setMonth(0);a.setDate(1);return Math.floor(Math.round((b-a)/864E5)/7)+1},parseDate:function(a,b,c){if(a==null||b==null)throw"Invalid arguments";b=typeof b=="object"?
-b.toString():b+"";if(b=="")return null;var e=(c?c.shortYearCutoff:null)||this._defaults.shortYearCutoff;e=typeof e!="string"?e:(new Date).getFullYear()%100+parseInt(e,10);for(var f=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,h=(c?c.dayNames:null)||this._defaults.dayNames,i=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort,g=(c?c.monthNames:null)||this._defaults.monthNames,j=c=-1,l=-1,u=-1,k=false,o=function(p){(p=A+1<a.length&&a.charAt(A+1)==p)&&A++;return p},m=function(p){var D=
-o(p);p=new RegExp("^\\d{1,"+(p=="@"?14:p=="!"?20:p=="y"&&D?4:p=="o"?3:2)+"}");p=b.substring(q).match(p);if(!p)throw"Missing number at position "+q;q+=p[0].length;return parseInt(p[0],10)},n=function(p,D,K){p=d.map(o(p)?K:D,function(w,x){return[[x,w]]}).sort(function(w,x){return-(w[1].length-x[1].length)});var E=-1;d.each(p,function(w,x){w=x[1];if(b.substr(q,w.length).toLowerCase()==w.toLowerCase()){E=x[0];q+=w.length;return false}});if(E!=-1)return E+1;else throw"Unknown name at position "+q;},s=
-function(){if(b.charAt(q)!=a.charAt(A))throw"Unexpected literal at position "+q;q++},q=0,A=0;A<a.length;A++)if(k)if(a.charAt(A)=="'"&&!o("'"))k=false;else s();else switch(a.charAt(A)){case "d":l=m("d");break;case "D":n("D",f,h);break;case "o":u=m("o");break;case "m":j=m("m");break;case "M":j=n("M",i,g);break;case "y":c=m("y");break;case "@":var v=new Date(m("@"));c=v.getFullYear();j=v.getMonth()+1;l=v.getDate();break;case "!":v=new Date((m("!")-this._ticksTo1970)/1E4);c=v.getFullYear();j=v.getMonth()+
-1;l=v.getDate();break;case "'":if(o("'"))s();else k=true;break;default:s()}if(q<b.length)throw"Extra/unparsed characters found in date: "+b.substring(q);if(c==-1)c=(new Date).getFullYear();else if(c<100)c+=(new Date).getFullYear()-(new Date).getFullYear()%100+(c<=e?0:-100);if(u>-1){j=1;l=u;do{e=this._getDaysInMonth(c,j-1);if(l<=e)break;j++;l-=e}while(1)}v=this._daylightSavingAdjust(new Date(c,j-1,l));if(v.getFullYear()!=c||v.getMonth()+1!=j||v.getDate()!=l)throw"Invalid date";return v},ATOM:"yy-mm-dd",
-COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925))*24*60*60*1E7,formatDate:function(a,b,c){if(!b)return"";var e=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,f=(c?c.dayNames:null)||this._defaults.dayNames,h=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort;c=(c?c.monthNames:
-null)||this._defaults.monthNames;var i=function(o){(o=k+1<a.length&&a.charAt(k+1)==o)&&k++;return o},g=function(o,m,n){m=""+m;if(i(o))for(;m.length<n;)m="0"+m;return m},j=function(o,m,n,s){return i(o)?s[m]:n[m]},l="",u=false;if(b)for(var k=0;k<a.length;k++)if(u)if(a.charAt(k)=="'"&&!i("'"))u=false;else l+=a.charAt(k);else switch(a.charAt(k)){case "d":l+=g("d",b.getDate(),2);break;case "D":l+=j("D",b.getDay(),e,f);break;case "o":l+=g("o",Math.round(((new Date(b.getFullYear(),b.getMonth(),b.getDate())).getTime()-
-(new Date(b.getFullYear(),0,0)).getTime())/864E5),3);break;case "m":l+=g("m",b.getMonth()+1,2);break;case "M":l+=j("M",b.getMonth(),h,c);break;case "y":l+=i("y")?b.getFullYear():(b.getYear()%100<10?"0":"")+b.getYear()%100;break;case "@":l+=b.getTime();break;case "!":l+=b.getTime()*1E4+this._ticksTo1970;break;case "'":if(i("'"))l+="'";else u=true;break;default:l+=a.charAt(k)}return l},_possibleChars:function(a){for(var b="",c=false,e=function(h){(h=f+1<a.length&&a.charAt(f+1)==h)&&f++;return h},f=
-0;f<a.length;f++)if(c)if(a.charAt(f)=="'"&&!e("'"))c=false;else b+=a.charAt(f);else switch(a.charAt(f)){case "d":case "m":case "y":case "@":b+="0123456789";break;case "D":case "M":return null;case "'":if(e("'"))b+="'";else c=true;break;default:b+=a.charAt(f)}return b},_get:function(a,b){return a.settings[b]!==C?a.settings[b]:this._defaults[b]},_setDateFromField:function(a,b){if(a.input.val()!=a.lastVal){var c=this._get(a,"dateFormat"),e=a.lastVal=a.input?a.input.val():null,f,h;f=h=this._getDefaultDate(a);
-var i=this._getFormatConfig(a);try{f=this.parseDate(c,e,i)||h}catch(g){this.log(g);e=b?"":e}a.selectedDay=f.getDate();a.drawMonth=a.selectedMonth=f.getMonth();a.drawYear=a.selectedYear=f.getFullYear();a.currentDay=e?f.getDate():0;a.currentMonth=e?f.getMonth():0;a.currentYear=e?f.getFullYear():0;this._adjustInstDate(a)}},_getDefaultDate:function(a){return this._restrictMinMax(a,this._determineDate(a,this._get(a,"defaultDate"),new Date))},_determineDate:function(a,b,c){var e=function(h){var i=new Date;
-i.setDate(i.getDate()+h);return i},f=function(h){try{return d.datepicker.parseDate(d.datepicker._get(a,"dateFormat"),h,d.datepicker._getFormatConfig(a))}catch(i){}var g=(h.toLowerCase().match(/^c/)?d.datepicker._getDate(a):null)||new Date,j=g.getFullYear(),l=g.getMonth();g=g.getDate();for(var u=/([+-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,k=u.exec(h);k;){switch(k[2]||"d"){case "d":case "D":g+=parseInt(k[1],10);break;case "w":case "W":g+=parseInt(k[1],10)*7;break;case "m":case "M":l+=parseInt(k[1],10);g=
-Math.min(g,d.datepicker._getDaysInMonth(j,l));break;case "y":case "Y":j+=parseInt(k[1],10);g=Math.min(g,d.datepicker._getDaysInMonth(j,l));break}k=u.exec(h)}return new Date(j,l,g)};if(b=(b=b==null||b===""?c:typeof b=="string"?f(b):typeof b=="number"?isNaN(b)?c:e(b):new Date(b.getTime()))&&b.toString()=="Invalid Date"?c:b){b.setHours(0);b.setMinutes(0);b.setSeconds(0);b.setMilliseconds(0)}return this._daylightSavingAdjust(b)},_daylightSavingAdjust:function(a){if(!a)return null;a.setHours(a.getHours()>
-12?a.getHours()+2:0);return a},_setDate:function(a,b,c){var e=!b,f=a.selectedMonth,h=a.selectedYear;b=this._restrictMinMax(a,this._determineDate(a,b,new Date));a.selectedDay=a.currentDay=b.getDate();a.drawMonth=a.selectedMonth=a.currentMonth=b.getMonth();a.drawYear=a.selectedYear=a.currentYear=b.getFullYear();if((f!=a.selectedMonth||h!=a.selectedYear)&&!c)this._notifyChange(a);this._adjustInstDate(a);if(a.input)a.input.val(e?"":this._formatDate(a))},_getDate:function(a){return!a.currentYear||a.input&&
-a.input.val()==""?null:this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay))},_generateHTML:function(a){var b=new Date;b=this._daylightSavingAdjust(new Date(b.getFullYear(),b.getMonth(),b.getDate()));var c=this._get(a,"isRTL"),e=this._get(a,"showButtonPanel"),f=this._get(a,"hideIfNoPrevNext"),h=this._get(a,"navigationAsDateFormat"),i=this._getNumberOfMonths(a),g=this._get(a,"showCurrentAtPos"),j=this._get(a,"stepMonths"),l=i[0]!=1||i[1]!=1,u=this._daylightSavingAdjust(!a.currentDay?
-new Date(9999,9,9):new Date(a.currentYear,a.currentMonth,a.currentDay)),k=this._getMinMaxDate(a,"min"),o=this._getMinMaxDate(a,"max");g=a.drawMonth-g;var m=a.drawYear;if(g<0){g+=12;m--}if(o){var n=this._daylightSavingAdjust(new Date(o.getFullYear(),o.getMonth()-i[0]*i[1]+1,o.getDate()));for(n=k&&n<k?k:n;this._daylightSavingAdjust(new Date(m,g,1))>n;){g--;if(g<0){g=11;m--}}}a.drawMonth=g;a.drawYear=m;n=this._get(a,"prevText");n=!h?n:this.formatDate(n,this._daylightSavingAdjust(new Date(m,g-j,1)),this._getFormatConfig(a));
-n=this._canAdjustMonth(a,-1,m,g)?'<a class="ui-datepicker-prev ui-corner-all" onclick="DP_jQuery_'+B+".datepicker._adjustDate('#"+a.id+"', -"+j+", 'M');\" title=\""+n+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"e":"w")+'">'+n+"</span></a>":f?"":'<a class="ui-datepicker-prev ui-corner-all ui-state-disabled" title="'+n+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"e":"w")+'">'+n+"</span></a>";var s=this._get(a,"nextText");s=!h?s:this.formatDate(s,this._daylightSavingAdjust(new Date(m,
-g+j,1)),this._getFormatConfig(a));f=this._canAdjustMonth(a,+1,m,g)?'<a class="ui-datepicker-next ui-corner-all" onclick="DP_jQuery_'+B+".datepicker._adjustDate('#"+a.id+"', +"+j+", 'M');\" title=\""+s+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"w":"e")+'">'+s+"</span></a>":f?"":'<a class="ui-datepicker-next ui-corner-all ui-state-disabled" title="'+s+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"w":"e")+'">'+s+"</span></a>";j=this._get(a,"currentText");s=this._get(a,"gotoCurrent")&&
-a.currentDay?u:b;j=!h?j:this.formatDate(j,s,this._getFormatConfig(a));h=!a.inline?'<button type="button" class="ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all" onclick="DP_jQuery_'+B+'.datepicker._hideDatepicker();">'+this._get(a,"closeText")+"</button>":"";e=e?'<div class="ui-datepicker-buttonpane ui-widget-content">'+(c?h:"")+(this._isInRange(a,s)?'<button type="button" class="ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all" onclick="DP_jQuery_'+
-B+".datepicker._gotoToday('#"+a.id+"');\">"+j+"</button>":"")+(c?"":h)+"</div>":"";h=parseInt(this._get(a,"firstDay"),10);h=isNaN(h)?0:h;j=this._get(a,"showWeek");s=this._get(a,"dayNames");this._get(a,"dayNamesShort");var q=this._get(a,"dayNamesMin"),A=this._get(a,"monthNames"),v=this._get(a,"monthNamesShort"),p=this._get(a,"beforeShowDay"),D=this._get(a,"showOtherMonths"),K=this._get(a,"selectOtherMonths");this._get(a,"calculateWeek");for(var E=this._getDefaultDate(a),w="",x=0;x<i[0];x++){var O=
-"";this.maxRows=4;for(var G=0;G<i[1];G++){var P=this._daylightSavingAdjust(new Date(m,g,a.selectedDay)),t=" ui-corner-all",y="";if(l){y+='<div class="ui-datepicker-group';if(i[1]>1)switch(G){case 0:y+=" ui-datepicker-group-first";t=" ui-corner-"+(c?"right":"left");break;case i[1]-1:y+=" ui-datepicker-group-last";t=" ui-corner-"+(c?"left":"right");break;default:y+=" ui-datepicker-group-middle";t="";break}y+='">'}y+='<div class="ui-datepicker-header ui-widget-header ui-helper-clearfix'+t+'">'+(/all|left/.test(t)&&
-x==0?c?f:n:"")+(/all|right/.test(t)&&x==0?c?n:f:"")+this._generateMonthYearHeader(a,g,m,k,o,x>0||G>0,A,v)+'</div><table class="ui-datepicker-calendar"><thead><tr>';var z=j?'<th class="ui-datepicker-week-col">'+this._get(a,"weekHeader")+"</th>":"";for(t=0;t<7;t++){var r=(t+h)%7;z+="<th"+((t+h+6)%7>=5?' class="ui-datepicker-week-end"':"")+'><span title="'+s[r]+'">'+q[r]+"</span></th>"}y+=z+"</tr></thead><tbody>";z=this._getDaysInMonth(m,g);if(m==a.selectedYear&&g==a.selectedMonth)a.selectedDay=Math.min(a.selectedDay,
-z);t=(this._getFirstDayOfMonth(m,g)-h+7)%7;z=Math.ceil((t+z)/7);this.maxRows=z=l?this.maxRows>z?this.maxRows:z:z;r=this._daylightSavingAdjust(new Date(m,g,1-t));for(var Q=0;Q<z;Q++){y+="<tr>";var R=!j?"":'<td class="ui-datepicker-week-col">'+this._get(a,"calculateWeek")(r)+"</td>";for(t=0;t<7;t++){var I=p?p.apply(a.input?a.input[0]:null,[r]):[true,""],F=r.getMonth()!=g,L=F&&!K||!I[0]||k&&r<k||o&&r>o;R+='<td class="'+((t+h+6)%7>=5?" ui-datepicker-week-end":"")+(F?" ui-datepicker-other-month":"")+(r.getTime()==
-P.getTime()&&g==a.selectedMonth&&a._keyEvent||E.getTime()==r.getTime()&&E.getTime()==P.getTime()?" "+this._dayOverClass:"")+(L?" "+this._unselectableClass+" ui-state-disabled":"")+(F&&!D?"":" "+I[1]+(r.getTime()==u.getTime()?" "+this._currentClass:"")+(r.getTime()==b.getTime()?" ui-datepicker-today":""))+'"'+((!F||D)&&I[2]?' title="'+I[2]+'"':"")+(L?"":' onclick="DP_jQuery_'+B+".datepicker._selectDay('#"+a.id+"',"+r.getMonth()+","+r.getFullYear()+', this);return false;"')+">"+(F&&!D?"&#xa0;":L?'<span class="ui-state-default">'+
-r.getDate()+"</span>":'<a class="ui-state-default'+(r.getTime()==b.getTime()?" ui-state-highlight":"")+(r.getTime()==u.getTime()?" ui-state-active":"")+(F?" ui-priority-secondary":"")+'" href="#">'+r.getDate()+"</a>")+"</td>";r.setDate(r.getDate()+1);r=this._daylightSavingAdjust(r)}y+=R+"</tr>"}g++;if(g>11){g=0;m++}y+="</tbody></table>"+(l?"</div>"+(i[0]>0&&G==i[1]-1?'<div class="ui-datepicker-row-break"></div>':""):"");O+=y}w+=O}w+=e+(d.browser.msie&&parseInt(d.browser.version,10)<7&&!a.inline?'<iframe src="javascript:false;" class="ui-datepicker-cover" frameborder="0"></iframe>':
-"");a._keyEvent=false;return w},_generateMonthYearHeader:function(a,b,c,e,f,h,i,g){var j=this._get(a,"changeMonth"),l=this._get(a,"changeYear"),u=this._get(a,"showMonthAfterYear"),k='<div class="ui-datepicker-title">',o="";if(h||!j)o+='<span class="ui-datepicker-month">'+i[b]+"</span>";else{i=e&&e.getFullYear()==c;var m=f&&f.getFullYear()==c;o+='<select class="ui-datepicker-month" onchange="DP_jQuery_'+B+".datepicker._selectMonthYear('#"+a.id+"', this, 'M');\" >";for(var n=0;n<12;n++)if((!i||n>=e.getMonth())&&
-(!m||n<=f.getMonth()))o+='<option value="'+n+'"'+(n==b?' selected="selected"':"")+">"+g[n]+"</option>";o+="</select>"}u||(k+=o+(h||!(j&&l)?"&#xa0;":""));if(!a.yearshtml){a.yearshtml="";if(h||!l)k+='<span class="ui-datepicker-year">'+c+"</span>";else{g=this._get(a,"yearRange").split(":");var s=(new Date).getFullYear();i=function(q){q=q.match(/c[+-].*/)?c+parseInt(q.substring(1),10):q.match(/[+-].*/)?s+parseInt(q,10):parseInt(q,10);return isNaN(q)?s:q};b=i(g[0]);g=Math.max(b,i(g[1]||""));b=e?Math.max(b,
-e.getFullYear()):b;g=f?Math.min(g,f.getFullYear()):g;for(a.yearshtml+='<select class="ui-datepicker-year" onchange="DP_jQuery_'+B+".datepicker._selectMonthYear('#"+a.id+"', this, 'Y');\" >";b<=g;b++)a.yearshtml+='<option value="'+b+'"'+(b==c?' selected="selected"':"")+">"+b+"</option>";a.yearshtml+="</select>";k+=a.yearshtml;a.yearshtml=null}}k+=this._get(a,"yearSuffix");if(u)k+=(h||!(j&&l)?"&#xa0;":"")+o;k+="</div>";return k},_adjustInstDate:function(a,b,c){var e=a.drawYear+(c=="Y"?b:0),f=a.drawMonth+
-(c=="M"?b:0);b=Math.min(a.selectedDay,this._getDaysInMonth(e,f))+(c=="D"?b:0);e=this._restrictMinMax(a,this._daylightSavingAdjust(new Date(e,f,b)));a.selectedDay=e.getDate();a.drawMonth=a.selectedMonth=e.getMonth();a.drawYear=a.selectedYear=e.getFullYear();if(c=="M"||c=="Y")this._notifyChange(a)},_restrictMinMax:function(a,b){var c=this._getMinMaxDate(a,"min");a=this._getMinMaxDate(a,"max");b=c&&b<c?c:b;return b=a&&b>a?a:b},_notifyChange:function(a){var b=this._get(a,"onChangeMonthYear");if(b)b.apply(a.input?
-a.input[0]:null,[a.selectedYear,a.selectedMonth+1,a])},_getNumberOfMonths:function(a){a=this._get(a,"numberOfMonths");return a==null?[1,1]:typeof a=="number"?[1,a]:a},_getMinMaxDate:function(a,b){return this._determineDate(a,this._get(a,b+"Date"),null)},_getDaysInMonth:function(a,b){return 32-this._daylightSavingAdjust(new Date(a,b,32)).getDate()},_getFirstDayOfMonth:function(a,b){return(new Date(a,b,1)).getDay()},_canAdjustMonth:function(a,b,c,e){var f=this._getNumberOfMonths(a);c=this._daylightSavingAdjust(new Date(c,
-e+(b<0?b:f[0]*f[1]),1));b<0&&c.setDate(this._getDaysInMonth(c.getFullYear(),c.getMonth()));return this._isInRange(a,c)},_isInRange:function(a,b){var c=this._getMinMaxDate(a,"min");a=this._getMinMaxDate(a,"max");return(!c||b.getTime()>=c.getTime())&&(!a||b.getTime()<=a.getTime())},_getFormatConfig:function(a){var b=this._get(a,"shortYearCutoff");b=typeof b!="string"?b:(new Date).getFullYear()%100+parseInt(b,10);return{shortYearCutoff:b,dayNamesShort:this._get(a,"dayNamesShort"),dayNames:this._get(a,
-"dayNames"),monthNamesShort:this._get(a,"monthNamesShort"),monthNames:this._get(a,"monthNames")}},_formatDate:function(a,b,c,e){if(!b){a.currentDay=a.selectedDay;a.currentMonth=a.selectedMonth;a.currentYear=a.selectedYear}b=b?typeof b=="object"?b:this._daylightSavingAdjust(new Date(e,c,b)):this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return this.formatDate(this._get(a,"dateFormat"),b,this._getFormatConfig(a))}});d.fn.datepicker=function(a){if(!this.length)return this;
-if(!d.datepicker.initialized){d(document).mousedown(d.datepicker._checkExternalClick).find("body").append(d.datepicker.dpDiv);d.datepicker.initialized=true}var b=Array.prototype.slice.call(arguments,1);if(typeof a=="string"&&(a=="isDisabled"||a=="getDate"||a=="widget"))return d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this[0]].concat(b));if(a=="option"&&arguments.length==2&&typeof arguments[1]=="string")return d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this[0]].concat(b));return this.each(function(){typeof a==
-"string"?d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this].concat(b)):d.datepicker._attachDatepicker(this,a)})};d.datepicker=new M;d.datepicker.initialized=false;d.datepicker.uuid=(new Date).getTime();d.datepicker.version="1.8.16";window["DP_jQuery_"+B]=d})(jQuery);
-;/*
- * jQuery UI Progressbar 1.8.16
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Progressbar
- *
- * Depends:
- * jquery.ui.core.js
- * jquery.ui.widget.js
- */
-(function(b,d){b.widget("ui.progressbar",{options:{value:0,max:100},min:0,_create:function(){this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({role:"progressbar","aria-valuemin":this.min,"aria-valuemax":this.options.max,"aria-valuenow":this._value()});this.valueDiv=b("<div class='ui-progressbar-value ui-widget-header ui-corner-left'></div>").appendTo(this.element);this.oldValue=this._value();this._refreshValue()},destroy:function(){this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow");
-this.valueDiv.remove();b.Widget.prototype.destroy.apply(this,arguments)},value:function(a){if(a===d)return this._value();this._setOption("value",a);return this},_setOption:function(a,c){if(a==="value"){this.options.value=c;this._refreshValue();this._value()===this.options.max&&this._trigger("complete")}b.Widget.prototype._setOption.apply(this,arguments)},_value:function(){var a=this.options.value;if(typeof a!=="number")a=0;return Math.min(this.options.max,Math.max(this.min,a))},_percentage:function(){return 100*
-this._value()/this.options.max},_refreshValue:function(){var a=this.value(),c=this._percentage();if(this.oldValue!==a){this.oldValue=a;this._trigger("change")}this.valueDiv.toggle(a>this.min).toggleClass("ui-corner-right",a===this.options.max).width(c.toFixed(0)+"%");this.element.attr("aria-valuenow",a)}});b.extend(b.ui.progressbar,{version:"1.8.16"})})(jQuery);
-;/*
- * jQuery UI Effects 1.8.16
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Effects/
- */
-jQuery.effects||function(f,j){function m(c){var a;if(c&&c.constructor==Array&&c.length==3)return c;if(a=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(c))return[parseInt(a[1],10),parseInt(a[2],10),parseInt(a[3],10)];if(a=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(c))return[parseFloat(a[1])*2.55,parseFloat(a[2])*2.55,parseFloat(a[3])*2.55];if(a=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(c))return[parseInt(a[1],
-16),parseInt(a[2],16),parseInt(a[3],16)];if(a=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(c))return[parseInt(a[1]+a[1],16),parseInt(a[2]+a[2],16),parseInt(a[3]+a[3],16)];if(/rgba\(0, 0, 0, 0\)/.exec(c))return n.transparent;return n[f.trim(c).toLowerCase()]}function s(c,a){var b;do{b=f.curCSS(c,a);if(b!=""&&b!="transparent"||f.nodeName(c,"body"))break;a="backgroundColor"}while(c=c.parentNode);return m(b)}function o(){var c=document.defaultView?document.defaultView.getComputedStyle(this,null):this.currentStyle,
-a={},b,d;if(c&&c.length&&c[0]&&c[c[0]])for(var e=c.length;e--;){b=c[e];if(typeof c[b]=="string"){d=b.replace(/\-(\w)/g,function(g,h){return h.toUpperCase()});a[d]=c[b]}}else for(b in c)if(typeof c[b]==="string")a[b]=c[b];return a}function p(c){var a,b;for(a in c){b=c[a];if(b==null||f.isFunction(b)||a in t||/scrollbar/.test(a)||!/color/i.test(a)&&isNaN(parseFloat(b)))delete c[a]}return c}function u(c,a){var b={_:0},d;for(d in a)if(c[d]!=a[d])b[d]=a[d];return b}function k(c,a,b,d){if(typeof c=="object"){d=
-a;b=null;a=c;c=a.effect}if(f.isFunction(a)){d=a;b=null;a={}}if(typeof a=="number"||f.fx.speeds[a]){d=b;b=a;a={}}if(f.isFunction(b)){d=b;b=null}a=a||{};b=b||a.duration;b=f.fx.off?0:typeof b=="number"?b:b in f.fx.speeds?f.fx.speeds[b]:f.fx.speeds._default;d=d||a.complete;return[c,a,b,d]}function l(c){if(!c||typeof c==="number"||f.fx.speeds[c])return true;if(typeof c==="string"&&!f.effects[c])return true;return false}f.effects={};f.each(["backgroundColor","borderBottomColor","borderLeftColor","borderRightColor",
-"borderTopColor","borderColor","color","outlineColor"],function(c,a){f.fx.step[a]=function(b){if(!b.colorInit){b.start=s(b.elem,a);b.end=m(b.end);b.colorInit=true}b.elem.style[a]="rgb("+Math.max(Math.min(parseInt(b.pos*(b.end[0]-b.start[0])+b.start[0],10),255),0)+","+Math.max(Math.min(parseInt(b.pos*(b.end[1]-b.start[1])+b.start[1],10),255),0)+","+Math.max(Math.min(parseInt(b.pos*(b.end[2]-b.start[2])+b.start[2],10),255),0)+")"}});var n={aqua:[0,255,255],azure:[240,255,255],beige:[245,245,220],black:[0,
-0,0],blue:[0,0,255],brown:[165,42,42],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgrey:[169,169,169],darkgreen:[0,100,0],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkviolet:[148,0,211],fuchsia:[255,0,255],gold:[255,215,0],green:[0,128,0],indigo:[75,0,130],khaki:[240,230,140],lightblue:[173,216,230],lightcyan:[224,255,255],lightgreen:[144,238,144],lightgrey:[211,
-211,211],lightpink:[255,182,193],lightyellow:[255,255,224],lime:[0,255,0],magenta:[255,0,255],maroon:[128,0,0],navy:[0,0,128],olive:[128,128,0],orange:[255,165,0],pink:[255,192,203],purple:[128,0,128],violet:[128,0,128],red:[255,0,0],silver:[192,192,192],white:[255,255,255],yellow:[255,255,0],transparent:[255,255,255]},q=["add","remove","toggle"],t={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};f.effects.animateClass=function(c,a,b,
-d){if(f.isFunction(b)){d=b;b=null}return this.queue(function(){var e=f(this),g=e.attr("style")||" ",h=p(o.call(this)),r,v=e.attr("class");f.each(q,function(w,i){c[i]&&e[i+"Class"](c[i])});r=p(o.call(this));e.attr("class",v);e.animate(u(h,r),{queue:false,duration:a,easing:b,complete:function(){f.each(q,function(w,i){c[i]&&e[i+"Class"](c[i])});if(typeof e.attr("style")=="object"){e.attr("style").cssText="";e.attr("style").cssText=g}else e.attr("style",g);d&&d.apply(this,arguments);f.dequeue(this)}})})};
-f.fn.extend({_addClass:f.fn.addClass,addClass:function(c,a,b,d){return a?f.effects.animateClass.apply(this,[{add:c},a,b,d]):this._addClass(c)},_removeClass:f.fn.removeClass,removeClass:function(c,a,b,d){return a?f.effects.animateClass.apply(this,[{remove:c},a,b,d]):this._removeClass(c)},_toggleClass:f.fn.toggleClass,toggleClass:function(c,a,b,d,e){return typeof a=="boolean"||a===j?b?f.effects.animateClass.apply(this,[a?{add:c}:{remove:c},b,d,e]):this._toggleClass(c,a):f.effects.animateClass.apply(this,
-[{toggle:c},a,b,d])},switchClass:function(c,a,b,d,e){return f.effects.animateClass.apply(this,[{add:a,remove:c},b,d,e])}});f.extend(f.effects,{version:"1.8.16",save:function(c,a){for(var b=0;b<a.length;b++)a[b]!==null&&c.data("ec.storage."+a[b],c[0].style[a[b]])},restore:function(c,a){for(var b=0;b<a.length;b++)a[b]!==null&&c.css(a[b],c.data("ec.storage."+a[b]))},setMode:function(c,a){if(a=="toggle")a=c.is(":hidden")?"show":"hide";return a},getBaseline:function(c,a){var b;switch(c[0]){case "top":b=
-0;break;case "middle":b=0.5;break;case "bottom":b=1;break;default:b=c[0]/a.height}switch(c[1]){case "left":c=0;break;case "center":c=0.5;break;case "right":c=1;break;default:c=c[1]/a.width}return{x:c,y:b}},createWrapper:function(c){if(c.parent().is(".ui-effects-wrapper"))return c.parent();var a={width:c.outerWidth(true),height:c.outerHeight(true),"float":c.css("float")},b=f("<div></div>").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),
-d=document.activeElement;c.wrap(b);if(c[0]===d||f.contains(c[0],d))f(d).focus();b=c.parent();if(c.css("position")=="static"){b.css({position:"relative"});c.css({position:"relative"})}else{f.extend(a,{position:c.css("position"),zIndex:c.css("z-index")});f.each(["top","left","bottom","right"],function(e,g){a[g]=c.css(g);if(isNaN(parseInt(a[g],10)))a[g]="auto"});c.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})}return b.css(a).show()},removeWrapper:function(c){var a,b=document.activeElement;
-if(c.parent().is(".ui-effects-wrapper")){a=c.parent().replaceWith(c);if(c[0]===b||f.contains(c[0],b))f(b).focus();return a}return c},setTransition:function(c,a,b,d){d=d||{};f.each(a,function(e,g){unit=c.cssUnit(g);if(unit[0]>0)d[g]=unit[0]*b+unit[1]});return d}});f.fn.extend({effect:function(c){var a=k.apply(this,arguments),b={options:a[1],duration:a[2],callback:a[3]};a=b.options.mode;var d=f.effects[c];if(f.fx.off||!d)return a?this[a](b.duration,b.callback):this.each(function(){b.callback&&b.callback.call(this)});
-return d.call(this,b)},_show:f.fn.show,show:function(c){if(l(c))return this._show.apply(this,arguments);else{var a=k.apply(this,arguments);a[1].mode="show";return this.effect.apply(this,a)}},_hide:f.fn.hide,hide:function(c){if(l(c))return this._hide.apply(this,arguments);else{var a=k.apply(this,arguments);a[1].mode="hide";return this.effect.apply(this,a)}},__toggle:f.fn.toggle,toggle:function(c){if(l(c)||typeof c==="boolean"||f.isFunction(c))return this.__toggle.apply(this,arguments);else{var a=k.apply(this,
-arguments);a[1].mode="toggle";return this.effect.apply(this,a)}},cssUnit:function(c){var a=this.css(c),b=[];f.each(["em","px","%","pt"],function(d,e){if(a.indexOf(e)>0)b=[parseFloat(a),e]});return b}});f.easing.jswing=f.easing.swing;f.extend(f.easing,{def:"easeOutQuad",swing:function(c,a,b,d,e){return f.easing[f.easing.def](c,a,b,d,e)},easeInQuad:function(c,a,b,d,e){return d*(a/=e)*a+b},easeOutQuad:function(c,a,b,d,e){return-d*(a/=e)*(a-2)+b},easeInOutQuad:function(c,a,b,d,e){if((a/=e/2)<1)return d/
-2*a*a+b;return-d/2*(--a*(a-2)-1)+b},easeInCubic:function(c,a,b,d,e){return d*(a/=e)*a*a+b},easeOutCubic:function(c,a,b,d,e){return d*((a=a/e-1)*a*a+1)+b},easeInOutCubic:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a+b;return d/2*((a-=2)*a*a+2)+b},easeInQuart:function(c,a,b,d,e){return d*(a/=e)*a*a*a+b},easeOutQuart:function(c,a,b,d,e){return-d*((a=a/e-1)*a*a*a-1)+b},easeInOutQuart:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a*a+b;return-d/2*((a-=2)*a*a*a-2)+b},easeInQuint:function(c,a,b,
-d,e){return d*(a/=e)*a*a*a*a+b},easeOutQuint:function(c,a,b,d,e){return d*((a=a/e-1)*a*a*a*a+1)+b},easeInOutQuint:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a*a*a+b;return d/2*((a-=2)*a*a*a*a+2)+b},easeInSine:function(c,a,b,d,e){return-d*Math.cos(a/e*(Math.PI/2))+d+b},easeOutSine:function(c,a,b,d,e){return d*Math.sin(a/e*(Math.PI/2))+b},easeInOutSine:function(c,a,b,d,e){return-d/2*(Math.cos(Math.PI*a/e)-1)+b},easeInExpo:function(c,a,b,d,e){return a==0?b:d*Math.pow(2,10*(a/e-1))+b},easeOutExpo:function(c,
-a,b,d,e){return a==e?b+d:d*(-Math.pow(2,-10*a/e)+1)+b},easeInOutExpo:function(c,a,b,d,e){if(a==0)return b;if(a==e)return b+d;if((a/=e/2)<1)return d/2*Math.pow(2,10*(a-1))+b;return d/2*(-Math.pow(2,-10*--a)+2)+b},easeInCirc:function(c,a,b,d,e){return-d*(Math.sqrt(1-(a/=e)*a)-1)+b},easeOutCirc:function(c,a,b,d,e){return d*Math.sqrt(1-(a=a/e-1)*a)+b},easeInOutCirc:function(c,a,b,d,e){if((a/=e/2)<1)return-d/2*(Math.sqrt(1-a*a)-1)+b;return d/2*(Math.sqrt(1-(a-=2)*a)+1)+b},easeInElastic:function(c,a,b,
-d,e){c=1.70158;var g=0,h=d;if(a==0)return b;if((a/=e)==1)return b+d;g||(g=e*0.3);if(h<Math.abs(d)){h=d;c=g/4}else c=g/(2*Math.PI)*Math.asin(d/h);return-(h*Math.pow(2,10*(a-=1))*Math.sin((a*e-c)*2*Math.PI/g))+b},easeOutElastic:function(c,a,b,d,e){c=1.70158;var g=0,h=d;if(a==0)return b;if((a/=e)==1)return b+d;g||(g=e*0.3);if(h<Math.abs(d)){h=d;c=g/4}else c=g/(2*Math.PI)*Math.asin(d/h);return h*Math.pow(2,-10*a)*Math.sin((a*e-c)*2*Math.PI/g)+d+b},easeInOutElastic:function(c,a,b,d,e){c=1.70158;var g=
-0,h=d;if(a==0)return b;if((a/=e/2)==2)return b+d;g||(g=e*0.3*1.5);if(h<Math.abs(d)){h=d;c=g/4}else c=g/(2*Math.PI)*Math.asin(d/h);if(a<1)return-0.5*h*Math.pow(2,10*(a-=1))*Math.sin((a*e-c)*2*Math.PI/g)+b;return h*Math.pow(2,-10*(a-=1))*Math.sin((a*e-c)*2*Math.PI/g)*0.5+d+b},easeInBack:function(c,a,b,d,e,g){if(g==j)g=1.70158;return d*(a/=e)*a*((g+1)*a-g)+b},easeOutBack:function(c,a,b,d,e,g){if(g==j)g=1.70158;return d*((a=a/e-1)*a*((g+1)*a+g)+1)+b},easeInOutBack:function(c,a,b,d,e,g){if(g==j)g=1.70158;
-if((a/=e/2)<1)return d/2*a*a*(((g*=1.525)+1)*a-g)+b;return d/2*((a-=2)*a*(((g*=1.525)+1)*a+g)+2)+b},easeInBounce:function(c,a,b,d,e){return d-f.easing.easeOutBounce(c,e-a,0,d,e)+b},easeOutBounce:function(c,a,b,d,e){return(a/=e)<1/2.75?d*7.5625*a*a+b:a<2/2.75?d*(7.5625*(a-=1.5/2.75)*a+0.75)+b:a<2.5/2.75?d*(7.5625*(a-=2.25/2.75)*a+0.9375)+b:d*(7.5625*(a-=2.625/2.75)*a+0.984375)+b},easeInOutBounce:function(c,a,b,d,e){if(a<e/2)return f.easing.easeInBounce(c,a*2,0,d,e)*0.5+b;return f.easing.easeOutBounce(c,
-a*2-e,0,d,e)*0.5+d*0.5+b}})}(jQuery);
-;/*
- * jQuery UI Effects Blind 1.8.16
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Effects/Blind
- *
- * Depends:
- * jquery.effects.core.js
- */
-(function(b){b.effects.blind=function(c){return this.queue(function(){var a=b(this),g=["position","top","bottom","left","right"],f=b.effects.setMode(a,c.options.mode||"hide"),d=c.options.direction||"vertical";b.effects.save(a,g);a.show();var e=b.effects.createWrapper(a).css({overflow:"hidden"}),h=d=="vertical"?"height":"width";d=d=="vertical"?e.height():e.width();f=="show"&&e.css(h,0);var i={};i[h]=f=="show"?d:0;e.animate(i,c.duration,c.options.easing,function(){f=="hide"&&a.hide();b.effects.restore(a,
-g);b.effects.removeWrapper(a);c.callback&&c.callback.apply(a[0],arguments);a.dequeue()})})}})(jQuery);
-;/*
- * jQuery UI Effects Bounce 1.8.16
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Effects/Bounce
- *
- * Depends:
- * jquery.effects.core.js
- */
-(function(e){e.effects.bounce=function(b){return this.queue(function(){var a=e(this),l=["position","top","bottom","left","right"],h=e.effects.setMode(a,b.options.mode||"effect"),d=b.options.direction||"up",c=b.options.distance||20,m=b.options.times||5,i=b.duration||250;/show|hide/.test(h)&&l.push("opacity");e.effects.save(a,l);a.show();e.effects.createWrapper(a);var f=d=="up"||d=="down"?"top":"left";d=d=="up"||d=="left"?"pos":"neg";c=b.options.distance||(f=="top"?a.outerHeight({margin:true})/3:a.outerWidth({margin:true})/
-3);if(h=="show")a.css("opacity",0).css(f,d=="pos"?-c:c);if(h=="hide")c/=m*2;h!="hide"&&m--;if(h=="show"){var g={opacity:1};g[f]=(d=="pos"?"+=":"-=")+c;a.animate(g,i/2,b.options.easing);c/=2;m--}for(g=0;g<m;g++){var j={},k={};j[f]=(d=="pos"?"-=":"+=")+c;k[f]=(d=="pos"?"+=":"-=")+c;a.animate(j,i/2,b.options.easing).animate(k,i/2,b.options.easing);c=h=="hide"?c*2:c/2}if(h=="hide"){g={opacity:0};g[f]=(d=="pos"?"-=":"+=")+c;a.animate(g,i/2,b.options.easing,function(){a.hide();e.effects.restore(a,l);e.effects.removeWrapper(a);
-b.callback&&b.callback.apply(this,arguments)})}else{j={};k={};j[f]=(d=="pos"?"-=":"+=")+c;k[f]=(d=="pos"?"+=":"-=")+c;a.animate(j,i/2,b.options.easing).animate(k,i/2,b.options.easing,function(){e.effects.restore(a,l);e.effects.removeWrapper(a);b.callback&&b.callback.apply(this,arguments)})}a.queue("fx",function(){a.dequeue()});a.dequeue()})}})(jQuery);
-;/*
- * jQuery UI Effects Clip 1.8.16
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Effects/Clip
- *
- * Depends:
- * jquery.effects.core.js
- */
-(function(b){b.effects.clip=function(e){return this.queue(function(){var a=b(this),i=["position","top","bottom","left","right","height","width"],f=b.effects.setMode(a,e.options.mode||"hide"),c=e.options.direction||"vertical";b.effects.save(a,i);a.show();var d=b.effects.createWrapper(a).css({overflow:"hidden"});d=a[0].tagName=="IMG"?d:a;var g={size:c=="vertical"?"height":"width",position:c=="vertical"?"top":"left"};c=c=="vertical"?d.height():d.width();if(f=="show"){d.css(g.size,0);d.css(g.position,
-c/2)}var h={};h[g.size]=f=="show"?c:0;h[g.position]=f=="show"?0:c/2;d.animate(h,{queue:false,duration:e.duration,easing:e.options.easing,complete:function(){f=="hide"&&a.hide();b.effects.restore(a,i);b.effects.removeWrapper(a);e.callback&&e.callback.apply(a[0],arguments);a.dequeue()}})})}})(jQuery);
-;/*
- * jQuery UI Effects Drop 1.8.16
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Effects/Drop
- *
- * Depends:
- * jquery.effects.core.js
- */
-(function(c){c.effects.drop=function(d){return this.queue(function(){var a=c(this),h=["position","top","bottom","left","right","opacity"],e=c.effects.setMode(a,d.options.mode||"hide"),b=d.options.direction||"left";c.effects.save(a,h);a.show();c.effects.createWrapper(a);var f=b=="up"||b=="down"?"top":"left";b=b=="up"||b=="left"?"pos":"neg";var g=d.options.distance||(f=="top"?a.outerHeight({margin:true})/2:a.outerWidth({margin:true})/2);if(e=="show")a.css("opacity",0).css(f,b=="pos"?-g:g);var i={opacity:e==
-"show"?1:0};i[f]=(e=="show"?b=="pos"?"+=":"-=":b=="pos"?"-=":"+=")+g;a.animate(i,{queue:false,duration:d.duration,easing:d.options.easing,complete:function(){e=="hide"&&a.hide();c.effects.restore(a,h);c.effects.removeWrapper(a);d.callback&&d.callback.apply(this,arguments);a.dequeue()}})})}})(jQuery);
-;/*
- * jQuery UI Effects Explode 1.8.16
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Effects/Explode
- *
- * Depends:
- * jquery.effects.core.js
- */
-(function(j){j.effects.explode=function(a){return this.queue(function(){var c=a.options.pieces?Math.round(Math.sqrt(a.options.pieces)):3,d=a.options.pieces?Math.round(Math.sqrt(a.options.pieces)):3;a.options.mode=a.options.mode=="toggle"?j(this).is(":visible")?"hide":"show":a.options.mode;var b=j(this).show().css("visibility","hidden"),g=b.offset();g.top-=parseInt(b.css("marginTop"),10)||0;g.left-=parseInt(b.css("marginLeft"),10)||0;for(var h=b.outerWidth(true),i=b.outerHeight(true),e=0;e<c;e++)for(var f=
-0;f<d;f++)b.clone().appendTo("body").wrap("<div></div>").css({position:"absolute",visibility:"visible",left:-f*(h/d),top:-e*(i/c)}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:h/d,height:i/c,left:g.left+f*(h/d)+(a.options.mode=="show"?(f-Math.floor(d/2))*(h/d):0),top:g.top+e*(i/c)+(a.options.mode=="show"?(e-Math.floor(c/2))*(i/c):0),opacity:a.options.mode=="show"?0:1}).animate({left:g.left+f*(h/d)+(a.options.mode=="show"?0:(f-Math.floor(d/2))*(h/d)),top:g.top+
-e*(i/c)+(a.options.mode=="show"?0:(e-Math.floor(c/2))*(i/c)),opacity:a.options.mode=="show"?1:0},a.duration||500);setTimeout(function(){a.options.mode=="show"?b.css({visibility:"visible"}):b.css({visibility:"visible"}).hide();a.callback&&a.callback.apply(b[0]);b.dequeue();j("div.ui-effects-explode").remove()},a.duration||500)})}})(jQuery);
-;/*
- * jQuery UI Effects Fade 1.8.16
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Effects/Fade
- *
- * Depends:
- * jquery.effects.core.js
- */
-(function(b){b.effects.fade=function(a){return this.queue(function(){var c=b(this),d=b.effects.setMode(c,a.options.mode||"hide");c.animate({opacity:d},{queue:false,duration:a.duration,easing:a.options.easing,complete:function(){a.callback&&a.callback.apply(this,arguments);c.dequeue()}})})}})(jQuery);
-;/*
- * jQuery UI Effects Fold 1.8.16
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Effects/Fold
- *
- * Depends:
- * jquery.effects.core.js
- */
-(function(c){c.effects.fold=function(a){return this.queue(function(){var b=c(this),j=["position","top","bottom","left","right"],d=c.effects.setMode(b,a.options.mode||"hide"),g=a.options.size||15,h=!!a.options.horizFirst,k=a.duration?a.duration/2:c.fx.speeds._default/2;c.effects.save(b,j);b.show();var e=c.effects.createWrapper(b).css({overflow:"hidden"}),f=d=="show"!=h,l=f?["width","height"]:["height","width"];f=f?[e.width(),e.height()]:[e.height(),e.width()];var i=/([0-9]+)%/.exec(g);if(i)g=parseInt(i[1],
-10)/100*f[d=="hide"?0:1];if(d=="show")e.css(h?{height:0,width:g}:{height:g,width:0});h={};i={};h[l[0]]=d=="show"?f[0]:g;i[l[1]]=d=="show"?f[1]:0;e.animate(h,k,a.options.easing).animate(i,k,a.options.easing,function(){d=="hide"&&b.hide();c.effects.restore(b,j);c.effects.removeWrapper(b);a.callback&&a.callback.apply(b[0],arguments);b.dequeue()})})}})(jQuery);
-;/*
- * jQuery UI Effects Highlight 1.8.16
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Effects/Highlight
- *
- * Depends:
- * jquery.effects.core.js
- */
-(function(b){b.effects.highlight=function(c){return this.queue(function(){var a=b(this),e=["backgroundImage","backgroundColor","opacity"],d=b.effects.setMode(a,c.options.mode||"show"),f={backgroundColor:a.css("backgroundColor")};if(d=="hide")f.opacity=0;b.effects.save(a,e);a.show().css({backgroundImage:"none",backgroundColor:c.options.color||"#ffff99"}).animate(f,{queue:false,duration:c.duration,easing:c.options.easing,complete:function(){d=="hide"&&a.hide();b.effects.restore(a,e);d=="show"&&!b.support.opacity&&
-this.style.removeAttribute("filter");c.callback&&c.callback.apply(this,arguments);a.dequeue()}})})}})(jQuery);
-;/*
- * jQuery UI Effects Pulsate 1.8.16
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Effects/Pulsate
- *
- * Depends:
- * jquery.effects.core.js
- */
-(function(d){d.effects.pulsate=function(a){return this.queue(function(){var b=d(this),c=d.effects.setMode(b,a.options.mode||"show");times=(a.options.times||5)*2-1;duration=a.duration?a.duration/2:d.fx.speeds._default/2;isVisible=b.is(":visible");animateTo=0;if(!isVisible){b.css("opacity",0).show();animateTo=1}if(c=="hide"&&isVisible||c=="show"&&!isVisible)times--;for(c=0;c<times;c++){b.animate({opacity:animateTo},duration,a.options.easing);animateTo=(animateTo+1)%2}b.animate({opacity:animateTo},duration,
-a.options.easing,function(){animateTo==0&&b.hide();a.callback&&a.callback.apply(this,arguments)});b.queue("fx",function(){b.dequeue()}).dequeue()})}})(jQuery);
-;/*
- * jQuery UI Effects Scale 1.8.16
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Effects/Scale
- *
- * Depends:
- * jquery.effects.core.js
- */
-(function(c){c.effects.puff=function(b){return this.queue(function(){var a=c(this),e=c.effects.setMode(a,b.options.mode||"hide"),g=parseInt(b.options.percent,10)||150,h=g/100,i={height:a.height(),width:a.width()};c.extend(b.options,{fade:true,mode:e,percent:e=="hide"?g:100,from:e=="hide"?i:{height:i.height*h,width:i.width*h}});a.effect("scale",b.options,b.duration,b.callback);a.dequeue()})};c.effects.scale=function(b){return this.queue(function(){var a=c(this),e=c.extend(true,{},b.options),g=c.effects.setMode(a,
-b.options.mode||"effect"),h=parseInt(b.options.percent,10)||(parseInt(b.options.percent,10)==0?0:g=="hide"?0:100),i=b.options.direction||"both",f=b.options.origin;if(g!="effect"){e.origin=f||["middle","center"];e.restore=true}f={height:a.height(),width:a.width()};a.from=b.options.from||(g=="show"?{height:0,width:0}:f);h={y:i!="horizontal"?h/100:1,x:i!="vertical"?h/100:1};a.to={height:f.height*h.y,width:f.width*h.x};if(b.options.fade){if(g=="show"){a.from.opacity=0;a.to.opacity=1}if(g=="hide"){a.from.opacity=
-1;a.to.opacity=0}}e.from=a.from;e.to=a.to;e.mode=g;a.effect("size",e,b.duration,b.callback);a.dequeue()})};c.effects.size=function(b){return this.queue(function(){var a=c(this),e=["position","top","bottom","left","right","width","height","overflow","opacity"],g=["position","top","bottom","left","right","overflow","opacity"],h=["width","height","overflow"],i=["fontSize"],f=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],k=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],
-p=c.effects.setMode(a,b.options.mode||"effect"),n=b.options.restore||false,m=b.options.scale||"both",l=b.options.origin,j={height:a.height(),width:a.width()};a.from=b.options.from||j;a.to=b.options.to||j;if(l){l=c.effects.getBaseline(l,j);a.from.top=(j.height-a.from.height)*l.y;a.from.left=(j.width-a.from.width)*l.x;a.to.top=(j.height-a.to.height)*l.y;a.to.left=(j.width-a.to.width)*l.x}var d={from:{y:a.from.height/j.height,x:a.from.width/j.width},to:{y:a.to.height/j.height,x:a.to.width/j.width}};
-if(m=="box"||m=="both"){if(d.from.y!=d.to.y){e=e.concat(f);a.from=c.effects.setTransition(a,f,d.from.y,a.from);a.to=c.effects.setTransition(a,f,d.to.y,a.to)}if(d.from.x!=d.to.x){e=e.concat(k);a.from=c.effects.setTransition(a,k,d.from.x,a.from);a.to=c.effects.setTransition(a,k,d.to.x,a.to)}}if(m=="content"||m=="both")if(d.from.y!=d.to.y){e=e.concat(i);a.from=c.effects.setTransition(a,i,d.from.y,a.from);a.to=c.effects.setTransition(a,i,d.to.y,a.to)}c.effects.save(a,n?e:g);a.show();c.effects.createWrapper(a);
-a.css("overflow","hidden").css(a.from);if(m=="content"||m=="both"){f=f.concat(["marginTop","marginBottom"]).concat(i);k=k.concat(["marginLeft","marginRight"]);h=e.concat(f).concat(k);a.find("*[width]").each(function(){child=c(this);n&&c.effects.save(child,h);var o={height:child.height(),width:child.width()};child.from={height:o.height*d.from.y,width:o.width*d.from.x};child.to={height:o.height*d.to.y,width:o.width*d.to.x};if(d.from.y!=d.to.y){child.from=c.effects.setTransition(child,f,d.from.y,child.from);
-child.to=c.effects.setTransition(child,f,d.to.y,child.to)}if(d.from.x!=d.to.x){child.from=c.effects.setTransition(child,k,d.from.x,child.from);child.to=c.effects.setTransition(child,k,d.to.x,child.to)}child.css(child.from);child.animate(child.to,b.duration,b.options.easing,function(){n&&c.effects.restore(child,h)})})}a.animate(a.to,{queue:false,duration:b.duration,easing:b.options.easing,complete:function(){a.to.opacity===0&&a.css("opacity",a.from.opacity);p=="hide"&&a.hide();c.effects.restore(a,
-n?e:g);c.effects.removeWrapper(a);b.callback&&b.callback.apply(this,arguments);a.dequeue()}})})}})(jQuery);
-;/*
- * jQuery UI Effects Shake 1.8.16
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Effects/Shake
- *
- * Depends:
- * jquery.effects.core.js
- */
-(function(d){d.effects.shake=function(a){return this.queue(function(){var b=d(this),j=["position","top","bottom","left","right"];d.effects.setMode(b,a.options.mode||"effect");var c=a.options.direction||"left",e=a.options.distance||20,l=a.options.times||3,f=a.duration||a.options.duration||140;d.effects.save(b,j);b.show();d.effects.createWrapper(b);var g=c=="up"||c=="down"?"top":"left",h=c=="up"||c=="left"?"pos":"neg";c={};var i={},k={};c[g]=(h=="pos"?"-=":"+=")+e;i[g]=(h=="pos"?"+=":"-=")+e*2;k[g]=
-(h=="pos"?"-=":"+=")+e*2;b.animate(c,f,a.options.easing);for(e=1;e<l;e++)b.animate(i,f,a.options.easing).animate(k,f,a.options.easing);b.animate(i,f,a.options.easing).animate(c,f/2,a.options.easing,function(){d.effects.restore(b,j);d.effects.removeWrapper(b);a.callback&&a.callback.apply(this,arguments)});b.queue("fx",function(){b.dequeue()});b.dequeue()})}})(jQuery);
-;/*
- * jQuery UI Effects Slide 1.8.16
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Effects/Slide
- *
- * Depends:
- * jquery.effects.core.js
- */
-(function(c){c.effects.slide=function(d){return this.queue(function(){var a=c(this),h=["position","top","bottom","left","right"],f=c.effects.setMode(a,d.options.mode||"show"),b=d.options.direction||"left";c.effects.save(a,h);a.show();c.effects.createWrapper(a).css({overflow:"hidden"});var g=b=="up"||b=="down"?"top":"left";b=b=="up"||b=="left"?"pos":"neg";var e=d.options.distance||(g=="top"?a.outerHeight({margin:true}):a.outerWidth({margin:true}));if(f=="show")a.css(g,b=="pos"?isNaN(e)?"-"+e:-e:e);
-var i={};i[g]=(f=="show"?b=="pos"?"+=":"-=":b=="pos"?"-=":"+=")+e;a.animate(i,{queue:false,duration:d.duration,easing:d.options.easing,complete:function(){f=="hide"&&a.hide();c.effects.restore(a,h);c.effects.removeWrapper(a);d.callback&&d.callback.apply(this,arguments);a.dequeue()}})})}})(jQuery);
-;/*
- * jQuery UI Effects Transfer 1.8.16
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Effects/Transfer
- *
- * Depends:
- * jquery.effects.core.js
- */
-(function(e){e.effects.transfer=function(a){return this.queue(function(){var b=e(this),c=e(a.options.to),d=c.offset();c={top:d.top,left:d.left,height:c.innerHeight(),width:c.innerWidth()};d=b.offset();var f=e('<div class="ui-effects-transfer"></div>').appendTo(document.body).addClass(a.options.className).css({top:d.top,left:d.left,height:b.innerHeight(),width:b.innerWidth(),position:"absolute"}).animate(c,a.duration,a.options.easing,function(){f.remove();a.callback&&a.callback.apply(b[0],arguments);
-b.dequeue()})})}})(jQuery);
-; \ No newline at end of file
diff --git a/core/js/js.js b/core/js/js.js
index 7d967321d93..01e47edf268 100644
--- a/core/js/js.js
+++ b/core/js/js.js
@@ -3,14 +3,15 @@
* Add
* define('DEBUG', true);
* To the end of config/config.php to enable debug mode.
+ * The undefined checks fix the broken ie8 console
*/
-if (oc_debug !== true) {
+if (oc_debug !== true || typeof console === "undefined" || typeof console.log === "undefined") {
if (!window.console) {
window.console = {};
}
var methods = ['log', 'debug', 'warn', 'info', 'error', 'assert'];
for (var i = 0; i < methods.length; i++) {
- console[methods[i]] = function () { };
+ console[methods[i]] = function () { };
}
}
@@ -20,7 +21,6 @@ if (oc_debug !== true) {
* @param text the string to translate
* @return string
*/
-
function t(app,text, vars){
if( !( t.cache[app] )){
$.ajax(OC.filePath('core','ajax','translations.php'),{
@@ -37,14 +37,14 @@ function t(app,text, vars){
t.cache[app] = [];
}
}
- var _build = function(text, vars) {
- return text.replace(/{([^{}]*)}/g,
- function (a, b) {
- var r = vars[b];
- return typeof r === 'string' || typeof r === 'number' ? r : a;
- }
- );
- }
+ var _build = function (text, vars) {
+ return text.replace(/{([^{}]*)}/g,
+ function (a, b) {
+ var r = vars[b];
+ return typeof r === 'string' || typeof r === 'number' ? r : a;
+ }
+ );
+ };
if( typeof( t.cache[app][text] ) !== 'undefined' ){
if(typeof vars === 'object') {
return _build(t.cache[app][text], vars);
@@ -88,7 +88,7 @@ var OC={
PERMISSION_DELETE:8,
PERMISSION_SHARE:16,
webroot:oc_webroot,
- appswebroots:oc_appswebroots,
+ appswebroots:(typeof oc_appswebroots !== 'undefined') ? oc_appswebroots:false,
currentUser:(typeof oc_current_user!=='undefined')?oc_current_user:false,
coreApps:['', 'admin','log','search','settings','core','3rdparty'],
/**
@@ -101,6 +101,27 @@ var OC={
return OC.filePath(app,'',file);
},
/**
+ * Creates an url for remote use
+ * @param string $service id
+ * @return string the url
+ *
+ * Returns a url to the given service.
+ */
+ linkToRemoteBase:function(service) {
+ return OC.webroot + '/remote.php/' + service;
+ },
+ /**
+ * @brief Creates an absolute url for remote use
+ * @param string $service id
+ * @param bool $add_slash
+ * @return string the url
+ *
+ * Returns a absolute url to the given service.
+ */
+ linkToRemote:function(service) {
+ return window.location.protocol + '//' + window.location.host + OC.linkToRemoteBase(service);
+ },
+ /**
* get the absolute url for a file in an app
* @param app the id of the app
* @param type the type of the file to link to (e.g. css,img,ajax.template)
@@ -247,7 +268,7 @@ var OC={
var popup = $('#appsettings_popup');
if(popup.length == 0) {
$('body').prepend('<div class="popup hidden" id="appsettings_popup"></div>');
- popup = $('#appsettings_popup');
+ popup = $('#appsettings_popup');
popup.addClass(settings.hasClass('topright') ? 'topright' : 'bottomleft');
}
if(popup.is(':visible')) {
@@ -289,6 +310,41 @@ OC.search.lastResults={};
OC.addStyle.loaded=[];
OC.addScript.loaded=[];
+OC.Notification={
+ getDefaultNotificationFunction: null,
+ setDefault: function(callback) {
+ OC.Notification.getDefaultNotificationFunction = callback;
+ },
+ hide: function(callback) {
+ $("#notification").text('');
+ $('#notification').fadeOut('400', function(){
+ if (OC.Notification.isHidden()) {
+ if (OC.Notification.getDefaultNotificationFunction) {
+ OC.Notification.getDefaultNotificationFunction.call();
+ }
+ }
+ if (callback) {
+ callback.call();
+ }
+ });
+ },
+ showHtml: function(html) {
+ var notification = $('#notification');
+ notification.hide();
+ notification.html(html);
+ notification.fadeIn().css("display","inline");
+ },
+ show: function(text) {
+ var notification = $('#notification');
+ notification.hide();
+ notification.text(text);
+ notification.fadeIn().css("display","inline");
+ },
+ isHidden: function() {
+ return ($("#notification").text() === '');
+ }
+};
+
OC.Breadcrumb={
container:null,
crumbs:[],
@@ -343,8 +399,15 @@ if(typeof localStorage !=='undefined' && localStorage !== null){
return localStorage.setItem(OC.localStorage.namespace+name,JSON.stringify(item));
},
getItem:function(name){
- if(localStorage.getItem(OC.localStorage.namespace+name)===null){return null;}
- return JSON.parse(localStorage.getItem(OC.localStorage.namespace+name));
+ var item = localStorage.getItem(OC.localStorage.namespace+name);
+ if(item===null) {
+ return null;
+ } else if (typeof JSON === 'undefined') {
+ //fallback to jquery for IE6/7/8
+ return $.parseJSON(item);
+ } else {
+ return JSON.parse(item);
+ }
}
};
}else{
@@ -497,6 +560,7 @@ function fillHeight(selector) {
if(selector.outerHeight() > selector.height()){
selector.css('height', height-(selector.outerHeight()-selector.height()) + 'px');
}
+ console.warn("This function is deprecated! Use CSS instead");
}
/**
@@ -512,17 +576,11 @@ function fillWindow(selector) {
if(selector.outerWidth() > selector.width()){
selector.css('width', width-(selector.outerWidth()-selector.width()) + 'px');
}
+ console.warn("This function is deprecated! Use CSS instead");
}
$(document).ready(function(){
- $(window).resize(function () {
- fillHeight($('#leftcontent'));
- fillWindow($('#content'));
- fillWindow($('#rightcontent'));
- });
- $(window).trigger('resize');
-
if(!SVGSupport()){ //replace all svg images with png images for browser that dont support svg
replaceSVG();
}else{
@@ -615,7 +673,7 @@ $(document).ready(function(){
$('.jp-controls .jp-previous').tipsy({gravity:'nw', fade:true, live:true});
$('.jp-controls .jp-next').tipsy({gravity:'n', fade:true, live:true});
$('.password .action').tipsy({gravity:'se', fade:true, live:true});
- $('#upload a').tipsy({gravity:'w', fade:true});
+ $('#upload').tipsy({gravity:'w', fade:true});
$('.selectedActions a').tipsy({gravity:'s', fade:true, live:true});
$('a.delete').tipsy({gravity: 'e', fade:true, live:true});
$('a.action').tipsy({gravity:'s', fade:true, live:true});
diff --git a/core/js/multiselect.js b/core/js/multiselect.js
index c4fd74b0475..623c6e0f7e1 100644
--- a/core/js/multiselect.js
+++ b/core/js/multiselect.js
@@ -1,20 +1,44 @@
+/**
+ * @param 'createCallback' A function to be called when a new entry is created. Two arguments are supplied to this function:
+ * The select element used and the value of the option. If the function returns false addition will be cancelled. If it returns
+ * anything else it will be used as the value of the newly added option.
+ * @param 'createText' The placeholder text for the create action.
+ * @param 'title' The title to show if no options are selected.
+ * @param 'checked' An array containing values for options that should be checked. Any options which are already selected will be added to this array.
+ * @param 'labels' The corresponding labels to show for the checked items.
+ * @param 'oncheck' Callback function which will be called when a checkbox/radiobutton is selected. If the function returns false the input will be unchecked.
+ * @param 'onuncheck' @see 'oncheck'.
+ * @param 'singleSelect' If true radiobuttons will be used instead of checkboxes.
+ */
(function( $ ){
var multiSelectId=-1;
- $.fn.multiSelect=function(options){
+ $.fn.multiSelect=function(options) {
multiSelectId++;
var settings = {
'createCallback':false,
'createText':false,
+ 'singleSelect':false,
+ 'selectedFirst':false,
+ 'sort':true,
'title':this.attr('title'),
'checked':[],
+ 'labels':[],
'oncheck':false,
'onuncheck':false,
'minWidth': 'default;',
};
+ $(this).attr('data-msid', multiSelectId);
$.extend(settings,options);
- $.each(this.children(),function(i,option){
- if($(option).attr('selected') && settings.checked.indexOf($(option).val())==-1){
+ $.each(this.children(),function(i,option) {
+ // If the option is selected, but not in the checked array, add it.
+ if($(option).attr('selected') && settings.checked.indexOf($(option).val()) === -1) {
settings.checked.push($(option).val());
+ settings.labels.push($(option).text().trim());
+ }
+ // If the option is in the checked array but not selected, select it.
+ else if(settings.checked.indexOf($(option).val()) !== -1 && !$(option).attr('selected')) {
+ $(option).attr('selected', 'selected');
+ settings.labels.push($(option).text().trim());
}
});
var button=$('<div class="multiselect button"><span>'+settings.title+'</span><span>â–¾</span></div>');
@@ -24,24 +48,36 @@
button.selectedItems=[];
this.hide();
this.before(span);
- if(settings.minWidth=='default'){
+ if(settings.minWidth=='default') {
settings.minWidth=button.width();
}
button.css('min-width',settings.minWidth);
settings.minOuterWidth=button.outerWidth()-2;
button.data('settings',settings);
- if(settings.checked.length>0){
- button.children('span').first().text(settings.checked.join(', '));
+
+ if(!settings.singleSelect && settings.checked.length>0) {
+ button.children('span').first().text(settings.labels.join(', '));
+ } else if(settings.singleSelect) {
+ button.children('span').first().text(this.find(':selected').text());
}
+ var self = this;
+ self.menuDirection = 'down';
button.click(function(event){
var button=$(this);
- if(button.parent().children('ul').length>0){
- button.parent().children('ul').slideUp(400,function(){
- button.parent().children('ul').remove();
- button.removeClass('active');
- });
+ if(button.parent().children('ul').length>0) {
+ if(self.menuDirection === 'down') {
+ button.parent().children('ul').slideUp(400,function() {
+ button.parent().children('ul').remove();
+ button.removeClass('active down');
+ });
+ } else {
+ button.parent().children('ul').fadeOut(400,function() {
+ button.parent().children('ul').remove();
+ button.removeClass('active up');
+ });
+ }
return;
}
var lists=$('ul.multiselectoptions');
@@ -54,49 +90,69 @@
event.stopPropagation();
var options=$(this).parent().next().children();
var list=$('<ul class="multiselectoptions"/>').hide().appendTo($(this).parent());
- function createItem(element,checked){
+ var inputType = settings.singleSelect ? 'radio' : 'checkbox';
+ function createItem(element, checked){
element=$(element);
var item=element.val();
var id='ms'+multiSelectId+'-option-'+item;
- var input=$('<input type="checkbox"/>');
+ var input=$('<input type="' + inputType + '"/>');
input.attr('id',id);
+ if(settings.singleSelect) {
+ input.attr('name', 'ms'+multiSelectId+'-option');
+ }
var label=$('<label/>');
label.attr('for',id);
- label.text(item);
- if(settings.checked.indexOf(item)!=-1 || checked){
- input.attr('checked',true);
+ label.text(element.text() || item);
+ if(settings.checked.indexOf(item)!=-1 || checked) {
+ input.attr('checked', true);
}
if(checked){
- settings.checked.push(item);
+ if(settings.singleSelect) {
+ settings.checked = [item];
+ settings.labels = [item];
+ } else {
+ settings.checked.push(item);
+ settings.labels.push(item);
+ }
}
input.change(function(){
- var groupname=$(this).next().text();
- if($(this).is(':checked')){
+ var value = $(this).attr('id').substring(String('ms'+multiSelectId+'-option').length+1);
+ var label = $(this).next().text().trim();
+ if($(this).is(':checked')) {
+ if(settings.singleSelect) {
+ settings.checked = [];
+ settings.labels = [];
+ $.each(self.find('option'), function() {
+ $(this).removeAttr('selected');
+ });
+ }
element.attr('selected','selected');
- if(settings.oncheck){
- if(settings.oncheck(groupname)===false){
+ if(typeof settings.oncheck === 'function') {
+ if(settings.oncheck(value)===false) {
$(this).attr('checked', false);
return;
}
}
- settings.checked.push(groupname);
- }else{
- var index=settings.checked.indexOf(groupname);
+ settings.checked.push(value);
+ settings.labels.push(label);
+ $(this).parent().addClass('checked');
+ } else {
+ var index=settings.checked.indexOf(value);
element.attr('selected',null);
- if(settings.onuncheck){
- if(settings.onuncheck(groupname)===false){
+ if(typeof settings.onuncheck === 'function') {
+ if(settings.onuncheck(value)===false) {
$(this).attr('checked',true);
return;
}
}
+ $(this).parent().removeClass('checked');
settings.checked.splice(index,1);
+ settings.labels.splice(index,1);
}
var oldWidth=button.width();
- if(settings.checked.length>0){
- button.children('span').first().text(settings.checked.join(', '));
- }else{
- button.children('span').first().text(settings.title);
- }
+ button.children('span').first().text(settings.labels.length > 0
+ ? settings.labels.join(', ')
+ : settings.title);
var newOuterWidth=Math.max((button.outerWidth()-2),settings.minOuterWidth)+'px';
var newWidth=Math.max(button.width(),settings.minWidth);
var pos=button.position();
@@ -110,6 +166,9 @@
});
var li=$('<li></li>');
li.append(input).append(label);
+ if(input.is(':checked')) {
+ li.addClass('checked');
+ }
return li;
}
$.each(options,function(index,item){
@@ -117,13 +176,13 @@
});
button.parent().data('preventHide',false);
if(settings.createText){
- var li=$('<li>+ <em>'+settings.createText+'<em></li>');
+ var li=$('<li class="creator">+ <em>'+settings.createText+'<em></li>');
li.click(function(event){
li.empty();
var input=$('<input class="new">');
li.append(input);
input.focus();
- input.css('width',button.width());
+ input.css('width',button.innerWidth());
button.parent().data('preventHide',true);
input.keypress(function(event) {
if(event.keyCode == 13) {
@@ -132,7 +191,7 @@
var value = $(this).val();
var exists = false;
$.each(options,function(index, item) {
- if ($(item).val() == value) {
+ if ($(item).val() == value || $(item).text() == value) {
exists = true;
return false;
}
@@ -141,22 +200,39 @@
return false;
}
var li=$(this).parent();
+ var val = $(this).val()
+ var select=button.parent().next();
+ if(typeof settings.createCallback === 'function') {
+ var response = settings.createCallback(select, val);
+ if(response === false) {
+ return false;
+ } else if(typeof response !== 'undefined') {
+ val = response;
+ }
+ }
+ if(settings.singleSelect) {
+ $.each(select.find('option:selected'), function() {
+ $(this).removeAttr('selected');
+ });
+ }
$(this).remove();
li.text('+ '+settings.createText);
li.before(createItem(this));
- var select=button.parent().next();
var option=$('<option selected="selected"/>');
- option.attr('value',value);
- option.text($(this).val());
+ option.text($(this).val()).val(val).attr('selected', 'selected');
select.append(option);
- li.prev().children('input').trigger('click');
+ li.prev().children('input').prop('checked', true).trigger('change');
button.parent().data('preventHide',false);
- if(settings.createCallback){
- settings.createCallback($(this).val());
+ button.children('span').first().text(settings.labels.length > 0
+ ? settings.labels.join(', ')
+ : settings.title);
+ if(self.menuDirection === 'up') {
+ var list = li.parent();
+ list.css('top', list.position().top-li.outerHeight());
}
}
});
- input.blur(function(){
+ input.blur(function() {
event.preventDefault();
event.stopPropagation();
$(this).remove();
@@ -168,21 +244,72 @@
});
list.append(li);
}
+
+ var doSort = function(list, selector) {
+ var rows = list.find('li'+selector).get();
+
+ if(settings.sort) {
+ rows.sort(function(a, b) {
+ return $(a).text().toUpperCase().localeCompare($(b).text().toUpperCase());
+ });
+ }
+
+ $.each(rows, function(index, row) {
+ list.append(row);
+ });
+ };
+ if(settings.sort && settings.selectedFirst) {
+ doSort(list, '.checked');
+ doSort(list, ':not(.checked)');
+ } else if(settings.sort && !settings.selectedFirst) {
+ doSort(list, '');
+ }
+ list.append(list.find('li.creator'));
var pos=button.position();
- list.css('top',pos.top+button.outerHeight()-5);
- list.css('left',pos.left+3);
- list.css('width',(button.outerWidth()-2)+'px');
- list.slideDown();
- list.click(function(event){
+ if($(document).height() > (button.offset().top+button.outerHeight() + list.children().length * button.height())
+ || $(document).height()/2 > pos.top
+ ) {
+ list.css({
+ top:pos.top+button.outerHeight()-5,
+ left:pos.left+3,
+ width:(button.outerWidth()-2)+'px',
+ 'max-height':($(document).height()-(button.offset().top+button.outerHeight()+10))+'px'
+ });
+ list.addClass('down');
+ button.addClass('down');
+ list.slideDown();
+ } else {
+ list.css('max-height', $(document).height()-($(document).height()-(pos.top)+50)+'px');
+ list.css({
+ top:pos.top - list.height(),
+ left:pos.left+3,
+ width:(button.outerWidth()-2)+'px'
+
+ });
+ list.detach().insertBefore($(this));
+ list.addClass('up');
+ button.addClass('up');
+ list.fadeIn();
+ self.menuDirection = 'up';
+ }
+ list.click(function(event) {
event.stopPropagation();
});
});
- $(window).click(function(){
- if(!button.parent().data('preventHide')){
- button.parent().children('ul').slideUp(400,function(){
- button.parent().children('ul').remove();
- button.removeClass('active');
- });
+ $(window).click(function() {
+ if(!button.parent().data('preventHide')) {
+ // How can I save the effect in a var?
+ if(self.menuDirection === 'down') {
+ button.parent().children('ul').slideUp(400,function() {
+ button.parent().children('ul').remove();
+ button.removeClass('active down');
+ });
+ } else {
+ button.parent().children('ul').fadeOut(400,function() {
+ button.parent().children('ul').remove();
+ button.removeClass('active up');
+ });
+ }
}
});
diff --git a/core/js/oc-requesttoken.js b/core/js/oc-requesttoken.js
new file mode 100644
index 00000000000..f4cf286b8aa
--- /dev/null
+++ b/core/js/oc-requesttoken.js
@@ -0,0 +1,3 @@
+$(document).bind('ajaxSend', function(elm, xhr, s) {
+ xhr.setRequestHeader('requesttoken', oc_requesttoken);
+}); \ No newline at end of file
diff --git a/core/js/setup.js b/core/js/setup.js
index 39fcf4a2715..9aded6591ca 100644
--- a/core/js/setup.js
+++ b/core/js/setup.js
@@ -52,11 +52,12 @@ $(document).ready(function() {
// Save form parameters
var post = $(this).serializeArray();
+ // FIXME: This lines are breaking the installation
// Disable inputs
- $(':submit', this).attr('disabled','disabled').val('Finishing …');
- $('input', this).addClass('ui-state-disabled').attr('disabled','disabled');
- $('#selectDbType').button('disable');
- $('label.ui-button', this).addClass('ui-state-disabled').attr('aria-disabled', 'true').button('disable');
+ // $(':submit', this).attr('disabled','disabled').val('Finishing …');
+ // $('input', this).addClass('ui-state-disabled').attr('disabled','disabled');
+ // $('#selectDbType').button('disable');
+ // $('label.ui-button', this).addClass('ui-state-disabled').attr('aria-disabled', 'true').button('disable');
// Create the form
var form = $('<form>');
diff --git a/core/js/visitortimezone.js b/core/js/visitortimezone.js
new file mode 100644
index 00000000000..58a1e9ea355
--- /dev/null
+++ b/core/js/visitortimezone.js
@@ -0,0 +1,4 @@
+$(document).ready(function () {
+ var visitortimezone = (-new Date().getTimezoneOffset() / 60);
+ $('#timezone-offset').val(visitortimezone);
+}); \ No newline at end of file
diff --git a/core/l10n/ar.php b/core/l10n/ar.php
index d33de577b3d..38450f8d54f 100644
--- a/core/l10n/ar.php
+++ b/core/l10n/ar.php
@@ -98,10 +98,6 @@
"Lost your password?" => "هل نسيت كلمة السر؟",
"remember" => "تذكر",
"Log in" => "أدخل",
-"You are logged out." => "تم الخروج بنجاح.",
"prev" => "السابق",
-"next" => "التالي",
-"Security Warning!" => "تحذير أمان!",
-"Please verify your password. <br/>For security reasons you may be occasionally asked to enter your password again." => "الرجاء التحقق من كلمة السر. <br/>من الممكن أحياناً أن نطلب منك إعادة إدخال كلمة السر مرة أخرى.",
-"Verify" => "تحقيق"
+"next" => "التالي"
);
diff --git a/core/l10n/bg_BG.php b/core/l10n/bg_BG.php
index 0033324cb1d..a7cba523be2 100644
--- a/core/l10n/bg_BG.php
+++ b/core/l10n/bg_BG.php
@@ -1,62 +1,19 @@
<?php $TRANSLATIONS = array(
-"This category already exists: " => "КатегориÑта вече ÑъщеÑтвува:",
-"No categories selected for deletion." => "ÐÑма избрани категории за изтриване",
"Settings" => "ÐаÑтройки",
-"Cancel" => "Отказ",
-"No" => "Ðе",
-"Yes" => "Да",
-"Ok" => "Добре",
-"Error" => "Грешка",
+"seconds ago" => "преди Ñекунди",
+"1 minute ago" => "преди 1 минута",
+"1 hour ago" => "преди 1 чаÑ",
+"today" => "днеÑ",
+"yesterday" => "вчера",
+"last month" => "поÑледниÑÑ‚ меÑец",
+"last year" => "поÑледната година",
+"years ago" => "поÑледните години",
"Password" => "Парола",
-"You will receive a link to reset your password via Email." => "Ще получите връзка за нулиране на паролата Ви.",
-"Username" => "Потребител",
-"Request reset" => "Ðулиране на заÑвка",
-"Your password was reset" => "Вашата парола е нулирана",
-"New password" => "Ðова парола",
-"Reset password" => "Ðулиране на парола",
"Personal" => "Лични",
"Users" => "Потребители",
-"Apps" => "Програми",
+"Apps" => "ПриложениÑ",
"Admin" => "Ðдмин",
"Help" => "Помощ",
-"Access forbidden" => "ДоÑтъпът е забранен",
-"Cloud not found" => "облакът не намерен",
-"Edit categories" => "Редактиране на категориите",
"Add" => "ДобавÑне",
-"Create an <strong>admin account</strong>" => "Създаване на <strong>админ профил</strong>",
-"Advanced" => "Разширено",
-"Data folder" => "Ð”Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ Ð·Ð° данни",
-"Configure the database" => "Конфигуриране на базата",
-"will be used" => "ще Ñе ползва",
-"Database user" => "Потребител за базата",
-"Database password" => "Парола за базата",
-"Database name" => "Име на базата",
-"Database host" => "ХоÑÑ‚ за базата",
-"Finish setup" => "Завършване на наÑтройките",
-"Sunday" => "ÐеделÑ",
-"Monday" => "Понеделник",
-"Tuesday" => "Вторник",
-"Wednesday" => "СрÑда",
-"Thursday" => "Четвъртък",
-"Friday" => "Петък",
-"Saturday" => "Събота",
-"January" => "Януари",
-"February" => "Февруари",
-"March" => "Март",
-"April" => "Ðприл",
-"May" => "Май",
-"June" => "Юни",
-"July" => "Юли",
-"August" => "ÐвгуÑÑ‚",
-"September" => "Септември",
-"October" => "Октомври",
-"November" => "Ðоември",
-"December" => "Декември",
-"Log out" => "Изход",
-"Lost your password?" => "Забравена парола?",
-"remember" => "запомни",
-"Log in" => "Вход",
-"You are logged out." => "Вие излÑзохте.",
-"prev" => "пред.",
-"next" => "Ñледващо"
+"web services under your control" => "уеб уÑлуги под Ваш контрол"
);
diff --git a/core/l10n/bn_BD.php b/core/l10n/bn_BD.php
new file mode 100644
index 00000000000..333e4bf0be5
--- /dev/null
+++ b/core/l10n/bn_BD.php
@@ -0,0 +1,125 @@
+<?php $TRANSLATIONS = array(
+"User %s shared a file with you" => "%s নামের বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•ারি আপনার সাথে à¦à¦•টা ফাইল ভাগাভাগি করেছেন",
+"User %s shared a folder with you" => "%s নামের বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•ারি আপনার সাথে à¦à¦•টা ফোলà§à¦¡à¦¾à¦° ভাগাভাগি করেছেন",
+"User %s shared the file \"%s\" with you. It is available for download here: %s" => "%s নামের বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•ারী \"%s\" ফাইলটি আপনার সাথে ভাগাভাগি করেছেন। à¦à¦Ÿà¦¿ à¦à¦–ন à¦à¦–ানে ডাউনলোড করার জনà§à¦¯ সà§à¦²à¦­à¦ƒ %s",
+"User %s shared the folder \"%s\" with you. It is available for download here: %s" => "%s নামের বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•ারী \"%s\" ফোলà§à¦¡à¦¾à¦°à¦Ÿà¦¿ আপনার সাথে ভাগাভাগি করেছেন। à¦à¦Ÿà¦¿ à¦à¦–ন à¦à¦–ানে ডাউনলোড করার জনà§à¦¯ সà§à¦²à¦­à¦ƒ %s",
+"Category type not provided." => "কà§à¦¯à¦¾à¦Ÿà§‡à¦—রির ধরণটি পà§à¦°à¦¦à¦¾à¦¨ করা হয় নি।",
+"No category to add?" => "যোগ করার মত কোন কà§à¦¯à¦¾à¦Ÿà§‡à¦—রি নেই ?",
+"This category already exists: " => "à¦à¦‡ কà§à¦¯à¦¾à¦Ÿà§‡à¦—রিটি পূরà§à¦¬ থেকেই বিদà§à¦¯à¦®à¦¾à¦¨à¦ƒ",
+"Object type not provided." => "অবজেকà§à¦Ÿà§‡à¦° ধরণটি পà§à¦°à¦¦à¦¾à¦¨ করা হয় নি।",
+"%s ID not provided." => "%s ID পà§à¦°à¦¦à¦¾à¦¨ করা হয় নি।",
+"Error adding %s to favorites." => "পà§à¦°à¦¿à§Ÿà¦¤à§‡ %s যোগ করতে সমসà§à¦¯à¦¾ দেখা দিয়েছে।",
+"No categories selected for deletion." => "মà§à¦›à§‡ ফেলার জনà§à¦¯ কোন কà§à¦¯à¦¾à¦Ÿà§‡à¦—রি নিরà§à¦¬à¦¾à¦šà¦¨ করা হয় নি ।",
+"Error removing %s from favorites." => "পà§à¦°à¦¿à§Ÿ থেকে %s সরিয়ে ফেলতে সমসà§à¦¯à¦¾ দেখা দিয়েছে।",
+"Settings" => "নিয়ামকসমূহ",
+"seconds ago" => "সেকেনà§à¦¡ পূরà§à¦¬à§‡",
+"1 minute ago" => "1 মিনিট পূরà§à¦¬à§‡",
+"{minutes} minutes ago" => "{minutes} মিনিট পূরà§à¦¬à§‡",
+"1 hour ago" => "1 ঘনà§à¦Ÿà¦¾ পূরà§à¦¬à§‡",
+"{hours} hours ago" => "{hours} ঘনà§à¦Ÿà¦¾ পূরà§à¦¬à§‡",
+"today" => "আজ",
+"yesterday" => "গতকাল",
+"{days} days ago" => "{days} দিন পূরà§à¦¬à§‡",
+"last month" => "গতমাস",
+"{months} months ago" => "{months} মাস পূরà§à¦¬à§‡",
+"months ago" => "মাস পূরà§à¦¬à§‡",
+"last year" => "গত বছর",
+"years ago" => "বছর পূরà§à¦¬à§‡",
+"Choose" => "বেছে নিন",
+"Cancel" => "বাতির",
+"No" => "না",
+"Yes" => "হà§à¦¯à¦¾à¦",
+"Ok" => "তথাসà§à¦¤à§",
+"The object type is not specified." => "অবজেকà§à¦Ÿà§‡à¦° ধরণটি সà§à¦¨à¦¿à¦°à§à¦¦à¦¿à¦·à§à¦Ÿ নয়।",
+"Error" => "সমসà§à¦¯à¦¾",
+"The app name is not specified." => "অà§à¦¯à¦¾à¦ªà§‡à¦° নামটি সà§à¦¨à¦¿à¦°à§à¦¦à¦¿à¦·à§à¦Ÿ নয়।",
+"The required file {file} is not installed!" => "আবশà§à¦¯à¦¿à¦• {file} টি সংসà§à¦¥à¦¾à¦ªà¦¿à¦¤ নেই !",
+"Error while sharing" => "ভাগাভাগি করতে সমসà§à¦¯à¦¾ দেখা দিয়েছে ",
+"Error while unsharing" => "ভাগাভাগি বাতিল করতে সমসà§à¦¯à¦¾ দেখা দিয়েছে",
+"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 link" => "লিংকের সাথে ভাগাভাগি কর",
+"Password protect" => "কূটশবà§à¦¦ সà§à¦°à¦•à§à¦·à¦¿à¦¤",
+"Password" => "কূটশবà§à¦¦",
+"Email link to person" => "বà§à¦¯à¦•à§à¦¤à¦¿à¦° সাথে ই-মেইল যà§à¦•à§à¦¤ কর",
+"Send" => "পাঠাও",
+"Set expiration date" => "মেয়াদোতà§à¦¤à§€à¦°à§à¦£ হওয়ার তারিখ নিরà§à¦§à¦¾à¦°à¦£ করà§à¦¨",
+"Expiration date" => "মেয়াদোতà§à¦¤à§€à¦°à§à¦£ হওয়ার তারিখ",
+"Share via email:" => "ই-মেইলের মাধà§à¦¯à¦®à§‡ ভাগাভাগি করà§à¦¨à¦ƒ",
+"No people found" => "কোন বà§à¦¯à¦•à§à¦¤à¦¿ খà§à¦à¦œà§‡ পাওয়া গেল না",
+"Resharing is not allowed" => "পূনঃরায় ভাগাভাগি অনà§à¦®à§‹à¦¦à¦¿à¦¤ নয়",
+"Shared in {item} with {user}" => "{user} à¦à¦° সাথে {item} ভাগাভাগি করা হয়েছে",
+"Unshare" => "ভাগাভাগি বাতিল কর",
+"can edit" => "সমà§à¦ªà¦¾à¦¦à¦¨à¦¾ করতে পারবেন",
+"access control" => "অধিগমà§à¦¯à¦¤à¦¾ নিয়নà§à¦¤à§à¦°à¦£",
+"create" => "তৈরী করà§à¦¨",
+"update" => "পরিবরà§à¦§à¦¨ কর",
+"delete" => "মà§à¦›à§‡ ফেল",
+"share" => "ভাগাভাগি কর",
+"Password protected" => "কূটশবà§à¦¦à¦¦à§à¦¬à¦¾à¦°à¦¾ সà§à¦°à¦•à§à¦·à¦¿à¦¤",
+"Error unsetting expiration date" => "মেয়াদোতà§à¦¤à§€à¦°à§à¦£ হওয়ার তারিখ নিরà§à¦§à¦¾à¦°à¦£ বাতিল করতে সমসà§à¦¯à¦¾ দেখা দিয়েছে",
+"Error setting expiration date" => "মেয়াদোতà§à¦¤à§€à¦°à§à¦£ হওয়ার তারিখ নিরà§à¦§à¦¾à¦°à¦£ করতে সমসà§à¦¯à¦¾ দেখা দিয়েছে",
+"Sending ..." => "পাঠানো হচà§à¦›à§‡......",
+"Email sent" => "ই-মেইল পাঠানো হয়েছে",
+"ownCloud password reset" => "ownCloud কূটশবà§à¦¦ পূনঃনিরà§à¦§à¦¾à¦°à¦£",
+"Use the following link to reset your password: {link}" => "আপনার কূটশবà§à¦¦à¦Ÿà¦¿ পূনঃনিরà§à¦§à¦¾à¦°à¦£ করার জনà§à¦¯ নিমà§à¦¨à§‹à¦•à§à¦¤ লিংকটি বà§à¦¯à¦¬à¦¹à¦¾à¦° করà§à¦¨à¦ƒ {link}",
+"You will receive a link to reset your password via Email." => "কূটশবà§à¦¦ পূনঃনিরà§à¦§à¦¾à¦°à¦£à§‡à¦° জনà§à¦¯ à¦à¦•টি টূনঃনিরà§à¦§à¦¾à¦°à¦£ লিংকটি আপনাকে ই-মেইলে পাঠানো হয়েছে ।",
+"Reset email send." => "পূনঃনিরà§à¦§à¦¾à¦°à¦£ ই-মেইল পাঠানো হয়েছে।",
+"Request failed!" => "অনà§à¦°à§‹à¦§ বà§à¦¯à¦°à§à¦¥ !",
+"Username" => "বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•ারী",
+"Request reset" => "অনà§à¦°à§‹à¦§ পূনঃনিরà§à¦§à¦¾à¦°à¦£",
+"Your password was reset" => "আপনার কূটশবà§à¦¦à¦Ÿà¦¿ পূনঃনিরà§à¦§à¦¾à¦°à¦£ করা হয়েছে",
+"To login page" => "পà§à¦°à¦¬à§‡à¦¶ পৃষà§à¦ à¦¾à§Ÿ",
+"New password" => "নতà§à¦¨ কূটশবà§à¦¦",
+"Reset password" => "কূটশবà§à¦¦ পূনঃনিরà§à¦§à¦¾à¦°à¦£ কর",
+"Personal" => "বà§à¦¯à¦•à§à¦¤à¦¿à¦—ত",
+"Users" => "বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•ারী",
+"Apps" => "অà§à¦¯à¦¾à¦ªà¦¸",
+"Admin" => "পà§à¦°à¦¶à¦¾à¦¸à¦¨",
+"Help" => "সহায়িকা",
+"Access forbidden" => "অধিগমনের অনà§à¦®à¦¤à¦¿ নেই",
+"Cloud not found" => "কà§à¦²à¦¾à¦‰à¦¡ খà§à¦à¦œà§‡ পাওয়া গেল না",
+"Edit categories" => "কà§à¦¯à¦¾à¦Ÿà§‡à¦—রি সমà§à¦ªà¦¾à¦¦à¦¨à¦¾",
+"Add" => "যোগ কর",
+"Security Warning" => "নিরাপতà§à¦¤à¦¾à¦œà¦¨à¦¿à¦¤ সতরà§à¦•তা",
+"Create an <strong>admin account</strong>" => "<strong>পà§à¦°à¦¶à¦¾à¦¸à¦• à¦à¦•াউনà§à¦Ÿ</strong> তৈরী করà§à¦¨",
+"Advanced" => "সà§à¦šà¦¾à¦°à§",
+"Data folder" => "ডাটা ফোলà§à¦¡à¦¾à¦° ",
+"Configure the database" => "ডাটাবেচ কনফিগার করà§à¦¨",
+"will be used" => "বà§à¦¯à¦¬à¦¹à§ƒà¦¤ হবে",
+"Database user" => "ডাটাবেজ বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•ারী",
+"Database password" => "ডাটাবেজ কূটশবà§à¦¦",
+"Database name" => "ডাটাবেজের নাম",
+"Database tablespace" => "ডাটাবেজ টেবলসà§à¦ªà§‡à¦¸",
+"Database host" => "ডাটাবেজ হোসà§à¦Ÿ",
+"Finish setup" => "সেটআপ সà§à¦¸à¦®à§à¦ªà¦¨à§à¦¨ কর",
+"Sunday" => "রবিবার",
+"Monday" => "সোমবার",
+"Tuesday" => "মঙà§à¦—লবার",
+"Wednesday" => "বà§à¦§à¦¬à¦¾à¦°",
+"Thursday" => "বৃহষà§à¦ªà¦¤à¦¿à¦¬à¦¾à¦°",
+"Friday" => "শà§à¦•à§à¦°à¦¬à¦¾à¦°",
+"Saturday" => "শনিবার",
+"January" => "জানà§à§Ÿà¦¾à¦°à¦¿",
+"February" => "ফেবà§à¦°à§à§Ÿà¦¾à¦°à¦¿",
+"March" => "মারà§à¦š",
+"April" => "à¦à¦ªà§à¦°à¦¿à¦²",
+"May" => "মে",
+"June" => "জà§à¦¨",
+"July" => "জà§à¦²à¦¾à¦‡",
+"August" => "অগাষà§à¦Ÿ",
+"September" => "সেপà§à¦Ÿà§‡à¦®à§à¦¬à¦°",
+"October" => "অকà§à¦Ÿà§‹à¦¬à¦°",
+"November" => "নভেমà§à¦¬à¦°",
+"December" => "ডিসেমà§à¦¬à¦°",
+"web services under your control" => "ওয়েব সারà§à¦­à¦¿à¦¸à§‡à¦° নিয়নà§à¦¤à§à¦°à¦£ আপনার হাতের মà§à¦ à§‹à§Ÿ",
+"Log out" => "পà§à¦°à¦¸à§à¦¥à¦¾à¦¨",
+"Lost your password?" => "কূটশবà§à¦¦ হারিয়েছেন?",
+"remember" => "মনে রাখ",
+"Log in" => "পà§à¦°à¦¬à§‡à¦¶",
+"prev" => "পূরà§à¦¬à¦¬à¦°à§à¦¤à§€",
+"next" => "পরবরà§à¦¤à§€",
+"Updating ownCloud to version %s, this may take a while." => "%s ভারà§à¦¸à¦¨à§‡ ownCloud পরিবরà§à¦§à¦¨ করা হচà§à¦›à§‡, à¦à¦œà¦¨à§à¦¯ কিছৠসময় পà§à¦°à§Ÿà§‹à¦œà¦¨à¥¤"
+);
diff --git a/core/l10n/ca.php b/core/l10n/ca.php
index f98922f8f38..e66bad25e43 100644
--- a/core/l10n/ca.php
+++ b/core/l10n/ca.php
@@ -125,10 +125,7 @@
"Lost your password?" => "Heu perdut la contrasenya?",
"remember" => "recorda'm",
"Log in" => "Inici de sessió",
-"You are logged out." => "Heu tancat la sessió.",
"prev" => "anterior",
"next" => "següent",
-"Security Warning!" => "Avís de seguretat!",
-"Please verify your password. <br/>For security reasons you may be occasionally asked to enter your password again." => "Comproveu la vostra contrasenya. <br/>Per raons de seguretat se us pot demanar escriure de nou la vostra contrasenya.",
-"Verify" => "Comprova"
+"Updating ownCloud to version %s, this may take a while." => "S'està actualitzant ownCloud a la versió %s, pot trigar una estona."
);
diff --git a/core/l10n/cs_CZ.php b/core/l10n/cs_CZ.php
index 96252ea8bba..7a766bd7176 100644
--- a/core/l10n/cs_CZ.php
+++ b/core/l10n/cs_CZ.php
@@ -125,10 +125,7 @@
"Lost your password?" => "Ztratili jste své heslo?",
"remember" => "zapamatovat si",
"Log in" => "Přihlásit",
-"You are logged out." => "Jste odhlášeni.",
"prev" => "předchozí",
"next" => "následující",
-"Security Warning!" => "BezpeÄnostní upozornÄ›ní.",
-"Please verify your password. <br/>For security reasons you may be occasionally asked to enter your password again." => "Ověřte, prosím, své heslo. <br/>Z bezpeÄnostních důvodů můžete být obÄas požádáni o jeho opÄ›tovné zadání.",
-"Verify" => "Ověřit"
+"Updating ownCloud to version %s, this may take a while." => "Aktualizuji ownCloud na verzi %s, bude to chvíli trvat."
);
diff --git a/core/l10n/da.php b/core/l10n/da.php
index a792e1d9bae..e8155c298c0 100644
--- a/core/l10n/da.php
+++ b/core/l10n/da.php
@@ -125,10 +125,6 @@
"Lost your password?" => "Mistet dit kodeord?",
"remember" => "husk",
"Log in" => "Log ind",
-"You are logged out." => "Du er nu logget ud.",
"prev" => "forrige",
-"next" => "næste",
-"Security Warning!" => "Sikkerhedsadvarsel!",
-"Please verify your password. <br/>For security reasons you may be occasionally asked to enter your password again." => "Verificer din adgangskode.<br/>Af sikkerhedsårsager kan du lejlighedsvist blive bedt om at indtaste din adgangskode igen.",
-"Verify" => "Verificer"
+"next" => "næste"
);
diff --git a/core/l10n/de.php b/core/l10n/de.php
index c5867eda8c3..89846301a58 100644
--- a/core/l10n/de.php
+++ b/core/l10n/de.php
@@ -125,10 +125,7 @@
"Lost your password?" => "Passwort vergessen?",
"remember" => "merken",
"Log in" => "Einloggen",
-"You are logged out." => "Du wurdest abgemeldet.",
"prev" => "Zurück",
"next" => "Weiter",
-"Security Warning!" => "Sicherheitswarnung!",
-"Please verify your password. <br/>For security reasons you may be occasionally asked to enter your password again." => "Bitte bestätige Dein Passwort. <br/> Aus Sicherheitsgründen wirst Du hierbei gebeten, Dein Passwort erneut einzugeben.",
-"Verify" => "Bestätigen"
+"Updating ownCloud to version %s, this may take a while." => "Aktualisiere ownCloud auf Version %s. Dies könnte eine Weile dauern."
);
diff --git a/core/l10n/de_DE.php b/core/l10n/de_DE.php
index ed0bc0e0ffb..d62b000c0ab 100644
--- a/core/l10n/de_DE.php
+++ b/core/l10n/de_DE.php
@@ -125,10 +125,7 @@
"Lost your password?" => "Passwort vergessen?",
"remember" => "merken",
"Log in" => "Einloggen",
-"You are logged out." => "Sie wurden abgemeldet.",
"prev" => "Zurück",
"next" => "Weiter",
-"Security Warning!" => "Sicherheitshinweis!",
-"Please verify your password. <br/>For security reasons you may be occasionally asked to enter your password again." => "Bitte überprüfen Sie Ihr Passwort. <br/>Aus Sicherheitsgründen werden Sie gelegentlich aufgefordert, Ihr Passwort erneut einzugeben.",
-"Verify" => "Überprüfen"
+"Updating ownCloud to version %s, this may take a while." => "Aktualisiere ownCloud auf Version %s. Dies könnte eine Weile dauern."
);
diff --git a/core/l10n/el.php b/core/l10n/el.php
index d8a5d7aef51..c029b01fd9c 100644
--- a/core/l10n/el.php
+++ b/core/l10n/el.php
@@ -125,10 +125,7 @@
"Lost your password?" => "Ξεχάσατε το συνθηματικό σας;",
"remember" => "απομνημόνευση",
"Log in" => "Είσοδος",
-"You are logged out." => "Έχετε αποσυνδεθεί.",
"prev" => "Ï€ÏοηγοÏμενο",
"next" => "επόμενο",
-"Security Warning!" => "ΠÏοειδοποίηση Ασφαλείας!",
-"Please verify your password. <br/>For security reasons you may be occasionally asked to enter your password again." => "ΠαÏακαλώ επιβεβαιώστε το συνθηματικό σας. <br/>Για λόγους ασφαλείας μποÏεί να εÏωτάστε να εισάγετε ξανά το συνθηματικό σας.",
-"Verify" => "Επαλήθευση"
+"Updating ownCloud to version %s, this may take a while." => "ΕνημεÏώνοντας το ownCloud στην έκδοση %s,μποÏεί να πάÏει λίγο χÏόνο."
);
diff --git a/core/l10n/eo.php b/core/l10n/eo.php
index a605b27ed80..0319eeef2d4 100644
--- a/core/l10n/eo.php
+++ b/core/l10n/eo.php
@@ -121,10 +121,6 @@
"Lost your password?" => "Ĉu vi perdis vian pasvorton?",
"remember" => "memori",
"Log in" => "Ensaluti",
-"You are logged out." => "Vi estas elsalutita.",
"prev" => "maljena",
-"next" => "jena",
-"Security Warning!" => "Sekureca averto!",
-"Please verify your password. <br/>For security reasons you may be occasionally asked to enter your password again." => "Bonvolu kontroli vian pasvorton. <br/>Pro sekureco, oni okaze povas peti al vi enigi vian pasvorton ree.",
-"Verify" => "Kontroli"
+"next" => "jena"
);
diff --git a/core/l10n/es.php b/core/l10n/es.php
index 2a9f5682dfb..4f8f1936c7f 100644
--- a/core/l10n/es.php
+++ b/core/l10n/es.php
@@ -125,10 +125,7 @@
"Lost your password?" => "¿Has perdido tu contraseña?",
"remember" => "recuérdame",
"Log in" => "Entrar",
-"You are logged out." => "Has cerrado la sesión.",
"prev" => "anterior",
"next" => "siguiente",
-"Security Warning!" => "¡Advertencia de seguridad!",
-"Please verify your password. <br/>For security reasons you may be occasionally asked to enter your password again." => "Por favor verifique su contraseña. <br/>Por razones de seguridad se le puede volver a preguntar ocasionalmente la contraseña.",
-"Verify" => "Verificar"
+"Updating ownCloud to version %s, this may take a while." => "Actualizando ownCloud a la versión %s, esto puede demorar un tiempo."
);
diff --git a/core/l10n/es_AR.php b/core/l10n/es_AR.php
index 2da7951b064..374a679260b 100644
--- a/core/l10n/es_AR.php
+++ b/core/l10n/es_AR.php
@@ -1,4 +1,8 @@
<?php $TRANSLATIONS = array(
+"User %s shared a file with you" => "El usurario %s compartió un archivo con vos.",
+"User %s shared a folder with you" => "El usurario %s compartió una carpeta con vos.",
+"User %s shared the file \"%s\" with you. It is available for download here: %s" => "El usuario %s compartió el archivo \"%s\" con vos. Está disponible para su descarga aquí: %s",
+"User %s shared the folder \"%s\" with you. It is available for download here: %s" => "El usuario %s compartió el archivo \"%s\" con vos. Está disponible para su descarga aquí: %s",
"Category type not provided." => "Tipo de categoría no provisto. ",
"No category to add?" => "¿Ninguna categoría para añadir?",
"This category already exists: " => "Esta categoría ya existe: ",
@@ -39,6 +43,8 @@
"Share with link" => "Compartir con link",
"Password protect" => "Proteger con contraseña ",
"Password" => "Contraseña",
+"Email link to person" => "Enviar el link por e-mail.",
+"Send" => "Enviar",
"Set expiration date" => "Asignar fecha de vencimiento",
"Expiration date" => "Fecha de vencimiento",
"Share via email:" => "compartido a través de e-mail:",
@@ -55,6 +61,8 @@
"Password protected" => "Protegido por contraseña",
"Error unsetting expiration date" => "Error al remover la fecha de caducidad",
"Error setting expiration date" => "Error al asignar fecha de vencimiento",
+"Sending ..." => "Enviando...",
+"Email sent" => "Email enviado",
"ownCloud password reset" => "Restablecer contraseña de ownCloud",
"Use the following link to reset your password: {link}" => "Usá este enlace para restablecer tu contraseña: {link}",
"You will receive a link to reset your password via Email." => "Vas a recibir un enlace por e-mail para restablecer tu contraseña",
@@ -117,10 +125,7 @@
"Lost your password?" => "¿Perdiste tu contraseña?",
"remember" => "recordame",
"Log in" => "Entrar",
-"You are logged out." => "Terminaste la sesión.",
"prev" => "anterior",
"next" => "siguiente",
-"Security Warning!" => "¡Advertencia de seguridad!",
-"Please verify your password. <br/>For security reasons you may be occasionally asked to enter your password again." => "Por favor, verificá tu contraseña. <br/>Por razones de seguridad, puede ser que que te pregunte ocasionalmente la contraseña.",
-"Verify" => "Verificar"
+"Updating ownCloud to version %s, this may take a while." => "Actualizando ownCloud a la versión %s, puede domorar un rato."
);
diff --git a/core/l10n/et_EE.php b/core/l10n/et_EE.php
index b67dd13dd69..b79dd4761e7 100644
--- a/core/l10n/et_EE.php
+++ b/core/l10n/et_EE.php
@@ -101,9 +101,6 @@
"Lost your password?" => "Kaotasid oma parooli?",
"remember" => "pea meeles",
"Log in" => "Logi sisse",
-"You are logged out." => "Sa oled välja loginud",
"prev" => "eelm",
-"next" => "järgm",
-"Security Warning!" => "turvahoiatus!",
-"Verify" => "Kinnita"
+"next" => "järgm"
);
diff --git a/core/l10n/eu.php b/core/l10n/eu.php
index 1a21ca34705..3f1a2909531 100644
--- a/core/l10n/eu.php
+++ b/core/l10n/eu.php
@@ -125,10 +125,7 @@
"Lost your password?" => "Galdu duzu pasahitza?",
"remember" => "gogoratu",
"Log in" => "Hasi saioa",
-"You are logged out." => "Zure saioa bukatu da.",
"prev" => "aurrekoa",
"next" => "hurrengoa",
-"Security Warning!" => "Segurtasun abisua",
-"Please verify your password. <br/>For security reasons you may be occasionally asked to enter your password again." => "Mesedez egiaztatu zure pasahitza. <br/>Segurtasun arrazoiengatik noizbehinka zure pasahitza berriz sartzea eska diezazukegu.",
-"Verify" => "Egiaztatu"
+"Updating ownCloud to version %s, this may take a while." => "ownCloud %s bertsiora eguneratzen, denbora har dezake."
);
diff --git a/core/l10n/fa.php b/core/l10n/fa.php
index 2f859dc31d2..ad5bafeb1a2 100644
--- a/core/l10n/fa.php
+++ b/core/l10n/fa.php
@@ -17,6 +17,7 @@
"Ok" => "قبول",
"Error" => "خطا",
"Password" => "گذرواژه",
+"Unshare" => "لغو اشتراک",
"create" => "ایجاد",
"ownCloud password reset" => "پسورد ابرهای شما تغییرکرد",
"Use the following link to reset your password: {link}" => "از لینک زیر جهت دوباره سازی پسورد Ø§Ø³ØªÙØ§Ø¯Ù‡ کنید :\n{link}",
@@ -71,7 +72,6 @@
"Lost your password?" => "آیا گذرواژه تان را به یاد نمی آورید؟",
"remember" => "بیاد آوری",
"Log in" => "ورود",
-"You are logged out." => "شما خارج شدید",
"prev" => "بازگشت",
"next" => "بعدی"
);
diff --git a/core/l10n/fi_FI.php b/core/l10n/fi_FI.php
index 4b4a23b8c70..751293e1fd5 100644
--- a/core/l10n/fi_FI.php
+++ b/core/l10n/fi_FI.php
@@ -1,7 +1,13 @@
<?php $TRANSLATIONS = array(
+"User %s shared a file with you" => "Käyttäjä %s jakoi tiedoston kanssasi",
+"User %s shared a folder with you" => "Käyttäjä %s jakoi kansion kanssasi",
+"User %s shared the file \"%s\" with you. It is available for download here: %s" => "Käyttäjä %s jakoi tiedoston \"%s\" kanssasi. Se on ladattavissa täältä: %s",
+"User %s shared the folder \"%s\" with you. It is available for download here: %s" => "Käyttäjä %s jakoi kansion \"%s\" kanssasi. Se on ladattavissa täältä: %s",
"No category to add?" => "Ei lisättävää luokkaa?",
"This category already exists: " => "Tämä luokka on jo olemassa: ",
+"Error adding %s to favorites." => "Virhe lisätessä kohdetta %s suosikkeihin.",
"No categories selected for deletion." => "Luokkia ei valittu poistettavaksi.",
+"Error removing %s from favorites." => "Virhe poistaessa kohdetta %s suosikeista.",
"Settings" => "Asetukset",
"seconds ago" => "sekuntia sitten",
"1 minute ago" => "1 minuutti sitten",
@@ -27,6 +33,9 @@
"Error while sharing" => "Virhe jaettaessa",
"Error while unsharing" => "Virhe jakoa peruttaessa",
"Error while changing permissions" => "Virhe oikeuksia muuttaessa",
+"Shared with you and the group {group} by {owner}" => "Jaettu sinun ja ryhmän {group} kanssa käyttäjän {owner} toimesta",
+"Shared with you by {owner}" => "Jaettu kanssasi käyttäjän {owner} toimesta",
+"Share with" => "Jaa",
"Share with link" => "Jaa linkillä",
"Password protect" => "Suojaa salasanalla",
"Password" => "Salasana",
@@ -52,6 +61,7 @@
"ownCloud password reset" => "ownCloud-salasanan nollaus",
"Use the following link to reset your password: {link}" => "Voit palauttaa salasanasi seuraavassa osoitteessa: {link}",
"You will receive a link to reset your password via Email." => "Saat sähköpostitse linkin nollataksesi salasanan.",
+"Reset email send." => "Salasanan nollausviesti lähetetty.",
"Request failed!" => "Pyyntö epäonnistui!",
"Username" => "Käyttäjätunnus",
"Request reset" => "Tilaus lähetetty",
@@ -108,10 +118,7 @@
"Lost your password?" => "Unohditko salasanasi?",
"remember" => "muista",
"Log in" => "Kirjaudu sisään",
-"You are logged out." => "Olet kirjautunut ulos.",
"prev" => "edellinen",
"next" => "seuraava",
-"Security Warning!" => "Turvallisuusvaroitus!",
-"Please verify your password. <br/>For security reasons you may be occasionally asked to enter your password again." => "Vahvista salasanasi. <br/>Turvallisuussyistä sinulta saatetaan ajoittain kysyä salasanasi uudelleen.",
-"Verify" => "Vahvista"
+"Updating ownCloud to version %s, this may take a while." => "Päivitetään ownCloud versioon %s, tämä saattaa kestää hetken."
);
diff --git a/core/l10n/fr.php b/core/l10n/fr.php
index 3d174b327a2..39269e43b5d 100644
--- a/core/l10n/fr.php
+++ b/core/l10n/fr.php
@@ -2,6 +2,7 @@
"User %s shared a file with you" => "L'utilisateur %s a partagé un fichier avec vous",
"User %s shared a folder with you" => "L'utilsateur %s a partagé un dossier avec vous",
"User %s shared the file \"%s\" with you. It is available for download here: %s" => "L'utilisateur %s a partagé le fichier \"%s\" avec vous. Vous pouvez le télécharger ici : %s",
+"User %s shared the folder \"%s\" with you. It is available for download here: %s" => "L'utilisateur %s a partagé le dossier \"%s\" avec vous. Il est disponible au téléchargement ici : %s",
"Category type not provided." => "Type de catégorie non spécifié.",
"No category to add?" => "Pas de catégorie à ajouter ?",
"This category already exists: " => "Cette catégorie existe déjà : ",
@@ -58,7 +59,7 @@
"delete" => "supprimer",
"share" => "partager",
"Password protected" => "Protégé par un mot de passe",
-"Error unsetting expiration date" => "Un erreur est survenue pendant la suppression de la date d'expiration",
+"Error unsetting expiration date" => "Une erreur est survenue pendant la suppression de la date d'expiration",
"Error setting expiration date" => "Erreur lors de la spécification de la date d'expiration",
"Sending ..." => "En cours d'envoi ...",
"Email sent" => "Email envoyé",
@@ -82,7 +83,7 @@
"Cloud not found" => "Introuvable",
"Edit categories" => "Modifier les catégories",
"Add" => "Ajouter",
-"Security Warning" => "Avertissement de sécutité",
+"Security Warning" => "Avertissement de sécurité",
"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 your files are probably accessible from the internet. The .htaccess file that ownCloud provides 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 data et vos fichiers sont probablement accessibles depuis internet. Le fichier .htaccess fourni par ownCloud ne fonctionne pas. Nous vous recommandons vivement de configurer votre serveur web de manière à ce que le dossier data ne soit plus accessible ou bien de déplacer le dossier data en dehors du dossier racine des documents du serveur web.",
@@ -124,10 +125,7 @@
"Lost your password?" => "Mot de passe perdu ?",
"remember" => "se souvenir de moi",
"Log in" => "Connexion",
-"You are logged out." => "Vous êtes désormais déconnecté.",
"prev" => "précédent",
"next" => "suivant",
-"Security Warning!" => "Alerte de sécurité !",
-"Please verify your password. <br/>For security reasons you may be occasionally asked to enter your password again." => "Veuillez vérifier votre mot de passe. <br/>Par sécurité il vous sera occasionnellement demandé d'entrer votre mot de passe de nouveau.",
-"Verify" => "Vérification"
+"Updating ownCloud to version %s, this may take a while." => "Mise à jour en cours d'ownCloud vers la version %s, cela peut prendre du temps."
);
diff --git a/core/l10n/gl.php b/core/l10n/gl.php
index 4cdc39896b5..2642debb288 100644
--- a/core/l10n/gl.php
+++ b/core/l10n/gl.php
@@ -1,23 +1,27 @@
<?php $TRANSLATIONS = array(
+"User %s shared a file with you" => "O usuario %s compartíu un ficheiro con vostede",
+"User %s shared a folder with you" => "O usuario %s compartíu un cartafol con vostede",
+"User %s shared the file \"%s\" with you. It is available for download here: %s" => "O usuario %s compartiu o ficheiro «%s» con vostede. Teno dispoñíbel en: %s",
+"User %s shared the folder \"%s\" with you. It is available for download here: %s" => "O usuario %s compartiu o cartafol «%s» con vostede. Teno dispoñíbel en: %s",
"Category type not provided." => "Non se indicou o tipo de categoría",
"No category to add?" => "Sen categoría que engadir?",
"This category already exists: " => "Esta categoría xa existe: ",
"Object type not provided." => "Non se forneceu o tipo de obxecto.",
-"%s ID not provided." => "Non se deu o ID %s.",
-"Error adding %s to favorites." => "Erro ao engadir %s aos favoritos.",
+"%s ID not provided." => "Non se forneceu o ID %s.",
+"Error adding %s to favorites." => "Produciuse un erro ao engadir %s aos favoritos.",
"No categories selected for deletion." => "Non hai categorías seleccionadas para eliminar.",
-"Error removing %s from favorites." => "Erro ao eliminar %s dos favoritos.",
+"Error removing %s from favorites." => "Produciuse un erro ao eliminar %s dos favoritos.",
"Settings" => "Configuracións",
"seconds ago" => "segundos atrás",
"1 minute ago" => "hai 1 minuto",
-"{minutes} minutes ago" => "{minutes} minutos atrás",
+"{minutes} minutes ago" => "hai {minutes} minutos",
"1 hour ago" => "hai 1 hora",
-"{hours} hours ago" => "{hours} horas atrás",
+"{hours} hours ago" => "hai {hours} horas",
"today" => "hoxe",
"yesterday" => "onte",
-"{days} days ago" => "{days} días atrás",
+"{days} days ago" => "hai {days} días",
"last month" => "último mes",
-"{months} months ago" => "{months} meses atrás",
+"{months} months ago" => "hai {months} meses",
"months ago" => "meses atrás",
"last year" => "último ano",
"years ago" => "anos atrás",
@@ -30,42 +34,46 @@
"Error" => "Erro",
"The app name is not specified." => "Non se especificou o nome do aplicativo.",
"The required file {file} is not installed!" => "Non está instalado o ficheiro {file} que se precisa",
-"Error while sharing" => "Erro compartindo",
-"Error while unsharing" => "Erro ao deixar de compartir",
-"Error while changing permissions" => "Erro ao cambiar os permisos",
-"Shared with you and the group {group} by {owner}" => "Compartido contigo e co grupo {group} de {owner}",
-"Shared with you by {owner}" => "Compartido contigo por {owner}",
+"Error while sharing" => "Produciuse un erro ao compartir",
+"Error while unsharing" => "Produciuse un erro ao deixar de compartir",
+"Error while changing permissions" => "Produciuse un erro ao cambiar os permisos",
+"Shared with you and the group {group} by {owner}" => "Compartido con vostede e co grupo {group} por {owner}",
+"Shared with you by {owner}" => "Compartido con vostede por {owner}",
"Share with" => "Compartir con",
-"Share with link" => "Compartir ca ligazón",
+"Share with link" => "Compartir coa ligazón",
"Password protect" => "Protexido con contrasinais",
"Password" => "Contrasinal",
+"Email link to person" => "Enviar ligazón por correo",
+"Send" => "Enviar",
"Set expiration date" => "Definir a data de caducidade",
"Expiration date" => "Data de caducidade",
-"Share via email:" => "Compartir por correo electrónico:",
+"Share via email:" => "Compartir por correo:",
"No people found" => "Non se atopou xente",
-"Resharing is not allowed" => "Non se acepta volver a compartir",
+"Resharing is not allowed" => "Non se permite volver a compartir",
"Shared in {item} with {user}" => "Compartido en {item} con {user}",
"Unshare" => "Deixar de compartir",
"can edit" => "pode editar",
"access control" => "control de acceso",
"create" => "crear",
"update" => "actualizar",
-"delete" => "borrar",
+"delete" => "eliminar",
"share" => "compartir",
"Password protected" => "Protexido con contrasinal",
-"Error unsetting expiration date" => "Erro ao quitar a data de caducidade",
-"Error setting expiration date" => "Erro ao definir a data de caducidade",
-"ownCloud password reset" => "Restablecer contrasinal de ownCloud",
-"Use the following link to reset your password: {link}" => "Usa a seguinte ligazón para restablecer o contrasinal: {link}",
-"You will receive a link to reset your password via Email." => "Recibirá unha ligazón por correo electrónico para restablecer o contrasinal",
-"Reset email send." => "Restablecer o envío por correo.",
-"Request failed!" => "Fallo na petición",
+"Error unsetting expiration date" => "Produciuse un erro ao retirar a data de caducidade",
+"Error setting expiration date" => "Produciuse un erro ao definir a data de caducidade",
+"Sending ..." => "Enviando...",
+"Email sent" => "Correo enviado",
+"ownCloud password reset" => "Restabelecer o contrasinal de ownCloud",
+"Use the following link to reset your password: {link}" => "Usa a seguinte ligazón para restabelecer o contrasinal: {link}",
+"You will receive a link to reset your password via Email." => "Recibirá unha ligazón por correo para restabelecer o contrasinal",
+"Reset email send." => "Restabelecer o envío por correo.",
+"Request failed!" => "Non foi posíbel facer a petición",
"Username" => "Nome de usuario",
-"Request reset" => "Petición de restablecemento",
-"Your password was reset" => "O contrasinal foi restablecido",
+"Request reset" => "Petición de restabelecemento",
+"Your password was reset" => "O contrasinal foi restabelecido",
"To login page" => "A páxina de conexión",
"New password" => "Novo contrasinal",
-"Reset password" => "Restablecer contrasinal",
+"Reset password" => "Restabelecer o contrasinal",
"Personal" => "Persoal",
"Users" => "Usuarios",
"Apps" => "Aplicativos",
@@ -75,15 +83,15 @@
"Cloud not found" => "Nube non atopada",
"Edit categories" => "Editar categorías",
"Add" => "Engadir",
-"Security Warning" => "Aviso de seguridade",
-"No secure random number generator is available, please enable the PHP OpenSSL extension." => "Non hai un xerador de números aleatorios dispoñíbel. Activa o engadido de OpenSSL para PHP.",
-"Without a secure random number generator an attacker may be able to predict password reset tokens and take over your account." => "Sen un xerador de números aleatorios seguro podería acontecer que predicindo as cadeas de texto de reinicio de contrasinais se afagan coa túa conta.",
-"Your data directory and your files are probably accessible from the internet. The .htaccess file that ownCloud provides 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." => "O teu cartafol de datos e os teus ficheiros son seguramente accesibles a través de internet. O ficheiro .htaccess que ownCloud fornece non está empregándose. Suxírese que configures o teu servidor web de tal maneira que o cartafol de datos non estea accesíbel ou movas o cartafol de datos fóra do root do directorio de datos do servidor web.",
+"Security Warning" => "Aviso de seguranza",
+"No secure random number generator is available, please enable the PHP OpenSSL extension." => "Non hai un xerador de números ao chou dispoñíbel. Active o engadido de OpenSSL para PHP.",
+"Without a secure random number generator an attacker may be able to predict password reset tokens and take over your account." => "Sen un xerador seguro de números ao chou podería acontecer que predicindo as cadeas de texto de reinicio de contrasinais se afagan coa súa conta.",
+"Your data directory and your files are probably accessible from the internet. The .htaccess file that ownCloud provides 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." => "O seu cartafol de datos e os seus ficheiros probabelmente sexan accesíbeis a través da Internet. O ficheiro .htaccess que fornece ownCloud non está a empregarse. Suxerimoslle que configure o seu servidor web de tal xeito que o cartafol de datos non estea accesíbel ou mova o cartafol de datos fora do directorio raíz de datos do servidor web.",
"Create an <strong>admin account</strong>" => "Crear unha <strong>contra de administrador</strong>",
"Advanced" => "Avanzado",
"Data folder" => "Cartafol de datos",
"Configure the database" => "Configurar a base de datos",
-"will be used" => "será utilizado",
+"will be used" => "vai ser utilizado",
"Database user" => "Usuario da base de datos",
"Database password" => "Contrasinal da base de datos",
"Database name" => "Nome da base de datos",
@@ -97,30 +105,27 @@
"Thursday" => "Xoves",
"Friday" => "Venres",
"Saturday" => "Sábado",
-"January" => "Xaneiro",
-"February" => "Febreiro",
-"March" => "Marzo",
-"April" => "Abril",
-"May" => "Maio",
-"June" => "Xuño",
-"July" => "Xullo",
-"August" => "Agosto",
-"September" => "Setembro",
-"October" => "Outubro",
-"November" => "Novembro",
-"December" => "Decembro",
+"January" => "xaneiro",
+"February" => "febreiro",
+"March" => "marzo",
+"April" => "abril",
+"May" => "maio",
+"June" => "xuño",
+"July" => "xullo",
+"August" => "agosto",
+"September" => "setembro",
+"October" => "outubro",
+"November" => "novembro",
+"December" => "decembro",
"web services under your control" => "servizos web baixo o seu control",
"Log out" => "Desconectar",
"Automatic logon rejected!" => "Rexeitouse a entrada automática",
-"If you did not change your password recently, your account may be compromised!" => "Se non fixeches cambios de contrasinal recentemente é posíbel que a túa conta estea comprometida!",
-"Please change your password to secure your account again." => "Cambia de novo o teu contrasinal para asegurar a túa conta.",
+"If you did not change your password recently, your account may be compromised!" => "Se non fixo recentemente cambios de contrasinal é posíbel que a súa conta estea comprometida!",
+"Please change your password to secure your account again." => "Cambie de novo o seu contrasinal para asegurar a súa conta.",
"Lost your password?" => "Perdeu o contrasinal?",
"remember" => "lembrar",
"Log in" => "Conectar",
-"You are logged out." => "Está desconectado",
"prev" => "anterior",
"next" => "seguinte",
-"Security Warning!" => "Advertencia de seguranza",
-"Please verify your password. <br/>For security reasons you may be occasionally asked to enter your password again." => "Verifica o teu contrasinal.<br/>Por motivos de seguridade pode que ocasionalmente se che pregunte de novo polo teu contrasinal.",
-"Verify" => "Verificar"
+"Updating ownCloud to version %s, this may take a while." => "Actualizando ownCloud a versión %s, esto pode levar un anaco."
);
diff --git a/core/l10n/he.php b/core/l10n/he.php
index 50addbd5278..59eb3ae14d4 100644
--- a/core/l10n/he.php
+++ b/core/l10n/he.php
@@ -125,10 +125,7 @@
"Lost your password?" => "שכחת ×ת ססמתך?",
"remember" => "שמירת הססמה",
"Log in" => "כניסה",
-"You are logged out." => "×œ× ×”×ª×—×‘×¨×ª.",
"prev" => "הקוד×",
"next" => "הב×",
-"Security Warning!" => "×זהרת ×בטחה!",
-"Please verify your password. <br/>For security reasons you may be occasionally asked to enter your password again." => "× × ×œ×מת ×ת הססמה שלך. <br/>מטעמי ×בטחה יתכן שתופיע בקשה להזין ×ת הססמה שוב.",
-"Verify" => "×ימות"
+"Updating ownCloud to version %s, this may take a while." => "מעדכן ×ת ownCloud ×ל ×’×¨×¡× %s, ×–×” עלול לקחת זמן מה."
);
diff --git a/core/l10n/hi.php b/core/l10n/hi.php
index 0e4f18c6cd8..d7f9fd150b0 100644
--- a/core/l10n/hi.php
+++ b/core/l10n/hi.php
@@ -12,7 +12,6 @@
"Database user" => "डेटाबेस उपयोगकरà¥à¤¤à¤¾",
"Database password" => "डेटाबेस पासवरà¥à¤¡",
"Finish setup" => "सेटअप समापà¥à¤¤ करे",
-"You are logged out." => "आप लोग आउट कर दिठगठहैं.",
"prev" => "पिछला",
"next" => "अगला"
);
diff --git a/core/l10n/hr.php b/core/l10n/hr.php
index 69bdd3a4f83..43dbbe51ae0 100644
--- a/core/l10n/hr.php
+++ b/core/l10n/hr.php
@@ -91,7 +91,6 @@
"Lost your password?" => "Izgubili ste lozinku?",
"remember" => "zapamtiti",
"Log in" => "Prijava",
-"You are logged out." => "Odjavljeni ste.",
"prev" => "prethodan",
"next" => "sljedeći"
);
diff --git a/core/l10n/hu_HU.php b/core/l10n/hu_HU.php
index d1bfb303e6f..e03c6af27f5 100644
--- a/core/l10n/hu_HU.php
+++ b/core/l10n/hu_HU.php
@@ -1,27 +1,92 @@
<?php $TRANSLATIONS = array(
+"User %s shared a file with you" => "%s felhasználó megosztott Önnel egy fájlt",
+"User %s shared a folder with you" => "%s felhasználó megosztott Önnel egy mappát",
+"User %s shared the file \"%s\" with you. It is available for download here: %s" => "%s felhasználó megosztotta ezt az állományt Önnel: %s. A fájl innen tölthető le: %s",
+"User %s shared the folder \"%s\" with you. It is available for download here: %s" => "%s felhasználó megosztotta ezt a mappát Önnel: %s. A mappa innen tölthető le: %s",
+"Category type not provided." => "Nincs megadva a kategória típusa.",
"No category to add?" => "Nincs hozzáadandó kategória?",
-"This category already exists: " => "Ez a kategória már létezik",
+"This category already exists: " => "Ez a kategória már létezik: ",
+"Object type not provided." => "Az objektum típusa nincs megadva.",
+"%s ID not provided." => "%s ID nincs megadva.",
+"Error adding %s to favorites." => "Nem sikerült a kedvencekhez adni ezt: %s",
"No categories selected for deletion." => "Nincs törlésre jelölt kategória",
+"Error removing %s from favorites." => "Nem sikerült a kedvencekből törölni ezt: %s",
+"Sunday" => "vasárnap",
+"Monday" => "hétfő",
+"Tuesday" => "kedd",
+"Wednesday" => "szerda",
+"Thursday" => "csütörtök",
+"Friday" => "péntek",
+"Saturday" => "szombat",
+"January" => "január",
+"February" => "február",
+"March" => "március",
+"April" => "április",
+"May" => "május",
+"June" => "június",
+"July" => "július",
+"August" => "augusztus",
+"September" => "szeptember",
+"October" => "október",
+"November" => "november",
+"December" => "december",
"Settings" => "Beállítások",
-"seconds ago" => "másodperccel ezelőtt",
-"1 minute ago" => "1 perccel ezelőtt",
+"seconds ago" => "pár másodperce",
+"1 minute ago" => "1 perce",
+"{minutes} minutes ago" => "{minutes} perce",
+"1 hour ago" => "1 órája",
+"{hours} hours ago" => "{hours} órája",
"today" => "ma",
"yesterday" => "tegnap",
+"{days} days ago" => "{days} napja",
"last month" => "múlt hónapban",
-"months ago" => "hónappal ezelőtt",
+"{months} months ago" => "{months} hónapja",
+"months ago" => "több hónapja",
"last year" => "tavaly",
-"years ago" => "évvel ezelőtt",
+"years ago" => "több éve",
+"Choose" => "Válasszon",
"Cancel" => "Mégse",
"No" => "Nem",
"Yes" => "Igen",
"Ok" => "Ok",
+"The object type is not specified." => "Az objektum típusa nincs megadva.",
"Error" => "Hiba",
+"The app name is not specified." => "Az alkalmazás neve nincs megadva.",
+"The required file {file} is not installed!" => "A szükséges fájl: {file} nincs telepítve!",
+"Error while sharing" => "Nem sikerült létrehozni a megosztást",
+"Error while unsharing" => "Nem sikerült visszavonni a megosztást",
+"Error while changing permissions" => "Nem sikerült módosítani a jogosultságokat",
+"Shared with you and the group {group} by {owner}" => "Megosztotta Önnel és a(z) {group} csoporttal: {owner}",
+"Shared with you by {owner}" => "Megosztotta Önnel: {owner}",
+"Share with" => "Kivel osztom meg",
+"Share with link" => "Link megadásával osztom meg",
+"Password protect" => "Jelszóval is védem",
"Password" => "Jelszó",
-"Unshare" => "Nem oszt meg",
-"create" => "létrehozás",
+"Email link to person" => "Email címre küldjük el",
+"Send" => "Küldjük el",
+"Set expiration date" => "Legyen lejárati idő",
+"Expiration date" => "A lejárati idő",
+"Share via email:" => "Megosztás emaillel:",
+"No people found" => "Nincs találat",
+"Resharing is not allowed" => "Ezt az állományt csak a tulajdonosa oszthatja meg másokkal",
+"Shared in {item} with {user}" => "Megosztva {item}-ben {user}-rel",
+"Unshare" => "A megosztás visszavonása",
+"can edit" => "módosíthat",
+"access control" => "jogosultság",
+"create" => "létrehoz",
+"update" => "szerkeszt",
+"delete" => "töröl",
+"share" => "megoszt",
+"Password protected" => "Jelszóval van védve",
+"Error unsetting expiration date" => "Nem sikerült a lejárati időt törölni",
+"Error setting expiration date" => "Nem sikerült a lejárati időt beállítani",
+"Sending ..." => "Küldés ...",
+"Email sent" => "Az emailt elküldtük",
"ownCloud password reset" => "ownCloud jelszó-visszaállítás",
-"Use the following link to reset your password: {link}" => "Használja az alábbi linket a jelszó-visszaállításhoz: {link}",
-"You will receive a link to reset your password via Email." => "Egy e-mailben kap értesítést a jelszóváltoztatás módjáról.",
+"Use the following link to reset your password: {link}" => "Használja ezt a linket a jelszó ismételt beállításához: {link}",
+"You will receive a link to reset your password via Email." => "Egy emailben fog értesítést kapni a jelszóbeállítás módjáról.",
+"Reset email send." => "Elküldtük az emailt a jelszó ismételt beállításához.",
+"Request failed!" => "Nem sikerült a kérést teljesíteni!",
"Username" => "Felhasználónév",
"Request reset" => "Visszaállítás igénylése",
"Your password was reset" => "Jelszó megváltoztatva",
@@ -31,48 +96,36 @@
"Personal" => "Személyes",
"Users" => "Felhasználók",
"Apps" => "Alkalmazások",
-"Admin" => "Admin",
+"Admin" => "Adminisztráció",
"Help" => "Súgó",
-"Access forbidden" => "Hozzáférés tiltva",
+"Access forbidden" => "A hozzáférés nem engedélyezett",
"Cloud not found" => "A felhő nem található",
"Edit categories" => "Kategóriák szerkesztése",
"Add" => "Hozzáadás",
"Security Warning" => "Biztonsági figyelmeztetés",
-"Create an <strong>admin account</strong>" => "<strong>Rendszergazdafiók</strong> létrehozása",
+"No secure random number generator is available, please enable the PHP OpenSSL extension." => "Nem érhető el megfelelő véletlenszám-generátor, telepíteni kellene a PHP OpenSSL kiegészítését.",
+"Without a secure random number generator an attacker may be able to predict password reset tokens and take over your account." => "Megfelelő véletlenszám-generátor hiányában egy támadó szándékú idegen képes lehet megjósolni a jelszóvisszaállító tokent, és Ön helyett belépni.",
+"Your data directory and your files are probably accessible from the internet. The .htaccess file that ownCloud provides 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." => "Az adatkönytára és az itt levő fájlok valószínűleg elérhetők az internetről. Az ownCloud által beillesztett .htaccess fájl nem működik. Nagyon fontos, hogy a webszervert úgy konfigurálja, hogy az adatkönyvtár nem legyen közvetlenül kívülről elérhető, vagy az adatkönyvtárt tegye a webszerver dokumentumfáján kívülre.",
+"Create an <strong>admin account</strong>" => "<strong>Rendszergazdai belépés</strong> létrehozása",
"Advanced" => "Haladó",
"Data folder" => "Adatkönyvtár",
"Configure the database" => "Adatbázis konfigurálása",
-"will be used" => "használva lesz",
+"will be used" => "adatbázist fogunk használni",
"Database user" => "Adatbázis felhasználónév",
"Database password" => "Adatbázis jelszó",
-"Database name" => "Adatbázis név",
+"Database name" => "Az adatbázis neve",
+"Database tablespace" => "Az adatbázis táblázattér (tablespace)",
"Database host" => "Adatbázis szerver",
-"Finish setup" => "Beállítás befejezése",
-"Sunday" => "Vasárnap",
-"Monday" => "Hétfő",
-"Tuesday" => "Kedd",
-"Wednesday" => "Szerda",
-"Thursday" => "Csütörtök",
-"Friday" => "Péntek",
-"Saturday" => "Szombat",
-"January" => "Január",
-"February" => "Február",
-"March" => "Március",
-"April" => "Ãprilis",
-"May" => "Május",
-"June" => "Június",
-"July" => "Július",
-"August" => "Augusztus",
-"September" => "Szeptember",
-"October" => "Október",
-"November" => "November",
-"December" => "December",
-"web services under your control" => "webszolgáltatások az irányításod alatt",
+"Finish setup" => "A beállítások befejezése",
+"web services under your control" => "webszolgáltatások saját kézben",
"Log out" => "Kilépés",
-"Lost your password?" => "Elfelejtett jelszó?",
+"Automatic logon rejected!" => "Az automatikus bejelentkezés sikertelen!",
+"If you did not change your password recently, your account may be compromised!" => "Ha mostanában nem módosította a jelszavát, akkor lehetséges, hogy idegenek jutottak be a rendszerbe az Ön nevében!",
+"Please change your password to secure your account again." => "A biztonsága érdekében változtassa meg a jelszavát!",
+"Lost your password?" => "Elfelejtette a jelszavát?",
"remember" => "emlékezzen",
"Log in" => "Bejelentkezés",
-"You are logged out." => "Kilépett.",
-"prev" => "Előző",
-"next" => "Következő"
+"prev" => "előző",
+"next" => "következő",
+"Updating ownCloud to version %s, this may take a while." => "Owncloud frissítés a %s verzióra folyamatban. Kis türelmet."
);
diff --git a/core/l10n/ia.php b/core/l10n/ia.php
index 07cc118f0e6..d614f8381af 100644
--- a/core/l10n/ia.php
+++ b/core/l10n/ia.php
@@ -52,7 +52,6 @@
"Lost your password?" => "Tu perdeva le contrasigno?",
"remember" => "memora",
"Log in" => "Aperir session",
-"You are logged out." => "Tu session ha essite claudite.",
"prev" => "prev",
"next" => "prox"
);
diff --git a/core/l10n/id.php b/core/l10n/id.php
index 99df16332f5..ee5fad95217 100644
--- a/core/l10n/id.php
+++ b/core/l10n/id.php
@@ -100,10 +100,6 @@
"Lost your password?" => "Lupa password anda?",
"remember" => "selalu login",
"Log in" => "Masuk",
-"You are logged out." => "Anda telah keluar.",
"prev" => "sebelum",
-"next" => "selanjutnya",
-"Security Warning!" => "peringatan keamanan!",
-"Please verify your password. <br/>For security reasons you may be occasionally asked to enter your password again." => "mohon periksa kembali kata kunci anda. <br/>untuk alasan keamanan,anda akan sesekali diminta untuk memasukan kata kunci lagi.",
-"Verify" => "periksa kembali"
+"next" => "selanjutnya"
);
diff --git a/core/l10n/is.php b/core/l10n/is.php
index 23117cddf8b..e810eb359fd 100644
--- a/core/l10n/is.php
+++ b/core/l10n/is.php
@@ -1,24 +1,110 @@
<?php $TRANSLATIONS = array(
+"User %s shared a file with you" => "Notandinn %s deildi skrá með þér",
+"User %s shared a folder with you" => "Notandinn %s deildi möppu með þér",
+"User %s shared the file \"%s\" with you. It is available for download here: %s" => "Notandinn %s deildi skránni \"%s\" með þér. Hægt er að hlaða henni niður hér: %s",
+"User %s shared the folder \"%s\" with you. It is available for download here: %s" => "Notandinn %s deildi möppunni \"%s\" með þér. Hægt er að hlaða henni niður hér: %s",
"Category type not provided." => "Flokkur ekki gefin",
+"No category to add?" => "Enginn flokkur til að bæta við?",
+"This category already exists: " => "Þessi flokkur er þegar til:",
+"Object type not provided." => "Tegund ekki í boði.",
+"%s ID not provided." => "%s ID ekki í boði.",
+"Error adding %s to favorites." => "Villa við að bæta %s við eftirlæti.",
+"No categories selected for deletion." => "Enginn flokkur valinn til eyðingar.",
+"Error removing %s from favorites." => "Villa við að fjarlægja %s úr eftirlæti.",
+"Settings" => "Stillingar",
"seconds ago" => "sek síðan",
"1 minute ago" => "1 min síðan",
"{minutes} minutes ago" => "{minutes} min síðan",
+"1 hour ago" => "Fyrir 1 klst.",
+"{hours} hours ago" => "fyrir {hours} klst.",
"today" => "í dag",
"yesterday" => "í gær",
"{days} days ago" => "{days} dagar síðan",
"last month" => "síðasta mánuði",
+"{months} months ago" => "fyrir {months} mánuðum",
"months ago" => "mánuðir síðan",
"last year" => "síðasta ári",
"years ago" => "árum síðan",
+"Choose" => "Veldu",
+"Cancel" => "Hætta við",
+"No" => "Nei",
+"Yes" => "Já",
+"Ok" => "Ã lagi",
+"The object type is not specified." => "Tegund ekki tilgreind",
+"Error" => "Villa",
+"The app name is not specified." => "Nafn forrits ekki tilgreint",
+"The required file {file} is not installed!" => "Umbeðina skráin {file} ekki tiltæk!",
+"Error while sharing" => "Villa við deilingu",
+"Error while unsharing" => "Villa við að hætta deilingu",
+"Error while changing permissions" => "Villa við að breyta aðgangsheimildum",
+"Shared with you and the group {group} by {owner}" => "Deilt með þér og hópnum {group} af {owner}",
+"Shared with you by {owner}" => "Deilt með þér af {owner}",
+"Share with" => "Deila með",
+"Share with link" => "Deila með veftengli",
+"Password protect" => "Verja með lykilorði",
"Password" => "Lykilorð",
+"Email link to person" => "Senda vefhlekk í tölvupóstu til notenda",
+"Send" => "Senda",
+"Set expiration date" => "Setja gildistíma",
+"Expiration date" => "Gildir til",
+"Share via email:" => "Deila með tölvupósti:",
+"No people found" => "Engir notendur fundust",
+"Resharing is not allowed" => "Endurdeiling er ekki leyfð",
+"Shared in {item} with {user}" => "Deilt með {item} ásamt {user}",
+"Unshare" => "Hætta deilingu",
+"can edit" => "getur breytt",
+"access control" => "aðgangsstýring",
+"create" => "mynda",
+"update" => "uppfæra",
+"delete" => "eyða",
+"share" => "deila",
+"Password protected" => "Verja með lykilorði",
+"Error unsetting expiration date" => "Villa við að aftengja gildistíma",
+"Error setting expiration date" => "Villa við að setja gildistíma",
+"Sending ..." => "Sendi ...",
+"Email sent" => "Tölvupóstur sendur",
+"ownCloud password reset" => "endursetja ownCloud lykilorð",
+"Use the following link to reset your password: {link}" => "Notað eftirfarandi veftengil til að endursetja lykilorðið þitt: {link}",
+"You will receive a link to reset your password via Email." => "Þú munt fá veftengil í tölvupósti til að endursetja lykilorðið.",
+"Reset email send." => "Beiðni um endursetningu send.",
+"Request failed!" => "Beiðni mistókst!",
"Username" => "Notendanafn",
+"Request reset" => "Endursetja lykilorð",
+"Your password was reset" => "Lykilorðið þitt hefur verið endursett.",
+"To login page" => "Fara á innskráningarsíðu",
+"New password" => "Nýtt lykilorð",
+"Reset password" => "Endursetja lykilorð",
"Personal" => "Persónustillingar",
+"Users" => "Notendur",
+"Apps" => "Forrit",
"Admin" => "Vefstjórn",
-"Help" => "Help",
-"Cloud not found" => "Skýið finnst eigi",
+"Help" => "Hjálp",
+"Access forbidden" => "Aðgangur bannaður",
+"Cloud not found" => "Ský finnst ekki",
"Edit categories" => "Breyta flokkum",
"Add" => "Bæta",
+"Security Warning" => "Öryggis aðvörun",
+"No secure random number generator is available, please enable the PHP OpenSSL extension." => "Enginn traustur slembitölugjafi í boði, vinsamlegast virkjaðu PHP OpenSSL viðbótina.",
+"Without a secure random number generator an attacker may be able to predict password reset tokens and take over your account." => "Ãn öruggs slembitölugjafa er mögulegt að sjá fyrir öryggis auðkenni til að endursetja lykilorð og komast inn á aðganginn þinn.",
+"Your data directory and your files are probably accessible from the internet. The .htaccess file that ownCloud provides 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." => "Gagnamappan þín er að öllum líkindum aðgengileg frá internetinu. Skráin .htaccess sem fylgir með ownCloud er ekki að virka. Við mælum eindregið með því að þú stillir vefþjóninn þannig að gagnamappan verði ekki aðgengileg frá internetinu eða færir hana út fyrir vefrótina.",
"Create an <strong>admin account</strong>" => "Útbúa <strong>vefstjóra aðgang</strong>",
+"Advanced" => "Ãtarlegt",
+"Data folder" => "Gagnamappa",
+"Configure the database" => "Stilla gagnagrunn",
+"will be used" => "verður notað",
+"Database user" => "Gagnagrunns notandi",
+"Database password" => "Gagnagrunns lykilorð",
+"Database name" => "Nafn gagnagrunns",
+"Database tablespace" => "Töflusvæði gagnagrunns",
+"Database host" => "Netþjónn gagnagrunns",
+"Finish setup" => "Virkja uppsetningu",
+"Sunday" => "Sunnudagur",
+"Monday" => "Mánudagur",
+"Tuesday" => "Þriðjudagur",
+"Wednesday" => "Miðvikudagur",
+"Thursday" => "Fimmtudagur",
+"Friday" => "Föstudagur",
+"Saturday" => "Laugardagur",
"January" => "Janúar",
"February" => "Febrúar",
"March" => "Mars",
@@ -29,8 +115,17 @@
"August" => "Ãgúst",
"September" => "September",
"October" => "Október",
+"November" => "Nóvember",
+"December" => "Desember",
+"web services under your control" => "vefþjónusta undir þinni stjórn",
"Log out" => "Útskrá",
-"You are logged out." => "Þú ert útskráð(ur).",
+"Automatic logon rejected!" => "Sjálfvirkri innskráningu hafnað!",
+"If you did not change your password recently, your account may be compromised!" => "Ef þú breyttir ekki lykilorðinu þínu fyrir skömmu, er mögulegt að einhver annar hafi komist inn á aðganginn þinn.",
+"Please change your password to secure your account again." => "Vinsamlegast breyttu lykilorðinu þínu til að tryggja öryggi þitt.",
+"Lost your password?" => "Týndir þú lykilorðinu?",
+"remember" => "muna eftir mér",
+"Log in" => "<strong>Skrá inn</strong>",
"prev" => "fyrra",
-"next" => "næsta"
+"next" => "næsta",
+"Updating ownCloud to version %s, this may take a while." => "Uppfæri ownCloud í útgáfu %s, það gæti tekið smá stund."
);
diff --git a/core/l10n/it.php b/core/l10n/it.php
index e97deb9fb5f..89b6a7952a9 100644
--- a/core/l10n/it.php
+++ b/core/l10n/it.php
@@ -125,10 +125,7 @@
"Lost your password?" => "Hai perso la password?",
"remember" => "ricorda",
"Log in" => "Accedi",
-"You are logged out." => "Sei uscito.",
"prev" => "precedente",
"next" => "successivo",
-"Security Warning!" => "Avviso di sicurezza",
-"Please verify your password. <br/>For security reasons you may be occasionally asked to enter your password again." => "Verifica la tua password.<br/>Per motivi di sicurezza, potresti ricevere una richiesta di digitare nuovamente la password.",
-"Verify" => "Verifica"
+"Updating ownCloud to version %s, this may take a while." => "Aggiornamento di ownCloud alla versione %s in corso, potrebbe richiedere del tempo."
);
diff --git a/core/l10n/ja_JP.php b/core/l10n/ja_JP.php
index 72615d36f62..7d4baf94583 100644
--- a/core/l10n/ja_JP.php
+++ b/core/l10n/ja_JP.php
@@ -125,10 +125,7 @@
"Lost your password?" => "パスワードを忘れã¾ã—ãŸã‹ï¼Ÿ",
"remember" => "パスワードを記憶ã™ã‚‹",
"Log in" => "ログイン",
-"You are logged out." => "ログアウトã—ã¾ã—ãŸã€‚",
"prev" => "å‰",
"next" => "次",
-"Security Warning!" => "セキュリティ警告ï¼",
-"Please verify your password. <br/>For security reasons you may be occasionally asked to enter your password again." => "パスワードã®ç¢ºèª<br/>セキュリティ上ã®ç†ç”±ã«ã‚ˆã‚Šãƒ‘スワードã®å†å…¥åŠ›ã‚’ãŠé¡˜ã„ã—ã¾ã™ã€‚",
-"Verify" => "確èª"
+"Updating ownCloud to version %s, this may take a while." => "ownCloud ã‚’ãƒãƒ¼ã‚¸ãƒ§ãƒ³ %s ã«æ›´æ–°ã—ã¦ã„ã¾ã™ã€ã—ã°ã‚‰ããŠå¾…ã¡ä¸‹ã•ã„。"
);
diff --git a/core/l10n/ka_GE.php b/core/l10n/ka_GE.php
index efb3998a77e..aafdacab4c6 100644
--- a/core/l10n/ka_GE.php
+++ b/core/l10n/ka_GE.php
@@ -98,9 +98,6 @@
"Lost your password?" => "დáƒáƒ’áƒáƒ•იწყდáƒáƒ— პáƒáƒ áƒáƒšáƒ˜?",
"remember" => "დáƒáƒ›áƒáƒ®áƒ¡áƒáƒ•რებáƒ",
"Log in" => "შესვლáƒ",
-"You are logged out." => "თქვენ გáƒáƒ›áƒáƒ®áƒ•ედით სისტემიდáƒáƒœ",
"prev" => "წინáƒ",
-"next" => "შემდეგი",
-"Security Warning!" => "უსáƒáƒ¤áƒ áƒ—ხáƒáƒ”ბის გáƒáƒ¤áƒ áƒ—ხილებáƒ!",
-"Verify" => "შემáƒáƒ¬áƒ›áƒ”ბáƒ"
+"next" => "შემდეგი"
);
diff --git a/core/l10n/ko.php b/core/l10n/ko.php
index 3846dff796b..3db5a501173 100644
--- a/core/l10n/ko.php
+++ b/core/l10n/ko.php
@@ -1,4 +1,8 @@
<?php $TRANSLATIONS = array(
+"User %s shared a file with you" => "User %s ê°€ 당신과 파ì¼ì„ 공유하였습니다.",
+"User %s shared a folder with you" => "User %s ê°€ 당신과 í´ë”를 공유하였습니다.",
+"User %s shared the file \"%s\" with you. It is available for download here: %s" => "User %s ê°€ íŒŒì¼ \"%s\"를 당신과 공유하였습니다. 다운로드는 여기서 %s í•  수 있습니다.",
+"User %s shared the folder \"%s\" with you. It is available for download here: %s" => "User %s ê°€ í´ë” \"%s\"를 당신과 공유하였습니다. 다운로드는 여기서 %s í•  수 있습니다.",
"Category type not provided." => "분류 형ì‹ì´ 제공ë˜ì§€ 않았습니다.",
"No category to add?" => "추가할 분류가 없습니까?",
"This category already exists: " => "ì´ ë¶„ë¥˜ëŠ” ì´ë¯¸ 존재합니다:",
@@ -39,6 +43,8 @@
"Share with link" => "URL ë§í¬ë¡œ 공유",
"Password protect" => "암호 보호",
"Password" => "암호",
+"Email link to person" => "ì´ë©”ì¼ ì£¼ì†Œ",
+"Send" => "전송",
"Set expiration date" => "만료 날짜 설정",
"Expiration date" => "만료 날짜",
"Share via email:" => "ì´ë©”ì¼ë¡œ 공유:",
@@ -55,6 +61,8 @@
"Password protected" => "암호로 보호ë¨",
"Error unsetting expiration date" => "만료 날짜 해제 오류",
"Error setting expiration date" => "만료 날짜 설정 오류",
+"Sending ..." => "전송 중...",
+"Email sent" => "ì´ë©”ì¼ ë°œì†¡ë¨",
"ownCloud password reset" => "ownCloud 암호 재설정",
"Use the following link to reset your password: {link}" => "ë‹¤ìŒ ë§í¬ë¥¼ 사용하여 암호를 재설정할 수 있습니다: {link}",
"You will receive a link to reset your password via Email." => "ì´ë©”ì¼ë¡œ 암호 재설정 ë§í¬ë¥¼ 보냈습니다.",
@@ -117,10 +125,7 @@
"Lost your password?" => "암호를 잊으셨습니까?",
"remember" => "기억하기",
"Log in" => "로그ì¸",
-"You are logged out." => "로그아웃ë˜ì—ˆìŠµë‹ˆë‹¤.",
"prev" => "ì´ì „",
"next" => "다ìŒ",
-"Security Warning!" => "보안 경고!",
-"Please verify your password. <br/>For security reasons you may be occasionally asked to enter your password again." => "암호를 확ì¸í•´ 주십시오.<br/>보안ìƒì˜ ì´ìœ ë¡œ 종종 암호를 물어볼 것입니다.",
-"Verify" => "확ì¸"
+"Updating ownCloud to version %s, this may take a while." => "ownCloud 를 버젼 %s로 ì—…ë°ì´íЏ 하는 중, ì‹œê°„ì´ ì†Œìš”ë©ë‹ˆë‹¤."
);
diff --git a/core/l10n/lb.php b/core/l10n/lb.php
index 7a1c462ffd1..407b8093a27 100644
--- a/core/l10n/lb.php
+++ b/core/l10n/lb.php
@@ -64,7 +64,6 @@
"Lost your password?" => "Passwuert vergiess?",
"remember" => "verhalen",
"Log in" => "Log dech an",
-"You are logged out." => "Du bass ausgeloggt.",
"prev" => "zeréck",
"next" => "weider"
);
diff --git a/core/l10n/lt_LT.php b/core/l10n/lt_LT.php
index 9c5c8f90c5e..ec15c646191 100644
--- a/core/l10n/lt_LT.php
+++ b/core/l10n/lt_LT.php
@@ -104,10 +104,6 @@
"Lost your password?" => "Pamiršote slaptažodį?",
"remember" => "prisiminti",
"Log in" => "Prisijungti",
-"You are logged out." => "Jūs atsijungėte.",
"prev" => "atgal",
-"next" => "kitas",
-"Security Warning!" => "Saugumo pranešimas!",
-"Please verify your password. <br/>For security reasons you may be occasionally asked to enter your password again." => "Prašome patvirtinti savo vartotoją.<br/>Dėl saugumo, slaptažodžio patvirtinimas bus reikalaujamas įvesti kas kiek laiko.",
-"Verify" => "Patvirtinti"
+"next" => "kitas"
);
diff --git a/core/l10n/lv.php b/core/l10n/lv.php
index 5543c7a56d6..8a6dc033de6 100644
--- a/core/l10n/lv.php
+++ b/core/l10n/lv.php
@@ -30,7 +30,6 @@
"Lost your password?" => "AizmirsÄt paroli?",
"remember" => "atcerēties",
"Log in" => "Ielogoties",
-"You are logged out." => "Jūs esat veiksmīgi izlogojies.",
"prev" => "iepriekšējÄ",
"next" => "nÄkamÄ"
);
diff --git a/core/l10n/mk.php b/core/l10n/mk.php
index 401baf6efa0..d8fa16d44f3 100644
--- a/core/l10n/mk.php
+++ b/core/l10n/mk.php
@@ -125,10 +125,6 @@
"Lost your password?" => "Ја заборавивте лозинката?",
"remember" => "запамти",
"Log in" => "Ðајава",
-"You are logged out." => "Одјавени Ñте.",
"prev" => "претходно",
-"next" => "Ñледно",
-"Security Warning!" => "БезбедноÑно предупредување.",
-"Please verify your password. <br/>For security reasons you may be occasionally asked to enter your password again." => "Ве молам потврдете ја вашата лозинка. <br />Од безбедноÑни причини од време на време може да биде побарано да ја внеÑете вашата лозинка повторно.",
-"Verify" => "Потврди"
+"next" => "Ñледно"
);
diff --git a/core/l10n/ms_MY.php b/core/l10n/ms_MY.php
index 56a79572ef7..b08ccecf616 100644
--- a/core/l10n/ms_MY.php
+++ b/core/l10n/ms_MY.php
@@ -62,7 +62,6 @@
"Lost your password?" => "Hilang kata laluan?",
"remember" => "ingat",
"Log in" => "Log masuk",
-"You are logged out." => "Anda telah log keluar.",
"prev" => "sebelum",
"next" => "seterus"
);
diff --git a/core/l10n/nb_NO.php b/core/l10n/nb_NO.php
index 7382a1e8398..d985e454b7c 100644
--- a/core/l10n/nb_NO.php
+++ b/core/l10n/nb_NO.php
@@ -6,10 +6,13 @@
"seconds ago" => "sekunder siden",
"1 minute ago" => "1 minutt siden",
"{minutes} minutes ago" => "{minutes} minutter siden",
+"1 hour ago" => "1 time siden",
+"{hours} hours ago" => "{hours} timer siden",
"today" => "i dag",
"yesterday" => "i går",
"{days} days ago" => "{days} dager siden",
"last month" => "forrige måned",
+"{months} months ago" => "{months} måneder siden",
"months ago" => "måneder siden",
"last year" => "forrige år",
"years ago" => "Ã¥r siden",
@@ -24,6 +27,7 @@
"Share with link" => "Del med link",
"Password protect" => "Passordbeskyttet",
"Password" => "Passord",
+"Send" => "Send",
"Set expiration date" => "Set utløpsdato",
"Expiration date" => "Utløpsdato",
"Share via email:" => "Del på epost",
@@ -37,6 +41,8 @@
"share" => "del",
"Password protected" => "Passordbeskyttet",
"Error setting expiration date" => "Kan ikke sette utløpsdato",
+"Sending ..." => "Sender...",
+"Email sent" => "E-post sendt",
"ownCloud password reset" => "Tilbakestill ownCloud passord",
"Use the following link to reset your password: {link}" => "Bruk følgende lenke for å tilbakestille passordet ditt: {link}",
"You will receive a link to reset your password via Email." => "Du burde motta detaljer om å tilbakestille passordet ditt via epost.",
@@ -94,9 +100,6 @@
"Lost your password?" => "Mistet passordet ditt?",
"remember" => "husk",
"Log in" => "Logg inn",
-"You are logged out." => "Du er logget ut",
"prev" => "forrige",
-"next" => "neste",
-"Security Warning!" => "Sikkerhetsadvarsel!",
-"Verify" => "Verifiser"
+"next" => "neste"
);
diff --git a/core/l10n/nl.php b/core/l10n/nl.php
index c3f5c887658..739d8181d6f 100644
--- a/core/l10n/nl.php
+++ b/core/l10n/nl.php
@@ -125,10 +125,7 @@
"Lost your password?" => "Uw wachtwoord vergeten?",
"remember" => "onthoud gegevens",
"Log in" => "Meld je aan",
-"You are logged out." => "U bent afgemeld.",
"prev" => "vorige",
"next" => "volgende",
-"Security Warning!" => "Beveiligingswaarschuwing!",
-"Please verify your password. <br/>For security reasons you may be occasionally asked to enter your password again." => "Verifieer uw wachtwoord!<br/>Om veiligheidsredenen wordt u regelmatig gevraagd uw wachtwoord in te geven.",
-"Verify" => "Verifieer"
+"Updating ownCloud to version %s, this may take a while." => "Updaten ownCloud naar versie %s, dit kan even duren."
);
diff --git a/core/l10n/nn_NO.php b/core/l10n/nn_NO.php
index e62e0dea730..8aaf0b705c8 100644
--- a/core/l10n/nn_NO.php
+++ b/core/l10n/nn_NO.php
@@ -52,7 +52,6 @@
"Lost your password?" => "Gløymt passordet?",
"remember" => "hugs",
"Log in" => "Logg inn",
-"You are logged out." => "Du er logga ut.",
"prev" => "førre",
"next" => "neste"
);
diff --git a/core/l10n/oc.php b/core/l10n/oc.php
index 1ae67063572..be6d5aec285 100644
--- a/core/l10n/oc.php
+++ b/core/l10n/oc.php
@@ -93,7 +93,6 @@
"Lost your password?" => "L'as perdut lo senhal ?",
"remember" => "bremba-te",
"Log in" => "Dintrada",
-"You are logged out." => "Sias pas dintra (t/ada)",
"prev" => "dariièr",
"next" => "venent"
);
diff --git a/core/l10n/pl.php b/core/l10n/pl.php
index 1208aec5a53..3324040209b 100644
--- a/core/l10n/pl.php
+++ b/core/l10n/pl.php
@@ -125,10 +125,7 @@
"Lost your password?" => "Nie pamiętasz hasła?",
"remember" => "Zapamiętanie",
"Log in" => "Zaloguj",
-"You are logged out." => "Wylogowano użytkownika.",
"prev" => "wstecz",
"next" => "naprzód",
-"Security Warning!" => "Ostrzeżenie o zabezpieczeniach!",
-"Please verify your password. <br/>For security reasons you may be occasionally asked to enter your password again." => "Sprawdź swoje hasło.<br/>Ze względów bezpieczeństwa możesz zostać czasami poproszony o wprowadzenie hasła ponownie.",
-"Verify" => "Zweryfikowane"
+"Updating ownCloud to version %s, this may take a while." => "Aktualizowanie ownCloud do wersji %s, może to potrwać chwilę."
);
diff --git a/core/l10n/pt_BR.php b/core/l10n/pt_BR.php
index f28b0035995..3b119650268 100644
--- a/core/l10n/pt_BR.php
+++ b/core/l10n/pt_BR.php
@@ -117,10 +117,6 @@
"Lost your password?" => "Esqueçeu sua senha?",
"remember" => "lembrete",
"Log in" => "Log in",
-"You are logged out." => "Você está desconectado.",
"prev" => "anterior",
-"next" => "próximo",
-"Security Warning!" => "Aviso de Segurança!",
-"Please verify your password. <br/>For security reasons you may be occasionally asked to enter your password again." => "Por favor, verifique a sua senha.<br />Por motivos de segurança, você deverá ser solicitado a muda-la ocasionalmente.",
-"Verify" => "Verificar"
+"next" => "próximo"
);
diff --git a/core/l10n/pt_PT.php b/core/l10n/pt_PT.php
index a2bfcf4f882..6e3a558986c 100644
--- a/core/l10n/pt_PT.php
+++ b/core/l10n/pt_PT.php
@@ -125,10 +125,7 @@
"Lost your password?" => "Esqueceu a sua password?",
"remember" => "lembrar",
"Log in" => "Entrar",
-"You are logged out." => "Estás desconetado.",
"prev" => "anterior",
"next" => "seguinte",
-"Security Warning!" => "Aviso de Segurança!",
-"Please verify your password. <br/>For security reasons you may be occasionally asked to enter your password again." => "Por favor verifique a sua palavra-passe. <br/>Por razões de segurança, pode ser-lhe perguntada, ocasionalmente, a sua palavra-passe de novo.",
-"Verify" => "Verificar"
+"Updating ownCloud to version %s, this may take a while." => "A Actualizar o ownCloud para a versão %s, esta operação pode demorar."
);
diff --git a/core/l10n/ro.php b/core/l10n/ro.php
index 560ef5b9fc8..5e2c812925e 100644
--- a/core/l10n/ro.php
+++ b/core/l10n/ro.php
@@ -1,13 +1,43 @@
<?php $TRANSLATIONS = array(
+"User %s shared a file with you" => "Utilizatorul %s a partajat un fișier cu tine",
+"Category type not provided." => "Tipul de categorie nu este prevazut",
"No category to add?" => "Nici o categorie de adăugat?",
"This category already exists: " => "Această categorie deja există:",
+"Object type not provided." => "Tipul obiectului nu este prevazut",
+"%s ID not provided." => "ID-ul %s nu a fost introdus",
+"Error adding %s to favorites." => "Eroare la adăugarea %s la favorite",
"No categories selected for deletion." => "Nici o categorie selectată pentru ștergere.",
+"Error removing %s from favorites." => "Eroare la ștergerea %s din favorite",
+"Sunday" => "Duminică",
+"Monday" => "Luni",
+"Tuesday" => "Marți",
+"Wednesday" => "Miercuri",
+"Thursday" => "Joi",
+"Friday" => "Vineri",
+"Saturday" => "Sâmbătă",
+"January" => "Ianuarie",
+"February" => "Februarie",
+"March" => "Martie",
+"April" => "Aprilie",
+"May" => "Mai",
+"June" => "Iunie",
+"July" => "Iulie",
+"August" => "August",
+"September" => "Septembrie",
+"October" => "Octombrie",
+"November" => "Noiembrie",
+"December" => "Decembrie",
"Settings" => "Configurări",
"seconds ago" => "secunde în urmă",
"1 minute ago" => "1 minut în urmă",
+"{minutes} minutes ago" => "{minutes} minute in urma",
+"1 hour ago" => "Acum o ora",
+"{hours} hours ago" => "{hours} ore în urmă",
"today" => "astăzi",
"yesterday" => "ieri",
+"{days} days ago" => "{days} zile in urma",
"last month" => "ultima lună",
+"{months} months ago" => "{months} luni în urmă",
"months ago" => "luni în urmă",
"last year" => "ultimul an",
"years ago" => "ani în urmă",
@@ -16,18 +46,25 @@
"No" => "Nu",
"Yes" => "Da",
"Ok" => "Ok",
+"The object type is not specified." => "Tipul obiectului nu a fost specificat",
"Error" => "Eroare",
+"The app name is not specified." => "Numele aplicației nu a fost specificat",
+"The required file {file} is not installed!" => "Fișierul obligatoriu {file} nu este instalat!",
"Error while sharing" => "Eroare la partajare",
"Error while unsharing" => "Eroare la anularea partajării",
"Error while changing permissions" => "Eroare la modificarea permisiunilor",
+"Shared with you and the group {group} by {owner}" => "Distribuie cu tine si grupul {group} de {owner}",
+"Shared with you by {owner}" => "Distribuie cu tine de {owner}",
"Share with" => "Partajat cu",
"Share with link" => "Partajare cu legătură",
"Password protect" => "Protejare cu parolă",
"Password" => "Parola",
"Set expiration date" => "Specifică data expirării",
"Expiration date" => "Data expirării",
+"Share via email:" => "Distribuie prin email:",
"No people found" => "Nici o persoană găsită",
"Resharing is not allowed" => "Repartajarea nu este permisă",
+"Shared in {item} with {user}" => "Distribuie in {item} si {user}",
"Unshare" => "Anulare partajare",
"can edit" => "poate edita",
"access control" => "control acces",
@@ -41,6 +78,8 @@
"ownCloud password reset" => "Resetarea parolei ownCloud ",
"Use the following link to reset your password: {link}" => "Folosește următorul link pentru a reseta parola: {link}",
"You will receive a link to reset your password via Email." => "Vei primi un mesaj prin care vei putea reseta parola via email",
+"Reset email send." => "Resetarea emailu-lui trimisa.",
+"Request failed!" => "Solicitarea nu a reusit",
"Username" => "Utilizator",
"Request reset" => "Cerere trimisă",
"Your password was reset" => "Parola a fost resetată",
@@ -57,6 +96,8 @@
"Edit categories" => "Editează categoriile",
"Add" => "Adaugă",
"Security Warning" => "Avertisment de securitate",
+"No secure random number generator is available, please enable the PHP OpenSSL extension." => "Generatorul de numere pentru securitate nu este disponibil, va rog activati extensia PHP OpenSSL",
+"Without a secure random number generator an attacker may be able to predict password reset tokens and take over your account." => "Fara generatorul pentru numere de securitate , un atacator poate afla parola si reseta contul tau",
"Your data directory and your files are probably accessible from the internet. The .htaccess file that ownCloud provides 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." => "Directorul tău de date și fișierele tale probabil sunt accesibile prin internet. Fișierul .htaccess oferit de ownCloud nu funcționează. Îți recomandăm să configurezi server-ul tău web într-un mod în care directorul de date să nu mai fie accesibil sau mută directorul de date în afara directorului root al server-ului web.",
"Create an <strong>admin account</strong>" => "Crează un <strong>cont de administrator</strong>",
"Advanced" => "Avansat",
@@ -69,31 +110,14 @@
"Database tablespace" => "Tabela de spațiu a bazei de date",
"Database host" => "Bază date",
"Finish setup" => "Finalizează instalarea",
-"Sunday" => "Duminică",
-"Monday" => "Luni",
-"Tuesday" => "Marți",
-"Wednesday" => "Miercuri",
-"Thursday" => "Joi",
-"Friday" => "Vineri",
-"Saturday" => "Sâmbătă",
-"January" => "Ianuarie",
-"February" => "Februarie",
-"March" => "Martie",
-"April" => "Aprilie",
-"May" => "Mai",
-"June" => "Iunie",
-"July" => "Iulie",
-"August" => "August",
-"September" => "Septembrie",
-"October" => "Octombrie",
-"November" => "Noiembrie",
-"December" => "Decembrie",
"web services under your control" => "servicii web controlate de tine",
"Log out" => "Ieșire",
+"Automatic logon rejected!" => "Logare automata respinsa",
+"If you did not change your password recently, your account may be compromised!" => "Daca nu schimbi parola cand de curand , contul tau poate fi conpromis",
+"Please change your password to secure your account again." => "Te rog schimba parola pentru ca, contul tau sa fie securizat din nou.",
"Lost your password?" => "Ai uitat parola?",
"remember" => "amintește",
"Log in" => "Autentificare",
-"You are logged out." => "Ai ieșit",
"prev" => "precedentul",
"next" => "următorul"
);
diff --git a/core/l10n/ru.php b/core/l10n/ru.php
index 4db2a2f06fd..7434d6af7f8 100644
--- a/core/l10n/ru.php
+++ b/core/l10n/ru.php
@@ -125,10 +125,7 @@
"Lost your password?" => "Забыли пароль?",
"remember" => "запомнить",
"Log in" => "Войти",
-"You are logged out." => "Вы вышли.",
"prev" => "пред",
"next" => "Ñлед",
-"Security Warning!" => "Предупреждение безопаÑноÑти!",
-"Please verify your password. <br/>For security reasons you may be occasionally asked to enter your password again." => "ПожалуйÑта, проверьте Ñвой ​​пароль. <br/>По ÑоображениÑм безопаÑноÑти, Вам иногда придетÑÑ Ð²Ð²Ð¾Ð´Ð¸Ñ‚ÑŒ Ñвой пароль Ñнова.",
-"Verify" => "Подтвердить"
+"Updating ownCloud to version %s, this may take a while." => "ПроизводитÑÑ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ðµ ownCloud до верÑии %s. Это может занÑть некоторое времÑ."
);
diff --git a/core/l10n/ru_RU.php b/core/l10n/ru_RU.php
index c18fe245c9e..84bd8f93156 100644
--- a/core/l10n/ru_RU.php
+++ b/core/l10n/ru_RU.php
@@ -125,10 +125,6 @@
"Lost your password?" => "Забыли пароль?",
"remember" => "запомнить",
"Log in" => "Войти",
-"You are logged out." => "Ð’Ñ‹ вышли из ÑиÑтемы.",
"prev" => "предыдущий",
-"next" => "Ñледующий",
-"Security Warning!" => "Предупреждение ÑиÑтемы безопаÑноÑти!",
-"Please verify your password. <br/>For security reasons you may be occasionally asked to enter your password again." => "ПожалуйÑта, проверьте Ñвой ​​пароль. <br/>По ÑоображениÑм безопаÑноÑти Вам может быть иногда предложено ввеÑти пароль еще раз.",
-"Verify" => "Проверить"
+"next" => "Ñледующий"
);
diff --git a/core/l10n/si_LK.php b/core/l10n/si_LK.php
index 35b0df3188c..a6aeb484ed7 100644
--- a/core/l10n/si_LK.php
+++ b/core/l10n/si_LK.php
@@ -85,7 +85,6 @@
"Lost your password?" => "මුරපදය අමතකද?",
"remember" => "මතක à¶­à¶¶à·à¶œà¶±à·Šà¶±",
"Log in" => "à¶´à·Šâ€à¶»à·€à·šà·à·€à¶±à·Šà¶±",
-"You are logged out." => "ඔබ නික්මී ඇත.",
"prev" => "පෙර",
"next" => "à¶Šà·…à¶Ÿ"
);
diff --git a/core/l10n/sk_SK.php b/core/l10n/sk_SK.php
index 162d94e8242..286642ace7a 100644
--- a/core/l10n/sk_SK.php
+++ b/core/l10n/sk_SK.php
@@ -1,4 +1,8 @@
<?php $TRANSLATIONS = array(
+"User %s shared a file with you" => "Používateľ %s zdieľa s Vami súbor",
+"User %s shared a folder with you" => "Používateľ %s zdieľa s Vami adresár",
+"User %s shared the file \"%s\" with you. It is available for download here: %s" => "Používateľ %s zdieľa s Vami súbor \"%s\". Môžete si ho stiahnuť tu: %s",
+"User %s shared the folder \"%s\" with you. It is available for download here: %s" => "Používateľ %s zdieľa s Vami adresár \"%s\". Môžete si ho stiahnuť tu: %s",
"Category type not provided." => "Neposkytnutý kategorický typ.",
"No category to add?" => "Žiadna kategória pre pridanie?",
"This category already exists: " => "Táto kategória už existuje:",
@@ -39,6 +43,8 @@
"Share with link" => "Zdieľať cez odkaz",
"Password protect" => "Chrániť heslom",
"Password" => "Heslo",
+"Email link to person" => "Odoslať odkaz osobe e-mailom",
+"Send" => "Odoslať",
"Set expiration date" => "Nastaviť dátum expirácie",
"Expiration date" => "Dátum expirácie",
"Share via email:" => "Zdieľať cez e-mail:",
@@ -55,6 +61,8 @@
"Password protected" => "Chránené heslom",
"Error unsetting expiration date" => "Chyba pri odstraňovaní dátumu vypršania platnosti",
"Error setting expiration date" => "Chyba pri nastavení dátumu vypršania platnosti",
+"Sending ..." => "Odosielam ...",
+"Email sent" => "Email odoslaný",
"ownCloud password reset" => "Obnovenie hesla pre ownCloud",
"Use the following link to reset your password: {link}" => "Použite nasledujúci odkaz pre obnovenie vášho hesla: {link}",
"You will receive a link to reset your password via Email." => "Odkaz pre obnovenie hesla obdržíte e-mailom.",
@@ -117,10 +125,7 @@
"Lost your password?" => "Zabudli ste heslo?",
"remember" => "zapamätať",
"Log in" => "Prihlásiť sa",
-"You are logged out." => "Ste odhlásený.",
"prev" => "späť",
"next" => "Äalej",
-"Security Warning!" => "BezpeÄnostné varovanie!",
-"Please verify your password. <br/>For security reasons you may be occasionally asked to enter your password again." => "Prosím, overte svoje heslo. <br />Z bezpeÄnostných dôvodov môžete byÅ¥ obÄas požiadaný o jeho opätovné zadanie.",
-"Verify" => "Overenie"
+"Updating ownCloud to version %s, this may take a while." => "Aktualizujem ownCloud na verziu %s, môže to chvíľu trvať."
);
diff --git a/core/l10n/sl.php b/core/l10n/sl.php
index 0ee2eb03b3c..b2c924d412e 100644
--- a/core/l10n/sl.php
+++ b/core/l10n/sl.php
@@ -125,10 +125,6 @@
"Lost your password?" => "Ali ste pozabili geslo?",
"remember" => "Zapomni si me",
"Log in" => "Prijava",
-"You are logged out." => "Sta odjavljeni.",
"prev" => "nazaj",
-"next" => "naprej",
-"Security Warning!" => "Varnostno opozorilo!",
-"Please verify your password. <br/>For security reasons you may be occasionally asked to enter your password again." => "Prosimo, Äe preverite vaÅ¡e geslo. Iz varnostnih razlogov vas lahko obÄasno prosimo, da ga ponovno vnesete.",
-"Verify" => "Preveri"
+"next" => "naprej"
);
diff --git a/core/l10n/sr.php b/core/l10n/sr.php
index 406b92ff83f..e55ad9250ab 100644
--- a/core/l10n/sr.php
+++ b/core/l10n/sr.php
@@ -1,4 +1,6 @@
<?php $TRANSLATIONS = array(
+"User %s shared a file with you" => "КориÑник %s дели Ñа вама датотеку",
+"User %s shared a folder with you" => "КориÑник %s дели Ñа вама директоријум",
"Category type not provided." => "Ð’Ñ€Ñта категорије није унет.",
"No category to add?" => "Додати још неку категорију?",
"This category already exists: " => "Категорија већ поÑтоји:",
@@ -39,6 +41,7 @@
"Share with link" => "Подели линк",
"Password protect" => "Заштићено лозинком",
"Password" => "Лозинка",
+"Send" => "Пошаљи",
"Set expiration date" => "ПоÑтави датум иÑтека",
"Expiration date" => "Датум иÑтека",
"Share via email:" => "Подели поштом:",
@@ -55,6 +58,8 @@
"Password protected" => "Заштићено лозинком",
"Error unsetting expiration date" => "Грешка код поништавања датума иÑтека",
"Error setting expiration date" => "Грешка код поÑтављања датума иÑтека",
+"Sending ..." => "Шаљем...",
+"Email sent" => "Порука је поÑлата",
"ownCloud password reset" => "Поништавање лозинке за ownCloud",
"Use the following link to reset your password: {link}" => "Овом везом реÑетујте Ñвоју лозинку: {link}",
"You will receive a link to reset your password via Email." => "Добићете везу за реÑетовање лозинке путем е-поште.",
@@ -117,10 +122,7 @@
"Lost your password?" => "Изгубили Ñте лозинку?",
"remember" => "упамти",
"Log in" => "Пријава",
-"You are logged out." => "Одјављени Ñте.",
"prev" => "претходно",
"next" => "Ñледеће",
-"Security Warning!" => "СигурноÑно упозорење!",
-"Please verify your password. <br/>For security reasons you may be occasionally asked to enter your password again." => "Потврдите лозинку. <br />Из ÑигурноÑних разлога затрежићемо вам да два пута унеÑете лозинку.",
-"Verify" => "Потврди"
+"Updating ownCloud to version %s, this may take a while." => "Ðадоградња ownCloud-а на верзију %s, Ñачекајте тренутак."
);
diff --git a/core/l10n/sr@latin.php b/core/l10n/sr@latin.php
index af48a845720..efcb7c10f01 100644
--- a/core/l10n/sr@latin.php
+++ b/core/l10n/sr@latin.php
@@ -46,7 +46,6 @@
"Log out" => "Odjava",
"Lost your password?" => "Izgubili ste lozinku?",
"remember" => "upamti",
-"You are logged out." => "Odjavljeni ste.",
"prev" => "prethodno",
"next" => "sledeće"
);
diff --git a/core/l10n/sv.php b/core/l10n/sv.php
index a7698fb30ce..70a9871be26 100644
--- a/core/l10n/sv.php
+++ b/core/l10n/sv.php
@@ -125,10 +125,7 @@
"Lost your password?" => "Glömt ditt lösenord?",
"remember" => "kom ihåg",
"Log in" => "Logga in",
-"You are logged out." => "Du är utloggad.",
"prev" => "föregående",
"next" => "nästa",
-"Security Warning!" => "Säkerhetsvarning!",
-"Please verify your password. <br/>For security reasons you may be occasionally asked to enter your password again." => "Bekräfta ditt lösenord. <br/>Av säkerhetsskäl kan du ibland bli ombedd att ange ditt lösenord igen.",
-"Verify" => "Verifiera"
+"Updating ownCloud to version %s, this may take a while." => "Uppdaterar ownCloud till version %s, detta kan ta en stund."
);
diff --git a/core/l10n/ta_LK.php b/core/l10n/ta_LK.php
index 9a432d11c9b..65cfbbf965d 100644
--- a/core/l10n/ta_LK.php
+++ b/core/l10n/ta_LK.php
@@ -117,10 +117,6 @@
"Lost your password?" => "உஙà¯à®•ள௠கடவà¯à®šà¯à®šà¯Šà®²à¯à®²à¯ˆ தொலைதà¯à®¤à¯à®µà®¿à®Ÿà¯à®Ÿà¯€à®°à¯à®•ளா?",
"remember" => "ஞாபகபà¯à®ªà®Ÿà¯à®¤à¯à®¤à¯à®•",
"Log in" => "பà¯à®•à¯à®ªà®¤à®¿à®•ை",
-"You are logged out." => "நீஙà¯à®•ள௠விடà¯à®ªà®¤à®¿à®•ை செயà¯à®¤à¯à®µà®¿à®Ÿà¯à®Ÿà¯€à®°à¯à®•ளà¯.",
"prev" => "à®®à¯à®¨à¯à®¤à¯ˆà®¯",
-"next" => "அடà¯à®¤à¯à®¤à¯",
-"Security Warning!" => "பாதà¯à®•ாபà¯à®ªà¯ எசà¯à®šà®°à®¿à®•à¯à®•ை!",
-"Please verify your password. <br/>For security reasons you may be occasionally asked to enter your password again." => "உஙà¯à®•ளà¯à®Ÿà¯ˆà®¯ கடவà¯à®šà¯à®šà¯Šà®²à¯à®²à¯ˆ உறà¯à®¤à®¿à®ªà¯à®ªà®Ÿà¯à®¤à¯à®¤à¯à®•. <br/> பாதà¯à®•ாபà¯à®ªà¯ காரணஙà¯à®•ளà¯à®•à¯à®•ாக நீஙà¯à®•ள௠எபà¯à®ªà¯‹à®¤à®¾à®µà®¤à¯ உஙà¯à®•ளà¯à®Ÿà¯ˆà®¯ கடவà¯à®šà¯à®šà¯Šà®²à¯à®²à¯ˆ மீணà¯à®Ÿà¯à®®à¯ நà¯à®´à¯ˆà®•à¯à®• கேடà¯à®•பà¯à®ªà®Ÿà¯à®µà¯€à®°à¯à®•ளà¯.",
-"Verify" => "உறà¯à®¤à®¿à®ªà¯à®ªà®Ÿà¯à®¤à¯à®¤à®²à¯"
+"next" => "அடà¯à®¤à¯à®¤à¯"
);
diff --git a/core/l10n/th_TH.php b/core/l10n/th_TH.php
index e254ccf259f..bcbd70d03e6 100644
--- a/core/l10n/th_TH.php
+++ b/core/l10n/th_TH.php
@@ -1,4 +1,8 @@
<?php $TRANSLATIONS = array(
+"User %s shared a file with you" => "ผู้ใช้งาน %s ได้à¹à¸Šà¸£à¹Œà¹„ฟล์ให้à¸à¸±à¸šà¸„ุณ",
+"User %s shared a folder with you" => "ผู้ใช้งาน %s ได้à¹à¸Šà¸£à¹Œà¹‚ฟลเดอร์ให้à¸à¸±à¸šà¸„ุณ",
+"User %s shared the file \"%s\" with you. It is available for download here: %s" => "ผู้ใช้งาน %s ได้à¹à¸Šà¸£à¹Œà¹„ฟล์ \"%s\" ให้à¸à¸±à¸šà¸„ุณ à¹à¸¥à¸°à¸„ุณสามารถสามารถดาวน์โหลดไฟล์ดังà¸à¸¥à¹ˆà¸²à¸§à¹„ด้จาà¸à¸—ี่นี่: %s",
+"User %s shared the folder \"%s\" with you. It is available for download here: %s" => "ผู้ใช้งาน %s ได้à¹à¸Šà¸£à¹Œà¹‚ฟลเดอร์ \"%s\" ให้à¸à¸±à¸šà¸„ุณ à¹à¸¥à¸°à¸„ุณสามารถดาวน์โหลดโฟลเดอร์ดังà¸à¸¥à¹ˆà¸²à¸§à¹„ด้จาà¸à¸—ี่นี่: %s",
"Category type not provided." => "ยังไม่ได้ระบุชนิดของหมวดหมู่",
"No category to add?" => "ไม่มีหมวดหมู่ที่ต้องà¸à¸²à¸£à¹€à¸žà¸´à¹ˆà¸¡?",
"This category already exists: " => "หมวดหมู่นี้มีอยู่à¹à¸¥à¹‰à¸§: ",
@@ -39,6 +43,8 @@
"Share with link" => "à¹à¸Šà¸£à¹Œà¸”้วยลิงà¸à¹Œ",
"Password protect" => "ใส่รหัสผ่านไว้",
"Password" => "รหัสผ่าน",
+"Email link to person" => "ส่งลิงà¸à¹Œà¹ƒà¸«à¹‰à¸—างอีเมล",
+"Send" => "ส่ง",
"Set expiration date" => "à¸à¸³à¸«à¸™à¸”วันที่หมดอายุ",
"Expiration date" => "วันที่หมดอายุ",
"Share via email:" => "à¹à¸Šà¸£à¹Œà¸œà¹ˆà¸²à¸™à¸—างอีเมล",
@@ -55,6 +61,8 @@
"Password protected" => "ใส่รหัสผ่านไว้",
"Error unsetting expiration date" => "เà¸à¸´à¸”ข้อผิดพลาดในà¸à¸²à¸£à¸¢à¸à¹€à¸¥à¸´à¸à¸à¸²à¸£à¸•ั้งค่าวันที่หมดอายุ",
"Error setting expiration date" => "เà¸à¸´à¸”ข้อผิดพลาดในà¸à¸²à¸£à¸•ั้งค่าวันที่หมดอายุ",
+"Sending ..." => "à¸à¸³à¸¥à¸±à¸‡à¸ªà¹ˆà¸‡...",
+"Email sent" => "ส่งอีเมล์à¹à¸¥à¹‰à¸§",
"ownCloud password reset" => "รีเซ็ตรหัสผ่าน ownCloud",
"Use the following link to reset your password: {link}" => "ใช้ลิงค์ต่อไปนี้เพื่อเปลี่ยนรหัสผ่านของคุณใหม่: {link}",
"You will receive a link to reset your password via Email." => "คุณจะได้รับลิงค์เพื่อà¸à¸³à¸«à¸™à¸”รหัสผ่านใหม่ทางอีเมล์",
@@ -117,10 +125,7 @@
"Lost your password?" => "ลืมรหัสผ่าน?",
"remember" => "จำรหัสผ่าน",
"Log in" => "เข้าสู่ระบบ",
-"You are logged out." => "คุณออà¸à¸ˆà¸²à¸à¸£à¸°à¸šà¸šà¹€à¸£à¸µà¸¢à¸šà¸£à¹‰à¸­à¸¢à¹à¸¥à¹‰à¸§",
"prev" => "à¸à¹ˆà¸­à¸™à¸«à¸™à¹‰à¸²",
"next" => "ถัดไป",
-"Security Warning!" => "คำเตือนเพื่อความปลอดภัย!",
-"Please verify your password. <br/>For security reasons you may be occasionally asked to enter your password again." => "à¸à¸£à¸¸à¸“ายืนยันรหัสผ่านของคุณ <br/> เพื่อความปลอดภัย คุณจะถูà¸à¸‚อให้à¸à¸£à¸­à¸à¸£à¸«à¸±à¸ªà¸œà¹ˆà¸²à¸™à¸­à¸µà¸à¸„รั้ง",
-"Verify" => "ยืนยัน"
+"Updating ownCloud to version %s, this may take a while." => "à¸à¸³à¸¥à¸±à¸‡à¸­à¸±à¸žà¹€à¸”ท ownCloud ไปเป็นรุ่น %s, à¸à¸£à¸¸à¸“ารอสัà¸à¸„รู่"
);
diff --git a/core/l10n/tr.php b/core/l10n/tr.php
index cb0df023993..58e28a9b3b9 100644
--- a/core/l10n/tr.php
+++ b/core/l10n/tr.php
@@ -1,25 +1,73 @@
<?php $TRANSLATIONS = array(
+"User %s shared a file with you" => "%s kullanıcısı sizinle bir dosyayı paylaştı",
+"User %s shared a folder with you" => "%s kullanıcısı sizinle bir dizini paylaştı",
+"User %s shared the file \"%s\" with you. It is available for download here: %s" => "%s kullanıcısı \"%s\" dosyasını sizinle paylaştı. %s adresinden indirilebilir",
+"User %s shared the folder \"%s\" with you. It is available for download here: %s" => "%s kullanıcısı \"%s\" dizinini sizinle paylaştı. %s adresinden indirilebilir",
+"Category type not provided." => "Kategori türü desteklenmemektedir.",
"No category to add?" => "Eklenecek kategori yok?",
"This category already exists: " => "Bu kategori zaten mevcut: ",
+"Object type not provided." => "Nesne türü desteklenmemektedir.",
+"%s ID not provided." => "%s ID belirtilmedi.",
+"Error adding %s to favorites." => "%s favorilere eklenirken hata oluÅŸtu",
"No categories selected for deletion." => "Silmek için bir kategori seçilmedi",
+"Error removing %s from favorites." => "%s favorilere çıkarılırken hata oluştu",
"Settings" => "Ayarlar",
+"seconds ago" => "saniye önce",
+"1 minute ago" => "1 dakika önce",
+"{minutes} minutes ago" => "{minutes} dakika önce",
+"1 hour ago" => "1 saat önce",
+"{hours} hours ago" => "{hours} saat önce",
+"today" => "bugün",
+"yesterday" => "dün",
+"{days} days ago" => "{days} gün önce",
+"last month" => "geçen ay",
+"{months} months ago" => "{months} ay önce",
+"months ago" => "ay önce",
+"last year" => "geçen yıl",
+"years ago" => "yıl önce",
"Choose" => "seç",
"Cancel" => "İptal",
"No" => "Hayır",
"Yes" => "Evet",
"Ok" => "Tamam",
+"The object type is not specified." => "Nesne türü belirtilmemiş.",
"Error" => "Hata",
+"The app name is not specified." => "uygulama adı belirtilmedi.",
+"The required file {file} is not installed!" => "İhtiyaç duyulan {file} dosyası kurulu değil.",
"Error while sharing" => "Paylaşım sırasında hata ",
+"Error while unsharing" => "Paylaşım iptal ediliyorken hata",
+"Error while changing permissions" => "İzinleri değiştirirken hata oluştu",
+"Shared with you and the group {group} by {owner}" => " {owner} tarafından sizinle ve {group} ile paylaştırılmış",
+"Shared with you by {owner}" => "{owner} trafından sizinle paylaştırıldı",
"Share with" => "ile PaylaÅŸ",
"Share with link" => "Bağlantı ile paylaş",
"Password protect" => "Şifre korunması",
"Password" => "Parola",
+"Email link to person" => "KiÅŸiye e-posta linki",
+"Send" => "Gönder",
"Set expiration date" => "Son kullanma tarihini ayarla",
+"Expiration date" => "Son kullanım tarihi",
+"Share via email:" => "Eposta ile paylaÅŸ",
+"No people found" => "Kişi bulunamadı",
+"Resharing is not allowed" => "Tekrar paylaÅŸmaya izin verilmiyor",
+"Shared in {item} with {user}" => " {item} içinde {user} ile paylaşılanlarlar",
"Unshare" => "Paylaşılmayan",
+"can edit" => "düzenleyebilir",
+"access control" => "erişim kontrolü",
"create" => "oluÅŸtur",
+"update" => "güncelle",
+"delete" => "sil",
+"share" => "paylaÅŸ",
+"Password protected" => "Paralo korumalı",
+"Error unsetting expiration date" => "Geçerlilik tarihi tanımlama kaldırma hatası",
+"Error setting expiration date" => "Geçerlilik tarihi tanımlama hatası",
+"Sending ..." => "Gönderiliyor...",
+"Email sent" => "Eposta gönderildi",
"ownCloud password reset" => "ownCloud parola sıfırlama",
"Use the following link to reset your password: {link}" => "Bu bağlantıyı kullanarak parolanızı sıfırlayın: {link}",
"You will receive a link to reset your password via Email." => "Parolanızı sıfırlamak için bir bağlantı Eposta olarak gönderilecek.",
+"Reset email send." => "Sıfırlama epostası gönderildi.",
+"Request failed!" => "İstek reddedildi!",
"Username" => "Kullanıcı adı",
"Request reset" => "Sıfırlama iste",
"Your password was reset" => "Parolanız sıfırlandı",
@@ -36,6 +84,9 @@
"Edit categories" => "Kategorileri düzenle",
"Add" => "Ekle",
"Security Warning" => "Güvenlik Uyarisi",
+"No secure random number generator is available, please enable the PHP OpenSSL extension." => "Güvenli rasgele sayı üreticisi bulunamadı. Lütfen PHP OpenSSL eklentisini etkinleştirin.",
+"Without a secure random number generator an attacker may be able to predict password reset tokens and take over your account." => "Güvenli rasgele sayı üreticisi olmadan saldırganlar parola sıfırlama simgelerini tahmin edip hesabınızı ele geçirebilir.",
+"Your data directory and your files are probably accessible from the internet. The .htaccess file that ownCloud provides 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." => "data dizininiz ve dosyalarınız büyük ihtimalle internet üzerinden erişilebilir. Owncloud tarafından sağlanan .htaccess dosyası çalışmıyor. Web sunucunuzu yapılandırarak data dizinine erişimi kapatmanızı veya data dizinini web sunucu döküman dizini dışına almanızı şiddetle tavsiye ederiz.",
"Create an <strong>admin account</strong>" => "Bir <strong>yönetici hesabı</strong> oluşturun",
"Advanced" => "GeliÅŸmiÅŸ",
"Data folder" => "Veri klasörü",
@@ -68,10 +119,13 @@
"December" => "Aralık",
"web services under your control" => "kontrolünüzdeki web servisleri",
"Log out" => "Çıkış yap",
+"Automatic logon rejected!" => "Otomatik oturum açma reddedildi!",
+"If you did not change your password recently, your account may be compromised!" => "Yakın zamanda parolanızı değiştirmedi iseniz hesabınız riske girebilir.",
+"Please change your password to secure your account again." => "Hesabınızı korumak için lütfen parolanızı değiştirin.",
"Lost your password?" => "Parolanızı mı unuttunuz?",
"remember" => "hatırla",
"Log in" => "GiriÅŸ yap",
-"You are logged out." => "Çıkış yaptınız.",
"prev" => "önceki",
-"next" => "sonraki"
+"next" => "sonraki",
+"Updating ownCloud to version %s, this may take a while." => "Owncloud %s versiyonuna güncelleniyor. Biraz zaman alabilir."
);
diff --git a/core/l10n/uk.php b/core/l10n/uk.php
index 180d2a5c6bd..88e18d3eb28 100644
--- a/core/l10n/uk.php
+++ b/core/l10n/uk.php
@@ -125,10 +125,7 @@
"Lost your password?" => "Забули пароль?",
"remember" => "запам'Ñтати",
"Log in" => "Вхід",
-"You are logged out." => "Ви вийшли з ÑиÑтеми.",
"prev" => "попередній",
"next" => "наÑтупний",
-"Security Warning!" => "ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾ небезпеку!",
-"Please verify your password. <br/>For security reasons you may be occasionally asked to enter your password again." => "Будь лаÑка, повторно введіть Ñвій пароль. <br/>З питань безпеки, Вам інколи доведетьÑÑ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾ вводити Ñвій пароль.",
-"Verify" => "Підтвердити"
+"Updating ownCloud to version %s, this may take a while." => "ÐžÐ½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ ownCloud до верÑÑ–Ñ— %s, це може зайнÑти деÑкий чаÑ."
);
diff --git a/core/l10n/vi.php b/core/l10n/vi.php
index 38e909d3f4e..c827dc038e6 100644
--- a/core/l10n/vi.php
+++ b/core/l10n/vi.php
@@ -117,10 +117,6 @@
"Lost your password?" => "Bạn quên mật khẩu ?",
"remember" => "ghi nhá»›",
"Log in" => "Äăng nhập",
-"You are logged out." => "Bạn đã đăng xuất.",
"prev" => "Lùi lại",
-"next" => "Kế tiếp",
-"Security Warning!" => "Cảnh báo bảo mật !",
-"Please verify your password. <br/>For security reasons you may be occasionally asked to enter your password again." => "Vui lòng xác nhận mật khẩu của bạn. <br/> Vì lý do bảo mật thỉnh thoảng bạn có thể được yêu cầu nhập lại mật khẩu.",
-"Verify" => "Kiểm tra"
+"next" => "Kế tiếp"
);
diff --git a/core/l10n/zh_CN.GB2312.php b/core/l10n/zh_CN.GB2312.php
index a785a36afcc..74dd9ad8a3f 100644
--- a/core/l10n/zh_CN.GB2312.php
+++ b/core/l10n/zh_CN.GB2312.php
@@ -106,10 +106,6 @@
"Lost your password?" => "忘记密�",
"remember" => "备忘",
"Log in" => "登陆",
-"You are logged out." => "ä½ å·²ç»æ³¨é”€äº†",
"prev" => "åŽé€€",
-"next" => "å‰è¿›",
-"Security Warning!" => "安全警告ï¼",
-"Please verify your password. <br/>For security reasons you may be occasionally asked to enter your password again." => "请确认您的密ç ã€‚<br/>处于安全原因你å¶å°”ä¹Ÿä¼šè¢«è¦æ±‚冿¬¡è¾“入您的密ç ã€‚",
-"Verify" => "确认"
+"next" => "å‰è¿›"
);
diff --git a/core/l10n/zh_CN.php b/core/l10n/zh_CN.php
index 64b108ca1dd..626ede4cc70 100644
--- a/core/l10n/zh_CN.php
+++ b/core/l10n/zh_CN.php
@@ -43,6 +43,7 @@
"Share with link" => "共享链接",
"Password protect" => "密ç ä¿æŠ¤",
"Password" => "密ç ",
+"Email link to person" => "å‘é€é“¾æŽ¥åˆ°ä¸ªäºº",
"Send" => "å‘é€",
"Set expiration date" => "设置过期日期",
"Expiration date" => "过期日期",
@@ -124,10 +125,7 @@
"Lost your password?" => "忘记密ç ï¼Ÿ",
"remember" => "è®°ä½",
"Log in" => "登录",
-"You are logged out." => "您已注销。",
"prev" => "上一页",
"next" => "下一页",
-"Security Warning!" => "安全警告ï¼",
-"Please verify your password. <br/>For security reasons you may be occasionally asked to enter your password again." => "è¯·éªŒè¯æ‚¨çš„密ç ã€‚ <br/>出于安全考虑,你å¯èƒ½å¶å°”ä¼šè¢«è¦æ±‚冿¬¡è¾“入密ç ã€‚",
-"Verify" => "验è¯"
+"Updating ownCloud to version %s, this may take a while." => "æ›´æ–° ownCloud 到版本 %s,这å¯èƒ½éœ€è¦ä¸€äº›æ—¶é—´ã€‚"
);
diff --git a/core/l10n/zh_TW.php b/core/l10n/zh_TW.php
index 45c7596e609..7537c764451 100644
--- a/core/l10n/zh_TW.php
+++ b/core/l10n/zh_TW.php
@@ -1,14 +1,22 @@
<?php $TRANSLATIONS = array(
-"No category to add?" => "無分類添加?",
-"This category already exists: " => "此分類已經存在:",
+"User %s shared a file with you" => "用戶 %s 與您分享了一個檔案",
+"User %s shared a folder with you" => "用戶 %s 與您分享了一個資料夾",
+"User %s shared the file \"%s\" with you. It is available for download here: %s" => "用戶 %s 與您分享了檔案 \"%s\" ,您å¯ä»¥å¾žé€™è£¡ä¸‹è¼‰å®ƒï¼š %s",
+"User %s shared the folder \"%s\" with you. It is available for download here: %s" => "用戶 %s 與您分享了資料夾 \"%s\" ,您å¯ä»¥å¾žé€™è£¡ä¸‹è¼‰å®ƒï¼š %s",
+"Category type not provided." => "未æä¾›åˆ†é¡žé¡žåž‹ã€‚",
+"No category to add?" => "沒有å¯å¢žåŠ çš„åˆ†é¡žï¼Ÿ",
+"This category already exists: " => "此分類已經存在:",
"Object type not provided." => "䏿”¯æ´çš„物件類型",
-"No categories selected for deletion." => "æ²’é¸æ“‡è¦åˆªé™¤çš„分類",
+"%s ID not provided." => "未æä¾› %s ID 。",
+"Error adding %s to favorites." => "加入 %s 到最愛時發生錯誤。",
+"No categories selected for deletion." => "æ²’æœ‰é¸æ“‡è¦åˆªé™¤çš„分類。",
+"Error removing %s from favorites." => "從最愛移除 %s 時發生錯誤。",
"Settings" => "設定",
"seconds ago" => "幾秒å‰",
"1 minute ago" => "1 分é˜å‰",
"{minutes} minutes ago" => "{minutes} 分é˜å‰",
"1 hour ago" => "1 個尿™‚å‰",
-"{hours} hours ago" => "{hours} 個尿™‚å‰",
+"{hours} hours ago" => "{hours} å°æ™‚å‰",
"today" => "今天",
"yesterday" => "昨天",
"{days} days ago" => "{days} 天å‰",
@@ -22,18 +30,26 @@
"No" => "No",
"Yes" => "Yes",
"Ok" => "Ok",
+"The object type is not specified." => "未指定物件類型。",
"Error" => "錯誤",
-"The app name is not specified." => "沒有詳述APPå稱.",
+"The app name is not specified." => "沒有指定 app å稱。",
+"The required file {file} is not installed!" => "æ²’æœ‰å®‰è£æ‰€éœ€çš„æª”案 {file} ï¼",
"Error while sharing" => "分享時發生錯誤",
"Error while unsharing" => "å–æ¶ˆåˆ†äº«æ™‚發生錯誤",
+"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" => "密碼",
+"Email link to person" => "å°‡é€£çµ email 給別人",
+"Send" => "寄出",
"Set expiration date" => "設置到期日",
"Expiration date" => "到期日",
-"Share via email:" => "é€éŽemail分享:",
+"Share via email:" => "é€éŽ email 分享:",
+"No people found" => "沒有找到任何人",
+"Resharing is not allowed" => "ä¸å…è¨±é‡æ–°åˆ†äº«",
"Shared in {item} with {user}" => "已和 {user} 分享 {item}",
"Unshare" => "å–æ¶ˆå…±äº«",
"can edit" => "å¯ç·¨è¼¯",
@@ -42,15 +58,18 @@
"update" => "æ›´æ–°",
"delete" => "刪除",
"share" => "分享",
-"Password protected" => "密碼ä¿è­·",
+"Password protected" => "å—密碼ä¿è­·",
+"Error unsetting expiration date" => "è§£é™¤éŽæœŸæ—¥è¨­å®šå¤±æ•—",
"Error setting expiration date" => "錯誤的到期日設定",
+"Sending ..." => "正在寄出...",
+"Email sent" => "Email 已寄出",
"ownCloud password reset" => "ownCloud 密碼é‡è¨­",
-"Use the following link to reset your password: {link}" => "請循以下è¯çµé‡è¨­ä½ çš„密碼: (è¯çµï¼‰ ",
-"You will receive a link to reset your password via Email." => "é‡è¨­å¯†ç¢¼çš„連çµå°‡æœƒå¯„到你的電å­éƒµä»¶ä¿¡ç®±",
-"Reset email send." => "é‡è¨­éƒµä»¶å·²é€å‡º.",
-"Request failed!" => "請求失敗!",
+"Use the following link to reset your password: {link}" => "請循以下è¯çµé‡è¨­ä½ çš„密碼: {link}",
+"You will receive a link to reset your password via Email." => "é‡è¨­å¯†ç¢¼çš„連çµå°‡æœƒå¯„到你的電å­éƒµä»¶ä¿¡ç®±ã€‚",
+"Reset email send." => "é‡è¨­éƒµä»¶å·²é€å‡ºã€‚",
+"Request failed!" => "請求失敗ï¼",
"Username" => "使用者å稱",
-"Request reset" => "è¦æ±‚é‡è¨­",
+"Request reset" => "請求é‡è¨­",
"Your password was reset" => "你的密碼已é‡è¨­",
"To login page" => "至登入é é¢",
"New password" => "新密碼",
@@ -60,12 +79,14 @@
"Apps" => "應用程å¼",
"Admin" => "管ç†è€…",
"Help" => "幫助",
-"Access forbidden" => "ç¦æ­¢å­˜å–",
+"Access forbidden" => "å­˜å–被拒",
"Cloud not found" => "未發ç¾é›²",
"Edit categories" => "編輯分類",
-"Add" => "添加",
+"Add" => "增加",
"Security Warning" => "安全性警告",
-"No secure random number generator is available, please enable the PHP OpenSSL extension." => "沒有å¯ç”¨çš„隨機數字產生器, 請啟用 PHP 中 OpenSSL 擴充功能.",
+"No secure random number generator is available, please enable the PHP OpenSSL extension." => "沒有å¯ç”¨çš„亂數產生器,請啟用 PHP 中的 OpenSSL 擴充功能。",
+"Without a secure random number generator an attacker may be able to predict password reset tokens and take over your account." => "若沒有安全的亂數產生器,攻擊者å¯èƒ½å¯ä»¥é æ¸¬å¯†ç¢¼é‡è¨­ä¿¡ç‰©ï¼Œç„¶å¾ŒæŽ§åˆ¶æ‚¨çš„帳戶。",
+"Your data directory and your files are probably accessible from the internet. The .htaccess file that ownCloud provides 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." => "您的資料目錄 (Data Directory) 和檔案å¯èƒ½å¯ä»¥ç”±ç¶²éš›ç¶²è·¯ä¸Šé¢å…¬é–‹å­˜å–。Owncloud 所æä¾›çš„ .htaccess 設定檔並未生效,我們強烈建議您設定您的網é ä¼ºæœå™¨ä»¥é˜²æ­¢è³‡æ–™ç›®éŒ„被公開存å–,或將您的資料目錄移出網é ä¼ºæœå™¨çš„ document root 。",
"Create an <strong>admin account</strong>" => "建立一個<strong>管ç†è€…帳號</strong>",
"Advanced" => "進階",
"Data folder" => "資料夾",
@@ -96,14 +117,15 @@
"October" => "åæœˆ",
"November" => "å一月",
"December" => "å二月",
-"web services under your control" => "網路æœå‹™å·²åœ¨ä½ æŽ§åˆ¶",
+"web services under your control" => "網路æœå‹™åœ¨æ‚¨æŽ§åˆ¶ä¹‹ä¸‹",
"Log out" => "登出",
-"Lost your password?" => "忘記密碼?",
+"Automatic logon rejected!" => "自動登入被拒ï¼",
+"If you did not change your password recently, your account may be compromised!" => "如果您最近並未更改密碼,您的帳號å¯èƒ½å·²ç¶“é­åˆ°å…¥ä¾µï¼",
+"Please change your password to secure your account again." => "è«‹æ›´æ”¹æ‚¨çš„å¯†ç¢¼ä»¥å†æ¬¡å–得您的帳戶的控制權。",
+"Lost your password?" => "忘記密碼?",
"remember" => "記ä½",
"Log in" => "登入",
-"You are logged out." => "你已登出",
"prev" => "上一é ",
"next" => "下一é ",
-"Security Warning!" => "安全性警告!",
-"Verify" => "é©—è­‰"
+"Updating ownCloud to version %s, this may take a while." => "正在將 Owncloud å‡ç´šè‡³ç‰ˆæœ¬ %s ,這å¯èƒ½éœ€è¦ä¸€é»žæ™‚間。"
);
diff --git a/core/lostpassword/controller.php b/core/lostpassword/controller.php
index e64b16d3b83..3ef8eaf71aa 100644
--- a/core/lostpassword/controller.php
+++ b/core/lostpassword/controller.php
@@ -45,8 +45,6 @@ class OC_Core_LostPassword_Controller {
$l = OC_L10N::get('core');
$from = OCP\Util::getDefaultEmailAddress('lostpassword-noreply');
OC_Mail::send($email, $_POST['user'], $l->t('ownCloud password reset'), $msg, $from, 'ownCloud');
- echo('Mailsent');
-
self::displayLostPasswordPage(false, true);
} else {
self::displayLostPasswordPage(true, false);
diff --git a/core/routes.php b/core/routes.php
index fc511d403d8..7408858b107 100644
--- a/core/routes.php
+++ b/core/routes.php
@@ -32,6 +32,9 @@ $this->create('core_ajax_vcategories_favorites', '/core/ajax/vcategories/favorit
->actionInclude('core/ajax/vcategories/favorites.php');
$this->create('core_ajax_vcategories_edit', '/core/ajax/vcategories/edit.php')
->actionInclude('core/ajax/vcategories/edit.php');
+// oC JS config
+$this->create('js_config', '/core/js/config.js')
+ ->actionInclude('core/js/config.php');
// Routing
$this->create('core_ajax_routes', '/core/routes.json')
->action('OC_Router', 'JSRoutes');
diff --git a/core/templates/exception.php b/core/templates/exception.php
index 4b951fca51b..47792225557 100644
--- a/core/templates/exception.php
+++ b/core/templates/exception.php
@@ -5,7 +5,7 @@
<p class="exception">
<?php
if($_['showsysinfo'] == true) {
- echo 'If you would like to support ownCloud\'s developers and report this error in our <a href="http://bugs.owncloud.org">Bugtracker</a>, please copy the following informations into the description. <br><br><textarea readonly>';
+ echo 'If you would like to support ownCloud\'s developers and report this error in our <a href="https://github.com/owncloud/core">bug tracker</a>, please copy the following informations into the description. <br><br><textarea readonly>';
echo 'Message: ' . $_['message'] . "\n";
echo 'Error Code: ' . $_['code'] . "\n";
echo 'File: ' . $_['file'] . "\n";
diff --git a/core/templates/installation.php b/core/templates/installation.php
index 28fbf29b540..03c580c9b0b 100644
--- a/core/templates/installation.php
+++ b/core/templates/installation.php
@@ -1,7 +1,7 @@
-<input type='hidden' id='hasMySQL' value='<?php echo $_['hasMySQL'] ?>'></input>
-<input type='hidden' id='hasSQLite' value='<?php echo $_['hasSQLite'] ?>'></input>
-<input type='hidden' id='hasPostgreSQL' value='<?php echo $_['hasPostgreSQL'] ?>'></input>
-<input type='hidden' id='hasOracle' value='<?php echo $_['hasOracle'] ?>'></input>
+<input type='hidden' id='hasMySQL' value='<?php echo $_['hasMySQL'] ?>'>
+<input type='hidden' id='hasSQLite' value='<?php echo $_['hasSQLite'] ?>'>
+<input type='hidden' id='hasPostgreSQL' value='<?php echo $_['hasPostgreSQL'] ?>'>
+<input type='hidden' id='hasOracle' value='<?php echo $_['hasOracle'] ?>'>
<form action="index.php" method="post">
<input type="hidden" name="install" value="true" />
<?php if(count($_['errors']) > 0): ?>
@@ -113,7 +113,7 @@
</p>
<p class="infield groupmiddle">
<label for="dbname" class="infield"><?php echo $l->t( 'Database name' ); ?></label>
- <input type="text" name="dbname" id="dbname" value="<?php print OC_Helper::init_var('dbname'); ?>" autocomplete="off" pattern="[0-9a-zA-Z$_]+" />
+ <input type="text" name="dbname" id="dbname" value="<?php print OC_Helper::init_var('dbname'); ?>" autocomplete="off" pattern="[0-9a-zA-Z$_-]+" />
</p>
</div>
<?php endif; ?>
diff --git a/core/templates/layout.base.php b/core/templates/layout.base.php
index 47f4b423b3e..47fb75612cf 100644
--- a/core/templates/layout.base.php
+++ b/core/templates/layout.base.php
@@ -7,12 +7,7 @@
<?php foreach ($_['cssfiles'] as $cssfile): ?>
<link rel="stylesheet" href="<?php echo $cssfile; ?>" type="text/css" media="screen" />
<?php endforeach; ?>
- <script type="text/javascript">
- var oc_debug = <?php echo (defined('DEBUG') && DEBUG) ? 'true' : 'false'; ?>;
- var oc_webroot = '<?php echo OC::$WEBROOT; ?>';
- var oc_appswebroots = <?php echo $_['apps_paths'] ?>;
- var oc_requesttoken = '<?php echo $_['requesttoken']; ?>';
- </script>
+ <script type="text/javascript" src="<?php echo OC_Helper::linkToRoute('js_config');?>"></script>
<?php foreach ($_['jsfiles'] as $jsfile): ?>
<script type="text/javascript" src="<?php echo $jsfile; ?>"></script>
<?php endforeach; ?>
diff --git a/core/templates/layout.guest.php b/core/templates/layout.guest.php
index 8395426e4e4..9aabc08acec 100644
--- a/core/templates/layout.guest.php
+++ b/core/templates/layout.guest.php
@@ -3,20 +3,12 @@
<head>
<title>ownCloud</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+ <meta name="apple-itunes-app" content="app-id=543672169">
<link rel="shortcut icon" href="<?php echo image_path('', 'favicon.png'); ?>" /><link rel="apple-touch-icon-precomposed" href="<?php echo image_path('', 'favicon-touch.png'); ?>" />
<?php foreach($_['cssfiles'] as $cssfile): ?>
<link rel="stylesheet" href="<?php echo $cssfile; ?>" type="text/css" media="screen" />
<?php endforeach; ?>
- <script type="text/javascript">
- var oc_debug = <?php echo (defined('DEBUG') && DEBUG) ? 'true' : 'false'; ?>;
- var oc_webroot = '<?php echo OC::$WEBROOT; ?>';
- var oc_appswebroots = <?php echo $_['apps_paths'] ?>;
- var oc_requesttoken = '<?php echo $_['requesttoken']; ?>';
- var datepickerFormatDate = <?php echo json_encode($l->l('jsdate', 'jsdate')) ?>;
- var dayNames = <?php echo json_encode(array((string)$l->t('Sunday'), (string)$l->t('Monday'), (string)$l->t('Tuesday'), (string)$l->t('Wednesday'), (string)$l->t('Thursday'), (string)$l->t('Friday'), (string)$l->t('Saturday'))) ?>;
- var monthNames = <?php echo json_encode(array((string)$l->t('January'), (string)$l->t('February'), (string)$l->t('March'), (string)$l->t('April'), (string)$l->t('May'), (string)$l->t('June'), (string)$l->t('July'), (string)$l->t('August'), (string)$l->t('September'), (string)$l->t('October'), (string)$l->t('November'), (string)$l->t('December'))) ?>;
- var firstDay = <?php echo json_encode($l->l('firstday', 'firstday')) ?>;
- </script>
+ <script type="text/javascript" src="<?php echo OC_Helper::linkToRoute('js_config');?>"></script>
<?php foreach($_['jsfiles'] as $jsfile): ?>
<script type="text/javascript" src="<?php echo $jsfile; ?>"></script>
<?php endforeach; ?>
diff --git a/core/templates/layout.user.php b/core/templates/layout.user.php
index ba5053edecf..18291e0f84e 100644
--- a/core/templates/layout.user.php
+++ b/core/templates/layout.user.php
@@ -3,31 +3,15 @@
<head>
<title><?php echo isset($_['application']) && !empty($_['application'])?$_['application'].' | ':'' ?>ownCloud <?php echo OC_User::getUser()?' ('.OC_User::getUser().') ':'' ?></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+ <meta name="apple-itunes-app" content="app-id=543672169">
<link rel="shortcut icon" href="<?php echo image_path('', 'favicon.png'); ?>" /><link rel="apple-touch-icon-precomposed" href="<?php echo image_path('', 'favicon-touch.png'); ?>" />
<?php foreach($_['cssfiles'] as $cssfile): ?>
<link rel="stylesheet" href="<?php echo $cssfile; ?>" type="text/css" media="screen" />
<?php endforeach; ?>
- <script type="text/javascript">
- var oc_debug = <?php echo (defined('DEBUG') && DEBUG) ? 'true' : 'false'; ?>;
- var oc_webroot = '<?php echo OC::$WEBROOT; ?>';
- var oc_appswebroots = <?php echo $_['apps_paths'] ?>;
- var oc_current_user = '<?php echo OC_User::getUser() ?>';
- var oc_requesttoken = '<?php echo $_['requesttoken']; ?>';
- var datepickerFormatDate = <?php echo json_encode($l->l('jsdate', 'jsdate')) ?>;
- var dayNames = <?php echo json_encode(array((string)$l->t('Sunday'), (string)$l->t('Monday'), (string)$l->t('Tuesday'), (string)$l->t('Wednesday'), (string)$l->t('Thursday'), (string)$l->t('Friday'), (string)$l->t('Saturday'))) ?>;
- var monthNames = <?php echo json_encode(array((string)$l->t('January'), (string)$l->t('February'), (string)$l->t('March'), (string)$l->t('April'), (string)$l->t('May'), (string)$l->t('June'), (string)$l->t('July'), (string)$l->t('August'), (string)$l->t('September'), (string)$l->t('October'), (string)$l->t('November'), (string)$l->t('December'))) ?>;
- var firstDay = <?php echo json_encode($l->l('firstday', 'firstday')) ?>;
- </script>
+ <script type="text/javascript" src="<?php echo OC_Helper::linkToRoute('js_config');?>"></script>
<?php foreach($_['jsfiles'] as $jsfile): ?>
<script type="text/javascript" src="<?php echo $jsfile; ?>"></script>
<?php endforeach; ?>
- <script type="text/javascript">
- requesttoken = '<?php echo $_['requesttoken']; ?>';
- OC.EventSource.requesttoken=requesttoken;
- $(document).bind('ajaxSend', function(elm, xhr, s) {
- xhr.setRequestHeader('requesttoken', requesttoken);
- });
- </script>
<?php foreach($_['headers'] as $header): ?>
<?php
echo '<'.$header['tag'].' ';
@@ -40,7 +24,10 @@
</head>
<body id="<?php echo $_['bodyid'];?>">
- <header><div id="header">
+ <div id="notification-container">
+ <div id="notification"></div>
+ </div>
+ <header><div id="header">
<a href="<?php echo link_to('', 'index.php'); ?>" title="" id="owncloud"><img class="svg" src="<?php echo image_path('', 'logo-wide.svg'); ?>" alt="ownCloud" /></a>
<a class="header-right header-action" id="logout" href="<?php echo link_to('', 'index.php'); ?>?logout=true"><img class="svg" alt="<?php echo $l->t('Log out');?>" title="<?php echo $l->t('Log out'); echo OC_User::getUser()?' ('.OC_User::getUser().') ':'' ?>" src="<?php echo image_path('', 'actions/logout.svg'); ?>" /></a>
<form class="searchbox header-right" action="#" method="post">
@@ -67,8 +54,10 @@
</ul>
</div></nav>
- <div id="content">
- <?php echo $_['content']; ?>
+ <div id="content-wrapper">
+ <div id="content">
+ <?php echo $_['content']; ?>
+ </div>
</div>
</body>
</html>
diff --git a/core/templates/login.php b/core/templates/login.php
index 10093baabf7..c82d2cafa2e 100644
--- a/core/templates/login.php
+++ b/core/templates/login.php
@@ -1,50 +1,45 @@
<!--[if IE 8]><style>input[type="checkbox"]{padding:0;}</style><![endif]-->
<form method="post">
- <fieldset>
- <?php if (!empty($_['redirect_url'])) {
- echo '<input type="hidden" name="redirect_url" value="' . $_['redirect_url'] . '" />';
- } ?>
- <ul>
- <?php if (isset($_['invalidcookie']) && ($_['invalidcookie'])): ?>
- <li class="errors">
- <?php echo $l->t('Automatic logon rejected!'); ?><br>
- <small><?php echo $l->t('If you did not change your password recently, your account may be compromised!'); ?></small>
- <br>
- <small><?php echo $l->t('Please change your password to secure your account again.'); ?></small>
- </li>
- <?php endif; ?>
- <?php if (isset($_['invalidpassword']) && ($_['invalidpassword'])): ?>
- <a href="<?php echo OC_Helper::linkToRoute('core_lostpassword_index') ?>">
- <li class="errors">
- <?php echo $l->t('Lost your password?'); ?>
- </li>
- </a>
- <?php endif; ?>
- </ul>
- <p class="infield grouptop">
- <input type="text" name="user" id="user"
- value="<?php echo $_['username']; ?>"<?php echo $_['user_autofocus'] ? ' autofocus' : ''; ?>
- autocomplete="on" required/>
- <label for="user" class="infield"><?php echo $l->t('Username'); ?></label>
- <img class="svg" src="<?php echo image_path('', 'actions/user.svg'); ?>" alt=""/>
- </p>
+ <fieldset>
+ <?php if (!empty($_['redirect_url'])) {
+ echo '<input type="hidden" name="redirect_url" value="' . $_['redirect_url'] . '" />';
+ } ?>
+ <ul>
+ <?php if (isset($_['invalidcookie']) && ($_['invalidcookie'])): ?>
+ <li class="errors">
+ <?php echo $l->t('Automatic logon rejected!'); ?><br>
+ <small><?php echo $l->t('If you did not change your password recently, your account may be compromised!'); ?></small>
+ <br>
+ <small><?php echo $l->t('Please change your password to secure your account again.'); ?></small>
+ </li>
+ <?php endif; ?>
+ <?php if (isset($_['invalidpassword']) && ($_['invalidpassword'])): ?>
+ <a href="<?php echo OC_Helper::linkToRoute('core_lostpassword_index') ?>">
+ <li class="errors">
+ <?php echo $l->t('Lost your password?'); ?>
+ </li>
+ </a>
+ <?php endif; ?>
+ </ul>
+ <p class="infield grouptop">
+ <input type="text" name="user" id="user"
+ value="<?php echo $_['username']; ?>"<?php echo $_['user_autofocus'] ? ' autofocus' : ''; ?>
+ autocomplete="on" required/>
+ <label for="user" class="infield"><?php echo $l->t('Username'); ?></label>
+ <img class="svg" src="<?php echo image_path('', 'actions/user.svg'); ?>" alt=""/>
+ </p>
- <p class="infield groupbottom">
- <input type="password" name="password" id="password" value=""
- required<?php echo $_['user_autofocus'] ? '' : ' autofocus'; ?> />
- <label for="password" class="infield"><?php echo $l->t('Password'); ?></label>
- <img class="svg" src="<?php echo image_path('', 'actions/password.svg'); ?>" alt=""/>
- </p>
- <input type="checkbox" name="remember_login" value="1" id="remember_login"/><label
- for="remember_login"><?php echo $l->t('remember'); ?></label>
- <input type="hidden" name="timezone-offset" id="timezone-offset"/>
- <input type="submit" id="submit" class="login primary" value="<?php echo $l->t('Log in'); ?>"/>
- </fieldset>
+ <p class="infield groupbottom">
+ <input type="password" name="password" id="password" value=""
+ required<?php echo $_['user_autofocus'] ? '' : ' autofocus'; ?> />
+ <label for="password" class="infield"><?php echo $l->t('Password'); ?></label>
+ <img class="svg" src="<?php echo image_path('', 'actions/password.svg'); ?>" alt=""/>
+ </p>
+ <input type="checkbox" name="remember_login" value="1" id="remember_login"/><label
+ for="remember_login"><?php echo $l->t('remember'); ?></label>
+ <input type="hidden" name="timezone-offset" id="timezone-offset"/>
+ <input type="submit" id="submit" class="login primary" value="<?php echo $l->t('Log in'); ?>"/>
+ </fieldset>
</form>
-<script>
- $(document).ready(function () {
- var visitortimezone = (-new Date().getTimezoneOffset() / 60);
- $('#timezone-offset').val(visitortimezone);
- });
+<?php OCP\Util::addscript('core', 'visitortimezone'); ?>
-</script>
diff --git a/core/templates/logout.php b/core/templates/logout.php
deleted file mode 100644
index 2247ed8e70f..00000000000
--- a/core/templates/logout.php
+++ /dev/null
@@ -1 +0,0 @@
-<?php echo $l->t( 'You are logged out.' );
diff --git a/core/templates/update.php b/core/templates/update.php
new file mode 100644
index 00000000000..c9f3144f257
--- /dev/null
+++ b/core/templates/update.php
@@ -0,0 +1,31 @@
+<ul>
+ <li class='update'>
+ <?php echo $l->t('Updating ownCloud to version %s, this may take a while.', array($_['version'])); ?><br /><br />
+ </li>
+</ul>
+<script>
+ $(document).ready(function () {
+ OC.EventSource.requesttoken = oc_requesttoken;
+ var updateEventSource = new OC.EventSource(OC.webroot+'/core/ajax/update.php');
+ updateEventSource.listen('success', function(message) {
+ $('<span>').append(message).append('<br />').appendTo($('.update'));
+ });
+ updateEventSource.listen('error', function(message) {
+ $('<span>').addClass('error').append(message).append('<br />').appendTo($('.update'));
+ });
+ updateEventSource.listen('failure', function(message) {
+ $('<span>').addClass('error').append(message).append('<br />').appendTo($('.update'));
+ $('<span>')
+ .addClass('error bold')
+ .append('<br />')
+ .append(t('core', 'The update was unsuccessful. Please report this issue to the <a href="https://github.com/owncloud/core/issues" target="_blank">ownCloud community</a>.'))
+ .appendTo($('.update'));
+ });
+ updateEventSource.listen('done', function(message) {
+ $('<span>').addClass('bold').append('<br />').append(t('core', 'The update was successful. Redirecting you to ownCloud now.')).appendTo($('.update'));
+ setTimeout(function () {
+ window.location.href = OC.webroot;
+ }, 3000);
+ });
+ });
+</script> \ No newline at end of file
diff --git a/core/templates/verify.php b/core/templates/verify.php
deleted file mode 100644
index 600eaca05b7..00000000000
--- a/core/templates/verify.php
+++ /dev/null
@@ -1,18 +0,0 @@
-<form method="post">
- <fieldset>
- <ul>
- <li class="errors">
- <?php echo $l->t('Security Warning!'); ?><br>
- <small><?php echo $l->t("Please verify your password. <br/>For security reasons you may be occasionally asked to enter your password again."); ?></small>
- </li>
- </ul>
- <p class="infield">
- <input type="text" value="<?php echo $_['username']; ?>" disabled="disabled" />
- </p>
- <p class="infield">
- <label for="password" class="infield"><?php echo $l->t( 'Password' ); ?></label>
- <input type="password" name="password" id="password" value="" required />
- </p>
- <input type="submit" id="submit" class="login" value="<?php echo $l->t( 'Verify' ); ?>" />
- </fieldset>
-</form>
diff --git a/issue_template.md b/issue_template.md
new file mode 100644
index 00000000000..f9bff71af97
--- /dev/null
+++ b/issue_template.md
@@ -0,0 +1,46 @@
+### Expected behaviour
+Tell us what should happen
+
+### Actual behaviour
+Tell us what happens instead
+
+### Steps to reproduce
+1.
+2.
+3.
+
+### Server configuration
+Operating system:
+
+Web server:
+
+Database:
+
+PHP version:
+
+ownCloud version:
+
+### Client configuration
+Browser:
+
+Operating system:
+
+### Logs
+#### Web server error log
+```
+Insert your webserver log here
+```
+
+#### ownCloud log (data/owncloud.log)
+```
+Insert your ownCloud log here
+```
+
+#### Browser log
+```
+Insert your browser log here, this could for example include:
+
+a) The javascript console log
+b) The network log
+c) ...
+```
diff --git a/l10n/ar/core.po b/l10n/ar/core.po
index 0785bd05e65..c1497f76a41 100644
--- a/l10n/ar/core.po
+++ b/l10n/ar/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: 2012-12-24 00:10+0100\n"
-"PO-Revision-Date: 2012-12-23 19:06+0000\n"
-"Last-Translator: aboodilankaboot <shiningmoon25@gmail.com>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:03+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -85,55 +85,55 @@ msgstr ""
msgid "Settings"
msgstr "تعديلات"
-#: js/js.js:704
+#: js/js.js:711
msgid "seconds ago"
msgstr "منذ ثواني"
-#: js/js.js:705
+#: js/js.js:712
msgid "1 minute ago"
msgstr "منذ دقيقة"
-#: js/js.js:706
+#: js/js.js:713
msgid "{minutes} minutes ago"
msgstr "{minutes} منذ دقائق"
-#: js/js.js:707
+#: js/js.js:714
msgid "1 hour ago"
msgstr ""
-#: js/js.js:708
+#: js/js.js:715
msgid "{hours} hours ago"
msgstr ""
-#: js/js.js:709
+#: js/js.js:716
msgid "today"
msgstr "اليوم"
-#: js/js.js:710
+#: js/js.js:717
msgid "yesterday"
msgstr ""
-#: js/js.js:711
+#: js/js.js:718
msgid "{days} days ago"
msgstr ""
-#: js/js.js:712
+#: js/js.js:719
msgid "last month"
msgstr ""
-#: js/js.js:713
+#: js/js.js:720
msgid "{months} months ago"
msgstr ""
-#: js/js.js:714
+#: js/js.js:721
msgid "months ago"
msgstr ""
-#: js/js.js:715
+#: js/js.js:722
msgid "last year"
msgstr ""
-#: js/js.js:716
+#: js/js.js:723
msgid "years ago"
msgstr ""
@@ -209,7 +209,6 @@ msgid "Password protect"
msgstr "حماية كلمة السر"
#: js/share.js:168 templates/installation.php:44 templates/login.php:35
-#: templates/verify.php:13
msgid "Password"
msgstr "كلمة السر"
@@ -554,10 +553,6 @@ msgstr "تذكر"
msgid "Log in"
msgstr "أدخل"
-#: templates/logout.php:1
-msgid "You are logged out."
-msgstr "تم الخروج بنجاح."
-
#: templates/part.pagenavi.php:3
msgid "prev"
msgstr "السابق"
@@ -566,16 +561,7 @@ msgstr "السابق"
msgid "next"
msgstr "التالي"
-#: templates/verify.php:5
-msgid "Security Warning!"
-msgstr "تحذير أمان!"
-
-#: templates/verify.php:6
-msgid ""
-"Please verify your password. <br/>For security reasons you may be "
-"occasionally asked to enter your password again."
-msgstr "الرجاء التحقق من كلمة السر. <br/>من الممكن أحياناً أن نطلب منك إعادة إدخال كلمة السر مرة أخرى."
-
-#: templates/verify.php:16
-msgid "Verify"
-msgstr "تحقيق"
+#: templates/update.php:3
+#, php-format
+msgid "Updating ownCloud to version %s, this may take a while."
+msgstr ""
diff --git a/l10n/ar/files.po b/l10n/ar/files.po
index 2f8cead51f3..121094a24f7 100644
--- a/l10n/ar/files.po
+++ b/l10n/ar/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: 2012-12-01 00:01+0100\n"
-"PO-Revision-Date: 2012-11-30 23:02+0000\n"
+"POT-Creation-Date: 2013-01-20 00:05+0100\n"
+"PO-Revision-Date: 2013-01-19 23:05+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"
@@ -18,46 +18,77 @@ msgstr ""
"Language: ar\n"
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
+#: ajax/delete.php:28 ajax/getstoragestats.php:11 ajax/upload.php:17
+#: ajax/upload.php:76 templates/index.php:18
+msgid "Upload"
+msgstr "Ø¥Ø±ÙØ¹"
+
+#: ajax/move.php:17
+#, php-format
+msgid "Could not move %s - File with this name already exists"
+msgstr ""
+
+#: ajax/move.php:24
+#, php-format
+msgid "Could not move %s"
+msgstr ""
+
+#: ajax/rename.php:19
+msgid "Unable to rename file"
+msgstr ""
+
#: ajax/upload.php:20
+msgid "No file was uploaded. Unknown error"
+msgstr ""
+
+#: ajax/upload.php:30
msgid "There is no error, the file uploaded with success"
msgstr "تم ترÙيع Ø§Ù„Ù…Ù„ÙØ§Øª بنجاح."
-#: ajax/upload.php:21
+#: ajax/upload.php:31
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr ""
-#: ajax/upload.php:23
+#: ajax/upload.php:33
msgid ""
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
"the HTML form"
msgstr "حجم المل٠الذي تريد ترÙيعه أعلى مما MAX_FILE_SIZE يسمح به ÙÙŠ واجهة ال HTML."
-#: ajax/upload.php:25
+#: ajax/upload.php:35
msgid "The uploaded file was only partially uploaded"
msgstr "تم ترÙيع جزء من Ø§Ù„Ù…Ù„ÙØ§Øª الذي تريد ترÙيعها Ùقط"
-#: ajax/upload.php:26
+#: ajax/upload.php:36
msgid "No file was uploaded"
msgstr "لم يتم ترÙيع أي من Ø§Ù„Ù…Ù„ÙØ§Øª"
-#: ajax/upload.php:27
+#: ajax/upload.php:37
msgid "Missing a temporary folder"
msgstr "المجلد المؤقت غير موجود"
-#: ajax/upload.php:28
+#: ajax/upload.php:38
msgid "Failed to write to disk"
msgstr ""
+#: ajax/upload.php:57
+msgid "Not enough space available"
+msgstr ""
+
+#: ajax/upload.php:91
+msgid "Invalid directory."
+msgstr ""
+
#: appinfo/app.php:10
msgid "Files"
msgstr "Ø§Ù„Ù…Ù„ÙØ§Øª"
-#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84
+#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
msgid "Unshare"
msgstr "إلغاء مشاركة"
-#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90
+#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
msgid "Delete"
msgstr "محذوÙ"
@@ -65,122 +96,136 @@ msgstr "محذوÙ"
msgid "Rename"
msgstr ""
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "{new_name} already exists"
msgstr ""
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "replace"
msgstr ""
-#: js/filelist.js:201
+#: js/filelist.js:205
msgid "suggest name"
msgstr ""
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "cancel"
msgstr ""
-#: js/filelist.js:250
+#: js/filelist.js:254
msgid "replaced {new_name}"
msgstr ""
-#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286
+#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
msgid "undo"
msgstr ""
-#: js/filelist.js:252
+#: js/filelist.js:256
msgid "replaced {new_name} with {old_name}"
msgstr ""
-#: js/filelist.js:284
+#: js/filelist.js:288
msgid "unshared {files}"
msgstr ""
-#: js/filelist.js:286
+#: js/filelist.js:290
msgid "deleted {files}"
msgstr ""
-#: js/files.js:33
+#: js/files.js:48
+msgid "'.' is an invalid file name."
+msgstr ""
+
+#: js/files.js:53
+msgid "File name cannot be empty."
+msgstr ""
+
+#: js/files.js:62
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr ""
-#: js/files.js:183
-msgid "generating ZIP-file, it may take some time."
+#: js/files.js:204
+msgid ""
+"Your download is being prepared. This might take some time if the files are "
+"big."
msgstr ""
-#: js/files.js:218
+#: js/files.js:242
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr ""
-#: js/files.js:218
+#: js/files.js:242
msgid "Upload Error"
msgstr ""
-#: js/files.js:235
+#: js/files.js:259
msgid "Close"
msgstr "إغلق"
-#: js/files.js:254 js/files.js:368 js/files.js:398
+#: js/files.js:278 js/files.js:397 js/files.js:431
msgid "Pending"
msgstr ""
-#: js/files.js:274
+#: js/files.js:298
msgid "1 file uploading"
msgstr ""
-#: js/files.js:277 js/files.js:331 js/files.js:346
+#: js/files.js:301 js/files.js:357 js/files.js:372
msgid "{count} files uploading"
msgstr ""
-#: js/files.js:349 js/files.js:382
+#: js/files.js:376 js/files.js:414
msgid "Upload cancelled."
msgstr ""
-#: js/files.js:451
+#: js/files.js:486
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr ""
-#: js/files.js:523
-msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud"
+#: js/files.js:559
+msgid "URL cannot be empty."
msgstr ""
-#: js/files.js:704
+#: js/files.js:565
+msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
+msgstr ""
+
+#: js/files.js:775
msgid "{count} files scanned"
msgstr ""
-#: js/files.js:712
+#: js/files.js:783
msgid "error while scanning"
msgstr ""
-#: js/files.js:785 templates/index.php:65
+#: js/files.js:857 templates/index.php:64
msgid "Name"
msgstr "الاسم"
-#: js/files.js:786 templates/index.php:76
+#: js/files.js:858 templates/index.php:75
msgid "Size"
msgstr "حجم"
-#: js/files.js:787 templates/index.php:78
+#: js/files.js:859 templates/index.php:77
msgid "Modified"
msgstr "معدل"
-#: js/files.js:814
+#: js/files.js:878
msgid "1 folder"
msgstr ""
-#: js/files.js:816
+#: js/files.js:880
msgid "{count} folders"
msgstr ""
-#: js/files.js:824
+#: js/files.js:888
msgid "1 file"
msgstr ""
-#: js/files.js:826
+#: js/files.js:890
msgid "{count} files"
msgstr ""
@@ -192,27 +237,27 @@ msgstr ""
msgid "Maximum upload size"
msgstr "الحد الأقصى لحجم Ø§Ù„Ù…Ù„ÙØ§Øª التي يمكن Ø±ÙØ¹Ù‡Ø§"
-#: templates/admin.php:9
+#: templates/admin.php:10
msgid "max. possible: "
msgstr ""
-#: templates/admin.php:12
+#: templates/admin.php:15
msgid "Needed for multi-file and folder downloads."
msgstr ""
-#: templates/admin.php:14
+#: templates/admin.php:17
msgid "Enable ZIP-download"
msgstr ""
-#: templates/admin.php:17
+#: templates/admin.php:20
msgid "0 is unlimited"
msgstr ""
-#: templates/admin.php:19
+#: templates/admin.php:22
msgid "Maximum input size for ZIP files"
msgstr ""
-#: templates/admin.php:23
+#: templates/admin.php:26
msgid "Save"
msgstr "Ø­ÙØ¸"
@@ -232,36 +277,32 @@ msgstr "مجلد"
msgid "From link"
msgstr ""
-#: templates/index.php:35
-msgid "Upload"
-msgstr "Ø¥Ø±ÙØ¹"
-
-#: templates/index.php:43
+#: templates/index.php:41
msgid "Cancel upload"
msgstr ""
-#: templates/index.php:57
+#: templates/index.php:56
msgid "Nothing in here. Upload something!"
msgstr "لا يوجد شيء هنا. Ø¥Ø±ÙØ¹ بعض Ø§Ù„Ù…Ù„ÙØ§Øª!"
-#: templates/index.php:71
+#: templates/index.php:70
msgid "Download"
msgstr "تحميل"
-#: templates/index.php:103
+#: templates/index.php:102
msgid "Upload too large"
msgstr "حجم الترÙيع أعلى من المسموح"
-#: templates/index.php:105
+#: templates/index.php:104
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "حجم Ø§Ù„Ù…Ù„ÙØ§Øª التي تريد ترÙيعها أعلى من المسموح على الخادم."
-#: templates/index.php:110
+#: templates/index.php:109
msgid "Files are being scanned, please wait."
msgstr ""
-#: templates/index.php:113
+#: templates/index.php:112
msgid "Current scanning"
msgstr ""
diff --git a/l10n/ar/files_encryption.po b/l10n/ar/files_encryption.po
index 1d2de3d76f2..a3c4ed89318 100644
--- a/l10n/ar/files_encryption.po
+++ b/l10n/ar/files_encryption.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-11-13 00:05+0100\n"
-"PO-Revision-Date: 2012-11-12 13:20+0000\n"
-"Last-Translator: TYMAH <hussein-atef@hotmail.com>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,18 +18,66 @@ msgstr ""
"Language: ar\n"
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "التشÙير"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "استبعد أنواع Ø§Ù„Ù…Ù„ÙØ§Øª التالية من التشÙير"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "لا شيء"
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "ØªÙØ¹ÙŠÙ„ التشÙير"
diff --git a/l10n/ar/files_versions.po b/l10n/ar/files_versions.po
index 3b32ba6301d..8224c627626 100644
--- a/l10n/ar/files_versions.po
+++ b/l10n/ar/files_versions.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-23 00:09+0100\n"
-"PO-Revision-Date: 2012-12-22 19:47+0000\n"
-"Last-Translator: aboodilankaboot <shiningmoon25@gmail.com>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:03+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,22 +18,10 @@ msgstr ""
"Language: ar\n"
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
-#: js/settings-personal.js:31 templates/settings-personal.php:7
-msgid "Expire all versions"
-msgstr "إنهاء تاريخ الإنتهاء لجميع الإصدارات"
-
#: js/versions.js:16
msgid "History"
msgstr "السجل الزمني"
-#: templates/settings-personal.php:4
-msgid "Versions"
-msgstr "الإصدارات"
-
-#: templates/settings-personal.php:10
-msgid "This will delete all existing backup versions of your files"
-msgstr "هذه العملية ستقوم بإلغاء جميع إصدارات النسخ الاحتياطي Ù„Ù„Ù…Ù„ÙØ§Øª"
-
#: templates/settings.php:3
msgid "Files Versioning"
msgstr "أصدرة Ø§Ù„Ù…Ù„ÙØ§Øª"
diff --git a/l10n/ar/lib.po b/l10n/ar/lib.po
index 6a9cdf2b15b..dbb9b7359cf 100644
--- a/l10n/ar/lib.po
+++ b/l10n/ar/lib.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-24 00:11+0100\n"
-"PO-Revision-Date: 2012-12-23 19:00+0000\n"
+"POT-Creation-Date: 2013-01-17 00:26+0100\n"
+"PO-Revision-Date: 2013-01-16 23:26+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"
@@ -17,27 +17,27 @@ msgstr ""
"Language: ar\n"
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
-#: app.php:287
+#: app.php:301
msgid "Help"
msgstr "المساعدة"
-#: app.php:294
+#: app.php:308
msgid "Personal"
msgstr "شخصي"
-#: app.php:299
+#: app.php:313
msgid "Settings"
msgstr "تعديلات"
-#: app.php:304
+#: app.php:318
msgid "Users"
msgstr "المستخدمين"
-#: app.php:311
+#: app.php:325
msgid "Apps"
msgstr ""
-#: app.php:313
+#: app.php:327
msgid "Admin"
msgstr ""
@@ -57,11 +57,15 @@ msgstr ""
msgid "Selected files too large to generate zip file."
msgstr ""
+#: helper.php:228
+msgid "couldn't be determined"
+msgstr ""
+
#: json.php:28
msgid "Application is not enabled"
msgstr ""
-#: json.php:39 json.php:64 json.php:77 json.php:89
+#: json.php:39 json.php:62 json.php:73
msgid "Authentication error"
msgstr "لم يتم التأكد من الشخصية بنجاح"
@@ -81,55 +85,55 @@ msgstr "معلومات إضاÙية"
msgid "Images"
msgstr ""
-#: template.php:103
+#: template.php:113
msgid "seconds ago"
msgstr "منذ ثواني"
-#: template.php:104
+#: template.php:114
msgid "1 minute ago"
msgstr "منذ دقيقة"
-#: template.php:105
+#: template.php:115
#, php-format
msgid "%d minutes ago"
msgstr ""
-#: template.php:106
+#: template.php:116
msgid "1 hour ago"
msgstr ""
-#: template.php:107
+#: template.php:117
#, php-format
msgid "%d hours ago"
msgstr ""
-#: template.php:108
+#: template.php:118
msgid "today"
msgstr "اليوم"
-#: template.php:109
+#: template.php:119
msgid "yesterday"
msgstr ""
-#: template.php:110
+#: template.php:120
#, php-format
msgid "%d days ago"
msgstr ""
-#: template.php:111
+#: template.php:121
msgid "last month"
msgstr ""
-#: template.php:112
+#: template.php:122
#, php-format
msgid "%d months ago"
msgstr ""
-#: template.php:113
+#: template.php:123
msgid "last year"
msgstr ""
-#: template.php:114
+#: template.php:124
msgid "years ago"
msgstr ""
diff --git a/l10n/ar/settings.po b/l10n/ar/settings.po
index e3ac2066d0d..1da68062efd 100644
--- a/l10n/ar/settings.po
+++ b/l10n/ar/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: 2012-12-24 00:11+0100\n"
-"PO-Revision-Date: 2012-12-23 18:36+0000\n"
-"Last-Translator: aboodilankaboot <shiningmoon25@gmail.com>\n"
+"POT-Creation-Date: 2013-01-12 00:09+0100\n"
+"PO-Revision-Date: 2013-01-11 23:09+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -32,7 +32,7 @@ msgstr "المجموعة موجودة مسبقاً"
msgid "Unable to add group"
msgstr "ÙØ´Ù„ Ø¥Ø¶Ø§ÙØ© المجموعة"
-#: ajax/enableapp.php:12
+#: ajax/enableapp.php:11
msgid "Could not enable app. "
msgstr "ÙØ´Ù„ عملية ØªÙØ¹ÙŠÙ„ التطبيق"
@@ -44,14 +44,6 @@ msgstr "تم Ø­ÙØ¸ البريد الإلكتروني"
msgid "Invalid email"
msgstr "البريد الإلكتروني غير صالح"
-#: ajax/openid.php:13
-msgid "OpenID Changed"
-msgstr "تم تغيير ال OpenID"
-
-#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20
-msgid "Invalid request"
-msgstr "طلبك غير Ù…Ùهوم"
-
#: ajax/removegroup.php:13
msgid "Unable to delete group"
msgstr "ÙØ´Ù„ إزالة المجموعة"
@@ -68,6 +60,10 @@ msgstr "ÙØ´Ù„ إزالة المستخدم"
msgid "Language changed"
msgstr "تم تغيير اللغة"
+#: ajax/setlanguage.php:17 ajax/setlanguage.php:20
+msgid "Invalid request"
+msgstr "طلبك غير Ù…Ùهوم"
+
#: ajax/togglegroups.php:12
msgid "Admins can't remove themself from the admin group"
msgstr "لا يستطيع المدير إزالة حسابه من مجموعة المديرين"
@@ -163,7 +159,7 @@ msgstr "تحميل عميل آندرويد"
msgid "Download iOS Client"
msgstr "تحميل عميل آي أو أس"
-#: templates/personal.php:21 templates/users.php:23 templates/users.php:77
+#: templates/personal.php:21 templates/users.php:23 templates/users.php:82
msgid "Password"
msgstr "كلمات السر"
@@ -233,11 +229,11 @@ msgid ""
"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\">رخصة Ø£Ùيرو العمومية</abbr></a>."
-#: templates/users.php:21 templates/users.php:76
+#: templates/users.php:21 templates/users.php:81
msgid "Name"
msgstr "الاسم"
-#: templates/users.php:26 templates/users.php:78 templates/users.php:98
+#: templates/users.php:26 templates/users.php:83 templates/users.php:103
msgid "Groups"
msgstr "مجموعات"
@@ -246,21 +242,29 @@ msgid "Create"
msgstr "انشئ"
#: templates/users.php:35
-msgid "Default Quota"
-msgstr "الحصة النسبية Ø§Ù„Ø¥ÙØªØ±Ø§Ø¶ÙŠØ©"
+msgid "Default Storage"
+msgstr ""
+
+#: templates/users.php:42 templates/users.php:138
+msgid "Unlimited"
+msgstr ""
-#: templates/users.php:55 templates/users.php:138
+#: templates/users.php:60 templates/users.php:153
msgid "Other"
msgstr "شيء آخر"
-#: templates/users.php:80 templates/users.php:112
+#: templates/users.php:85 templates/users.php:117
msgid "Group Admin"
msgstr "مدير المجموعة"
-#: templates/users.php:82
-msgid "Quota"
-msgstr "حصه"
+#: templates/users.php:87
+msgid "Storage"
+msgstr ""
+
+#: templates/users.php:133
+msgid "Default"
+msgstr ""
-#: templates/users.php:146
+#: templates/users.php:161
msgid "Delete"
msgstr "حذÙ"
diff --git a/l10n/ar/user_ldap.po b/l10n/ar/user_ldap.po
index 7aaa90abe9a..ab2b79bb6c3 100644
--- a/l10n/ar/user_ldap.po
+++ b/l10n/ar/user_ldap.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-23 00:09+0100\n"
-"PO-Revision-Date: 2012-12-22 19:40+0000\n"
+"POT-Creation-Date: 2013-01-18 00:03+0100\n"
+"PO-Revision-Date: 2013-01-17 21:57+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"
@@ -26,8 +26,8 @@ msgstr ""
#: templates/settings.php:11
msgid ""
-"<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will"
-" not work. Please ask your system administrator to install it."
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not "
+"work. Please ask your system administrator to install it."
msgstr ""
#: templates/settings.php:15
@@ -44,6 +44,10 @@ msgid "Base DN"
msgstr ""
#: templates/settings.php:16
+msgid "One Base DN per line"
+msgstr ""
+
+#: templates/settings.php:16
msgid "You can specify Base DN for users and groups in the Advanced tab"
msgstr ""
@@ -114,10 +118,18 @@ msgstr ""
msgid "Base User Tree"
msgstr ""
+#: templates/settings.php:25
+msgid "One User Base DN per line"
+msgstr ""
+
#: templates/settings.php:26
msgid "Base Group Tree"
msgstr ""
+#: templates/settings.php:26
+msgid "One Group Base DN per line"
+msgstr ""
+
#: templates/settings.php:27
msgid "Group-Member association"
msgstr ""
@@ -180,4 +192,4 @@ msgstr ""
#: templates/settings.php:39
msgid "Help"
-msgstr ""
+msgstr "المساعدة"
diff --git a/l10n/ar/user_webdavauth.po b/l10n/ar/user_webdavauth.po
index ac1aa5b4a5e..92180c70e7e 100644
--- a/l10n/ar/user_webdavauth.po
+++ b/l10n/ar/user_webdavauth.po
@@ -9,9 +9,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-23 00:09+0100\n"
-"PO-Revision-Date: 2012-12-22 19:22+0000\n"
-"Last-Translator: aboodilankaboot <shiningmoon25@gmail.com>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -19,13 +19,17 @@ msgstr ""
"Language: ar\n"
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
+#: templates/settings.php:3
+msgid "WebDAV Authentication"
+msgstr ""
+
#: templates/settings.php:4
msgid "URL: http://"
msgstr "الرابط: http://"
#: templates/settings.php:6
msgid ""
-"ownCloud will send the user credentials to this URL is interpret http 401 "
-"and http 403 as credentials wrong and all other codes as credentials "
-"correct."
+"ownCloud will send the user credentials to this URL. 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 ""
diff --git a/l10n/bg_BG/core.po b/l10n/bg_BG/core.po
index f40f16cbec4..a4addcd1355 100644
--- a/l10n/bg_BG/core.po
+++ b/l10n/bg_BG/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: 2012-12-13 00:17+0100\n"
-"PO-Revision-Date: 2012-12-12 23:17+0000\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:03+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"
@@ -55,7 +55,7 @@ msgstr ""
#: ajax/vcategories/add.php:37
msgid "This category already exists: "
-msgstr "КатегориÑта вече ÑъщеÑтвува:"
+msgstr ""
#: ajax/vcategories/addToFavorites.php:26 ajax/vcategories/delete.php:27
#: ajax/vcategories/favorites.php:24
@@ -76,7 +76,7 @@ msgstr ""
#: ajax/vcategories/delete.php:35 js/oc-vcategories.js:136
msgid "No categories selected for deletion."
-msgstr "ÐÑма избрани категории за изтриване"
+msgstr ""
#: ajax/vcategories/removeFromFavorites.php:35
#, php-format
@@ -87,57 +87,57 @@ msgstr ""
msgid "Settings"
msgstr "ÐаÑтройки"
-#: js/js.js:704
+#: js/js.js:711
msgid "seconds ago"
-msgstr ""
+msgstr "преди Ñекунди"
-#: js/js.js:705
+#: js/js.js:712
msgid "1 minute ago"
-msgstr ""
+msgstr "преди 1 минута"
-#: js/js.js:706
+#: js/js.js:713
msgid "{minutes} minutes ago"
msgstr ""
-#: js/js.js:707
+#: js/js.js:714
msgid "1 hour ago"
-msgstr ""
+msgstr "преди 1 чаÑ"
-#: js/js.js:708
+#: js/js.js:715
msgid "{hours} hours ago"
msgstr ""
-#: js/js.js:709
+#: js/js.js:716
msgid "today"
-msgstr ""
+msgstr "днеÑ"
-#: js/js.js:710
+#: js/js.js:717
msgid "yesterday"
-msgstr ""
+msgstr "вчера"
-#: js/js.js:711
+#: js/js.js:718
msgid "{days} days ago"
msgstr ""
-#: js/js.js:712
+#: js/js.js:719
msgid "last month"
-msgstr ""
+msgstr "поÑледниÑÑ‚ меÑец"
-#: js/js.js:713
+#: js/js.js:720
msgid "{months} months ago"
msgstr ""
-#: js/js.js:714
+#: js/js.js:721
msgid "months ago"
msgstr ""
-#: js/js.js:715
+#: js/js.js:722
msgid "last year"
-msgstr ""
+msgstr "поÑледната година"
-#: js/js.js:716
+#: js/js.js:723
msgid "years ago"
-msgstr ""
+msgstr "поÑледните години"
#: js/oc-dialogs.js:126
msgid "Choose"
@@ -145,19 +145,19 @@ msgstr ""
#: js/oc-dialogs.js:146 js/oc-dialogs.js:166
msgid "Cancel"
-msgstr "Отказ"
+msgstr ""
#: js/oc-dialogs.js:162
msgid "No"
-msgstr "Ðе"
+msgstr ""
#: js/oc-dialogs.js:163
msgid "Yes"
-msgstr "Да"
+msgstr ""
#: js/oc-dialogs.js:180
msgid "Ok"
-msgstr "Добре"
+msgstr ""
#: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102
#: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162
@@ -165,10 +165,10 @@ msgid "The object type is not specified."
msgstr ""
#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136
-#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:541
-#: js/share.js:553
+#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:554
+#: js/share.js:566
msgid "Error"
-msgstr "Грешка"
+msgstr ""
#: js/oc-vcategories.js:179
msgid "The app name is not specified."
@@ -178,7 +178,7 @@ msgstr ""
msgid "The required file {file} is not installed!"
msgstr ""
-#: js/share.js:124 js/share.js:581
+#: js/share.js:124 js/share.js:594
msgid "Error while sharing"
msgstr ""
@@ -206,12 +206,11 @@ msgstr ""
msgid "Share with link"
msgstr ""
-#: js/share.js:164
+#: js/share.js:166
msgid "Password protect"
msgstr ""
-#: js/share.js:168 templates/installation.php:42 templates/login.php:24
-#: templates/verify.php:13
+#: js/share.js:168 templates/installation.php:44 templates/login.php:35
msgid "Password"
msgstr "Парола"
@@ -275,23 +274,23 @@ msgstr ""
msgid "share"
msgstr ""
-#: js/share.js:353 js/share.js:528 js/share.js:530
+#: js/share.js:356 js/share.js:541
msgid "Password protected"
msgstr ""
-#: js/share.js:541
+#: js/share.js:554
msgid "Error unsetting expiration date"
msgstr ""
-#: js/share.js:553
+#: js/share.js:566
msgid "Error setting expiration date"
msgstr ""
-#: js/share.js:568
+#: js/share.js:581
msgid "Sending ..."
msgstr ""
-#: js/share.js:579
+#: js/share.js:592
msgid "Email sent"
msgstr ""
@@ -305,7 +304,7 @@ msgstr ""
#: lostpassword/templates/lostpassword.php:3
msgid "You will receive a link to reset your password via Email."
-msgstr "Ще получите връзка за нулиране на паролата Ви."
+msgstr ""
#: lostpassword/templates/lostpassword.php:5
msgid "Reset email send."
@@ -315,18 +314,18 @@ msgstr ""
msgid "Request failed!"
msgstr ""
-#: lostpassword/templates/lostpassword.php:11 templates/installation.php:38
-#: templates/login.php:20
+#: lostpassword/templates/lostpassword.php:11 templates/installation.php:39
+#: templates/login.php:28
msgid "Username"
-msgstr "Потребител"
+msgstr ""
#: lostpassword/templates/lostpassword.php:14
msgid "Request reset"
-msgstr "Ðулиране на заÑвка"
+msgstr ""
#: lostpassword/templates/resetpassword.php:4
msgid "Your password was reset"
-msgstr "Вашата парола е нулирана"
+msgstr ""
#: lostpassword/templates/resetpassword.php:5
msgid "To login page"
@@ -334,11 +333,11 @@ msgstr ""
#: lostpassword/templates/resetpassword.php:8
msgid "New password"
-msgstr "Ðова парола"
+msgstr ""
#: lostpassword/templates/resetpassword.php:11
msgid "Reset password"
-msgstr "Ðулиране на парола"
+msgstr ""
#: strings.php:5
msgid "Personal"
@@ -350,7 +349,7 @@ msgstr "Потребители"
#: strings.php:7
msgid "Apps"
-msgstr "Програми"
+msgstr "ПриложениÑ"
#: strings.php:8
msgid "Admin"
@@ -362,15 +361,15 @@ msgstr "Помощ"
#: templates/403.php:12
msgid "Access forbidden"
-msgstr "ДоÑтъпът е забранен"
+msgstr ""
#: templates/404.php:12
msgid "Cloud not found"
-msgstr "облакът не намерен"
+msgstr ""
#: templates/edit_categories_dialog.php:4
msgid "Edit categories"
-msgstr "Редактиране на категориите"
+msgstr ""
#: templates/edit_categories_dialog.php:16
msgid "Add"
@@ -403,181 +402,168 @@ msgstr ""
#: templates/installation.php:36
msgid "Create an <strong>admin account</strong>"
-msgstr "Създаване на <strong>админ профил</strong>"
+msgstr ""
-#: templates/installation.php:48
+#: templates/installation.php:50
msgid "Advanced"
-msgstr "Разширено"
+msgstr ""
-#: templates/installation.php:50
+#: templates/installation.php:52
msgid "Data folder"
-msgstr "Ð”Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ Ð·Ð° данни"
+msgstr ""
-#: templates/installation.php:57
+#: templates/installation.php:59
msgid "Configure the database"
-msgstr "Конфигуриране на базата"
+msgstr ""
-#: templates/installation.php:62 templates/installation.php:73
-#: templates/installation.php:83 templates/installation.php:93
+#: templates/installation.php:64 templates/installation.php:75
+#: templates/installation.php:85 templates/installation.php:95
msgid "will be used"
-msgstr "ще Ñе ползва"
+msgstr ""
-#: templates/installation.php:105
+#: templates/installation.php:107
msgid "Database user"
-msgstr "Потребител за базата"
+msgstr ""
-#: templates/installation.php:109
+#: templates/installation.php:111
msgid "Database password"
-msgstr "Парола за базата"
+msgstr ""
-#: templates/installation.php:113
+#: templates/installation.php:115
msgid "Database name"
-msgstr "Име на базата"
+msgstr ""
-#: templates/installation.php:121
+#: templates/installation.php:123
msgid "Database tablespace"
msgstr ""
-#: templates/installation.php:127
+#: templates/installation.php:129
msgid "Database host"
-msgstr "ХоÑÑ‚ за базата"
+msgstr ""
-#: templates/installation.php:132
+#: templates/installation.php:134
msgid "Finish setup"
-msgstr "Завършване на наÑтройките"
+msgstr ""
#: templates/layout.guest.php:16 templates/layout.user.php:17
msgid "Sunday"
-msgstr "ÐеделÑ"
+msgstr ""
#: templates/layout.guest.php:16 templates/layout.user.php:17
msgid "Monday"
-msgstr "Понеделник"
+msgstr ""
#: templates/layout.guest.php:16 templates/layout.user.php:17
msgid "Tuesday"
-msgstr "Вторник"
+msgstr ""
#: templates/layout.guest.php:16 templates/layout.user.php:17
msgid "Wednesday"
-msgstr "СрÑда"
+msgstr ""
#: templates/layout.guest.php:16 templates/layout.user.php:17
msgid "Thursday"
-msgstr "Четвъртък"
+msgstr ""
#: templates/layout.guest.php:16 templates/layout.user.php:17
msgid "Friday"
-msgstr "Петък"
+msgstr ""
#: templates/layout.guest.php:16 templates/layout.user.php:17
msgid "Saturday"
-msgstr "Събота"
+msgstr ""
#: templates/layout.guest.php:17 templates/layout.user.php:18
msgid "January"
-msgstr "Януари"
+msgstr ""
#: templates/layout.guest.php:17 templates/layout.user.php:18
msgid "February"
-msgstr "Февруари"
+msgstr ""
#: templates/layout.guest.php:17 templates/layout.user.php:18
msgid "March"
-msgstr "Март"
+msgstr ""
#: templates/layout.guest.php:17 templates/layout.user.php:18
msgid "April"
-msgstr "Ðприл"
+msgstr ""
#: templates/layout.guest.php:17 templates/layout.user.php:18
msgid "May"
-msgstr "Май"
+msgstr ""
#: templates/layout.guest.php:17 templates/layout.user.php:18
msgid "June"
-msgstr "Юни"
+msgstr ""
#: templates/layout.guest.php:17 templates/layout.user.php:18
msgid "July"
-msgstr "Юли"
+msgstr ""
#: templates/layout.guest.php:17 templates/layout.user.php:18
msgid "August"
-msgstr "ÐвгуÑÑ‚"
+msgstr ""
#: templates/layout.guest.php:17 templates/layout.user.php:18
msgid "September"
-msgstr "Септември"
+msgstr ""
#: templates/layout.guest.php:17 templates/layout.user.php:18
msgid "October"
-msgstr "Октомври"
+msgstr ""
#: templates/layout.guest.php:17 templates/layout.user.php:18
msgid "November"
-msgstr "Ðоември"
+msgstr ""
#: templates/layout.guest.php:17 templates/layout.user.php:18
msgid "December"
-msgstr "Декември"
+msgstr ""
#: templates/layout.guest.php:42
msgid "web services under your control"
-msgstr ""
+msgstr "уеб уÑлуги под Ваш контрол"
#: templates/layout.user.php:45
msgid "Log out"
-msgstr "Изход"
+msgstr ""
-#: templates/login.php:8
+#: templates/login.php:10
msgid "Automatic logon rejected!"
msgstr ""
-#: templates/login.php:9
+#: templates/login.php:11
msgid ""
"If you did not change your password recently, your account may be "
"compromised!"
msgstr ""
-#: templates/login.php:10
+#: templates/login.php:13
msgid "Please change your password to secure your account again."
msgstr ""
-#: templates/login.php:15
+#: templates/login.php:19
msgid "Lost your password?"
-msgstr "Забравена парола?"
+msgstr ""
-#: templates/login.php:27
+#: templates/login.php:39
msgid "remember"
-msgstr "запомни"
+msgstr ""
-#: templates/login.php:28
+#: templates/login.php:41
msgid "Log in"
-msgstr "Вход"
-
-#: templates/logout.php:1
-msgid "You are logged out."
-msgstr "Вие излÑзохте."
+msgstr ""
#: templates/part.pagenavi.php:3
msgid "prev"
-msgstr "пред."
+msgstr ""
#: templates/part.pagenavi.php:20
msgid "next"
-msgstr "Ñледващо"
-
-#: templates/verify.php:5
-msgid "Security Warning!"
msgstr ""
-#: templates/verify.php:6
-msgid ""
-"Please verify your password. <br/>For security reasons you may be "
-"occasionally asked to enter your password again."
-msgstr ""
-
-#: templates/verify.php:16
-msgid "Verify"
+#: templates/update.php:3
+#, php-format
+msgid "Updating ownCloud to version %s, this may take a while."
msgstr ""
diff --git a/l10n/bg_BG/files.po b/l10n/bg_BG/files.po
index aec7865e431..9907862b6a1 100644
--- a/l10n/bg_BG/files.po
+++ b/l10n/bg_BG/files.po
@@ -3,14 +3,14 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
-# Stefan Ilivanov <ilivanov@gmail.com>, 2011.
+# Stefan Ilivanov <ilivanov@gmail.com>, 2011,2013.
# Yasen Pramatarov <yasen@lindeas.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-01 00:01+0100\n"
-"PO-Revision-Date: 2012-11-30 23:02+0000\n"
+"POT-Creation-Date: 2013-01-20 00:05+0100\n"
+"PO-Revision-Date: 2013-01-19 23:05+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"
@@ -19,169 +19,214 @@ msgstr ""
"Language: bg_BG\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+#: ajax/delete.php:28 ajax/getstoragestats.php:11 ajax/upload.php:17
+#: ajax/upload.php:76 templates/index.php:18
+msgid "Upload"
+msgstr "Качване"
+
+#: ajax/move.php:17
+#, php-format
+msgid "Could not move %s - File with this name already exists"
+msgstr ""
+
+#: ajax/move.php:24
+#, php-format
+msgid "Could not move %s"
+msgstr ""
+
+#: ajax/rename.php:19
+msgid "Unable to rename file"
+msgstr ""
+
#: ajax/upload.php:20
+msgid "No file was uploaded. Unknown error"
+msgstr ""
+
+#: ajax/upload.php:30
msgid "There is no error, the file uploaded with success"
-msgstr "Файлът е качен уÑпешно"
+msgstr ""
-#: ajax/upload.php:21
+#: ajax/upload.php:31
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr ""
-#: ajax/upload.php:23
+#: ajax/upload.php:33
msgid ""
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
"the HTML form"
-msgstr "Файлът който Ñе опитвате да качите надвишава ÑтойноÑтите в MAX_FILE_SIZE в HTML формата."
+msgstr ""
-#: ajax/upload.php:25
+#: ajax/upload.php:35
msgid "The uploaded file was only partially uploaded"
-msgstr "Файлът е качен чаÑтично"
+msgstr ""
-#: ajax/upload.php:26
+#: ajax/upload.php:36
msgid "No file was uploaded"
-msgstr "Фахлът не бе качен"
+msgstr ""
-#: ajax/upload.php:27
+#: ajax/upload.php:37
msgid "Missing a temporary folder"
-msgstr "ЛипÑва временната папка"
+msgstr "ЛипÑва временна папка"
-#: ajax/upload.php:28
+#: ajax/upload.php:38
msgid "Failed to write to disk"
-msgstr "Грешка при Ð·Ð°Ð¿Ð¸Ñ Ð½Ð° диÑка"
+msgstr ""
+
+#: ajax/upload.php:57
+msgid "Not enough space available"
+msgstr ""
+
+#: ajax/upload.php:91
+msgid "Invalid directory."
+msgstr ""
#: appinfo/app.php:10
msgid "Files"
msgstr "Файлове"
-#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84
+#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
msgid "Unshare"
msgstr ""
-#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90
+#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
msgid "Delete"
msgstr "Изтриване"
#: js/fileactions.js:181
msgid "Rename"
-msgstr ""
+msgstr "Преименуване"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "{new_name} already exists"
msgstr ""
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "replace"
-msgstr ""
+msgstr "препокриване"
-#: js/filelist.js:201
+#: js/filelist.js:205
msgid "suggest name"
msgstr ""
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "cancel"
-msgstr ""
+msgstr "отказ"
-#: js/filelist.js:250
+#: js/filelist.js:254
msgid "replaced {new_name}"
msgstr ""
-#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286
+#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
msgid "undo"
-msgstr ""
+msgstr "възтановÑване"
-#: js/filelist.js:252
+#: js/filelist.js:256
msgid "replaced {new_name} with {old_name}"
msgstr ""
-#: js/filelist.js:284
+#: js/filelist.js:288
msgid "unshared {files}"
msgstr ""
-#: js/filelist.js:286
+#: js/filelist.js:290
msgid "deleted {files}"
msgstr ""
-#: js/files.js:33
+#: js/files.js:48
+msgid "'.' is an invalid file name."
+msgstr ""
+
+#: js/files.js:53
+msgid "File name cannot be empty."
+msgstr ""
+
+#: js/files.js:62
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr ""
-#: js/files.js:183
-msgid "generating ZIP-file, it may take some time."
+#: js/files.js:204
+msgid ""
+"Your download is being prepared. This might take some time if the files are "
+"big."
msgstr ""
-#: js/files.js:218
+#: js/files.js:242
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr ""
-#: js/files.js:218
+#: js/files.js:242
msgid "Upload Error"
-msgstr "Грешка при качване"
+msgstr ""
-#: js/files.js:235
+#: js/files.js:259
msgid "Close"
msgstr ""
-#: js/files.js:254 js/files.js:368 js/files.js:398
+#: js/files.js:278 js/files.js:397 js/files.js:431
msgid "Pending"
msgstr ""
-#: js/files.js:274
+#: js/files.js:298
msgid "1 file uploading"
msgstr ""
-#: js/files.js:277 js/files.js:331 js/files.js:346
+#: js/files.js:301 js/files.js:357 js/files.js:372
msgid "{count} files uploading"
msgstr ""
-#: js/files.js:349 js/files.js:382
+#: js/files.js:376 js/files.js:414
msgid "Upload cancelled."
-msgstr "Качването е отменено."
+msgstr "Качването е ÑпрÑно."
-#: js/files.js:451
+#: js/files.js:486
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr ""
-#: js/files.js:523
-msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud"
+#: js/files.js:559
+msgid "URL cannot be empty."
+msgstr ""
+
+#: js/files.js:565
+msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
msgstr ""
-#: js/files.js:704
+#: js/files.js:775
msgid "{count} files scanned"
msgstr ""
-#: js/files.js:712
+#: js/files.js:783
msgid "error while scanning"
msgstr ""
-#: js/files.js:785 templates/index.php:65
+#: js/files.js:857 templates/index.php:64
msgid "Name"
msgstr "Име"
-#: js/files.js:786 templates/index.php:76
+#: js/files.js:858 templates/index.php:75
msgid "Size"
msgstr "Размер"
-#: js/files.js:787 templates/index.php:78
+#: js/files.js:859 templates/index.php:77
msgid "Modified"
msgstr "Променено"
-#: js/files.js:814
+#: js/files.js:878
msgid "1 folder"
msgstr ""
-#: js/files.js:816
+#: js/files.js:880
msgid "{count} folders"
msgstr ""
-#: js/files.js:824
+#: js/files.js:888
msgid "1 file"
msgstr ""
-#: js/files.js:826
+#: js/files.js:890
msgid "{count} files"
msgstr ""
@@ -191,39 +236,39 @@ msgstr ""
#: templates/admin.php:7
msgid "Maximum upload size"
-msgstr "МакÑ. размер за качване"
+msgstr "МакÑимален размер за качване"
-#: templates/admin.php:9
+#: templates/admin.php:10
msgid "max. possible: "
msgstr ""
-#: templates/admin.php:12
+#: templates/admin.php:15
msgid "Needed for multi-file and folder downloads."
msgstr ""
-#: templates/admin.php:14
+#: templates/admin.php:17
msgid "Enable ZIP-download"
msgstr ""
-#: templates/admin.php:17
+#: templates/admin.php:20
msgid "0 is unlimited"
-msgstr "0 означава без ограничение"
+msgstr "Ползвайте 0 за без ограничениÑ"
-#: templates/admin.php:19
+#: templates/admin.php:22
msgid "Maximum input size for ZIP files"
msgstr ""
-#: templates/admin.php:23
+#: templates/admin.php:26
msgid "Save"
msgstr "ЗапиÑ"
#: templates/index.php:7
msgid "New"
-msgstr "Ðов"
+msgstr "Ðово"
#: templates/index.php:10
msgid "Text file"
-msgstr "ТекÑтов файл"
+msgstr ""
#: templates/index.php:12
msgid "Folder"
@@ -233,36 +278,32 @@ msgstr "Папка"
msgid "From link"
msgstr ""
-#: templates/index.php:35
-msgid "Upload"
-msgstr "Качване"
-
-#: templates/index.php:43
+#: templates/index.php:41
msgid "Cancel upload"
-msgstr "Отказване на качването"
+msgstr ""
-#: templates/index.php:57
+#: templates/index.php:56
msgid "Nothing in here. Upload something!"
-msgstr "ÐÑма нищо, качете нещо!"
+msgstr "ÐÑма нищо тук. Качете нещо."
-#: templates/index.php:71
+#: templates/index.php:70
msgid "Download"
msgstr "ИзтеглÑне"
-#: templates/index.php:103
+#: templates/index.php:102
msgid "Upload too large"
-msgstr "Файлът е прекалено голÑм"
+msgstr "Файлът който Ñте избрали за качване е прекалено голÑм"
-#: templates/index.php:105
+#: templates/index.php:104
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
-msgstr "Файловете които Ñе опитвате да качите Ñа по-големи от позволеното за Ñървъра."
+msgstr ""
-#: templates/index.php:110
+#: templates/index.php:109
msgid "Files are being scanned, please wait."
-msgstr "Файловете Ñе претърÑват, изчакайте."
+msgstr ""
-#: templates/index.php:113
+#: templates/index.php:112
msgid "Current scanning"
msgstr ""
diff --git a/l10n/bg_BG/files_encryption.po b/l10n/bg_BG/files_encryption.po
index 0db200dba5a..8e5aeda0842 100644
--- a/l10n/bg_BG/files_encryption.po
+++ b/l10n/bg_BG/files_encryption.po
@@ -3,32 +3,81 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# Stefan Ilivanov <ilivanov@gmail.com>, 2013.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-08-13 23:12+0200\n"
-"PO-Revision-Date: 2012-08-12 22:33+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+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"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: bg_BG\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: templates/settings.php:3
-msgid "Encryption"
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
msgstr ""
-#: templates/settings.php:4
-msgid "Exclude the following file types from encryption"
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
msgstr ""
-#: templates/settings.php:5
-msgid "None"
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
msgstr ""
#: templates/settings.php:10
-msgid "Enable Encryption"
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
msgstr ""
+
+#: templates/settings.php:65
+msgid "Encryption"
+msgstr "Криптиране"
+
+#: templates/settings.php:67
+msgid "Exclude the following file types from encryption"
+msgstr "Изключване на Ñледните файлови типове от криптирането"
+
+#: templates/settings.php:71
+msgid "None"
+msgstr "ÐÑма"
diff --git a/l10n/bg_BG/files_external.po b/l10n/bg_BG/files_external.po
index d4483eadffc..656df3768cc 100644
--- a/l10n/bg_BG/files_external.po
+++ b/l10n/bg_BG/files_external.po
@@ -3,13 +3,14 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# Stefan Ilivanov <ilivanov@gmail.com>, 2013.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-13 00:17+0100\n"
-"PO-Revision-Date: 2012-12-11 23:22+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-10 00:04+0100\n"
+"PO-Revision-Date: 2013-01-09 20:47+0000\n"
+"Last-Translator: Stefan Ilivanov <ilivanov@gmail.com>\n"
"Language-Team: Bulgarian (Bulgaria) (http://www.transifex.com/projects/p/owncloud/language/bg_BG/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -19,7 +20,7 @@ msgstr ""
#: js/dropbox.js:7 js/dropbox.js:25 js/google.js:7 js/google.js:23
msgid "Access granted"
-msgstr ""
+msgstr "ДоÑтъпът е даден"
#: js/dropbox.js:28 js/dropbox.js:74 js/dropbox.js:79 js/dropbox.js:86
msgid "Error configuring Dropbox storage"
@@ -27,11 +28,11 @@ msgstr ""
#: js/dropbox.js:34 js/dropbox.js:45 js/google.js:31 js/google.js:40
msgid "Grant access"
-msgstr ""
+msgstr "Даване на доÑтъп"
#: js/dropbox.js:73 js/google.js:72
msgid "Fill out all required fields"
-msgstr ""
+msgstr "Попълнете вÑички задължителни полета"
#: js/dropbox.js:85
msgid "Please provide a valid Dropbox app key and secret."
@@ -56,7 +57,7 @@ msgstr ""
#: templates/settings.php:3
msgid "External Storage"
-msgstr ""
+msgstr "Външно хранилище"
#: templates/settings.php:8 templates/settings.php:22
msgid "Mount point"
@@ -64,15 +65,15 @@ msgstr ""
#: templates/settings.php:9
msgid "Backend"
-msgstr ""
+msgstr "ÐдминиÑтрациÑ"
#: templates/settings.php:10
msgid "Configuration"
-msgstr ""
+msgstr "КонфигурациÑ"
#: templates/settings.php:11
msgid "Options"
-msgstr ""
+msgstr "Опции"
#: templates/settings.php:12
msgid "Applicable"
@@ -84,11 +85,11 @@ msgstr ""
#: templates/settings.php:85
msgid "None set"
-msgstr ""
+msgstr "ÐÑма избрано"
#: templates/settings.php:86
msgid "All Users"
-msgstr ""
+msgstr "Ð’Ñички потребители"
#: templates/settings.php:87
msgid "Groups"
@@ -96,25 +97,25 @@ msgstr "Групи"
#: templates/settings.php:95
msgid "Users"
-msgstr ""
+msgstr "Потребители"
#: templates/settings.php:108 templates/settings.php:109
-#: templates/settings.php:149 templates/settings.php:150
+#: templates/settings.php:144 templates/settings.php:145
msgid "Delete"
msgstr "Изтриване"
#: templates/settings.php:124
msgid "Enable User External Storage"
-msgstr ""
+msgstr "Вкл. на поддръжка за външно потр. хранилище"
#: templates/settings.php:125
msgid "Allow users to mount their own external storage"
-msgstr ""
+msgstr "Позволено е на потребителите да ползват Ñ‚Ñхно лично външно хранилище"
-#: templates/settings.php:139
+#: templates/settings.php:136
msgid "SSL root certificates"
-msgstr ""
+msgstr "SSL оÑновни Ñертификати"
-#: templates/settings.php:158
+#: templates/settings.php:153
msgid "Import Root Certificate"
-msgstr ""
+msgstr "Импортиране на оÑновен Ñертификат"
diff --git a/l10n/bg_BG/files_sharing.po b/l10n/bg_BG/files_sharing.po
index 3e75975fb63..0d7fe218e8c 100644
--- a/l10n/bg_BG/files_sharing.po
+++ b/l10n/bg_BG/files_sharing.po
@@ -3,13 +3,14 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# Stefan Ilivanov <ilivanov@gmail.com>, 2013.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-09-22 01:14+0200\n"
-"PO-Revision-Date: 2012-09-21 23:15+0000\n"
-"Last-Translator: I Robot <thomas.mueller@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-10 00:04+0100\n"
+"PO-Revision-Date: 2013-01-09 20:45+0000\n"
+"Last-Translator: Stefan Ilivanov <ilivanov@gmail.com>\n"
"Language-Team: Bulgarian (Bulgaria) (http://www.transifex.com/projects/p/owncloud/language/bg_BG/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -19,30 +20,30 @@ msgstr ""
#: templates/authenticate.php:4
msgid "Password"
-msgstr ""
+msgstr "Парола"
#: templates/authenticate.php:6
msgid "Submit"
-msgstr ""
+msgstr "Потвърждение"
-#: templates/public.php:9
+#: templates/public.php:17
#, php-format
msgid "%s shared the folder %s with you"
-msgstr ""
+msgstr "%s Ñподели папката %s Ñ Ð’Ð°Ñ"
-#: templates/public.php:11
+#: templates/public.php:19
#, php-format
msgid "%s shared the file %s with you"
-msgstr ""
+msgstr "%s Ñподели файла %s Ñ Ð’Ð°Ñ"
-#: templates/public.php:14 templates/public.php:30
+#: templates/public.php:22 templates/public.php:38
msgid "Download"
-msgstr ""
+msgstr "ИзтеглÑне"
-#: templates/public.php:29
+#: templates/public.php:37
msgid "No preview available for"
-msgstr ""
+msgstr "ÐÑма наличен преглед за"
-#: templates/public.php:37
+#: templates/public.php:43
msgid "web services under your control"
-msgstr ""
+msgstr "уеб уÑлуги под Ваш контрол"
diff --git a/l10n/bg_BG/files_versions.po b/l10n/bg_BG/files_versions.po
index df3fc299453..be466434b93 100644
--- a/l10n/bg_BG/files_versions.po
+++ b/l10n/bg_BG/files_versions.po
@@ -3,13 +3,14 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# Stefan Ilivanov <ilivanov@gmail.com>, 2013.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-09-22 01:14+0200\n"
-"PO-Revision-Date: 2012-09-21 23:15+0000\n"
-"Last-Translator: I Robot <thomas.mueller@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -17,21 +18,9 @@ msgstr ""
"Language: bg_BG\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: js/settings-personal.js:31 templates/settings-personal.php:10
-msgid "Expire all versions"
-msgstr ""
-
#: js/versions.js:16
msgid "History"
-msgstr ""
-
-#: templates/settings-personal.php:4
-msgid "Versions"
-msgstr ""
-
-#: templates/settings-personal.php:7
-msgid "This will delete all existing backup versions of your files"
-msgstr ""
+msgstr "ИÑториÑ"
#: templates/settings.php:3
msgid "Files Versioning"
@@ -39,4 +28,4 @@ msgstr ""
#: templates/settings.php:4
msgid "Enable"
-msgstr ""
+msgstr "Включено"
diff --git a/l10n/bg_BG/lib.po b/l10n/bg_BG/lib.po
index 3ba99f9b10d..5e238d11362 100644
--- a/l10n/bg_BG/lib.po
+++ b/l10n/bg_BG/lib.po
@@ -3,12 +3,13 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# Stefan Ilivanov <ilivanov@gmail.com>, 2013.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-11-16 00:02+0100\n"
-"PO-Revision-Date: 2012-11-14 23:13+0000\n"
+"POT-Creation-Date: 2013-01-17 00:26+0100\n"
+"PO-Revision-Date: 2013-01-16 23:26+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"
@@ -17,136 +18,140 @@ msgstr ""
"Language: bg_BG\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: app.php:285
+#: app.php:301
msgid "Help"
-msgstr ""
+msgstr "Помощ"
-#: app.php:292
+#: app.php:308
msgid "Personal"
-msgstr "Лично"
+msgstr "Лични"
-#: app.php:297
+#: app.php:313
msgid "Settings"
-msgstr ""
+msgstr "ÐаÑтройки"
-#: app.php:302
+#: app.php:318
msgid "Users"
-msgstr ""
+msgstr "Потребители"
-#: app.php:309
+#: app.php:325
msgid "Apps"
-msgstr ""
+msgstr "ПриложениÑ"
-#: app.php:311
+#: app.php:327
msgid "Admin"
-msgstr ""
+msgstr "Ðдмин"
-#: files.php:332
+#: files.php:365
msgid "ZIP download is turned off."
-msgstr ""
+msgstr "ИзтеглÑнето като ZIP е изключено."
-#: files.php:333
+#: files.php:366
msgid "Files need to be downloaded one by one."
-msgstr ""
+msgstr "Файловете трÑбва да Ñе изтеглÑÑ‚ един по един."
-#: files.php:333 files.php:358
+#: files.php:366 files.php:391
msgid "Back to Files"
-msgstr ""
+msgstr "Ðазад към файловете"
-#: files.php:357
+#: files.php:390
msgid "Selected files too large to generate zip file."
+msgstr "Избраните файлове Ñа прекалено големи за генерирането на ZIP архив."
+
+#: helper.php:228
+msgid "couldn't be determined"
msgstr ""
#: json.php:28
msgid "Application is not enabled"
-msgstr ""
+msgstr "Приложението не е включено."
-#: json.php:39 json.php:64 json.php:77 json.php:89
+#: json.php:39 json.php:62 json.php:73
msgid "Authentication error"
-msgstr "Проблем Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñта"
+msgstr "Възникна проблем Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñта"
#: json.php:51
msgid "Token expired. Please reload page."
-msgstr ""
+msgstr "Ключът е изтекъл, Ð¼Ð¾Ð»Ñ Ð¿Ñ€ÐµÐ·Ð°Ñ€ÐµÐ´ÐµÑ‚Ðµ Ñтраницата"
#: search/provider/file.php:17 search/provider/file.php:35
msgid "Files"
-msgstr ""
+msgstr "Файлове"
#: search/provider/file.php:26 search/provider/file.php:33
msgid "Text"
-msgstr ""
+msgstr "ТекÑÑ‚"
#: search/provider/file.php:29
msgid "Images"
-msgstr ""
+msgstr "Снимки"
-#: template.php:103
+#: template.php:113
msgid "seconds ago"
-msgstr ""
+msgstr "преди Ñекунди"
-#: template.php:104
+#: template.php:114
msgid "1 minute ago"
-msgstr ""
+msgstr "преди 1 минута"
-#: template.php:105
+#: template.php:115
#, php-format
msgid "%d minutes ago"
-msgstr ""
+msgstr "преди %d минути"
-#: template.php:106
+#: template.php:116
msgid "1 hour ago"
-msgstr ""
+msgstr "преди 1 чаÑ"
-#: template.php:107
+#: template.php:117
#, php-format
msgid "%d hours ago"
-msgstr ""
+msgstr "преди %d чаÑа"
-#: template.php:108
+#: template.php:118
msgid "today"
-msgstr ""
+msgstr "днеÑ"
-#: template.php:109
+#: template.php:119
msgid "yesterday"
-msgstr ""
+msgstr "вчера"
-#: template.php:110
+#: template.php:120
#, php-format
msgid "%d days ago"
-msgstr ""
+msgstr "преди %d дни"
-#: template.php:111
+#: template.php:121
msgid "last month"
-msgstr ""
+msgstr "поÑледниÑÑ‚ меÑец"
-#: template.php:112
+#: template.php:122
#, php-format
msgid "%d months ago"
-msgstr ""
+msgstr "преди %d меÑеца"
-#: template.php:113
+#: template.php:123
msgid "last year"
-msgstr ""
+msgstr "поÑледната година"
-#: template.php:114
+#: template.php:124
msgid "years ago"
-msgstr ""
+msgstr "поÑледните години"
#: updater.php:75
#, php-format
msgid "%s is available. Get <a href=\"%s\">more information</a>"
-msgstr ""
+msgstr "%s е налична. Получете <a href=\"%s\">повече информациÑ</a>"
#: updater.php:77
msgid "up to date"
-msgstr ""
+msgstr "е актуална"
#: updater.php:80
msgid "updates check is disabled"
-msgstr ""
+msgstr "проверката за Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ðµ изключена"
#: vcategories.php:188 vcategories.php:249
#, php-format
msgid "Could not find category \"%s\""
-msgstr ""
+msgstr "Ðевъзможно откриване на категориÑта \"%s\""
diff --git a/l10n/bg_BG/settings.po b/l10n/bg_BG/settings.po
index 8350e56bea4..4275c1ee1b3 100644
--- a/l10n/bg_BG/settings.po
+++ b/l10n/bg_BG/settings.po
@@ -10,8 +10,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-21 00:10+0100\n"
-"PO-Revision-Date: 2012-12-19 23:20+0000\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 18:49+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"
@@ -32,25 +32,17 @@ msgstr ""
msgid "Unable to add group"
msgstr ""
-#: ajax/enableapp.php:12
+#: ajax/enableapp.php:11
msgid "Could not enable app. "
msgstr ""
#: ajax/lostpassword.php:12
msgid "Email saved"
-msgstr "Е-пощата е запиÑана"
+msgstr ""
#: ajax/lostpassword.php:14
msgid "Invalid email"
-msgstr "Ðеправилна е-поща"
-
-#: ajax/openid.php:13
-msgid "OpenID Changed"
-msgstr "OpenID е Ñменено"
-
-#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20
-msgid "Invalid request"
-msgstr "Ðевалидна заÑвка"
+msgstr ""
#: ajax/removegroup.php:13
msgid "Unable to delete group"
@@ -58,7 +50,7 @@ msgstr ""
#: ajax/removeuser.php:15 ajax/setquota.php:15 ajax/togglegroups.php:18
msgid "Authentication error"
-msgstr "Проблем Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñта"
+msgstr "Възникна проблем Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñта"
#: ajax/removeuser.php:24
msgid "Unable to delete user"
@@ -66,7 +58,11 @@ msgstr ""
#: ajax/setlanguage.php:15
msgid "Language changed"
-msgstr "Езика е Ñменен"
+msgstr ""
+
+#: ajax/setlanguage.php:17 ajax/setlanguage.php:20
+msgid "Invalid request"
+msgstr "Ðевалидна заÑвка"
#: ajax/togglegroups.php:12
msgid "Admins can't remove themself from the admin group"
@@ -84,15 +80,15 @@ msgstr ""
#: js/apps.js:28 js/apps.js:67
msgid "Disable"
-msgstr "Изключване"
+msgstr ""
#: js/apps.js:28 js/apps.js:55
msgid "Enable"
-msgstr "Включване"
+msgstr "Включено"
#: js/personal.js:69
msgid "Saving..."
-msgstr "ЗапиÑване..."
+msgstr ""
#: personal.php:42 personal.php:43
msgid "__language_name__"
@@ -108,7 +104,7 @@ msgstr ""
#: templates/apps.php:27
msgid "Select an App"
-msgstr "Изберете програма"
+msgstr ""
#: templates/apps.php:31
msgid "See application page at apps.owncloud.com"
@@ -149,7 +145,7 @@ msgstr ""
#: templates/personal.php:12
msgid "Clients"
-msgstr "Клиенти"
+msgstr ""
#: templates/personal.php:13
msgid "Download Desktop Clients"
@@ -163,7 +159,7 @@ msgstr ""
msgid "Download iOS Client"
msgstr ""
-#: templates/personal.php:21 templates/users.php:23 templates/users.php:77
+#: templates/personal.php:21 templates/users.php:23 templates/users.php:82
msgid "Password"
msgstr "Парола"
@@ -173,43 +169,43 @@ msgstr ""
#: templates/personal.php:23
msgid "Unable to change your password"
-msgstr "Ðевъзможна промÑна на паролата"
+msgstr ""
#: templates/personal.php:24
msgid "Current password"
-msgstr "Текуща парола"
+msgstr ""
#: templates/personal.php:25
msgid "New password"
-msgstr "Ðова парола"
+msgstr ""
#: templates/personal.php:26
msgid "show"
-msgstr "показва"
+msgstr ""
#: templates/personal.php:27
msgid "Change password"
-msgstr "ПромÑна на парола"
+msgstr ""
#: templates/personal.php:33
msgid "Email"
-msgstr "Е-поща"
+msgstr "E-mail"
#: templates/personal.php:34
msgid "Your email address"
-msgstr "ÐдреÑÑŠÑ‚ на е-пощата ви"
+msgstr ""
#: templates/personal.php:35
msgid "Fill in an email address to enable password recovery"
-msgstr "Въведете е-поща за възÑтановÑване на паролата"
+msgstr ""
#: templates/personal.php:41 templates/personal.php:42
msgid "Language"
-msgstr "Език"
+msgstr ""
#: templates/personal.php:47
msgid "Help translate"
-msgstr "Помощ за превода"
+msgstr ""
#: templates/personal.php:52
msgid "WebDAV"
@@ -233,34 +229,42 @@ msgid ""
"License\">AGPL</abbr></a>."
msgstr ""
-#: templates/users.php:21 templates/users.php:76
+#: templates/users.php:21 templates/users.php:81
msgid "Name"
msgstr "Име"
-#: templates/users.php:26 templates/users.php:78 templates/users.php:98
+#: templates/users.php:26 templates/users.php:83 templates/users.php:103
msgid "Groups"
msgstr "Групи"
#: templates/users.php:32
msgid "Create"
-msgstr "Ðово"
+msgstr ""
#: templates/users.php:35
-msgid "Default Quota"
-msgstr "Квота по подразбиране"
+msgid "Default Storage"
+msgstr ""
+
+#: templates/users.php:42 templates/users.php:138
+msgid "Unlimited"
+msgstr ""
-#: templates/users.php:55 templates/users.php:138
+#: templates/users.php:60 templates/users.php:153
msgid "Other"
-msgstr "Друго"
+msgstr ""
-#: templates/users.php:80 templates/users.php:112
+#: templates/users.php:85 templates/users.php:117
msgid "Group Admin"
msgstr ""
-#: templates/users.php:82
-msgid "Quota"
-msgstr "Квота"
+#: templates/users.php:87
+msgid "Storage"
+msgstr ""
+
+#: templates/users.php:133
+msgid "Default"
+msgstr ""
-#: templates/users.php:146
+#: templates/users.php:161
msgid "Delete"
msgstr "Изтриване"
diff --git a/l10n/bg_BG/user_ldap.po b/l10n/bg_BG/user_ldap.po
index 7d102e98bdf..0ec1c50339e 100644
--- a/l10n/bg_BG/user_ldap.po
+++ b/l10n/bg_BG/user_ldap.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-15 00:11+0100\n"
-"PO-Revision-Date: 2012-12-14 23:11+0000\n"
+"POT-Creation-Date: 2013-01-16 00:19+0100\n"
+"PO-Revision-Date: 2013-01-15 23:20+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"
@@ -26,8 +26,8 @@ msgstr ""
#: templates/settings.php:11
msgid ""
-"<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will"
-" not work. Please ask your system administrator to install it."
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not "
+"work. Please ask your system administrator to install it."
msgstr ""
#: templates/settings.php:15
@@ -44,6 +44,10 @@ msgid "Base DN"
msgstr ""
#: templates/settings.php:16
+msgid "One Base DN per line"
+msgstr ""
+
+#: templates/settings.php:16
msgid "You can specify Base DN for users and groups in the Advanced tab"
msgstr ""
@@ -60,7 +64,7 @@ msgstr ""
#: templates/settings.php:18
msgid "Password"
-msgstr ""
+msgstr "Парола"
#: templates/settings.php:18
msgid "For anonymous access, leave DN and Password empty."
@@ -114,10 +118,18 @@ msgstr ""
msgid "Base User Tree"
msgstr ""
+#: templates/settings.php:25
+msgid "One User Base DN per line"
+msgstr ""
+
#: templates/settings.php:26
msgid "Base Group Tree"
msgstr ""
+#: templates/settings.php:26
+msgid "One Group Base DN per line"
+msgstr ""
+
#: templates/settings.php:27
msgid "Group-Member association"
msgstr ""
@@ -180,4 +192,4 @@ msgstr ""
#: templates/settings.php:39
msgid "Help"
-msgstr ""
+msgstr "Помощ"
diff --git a/l10n/bg_BG/user_webdavauth.po b/l10n/bg_BG/user_webdavauth.po
index b77ffa970b2..c541db398fd 100644
--- a/l10n/bg_BG/user_webdavauth.po
+++ b/l10n/bg_BG/user_webdavauth.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-20 00:11+0100\n"
-"PO-Revision-Date: 2012-12-19 23:12+0000\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+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"
@@ -17,13 +17,17 @@ msgstr ""
"Language: bg_BG\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+#: templates/settings.php:3
+msgid "WebDAV Authentication"
+msgstr ""
+
#: templates/settings.php:4
msgid "URL: http://"
msgstr ""
#: templates/settings.php:6
msgid ""
-"ownCloud will send the user credentials to this URL is interpret http 401 "
-"and http 403 as credentials wrong and all other codes as credentials "
-"correct."
+"ownCloud will send the user credentials to this URL. 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 ""
diff --git a/l10n/bn_BD/core.po b/l10n/bn_BD/core.po
new file mode 100644
index 00000000000..8c24eb72e22
--- /dev/null
+++ b/l10n/bn_BD/core.po
@@ -0,0 +1,566 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Shubhra Paul <paul_shubhra@yahoo.com>, 2013.
+msgid ""
+msgstr ""
+"Project-Id-Version: ownCloud\n"
+"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:03+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"Language-Team: Bengali (Bangladesh) (http://www.transifex.com/projects/p/owncloud/language/bn_BD/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: bn_BD\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ajax/share.php:84
+#, php-format
+msgid "User %s shared a file with you"
+msgstr "%s নামের বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•ারি আপনার সাথে à¦à¦•টা ফাইল ভাগাভাগি করেছেন"
+
+#: ajax/share.php:86
+#, php-format
+msgid "User %s shared a folder with you"
+msgstr "%s নামের বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•ারি আপনার সাথে à¦à¦•টা ফোলà§à¦¡à¦¾à¦° ভাগাভাগি করেছেন"
+
+#: ajax/share.php:88
+#, php-format
+msgid ""
+"User %s shared the file \"%s\" with you. It is available for download here: "
+"%s"
+msgstr "%s নামের বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•ারী \"%s\" ফাইলটি আপনার সাথে ভাগাভাগি করেছেন। à¦à¦Ÿà¦¿ à¦à¦–ন à¦à¦–ানে ডাউনলোড করার জনà§à¦¯ সà§à¦²à¦­à¦ƒ %s"
+
+#: ajax/share.php:90
+#, php-format
+msgid ""
+"User %s shared the folder \"%s\" with you. It is available for download "
+"here: %s"
+msgstr "%s নামের বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•ারী \"%s\" ফোলà§à¦¡à¦¾à¦°à¦Ÿà¦¿ আপনার সাথে ভাগাভাগি করেছেন। à¦à¦Ÿà¦¿ à¦à¦–ন à¦à¦–ানে ডাউনলোড করার জনà§à¦¯ সà§à¦²à¦­à¦ƒ %s"
+
+#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25
+msgid "Category type not provided."
+msgstr "কà§à¦¯à¦¾à¦Ÿà§‡à¦—রির ধরণটি পà§à¦°à¦¦à¦¾à¦¨ করা হয় নি।"
+
+#: ajax/vcategories/add.php:30
+msgid "No category to add?"
+msgstr "যোগ করার মত কোন কà§à¦¯à¦¾à¦Ÿà§‡à¦—রি নেই ?"
+
+#: ajax/vcategories/add.php:37
+msgid "This category already exists: "
+msgstr "à¦à¦‡ কà§à¦¯à¦¾à¦Ÿà§‡à¦—রিটি পূরà§à¦¬ থেকেই বিদà§à¦¯à¦®à¦¾à¦¨à¦ƒ"
+
+#: 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 "অবজেকà§à¦Ÿà§‡à¦° ধরণটি পà§à¦°à¦¦à¦¾à¦¨ করা হয় নি।"
+
+#: ajax/vcategories/addToFavorites.php:30
+#: ajax/vcategories/removeFromFavorites.php:30
+#, php-format
+msgid "%s ID not provided."
+msgstr "%s ID পà§à¦°à¦¦à¦¾à¦¨ করা হয় নি।"
+
+#: ajax/vcategories/addToFavorites.php:35
+#, php-format
+msgid "Error adding %s to favorites."
+msgstr "পà§à¦°à¦¿à§Ÿà¦¤à§‡ %s যোগ করতে সমসà§à¦¯à¦¾ দেখা দিয়েছে।"
+
+#: ajax/vcategories/delete.php:35 js/oc-vcategories.js:136
+msgid "No categories selected for deletion."
+msgstr "মà§à¦›à§‡ ফেলার জনà§à¦¯ কোন কà§à¦¯à¦¾à¦Ÿà§‡à¦—রি নিরà§à¦¬à¦¾à¦šà¦¨ করা হয় নি ।"
+
+#: ajax/vcategories/removeFromFavorites.php:35
+#, php-format
+msgid "Error removing %s from favorites."
+msgstr "পà§à¦°à¦¿à§Ÿ থেকে %s সরিয়ে ফেলতে সমসà§à¦¯à¦¾ দেখা দিয়েছে।"
+
+#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61
+msgid "Settings"
+msgstr "নিয়ামকসমূহ"
+
+#: js/js.js:711
+msgid "seconds ago"
+msgstr "সেকেনà§à¦¡ পূরà§à¦¬à§‡"
+
+#: js/js.js:712
+msgid "1 minute ago"
+msgstr "1 মিনিট পূরà§à¦¬à§‡"
+
+#: js/js.js:713
+msgid "{minutes} minutes ago"
+msgstr "{minutes} মিনিট পূরà§à¦¬à§‡"
+
+#: js/js.js:714
+msgid "1 hour ago"
+msgstr "1 ঘনà§à¦Ÿà¦¾ পূরà§à¦¬à§‡"
+
+#: js/js.js:715
+msgid "{hours} hours ago"
+msgstr "{hours} ঘনà§à¦Ÿà¦¾ পূরà§à¦¬à§‡"
+
+#: js/js.js:716
+msgid "today"
+msgstr "আজ"
+
+#: js/js.js:717
+msgid "yesterday"
+msgstr "গতকাল"
+
+#: js/js.js:718
+msgid "{days} days ago"
+msgstr "{days} দিন পূরà§à¦¬à§‡"
+
+#: js/js.js:719
+msgid "last month"
+msgstr "গতমাস"
+
+#: js/js.js:720
+msgid "{months} months ago"
+msgstr "{months} মাস পূরà§à¦¬à§‡"
+
+#: js/js.js:721
+msgid "months ago"
+msgstr "মাস পূরà§à¦¬à§‡"
+
+#: js/js.js:722
+msgid "last year"
+msgstr "গত বছর"
+
+#: js/js.js:723
+msgid "years ago"
+msgstr "বছর পূরà§à¦¬à§‡"
+
+#: js/oc-dialogs.js:126
+msgid "Choose"
+msgstr "বেছে নিন"
+
+#: js/oc-dialogs.js:146 js/oc-dialogs.js:166
+msgid "Cancel"
+msgstr "বাতির"
+
+#: js/oc-dialogs.js:162
+msgid "No"
+msgstr "না"
+
+#: js/oc-dialogs.js:163
+msgid "Yes"
+msgstr "হà§à¦¯à¦¾à¦"
+
+#: js/oc-dialogs.js:180
+msgid "Ok"
+msgstr "তথাসà§à¦¤à§"
+
+#: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102
+#: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162
+msgid "The object type is not specified."
+msgstr "অবজেকà§à¦Ÿà§‡à¦° ধরণটি সà§à¦¨à¦¿à¦°à§à¦¦à¦¿à¦·à§à¦Ÿ নয়।"
+
+#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136
+#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:554
+#: js/share.js:566
+msgid "Error"
+msgstr "সমসà§à¦¯à¦¾"
+
+#: js/oc-vcategories.js:179
+msgid "The app name is not specified."
+msgstr "অà§à¦¯à¦¾à¦ªà§‡à¦° নামটি সà§à¦¨à¦¿à¦°à§à¦¦à¦¿à¦·à§à¦Ÿ নয়।"
+
+#: js/oc-vcategories.js:194
+msgid "The required file {file} is not installed!"
+msgstr "আবশà§à¦¯à¦¿à¦• {file} টি সংসà§à¦¥à¦¾à¦ªà¦¿à¦¤ নেই !"
+
+#: js/share.js:124 js/share.js:594
+msgid "Error while sharing"
+msgstr "ভাগাভাগি করতে সমসà§à¦¯à¦¾ দেখা দিয়েছে "
+
+#: js/share.js:135
+msgid "Error while unsharing"
+msgstr "ভাগাভাগি বাতিল করতে সমসà§à¦¯à¦¾ দেখা দিয়েছে"
+
+#: js/share.js:142
+msgid "Error while changing permissions"
+msgstr "অনà§à¦®à¦¤à¦¿à¦¸à¦®à§‚হ পরিবরà§à¦¤à¦¨ করতে সমসà§à¦¯à¦¾ দেখা দিয়েছে"
+
+#: js/share.js:151
+msgid "Shared with you and the group {group} by {owner}"
+msgstr "{owner} আপনার à¦à¦¬à¦‚ {group} গোষà§à¦ à§€à¦° সাথে ভাগাভাগি করেছেন"
+
+#: js/share.js:153
+msgid "Shared with you by {owner}"
+msgstr "{owner} আপনার সাথে ভাগাভাগি করেছেন"
+
+#: js/share.js:158
+msgid "Share with"
+msgstr "যাদের সাথে ভাগাভাগি করা হয়েছে"
+
+#: js/share.js:163
+msgid "Share with link"
+msgstr "লিংকের সাথে ভাগাভাগি কর"
+
+#: js/share.js:166
+msgid "Password protect"
+msgstr "কূটশবà§à¦¦ সà§à¦°à¦•à§à¦·à¦¿à¦¤"
+
+#: js/share.js:168 templates/installation.php:44 templates/login.php:35
+msgid "Password"
+msgstr "কূটশবà§à¦¦"
+
+#: js/share.js:172
+msgid "Email link to person"
+msgstr "বà§à¦¯à¦•à§à¦¤à¦¿à¦° সাথে ই-মেইল যà§à¦•à§à¦¤ কর"
+
+#: js/share.js:173
+msgid "Send"
+msgstr "পাঠাও"
+
+#: js/share.js:177
+msgid "Set expiration date"
+msgstr "মেয়াদোতà§à¦¤à§€à¦°à§à¦£ হওয়ার তারিখ নিরà§à¦§à¦¾à¦°à¦£ করà§à¦¨"
+
+#: js/share.js:178
+msgid "Expiration date"
+msgstr "মেয়াদোতà§à¦¤à§€à¦°à§à¦£ হওয়ার তারিখ"
+
+#: js/share.js:210
+msgid "Share via email:"
+msgstr "ই-মেইলের মাধà§à¦¯à¦®à§‡ ভাগাভাগি করà§à¦¨à¦ƒ"
+
+#: js/share.js:212
+msgid "No people found"
+msgstr "কোন বà§à¦¯à¦•à§à¦¤à¦¿ খà§à¦à¦œà§‡ পাওয়া গেল না"
+
+#: js/share.js:239
+msgid "Resharing is not allowed"
+msgstr "পূনঃরায় ভাগাভাগি অনà§à¦®à§‹à¦¦à¦¿à¦¤ নয়"
+
+#: js/share.js:275
+msgid "Shared in {item} with {user}"
+msgstr "{user} à¦à¦° সাথে {item} ভাগাভাগি করা হয়েছে"
+
+#: js/share.js:296
+msgid "Unshare"
+msgstr "ভাগাভাগি বাতিল কর"
+
+#: js/share.js:308
+msgid "can edit"
+msgstr "সমà§à¦ªà¦¾à¦¦à¦¨à¦¾ করতে পারবেন"
+
+#: js/share.js:310
+msgid "access control"
+msgstr "অধিগমà§à¦¯à¦¤à¦¾ নিয়নà§à¦¤à§à¦°à¦£"
+
+#: js/share.js:313
+msgid "create"
+msgstr "তৈরী করà§à¦¨"
+
+#: js/share.js:316
+msgid "update"
+msgstr "পরিবরà§à¦§à¦¨ কর"
+
+#: js/share.js:319
+msgid "delete"
+msgstr "মà§à¦›à§‡ ফেল"
+
+#: js/share.js:322
+msgid "share"
+msgstr "ভাগাভাগি কর"
+
+#: js/share.js:356 js/share.js:541
+msgid "Password protected"
+msgstr "কূটশবà§à¦¦à¦¦à§à¦¬à¦¾à¦°à¦¾ সà§à¦°à¦•à§à¦·à¦¿à¦¤"
+
+#: js/share.js:554
+msgid "Error unsetting expiration date"
+msgstr "মেয়াদোতà§à¦¤à§€à¦°à§à¦£ হওয়ার তারিখ নিরà§à¦§à¦¾à¦°à¦£ বাতিল করতে সমসà§à¦¯à¦¾ দেখা দিয়েছে"
+
+#: js/share.js:566
+msgid "Error setting expiration date"
+msgstr "মেয়াদোতà§à¦¤à§€à¦°à§à¦£ হওয়ার তারিখ নিরà§à¦§à¦¾à¦°à¦£ করতে সমসà§à¦¯à¦¾ দেখা দিয়েছে"
+
+#: js/share.js:581
+msgid "Sending ..."
+msgstr "পাঠানো হচà§à¦›à§‡......"
+
+#: js/share.js:592
+msgid "Email sent"
+msgstr "ই-মেইল পাঠানো হয়েছে"
+
+#: lostpassword/controller.php:47
+msgid "ownCloud password reset"
+msgstr "ownCloud কূটশবà§à¦¦ পূনঃনিরà§à¦§à¦¾à¦°à¦£"
+
+#: lostpassword/templates/email.php:2
+msgid "Use the following link to reset your password: {link}"
+msgstr "আপনার কূটশবà§à¦¦à¦Ÿà¦¿ পূনঃনিরà§à¦§à¦¾à¦°à¦£ করার জনà§à¦¯ নিমà§à¦¨à§‹à¦•à§à¦¤ লিংকটি বà§à¦¯à¦¬à¦¹à¦¾à¦° করà§à¦¨à¦ƒ {link}"
+
+#: lostpassword/templates/lostpassword.php:3
+msgid "You will receive a link to reset your password via Email."
+msgstr "কূটশবà§à¦¦ পূনঃনিরà§à¦§à¦¾à¦°à¦£à§‡à¦° জনà§à¦¯ à¦à¦•টি টূনঃনিরà§à¦§à¦¾à¦°à¦£ লিংকটি আপনাকে ই-মেইলে পাঠানো হয়েছে ।"
+
+#: lostpassword/templates/lostpassword.php:5
+msgid "Reset email send."
+msgstr "পূনঃনিরà§à¦§à¦¾à¦°à¦£ ই-মেইল পাঠানো হয়েছে।"
+
+#: lostpassword/templates/lostpassword.php:8
+msgid "Request failed!"
+msgstr "অনà§à¦°à§‹à¦§ বà§à¦¯à¦°à§à¦¥ !"
+
+#: lostpassword/templates/lostpassword.php:11 templates/installation.php:39
+#: templates/login.php:28
+msgid "Username"
+msgstr "বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•ারী"
+
+#: lostpassword/templates/lostpassword.php:14
+msgid "Request reset"
+msgstr "অনà§à¦°à§‹à¦§ পূনঃনিরà§à¦§à¦¾à¦°à¦£"
+
+#: lostpassword/templates/resetpassword.php:4
+msgid "Your password was reset"
+msgstr "আপনার কূটশবà§à¦¦à¦Ÿà¦¿ পূনঃনিরà§à¦§à¦¾à¦°à¦£ করা হয়েছে"
+
+#: lostpassword/templates/resetpassword.php:5
+msgid "To login page"
+msgstr "পà§à¦°à¦¬à§‡à¦¶ পৃষà§à¦ à¦¾à§Ÿ"
+
+#: lostpassword/templates/resetpassword.php:8
+msgid "New password"
+msgstr "নতà§à¦¨ কূটশবà§à¦¦"
+
+#: lostpassword/templates/resetpassword.php:11
+msgid "Reset password"
+msgstr "কূটশবà§à¦¦ পূনঃনিরà§à¦§à¦¾à¦°à¦£ কর"
+
+#: strings.php:5
+msgid "Personal"
+msgstr "বà§à¦¯à¦•à§à¦¤à¦¿à¦—ত"
+
+#: strings.php:6
+msgid "Users"
+msgstr "বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•ারী"
+
+#: strings.php:7
+msgid "Apps"
+msgstr "অà§à¦¯à¦¾à¦ªà¦¸"
+
+#: strings.php:8
+msgid "Admin"
+msgstr "পà§à¦°à¦¶à¦¾à¦¸à¦¨"
+
+#: strings.php:9
+msgid "Help"
+msgstr "সহায়িকা"
+
+#: templates/403.php:12
+msgid "Access forbidden"
+msgstr "অধিগমনের অনà§à¦®à¦¤à¦¿ নেই"
+
+#: templates/404.php:12
+msgid "Cloud not found"
+msgstr "কà§à¦²à¦¾à¦‰à¦¡ খà§à¦à¦œà§‡ পাওয়া গেল না"
+
+#: templates/edit_categories_dialog.php:4
+msgid "Edit categories"
+msgstr "কà§à¦¯à¦¾à¦Ÿà§‡à¦—রি সমà§à¦ªà¦¾à¦¦à¦¨à¦¾"
+
+#: templates/edit_categories_dialog.php:16
+msgid "Add"
+msgstr "যোগ কর"
+
+#: templates/installation.php:23 templates/installation.php:31
+msgid "Security Warning"
+msgstr "নিরাপতà§à¦¤à¦¾à¦œà¦¨à¦¿à¦¤ সতরà§à¦•তা"
+
+#: templates/installation.php:24
+msgid ""
+"No secure random number generator is available, please enable the PHP "
+"OpenSSL extension."
+msgstr ""
+
+#: templates/installation.php:26
+msgid ""
+"Without a secure random number generator an attacker may be able to predict "
+"password reset tokens and take over your account."
+msgstr ""
+
+#: templates/installation.php:32
+msgid ""
+"Your data directory and your files are probably accessible from the "
+"internet. The .htaccess file that ownCloud provides 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."
+msgstr ""
+
+#: templates/installation.php:36
+msgid "Create an <strong>admin account</strong>"
+msgstr "<strong>পà§à¦°à¦¶à¦¾à¦¸à¦• à¦à¦•াউনà§à¦Ÿ</strong> তৈরী করà§à¦¨"
+
+#: templates/installation.php:50
+msgid "Advanced"
+msgstr "সà§à¦šà¦¾à¦°à§"
+
+#: templates/installation.php:52
+msgid "Data folder"
+msgstr "ডাটা ফোলà§à¦¡à¦¾à¦° "
+
+#: templates/installation.php:59
+msgid "Configure the database"
+msgstr "ডাটাবেচ কনফিগার করà§à¦¨"
+
+#: templates/installation.php:64 templates/installation.php:75
+#: templates/installation.php:85 templates/installation.php:95
+msgid "will be used"
+msgstr "বà§à¦¯à¦¬à¦¹à§ƒà¦¤ হবে"
+
+#: templates/installation.php:107
+msgid "Database user"
+msgstr "ডাটাবেজ বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•ারী"
+
+#: templates/installation.php:111
+msgid "Database password"
+msgstr "ডাটাবেজ কূটশবà§à¦¦"
+
+#: templates/installation.php:115
+msgid "Database name"
+msgstr "ডাটাবেজের নাম"
+
+#: templates/installation.php:123
+msgid "Database tablespace"
+msgstr "ডাটাবেজ টেবলসà§à¦ªà§‡à¦¸"
+
+#: templates/installation.php:129
+msgid "Database host"
+msgstr "ডাটাবেজ হোসà§à¦Ÿ"
+
+#: templates/installation.php:134
+msgid "Finish setup"
+msgstr "সেটআপ সà§à¦¸à¦®à§à¦ªà¦¨à§à¦¨ কর"
+
+#: templates/layout.guest.php:16 templates/layout.user.php:17
+msgid "Sunday"
+msgstr "রবিবার"
+
+#: templates/layout.guest.php:16 templates/layout.user.php:17
+msgid "Monday"
+msgstr "সোমবার"
+
+#: templates/layout.guest.php:16 templates/layout.user.php:17
+msgid "Tuesday"
+msgstr "মঙà§à¦—লবার"
+
+#: templates/layout.guest.php:16 templates/layout.user.php:17
+msgid "Wednesday"
+msgstr "বà§à¦§à¦¬à¦¾à¦°"
+
+#: templates/layout.guest.php:16 templates/layout.user.php:17
+msgid "Thursday"
+msgstr "বৃহষà§à¦ªà¦¤à¦¿à¦¬à¦¾à¦°"
+
+#: templates/layout.guest.php:16 templates/layout.user.php:17
+msgid "Friday"
+msgstr "শà§à¦•à§à¦°à¦¬à¦¾à¦°"
+
+#: templates/layout.guest.php:16 templates/layout.user.php:17
+msgid "Saturday"
+msgstr "শনিবার"
+
+#: templates/layout.guest.php:17 templates/layout.user.php:18
+msgid "January"
+msgstr "জানà§à§Ÿà¦¾à¦°à¦¿"
+
+#: templates/layout.guest.php:17 templates/layout.user.php:18
+msgid "February"
+msgstr "ফেবà§à¦°à§à§Ÿà¦¾à¦°à¦¿"
+
+#: templates/layout.guest.php:17 templates/layout.user.php:18
+msgid "March"
+msgstr "মারà§à¦š"
+
+#: templates/layout.guest.php:17 templates/layout.user.php:18
+msgid "April"
+msgstr "à¦à¦ªà§à¦°à¦¿à¦²"
+
+#: templates/layout.guest.php:17 templates/layout.user.php:18
+msgid "May"
+msgstr "মে"
+
+#: templates/layout.guest.php:17 templates/layout.user.php:18
+msgid "June"
+msgstr "জà§à¦¨"
+
+#: templates/layout.guest.php:17 templates/layout.user.php:18
+msgid "July"
+msgstr "জà§à¦²à¦¾à¦‡"
+
+#: templates/layout.guest.php:17 templates/layout.user.php:18
+msgid "August"
+msgstr "অগাষà§à¦Ÿ"
+
+#: templates/layout.guest.php:17 templates/layout.user.php:18
+msgid "September"
+msgstr "সেপà§à¦Ÿà§‡à¦®à§à¦¬à¦°"
+
+#: templates/layout.guest.php:17 templates/layout.user.php:18
+msgid "October"
+msgstr "অকà§à¦Ÿà§‹à¦¬à¦°"
+
+#: templates/layout.guest.php:17 templates/layout.user.php:18
+msgid "November"
+msgstr "নভেমà§à¦¬à¦°"
+
+#: templates/layout.guest.php:17 templates/layout.user.php:18
+msgid "December"
+msgstr "ডিসেমà§à¦¬à¦°"
+
+#: templates/layout.guest.php:42
+msgid "web services under your control"
+msgstr "ওয়েব সারà§à¦­à¦¿à¦¸à§‡à¦° নিয়নà§à¦¤à§à¦°à¦£ আপনার হাতের মà§à¦ à§‹à§Ÿ"
+
+#: templates/layout.user.php:45
+msgid "Log out"
+msgstr "পà§à¦°à¦¸à§à¦¥à¦¾à¦¨"
+
+#: templates/login.php:10
+msgid "Automatic logon rejected!"
+msgstr ""
+
+#: templates/login.php:11
+msgid ""
+"If you did not change your password recently, your account may be "
+"compromised!"
+msgstr ""
+
+#: templates/login.php:13
+msgid "Please change your password to secure your account again."
+msgstr ""
+
+#: templates/login.php:19
+msgid "Lost your password?"
+msgstr "কূটশবà§à¦¦ হারিয়েছেন?"
+
+#: templates/login.php:39
+msgid "remember"
+msgstr "মনে রাখ"
+
+#: templates/login.php:41
+msgid "Log in"
+msgstr "পà§à¦°à¦¬à§‡à¦¶"
+
+#: templates/part.pagenavi.php:3
+msgid "prev"
+msgstr "পূরà§à¦¬à¦¬à¦°à§à¦¤à§€"
+
+#: templates/part.pagenavi.php:20
+msgid "next"
+msgstr "পরবরà§à¦¤à§€"
+
+#: templates/update.php:3
+#, php-format
+msgid "Updating ownCloud to version %s, this may take a while."
+msgstr "%s ভারà§à¦¸à¦¨à§‡ ownCloud পরিবরà§à¦§à¦¨ করা হচà§à¦›à§‡, à¦à¦œà¦¨à§à¦¯ কিছৠসময় পà§à¦°à§Ÿà§‹à¦œà¦¨à¥¤"
diff --git a/l10n/bn_BD/files.po b/l10n/bn_BD/files.po
new file mode 100644
index 00000000000..ad10526f601
--- /dev/null
+++ b/l10n/bn_BD/files.po
@@ -0,0 +1,308 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Shubhra Paul <paul_shubhra@yahoo.com>, 2013.
+msgid ""
+msgstr ""
+"Project-Id-Version: ownCloud\n"
+"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
+"POT-Creation-Date: 2013-01-20 00:05+0100\n"
+"PO-Revision-Date: 2013-01-19 23:05+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"Language-Team: Bengali (Bangladesh) (http://www.transifex.com/projects/p/owncloud/language/bn_BD/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: bn_BD\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ajax/delete.php:28 ajax/getstoragestats.php:11 ajax/upload.php:17
+#: ajax/upload.php:76 templates/index.php:18
+msgid "Upload"
+msgstr "আপলোড"
+
+#: ajax/move.php:17
+#, php-format
+msgid "Could not move %s - File with this name already exists"
+msgstr "%s কে সà§à¦¥à¦¾à¦¨à¦¾à¦¨à§à¦¤à¦° করা সমà§à¦­à¦¬ হলো না - à¦à¦‡ নামের ফাইল বিদà§à¦¯à¦®à¦¾à¦¨"
+
+#: ajax/move.php:24
+#, php-format
+msgid "Could not move %s"
+msgstr "%s কে সà§à¦¥à¦¾à¦¨à¦¾à¦¨à§à¦¤à¦° করা সমà§à¦­à¦¬ হলো না"
+
+#: ajax/rename.php:19
+msgid "Unable to rename file"
+msgstr "ফাইলের নাম পরিবরà§à¦¤à¦¨ করা সমà§à¦­à¦¬ হলো না"
+
+#: ajax/upload.php:20
+msgid "No file was uploaded. Unknown error"
+msgstr "কোন ফাইল আপলোড করা হয় নি। সমসà§à¦¯à¦¾ অজà§à¦žà¦¾à¦¤à¥¤"
+
+#: ajax/upload.php:30
+msgid "There is no error, the file uploaded with success"
+msgstr "কোন সমসà§à¦¯à¦¾ নেই, ফাইল আপলোড সà§à¦¸à¦®à§à¦ªà¦¨à§à¦¨ হয়েছে"
+
+#: ajax/upload.php:31
+msgid ""
+"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
+msgstr "আপলোড করা ফাইলটি php.ini তে বরà§à¦£à¦¿à¦¤ upload_max_filesize নিরà§à¦¦à§‡à¦¶à¦¿à¦¤ আয়তন অতিকà§à¦°à¦® করছেঃ"
+
+#: ajax/upload.php:33
+msgid ""
+"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
+"the HTML form"
+msgstr "আপলোড করা ফাইলটি HTML ফরà§à¦®à§‡ নিরà§à¦§à¦¾à¦°à¦¿à¦¤ MAX_FILE_SIZE নিরà§à¦¦à§‡à¦¶à¦¿à¦¤ সরà§à¦¬à§‹à¦šà§à¦š আকার অতিকà§à¦°à¦® করেছে "
+
+#: ajax/upload.php:35
+msgid "The uploaded file was only partially uploaded"
+msgstr "আপলোড করা ফাইলটি আংশিক আপলোড করা হয়েছে"
+
+#: ajax/upload.php:36
+msgid "No file was uploaded"
+msgstr "কোন ফাইল আপলোড করা হয় নি"
+
+#: ajax/upload.php:37
+msgid "Missing a temporary folder"
+msgstr "অসà§à¦¥à¦¾à§Ÿà§€ ফোলà§à¦¡à¦¾à¦° খোয়া গিয়েছে"
+
+#: ajax/upload.php:38
+msgid "Failed to write to disk"
+msgstr "ডিসà§à¦•ে লিখতে বà§à¦¯à¦°à§à¦¥"
+
+#: ajax/upload.php:57
+msgid "Not enough space available"
+msgstr "যথেষà§à¦  পরিমাণ সà§à¦¥à¦¾à¦¨ নেই"
+
+#: ajax/upload.php:91
+msgid "Invalid directory."
+msgstr "ভà§à¦² ডিরেকà§à¦Ÿà¦°à¦¿"
+
+#: appinfo/app.php:10
+msgid "Files"
+msgstr "ফাইল"
+
+#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
+msgid "Unshare"
+msgstr "ভাগাভাগি বাতিল "
+
+#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
+msgid "Delete"
+msgstr "মà§à¦›à§‡ ফেল"
+
+#: js/fileactions.js:181
+msgid "Rename"
+msgstr "পূনঃনামকরণ"
+
+#: js/filelist.js:205 js/filelist.js:207
+msgid "{new_name} already exists"
+msgstr "{new_name} টি বিদà§à¦¯à¦®à¦¾à¦¨"
+
+#: js/filelist.js:205 js/filelist.js:207
+msgid "replace"
+msgstr "পà§à¦°à¦¤à¦¿à¦¸à§à¦¥à¦¾à¦ªà¦¨"
+
+#: js/filelist.js:205
+msgid "suggest name"
+msgstr "নাম সà§à¦ªà¦¾à¦°à¦¿à¦¶ করà§à¦¨"
+
+#: js/filelist.js:205 js/filelist.js:207
+msgid "cancel"
+msgstr "বাতিল"
+
+#: js/filelist.js:254
+msgid "replaced {new_name}"
+msgstr "{new_name} পà§à¦°à¦¤à¦¿à¦¸à§à¦¥à¦¾à¦ªà¦¨ করা হয়েছে"
+
+#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
+msgid "undo"
+msgstr "কà§à¦°à¦¿à§Ÿà¦¾ পà§à¦°à¦¤à§à¦¯à¦¾à¦¹à¦¾à¦°"
+
+#: js/filelist.js:256
+msgid "replaced {new_name} with {old_name}"
+msgstr "{new_name} কে {old_name} নামে পà§à¦°à¦¤à¦¿à¦¸à§à¦¥à¦¾à¦ªà¦¨ করা হয়েছে"
+
+#: js/filelist.js:288
+msgid "unshared {files}"
+msgstr "{files} ভাগাভাগি বাতিল কর"
+
+#: js/filelist.js:290
+msgid "deleted {files}"
+msgstr "{files} মà§à¦›à§‡ ফেলা হয়েছে"
+
+#: js/files.js:48
+msgid "'.' is an invalid file name."
+msgstr "টি à¦à¦•টি অননà§à¦®à§‹à¦¦à¦¿à¦¤ নাম।"
+
+#: js/files.js:53
+msgid "File name cannot be empty."
+msgstr "ফাইলের নামটি ফাà¦à¦•া রাখা যাবে না।"
+
+#: js/files.js:62
+msgid ""
+"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
+"allowed."
+msgstr "নামটি সঠিক নয়, '\\', '/', '<', '>', ':', '\"', '|', '?' à¦à¦¬à¦‚ '*' অনà§à¦®à§‹à¦¦à¦¿à¦¤ নয়।"
+
+#: js/files.js:204
+msgid ""
+"Your download is being prepared. This might take some time if the files are "
+"big."
+msgstr ""
+
+#: js/files.js:242
+msgid "Unable to upload your file as it is a directory or has 0 bytes"
+msgstr "আপনার ফাইলটি আপলোড করা সমà§à¦­à¦¬ হলো না, কেননা à¦à¦Ÿà¦¿ হয় à¦à¦•টি ফোলà§à¦¡à¦¾à¦° কিংবা à¦à¦° আকার ০ বাইট"
+
+#: js/files.js:242
+msgid "Upload Error"
+msgstr "আপলোড করতে সমসà§à¦¯à¦¾ "
+
+#: js/files.js:259
+msgid "Close"
+msgstr "বনà§à¦§"
+
+#: js/files.js:278 js/files.js:397 js/files.js:431
+msgid "Pending"
+msgstr "মà§à¦²à¦¤à§à¦¬à¦¿"
+
+#: js/files.js:298
+msgid "1 file uploading"
+msgstr "১টি ফাইল আপলোড করা হচà§à¦›à§‡"
+
+#: js/files.js:301 js/files.js:357 js/files.js:372
+msgid "{count} files uploading"
+msgstr "{count} টি ফাইল আপলোড করা হচà§à¦›à§‡"
+
+#: js/files.js:376 js/files.js:414
+msgid "Upload cancelled."
+msgstr "আপলোড বাতিল করা হয়েছে।"
+
+#: js/files.js:486
+msgid ""
+"File upload is in progress. Leaving the page now will cancel the upload."
+msgstr "ফাইল আপলোড চলমান। à¦à¦‡ পৃষà§à¦ à¦¾ পরিতà§à¦¯à¦¾à¦— করলে আপলোড বাতিল করা হবে।"
+
+#: js/files.js:559
+msgid "URL cannot be empty."
+msgstr "URL ফাà¦à¦•া রাখা যাবে না।"
+
+#: js/files.js:565
+msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
+msgstr "ফোলà§à¦¡à¦¾à¦°à§‡à¦° নামটি সঠিক নয়। 'ভাগাভাগি করা' শà§à¦§à§à¦®à¦¾à¦¤à§à¦° Owncloud à¦à¦° জনà§à¦¯ সংরকà§à¦·à¦¿à¦¤à¥¤"
+
+#: js/files.js:775
+msgid "{count} files scanned"
+msgstr "{count} টি ফাইল সà§à¦•à§à¦¯à¦¾à¦¨ করা হয়েছে"
+
+#: js/files.js:783
+msgid "error while scanning"
+msgstr "সà§à¦•à§à¦¯à¦¾à¦¨ করার সময় সমসà§à¦¯à¦¾ দেখা দিয়েছে"
+
+#: js/files.js:857 templates/index.php:64
+msgid "Name"
+msgstr "নাম"
+
+#: js/files.js:858 templates/index.php:75
+msgid "Size"
+msgstr "আকার"
+
+#: js/files.js:859 templates/index.php:77
+msgid "Modified"
+msgstr "পরিবরà§à¦¤à¦¿à¦¤"
+
+#: js/files.js:878
+msgid "1 folder"
+msgstr "১টি ফোলà§à¦¡à¦¾à¦°"
+
+#: js/files.js:880
+msgid "{count} folders"
+msgstr "{count} টি ফোলà§à¦¡à¦¾à¦°"
+
+#: js/files.js:888
+msgid "1 file"
+msgstr "১টি ফাইল"
+
+#: js/files.js:890
+msgid "{count} files"
+msgstr "{count} টি ফাইল"
+
+#: templates/admin.php:5
+msgid "File handling"
+msgstr "ফাইল হà§à¦¯à¦¾à¦°à§à¦¡à¦²à¦¿à¦‚"
+
+#: templates/admin.php:7
+msgid "Maximum upload size"
+msgstr "আপলোডের সরà§à¦¬à§‹à¦šà§à¦š আকার"
+
+#: templates/admin.php:10
+msgid "max. possible: "
+msgstr "অনà§à¦®à§‹à¦¦à¦¿à¦¤ সরà§à¦¬à§‹à¦šà§à¦š আকার"
+
+#: templates/admin.php:15
+msgid "Needed for multi-file and folder downloads."
+msgstr "à¦à¦•াধিক ফাইল à¦à¦¬à¦‚ ফোলà§à¦¡à¦¾à¦° ডাউনলোড করার জনà§à¦¯ আবশà§à¦¯à¦•।"
+
+#: templates/admin.php:17
+msgid "Enable ZIP-download"
+msgstr "ZIP ডাউনলোড সকà§à¦°à¦¿à§Ÿ কর"
+
+#: templates/admin.php:20
+msgid "0 is unlimited"
+msgstr "০ à¦à¦° অরà§à¦¥ অসীম"
+
+#: templates/admin.php:22
+msgid "Maximum input size for ZIP files"
+msgstr "ZIP ফাইলের ইনপà§à¦Ÿà§‡à¦° সরà§à¦¬à§‹à¦šà§à¦š আকার"
+
+#: templates/admin.php:26
+msgid "Save"
+msgstr "সংরকà§à¦·à¦¨ কর"
+
+#: templates/index.php:7
+msgid "New"
+msgstr "নতà§à¦¨"
+
+#: templates/index.php:10
+msgid "Text file"
+msgstr "টেকà§à¦¸à¦Ÿ ফাইল"
+
+#: templates/index.php:12
+msgid "Folder"
+msgstr "ফোলà§à¦¡à¦¾à¦°"
+
+#: templates/index.php:14
+msgid "From link"
+msgstr " লিংক থেকে"
+
+#: templates/index.php:41
+msgid "Cancel upload"
+msgstr "আপলোড বাতিল কর"
+
+#: templates/index.php:56
+msgid "Nothing in here. Upload something!"
+msgstr "à¦à¦–ানে কিছà§à¦‡ নেই। কিছৠআপলোড করà§à¦¨ !"
+
+#: templates/index.php:70
+msgid "Download"
+msgstr "ডাউনলোড"
+
+#: templates/index.php:102
+msgid "Upload too large"
+msgstr "আপলোডের আকারটি অনেক বড়"
+
+#: templates/index.php:104
+msgid ""
+"The files you are trying to upload exceed the maximum size for file uploads "
+"on this server."
+msgstr "আপনি à¦à¦‡ সারà§à¦­à¦¾à¦°à§‡ আপলোড করার জনà§à¦¯ অনà§à¦®à§‹à¦¦à¦¿à¦¤ ফাইলের সরà§à¦¬à§‹à¦šà§à¦š আকারের চেয়ে বৃহদাকার ফাইল আপলোড করার চেষà§à¦Ÿà¦¾ করছেন "
+
+#: templates/index.php:109
+msgid "Files are being scanned, please wait."
+msgstr "ফাইলগà§à¦²à§‹ সà§à¦•à§à¦¯à¦¾à¦¨ করা হচà§à¦›à§‡, দয়া করে অপেকà§à¦·à¦¾ করà§à¦¨à¥¤"
+
+#: templates/index.php:112
+msgid "Current scanning"
+msgstr "বরà§à¦¤à¦®à¦¾à¦¨ সà§à¦•à§à¦¯à¦¾à¦¨à¦¿à¦‚"
diff --git a/l10n/bn_BD/files_encryption.po b/l10n/bn_BD/files_encryption.po
new file mode 100644
index 00000000000..4be08a9e00f
--- /dev/null
+++ b/l10n/bn_BD/files_encryption.po
@@ -0,0 +1,82 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: ownCloud\n"
+"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"Language-Team: Bengali (Bangladesh) (http://www.transifex.com/projects/p/owncloud/language/bn_BD/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: bn_BD\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
+msgid "Encryption"
+msgstr "সংকেতায়ন"
+
+#: templates/settings.php:67
+msgid "Exclude the following file types from encryption"
+msgstr "সংকেতায়ন থেকে নিমà§à¦¨à§‹à¦•à§à¦¤ ধরণসমূহ বাদ দাও"
+
+#: templates/settings.php:71
+msgid "None"
+msgstr "কোনটিই নয়"
diff --git a/l10n/bn_BD/files_external.po b/l10n/bn_BD/files_external.po
new file mode 100644
index 00000000000..fc11b94750f
--- /dev/null
+++ b/l10n/bn_BD/files_external.po
@@ -0,0 +1,120 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: ownCloud\n"
+"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
+"POT-Creation-Date: 2013-01-11 00:05+0100\n"
+"PO-Revision-Date: 2013-01-10 10:28+0000\n"
+"Last-Translator: Shubhra Paul <paul_shubhra@yahoo.com>\n"
+"Language-Team: Bengali (Bangladesh) (http://www.transifex.com/projects/p/owncloud/language/bn_BD/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: bn_BD\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: js/dropbox.js:7 js/dropbox.js:25 js/google.js:7 js/google.js:23
+msgid "Access granted"
+msgstr "অধিগমনের অনà§à¦®à¦¤à¦¿ পà§à¦°à¦¦à¦¾à¦¨ করা হলো"
+
+#: js/dropbox.js:28 js/dropbox.js:74 js/dropbox.js:79 js/dropbox.js:86
+msgid "Error configuring Dropbox storage"
+msgstr "Dropbox সংরকà§à¦·à¦£à¦¾à¦—ার নিরà§à¦§à¦¾à¦°à¦£ করতে সমসà§à¦¯à¦¾ "
+
+#: js/dropbox.js:34 js/dropbox.js:45 js/google.js:31 js/google.js:40
+msgid "Grant access"
+msgstr "অধিগমনের অনà§à¦®à¦¤à¦¿ পà§à¦°à¦¦à¦¾à¦¨ কর"
+
+#: js/dropbox.js:73 js/google.js:72
+msgid "Fill out all required fields"
+msgstr "আবশà§à¦¯à¦¿à¦• সমসà§à¦¤ কà§à¦·à§‡à¦¤à§à¦° পূরণ করà§à¦¨"
+
+#: js/dropbox.js:85
+msgid "Please provide a valid Dropbox app key and secret."
+msgstr "দয়া করে সঠিক à¦à¦¬à¦‚ বৈধ Dropbox app key and secret পà§à¦°à¦¦à¦¾à¦¨ করà§à¦¨à¥¤"
+
+#: js/google.js:26 js/google.js:73 js/google.js:78
+msgid "Error configuring Google Drive storage"
+msgstr "Google Drive সংরকà§à¦·à¦£à¦¾à¦—ার নিরà§à¦§à¦¾à¦°à¦£ করতে সমসà§à¦¯à¦¾ "
+
+#: lib/config.php:434
+msgid ""
+"<b>Warning:</b> \"smbclient\" is not installed. Mounting of CIFS/SMB shares "
+"is not possible. Please ask your system administrator to install it."
+msgstr ""
+
+#: lib/config.php:435
+msgid ""
+"<b>Warning:</b> The FTP support in PHP is not enabled or installed. Mounting"
+" of FTP shares is not possible. Please ask your system administrator to "
+"install it."
+msgstr ""
+
+#: templates/settings.php:3
+msgid "External Storage"
+msgstr "বাহà§à¦¯à¦¿à¦• সংরকà§à¦·à¦£à¦¾à¦—ার"
+
+#: templates/settings.php:8 templates/settings.php:22
+msgid "Mount point"
+msgstr "মাউনà§à¦Ÿ পয়েনà§à¦Ÿ"
+
+#: templates/settings.php:9
+msgid "Backend"
+msgstr "পশà§à¦šà¦¾à¦¦à¦ªà¦Ÿ"
+
+#: templates/settings.php:10
+msgid "Configuration"
+msgstr "কনফিগারেসন"
+
+#: templates/settings.php:11
+msgid "Options"
+msgstr "বিকলà§à¦ªà¦¸à¦®à§‚হ"
+
+#: templates/settings.php:12
+msgid "Applicable"
+msgstr "পà§à¦°à¦¯à§‹à¦œà§à¦¯"
+
+#: templates/settings.php:27
+msgid "Add mount point"
+msgstr "মাউনà§à¦Ÿ পয়েনà§à¦Ÿ যোগ কর"
+
+#: templates/settings.php:85
+msgid "None set"
+msgstr "কোনটিই নিরà§à¦§à¦¾à¦°à¦£ করা হয় নি"
+
+#: templates/settings.php:86
+msgid "All Users"
+msgstr "সমসà§à¦¤ বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•ারী"
+
+#: templates/settings.php:87
+msgid "Groups"
+msgstr "গোষà§à¦ à§€à¦¸à¦®à§‚হ"
+
+#: templates/settings.php:95
+msgid "Users"
+msgstr "বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•ারী"
+
+#: templates/settings.php:108 templates/settings.php:109
+#: templates/settings.php:144 templates/settings.php:145
+msgid "Delete"
+msgstr "মà§à¦›à§‡ ফেল"
+
+#: templates/settings.php:124
+msgid "Enable User External Storage"
+msgstr "বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•ারীর বাহà§à¦¯à¦¿à¦• সংরকà§à¦·à¦£à¦¾à¦—ার সকà§à¦°à¦¿à§Ÿ কর"
+
+#: templates/settings.php:125
+msgid "Allow users to mount their own external storage"
+msgstr "বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•ারীদেরকে তাদের নিজসà§à¦¬ বাহà§à¦¯à¦¿à¦• সংরকà§à¦·à¦¨à¦¾à¦—ার সাউনà§à¦Ÿ করতে অনà§à¦®à§‹à¦¦à¦¨ দাও"
+
+#: templates/settings.php:136
+msgid "SSL root certificates"
+msgstr "SSL রà§à¦Ÿ সনদপতà§à¦°"
+
+#: templates/settings.php:153
+msgid "Import Root Certificate"
+msgstr "রà§à¦Ÿ সনদপতà§à¦°à¦Ÿà¦¿ আমদানি করà§à¦¨"
diff --git a/l10n/bn_BD/files_sharing.po b/l10n/bn_BD/files_sharing.po
new file mode 100644
index 00000000000..55a97e9d95c
--- /dev/null
+++ b/l10n/bn_BD/files_sharing.po
@@ -0,0 +1,48 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: ownCloud\n"
+"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
+"POT-Creation-Date: 2013-01-11 00:05+0100\n"
+"PO-Revision-Date: 2013-01-10 09:58+0000\n"
+"Last-Translator: Shubhra Paul <paul_shubhra@yahoo.com>\n"
+"Language-Team: Bengali (Bangladesh) (http://www.transifex.com/projects/p/owncloud/language/bn_BD/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: bn_BD\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: templates/authenticate.php:4
+msgid "Password"
+msgstr "কূটশবà§à¦¦"
+
+#: templates/authenticate.php:6
+msgid "Submit"
+msgstr "জমা দাও"
+
+#: templates/public.php:17
+#, php-format
+msgid "%s shared the folder %s with you"
+msgstr "%s আপনার সাথে %s ফোলà§à¦¡à¦¾à¦°à¦Ÿà¦¿ ভাগাভাগি করেছেন"
+
+#: templates/public.php:19
+#, php-format
+msgid "%s shared the file %s with you"
+msgstr "%s আপনার সাথে %s ফাইলটি ভাগাভাগি করেছেন"
+
+#: templates/public.php:22 templates/public.php:38
+msgid "Download"
+msgstr "ডাউনলোড"
+
+#: templates/public.php:37
+msgid "No preview available for"
+msgstr "à¦à¦° জনà§à¦¯ কোন পà§à¦°à¦¾à¦•বীকà§à¦·à¦£ সà§à¦²à¦­ নয়"
+
+#: templates/public.php:43
+msgid "web services under your control"
+msgstr "ওয়েব সারà§à¦­à¦¿à¦¸ আপনার হাতের মà§à¦ à§‹à§Ÿ"
diff --git a/l10n/bn_BD/files_versions.po b/l10n/bn_BD/files_versions.po
new file mode 100644
index 00000000000..2af1e4efdd9
--- /dev/null
+++ b/l10n/bn_BD/files_versions.po
@@ -0,0 +1,30 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: ownCloud\n"
+"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"Language-Team: Bengali (Bangladesh) (http://www.transifex.com/projects/p/owncloud/language/bn_BD/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: bn_BD\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: js/versions.js:16
+msgid "History"
+msgstr "ইতিহাস"
+
+#: templates/settings.php:3
+msgid "Files Versioning"
+msgstr "ফাইল ভারà§à¦¸à¦¨ করা"
+
+#: templates/settings.php:4
+msgid "Enable"
+msgstr "সকà§à¦°à¦¿à§Ÿ "
diff --git a/l10n/bn_BD/lib.po b/l10n/bn_BD/lib.po
new file mode 100644
index 00000000000..da90c84c976
--- /dev/null
+++ b/l10n/bn_BD/lib.po
@@ -0,0 +1,156 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: ownCloud\n"
+"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
+"POT-Creation-Date: 2013-01-17 00:26+0100\n"
+"PO-Revision-Date: 2013-01-16 23:26+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"Language-Team: Bengali (Bangladesh) (http://www.transifex.com/projects/p/owncloud/language/bn_BD/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: bn_BD\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: app.php:301
+msgid "Help"
+msgstr "সহায়িকা"
+
+#: app.php:308
+msgid "Personal"
+msgstr "বà§à¦¯à¦•à§à¦¤à¦¿à¦—ত"
+
+#: app.php:313
+msgid "Settings"
+msgstr "নিয়ামকসমূহ"
+
+#: app.php:318
+msgid "Users"
+msgstr "বà§à¦¯à¦­à¦¹à¦¾à¦°à¦•ারী"
+
+#: app.php:325
+msgid "Apps"
+msgstr "অà§à¦¯à¦¾à¦ª"
+
+#: app.php:327
+msgid "Admin"
+msgstr "পà§à¦°à¦¶à¦¾à¦¸à¦•"
+
+#: files.php:365
+msgid "ZIP download is turned off."
+msgstr "ZIP ডাউনলোড বনà§à¦§ করা আছে।"
+
+#: files.php:366
+msgid "Files need to be downloaded one by one."
+msgstr "ফাইলগà§à¦²à§‹ à¦à¦•ে à¦à¦•ে ডাউনলোড করা আবশà§à¦¯à¦•।"
+
+#: files.php:366 files.php:391
+msgid "Back to Files"
+msgstr "ফাইলে ফিরে চল"
+
+#: files.php:390
+msgid "Selected files too large to generate zip file."
+msgstr "নিরà§à¦¬à¦¾à¦šà¦¿à¦¤ ফাইলগà§à¦²à§‹ à¦à¦¤à¦‡ বৃহৎ যে জিপ ফাইল তৈরী করা সমà§à¦­à¦¬ নয়।"
+
+#: helper.php:228
+msgid "couldn't be determined"
+msgstr ""
+
+#: json.php:28
+msgid "Application is not enabled"
+msgstr "অà§à¦¯à¦¾à¦ªà§à¦²à¦¿à¦•েসনটি সকà§à¦°à¦¿à§Ÿ নয়"
+
+#: json.php:39 json.php:62 json.php:73
+msgid "Authentication error"
+msgstr "অনà§à¦®à§‹à¦¦à¦¨ ঘটিত সমসà§à¦¯à¦¾"
+
+#: json.php:51
+msgid "Token expired. Please reload page."
+msgstr "টোকেন মেয়াদোতà§à¦¤à§€à¦°à§à¦£à¥¤ দয়া করে পৃষà§à¦ à¦¾à¦Ÿà¦¿ পূনরায় লোড করà§à¦¨à¥¤"
+
+#: search/provider/file.php:17 search/provider/file.php:35
+msgid "Files"
+msgstr "ফাইল"
+
+#: search/provider/file.php:26 search/provider/file.php:33
+msgid "Text"
+msgstr ""
+
+#: search/provider/file.php:29
+msgid "Images"
+msgstr ""
+
+#: template.php:113
+msgid "seconds ago"
+msgstr "সেকেনà§à¦¡ পূরà§à¦¬à§‡"
+
+#: template.php:114
+msgid "1 minute ago"
+msgstr "à§§ মিনিট পূরà§à¦¬à§‡"
+
+#: template.php:115
+#, php-format
+msgid "%d minutes ago"
+msgstr "%d মিনিট পূরà§à¦¬à§‡"
+
+#: template.php:116
+msgid "1 hour ago"
+msgstr "1 ঘনà§à¦Ÿà¦¾ পূরà§à¦¬à§‡"
+
+#: template.php:117
+#, php-format
+msgid "%d hours ago"
+msgstr ""
+
+#: template.php:118
+msgid "today"
+msgstr "আজ"
+
+#: template.php:119
+msgid "yesterday"
+msgstr "গতকাল"
+
+#: template.php:120
+#, php-format
+msgid "%d days ago"
+msgstr "%d দিন পূরà§à¦¬à§‡"
+
+#: template.php:121
+msgid "last month"
+msgstr "গত মাস"
+
+#: template.php:122
+#, php-format
+msgid "%d months ago"
+msgstr ""
+
+#: template.php:123
+msgid "last year"
+msgstr "গত বছর"
+
+#: template.php:124
+msgid "years ago"
+msgstr "বছর পূরà§à¦¬à§‡"
+
+#: updater.php:75
+#, php-format
+msgid "%s is available. Get <a href=\"%s\">more information</a>"
+msgstr "%s à¦à¦–ন সà§à¦²à¦­à¥¤ <a href=\"%s\">আরও জানà§à¦¨</a>"
+
+#: updater.php:77
+msgid "up to date"
+msgstr "সরà§à¦¬à¦¶à§‡à¦·"
+
+#: updater.php:80
+msgid "updates check is disabled"
+msgstr "পরিবরà§à¦§à¦¨ পরীকà§à¦·à¦£ করা বনà§à¦§ রাখা হয়েছে"
+
+#: vcategories.php:188 vcategories.php:249
+#, php-format
+msgid "Could not find category \"%s\""
+msgstr ""
diff --git a/l10n/bn_BD/settings.po b/l10n/bn_BD/settings.po
new file mode 100644
index 00000000000..34c75b953eb
--- /dev/null
+++ b/l10n/bn_BD/settings.po
@@ -0,0 +1,268 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Shubhra Paul <paul_shubhra@yahoo.com>, 2013.
+msgid ""
+msgstr ""
+"Project-Id-Version: ownCloud\n"
+"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
+"POT-Creation-Date: 2013-01-12 00:09+0100\n"
+"PO-Revision-Date: 2013-01-11 23:09+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"Language-Team: Bengali (Bangladesh) (http://www.transifex.com/projects/p/owncloud/language/bn_BD/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: bn_BD\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ajax/apps/ocs.php:20
+msgid "Unable to load list from App Store"
+msgstr "অà§à¦¯à¦¾à¦ªà¦¸à§à¦Ÿà§‹à¦° থেকে তালিকা লোড করতে সকà§à¦·à¦® নয়"
+
+#: ajax/creategroup.php:10
+msgid "Group already exists"
+msgstr "গোষà§à¦ à§€à¦Ÿà¦¿ পূরà§à¦¬ থেকেই বিদà§à¦¯à¦®à¦¾à¦¨"
+
+#: ajax/creategroup.php:19
+msgid "Unable to add group"
+msgstr "গোষà§à¦ à§€ যোগ করা সমà§à¦­à¦¬ হলো না"
+
+#: ajax/enableapp.php:11
+msgid "Could not enable app. "
+msgstr "অà§à¦¯à¦ªà¦Ÿà¦¿ সকà§à¦°à¦¿à§Ÿ করতে সকà§à¦·à¦® নয়।"
+
+#: ajax/lostpassword.php:12
+msgid "Email saved"
+msgstr "ই-মেইল সংরকà§à¦·à¦¨ করা হয়েছে"
+
+#: ajax/lostpassword.php:14
+msgid "Invalid email"
+msgstr "ই-মেইলটি সঠিক নয়"
+
+#: ajax/removegroup.php:13
+msgid "Unable to delete group"
+msgstr "গোষà§à¦ à§€ মà§à¦›à§‡ ফেলা সমà§à¦­à¦¬ হলো না "
+
+#: ajax/removeuser.php:15 ajax/setquota.php:15 ajax/togglegroups.php:18
+msgid "Authentication error"
+msgstr "অনà§à¦®à§‹à¦¦à¦¨ ঘটিত সমসà§à¦¯à¦¾"
+
+#: ajax/removeuser.php:24
+msgid "Unable to delete user"
+msgstr "বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•ারী মà§à¦›à§‡ ফেলা সমà§à¦­à¦¬ হলো না "
+
+#: ajax/setlanguage.php:15
+msgid "Language changed"
+msgstr "ভাষা পরিবরà§à¦¤à¦¨ করা হয়েছে"
+
+#: ajax/setlanguage.php:17 ajax/setlanguage.php:20
+msgid "Invalid request"
+msgstr "অনà§à¦°à§‹à¦§à¦Ÿà¦¿ যথাযথ নয়"
+
+#: ajax/togglegroups.php:12
+msgid "Admins can't remove themself from the admin group"
+msgstr "পà§à¦°à¦¶à¦¾à¦¸à¦•বৃনà§à¦¦ তাদেরকে পà§à¦°à¦¶à¦¾à¦¸à¦• গোষà§à¦ à§€ থেকে মà§à¦›à§‡ ফেলতে পারবেন না"
+
+#: ajax/togglegroups.php:28
+#, php-format
+msgid "Unable to add user to group %s"
+msgstr " %s গোষà§à¦ à§€à¦¤à§‡ বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•ারী যোগ করা সমà§à¦­à¦¬ হলো না "
+
+#: ajax/togglegroups.php:34
+#, php-format
+msgid "Unable to remove user from group %s"
+msgstr "%s গোষà§à¦ à§€ থেকে বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•ারীকে অপসারণ করা সমà§à¦­à¦¬ হলো না"
+
+#: js/apps.js:28 js/apps.js:67
+msgid "Disable"
+msgstr "নিষà§à¦•à§à¦°à¦¿à§Ÿ"
+
+#: js/apps.js:28 js/apps.js:55
+msgid "Enable"
+msgstr "সকà§à¦°à¦¿à§Ÿ "
+
+#: js/personal.js:69
+msgid "Saving..."
+msgstr "সংরকà§à¦·à¦£ করা হচà§à¦›à§‡.."
+
+#: personal.php:42 personal.php:43
+msgid "__language_name__"
+msgstr "__language_name__"
+
+#: templates/apps.php:10
+msgid "Add your App"
+msgstr "আপনার অà§à¦¯à¦¾à¦ªà¦Ÿà¦¿ যোগ করà§à¦¨"
+
+#: templates/apps.php:11
+msgid "More Apps"
+msgstr "আরও অà§à¦¯à¦¾à¦ª"
+
+#: templates/apps.php:27
+msgid "Select an App"
+msgstr "অà§à¦¯à¦¾à¦ª নিরà§à¦¬à¦¾à¦šà¦¨ করà§à¦¨"
+
+#: templates/apps.php:31
+msgid "See application page at apps.owncloud.com"
+msgstr "apps.owncloud.com ঠঅà§à¦¯à¦¾à¦ªà§à¦²à¦¿à¦•েসন পৃষà§à¦ à¦¾ দেখà§à¦¨"
+
+#: templates/apps.php:32
+msgid "<span class=\"licence\"></span>-licensed by <span class=\"author\"></span>"
+msgstr "<span class=\"licence\"></span>-লাইসেনà§à¦¸à¦§à¦¾à¦°à§€ <span class=\"author\"></span>"
+
+#: templates/help.php:3
+msgid "User Documentation"
+msgstr "বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•ারী সহায়িকা"
+
+#: templates/help.php:4
+msgid "Administrator Documentation"
+msgstr "পà§à¦°à¦¶à¦¾à¦¸à¦• সহায়িকা"
+
+#: templates/help.php:6
+msgid "Online Documentation"
+msgstr "অনলাইন সহায়িকা"
+
+#: templates/help.php:7
+msgid "Forum"
+msgstr "ফোরাম"
+
+#: templates/help.php:9
+msgid "Bugtracker"
+msgstr "বাগটà§à¦°à§à¦¯à¦¾à¦•ার"
+
+#: templates/help.php:11
+msgid "Commercial Support"
+msgstr "বাণিজà§à¦¯à¦¿à¦• সাপোরà§à¦Ÿ"
+
+#: templates/personal.php:8
+#, php-format
+msgid "You have used <strong>%s</strong> of the available <strong>%s</strong>"
+msgstr "আপনি বà§à¦¯à¦¬à¦¹à¦¾à¦° করছেন <strong>%s</strong>, সà§à¦²à¦­ <strong>%s</strong> à¦à¦° মধà§à¦¯à§‡à¥¤"
+
+#: templates/personal.php:12
+msgid "Clients"
+msgstr "কà§à¦²à¦¾à§Ÿà§‡à¦¨à§à¦Ÿ"
+
+#: templates/personal.php:13
+msgid "Download Desktop Clients"
+msgstr "ডেসà§à¦•টপ কà§à¦²à¦¾à§Ÿà§‡à¦¨à§à¦Ÿ ডাউনলোড করà§à¦¨"
+
+#: templates/personal.php:14
+msgid "Download Android Client"
+msgstr "অà§à¦¯à¦¾à¦¨à§à¦¡à§à¦°à§Ÿà§‡à¦¡ কà§à¦²à¦¾à§Ÿà§‡à¦¨à§à¦Ÿ ডাউনলোড করà§à¦¨"
+
+#: templates/personal.php:15
+msgid "Download iOS Client"
+msgstr "iOS কà§à¦²à¦¾à§Ÿà§‡à¦¨à§à¦Ÿ ডাউনলোড করà§à¦¨"
+
+#: templates/personal.php:21 templates/users.php:23 templates/users.php:82
+msgid "Password"
+msgstr "কূটশবà§à¦¦"
+
+#: templates/personal.php:22
+msgid "Your password was changed"
+msgstr "আপনার কূটশবà§à¦¦à¦Ÿà¦¿ পরিবরà§à¦¤à¦¨ করা হয়েছে "
+
+#: templates/personal.php:23
+msgid "Unable to change your password"
+msgstr "আপনার কূটশবà§à¦¦à¦Ÿà¦¿ পরিবরà§à¦¤à¦¨ করতে সকà§à¦·à¦® নয়"
+
+#: templates/personal.php:24
+msgid "Current password"
+msgstr "বরà§à¦¤à¦®à¦¾à¦¨ কূটশবà§à¦¦"
+
+#: templates/personal.php:25
+msgid "New password"
+msgstr "নতà§à¦¨ কূটশবà§à¦¦"
+
+#: templates/personal.php:26
+msgid "show"
+msgstr "পà§à¦°à¦¦à¦°à§à¦¶à¦¨"
+
+#: templates/personal.php:27
+msgid "Change password"
+msgstr "কূটশবà§à¦¦ পরিবরà§à¦¤à¦¨ করà§à¦¨"
+
+#: templates/personal.php:33
+msgid "Email"
+msgstr "ই-মেইল "
+
+#: templates/personal.php:34
+msgid "Your email address"
+msgstr "আপনার ই-মেইল ঠিকানা"
+
+#: templates/personal.php:35
+msgid "Fill in an email address to enable password recovery"
+msgstr "কূটশবà§à¦¦ পূনরূদà§à¦§à¦¾à¦° সকà§à¦°à¦¿à§Ÿ করার জনà§à¦¯ ই-মেইল ঠিকানাটি পূরণ করà§à¦¨"
+
+#: templates/personal.php:41 templates/personal.php:42
+msgid "Language"
+msgstr "ভাষা"
+
+#: templates/personal.php:47
+msgid "Help translate"
+msgstr "অনà§à¦¬à¦¾à¦¦ করতে সহায়তা করà§à¦¨"
+
+#: templates/personal.php:52
+msgid "WebDAV"
+msgstr "WebDAV"
+
+#: templates/personal.php:54
+msgid "Use this address to connect to your ownCloud in your file manager"
+msgstr "আপনার ownCloud ঠসংযà§à¦•à§à¦¤ হতে à¦à¦‡ ঠিকানাটি আপনার ফাইল বà§à¦¯à¦¬à¦¸à§à¦¥à¦¾à¦ªà¦•ে বà§à¦¯à¦¬à¦¹à¦¾à¦° করà§à¦¨"
+
+#: templates/personal.php:63
+msgid "Version"
+msgstr "ভারà§à¦¸à¦¨"
+
+#: templates/personal.php:65
+msgid ""
+"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>."
+msgstr "তৈলী করেছেন <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud সমà§à¦ªà§à¦°à¦¦à¦¾à§Ÿ</a>, যার <a href=\"https://github.com/owncloud\" target=\"_blank\"> উৎস কোডটি <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a> à¦à¦° অধীনে লাইসেনà§à¦¸à¦•ৃত।"
+
+#: templates/users.php:21 templates/users.php:81
+msgid "Name"
+msgstr "রাম"
+
+#: templates/users.php:26 templates/users.php:83 templates/users.php:103
+msgid "Groups"
+msgstr "গোষà§à¦ à§€à¦¸à¦®à§‚হ"
+
+#: templates/users.php:32
+msgid "Create"
+msgstr "তৈরী কর"
+
+#: templates/users.php:35
+msgid "Default Storage"
+msgstr "পূরà§à¦¬à¦¨à¦¿à¦°à§à¦§à¦¾à¦°à¦¿à¦¤ সংরকà§à¦·à¦£à¦¾à¦—ার"
+
+#: templates/users.php:42 templates/users.php:138
+msgid "Unlimited"
+msgstr "অসীম"
+
+#: templates/users.php:60 templates/users.php:153
+msgid "Other"
+msgstr "অনà§à¦¯à¦¾à¦¨à§à¦¯"
+
+#: templates/users.php:85 templates/users.php:117
+msgid "Group Admin"
+msgstr "গোষà§à¦ à§€ পà§à¦°à¦¶à¦¾à¦¸à¦•"
+
+#: templates/users.php:87
+msgid "Storage"
+msgstr "সংরকà§à¦·à¦£à¦¾à¦—ার"
+
+#: templates/users.php:133
+msgid "Default"
+msgstr "পূরà§à¦¬à¦¨à¦¿à¦°à§à¦§à¦¾à¦°à¦¿à¦¤"
+
+#: templates/users.php:161
+msgid "Delete"
+msgstr "মà§à¦›à§‡ ফেল"
diff --git a/l10n/bn_BD/user_ldap.po b/l10n/bn_BD/user_ldap.po
new file mode 100644
index 00000000000..68b329db2f1
--- /dev/null
+++ b/l10n/bn_BD/user_ldap.po
@@ -0,0 +1,195 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: ownCloud\n"
+"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
+"POT-Creation-Date: 2013-01-16 00:19+0100\n"
+"PO-Revision-Date: 2013-01-15 23:20+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"Language-Team: Bengali (Bangladesh) (http://www.transifex.com/projects/p/owncloud/language/bn_BD/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: bn_BD\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: templates/settings.php:8
+msgid ""
+"<b>Warning:</b> Apps user_ldap and user_webdavauth are incompatible. You may"
+" experience unexpected behaviour. Please ask your system administrator to "
+"disable one of them."
+msgstr ""
+
+#: templates/settings.php:11
+msgid ""
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not "
+"work. Please ask your system administrator to install it."
+msgstr ""
+
+#: templates/settings.php:15
+msgid "Host"
+msgstr "হোসà§à¦Ÿ"
+
+#: templates/settings.php:15
+msgid ""
+"You can omit the protocol, except you require SSL. Then start with ldaps://"
+msgstr "SSL আবশà§à¦¯à¦• না হলে আপনি à¦à¦‡ পà§à¦°à¦Ÿà§‹à¦•লটি মà§à¦›à§‡ ফেলতে পারেন । à¦à¦°à¦ªà¦° শà§à¦°à§ করà§à¦¨ à¦à¦Ÿà¦¾ দিয়ে ldaps://"
+
+#: templates/settings.php:16
+msgid "Base DN"
+msgstr "ভিতà§à¦¤à¦¿ DN"
+
+#: templates/settings.php:16
+msgid "One Base DN per line"
+msgstr ""
+
+#: templates/settings.php:16
+msgid "You can specify Base DN for users and groups in the Advanced tab"
+msgstr "সà§à¦šà¦¾à¦°à§ টà§à¦¯à¦…বে গিয়ে আপনি বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•ারি à¦à¦¬à¦‚ গোষà§à¦ à§€à¦¸à¦®à§‚হের জনà§à¦¯ ভিতà§à¦¤à¦¿ DN নিরà§à¦§à¦¾à¦°à¦£ করতে পারেন।"
+
+#: templates/settings.php:17
+msgid "User DN"
+msgstr "বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•ারি DN"
+
+#: templates/settings.php:17
+msgid ""
+"The DN of the client user with which the bind shall be done, e.g. "
+"uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password "
+"empty."
+msgstr "The DN of the client user with which the bind shall be done, e.g. uid=agent,dc=example,dc=com. পরিচয় গোপন রেখে অধিগমনের জনà§à¦¯ DN à¦à¦¬à¦‚ কূটশবà§à¦¦à¦Ÿà¦¿ ফাà¦à¦•া রাখà§à¦¨à¥¤"
+
+#: templates/settings.php:18
+msgid "Password"
+msgstr "কূটশবà§à¦¦"
+
+#: templates/settings.php:18
+msgid "For anonymous access, leave DN and Password empty."
+msgstr "অজà§à¦žà¦¾à¦¤à¦•à§à¦²à¦¶à§€à¦² অধিগমনের জনà§à¦¯ DN à¦à¦¬à¦‚ কূটশবà§à¦¦à¦Ÿà¦¿ ফাà¦à¦•া রাখà§à¦¨à¥¤"
+
+#: templates/settings.php:19
+msgid "User Login Filter"
+msgstr "বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•ারির পà§à¦°à¦¬à§‡à¦¶ ছাà¦à¦•নী"
+
+#: templates/settings.php:19
+#, php-format
+msgid ""
+"Defines the filter to apply, when login is attempted. %%uid replaces the "
+"username in the login action."
+msgstr "পà§à¦°à¦¬à§‡à¦¶à§‡à¦° চেষà§à¦Ÿà¦¾ করার সময় পà§à¦°à¦¯à§‹à¦œà§à¦¯ ছাà¦à¦•নীটি নিরà§à¦§à¦¾à¦°à¦£ করবে। পà§à¦°à¦¬à§‡à¦¶à§‡à¦° সময় বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•ারী নামটি %%uid দিয়ে পà§à¦°à¦¤à¦¿à¦¸à§à¦¥à¦¾à¦ªà¦¿à¦¤ হবে।"
+
+#: templates/settings.php:19
+#, php-format
+msgid "use %%uid placeholder, e.g. \"uid=%%uid\""
+msgstr "%%uid সà§à¦¥à¦¾à¦¨à¦§à¦¾à¦°à¦• বà§à¦¯à¦¬à¦¹à¦¾à¦° করà§à¦¨, উদাহরণঃ \"uid=%%uid\""
+
+#: templates/settings.php:20
+msgid "User List Filter"
+msgstr "বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•ারী তালিকা ছাà¦à¦•নী"
+
+#: templates/settings.php:20
+msgid "Defines the filter to apply, when retrieving users."
+msgstr "বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•ারী উদà§à¦§à¦¾à¦° করার সময় পà§à¦°à§Ÿà§‹à¦—ের জনà§à¦¯ ছাà¦à¦•নী নিরà§à¦§à¦¾à¦°à¦£ করবে।"
+
+#: templates/settings.php:20
+msgid "without any placeholder, e.g. \"objectClass=person\"."
+msgstr "কোন সà§à¦¥à¦¾à¦¨à¦§à¦¾à¦°à¦• বà§à¦¯à¦¤à§€à¦¤, যেমনঃ \"objectClass=person\"।"
+
+#: templates/settings.php:21
+msgid "Group Filter"
+msgstr "গোষà§à¦ à§€ ছাà¦à¦•নী"
+
+#: templates/settings.php:21
+msgid "Defines the filter to apply, when retrieving groups."
+msgstr "গোষà§à¦ à§€à¦¸à¦®à§‚হ উদà§à¦§à¦¾à¦° করার সময় পà§à¦°à§Ÿà§‹à¦—ের জনà§à¦¯ ছাà¦à¦•নী নিরà§à¦§à¦¾à¦°à¦£ করবে।"
+
+#: templates/settings.php:21
+msgid "without any placeholder, e.g. \"objectClass=posixGroup\"."
+msgstr "কোন সà§à¦¥à¦¾à¦¨ ধারক বà§à¦¯à¦¤à§€à¦¤, উদাহরণঃ\"objectClass=posixGroup\"।"
+
+#: templates/settings.php:24
+msgid "Port"
+msgstr "পোরà§à¦Ÿ"
+
+#: templates/settings.php:25
+msgid "Base User Tree"
+msgstr "ভিতà§à¦¤à¦¿ বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•ারি বৃকà§à¦·à¦¾à¦•ারে"
+
+#: templates/settings.php:25
+msgid "One User Base DN per line"
+msgstr ""
+
+#: templates/settings.php:26
+msgid "Base Group Tree"
+msgstr "ভিতà§à¦¤à¦¿ গোষà§à¦ à§€ বৃকà§à¦·à¦¾à¦•ারে"
+
+#: templates/settings.php:26
+msgid "One Group Base DN per line"
+msgstr ""
+
+#: templates/settings.php:27
+msgid "Group-Member association"
+msgstr "গোষà§à¦ à§€-সদসà§à¦¯ সংসà§à¦¥à¦¾à¦ªà¦¨"
+
+#: templates/settings.php:28
+msgid "Use TLS"
+msgstr "TLS বà§à¦¯à¦¬à¦¹à¦¾à¦° কর"
+
+#: templates/settings.php:28
+msgid "Do not use it for SSL connections, it will fail."
+msgstr "SSL সংযোগের জনà§à¦¯ à¦à¦Ÿà¦¿ বà§à¦¯à¦¬à¦¹à¦¾à¦° করবেন না, তাহলে বà§à¦¯à¦°à§à¦¥ হবেনই।"
+
+#: templates/settings.php:29
+msgid "Case insensitve LDAP server (Windows)"
+msgstr "বরà§à¦£ অসংবেদী LDAP সারà§à¦­à¦¾à¦° (উইনà§à¦¡à§‹à¦œ)"
+
+#: templates/settings.php:30
+msgid "Turn off SSL certificate validation."
+msgstr "SSL সনদপতà§à¦° যাচাইকরণ বনà§à¦§ রাক।"
+
+#: templates/settings.php:30
+msgid ""
+"If connection only works with this option, import the LDAP server's SSL "
+"certificate in your ownCloud server."
+msgstr "শà§à¦§à§à¦®à¦¾à¦¤à§à¦° যদি à¦à¦‡ বিকলà§à¦ªà¦Ÿà¦¿ বà§à¦¯à¦¬à¦¹à¦¾à¦° করেই সংযোগ কারà§à¦¯à¦•রী হয় তবে আপনার ownCloud সারà§à¦­à¦¾à¦°à§‡ LDAP সারà§à¦­à¦¾à¦°à§‡à¦° SSL সনদপতà§à¦°à¦Ÿà¦¿ আমদানি করà§à¦¨à¥¤"
+
+#: templates/settings.php:30
+msgid "Not recommended, use for testing only."
+msgstr "অনà§à¦®à§‹à¦¦à¦¿à¦¤ নয়, শà§à¦§à§à¦®à¦¾à¦¤à§à¦° পরীকà§à¦·à¦¾à¦®à§‚লক বà§à¦¯à¦¬à¦¹à¦¾à¦°à§‡à¦° জনà§à¦¯à¥¤"
+
+#: templates/settings.php:31
+msgid "User Display Name Field"
+msgstr "বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•ারীর পà§à¦°à¦¦à¦°à§à¦¶à¦¿à¦¤à¦¬à§à¦¯ নামের কà§à¦·à§‡à¦¤à§à¦°"
+
+#: templates/settings.php:31
+msgid "The LDAP attribute to use to generate the user`s ownCloud name."
+msgstr "বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•ারীর ownCloud নাম তৈরি করার জনà§à¦¯ বà§à¦¯à¦­à¦¹à§ƒà¦¤ LDAP বৈশিষà§à¦Ÿà§à¦¯à¥¤"
+
+#: templates/settings.php:32
+msgid "Group Display Name Field"
+msgstr "গোষà§à¦ à§€à¦° পà§à¦°à¦¦à¦°à§à¦¶à¦¿à¦¤à¦¬à§à¦¯ নামের কà§à¦·à§‡à¦¤à§à¦°"
+
+#: templates/settings.php:32
+msgid "The LDAP attribute to use to generate the groups`s ownCloud name."
+msgstr "গোষà§à¦ à§€à¦° ownCloud নাম তৈরি করার জনà§à¦¯ বà§à¦¯à¦­à¦¹à§ƒà¦¤ LDAP বৈশিষà§à¦Ÿà§à¦¯à¥¤"
+
+#: templates/settings.php:34
+msgid "in bytes"
+msgstr "বাইটে"
+
+#: templates/settings.php:36
+msgid "in seconds. A change empties the cache."
+msgstr "সেকেনà§à¦¡à§‡à¥¤ কোন পরিবরà§à¦¤à¦¨ কà§à¦¯à¦¾à¦¸à§‡ খালি করবে।"
+
+#: templates/settings.php:37
+msgid ""
+"Leave empty for user name (default). Otherwise, specify an LDAP/AD "
+"attribute."
+msgstr "বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•ারী নামের জনà§à¦¯ ফাà¦à¦•া রাখà§à¦¨ (পূরà§à¦¬à¦¨à¦¿à¦°à§à¦§à¦¾à¦°à¦¿à¦¤)। অনà§à¦¯à¦¥à¦¾à§Ÿ, LDAP/AD বৈশিষà§à¦Ÿà§à¦¯ নিরà§à¦§à¦¾à¦°à¦£ করà§à¦¨à¥¤"
+
+#: templates/settings.php:39
+msgid "Help"
+msgstr "সহায়িকা"
diff --git a/l10n/bn_BD/user_webdavauth.po b/l10n/bn_BD/user_webdavauth.po
new file mode 100644
index 00000000000..6bf9079f19b
--- /dev/null
+++ b/l10n/bn_BD/user_webdavauth.po
@@ -0,0 +1,34 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Shubhra Paul <paul_shubhra@yahoo.com>, 2013.
+msgid ""
+msgstr ""
+"Project-Id-Version: ownCloud\n"
+"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"Language-Team: Bengali (Bangladesh) (http://www.transifex.com/projects/p/owncloud/language/bn_BD/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: bn_BD\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: templates/settings.php:3
+msgid "WebDAV Authentication"
+msgstr ""
+
+#: templates/settings.php:4
+msgid "URL: http://"
+msgstr "URL:http://"
+
+#: templates/settings.php:6
+msgid ""
+"ownCloud will send the user credentials to this URL. 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 ""
diff --git a/l10n/ca/core.po b/l10n/ca/core.po
index 9fd20a8ef12..a9940eccf88 100644
--- a/l10n/ca/core.po
+++ b/l10n/ca/core.po
@@ -4,14 +4,14 @@
#
# Translators:
# <joan@montane.cat>, 2012.
-# <rcalvoi@yahoo.com>, 2011-2012.
+# <rcalvoi@yahoo.com>, 2011-2013.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-24 00:10+0100\n"
-"PO-Revision-Date: 2012-12-23 14:22+0000\n"
-"Last-Translator: rogerc <rcalvoi@yahoo.com>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:03+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -85,55 +85,55 @@ msgstr "Error en eliminar %s dels preferits."
msgid "Settings"
msgstr "Arranjament"
-#: js/js.js:704
+#: js/js.js:711
msgid "seconds ago"
msgstr "segons enrere"
-#: js/js.js:705
+#: js/js.js:712
msgid "1 minute ago"
msgstr "fa 1 minut"
-#: js/js.js:706
+#: js/js.js:713
msgid "{minutes} minutes ago"
msgstr "fa {minutes} minuts"
-#: js/js.js:707
+#: js/js.js:714
msgid "1 hour ago"
msgstr "fa 1 hora"
-#: js/js.js:708
+#: js/js.js:715
msgid "{hours} hours ago"
msgstr "fa {hours} hores"
-#: js/js.js:709
+#: js/js.js:716
msgid "today"
msgstr "avui"
-#: js/js.js:710
+#: js/js.js:717
msgid "yesterday"
msgstr "ahir"
-#: js/js.js:711
+#: js/js.js:718
msgid "{days} days ago"
msgstr "fa {days} dies"
-#: js/js.js:712
+#: js/js.js:719
msgid "last month"
msgstr "el mes passat"
-#: js/js.js:713
+#: js/js.js:720
msgid "{months} months ago"
msgstr "fa {months} mesos"
-#: js/js.js:714
+#: js/js.js:721
msgid "months ago"
msgstr "mesos enrere"
-#: js/js.js:715
+#: js/js.js:722
msgid "last year"
msgstr "l'any passat"
-#: js/js.js:716
+#: js/js.js:723
msgid "years ago"
msgstr "anys enrere"
@@ -209,7 +209,6 @@ msgid "Password protect"
msgstr "Protegir amb contrasenya"
#: js/share.js:168 templates/installation.php:44 templates/login.php:35
-#: templates/verify.php:13
msgid "Password"
msgstr "Contrasenya"
@@ -554,10 +553,6 @@ msgstr "recorda'm"
msgid "Log in"
msgstr "Inici de sessió"
-#: templates/logout.php:1
-msgid "You are logged out."
-msgstr "Heu tancat la sessió."
-
#: templates/part.pagenavi.php:3
msgid "prev"
msgstr "anterior"
@@ -566,16 +561,7 @@ msgstr "anterior"
msgid "next"
msgstr "següent"
-#: templates/verify.php:5
-msgid "Security Warning!"
-msgstr "Avís de seguretat!"
-
-#: templates/verify.php:6
-msgid ""
-"Please verify your password. <br/>For security reasons you may be "
-"occasionally asked to enter your password again."
-msgstr "Comproveu la vostra contrasenya. <br/>Per raons de seguretat se us pot demanar escriure de nou la vostra contrasenya."
-
-#: templates/verify.php:16
-msgid "Verify"
-msgstr "Comprova"
+#: templates/update.php:3
+#, php-format
+msgid "Updating ownCloud to version %s, this may take a while."
+msgstr "S'està actualitzant ownCloud a la versió %s, pot trigar una estona."
diff --git a/l10n/ca/files.po b/l10n/ca/files.po
index 478d4fded6c..68ecfef29bc 100644
--- a/l10n/ca/files.po
+++ b/l10n/ca/files.po
@@ -7,14 +7,16 @@
# <joan@montane.cat>, 2012.
# <josep_tomas@hotmail.com>, 2012.
# Josep Tomàs <jtomas.binsoft@gmail.com>, 2012.
-# <rcalvoi@yahoo.com>, 2011-2012.
+# <rcalvoi@yahoo.com>, 2013.
+# <rcalvoi@yahoo.com>, 2011-2013.
+# <sacoo2@hotmail.com>, 2013.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-02 00:02+0100\n"
-"PO-Revision-Date: 2012-12-01 16:57+0000\n"
-"Last-Translator: Josep Tomàs <jtomas.binsoft@gmail.com>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-21 08:39+0000\n"
+"Last-Translator: rogerc <rcalvoi@yahoo.com>\n"
"Language-Team: Catalan (http://www.transifex.com/projects/p/owncloud/language/ca/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -22,46 +24,77 @@ msgstr ""
"Language: ca\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+#: ajax/delete.php:28 ajax/getstoragestats.php:11 ajax/upload.php:17
+#: ajax/upload.php:76 templates/index.php:18
+msgid "Upload"
+msgstr "Puja"
+
+#: ajax/move.php:17
+#, php-format
+msgid "Could not move %s - File with this name already exists"
+msgstr "No s'ha pogut moure %s - Ja hi ha un fitxer amb aquest nom"
+
+#: ajax/move.php:24
+#, php-format
+msgid "Could not move %s"
+msgstr " No s'ha pogut moure %s"
+
+#: ajax/rename.php:19
+msgid "Unable to rename file"
+msgstr "No es pot canviar el nom del fitxer"
+
#: ajax/upload.php:20
+msgid "No file was uploaded. Unknown error"
+msgstr "No s'ha carregat cap fitxer. Error desconegut"
+
+#: ajax/upload.php:30
msgid "There is no error, the file uploaded with success"
msgstr "El fitxer s'ha pujat correctament"
-#: ajax/upload.php:21
+#: ajax/upload.php:31
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr "L’arxiu que voleu carregar supera el màxim definit en la directiva upload_max_filesize del php.ini:"
-#: ajax/upload.php:23
+#: ajax/upload.php:33
msgid ""
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
"the HTML form"
msgstr "El fitxer de pujada excedeix la directiva MAX_FILE_SIZE especificada al formulari HTML"
-#: ajax/upload.php:25
+#: ajax/upload.php:35
msgid "The uploaded file was only partially uploaded"
msgstr "El fitxer només s'ha pujat parcialment"
-#: ajax/upload.php:26
+#: ajax/upload.php:36
msgid "No file was uploaded"
msgstr "El fitxer no s'ha pujat"
-#: ajax/upload.php:27
+#: ajax/upload.php:37
msgid "Missing a temporary folder"
msgstr "S'ha perdut un fitxer temporal"
-#: ajax/upload.php:28
+#: ajax/upload.php:38
msgid "Failed to write to disk"
msgstr "Ha fallat en escriure al disc"
+#: ajax/upload.php:57
+msgid "Not enough space available"
+msgstr "No hi ha prou espai disponible"
+
+#: ajax/upload.php:91
+msgid "Invalid directory."
+msgstr "Directori no vàlid."
+
#: appinfo/app.php:10
msgid "Files"
msgstr "Fitxers"
-#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84
+#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
msgid "Unshare"
msgstr "Deixa de compartir"
-#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90
+#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
msgid "Delete"
msgstr "Suprimeix"
@@ -69,122 +102,136 @@ msgstr "Suprimeix"
msgid "Rename"
msgstr "Reanomena"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "{new_name} already exists"
msgstr "{new_name} ja existeix"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "replace"
msgstr "substitueix"
-#: js/filelist.js:201
+#: js/filelist.js:205
msgid "suggest name"
msgstr "sugereix un nom"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "cancel"
msgstr "cancel·la"
-#: js/filelist.js:250
+#: js/filelist.js:254
msgid "replaced {new_name}"
msgstr "s'ha substituït {new_name}"
-#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286
+#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
msgid "undo"
msgstr "desfés"
-#: js/filelist.js:252
+#: js/filelist.js:256
msgid "replaced {new_name} with {old_name}"
msgstr "s'ha substituït {old_name} per {new_name}"
-#: js/filelist.js:284
+#: js/filelist.js:288
msgid "unshared {files}"
msgstr "no compartits {files}"
-#: js/filelist.js:286
+#: js/filelist.js:290
msgid "deleted {files}"
msgstr "eliminats {files}"
-#: js/files.js:33
+#: js/files.js:48
+msgid "'.' is an invalid file name."
+msgstr "'.' és un nom no vàlid per un fitxer."
+
+#: js/files.js:53
+msgid "File name cannot be empty."
+msgstr "El nom del fitxer no pot ser buit."
+
+#: js/files.js:62
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr "El nóm no és vàlid, '\\', '/', '<', '>', ':', '\"', '|', '?' i '*' no estan permesos."
-#: js/files.js:183
-msgid "generating ZIP-file, it may take some time."
-msgstr "s'estan generant fitxers ZIP, pot trigar una estona."
+#: js/files.js:204
+msgid ""
+"Your download is being prepared. This might take some time if the files are "
+"big."
+msgstr "S'està preparant la baixada. Pot trigar una estona si els fitxers són grans."
-#: js/files.js:218
+#: js/files.js:242
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr "No es pot pujar el fitxer perquè és una carpeta o té 0 bytes"
-#: js/files.js:218
+#: js/files.js:242
msgid "Upload Error"
msgstr "Error en la pujada"
-#: js/files.js:235
+#: js/files.js:259
msgid "Close"
msgstr "Tanca"
-#: js/files.js:254 js/files.js:368 js/files.js:398
+#: js/files.js:278 js/files.js:397 js/files.js:431
msgid "Pending"
msgstr "Pendents"
-#: js/files.js:274
+#: js/files.js:298
msgid "1 file uploading"
msgstr "1 fitxer pujant"
-#: js/files.js:277 js/files.js:331 js/files.js:346
+#: js/files.js:301 js/files.js:357 js/files.js:372
msgid "{count} files uploading"
msgstr "{count} fitxers en pujada"
-#: js/files.js:349 js/files.js:382
+#: js/files.js:376 js/files.js:414
msgid "Upload cancelled."
msgstr "La pujada s'ha cancel·lat."
-#: js/files.js:451
+#: js/files.js:486
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr "Hi ha una pujada en curs. Si abandoneu la pàgina la pujada es cancel·larà."
-#: js/files.js:523
-msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud"
-msgstr "El nom de la carpeta no és vàlid. L'ús de \"Compartit\" està reservat per a OwnCloud"
+#: js/files.js:559
+msgid "URL cannot be empty."
+msgstr "La URL no pot ser buida"
-#: js/files.js:704
+#: js/files.js:565
+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/files.js:775
msgid "{count} files scanned"
msgstr "{count} fitxers escannejats"
-#: js/files.js:712
+#: js/files.js:783
msgid "error while scanning"
msgstr "error durant l'escaneig"
-#: js/files.js:785 templates/index.php:65
+#: js/files.js:857 templates/index.php:64
msgid "Name"
msgstr "Nom"
-#: js/files.js:786 templates/index.php:76
+#: js/files.js:858 templates/index.php:75
msgid "Size"
msgstr "Mida"
-#: js/files.js:787 templates/index.php:78
+#: js/files.js:859 templates/index.php:77
msgid "Modified"
msgstr "Modificat"
-#: js/files.js:814
+#: js/files.js:878
msgid "1 folder"
msgstr "1 carpeta"
-#: js/files.js:816
+#: js/files.js:880
msgid "{count} folders"
msgstr "{count} carpetes"
-#: js/files.js:824
+#: js/files.js:888
msgid "1 file"
msgstr "1 fitxer"
-#: js/files.js:826
+#: js/files.js:890
msgid "{count} files"
msgstr "{count} fitxers"
@@ -196,27 +243,27 @@ msgstr "Gestió de fitxers"
msgid "Maximum upload size"
msgstr "Mida màxima de pujada"
-#: templates/admin.php:9
+#: templates/admin.php:10
msgid "max. possible: "
msgstr "màxim possible:"
-#: templates/admin.php:12
+#: templates/admin.php:15
msgid "Needed for multi-file and folder downloads."
msgstr "Necessari per fitxers múltiples i baixada de carpetes"
-#: templates/admin.php:14
+#: templates/admin.php:17
msgid "Enable ZIP-download"
msgstr "Activa la baixada ZIP"
-#: templates/admin.php:17
+#: templates/admin.php:20
msgid "0 is unlimited"
msgstr "0 és sense límit"
-#: templates/admin.php:19
+#: templates/admin.php:22
msgid "Maximum input size for ZIP files"
msgstr "Mida màxima d'entrada per fitxers ZIP"
-#: templates/admin.php:23
+#: templates/admin.php:26
msgid "Save"
msgstr "Desa"
@@ -236,36 +283,32 @@ msgstr "Carpeta"
msgid "From link"
msgstr "Des d'enllaç"
-#: templates/index.php:35
-msgid "Upload"
-msgstr "Puja"
-
-#: templates/index.php:43
+#: templates/index.php:41
msgid "Cancel upload"
msgstr "Cancel·la la pujada"
-#: templates/index.php:57
+#: templates/index.php:56
msgid "Nothing in here. Upload something!"
msgstr "Res per aquí. Pugeu alguna cosa!"
-#: templates/index.php:71
+#: templates/index.php:70
msgid "Download"
msgstr "Baixa"
-#: templates/index.php:103
+#: templates/index.php:102
msgid "Upload too large"
msgstr "La pujada és massa gran"
-#: templates/index.php:105
+#: templates/index.php:104
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:110
+#: templates/index.php:109
msgid "Files are being scanned, please wait."
msgstr "S'estan escanejant els fitxers, espereu"
-#: templates/index.php:113
+#: templates/index.php:112
msgid "Current scanning"
msgstr "Actualment escanejant"
diff --git a/l10n/ca/files_encryption.po b/l10n/ca/files_encryption.po
index 98571697a6a..78e847f6e1e 100644
--- a/l10n/ca/files_encryption.po
+++ b/l10n/ca/files_encryption.po
@@ -3,33 +3,82 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# <rcalvoi@yahoo.com>, 2013.
# <rcalvoi@yahoo.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-08-13 23:12+0200\n"
-"PO-Revision-Date: 2012-08-13 18:30+0000\n"
+"POT-Creation-Date: 2013-01-26 00:09+0100\n"
+"PO-Revision-Date: 2013-01-25 08:06+0000\n"
"Last-Translator: rogerc <rcalvoi@yahoo.com>\n"
"Language-Team: Catalan (http://www.transifex.com/projects/p/owncloud/language/ca/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: ca\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr "Connecteu-vos al client ownCloud i canvieu la contrasenya d'encriptació per completar la conversió."
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr "s'ha commutat a l'encriptació per part del client"
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr "Canvia la contrasenya d'encriptació per la d'accés"
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr "Comproveu les contrasenyes i proveu-ho de nou."
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr "No s'ha pogut canviar la contrasenya d'encriptació de fitxers per la d'accés"
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr "Escolliu el mode d'encriptació:"
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr "Encriptació per part del client (més segura però fa impossible l'accés a les dades des de la interfície web)"
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr "Encriptació per part del servidor (permet accedir als fitxers des de la interfície web i des del client d'escriptori)"
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr "Cap (sense encriptació)"
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr "Important: quan seleccioneu un mode d'encriptació no hi ha manera de canviar-lo de nou"
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr "Específic per usuari (permet que l'usuari ho decideixi)"
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "Encriptatge"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "Exclou els tipus de fitxers següents de l'encriptatge"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "Cap"
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "Activa l'encriptatge"
diff --git a/l10n/ca/files_versions.po b/l10n/ca/files_versions.po
index 4bd9bdf45c9..0db50601e4c 100644
--- a/l10n/ca/files_versions.po
+++ b/l10n/ca/files_versions.po
@@ -9,9 +9,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-10-10 02:04+0200\n"
-"PO-Revision-Date: 2012-10-09 07:30+0000\n"
-"Last-Translator: rogerc <rcalvoi@yahoo.com>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -19,22 +19,10 @@ msgstr ""
"Language: ca\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: js/settings-personal.js:31 templates/settings-personal.php:10
-msgid "Expire all versions"
-msgstr "Expira totes les versions"
-
#: js/versions.js:16
msgid "History"
msgstr "Historial"
-#: templates/settings-personal.php:4
-msgid "Versions"
-msgstr "Versions"
-
-#: templates/settings-personal.php:7
-msgid "This will delete all existing backup versions of your files"
-msgstr "Això eliminarà totes les versions de còpia de seguretat dels vostres fitxers"
-
#: templates/settings.php:3
msgid "Files Versioning"
msgstr "Fitxers de Versions"
diff --git a/l10n/ca/lib.po b/l10n/ca/lib.po
index 0bdb8f916ec..965da96ee31 100644
--- a/l10n/ca/lib.po
+++ b/l10n/ca/lib.po
@@ -3,13 +3,13 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
-# <rcalvoi@yahoo.com>, 2012.
+# <rcalvoi@yahoo.com>, 2012-2013.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-11-17 00:01+0100\n"
-"PO-Revision-Date: 2012-11-16 08:22+0000\n"
+"POT-Creation-Date: 2013-01-18 00:03+0100\n"
+"PO-Revision-Date: 2013-01-17 09:24+0000\n"
"Last-Translator: rogerc <rcalvoi@yahoo.com>\n"
"Language-Team: Catalan (http://www.transifex.com/projects/p/owncloud/language/ca/)\n"
"MIME-Version: 1.0\n"
@@ -18,51 +18,55 @@ msgstr ""
"Language: ca\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: app.php:285
+#: app.php:301
msgid "Help"
msgstr "Ajuda"
-#: app.php:292
+#: app.php:308
msgid "Personal"
msgstr "Personal"
-#: app.php:297
+#: app.php:313
msgid "Settings"
msgstr "Configuració"
-#: app.php:302
+#: app.php:318
msgid "Users"
msgstr "Usuaris"
-#: app.php:309
+#: app.php:325
msgid "Apps"
msgstr "Aplicacions"
-#: app.php:311
+#: app.php:327
msgid "Admin"
msgstr "Administració"
-#: files.php:332
+#: files.php:365
msgid "ZIP download is turned off."
msgstr "La baixada en ZIP està desactivada."
-#: files.php:333
+#: files.php:366
msgid "Files need to be downloaded one by one."
msgstr "Els fitxers s'han de baixar d'un en un."
-#: files.php:333 files.php:358
+#: files.php:366 files.php:391
msgid "Back to Files"
msgstr "Torna a Fitxers"
-#: files.php:357
+#: files.php:390
msgid "Selected files too large to generate zip file."
msgstr "Els fitxers seleccionats son massa grans per generar un fitxer zip."
+#: helper.php:228
+msgid "couldn't be determined"
+msgstr "no s'ha pogut determinar"
+
#: json.php:28
msgid "Application is not enabled"
msgstr "L'aplicació no està habilitada"
-#: json.php:39 json.php:64 json.php:77 json.php:89
+#: json.php:39 json.php:62 json.php:73
msgid "Authentication error"
msgstr "Error d'autenticació"
@@ -82,55 +86,55 @@ msgstr "Text"
msgid "Images"
msgstr "Imatges"
-#: template.php:103
+#: template.php:113
msgid "seconds ago"
msgstr "segons enrere"
-#: template.php:104
+#: template.php:114
msgid "1 minute ago"
msgstr "fa 1 minut"
-#: template.php:105
+#: template.php:115
#, php-format
msgid "%d minutes ago"
msgstr "fa %d minuts"
-#: template.php:106
+#: template.php:116
msgid "1 hour ago"
msgstr "fa 1 hora"
-#: template.php:107
+#: template.php:117
#, php-format
msgid "%d hours ago"
msgstr "fa %d hores"
-#: template.php:108
+#: template.php:118
msgid "today"
msgstr "avui"
-#: template.php:109
+#: template.php:119
msgid "yesterday"
msgstr "ahir"
-#: template.php:110
+#: template.php:120
#, php-format
msgid "%d days ago"
msgstr "fa %d dies"
-#: template.php:111
+#: template.php:121
msgid "last month"
msgstr "el mes passat"
-#: template.php:112
+#: template.php:122
#, php-format
msgid "%d months ago"
msgstr "fa %d mesos"
-#: template.php:113
+#: template.php:123
msgid "last year"
msgstr "l'any passat"
-#: template.php:114
+#: template.php:124
msgid "years ago"
msgstr "fa anys"
diff --git a/l10n/ca/settings.po b/l10n/ca/settings.po
index da4cfbd6279..4d6dc883603 100644
--- a/l10n/ca/settings.po
+++ b/l10n/ca/settings.po
@@ -12,9 +12,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-22 00:24+0100\n"
-"PO-Revision-Date: 2012-12-21 09:18+0000\n"
-"Last-Translator: rogerc <rcalvoi@yahoo.com>\n"
+"POT-Creation-Date: 2013-01-12 00:09+0100\n"
+"PO-Revision-Date: 2013-01-11 23:09+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -34,7 +34,7 @@ msgstr "El grup ja existeix"
msgid "Unable to add group"
msgstr "No es pot afegir el grup"
-#: ajax/enableapp.php:12
+#: ajax/enableapp.php:11
msgid "Could not enable app. "
msgstr "No s'ha pogut activar l'apliació"
@@ -46,14 +46,6 @@ msgstr "S'ha desat el correu electrònic"
msgid "Invalid email"
msgstr "El correu electrònic no és vàlid"
-#: ajax/openid.php:13
-msgid "OpenID Changed"
-msgstr "OpenID ha canviat"
-
-#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20
-msgid "Invalid request"
-msgstr "Sol.licitud no vàlida"
-
#: ajax/removegroup.php:13
msgid "Unable to delete group"
msgstr "No es pot eliminar el grup"
@@ -70,6 +62,10 @@ msgstr "No es pot eliminar l'usuari"
msgid "Language changed"
msgstr "S'ha canviat l'idioma"
+#: ajax/setlanguage.php:17 ajax/setlanguage.php:20
+msgid "Invalid request"
+msgstr "Sol.licitud no vàlida"
+
#: ajax/togglegroups.php:12
msgid "Admins can't remove themself from the admin group"
msgstr "Els administradors no es poden eliminar del grup admin"
@@ -165,7 +161,7 @@ msgstr " Baixa el client per Android"
msgid "Download iOS Client"
msgstr "Baixa el client per iOS"
-#: templates/personal.php:21 templates/users.php:23 templates/users.php:77
+#: templates/personal.php:21 templates/users.php:23 templates/users.php:82
msgid "Password"
msgstr "Contrasenya"
@@ -235,11 +231,11 @@ msgid ""
"License\">AGPL</abbr></a>."
msgstr "Desenvolupat per la <a href=\"http://ownCloud.org/contact\" target=\"_blank\">comunitat ownCloud</a>, el <a href=\"https://github.com/owncloud\" target=\"_blank\">codi font</a> té llicència <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>."
-#: templates/users.php:21 templates/users.php:76
+#: templates/users.php:21 templates/users.php:81
msgid "Name"
msgstr "Nom"
-#: templates/users.php:26 templates/users.php:78 templates/users.php:98
+#: templates/users.php:26 templates/users.php:83 templates/users.php:103
msgid "Groups"
msgstr "Grups"
@@ -248,21 +244,29 @@ msgid "Create"
msgstr "Crea"
#: templates/users.php:35
-msgid "Default Quota"
-msgstr "Quota per defecte"
+msgid "Default Storage"
+msgstr "Emmagatzemament per defecte"
-#: templates/users.php:55 templates/users.php:138
+#: templates/users.php:42 templates/users.php:138
+msgid "Unlimited"
+msgstr "Il·limitat"
+
+#: templates/users.php:60 templates/users.php:153
msgid "Other"
-msgstr "Altre"
+msgstr "Un altre"
-#: templates/users.php:80 templates/users.php:112
+#: templates/users.php:85 templates/users.php:117
msgid "Group Admin"
msgstr "Grup Admin"
-#: templates/users.php:82
-msgid "Quota"
-msgstr "Quota"
+#: templates/users.php:87
+msgid "Storage"
+msgstr "Emmagatzemament"
+
+#: templates/users.php:133
+msgid "Default"
+msgstr "Per defecte"
-#: templates/users.php:146
+#: templates/users.php:161
msgid "Delete"
msgstr "Suprimeix"
diff --git a/l10n/ca/user_ldap.po b/l10n/ca/user_ldap.po
index 10b45cc3214..8cf04dcae1b 100644
--- a/l10n/ca/user_ldap.po
+++ b/l10n/ca/user_ldap.po
@@ -3,13 +3,13 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
-# <rcalvoi@yahoo.com>, 2012.
+# <rcalvoi@yahoo.com>, 2012-2013.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-17 00:09+0100\n"
-"PO-Revision-Date: 2012-12-16 09:56+0000\n"
+"POT-Creation-Date: 2013-01-17 00:26+0100\n"
+"PO-Revision-Date: 2013-01-16 07:21+0000\n"
"Last-Translator: rogerc <rcalvoi@yahoo.com>\n"
"Language-Team: Catalan (http://www.transifex.com/projects/p/owncloud/language/ca/)\n"
"MIME-Version: 1.0\n"
@@ -27,9 +27,9 @@ msgstr "<b>Avís:</b> Les aplicacions user_ldap i user_webdavauth són incompati
#: templates/settings.php:11
msgid ""
-"<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will"
-" not work. Please ask your system administrator to install it."
-msgstr "<b>Avís:</b> El mòdul PHP LDAP necessari no està instal·lat, el dorsal no funcionarà. Demaneu a l'administrador del sistema que l'instal·li."
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not "
+"work. Please ask your system administrator to install it."
+msgstr "<b>Avís:</b> El mòdul PHP LDAP no està instal·lat, el dorsal no funcionarà. Demaneu a l'administrador del sistema que l'instal·li."
#: templates/settings.php:15
msgid "Host"
@@ -45,6 +45,10 @@ msgid "Base DN"
msgstr "DN Base"
#: templates/settings.php:16
+msgid "One Base DN per line"
+msgstr "Una DN Base per línia"
+
+#: templates/settings.php:16
msgid "You can specify Base DN for users and groups in the Advanced tab"
msgstr "Podeu especificar DN Base per usuaris i grups a la pestanya Avançat"
@@ -115,10 +119,18 @@ msgstr "Port"
msgid "Base User Tree"
msgstr "Arbre base d'usuaris"
+#: templates/settings.php:25
+msgid "One User Base DN per line"
+msgstr "Una DN Base d'Usuari per línia"
+
#: templates/settings.php:26
msgid "Base Group Tree"
msgstr "Arbre base de grups"
+#: templates/settings.php:26
+msgid "One Group Base DN per line"
+msgstr "Una DN Base de Grup per línia"
+
#: templates/settings.php:27
msgid "Group-Member association"
msgstr "Associació membres-grup"
diff --git a/l10n/ca/user_webdavauth.po b/l10n/ca/user_webdavauth.po
index c7a053911de..bd7df15438f 100644
--- a/l10n/ca/user_webdavauth.po
+++ b/l10n/ca/user_webdavauth.po
@@ -3,13 +3,13 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
-# <rcalvoi@yahoo.com>, 2012.
+# <rcalvoi@yahoo.com>, 2012-2013.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-22 00:24+0100\n"
-"PO-Revision-Date: 2012-12-21 09:21+0000\n"
+"POT-Creation-Date: 2013-01-16 00:19+0100\n"
+"PO-Revision-Date: 2013-01-15 07:22+0000\n"
"Last-Translator: rogerc <rcalvoi@yahoo.com>\n"
"Language-Team: Catalan (http://www.transifex.com/projects/p/owncloud/language/ca/)\n"
"MIME-Version: 1.0\n"
@@ -18,13 +18,17 @@ msgstr ""
"Language: ca\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+#: templates/settings.php:3
+msgid "WebDAV Authentication"
+msgstr "Autenticació WebDAV"
+
#: templates/settings.php:4
msgid "URL: http://"
msgstr "URL: http://"
#: templates/settings.php:6
msgid ""
-"ownCloud will send the user credentials to this URL is interpret http 401 "
-"and http 403 as credentials wrong and all other codes as credentials "
-"correct."
-msgstr "ownCloud enviarà les credencials d'usuari a aquesta URL. S'interpretarà http 401 i http 403 com a credencials incorrectes i tots els altres codis com a credencials correctes."
+"ownCloud will send the user credentials to this URL. 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 "ownCloud enviarà les credencials d'usuari a aquesta URL. Aquest endollable en comprova la resposta i interpretarà els codis d'estat 401 i 403 com a credencials no vàlides, i qualsevol altra resposta com a credencials vàlides."
diff --git a/l10n/cs_CZ/core.po b/l10n/cs_CZ/core.po
index e00aa1d03f3..66b36315f8e 100644
--- a/l10n/cs_CZ/core.po
+++ b/l10n/cs_CZ/core.po
@@ -6,14 +6,14 @@
# Jan Krejci <krejca85@gmail.com>, 2011.
# Martin <fireball@atlas.cz>, 2011-2012.
# Michal Hrušecký <Michal@hrusecky.net>, 2012.
-# Tomáš Chvátal <tomas.chvatal@gmail.com>, 2012.
+# Tomáš Chvátal <tomas.chvatal@gmail.com>, 2012-2013.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-14 00:16+0100\n"
-"PO-Revision-Date: 2012-12-13 09:04+0000\n"
-"Last-Translator: Tomáš Chvátal <tomas.chvatal@gmail.com>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:03+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.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"
@@ -87,55 +87,55 @@ msgstr "Chyba při odebírání %s z oblíbených."
msgid "Settings"
msgstr "Nastavení"
-#: js/js.js:704
+#: js/js.js:711
msgid "seconds ago"
msgstr "před pár vteřinami"
-#: js/js.js:705
+#: js/js.js:712
msgid "1 minute ago"
msgstr "před minutou"
-#: js/js.js:706
+#: js/js.js:713
msgid "{minutes} minutes ago"
msgstr "před {minutes} minutami"
-#: js/js.js:707
+#: js/js.js:714
msgid "1 hour ago"
msgstr "před hodinou"
-#: js/js.js:708
+#: js/js.js:715
msgid "{hours} hours ago"
msgstr "před {hours} hodinami"
-#: js/js.js:709
+#: js/js.js:716
msgid "today"
msgstr "dnes"
-#: js/js.js:710
+#: js/js.js:717
msgid "yesterday"
msgstr "vÄera"
-#: js/js.js:711
+#: js/js.js:718
msgid "{days} days ago"
msgstr "před {days} dny"
-#: js/js.js:712
+#: js/js.js:719
msgid "last month"
msgstr "minulý mesíc"
-#: js/js.js:713
+#: js/js.js:720
msgid "{months} months ago"
msgstr "před {months} měsíci"
-#: js/js.js:714
+#: js/js.js:721
msgid "months ago"
msgstr "před měsíci"
-#: js/js.js:715
+#: js/js.js:722
msgid "last year"
msgstr "minulý rok"
-#: js/js.js:716
+#: js/js.js:723
msgid "years ago"
msgstr "před lety"
@@ -165,8 +165,8 @@ msgid "The object type is not specified."
msgstr "Není urÄen typ objektu."
#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136
-#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:541
-#: js/share.js:553
+#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:554
+#: js/share.js:566
msgid "Error"
msgstr "Chyba"
@@ -178,7 +178,7 @@ msgstr "Není urÄen název aplikace."
msgid "The required file {file} is not installed!"
msgstr "Požadovaný soubor {file} není nainstalován."
-#: js/share.js:124 js/share.js:581
+#: js/share.js:124 js/share.js:594
msgid "Error while sharing"
msgstr "Chyba při sdílení"
@@ -206,12 +206,11 @@ msgstr "Sdílet s"
msgid "Share with link"
msgstr "Sdílet s odkazem"
-#: js/share.js:164
+#: js/share.js:166
msgid "Password protect"
msgstr "Chránit heslem"
-#: js/share.js:168 templates/installation.php:42 templates/login.php:24
-#: templates/verify.php:13
+#: js/share.js:168 templates/installation.php:44 templates/login.php:35
msgid "Password"
msgstr "Heslo"
@@ -275,23 +274,23 @@ msgstr "smazat"
msgid "share"
msgstr "sdílet"
-#: js/share.js:353 js/share.js:528 js/share.js:530
+#: js/share.js:356 js/share.js:541
msgid "Password protected"
msgstr "Chráněno heslem"
-#: js/share.js:541
+#: js/share.js:554
msgid "Error unsetting expiration date"
msgstr "Chyba při odstraňování data vypršení platnosti"
-#: js/share.js:553
+#: js/share.js:566
msgid "Error setting expiration date"
msgstr "Chyba při nastavení data vypršení platnosti"
-#: js/share.js:568
+#: js/share.js:581
msgid "Sending ..."
msgstr "Odesílám..."
-#: js/share.js:579
+#: js/share.js:592
msgid "Email sent"
msgstr "E-mail odeslán"
@@ -315,8 +314,8 @@ msgstr "Obnovovací e-mail odeslán."
msgid "Request failed!"
msgstr "Požadavek selhal."
-#: lostpassword/templates/lostpassword.php:11 templates/installation.php:38
-#: templates/login.php:20
+#: lostpassword/templates/lostpassword.php:11 templates/installation.php:39
+#: templates/login.php:28
msgid "Username"
msgstr "Uživatelské jméno"
@@ -405,44 +404,44 @@ msgstr "Váš adresář dat a všechny Vaše soubory jsou pravděpodobně přís
msgid "Create an <strong>admin account</strong>"
msgstr "VytvoÅ™it <strong>úÄet správce</strong>"
-#: templates/installation.php:48
+#: templates/installation.php:50
msgid "Advanced"
msgstr "PokroÄilé"
-#: templates/installation.php:50
+#: templates/installation.php:52
msgid "Data folder"
msgstr "Složka s daty"
-#: templates/installation.php:57
+#: templates/installation.php:59
msgid "Configure the database"
msgstr "Nastavit databázi"
-#: templates/installation.php:62 templates/installation.php:73
-#: templates/installation.php:83 templates/installation.php:93
+#: templates/installation.php:64 templates/installation.php:75
+#: templates/installation.php:85 templates/installation.php:95
msgid "will be used"
msgstr "bude použito"
-#: templates/installation.php:105
+#: templates/installation.php:107
msgid "Database user"
msgstr "Uživatel databáze"
-#: templates/installation.php:109
+#: templates/installation.php:111
msgid "Database password"
msgstr "Heslo databáze"
-#: templates/installation.php:113
+#: templates/installation.php:115
msgid "Database name"
msgstr "Název databáze"
-#: templates/installation.php:121
+#: templates/installation.php:123
msgid "Database tablespace"
msgstr "Tabulkový prostor databáze"
-#: templates/installation.php:127
+#: templates/installation.php:129
msgid "Database host"
msgstr "Hostitel databáze"
-#: templates/installation.php:132
+#: templates/installation.php:134
msgid "Finish setup"
msgstr "DokonÄit nastavení"
@@ -530,36 +529,32 @@ msgstr "webové služby pod Vaší kontrolou"
msgid "Log out"
msgstr "Odhlásit se"
-#: templates/login.php:8
+#: templates/login.php:10
msgid "Automatic logon rejected!"
msgstr "Automatické přihlášení odmítnuto."
-#: templates/login.php:9
+#: templates/login.php:11
msgid ""
"If you did not change your password recently, your account may be "
"compromised!"
msgstr "V nedávné dobÄ› jste nezmÄ›nili své heslo, Váš úÄet může být kompromitován."
-#: templates/login.php:10
+#: templates/login.php:13
msgid "Please change your password to secure your account again."
msgstr "Změňte, prosím, své heslo pro opÄ›tovné zabezpeÄení VaÅ¡eho úÄtu."
-#: templates/login.php:15
+#: templates/login.php:19
msgid "Lost your password?"
msgstr "Ztratili jste své heslo?"
-#: templates/login.php:27
+#: templates/login.php:39
msgid "remember"
msgstr "zapamatovat si"
-#: templates/login.php:28
+#: templates/login.php:41
msgid "Log in"
msgstr "Přihlásit"
-#: templates/logout.php:1
-msgid "You are logged out."
-msgstr "Jste odhlášeni."
-
#: templates/part.pagenavi.php:3
msgid "prev"
msgstr "předchozí"
@@ -568,16 +563,7 @@ msgstr "předchozí"
msgid "next"
msgstr "následující"
-#: templates/verify.php:5
-msgid "Security Warning!"
-msgstr "BezpeÄnostní upozornÄ›ní."
-
-#: templates/verify.php:6
-msgid ""
-"Please verify your password. <br/>For security reasons you may be "
-"occasionally asked to enter your password again."
-msgstr "Ověřte, prosím, své heslo. <br/>Z bezpeÄnostních důvodů můžete být obÄas požádáni o jeho opÄ›tovné zadání."
-
-#: templates/verify.php:16
-msgid "Verify"
-msgstr "Ověřit"
+#: templates/update.php:3
+#, php-format
+msgid "Updating ownCloud to version %s, this may take a while."
+msgstr "Aktualizuji ownCloud na verzi %s, bude to chvíli trvat."
diff --git a/l10n/cs_CZ/files.po b/l10n/cs_CZ/files.po
index ae2e4682356..e9fde9f772e 100644
--- a/l10n/cs_CZ/files.po
+++ b/l10n/cs_CZ/files.po
@@ -5,13 +5,13 @@
# Translators:
# Martin <fireball@atlas.cz>, 2011-2012.
# Michal Hrušecký <Michal@hrusecky.net>, 2012.
-# Tomáš Chvátal <tomas.chvatal@gmail.com>, 2012.
+# Tomáš Chvátal <tomas.chvatal@gmail.com>, 2012-2013.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-02 00:02+0100\n"
-"PO-Revision-Date: 2012-12-01 05:15+0000\n"
+"POT-Creation-Date: 2013-01-21 00:04+0100\n"
+"PO-Revision-Date: 2013-01-20 10:48+0000\n"
"Last-Translator: Tomáš Chvátal <tomas.chvatal@gmail.com>\n"
"Language-Team: Czech (Czech Republic) (http://www.transifex.com/projects/p/owncloud/language/cs_CZ/)\n"
"MIME-Version: 1.0\n"
@@ -20,46 +20,77 @@ msgstr ""
"Language: cs_CZ\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
+#: ajax/delete.php:28 ajax/getstoragestats.php:11 ajax/upload.php:17
+#: ajax/upload.php:76 templates/index.php:18
+msgid "Upload"
+msgstr "Odeslat"
+
+#: ajax/move.php:17
+#, php-format
+msgid "Could not move %s - File with this name already exists"
+msgstr "Nelze přesunout %s - existuje soubor se stejným názvem"
+
+#: ajax/move.php:24
+#, php-format
+msgid "Could not move %s"
+msgstr "Nelze přesunout %s"
+
+#: ajax/rename.php:19
+msgid "Unable to rename file"
+msgstr "Nelze přejmenovat soubor"
+
#: ajax/upload.php:20
+msgid "No file was uploaded. Unknown error"
+msgstr "Soubor nebyl odeslán. Neznámá chyba"
+
+#: ajax/upload.php:30
msgid "There is no error, the file uploaded with success"
msgstr "Soubor byl odeslán úspěšně"
-#: ajax/upload.php:21
+#: ajax/upload.php:31
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr "Odesílaný soubor přesahuje velikost upload_max_filesize povolenou v php.ini:"
-#: ajax/upload.php:23
+#: ajax/upload.php:33
msgid ""
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
"the HTML form"
msgstr "Odeslaný soubor přesáhl svou velikostí parametr MAX_FILE_SIZE specifikovaný v formuláři HTML"
-#: ajax/upload.php:25
+#: ajax/upload.php:35
msgid "The uploaded file was only partially uploaded"
msgstr "Soubor byl odeslán pouze ÄásteÄnÄ›"
-#: ajax/upload.php:26
+#: ajax/upload.php:36
msgid "No file was uploaded"
msgstr "Žádný soubor nebyl odeslán"
-#: ajax/upload.php:27
+#: ajax/upload.php:37
msgid "Missing a temporary folder"
msgstr "Chybí adresář pro doÄasné soubory"
-#: ajax/upload.php:28
+#: ajax/upload.php:38
msgid "Failed to write to disk"
msgstr "Zápis na disk selhal"
+#: ajax/upload.php:57
+msgid "Not enough space available"
+msgstr "Nedostatek dostupného místa"
+
+#: ajax/upload.php:91
+msgid "Invalid directory."
+msgstr "Neplatný adresář"
+
#: appinfo/app.php:10
msgid "Files"
msgstr "Soubory"
-#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84
+#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
msgid "Unshare"
msgstr "Zrušit sdílení"
-#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90
+#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
msgid "Delete"
msgstr "Smazat"
@@ -67,122 +98,136 @@ msgstr "Smazat"
msgid "Rename"
msgstr "Přejmenovat"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "{new_name} already exists"
msgstr "{new_name} již existuje"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "replace"
msgstr "nahradit"
-#: js/filelist.js:201
+#: js/filelist.js:205
msgid "suggest name"
msgstr "navrhnout název"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "cancel"
msgstr "zrušit"
-#: js/filelist.js:250
+#: js/filelist.js:254
msgid "replaced {new_name}"
msgstr "nahrazeno {new_name}"
-#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286
+#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
msgid "undo"
msgstr "zpět"
-#: js/filelist.js:252
+#: js/filelist.js:256
msgid "replaced {new_name} with {old_name}"
msgstr "nahrazeno {new_name} s {old_name}"
-#: js/filelist.js:284
+#: js/filelist.js:288
msgid "unshared {files}"
msgstr "sdílení zrušeno pro {files}"
-#: js/filelist.js:286
+#: js/filelist.js:290
msgid "deleted {files}"
msgstr "smazáno {files}"
-#: js/files.js:33
+#: js/files.js:48
+msgid "'.' is an invalid file name."
+msgstr "'.' je neplatným názvem souboru."
+
+#: js/files.js:53
+msgid "File name cannot be empty."
+msgstr "Název souboru nemůže být prázdný řetězec."
+
+#: js/files.js:62
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr "Neplatný název, znaky '\\', '/', '<', '>', ':', '\"', '|', '?' a '*' nejsou povoleny."
-#: js/files.js:183
-msgid "generating ZIP-file, it may take some time."
-msgstr "generuji ZIP soubor, může to nějakou dobu trvat."
+#: js/files.js:204
+msgid ""
+"Your download is being prepared. This might take some time if the files are "
+"big."
+msgstr "Vaše soubory ke stažení se připravují. Pokud jsou velké může to chvíli trvat."
-#: js/files.js:218
+#: js/files.js:242
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr "Nelze odeslat Váš soubor, protože je to adresář nebo má velikost 0 bajtů"
-#: js/files.js:218
+#: js/files.js:242
msgid "Upload Error"
msgstr "Chyba odesílání"
-#: js/files.js:235
+#: js/files.js:259
msgid "Close"
msgstr "Zavřít"
-#: js/files.js:254 js/files.js:368 js/files.js:398
+#: js/files.js:278 js/files.js:397 js/files.js:431
msgid "Pending"
msgstr "Čekající"
-#: js/files.js:274
+#: js/files.js:298
msgid "1 file uploading"
msgstr "odesílá se 1 soubor"
-#: js/files.js:277 js/files.js:331 js/files.js:346
+#: js/files.js:301 js/files.js:357 js/files.js:372
msgid "{count} files uploading"
msgstr "odesílám {count} souborů"
-#: js/files.js:349 js/files.js:382
+#: js/files.js:376 js/files.js:414
msgid "Upload cancelled."
msgstr "Odesílání zrušeno."
-#: js/files.js:451
+#: js/files.js:486
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr "Probíhá odesílání souboru. Opuštění stránky vyústí ve zrušení nahrávání."
-#: js/files.js:523
-msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud"
-msgstr "Neplatný název složky. Použití názvu \"Shared\" je rezervováno pro interní úžití službou Owncloud."
+#: js/files.js:559
+msgid "URL cannot be empty."
+msgstr "URL nemůže být prázdná"
-#: js/files.js:704
+#: js/files.js:565
+msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
+msgstr "Neplatný název složky. Použití 'Shared' je rezervováno pro vnitřní potřeby Owncloud"
+
+#: js/files.js:775
msgid "{count} files scanned"
msgstr "prozkoumáno {count} souborů"
-#: js/files.js:712
+#: js/files.js:783
msgid "error while scanning"
msgstr "chyba při prohledávání"
-#: js/files.js:785 templates/index.php:65
+#: js/files.js:857 templates/index.php:64
msgid "Name"
msgstr "Název"
-#: js/files.js:786 templates/index.php:76
+#: js/files.js:858 templates/index.php:75
msgid "Size"
msgstr "Velikost"
-#: js/files.js:787 templates/index.php:78
+#: js/files.js:859 templates/index.php:77
msgid "Modified"
msgstr "Změněno"
-#: js/files.js:814
+#: js/files.js:878
msgid "1 folder"
msgstr "1 složka"
-#: js/files.js:816
+#: js/files.js:880
msgid "{count} folders"
msgstr "{count} složky"
-#: js/files.js:824
+#: js/files.js:888
msgid "1 file"
msgstr "1 soubor"
-#: js/files.js:826
+#: js/files.js:890
msgid "{count} files"
msgstr "{count} soubory"
@@ -194,27 +239,27 @@ msgstr "Zacházení se soubory"
msgid "Maximum upload size"
msgstr "Maximální velikost pro odesílání"
-#: templates/admin.php:9
+#: templates/admin.php:10
msgid "max. possible: "
msgstr "největší možná: "
-#: templates/admin.php:12
+#: templates/admin.php:15
msgid "Needed for multi-file and folder downloads."
msgstr "Potřebné pro více-souborové stahování a stahování složek."
-#: templates/admin.php:14
+#: templates/admin.php:17
msgid "Enable ZIP-download"
msgstr "Povolit ZIP-stahování"
-#: templates/admin.php:17
+#: templates/admin.php:20
msgid "0 is unlimited"
msgstr "0 znamená bez omezení"
-#: templates/admin.php:19
+#: templates/admin.php:22
msgid "Maximum input size for ZIP files"
msgstr "Maximální velikost vstupu pro ZIP soubory"
-#: templates/admin.php:23
+#: templates/admin.php:26
msgid "Save"
msgstr "Uložit"
@@ -234,36 +279,32 @@ msgstr "Složka"
msgid "From link"
msgstr "Z odkazu"
-#: templates/index.php:35
-msgid "Upload"
-msgstr "Odeslat"
-
-#: templates/index.php:43
+#: templates/index.php:41
msgid "Cancel upload"
msgstr "Zrušit odesílání"
-#: templates/index.php:57
+#: templates/index.php:56
msgid "Nothing in here. Upload something!"
msgstr "Žádný obsah. Nahrajte něco."
-#: templates/index.php:71
+#: templates/index.php:70
msgid "Download"
msgstr "Stáhnout"
-#: templates/index.php:103
+#: templates/index.php:102
msgid "Upload too large"
msgstr "Odeslaný soubor je příliš velký"
-#: templates/index.php:105
+#: templates/index.php:104
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:110
+#: templates/index.php:109
msgid "Files are being scanned, please wait."
msgstr "Soubory se prohledávají, prosím Äekejte."
-#: templates/index.php:113
+#: templates/index.php:112
msgid "Current scanning"
msgstr "Aktuální prohledávání"
diff --git a/l10n/cs_CZ/files_encryption.po b/l10n/cs_CZ/files_encryption.po
index 96298cc2205..c26a7ff0125 100644
--- a/l10n/cs_CZ/files_encryption.po
+++ b/l10n/cs_CZ/files_encryption.po
@@ -4,13 +4,13 @@
#
# Translators:
# Martin <fireball@atlas.cz>, 2012.
-# Tomáš Chvátal <tomas.chvatal@gmail.com>, 2012.
+# Tomáš Chvátal <tomas.chvatal@gmail.com>, 2012-2013.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-09-06 02:01+0200\n"
-"PO-Revision-Date: 2012-09-05 13:37+0000\n"
+"POT-Creation-Date: 2013-01-24 00:06+0100\n"
+"PO-Revision-Date: 2013-01-23 20:21+0000\n"
"Last-Translator: Tomáš Chvátal <tomas.chvatal@gmail.com>\n"
"Language-Team: Czech (Czech Republic) (http://www.transifex.com/projects/p/owncloud/language/cs_CZ/)\n"
"MIME-Version: 1.0\n"
@@ -19,18 +19,66 @@ msgstr ""
"Language: cs_CZ\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr "Prosím pÅ™ejdÄ›te na svého klienta ownCloud a nastavte Å¡ifrovací heslo pro dokonÄení konverze."
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr "přepnuto na šifrování na straně klienta"
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr "Změnit šifrovací heslo na přihlašovací"
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr "Zkontrolujte, prosím, své heslo a zkuste to znovu."
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr "Nelze změnit šifrovací heslo na přihlašovací."
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr "Vyberte režim šifrování:"
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr "Å ifrování na stranÄ› klienta (nejbezpeÄnÄ›jší ale neumožňuje vám pÅ™istupovat k souborům z webového rozhraní)"
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr "Šifrování na straně serveru (umožňuje vám přistupovat k souborům pomocí webového rozhraní i aplikací)"
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr "Žádný (vůbec žádné šifrování)"
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr "Důležité: jak si jednou vyberete režim šifrování nelze jej opětovně změnit"
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr "Definován uživatelem (umožní uživateli si vybrat)"
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "Šifrování"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "Při šifrování vynechat následující typy souborů"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "Žádné"
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "Povolit šifrování"
diff --git a/l10n/cs_CZ/files_versions.po b/l10n/cs_CZ/files_versions.po
index 2f109044074..3e62a18ee40 100644
--- a/l10n/cs_CZ/files_versions.po
+++ b/l10n/cs_CZ/files_versions.po
@@ -9,9 +9,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-09-23 02:01+0200\n"
-"PO-Revision-Date: 2012-09-22 11:58+0000\n"
-"Last-Translator: Tomáš Chvátal <tomas.chvatal@gmail.com>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:03+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.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"
@@ -19,22 +19,10 @@ msgstr ""
"Language: cs_CZ\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
-#: js/settings-personal.js:31 templates/settings-personal.php:10
-msgid "Expire all versions"
-msgstr "Vypršet všechny verze"
-
#: js/versions.js:16
msgid "History"
msgstr "Historie"
-#: templates/settings-personal.php:4
-msgid "Versions"
-msgstr "Verze"
-
-#: templates/settings-personal.php:7
-msgid "This will delete all existing backup versions of your files"
-msgstr "Odstraní všechny existující zálohované verze Vašich souborů"
-
#: templates/settings.php:3
msgid "Files Versioning"
msgstr "Verzování souborů"
diff --git a/l10n/cs_CZ/lib.po b/l10n/cs_CZ/lib.po
index dd8693c6c82..55cc3d0f58c 100644
--- a/l10n/cs_CZ/lib.po
+++ b/l10n/cs_CZ/lib.po
@@ -4,13 +4,13 @@
#
# Translators:
# Martin <fireball@atlas.cz>, 2012.
-# Tomáš Chvátal <tomas.chvatal@gmail.com>, 2012.
+# Tomáš Chvátal <tomas.chvatal@gmail.com>, 2012-2013.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-11-16 00:02+0100\n"
-"PO-Revision-Date: 2012-11-15 10:08+0000\n"
+"POT-Creation-Date: 2013-01-18 00:03+0100\n"
+"PO-Revision-Date: 2013-01-17 11:01+0000\n"
"Last-Translator: Tomáš Chvátal <tomas.chvatal@gmail.com>\n"
"Language-Team: Czech (Czech Republic) (http://www.transifex.com/projects/p/owncloud/language/cs_CZ/)\n"
"MIME-Version: 1.0\n"
@@ -19,51 +19,55 @@ msgstr ""
"Language: cs_CZ\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
-#: app.php:285
+#: app.php:301
msgid "Help"
msgstr "Nápověda"
-#: app.php:292
+#: app.php:308
msgid "Personal"
msgstr "Osobní"
-#: app.php:297
+#: app.php:313
msgid "Settings"
msgstr "Nastavení"
-#: app.php:302
+#: app.php:318
msgid "Users"
msgstr "Uživatelé"
-#: app.php:309
+#: app.php:325
msgid "Apps"
msgstr "Aplikace"
-#: app.php:311
+#: app.php:327
msgid "Admin"
msgstr "Administrace"
-#: files.php:332
+#: files.php:365
msgid "ZIP download is turned off."
msgstr "Stahování ZIPu je vypnuto."
-#: files.php:333
+#: files.php:366
msgid "Files need to be downloaded one by one."
msgstr "Soubory musí být stahovány jednotlivě."
-#: files.php:333 files.php:358
+#: files.php:366 files.php:391
msgid "Back to Files"
msgstr "Zpět k souborům"
-#: files.php:357
+#: files.php:390
msgid "Selected files too large to generate zip file."
msgstr "Vybrané soubory jsou příliš velké pro vytvoření zip souboru."
+#: helper.php:228
+msgid "couldn't be determined"
+msgstr "nelze zjistit"
+
#: json.php:28
msgid "Application is not enabled"
msgstr "Aplikace není povolena"
-#: json.php:39 json.php:64 json.php:77 json.php:89
+#: json.php:39 json.php:62 json.php:73
msgid "Authentication error"
msgstr "Chyba ověření"
@@ -83,55 +87,55 @@ msgstr "Text"
msgid "Images"
msgstr "Obrázky"
-#: template.php:103
+#: template.php:113
msgid "seconds ago"
msgstr "před vteřinami"
-#: template.php:104
+#: template.php:114
msgid "1 minute ago"
msgstr "před 1 minutou"
-#: template.php:105
+#: template.php:115
#, php-format
msgid "%d minutes ago"
msgstr "před %d minutami"
-#: template.php:106
+#: template.php:116
msgid "1 hour ago"
msgstr "před hodinou"
-#: template.php:107
+#: template.php:117
#, php-format
msgid "%d hours ago"
msgstr "před %d hodinami"
-#: template.php:108
+#: template.php:118
msgid "today"
msgstr "dnes"
-#: template.php:109
+#: template.php:119
msgid "yesterday"
msgstr "vÄera"
-#: template.php:110
+#: template.php:120
#, php-format
msgid "%d days ago"
msgstr "před %d dny"
-#: template.php:111
+#: template.php:121
msgid "last month"
msgstr "minulý měsíc"
-#: template.php:112
+#: template.php:122
#, php-format
msgid "%d months ago"
msgstr "Před %d měsíci"
-#: template.php:113
+#: template.php:123
msgid "last year"
msgstr "loni"
-#: template.php:114
+#: template.php:124
msgid "years ago"
msgstr "před lety"
diff --git a/l10n/cs_CZ/settings.po b/l10n/cs_CZ/settings.po
index 153ae93c6e1..46a8fc5c515 100644
--- a/l10n/cs_CZ/settings.po
+++ b/l10n/cs_CZ/settings.po
@@ -13,9 +13,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-21 00:10+0100\n"
-"PO-Revision-Date: 2012-12-20 19:53+0000\n"
-"Last-Translator: Tomáš Chvátal <tomas.chvatal@gmail.com>\n"
+"POT-Creation-Date: 2013-01-12 00:09+0100\n"
+"PO-Revision-Date: 2013-01-11 23:09+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.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"
@@ -35,7 +35,7 @@ msgstr "Skupina již existuje"
msgid "Unable to add group"
msgstr "Nelze přidat skupinu"
-#: ajax/enableapp.php:12
+#: ajax/enableapp.php:11
msgid "Could not enable app. "
msgstr "Nelze povolit aplikaci."
@@ -47,14 +47,6 @@ msgstr "E-mail uložen"
msgid "Invalid email"
msgstr "Neplatný e-mail"
-#: ajax/openid.php:13
-msgid "OpenID Changed"
-msgstr "OpenID změněno"
-
-#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20
-msgid "Invalid request"
-msgstr "Neplatný požadavek"
-
#: ajax/removegroup.php:13
msgid "Unable to delete group"
msgstr "Nelze smazat skupinu"
@@ -71,6 +63,10 @@ msgstr "Nelze smazat uživatele"
msgid "Language changed"
msgstr "Jazyk byl změněn"
+#: ajax/setlanguage.php:17 ajax/setlanguage.php:20
+msgid "Invalid request"
+msgstr "Neplatný požadavek"
+
#: ajax/togglegroups.php:12
msgid "Admins can't remove themself from the admin group"
msgstr "Správci se nemohou odebrat sami ze skupiny správců"
@@ -166,7 +162,7 @@ msgstr "Stáhnout klienta pro android"
msgid "Download iOS Client"
msgstr "Stáhnout klienta pro iOS"
-#: templates/personal.php:21 templates/users.php:23 templates/users.php:77
+#: templates/personal.php:21 templates/users.php:23 templates/users.php:82
msgid "Password"
msgstr "Heslo"
@@ -236,11 +232,11 @@ msgid ""
"License\">AGPL</abbr></a>."
msgstr "Vyvinuto <a href=\"http://ownCloud.org/contact\" target=\"_blank\">komunitou ownCloud</a>, <a href=\"https://github.com/owncloud\" target=\"_blank\">zdrojový kód</a> je licencován pod <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>."
-#: templates/users.php:21 templates/users.php:76
+#: templates/users.php:21 templates/users.php:81
msgid "Name"
msgstr "Jméno"
-#: templates/users.php:26 templates/users.php:78 templates/users.php:98
+#: templates/users.php:26 templates/users.php:83 templates/users.php:103
msgid "Groups"
msgstr "Skupiny"
@@ -249,21 +245,29 @@ msgid "Create"
msgstr "Vytvořit"
#: templates/users.php:35
-msgid "Default Quota"
-msgstr "Výchozí kvóta"
+msgid "Default Storage"
+msgstr "Výchozí úložiště"
-#: templates/users.php:55 templates/users.php:138
+#: templates/users.php:42 templates/users.php:138
+msgid "Unlimited"
+msgstr "NeomezenÄ›"
+
+#: templates/users.php:60 templates/users.php:153
msgid "Other"
msgstr "Jiná"
-#: templates/users.php:80 templates/users.php:112
+#: templates/users.php:85 templates/users.php:117
msgid "Group Admin"
msgstr "Správa skupiny"
-#: templates/users.php:82
-msgid "Quota"
-msgstr "Kvóta"
+#: templates/users.php:87
+msgid "Storage"
+msgstr "Úložiště"
+
+#: templates/users.php:133
+msgid "Default"
+msgstr "Výchozí"
-#: templates/users.php:146
+#: templates/users.php:161
msgid "Delete"
msgstr "Smazat"
diff --git a/l10n/cs_CZ/user_ldap.po b/l10n/cs_CZ/user_ldap.po
index 89d650bf77d..225c039f836 100644
--- a/l10n/cs_CZ/user_ldap.po
+++ b/l10n/cs_CZ/user_ldap.po
@@ -4,13 +4,13 @@
#
# Translators:
# Martin <fireball@atlas.cz>, 2012.
-# Tomáš Chvátal <tomas.chvatal@gmail.com>, 2012.
+# Tomáš Chvátal <tomas.chvatal@gmail.com>, 2012-2013.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-16 00:11+0100\n"
-"PO-Revision-Date: 2012-12-15 15:30+0000\n"
+"POT-Creation-Date: 2013-01-18 00:03+0100\n"
+"PO-Revision-Date: 2013-01-17 11:09+0000\n"
"Last-Translator: Tomáš Chvátal <tomas.chvatal@gmail.com>\n"
"Language-Team: Czech (Czech Republic) (http://www.transifex.com/projects/p/owncloud/language/cs_CZ/)\n"
"MIME-Version: 1.0\n"
@@ -28,8 +28,8 @@ msgstr "<b>Varování:</b> Aplikace user_ldap a user_webdavauth nejsou kompatibi
#: templates/settings.php:11
msgid ""
-"<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will"
-" not work. Please ask your system administrator to install it."
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not "
+"work. Please ask your system administrator to install it."
msgstr "<b>Varování:</b> není nainstalován LDAP modul pro PHP, podpůrná vrstva nebude fungovat. Požádejte, prosím, správce systému aby jej nainstaloval."
#: templates/settings.php:15
@@ -46,6 +46,10 @@ msgid "Base DN"
msgstr "Základní DN"
#: templates/settings.php:16
+msgid "One Base DN per line"
+msgstr "Jedna základní DN na řádku"
+
+#: templates/settings.php:16
msgid "You can specify Base DN for users and groups in the Advanced tab"
msgstr "V rozšířeném nastavení můžete urÄit základní DN pro uživatele a skupiny"
@@ -116,10 +120,18 @@ msgstr "Port"
msgid "Base User Tree"
msgstr "Základní uživatelský strom"
+#: templates/settings.php:25
+msgid "One User Base DN per line"
+msgstr "Jedna uživatelská základní DN na řádku"
+
#: templates/settings.php:26
msgid "Base Group Tree"
msgstr "Základní skupinový strom"
+#: templates/settings.php:26
+msgid "One Group Base DN per line"
+msgstr "Jedna skupinová základní DN na řádku"
+
#: templates/settings.php:27
msgid "Group-Member association"
msgstr "Asociace Älena skupiny"
diff --git a/l10n/cs_CZ/user_webdavauth.po b/l10n/cs_CZ/user_webdavauth.po
index 3545665816d..28b3d2f8f19 100644
--- a/l10n/cs_CZ/user_webdavauth.po
+++ b/l10n/cs_CZ/user_webdavauth.po
@@ -3,13 +3,13 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
-# Tomáš Chvátal <tomas.chvatal@gmail.com>, 2012.
+# Tomáš Chvátal <tomas.chvatal@gmail.com>, 2012-2013.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-21 00:10+0100\n"
-"PO-Revision-Date: 2012-12-20 19:51+0000\n"
+"POT-Creation-Date: 2013-01-16 00:19+0100\n"
+"PO-Revision-Date: 2013-01-15 09:06+0000\n"
"Last-Translator: Tomáš Chvátal <tomas.chvatal@gmail.com>\n"
"Language-Team: Czech (Czech Republic) (http://www.transifex.com/projects/p/owncloud/language/cs_CZ/)\n"
"MIME-Version: 1.0\n"
@@ -18,13 +18,17 @@ msgstr ""
"Language: cs_CZ\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
+#: templates/settings.php:3
+msgid "WebDAV Authentication"
+msgstr "Ověření WebDAV"
+
#: templates/settings.php:4
msgid "URL: http://"
msgstr "URL: http://"
#: templates/settings.php:6
msgid ""
-"ownCloud will send the user credentials to this URL is interpret http 401 "
-"and http 403 as credentials wrong and all other codes as credentials "
-"correct."
-msgstr "ownCloud odeÅ¡le pÅ™ihlaÅ¡ovací údaje uživatele na URL a z návratové hodnoty urÄí stav pÅ™ihlášení. Http 401 a 403 vyhodnotí jako neplatné údaje a vÅ¡echny ostatní jako úspěšné pÅ™ihlášení."
+"ownCloud will send the user credentials to this URL. 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 "ownCloud odeÅ¡le uživatelské údaje na zadanou URL. Plugin zkontroluje odpovÄ›Ä a považuje návratovou hodnotu HTTP 401 a 403 za neplatné údaje a vÅ¡echny ostatní hodnoty jako platné pÅ™ihlaÅ¡ovací údaje."
diff --git a/l10n/da/core.po b/l10n/da/core.po
index 6fa46250122..421994c63c8 100644
--- a/l10n/da/core.po
+++ b/l10n/da/core.po
@@ -15,9 +15,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-24 00:10+0100\n"
-"PO-Revision-Date: 2012-12-23 21:57+0000\n"
-"Last-Translator: cronner <cronner@gmail.com>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:03+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -91,55 +91,55 @@ msgstr "Fejl ved fjernelse af %s fra favoritter."
msgid "Settings"
msgstr "Indstillinger"
-#: js/js.js:704
+#: js/js.js:711
msgid "seconds ago"
msgstr "sekunder siden"
-#: js/js.js:705
+#: js/js.js:712
msgid "1 minute ago"
msgstr "1 minut siden"
-#: js/js.js:706
+#: js/js.js:713
msgid "{minutes} minutes ago"
msgstr "{minutes} minutter siden"
-#: js/js.js:707
+#: js/js.js:714
msgid "1 hour ago"
msgstr "1 time siden"
-#: js/js.js:708
+#: js/js.js:715
msgid "{hours} hours ago"
msgstr "{hours} timer siden"
-#: js/js.js:709
+#: js/js.js:716
msgid "today"
msgstr "i dag"
-#: js/js.js:710
+#: js/js.js:717
msgid "yesterday"
msgstr "i går"
-#: js/js.js:711
+#: js/js.js:718
msgid "{days} days ago"
msgstr "{days} dage siden"
-#: js/js.js:712
+#: js/js.js:719
msgid "last month"
msgstr "sidste måned"
-#: js/js.js:713
+#: js/js.js:720
msgid "{months} months ago"
msgstr "{months} måneder siden"
-#: js/js.js:714
+#: js/js.js:721
msgid "months ago"
msgstr "måneder siden"
-#: js/js.js:715
+#: js/js.js:722
msgid "last year"
msgstr "sidste år"
-#: js/js.js:716
+#: js/js.js:723
msgid "years ago"
msgstr "Ã¥r siden"
@@ -215,7 +215,6 @@ msgid "Password protect"
msgstr "Beskyt med adgangskode"
#: js/share.js:168 templates/installation.php:44 templates/login.php:35
-#: templates/verify.php:13
msgid "Password"
msgstr "Kodeord"
@@ -560,10 +559,6 @@ msgstr "husk"
msgid "Log in"
msgstr "Log ind"
-#: templates/logout.php:1
-msgid "You are logged out."
-msgstr "Du er nu logget ud."
-
#: templates/part.pagenavi.php:3
msgid "prev"
msgstr "forrige"
@@ -572,16 +567,7 @@ msgstr "forrige"
msgid "next"
msgstr "næste"
-#: templates/verify.php:5
-msgid "Security Warning!"
-msgstr "Sikkerhedsadvarsel!"
-
-#: templates/verify.php:6
-msgid ""
-"Please verify your password. <br/>For security reasons you may be "
-"occasionally asked to enter your password again."
-msgstr "Verificer din adgangskode.<br/>Af sikkerhedsårsager kan du lejlighedsvist blive bedt om at indtaste din adgangskode igen."
-
-#: templates/verify.php:16
-msgid "Verify"
-msgstr "Verificer"
+#: templates/update.php:3
+#, php-format
+msgid "Updating ownCloud to version %s, this may take a while."
+msgstr ""
diff --git a/l10n/da/files.po b/l10n/da/files.po
index 185ea7031e7..f7bd3b92597 100644
--- a/l10n/da/files.po
+++ b/l10n/da/files.po
@@ -15,9 +15,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-24 00:10+0100\n"
-"PO-Revision-Date: 2012-12-23 21:45+0000\n"
-"Last-Translator: cronner <cronner@gmail.com>\n"
+"POT-Creation-Date: 2013-01-20 00:05+0100\n"
+"PO-Revision-Date: 2013-01-19 23:05+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -25,46 +25,77 @@ msgstr ""
"Language: da\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+#: ajax/delete.php:28 ajax/getstoragestats.php:11 ajax/upload.php:17
+#: ajax/upload.php:76 templates/index.php:18
+msgid "Upload"
+msgstr "Upload"
+
+#: ajax/move.php:17
+#, php-format
+msgid "Could not move %s - File with this name already exists"
+msgstr ""
+
+#: ajax/move.php:24
+#, php-format
+msgid "Could not move %s"
+msgstr ""
+
+#: ajax/rename.php:19
+msgid "Unable to rename file"
+msgstr ""
+
#: ajax/upload.php:20
+msgid "No file was uploaded. Unknown error"
+msgstr "Ingen fil blev uploadet. Ukendt fejl."
+
+#: ajax/upload.php:30
msgid "There is no error, the file uploaded with success"
msgstr "Der er ingen fejl, filen blev uploadet med success"
-#: ajax/upload.php:21
+#: ajax/upload.php:31
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr "Den uploadede fil overstiger upload_max_filesize direktivet i php.ini"
-#: ajax/upload.php:23
+#: ajax/upload.php:33
msgid ""
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
"the HTML form"
msgstr "Den uploadede fil overskrider MAX_FILE_SIZE -direktivet som er specificeret i HTML-formularen"
-#: ajax/upload.php:25
+#: ajax/upload.php:35
msgid "The uploaded file was only partially uploaded"
msgstr "Den uploadede file blev kun delvist uploadet"
-#: ajax/upload.php:26
+#: ajax/upload.php:36
msgid "No file was uploaded"
msgstr "Ingen fil blev uploadet"
-#: ajax/upload.php:27
+#: ajax/upload.php:37
msgid "Missing a temporary folder"
msgstr "Mangler en midlertidig mappe"
-#: ajax/upload.php:28
+#: ajax/upload.php:38
msgid "Failed to write to disk"
msgstr "Fejl ved skrivning til disk."
+#: ajax/upload.php:57
+msgid "Not enough space available"
+msgstr ""
+
+#: ajax/upload.php:91
+msgid "Invalid directory."
+msgstr ""
+
#: appinfo/app.php:10
msgid "Files"
msgstr "Filer"
-#: js/fileactions.js:117 templates/index.php:84 templates/index.php:85
+#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
msgid "Unshare"
msgstr "Fjern deling"
-#: js/fileactions.js:119 templates/index.php:90 templates/index.php:91
+#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
msgid "Delete"
msgstr "Slet"
@@ -72,122 +103,136 @@ msgstr "Slet"
msgid "Rename"
msgstr "Omdøb"
-#: js/filelist.js:199 js/filelist.js:201
+#: js/filelist.js:205 js/filelist.js:207
msgid "{new_name} already exists"
msgstr "{new_name} eksisterer allerede"
-#: js/filelist.js:199 js/filelist.js:201
+#: js/filelist.js:205 js/filelist.js:207
msgid "replace"
msgstr "erstat"
-#: js/filelist.js:199
+#: js/filelist.js:205
msgid "suggest name"
msgstr "foreslå navn"
-#: js/filelist.js:199 js/filelist.js:201
+#: js/filelist.js:205 js/filelist.js:207
msgid "cancel"
msgstr "fortryd"
-#: js/filelist.js:248
+#: js/filelist.js:254
msgid "replaced {new_name}"
msgstr "erstattede {new_name}"
-#: js/filelist.js:248 js/filelist.js:250 js/filelist.js:282 js/filelist.js:284
+#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
msgid "undo"
msgstr "fortryd"
-#: js/filelist.js:250
+#: js/filelist.js:256
msgid "replaced {new_name} with {old_name}"
msgstr "erstattede {new_name} med {old_name}"
-#: js/filelist.js:282
+#: js/filelist.js:288
msgid "unshared {files}"
msgstr "ikke delte {files}"
-#: js/filelist.js:284
+#: js/filelist.js:290
msgid "deleted {files}"
msgstr "slettede {files}"
-#: js/files.js:33
+#: js/files.js:48
+msgid "'.' is an invalid file name."
+msgstr ""
+
+#: js/files.js:53
+msgid "File name cannot be empty."
+msgstr ""
+
+#: js/files.js:62
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr "Ugyldigt navn, '\\', '/', '<', '>', ':' | '?', '\"', '', og '*' er ikke tilladt."
-#: js/files.js:174
-msgid "generating ZIP-file, it may take some time."
-msgstr "genererer ZIP-fil, det kan tage lidt tid."
+#: js/files.js:204
+msgid ""
+"Your download is being prepared. This might take some time if the files are "
+"big."
+msgstr ""
-#: js/files.js:212
+#: js/files.js:242
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr "Kunne ikke uploade din fil, da det enten er en mappe eller er tom"
-#: js/files.js:212
+#: js/files.js:242
msgid "Upload Error"
msgstr "Fejl ved upload"
-#: js/files.js:229
+#: js/files.js:259
msgid "Close"
msgstr "Luk"
-#: js/files.js:248 js/files.js:362 js/files.js:392
+#: js/files.js:278 js/files.js:397 js/files.js:431
msgid "Pending"
msgstr "Afventer"
-#: js/files.js:268
+#: js/files.js:298
msgid "1 file uploading"
msgstr "1 fil uploades"
-#: js/files.js:271 js/files.js:325 js/files.js:340
+#: js/files.js:301 js/files.js:357 js/files.js:372
msgid "{count} files uploading"
msgstr "{count} filer uploades"
-#: js/files.js:343 js/files.js:376
+#: js/files.js:376 js/files.js:414
msgid "Upload cancelled."
msgstr "Upload afbrudt."
-#: js/files.js:445
+#: js/files.js:486
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr "Fil upload kører. Hvis du forlader siden nu, vil uploadet blive annuleret."
-#: js/files.js:515
-msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud"
-msgstr "Ugyldigt mappenavn. Brug af \"Shared\" er forbeholdt Owncloud"
+#: js/files.js:559
+msgid "URL cannot be empty."
+msgstr "URLen kan ikke være tom."
+
+#: js/files.js:565
+msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
+msgstr ""
-#: js/files.js:699
+#: js/files.js:775
msgid "{count} files scanned"
msgstr "{count} filer skannet"
-#: js/files.js:707
+#: js/files.js:783
msgid "error while scanning"
msgstr "fejl under scanning"
-#: js/files.js:780 templates/index.php:66
+#: js/files.js:857 templates/index.php:64
msgid "Name"
msgstr "Navn"
-#: js/files.js:781 templates/index.php:77
+#: js/files.js:858 templates/index.php:75
msgid "Size"
msgstr "Størrelse"
-#: js/files.js:782 templates/index.php:79
+#: js/files.js:859 templates/index.php:77
msgid "Modified"
msgstr "Ændret"
-#: js/files.js:801
+#: js/files.js:878
msgid "1 folder"
msgstr "1 mappe"
-#: js/files.js:803
+#: js/files.js:880
msgid "{count} folders"
msgstr "{count} mapper"
-#: js/files.js:811
+#: js/files.js:888
msgid "1 file"
msgstr "1 fil"
-#: js/files.js:813
+#: js/files.js:890
msgid "{count} files"
msgstr "{count} filer"
@@ -199,27 +244,27 @@ msgstr "Filhåndtering"
msgid "Maximum upload size"
msgstr "Maksimal upload-størrelse"
-#: templates/admin.php:9
+#: templates/admin.php:10
msgid "max. possible: "
msgstr "max. mulige: "
-#: templates/admin.php:12
+#: templates/admin.php:15
msgid "Needed for multi-file and folder downloads."
msgstr "Nødvendigt for at kunne downloade mapper og flere filer ad gangen."
-#: templates/admin.php:14
+#: templates/admin.php:17
msgid "Enable ZIP-download"
msgstr "Muliggør ZIP-download"
-#: templates/admin.php:17
+#: templates/admin.php:20
msgid "0 is unlimited"
msgstr "0 er ubegrænset"
-#: templates/admin.php:19
+#: templates/admin.php:22
msgid "Maximum input size for ZIP files"
msgstr "Maksimal størrelse på ZIP filer"
-#: templates/admin.php:23
+#: templates/admin.php:26
msgid "Save"
msgstr "Gem"
@@ -239,36 +284,32 @@ msgstr "Mappe"
msgid "From link"
msgstr "Fra link"
-#: templates/index.php:35
-msgid "Upload"
-msgstr "Upload"
-
-#: templates/index.php:43
+#: templates/index.php:41
msgid "Cancel upload"
msgstr "Fortryd upload"
-#: templates/index.php:58
+#: templates/index.php:56
msgid "Nothing in here. Upload something!"
msgstr "Her er tomt. Upload noget!"
-#: templates/index.php:72
+#: templates/index.php:70
msgid "Download"
msgstr "Download"
-#: templates/index.php:104
+#: templates/index.php:102
msgid "Upload too large"
msgstr "Upload for stor"
-#: templates/index.php:106
+#: templates/index.php:104
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:111
+#: templates/index.php:109
msgid "Files are being scanned, please wait."
msgstr "Filerne bliver indlæst, vent venligst."
-#: templates/index.php:114
+#: templates/index.php:112
msgid "Current scanning"
msgstr "Indlæser"
diff --git a/l10n/da/files_encryption.po b/l10n/da/files_encryption.po
index bd1c9864514..14b94d9d7ae 100644
--- a/l10n/da/files_encryption.po
+++ b/l10n/da/files_encryption.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-09-14 02:01+0200\n"
-"PO-Revision-Date: 2012-09-13 09:42+0000\n"
-"Last-Translator: osos <osos@openeyes.dk>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,18 +18,66 @@ msgstr ""
"Language: da\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "Kryptering"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "Ekskluder følgende filtyper fra kryptering"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "Ingen"
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "Aktivér kryptering"
diff --git a/l10n/da/files_versions.po b/l10n/da/files_versions.po
index 3e6898ddd45..847d3bda8aa 100644
--- a/l10n/da/files_versions.po
+++ b/l10n/da/files_versions.po
@@ -9,9 +9,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-09-26 02:02+0200\n"
-"PO-Revision-Date: 2012-09-25 14:07+0000\n"
-"Last-Translator: Morten Juhl-Johansen Zölde-Fejér <morten@writtenandread.net>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:03+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -19,22 +19,10 @@ msgstr ""
"Language: da\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: js/settings-personal.js:31 templates/settings-personal.php:10
-msgid "Expire all versions"
-msgstr "Lad alle versioner udløbe"
-
#: js/versions.js:16
msgid "History"
msgstr "Historik"
-#: templates/settings-personal.php:4
-msgid "Versions"
-msgstr "Versioner"
-
-#: templates/settings-personal.php:7
-msgid "This will delete all existing backup versions of your files"
-msgstr "Dette vil slette alle eksisterende backupversioner af dine filer"
-
#: templates/settings.php:3
msgid "Files Versioning"
msgstr "Versionering af filer"
diff --git a/l10n/da/lib.po b/l10n/da/lib.po
index 187d797c533..c1bdc6f0b94 100644
--- a/l10n/da/lib.po
+++ b/l10n/da/lib.po
@@ -10,9 +10,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-24 00:11+0100\n"
-"PO-Revision-Date: 2012-12-23 21:58+0000\n"
-"Last-Translator: cronner <cronner@gmail.com>\n"
+"POT-Creation-Date: 2013-01-17 00:26+0100\n"
+"PO-Revision-Date: 2013-01-16 23:26+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -20,27 +20,27 @@ msgstr ""
"Language: da\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: app.php:287
+#: app.php:301
msgid "Help"
msgstr "Hjælp"
-#: app.php:294
+#: app.php:308
msgid "Personal"
msgstr "Personlig"
-#: app.php:299
+#: app.php:313
msgid "Settings"
msgstr "Indstillinger"
-#: app.php:304
+#: app.php:318
msgid "Users"
msgstr "Brugere"
-#: app.php:311
+#: app.php:325
msgid "Apps"
msgstr "Apps"
-#: app.php:313
+#: app.php:327
msgid "Admin"
msgstr "Admin"
@@ -60,11 +60,15 @@ msgstr "Tilbage til Filer"
msgid "Selected files too large to generate zip file."
msgstr "De markerede filer er for store til at generere en ZIP-fil."
+#: helper.php:228
+msgid "couldn't be determined"
+msgstr ""
+
#: json.php:28
msgid "Application is not enabled"
msgstr "Programmet er ikke aktiveret"
-#: json.php:39 json.php:64 json.php:77 json.php:89
+#: json.php:39 json.php:62 json.php:73
msgid "Authentication error"
msgstr "Adgangsfejl"
@@ -84,55 +88,55 @@ msgstr "SMS"
msgid "Images"
msgstr "Billeder"
-#: template.php:103
+#: template.php:113
msgid "seconds ago"
msgstr "sekunder siden"
-#: template.php:104
+#: template.php:114
msgid "1 minute ago"
msgstr "1 minut siden"
-#: template.php:105
+#: template.php:115
#, php-format
msgid "%d minutes ago"
msgstr "%d minutter siden"
-#: template.php:106
+#: template.php:116
msgid "1 hour ago"
msgstr "1 time siden"
-#: template.php:107
+#: template.php:117
#, php-format
msgid "%d hours ago"
msgstr "%d timer siden"
-#: template.php:108
+#: template.php:118
msgid "today"
msgstr "I dag"
-#: template.php:109
+#: template.php:119
msgid "yesterday"
msgstr "I går"
-#: template.php:110
+#: template.php:120
#, php-format
msgid "%d days ago"
msgstr "%d dage siden"
-#: template.php:111
+#: template.php:121
msgid "last month"
msgstr "Sidste måned"
-#: template.php:112
+#: template.php:122
#, php-format
msgid "%d months ago"
msgstr "%d måneder siden"
-#: template.php:113
+#: template.php:123
msgid "last year"
msgstr "Sidste år"
-#: template.php:114
+#: template.php:124
msgid "years ago"
msgstr "Ã¥r siden"
diff --git a/l10n/da/settings.po b/l10n/da/settings.po
index 95a859329a8..314d85e2306 100644
--- a/l10n/da/settings.po
+++ b/l10n/da/settings.po
@@ -10,16 +10,16 @@
# Ole Holm Frandsen <froksen@gmail.com>, 2012.
# Pascal d'Hermilly <pascal@dhermilly.dk>, 2011.
# <simon@rosmi.dk>, 2012.
-# <sr@ybnet.dk>, 2012.
+# <sr@ybnet.dk>, 2012-2013.
# Thomas Tanghus <>, 2012.
# Thomas Tanghus <thomas@tanghus.net>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-26 00:11+0100\n"
-"PO-Revision-Date: 2012-12-25 13:45+0000\n"
-"Last-Translator: cronner <cronner@gmail.com>\n"
+"POT-Creation-Date: 2013-01-12 00:09+0100\n"
+"PO-Revision-Date: 2013-01-11 23:09+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -39,7 +39,7 @@ msgstr "Gruppen findes allerede"
msgid "Unable to add group"
msgstr "Gruppen kan ikke oprettes"
-#: ajax/enableapp.php:12
+#: ajax/enableapp.php:11
msgid "Could not enable app. "
msgstr "Applikationen kunne ikke aktiveres."
@@ -51,14 +51,6 @@ msgstr "Email adresse gemt"
msgid "Invalid email"
msgstr "Ugyldig email adresse"
-#: ajax/openid.php:13
-msgid "OpenID Changed"
-msgstr "OpenID ændret"
-
-#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20
-msgid "Invalid request"
-msgstr "Ugyldig forespørgsel"
-
#: ajax/removegroup.php:13
msgid "Unable to delete group"
msgstr "Gruppen kan ikke slettes"
@@ -75,6 +67,10 @@ msgstr "Bruger kan ikke slettes"
msgid "Language changed"
msgstr "Sprog ændret"
+#: ajax/setlanguage.php:17 ajax/setlanguage.php:20
+msgid "Invalid request"
+msgstr "Ugyldig forespørgsel"
+
#: ajax/togglegroups.php:12
msgid "Admins can't remove themself from the admin group"
msgstr "Administratorer kan ikke fjerne dem selv fra admin gruppen"
@@ -170,7 +166,7 @@ msgstr "Hent Android Klient"
msgid "Download iOS Client"
msgstr "Hent iOS Klient"
-#: templates/personal.php:21 templates/users.php:23 templates/users.php:77
+#: templates/personal.php:21 templates/users.php:23 templates/users.php:82
msgid "Password"
msgstr "Kodeord"
@@ -240,11 +236,11 @@ msgid ""
"License\">AGPL</abbr></a>."
msgstr "Udviklet af <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownClouds community</a>, og <a href=\"https://github.com/owncloud\" target=\"_blank\">kildekoden</a> er underlagt licensen <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>."
-#: templates/users.php:21 templates/users.php:76
+#: templates/users.php:21 templates/users.php:81
msgid "Name"
msgstr "Navn"
-#: templates/users.php:26 templates/users.php:78 templates/users.php:98
+#: templates/users.php:26 templates/users.php:83 templates/users.php:103
msgid "Groups"
msgstr "Grupper"
@@ -253,21 +249,29 @@ msgid "Create"
msgstr "Ny"
#: templates/users.php:35
-msgid "Default Quota"
-msgstr "Standard kvote"
+msgid "Default Storage"
+msgstr "Standard opbevaring"
-#: templates/users.php:55 templates/users.php:138
+#: templates/users.php:42 templates/users.php:138
+msgid "Unlimited"
+msgstr "Ubegrænset"
+
+#: templates/users.php:60 templates/users.php:153
msgid "Other"
msgstr "Andet"
-#: templates/users.php:80 templates/users.php:112
+#: templates/users.php:85 templates/users.php:117
msgid "Group Admin"
msgstr "Gruppe Administrator"
-#: templates/users.php:82
-msgid "Quota"
-msgstr "Kvote"
+#: templates/users.php:87
+msgid "Storage"
+msgstr "Opbevaring"
+
+#: templates/users.php:133
+msgid "Default"
+msgstr "Standard"
-#: templates/users.php:146
+#: templates/users.php:161
msgid "Delete"
msgstr "Slet"
diff --git a/l10n/da/user_ldap.po b/l10n/da/user_ldap.po
index 0aab1f40519..a0d0e27bed6 100644
--- a/l10n/da/user_ldap.po
+++ b/l10n/da/user_ldap.po
@@ -12,9 +12,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-26 00:10+0100\n"
-"PO-Revision-Date: 2012-12-25 19:52+0000\n"
-"Last-Translator: Daraiko <blah@blacksunset.dk>\n"
+"POT-Creation-Date: 2013-01-16 00:19+0100\n"
+"PO-Revision-Date: 2013-01-15 23:19+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -31,8 +31,8 @@ msgstr ""
#: templates/settings.php:11
msgid ""
-"<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will"
-" not work. Please ask your system administrator to install it."
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not "
+"work. Please ask your system administrator to install it."
msgstr ""
#: templates/settings.php:15
@@ -49,6 +49,10 @@ msgid "Base DN"
msgstr "Base DN"
#: templates/settings.php:16
+msgid "One Base DN per line"
+msgstr ""
+
+#: templates/settings.php:16
msgid "You can specify Base DN for users and groups in the Advanced tab"
msgstr "You can specify Base DN for users and groups in the Advanced tab"
@@ -119,10 +123,18 @@ msgstr "Port"
msgid "Base User Tree"
msgstr "Base Bruger Træ"
+#: templates/settings.php:25
+msgid "One User Base DN per line"
+msgstr ""
+
#: templates/settings.php:26
msgid "Base Group Tree"
msgstr "Base Group Tree"
+#: templates/settings.php:26
+msgid "One Group Base DN per line"
+msgstr ""
+
#: templates/settings.php:27
msgid "Group-Member association"
msgstr "Group-Member association"
diff --git a/l10n/da/user_webdavauth.po b/l10n/da/user_webdavauth.po
index 73cb352861f..16782a7f125 100644
--- a/l10n/da/user_webdavauth.po
+++ b/l10n/da/user_webdavauth.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-24 00:10+0100\n"
-"PO-Revision-Date: 2012-12-23 22:14+0000\n"
-"Last-Translator: cronner <cronner@gmail.com>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,13 +18,17 @@ msgstr ""
"Language: da\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+#: templates/settings.php:3
+msgid "WebDAV Authentication"
+msgstr ""
+
#: templates/settings.php:4
msgid "URL: http://"
msgstr "URL: http://"
#: templates/settings.php:6
msgid ""
-"ownCloud will send the user credentials to this URL is interpret http 401 "
-"and http 403 as credentials wrong and all other codes as credentials "
-"correct."
-msgstr "ownCloud vil sende brugeroplysningerne til denne webadresse er fortolker http 401 og http 403 som brugeroplysninger forkerte og alle andre koder som brugeroplysninger korrekte."
+"ownCloud will send the user credentials to this URL. 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 ""
diff --git a/l10n/de/core.po b/l10n/de/core.po
index 861465cce99..2210b4b29e2 100644
--- a/l10n/de/core.po
+++ b/l10n/de/core.po
@@ -7,7 +7,7 @@
# <alex.hotz@gmail.com>, 2011.
# <blobbyjj@ymail.com>, 2012.
# <georg.stefan.germany@googlemail.com>, 2011.
-# I Robot <owncloud-bot@tmit.eu>, 2012.
+# I Robot <owncloud-bot@tmit.eu>, 2012-2013.
# I Robot <thomas.mueller@tmit.eu>, 2012.
# Jan-Christoph Borchardt <JanCBorchardt@fsfe.org>, 2011.
# <mail@felixmoeller.de>, 2012.
@@ -23,9 +23,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-23 00:09+0100\n"
-"PO-Revision-Date: 2012-12-22 13:50+0000\n"
-"Last-Translator: Mirodin <blobbyjj@ymail.com>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:03+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: German (http://www.transifex.com/projects/p/owncloud/language/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -99,55 +99,55 @@ msgstr "Fehler beim Entfernen von %s von den Favoriten."
msgid "Settings"
msgstr "Einstellungen"
-#: js/js.js:704
+#: js/js.js:711
msgid "seconds ago"
msgstr "Gerade eben"
-#: js/js.js:705
+#: js/js.js:712
msgid "1 minute ago"
msgstr "vor einer Minute"
-#: js/js.js:706
+#: js/js.js:713
msgid "{minutes} minutes ago"
msgstr "Vor {minutes} Minuten"
-#: js/js.js:707
+#: js/js.js:714
msgid "1 hour ago"
msgstr "Vor einer Stunde"
-#: js/js.js:708
+#: js/js.js:715
msgid "{hours} hours ago"
msgstr "Vor {hours} Stunden"
-#: js/js.js:709
+#: js/js.js:716
msgid "today"
msgstr "Heute"
-#: js/js.js:710
+#: js/js.js:717
msgid "yesterday"
msgstr "Gestern"
-#: js/js.js:711
+#: js/js.js:718
msgid "{days} days ago"
msgstr "Vor {days} Tag(en)"
-#: js/js.js:712
+#: js/js.js:719
msgid "last month"
msgstr "Letzten Monat"
-#: js/js.js:713
+#: js/js.js:720
msgid "{months} months ago"
msgstr "Vor {months} Monaten"
-#: js/js.js:714
+#: js/js.js:721
msgid "months ago"
msgstr "Vor Monaten"
-#: js/js.js:715
+#: js/js.js:722
msgid "last year"
msgstr "Letztes Jahr"
-#: js/js.js:716
+#: js/js.js:723
msgid "years ago"
msgstr "Vor Jahren"
@@ -223,7 +223,6 @@ msgid "Password protect"
msgstr "Passwortschutz"
#: js/share.js:168 templates/installation.php:44 templates/login.php:35
-#: templates/verify.php:13
msgid "Password"
msgstr "Passwort"
@@ -568,10 +567,6 @@ msgstr "merken"
msgid "Log in"
msgstr "Einloggen"
-#: templates/logout.php:1
-msgid "You are logged out."
-msgstr "Du wurdest abgemeldet."
-
#: templates/part.pagenavi.php:3
msgid "prev"
msgstr "Zurück"
@@ -580,16 +575,7 @@ msgstr "Zurück"
msgid "next"
msgstr "Weiter"
-#: templates/verify.php:5
-msgid "Security Warning!"
-msgstr "Sicherheitswarnung!"
-
-#: templates/verify.php:6
-msgid ""
-"Please verify your password. <br/>For security reasons you may be "
-"occasionally asked to enter your password again."
-msgstr "Bitte bestätige Dein Passwort. <br/> Aus Sicherheitsgründen wirst Du hierbei gebeten, Dein Passwort erneut einzugeben."
-
-#: templates/verify.php:16
-msgid "Verify"
-msgstr "Bestätigen"
+#: templates/update.php:3
+#, php-format
+msgid "Updating ownCloud to version %s, this may take a while."
+msgstr "Aktualisiere ownCloud auf Version %s. Dies könnte eine Weile dauern."
diff --git a/l10n/de/files.po b/l10n/de/files.po
index 7dc41332e04..0ee39b9a487 100644
--- a/l10n/de/files.po
+++ b/l10n/de/files.po
@@ -5,14 +5,15 @@
# Translators:
# <admin@s-goecker.de>, 2012.
# <blobbyjj@ymail.com>, 2012.
-# I Robot <owncloud-bot@tmit.eu>, 2012.
+# I Robot <owncloud-bot@tmit.eu>, 2012-2013.
# I Robot <thomas.mueller@tmit.eu>, 2012.
# Jan-Christoph Borchardt <hey@jancborchardt.net>, 2012.
# Jan-Christoph Borchardt <JanCBorchardt@fsfe.org>, 2011.
# Jan-Christoph Borchardt <jan@unhosted.org>, 2011.
# <lukas@statuscode.ch>, 2012.
# <mail@felixmoeller.de>, 2012.
-# Marcel Kühlhorn <susefan93@gmx.de>, 2012.
+# Marcel Kühlhorn <susefan93@gmx.de>, 2012-2013.
+# <markus.thiel@desico.de>, 2013.
# Michael Krell <m4dmike.mni@gmail.com>, 2012.
# <nelsonfritsch@gmail.com>, 2012.
# <niko@nik-o-mat.de>, 2012.
@@ -20,13 +21,15 @@
# <thomas.mueller@tmit.eu>, 2012.
# Thomas Müller <>, 2012.
# <transifex.3.mensaje@spamgourmet.com>, 2012.
+# <transifex.com@mail.simonzoellner.de>, 2013.
+# <uu.kabum@gmail.com>, 2013.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-12 00:12+0100\n"
-"PO-Revision-Date: 2012-12-11 09:27+0000\n"
-"Last-Translator: Mirodin <blobbyjj@ymail.com>\n"
+"POT-Creation-Date: 2013-01-21 00:04+0100\n"
+"PO-Revision-Date: 2013-01-20 03:38+0000\n"
+"Last-Translator: Marcel Kühlhorn <susefan93@gmx.de>\n"
"Language-Team: German (http://www.transifex.com/projects/p/owncloud/language/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -34,46 +37,77 @@ msgstr ""
"Language: de\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+#: ajax/delete.php:28 ajax/getstoragestats.php:11 ajax/upload.php:17
+#: ajax/upload.php:76 templates/index.php:18
+msgid "Upload"
+msgstr "Hochladen"
+
+#: ajax/move.php:17
+#, php-format
+msgid "Could not move %s - File with this name already exists"
+msgstr "Konnte %s nicht verschieben - Datei mit diesem Namen existiert bereits."
+
+#: ajax/move.php:24
+#, php-format
+msgid "Could not move %s"
+msgstr "Konnte %s nicht verschieben"
+
+#: ajax/rename.php:19
+msgid "Unable to rename file"
+msgstr "Konnte Datei nicht umbenennen"
+
#: ajax/upload.php:20
+msgid "No file was uploaded. Unknown error"
+msgstr "Keine Datei hochgeladen. Unbekannter Fehler"
+
+#: ajax/upload.php:30
msgid "There is no error, the file uploaded with success"
msgstr "Datei fehlerfrei hochgeladen."
-#: ajax/upload.php:21
+#: ajax/upload.php:31
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr "Die hochgeladene Datei überschreitet die upload_max_filesize Vorgabe in php.ini"
-#: ajax/upload.php:23
+#: ajax/upload.php:33
msgid ""
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
"the HTML form"
msgstr "Die Größe der hochzuladenden Datei überschreitet die MAX_FILE_SIZE-Richtlinie, die im HTML-Formular angegeben wurde"
-#: ajax/upload.php:25
+#: ajax/upload.php:35
msgid "The uploaded file was only partially uploaded"
msgstr "Die Datei wurde nur teilweise hochgeladen."
-#: ajax/upload.php:26
+#: ajax/upload.php:36
msgid "No file was uploaded"
msgstr "Es wurde keine Datei hochgeladen."
-#: ajax/upload.php:27
+#: ajax/upload.php:37
msgid "Missing a temporary folder"
msgstr "Temporärer Ordner fehlt."
-#: ajax/upload.php:28
+#: ajax/upload.php:38
msgid "Failed to write to disk"
msgstr "Fehler beim Schreiben auf die Festplatte"
+#: ajax/upload.php:57
+msgid "Not enough space available"
+msgstr "Nicht genug Speicherplatz verfügbar"
+
+#: ajax/upload.php:91
+msgid "Invalid directory."
+msgstr "Ungültiges Verzeichnis"
+
#: appinfo/app.php:10
msgid "Files"
msgstr "Dateien"
-#: js/fileactions.js:117 templates/index.php:84 templates/index.php:85
+#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
msgid "Unshare"
msgstr "Nicht mehr freigeben"
-#: js/fileactions.js:119 templates/index.php:90 templates/index.php:91
+#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
msgid "Delete"
msgstr "Löschen"
@@ -81,122 +115,136 @@ msgstr "Löschen"
msgid "Rename"
msgstr "Umbenennen"
-#: js/filelist.js:199 js/filelist.js:201
+#: js/filelist.js:205 js/filelist.js:207
msgid "{new_name} already exists"
msgstr "{new_name} existiert bereits"
-#: js/filelist.js:199 js/filelist.js:201
+#: js/filelist.js:205 js/filelist.js:207
msgid "replace"
msgstr "ersetzen"
-#: js/filelist.js:199
+#: js/filelist.js:205
msgid "suggest name"
msgstr "Name vorschlagen"
-#: js/filelist.js:199 js/filelist.js:201
+#: js/filelist.js:205 js/filelist.js:207
msgid "cancel"
msgstr "abbrechen"
-#: js/filelist.js:248
+#: js/filelist.js:254
msgid "replaced {new_name}"
msgstr "{new_name} wurde ersetzt"
-#: js/filelist.js:248 js/filelist.js:250 js/filelist.js:282 js/filelist.js:284
+#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
msgid "undo"
msgstr "rückgängig machen"
-#: js/filelist.js:250
+#: js/filelist.js:256
msgid "replaced {new_name} with {old_name}"
msgstr "{old_name} ersetzt durch {new_name}"
-#: js/filelist.js:282
+#: js/filelist.js:288
msgid "unshared {files}"
msgstr "Freigabe von {files} aufgehoben"
-#: js/filelist.js:284
+#: js/filelist.js:290
msgid "deleted {files}"
msgstr "{files} gelöscht"
-#: js/files.js:33
+#: js/files.js:48
+msgid "'.' is an invalid file name."
+msgstr "'.' ist kein gültiger Dateiname"
+
+#: js/files.js:53
+msgid "File name cannot be empty."
+msgstr "Der Dateiname darf nicht leer sein"
+
+#: js/files.js:62
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr "Ungültiger Name, '\\', '/', '<', '>', ':', '\"', '|', '?' und '*' sind nicht zulässig."
-#: js/files.js:174
-msgid "generating ZIP-file, it may take some time."
-msgstr "Erstelle ZIP-Datei. Dies kann eine Weile dauern."
+#: js/files.js:204
+msgid ""
+"Your download is being prepared. This might take some time if the files are "
+"big."
+msgstr "Dein Download wird vorbereitet. Dies kann bei größeren Dateien etwas dauern."
-#: js/files.js:209
+#: js/files.js:242
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr "Deine Datei kann nicht hochgeladen werden, da sie entweder ein Verzeichnis oder 0 Bytes groß ist."
-#: js/files.js:209
+#: js/files.js:242
msgid "Upload Error"
msgstr "Fehler beim Upload"
-#: js/files.js:226
+#: js/files.js:259
msgid "Close"
msgstr "Schließen"
-#: js/files.js:245 js/files.js:359 js/files.js:389
+#: js/files.js:278 js/files.js:397 js/files.js:431
msgid "Pending"
msgstr "Ausstehend"
-#: js/files.js:265
+#: js/files.js:298
msgid "1 file uploading"
msgstr "Eine Datei wird hoch geladen"
-#: js/files.js:268 js/files.js:322 js/files.js:337
+#: js/files.js:301 js/files.js:357 js/files.js:372
msgid "{count} files uploading"
msgstr "{count} Dateien werden hochgeladen"
-#: js/files.js:340 js/files.js:373
+#: js/files.js:376 js/files.js:414
msgid "Upload cancelled."
msgstr "Upload abgebrochen."
-#: js/files.js:442
+#: js/files.js:486
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr "Dateiupload läuft. Wenn Du die Seite jetzt verlässt, wird der Upload abgebrochen."
-#: js/files.js:512
-msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud"
-msgstr "Ungültiger Ordnername. Die Verwendung von \"Shared\" ist ownCloud vorbehalten."
+#: js/files.js:559
+msgid "URL cannot be empty."
+msgstr "Die URL darf nicht leer sein"
+
+#: js/files.js:565
+msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
+msgstr "Ungültiger Verzeichnisname. Die Nutzung von \"Shared\" ist ownCloud vorbehalten."
-#: js/files.js:693
+#: js/files.js:775
msgid "{count} files scanned"
msgstr "{count} Dateien wurden gescannt"
-#: js/files.js:701
+#: js/files.js:783
msgid "error while scanning"
msgstr "Fehler beim Scannen"
-#: js/files.js:774 templates/index.php:66
+#: js/files.js:857 templates/index.php:64
msgid "Name"
msgstr "Name"
-#: js/files.js:775 templates/index.php:77
+#: js/files.js:858 templates/index.php:75
msgid "Size"
msgstr "Größe"
-#: js/files.js:776 templates/index.php:79
+#: js/files.js:859 templates/index.php:77
msgid "Modified"
msgstr "Bearbeitet"
-#: js/files.js:803
+#: js/files.js:878
msgid "1 folder"
msgstr "1 Ordner"
-#: js/files.js:805
+#: js/files.js:880
msgid "{count} folders"
msgstr "{count} Ordner"
-#: js/files.js:813
+#: js/files.js:888
msgid "1 file"
msgstr "1 Datei"
-#: js/files.js:815
+#: js/files.js:890
msgid "{count} files"
msgstr "{count} Dateien"
@@ -208,27 +256,27 @@ msgstr "Dateibehandlung"
msgid "Maximum upload size"
msgstr "Maximale Upload-Größe"
-#: templates/admin.php:9
+#: templates/admin.php:10
msgid "max. possible: "
msgstr "maximal möglich:"
-#: templates/admin.php:12
+#: templates/admin.php:15
msgid "Needed for multi-file and folder downloads."
msgstr "Für Mehrfachdatei- und Ordnerdownloads benötigt:"
-#: templates/admin.php:14
+#: templates/admin.php:17
msgid "Enable ZIP-download"
msgstr "ZIP-Download aktivieren"
-#: templates/admin.php:17
+#: templates/admin.php:20
msgid "0 is unlimited"
msgstr "0 bedeutet unbegrenzt"
-#: templates/admin.php:19
+#: templates/admin.php:22
msgid "Maximum input size for ZIP files"
msgstr "Maximale Größe für ZIP-Dateien"
-#: templates/admin.php:23
+#: templates/admin.php:26
msgid "Save"
msgstr "Speichern"
@@ -248,36 +296,32 @@ msgstr "Ordner"
msgid "From link"
msgstr "Von einem Link"
-#: templates/index.php:35
-msgid "Upload"
-msgstr "Hochladen"
-
-#: templates/index.php:43
+#: templates/index.php:41
msgid "Cancel upload"
msgstr "Upload abbrechen"
-#: templates/index.php:58
+#: templates/index.php:56
msgid "Nothing in here. Upload something!"
msgstr "Alles leer. Lade etwas hoch!"
-#: templates/index.php:72
+#: templates/index.php:70
msgid "Download"
msgstr "Herunterladen"
-#: templates/index.php:104
+#: templates/index.php:102
msgid "Upload too large"
msgstr "Upload zu groß"
-#: templates/index.php:106
+#: templates/index.php:104
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:111
+#: templates/index.php:109
msgid "Files are being scanned, please wait."
msgstr "Dateien werden gescannt, bitte warten."
-#: templates/index.php:114
+#: templates/index.php:112
msgid "Current scanning"
msgstr "Scanne"
diff --git a/l10n/de/files_encryption.po b/l10n/de/files_encryption.po
index 2231e6ffdf9..ba08625264e 100644
--- a/l10n/de/files_encryption.po
+++ b/l10n/de/files_encryption.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-10-02 23:16+0200\n"
-"PO-Revision-Date: 2012-10-02 09:06+0000\n"
-"Last-Translator: Mirodin <blobbyjj@ymail.com>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: German (http://www.transifex.com/projects/p/owncloud/language/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,18 +18,66 @@ msgstr ""
"Language: de\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "Verschlüsselung"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "Die folgenden Dateitypen von der Verschlüsselung ausnehmen"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "Keine"
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "Verschlüsselung aktivieren"
diff --git a/l10n/de/files_versions.po b/l10n/de/files_versions.po
index 464f1fe302c..a3e251c142c 100644
--- a/l10n/de/files_versions.po
+++ b/l10n/de/files_versions.po
@@ -12,9 +12,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-10-02 23:16+0200\n"
-"PO-Revision-Date: 2012-10-02 09:08+0000\n"
-"Last-Translator: Mirodin <blobbyjj@ymail.com>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: German (http://www.transifex.com/projects/p/owncloud/language/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -22,22 +22,10 @@ msgstr ""
"Language: de\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: js/settings-personal.js:31 templates/settings-personal.php:10
-msgid "Expire all versions"
-msgstr "Alle Versionen löschen"
-
#: js/versions.js:16
msgid "History"
msgstr "Historie"
-#: templates/settings-personal.php:4
-msgid "Versions"
-msgstr "Versionen"
-
-#: templates/settings-personal.php:7
-msgid "This will delete all existing backup versions of your files"
-msgstr "Dies löscht alle vorhandenen Sicherungsversionen Deiner Dateien."
-
#: templates/settings.php:3
msgid "Files Versioning"
msgstr "Dateiversionierung"
diff --git a/l10n/de/lib.po b/l10n/de/lib.po
index d572145c29a..d27f2e0504b 100644
--- a/l10n/de/lib.po
+++ b/l10n/de/lib.po
@@ -6,7 +6,7 @@
# <blobbyjj@ymail.com>, 2012.
# I Robot <thomas.mueller@tmit.eu>, 2012.
# Jan-Christoph Borchardt <hey@jancborchardt.net>, 2012.
-# Marcel Kühlhorn <susefan93@gmx.de>, 2012.
+# Marcel Kühlhorn <susefan93@gmx.de>, 2012-2013.
# Phi Lieb <>, 2012.
# <thomas.mueller@tmit.eu>, 2012.
# <transifex.3.mensaje@spamgourmet.com>, 2012.
@@ -14,9 +14,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-12 00:13+0100\n"
-"PO-Revision-Date: 2012-12-11 09:31+0000\n"
-"Last-Translator: Mirodin <blobbyjj@ymail.com>\n"
+"POT-Creation-Date: 2013-01-21 00:04+0100\n"
+"PO-Revision-Date: 2013-01-20 03:39+0000\n"
+"Last-Translator: Marcel Kühlhorn <susefan93@gmx.de>\n"
"Language-Team: German (http://www.transifex.com/projects/p/owncloud/language/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -24,51 +24,55 @@ msgstr ""
"Language: de\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: app.php:287
+#: app.php:301
msgid "Help"
msgstr "Hilfe"
-#: app.php:294
+#: app.php:308
msgid "Personal"
msgstr "Persönlich"
-#: app.php:299
+#: app.php:313
msgid "Settings"
msgstr "Einstellungen"
-#: app.php:304
+#: app.php:318
msgid "Users"
msgstr "Benutzer"
-#: app.php:311
+#: app.php:325
msgid "Apps"
msgstr "Apps"
-#: app.php:313
+#: app.php:327
msgid "Admin"
msgstr "Administrator"
-#: files.php:361
+#: files.php:365
msgid "ZIP download is turned off."
msgstr "Der ZIP-Download ist deaktiviert."
-#: files.php:362
+#: files.php:366
msgid "Files need to be downloaded one by one."
msgstr "Die Dateien müssen einzeln heruntergeladen werden."
-#: files.php:362 files.php:387
+#: files.php:366 files.php:391
msgid "Back to Files"
msgstr "Zurück zu \"Dateien\""
-#: files.php:386
+#: files.php:390
msgid "Selected files too large to generate zip file."
msgstr "Die gewählten Dateien sind zu groß, um eine ZIP-Datei zu erstellen."
+#: helper.php:229
+msgid "couldn't be determined"
+msgstr "Konnte nicht festgestellt werden"
+
#: json.php:28
msgid "Application is not enabled"
msgstr "Die Anwendung ist nicht aktiviert"
-#: json.php:39 json.php:64 json.php:77 json.php:89
+#: json.php:39 json.php:62 json.php:73
msgid "Authentication error"
msgstr "Authentifizierungs-Fehler"
@@ -88,55 +92,55 @@ msgstr "Text"
msgid "Images"
msgstr "Bilder"
-#: template.php:103
+#: template.php:113
msgid "seconds ago"
msgstr "Gerade eben"
-#: template.php:104
+#: template.php:114
msgid "1 minute ago"
msgstr "Vor einer Minute"
-#: template.php:105
+#: template.php:115
#, php-format
msgid "%d minutes ago"
msgstr "Vor %d Minuten"
-#: template.php:106
+#: template.php:116
msgid "1 hour ago"
msgstr "Vor einer Stunde"
-#: template.php:107
+#: template.php:117
#, php-format
msgid "%d hours ago"
msgstr "Vor %d Stunden"
-#: template.php:108
+#: template.php:118
msgid "today"
msgstr "Heute"
-#: template.php:109
+#: template.php:119
msgid "yesterday"
msgstr "Gestern"
-#: template.php:110
+#: template.php:120
#, php-format
msgid "%d days ago"
msgstr "Vor %d Tag(en)"
-#: template.php:111
+#: template.php:121
msgid "last month"
msgstr "Letzten Monat"
-#: template.php:112
+#: template.php:122
#, php-format
msgid "%d months ago"
msgstr "Vor %d Monaten"
-#: template.php:113
+#: template.php:123
msgid "last year"
msgstr "Letztes Jahr"
-#: template.php:114
+#: template.php:124
msgid "years ago"
msgstr "Vor Jahren"
diff --git a/l10n/de/settings.po b/l10n/de/settings.po
index 019a9c65ce0..1616f6a893d 100644
--- a/l10n/de/settings.po
+++ b/l10n/de/settings.po
@@ -24,9 +24,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-23 00:09+0100\n"
-"PO-Revision-Date: 2012-12-22 14:02+0000\n"
-"Last-Translator: Mirodin <blobbyjj@ymail.com>\n"
+"POT-Creation-Date: 2013-01-12 00:09+0100\n"
+"PO-Revision-Date: 2013-01-11 23:09+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: German (http://www.transifex.com/projects/p/owncloud/language/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -46,7 +46,7 @@ msgstr "Gruppe existiert bereits"
msgid "Unable to add group"
msgstr "Gruppe konnte nicht angelegt werden"
-#: ajax/enableapp.php:12
+#: ajax/enableapp.php:11
msgid "Could not enable app. "
msgstr "App konnte nicht aktiviert werden."
@@ -58,14 +58,6 @@ msgstr "E-Mail Adresse gespeichert"
msgid "Invalid email"
msgstr "Ungültige E-Mail Adresse"
-#: ajax/openid.php:13
-msgid "OpenID Changed"
-msgstr "OpenID geändert"
-
-#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20
-msgid "Invalid request"
-msgstr "Ungültige Anfrage"
-
#: ajax/removegroup.php:13
msgid "Unable to delete group"
msgstr "Gruppe konnte nicht gelöscht werden"
@@ -82,6 +74,10 @@ msgstr "Benutzer konnte nicht gelöscht werden"
msgid "Language changed"
msgstr "Sprache geändert"
+#: ajax/setlanguage.php:17 ajax/setlanguage.php:20
+msgid "Invalid request"
+msgstr "Ungültige Anfrage"
+
#: ajax/togglegroups.php:12
msgid "Admins can't remove themself from the admin group"
msgstr "Administratoren können sich nicht selbst aus der Admin-Gruppe löschen."
@@ -177,7 +173,7 @@ msgstr "Android-Client herunterladen"
msgid "Download iOS Client"
msgstr "iOS-Client herunterladen"
-#: templates/personal.php:21 templates/users.php:23 templates/users.php:77
+#: templates/personal.php:21 templates/users.php:23 templates/users.php:82
msgid "Password"
msgstr "Passwort"
@@ -247,11 +243,11 @@ msgid ""
"License\">AGPL</abbr></a>."
msgstr "Entwickelt von der <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud-Community</a>, der <a href=\"https://github.com/owncloud\" target=\"_blank\">Quellcode</a> ist unter der <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a> lizenziert."
-#: templates/users.php:21 templates/users.php:76
+#: templates/users.php:21 templates/users.php:81
msgid "Name"
msgstr "Name"
-#: templates/users.php:26 templates/users.php:78 templates/users.php:98
+#: templates/users.php:26 templates/users.php:83 templates/users.php:103
msgid "Groups"
msgstr "Gruppen"
@@ -260,21 +256,29 @@ msgid "Create"
msgstr "Anlegen"
#: templates/users.php:35
-msgid "Default Quota"
-msgstr "Standard-Quota"
+msgid "Default Storage"
+msgstr "Standard-Speicher"
-#: templates/users.php:55 templates/users.php:138
+#: templates/users.php:42 templates/users.php:138
+msgid "Unlimited"
+msgstr "Unbegrenzt"
+
+#: templates/users.php:60 templates/users.php:153
msgid "Other"
msgstr "Andere"
-#: templates/users.php:80 templates/users.php:112
+#: templates/users.php:85 templates/users.php:117
msgid "Group Admin"
msgstr "Gruppenadministrator"
-#: templates/users.php:82
-msgid "Quota"
-msgstr "Quota"
+#: templates/users.php:87
+msgid "Storage"
+msgstr "Speicher"
+
+#: templates/users.php:133
+msgid "Default"
+msgstr "Standard"
-#: templates/users.php:146
+#: templates/users.php:161
msgid "Delete"
msgstr "Löschen"
diff --git a/l10n/de/user_ldap.po b/l10n/de/user_ldap.po
index 7e83a5b2043..b706cd2fe26 100644
--- a/l10n/de/user_ldap.po
+++ b/l10n/de/user_ldap.po
@@ -15,9 +15,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-23 00:09+0100\n"
-"PO-Revision-Date: 2012-12-22 14:04+0000\n"
-"Last-Translator: Mirodin <blobbyjj@ymail.com>\n"
+"POT-Creation-Date: 2013-01-16 00:19+0100\n"
+"PO-Revision-Date: 2013-01-15 23:20+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: German (http://www.transifex.com/projects/p/owncloud/language/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -34,9 +34,9 @@ msgstr "<b>Warnung:</b> Die Anwendungen user_ldap und user_webdavauth sind inkom
#: templates/settings.php:11
msgid ""
-"<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will"
-" not work. Please ask your system administrator to install it."
-msgstr "<b>Warnung:</b> Das PHP-Modul, das LDAP benöntigt, ist nicht installiert. Das Backend wird nicht funktionieren. Bitte deinen Systemadministrator das Modul zu installieren."
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not "
+"work. Please ask your system administrator to install it."
+msgstr ""
#: templates/settings.php:15
msgid "Host"
@@ -52,6 +52,10 @@ msgid "Base DN"
msgstr "Basis-DN"
#: templates/settings.php:16
+msgid "One Base DN per line"
+msgstr ""
+
+#: templates/settings.php:16
msgid "You can specify Base DN for users and groups in the Advanced tab"
msgstr "Du kannst Basis-DN für Benutzer und Gruppen in dem \"Erweitert\"-Reiter konfigurieren"
@@ -122,10 +126,18 @@ msgstr "Port"
msgid "Base User Tree"
msgstr "Basis-Benutzerbaum"
+#: templates/settings.php:25
+msgid "One User Base DN per line"
+msgstr ""
+
#: templates/settings.php:26
msgid "Base Group Tree"
msgstr "Basis-Gruppenbaum"
+#: templates/settings.php:26
+msgid "One Group Base DN per line"
+msgstr ""
+
#: templates/settings.php:27
msgid "Group-Member association"
msgstr "Assoziation zwischen Gruppe und Benutzer"
diff --git a/l10n/de/user_webdavauth.po b/l10n/de/user_webdavauth.po
index 392938e5f92..3bc6180a309 100644
--- a/l10n/de/user_webdavauth.po
+++ b/l10n/de/user_webdavauth.po
@@ -4,14 +4,15 @@
#
# Translators:
# <blobbyjj@ymail.com>, 2012.
+# <mibunrui@gmx.de>, 2013.
# <seeed@freenet.de>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-23 00:09+0100\n"
-"PO-Revision-Date: 2012-12-22 14:08+0000\n"
-"Last-Translator: Mirodin <blobbyjj@ymail.com>\n"
+"POT-Creation-Date: 2013-01-16 00:19+0100\n"
+"PO-Revision-Date: 2013-01-15 00:30+0000\n"
+"Last-Translator: AndryXY <mibunrui@gmx.de>\n"
"Language-Team: German (http://www.transifex.com/projects/p/owncloud/language/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -19,13 +20,17 @@ msgstr ""
"Language: de\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+#: templates/settings.php:3
+msgid "WebDAV Authentication"
+msgstr "WebDAV Authentifikation"
+
#: templates/settings.php:4
msgid "URL: http://"
msgstr "URL: http://"
#: templates/settings.php:6
msgid ""
-"ownCloud will send the user credentials to this URL is interpret http 401 "
-"and http 403 as credentials wrong and all other codes as credentials "
-"correct."
-msgstr "ownCloud wird die Logindaten zu dieser URL senden. http 401 und http 403 werden als falsche Logindaten interpretiert und alle anderen Codes als korrekte Logindaten."
+"ownCloud will send the user credentials to this URL. 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 "ownCloud wird die Benutzer-Anmeldedaten an diese URL schicken. Dieses Plugin prüft die Anmeldedaten auf ihre Gültigkeit und interpretiert die HTTP Statusfehler 401 und 403 als ungültige, sowie alle Anderen als gültige Anmeldedaten."
diff --git a/l10n/de_DE/core.po b/l10n/de_DE/core.po
index 116cf3006cd..9f9775ff12e 100644
--- a/l10n/de_DE/core.po
+++ b/l10n/de_DE/core.po
@@ -16,15 +16,16 @@
# <m.fresel@sysangels.com>, 2012.
# <niko@nik-o-mat.de>, 2012.
# Phi Lieb <>, 2012.
+# <Steve_Reichert@gmx.de>, 2013.
# <thomas.mueller@tmit.eu>, 2012.
# <transifex.3.mensaje@spamgourmet.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-23 00:09+0100\n"
-"PO-Revision-Date: 2012-12-22 13:52+0000\n"
-"Last-Translator: Mirodin <blobbyjj@ymail.com>\n"
+"POT-Creation-Date: 2013-01-18 00:03+0100\n"
+"PO-Revision-Date: 2013-01-17 21:11+0000\n"
+"Last-Translator: a.tangemann <a.tangemann@web.de>\n"
"Language-Team: German (Germany) (http://www.transifex.com/projects/p/owncloud/language/de_DE/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -98,55 +99,55 @@ msgstr "Fehler beim Entfernen von %s von den Favoriten."
msgid "Settings"
msgstr "Einstellungen"
-#: js/js.js:704
+#: js/js.js:706
msgid "seconds ago"
msgstr "Gerade eben"
-#: js/js.js:705
+#: js/js.js:707
msgid "1 minute ago"
msgstr "Vor 1 Minute"
-#: js/js.js:706
+#: js/js.js:708
msgid "{minutes} minutes ago"
msgstr "Vor {minutes} Minuten"
-#: js/js.js:707
+#: js/js.js:709
msgid "1 hour ago"
msgstr "Vor einer Stunde"
-#: js/js.js:708
+#: js/js.js:710
msgid "{hours} hours ago"
msgstr "Vor {hours} Stunden"
-#: js/js.js:709
+#: js/js.js:711
msgid "today"
msgstr "Heute"
-#: js/js.js:710
+#: js/js.js:712
msgid "yesterday"
msgstr "Gestern"
-#: js/js.js:711
+#: js/js.js:713
msgid "{days} days ago"
msgstr "Vor {days} Tag(en)"
-#: js/js.js:712
+#: js/js.js:714
msgid "last month"
msgstr "Letzten Monat"
-#: js/js.js:713
+#: js/js.js:715
msgid "{months} months ago"
msgstr "Vor {months} Monaten"
-#: js/js.js:714
+#: js/js.js:716
msgid "months ago"
msgstr "Vor Monaten"
-#: js/js.js:715
+#: js/js.js:717
msgid "last year"
msgstr "Letztes Jahr"
-#: js/js.js:716
+#: js/js.js:718
msgid "years ago"
msgstr "Vor Jahren"
@@ -222,7 +223,6 @@ msgid "Password protect"
msgstr "Passwortschutz"
#: js/share.js:168 templates/installation.php:44 templates/login.php:35
-#: templates/verify.php:13
msgid "Password"
msgstr "Passwort"
@@ -567,10 +567,6 @@ msgstr "merken"
msgid "Log in"
msgstr "Einloggen"
-#: templates/logout.php:1
-msgid "You are logged out."
-msgstr "Sie wurden abgemeldet."
-
#: templates/part.pagenavi.php:3
msgid "prev"
msgstr "Zurück"
@@ -579,16 +575,7 @@ msgstr "Zurück"
msgid "next"
msgstr "Weiter"
-#: templates/verify.php:5
-msgid "Security Warning!"
-msgstr "Sicherheitshinweis!"
-
-#: templates/verify.php:6
-msgid ""
-"Please verify your password. <br/>For security reasons you may be "
-"occasionally asked to enter your password again."
-msgstr "Bitte überprüfen Sie Ihr Passwort. <br/>Aus Sicherheitsgründen werden Sie gelegentlich aufgefordert, Ihr Passwort erneut einzugeben."
-
-#: templates/verify.php:16
-msgid "Verify"
-msgstr "Überprüfen"
+#: templates/update.php:3
+#, php-format
+msgid "Updating ownCloud to version %s, this may take a while."
+msgstr "Aktualisiere ownCloud auf Version %s. Dies könnte eine Weile dauern."
diff --git a/l10n/de_DE/files.po b/l10n/de_DE/files.po
index 035e733deb4..99ea2d6f096 100644
--- a/l10n/de_DE/files.po
+++ b/l10n/de_DE/files.po
@@ -4,20 +4,22 @@
#
# Translators:
# <admin@s-goecker.de>, 2012.
-# <a.tangemann@web.de>, 2012.
+# <a.tangemann@web.de>, 2012-2013.
# <blobbyjj@ymail.com>, 2012.
-# I Robot <owncloud-bot@tmit.eu>, 2012.
+# I Robot <owncloud-bot@tmit.eu>, 2012-2013.
# I Robot <thomas.mueller@tmit.eu>, 2012.
# Jan-Christoph Borchardt <hey@jancborchardt.net>, 2012.
# Jan-Christoph Borchardt <JanCBorchardt@fsfe.org>, 2011.
# Jan-Christoph Borchardt <jan@unhosted.org>, 2011.
# <lukas@statuscode.ch>, 2012.
# <mail@felixmoeller.de>, 2012.
-# Marcel Kühlhorn <susefan93@gmx.de>, 2012.
+# Marcel Kühlhorn <susefan93@gmx.de>, 2012-2013.
+# <markus.thiel@desico.de>, 2013.
# Michael Krell <m4dmike.mni@gmail.com>, 2012.
# <nelsonfritsch@gmail.com>, 2012.
# <niko@nik-o-mat.de>, 2012.
# Phi Lieb <>, 2012.
+# <Steve_Reichert@gmx.de>, 2013.
# <thomas.mueller@tmit.eu>, 2012.
# Thomas Müller <>, 2012.
# <transifex.3.mensaje@spamgourmet.com>, 2012.
@@ -25,9 +27,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-12 00:12+0100\n"
-"PO-Revision-Date: 2012-12-11 09:27+0000\n"
-"Last-Translator: Mirodin <blobbyjj@ymail.com>\n"
+"POT-Creation-Date: 2013-01-21 00:04+0100\n"
+"PO-Revision-Date: 2013-01-20 03:24+0000\n"
+"Last-Translator: Marcel Kühlhorn <susefan93@gmx.de>\n"
"Language-Team: German (Germany) (http://www.transifex.com/projects/p/owncloud/language/de_DE/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -35,46 +37,77 @@ msgstr ""
"Language: de_DE\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+#: ajax/delete.php:28 ajax/getstoragestats.php:11 ajax/upload.php:17
+#: ajax/upload.php:76 templates/index.php:18
+msgid "Upload"
+msgstr "Hochladen"
+
+#: ajax/move.php:17
+#, php-format
+msgid "Could not move %s - File with this name already exists"
+msgstr "Konnte %s nicht verschieben - Datei mit diesem Namen existiert bereits"
+
+#: ajax/move.php:24
+#, php-format
+msgid "Could not move %s"
+msgstr "Konnte %s nicht verschieben"
+
+#: ajax/rename.php:19
+msgid "Unable to rename file"
+msgstr "Konnte Datei nicht umbenennen"
+
#: ajax/upload.php:20
+msgid "No file was uploaded. Unknown error"
+msgstr "Keine Datei hochgeladen. Unbekannter Fehler"
+
+#: ajax/upload.php:30
msgid "There is no error, the file uploaded with success"
msgstr "Es sind keine Fehler aufgetreten. Die Datei wurde erfolgreich hochgeladen."
-#: ajax/upload.php:21
+#: ajax/upload.php:31
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr "Die hochgeladene Datei überschreitet die upload_max_filesize Vorgabe in php.ini"
-#: ajax/upload.php:23
+#: ajax/upload.php:33
msgid ""
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
"the HTML form"
msgstr "Die Größe der hochzuladenden Datei überschreitet die MAX_FILE_SIZE-Richtlinie, die im HTML-Formular angegeben wurde"
-#: ajax/upload.php:25
+#: ajax/upload.php:35
msgid "The uploaded file was only partially uploaded"
msgstr "Die Datei wurde nur teilweise hochgeladen."
-#: ajax/upload.php:26
+#: ajax/upload.php:36
msgid "No file was uploaded"
msgstr "Es wurde keine Datei hochgeladen."
-#: ajax/upload.php:27
+#: ajax/upload.php:37
msgid "Missing a temporary folder"
msgstr "Der temporäre Ordner fehlt."
-#: ajax/upload.php:28
+#: ajax/upload.php:38
msgid "Failed to write to disk"
msgstr "Fehler beim Schreiben auf die Festplatte"
+#: ajax/upload.php:57
+msgid "Not enough space available"
+msgstr "Nicht genügend Speicherplatz verfügbar"
+
+#: ajax/upload.php:91
+msgid "Invalid directory."
+msgstr "Ungültiges Verzeichnis."
+
#: appinfo/app.php:10
msgid "Files"
msgstr "Dateien"
-#: js/fileactions.js:117 templates/index.php:84 templates/index.php:85
+#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
msgid "Unshare"
msgstr "Nicht mehr freigeben"
-#: js/fileactions.js:119 templates/index.php:90 templates/index.php:91
+#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
msgid "Delete"
msgstr "Löschen"
@@ -82,122 +115,136 @@ msgstr "Löschen"
msgid "Rename"
msgstr "Umbenennen"
-#: js/filelist.js:199 js/filelist.js:201
+#: js/filelist.js:205 js/filelist.js:207
msgid "{new_name} already exists"
msgstr "{new_name} existiert bereits"
-#: js/filelist.js:199 js/filelist.js:201
+#: js/filelist.js:205 js/filelist.js:207
msgid "replace"
msgstr "ersetzen"
-#: js/filelist.js:199
+#: js/filelist.js:205
msgid "suggest name"
msgstr "Name vorschlagen"
-#: js/filelist.js:199 js/filelist.js:201
+#: js/filelist.js:205 js/filelist.js:207
msgid "cancel"
msgstr "abbrechen"
-#: js/filelist.js:248
+#: js/filelist.js:254
msgid "replaced {new_name}"
msgstr "{new_name} wurde ersetzt"
-#: js/filelist.js:248 js/filelist.js:250 js/filelist.js:282 js/filelist.js:284
+#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
msgid "undo"
msgstr "rückgängig machen"
-#: js/filelist.js:250
+#: js/filelist.js:256
msgid "replaced {new_name} with {old_name}"
msgstr "{old_name} wurde ersetzt durch {new_name}"
-#: js/filelist.js:282
+#: js/filelist.js:288
msgid "unshared {files}"
msgstr "Freigabe für {files} beendet"
-#: js/filelist.js:284
+#: js/filelist.js:290
msgid "deleted {files}"
msgstr "{files} gelöscht"
-#: js/files.js:33
+#: js/files.js:48
+msgid "'.' is an invalid file name."
+msgstr "'.' ist kein gültiger Dateiname."
+
+#: js/files.js:53
+msgid "File name cannot be empty."
+msgstr "Der Dateiname darf nicht leer sein."
+
+#: js/files.js:62
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr "Ungültiger Name, '\\', '/', '<', '>', ':', '\"', '|', '?' und '*' sind nicht zulässig."
-#: js/files.js:174
-msgid "generating ZIP-file, it may take some time."
-msgstr "Erstelle ZIP-Datei. Dies kann eine Weile dauern."
+#: js/files.js:204
+msgid ""
+"Your download is being prepared. This might take some time if the files are "
+"big."
+msgstr "Ihr Download wird vorbereitet. Dies kann bei größeren Dateien einen Moment dauern."
-#: js/files.js:209
+#: js/files.js:242
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr "Ihre Datei kann nicht hochgeladen werden, da sie entweder ein Verzeichnis oder 0 Bytes groß ist."
-#: js/files.js:209
+#: js/files.js:242
msgid "Upload Error"
msgstr "Fehler beim Upload"
-#: js/files.js:226
+#: js/files.js:259
msgid "Close"
msgstr "Schließen"
-#: js/files.js:245 js/files.js:359 js/files.js:389
+#: js/files.js:278 js/files.js:397 js/files.js:431
msgid "Pending"
msgstr "Ausstehend"
-#: js/files.js:265
+#: js/files.js:298
msgid "1 file uploading"
msgstr "1 Datei wird hochgeladen"
-#: js/files.js:268 js/files.js:322 js/files.js:337
+#: js/files.js:301 js/files.js:357 js/files.js:372
msgid "{count} files uploading"
msgstr "{count} Dateien wurden hochgeladen"
-#: js/files.js:340 js/files.js:373
+#: js/files.js:376 js/files.js:414
msgid "Upload cancelled."
msgstr "Upload abgebrochen."
-#: js/files.js:442
+#: js/files.js:486
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr "Der Dateiupload läuft. Wenn Sie die Seite jetzt verlassen, wird der Upload abgebrochen."
-#: js/files.js:512
-msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud"
-msgstr "Ungültiger Ordnername. Die Verwendung von \"Shared\" ist ownCloud vorbehalten."
+#: js/files.js:559
+msgid "URL cannot be empty."
+msgstr "Die URL darf nicht leer sein."
+
+#: js/files.js:565
+msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
+msgstr "Ungültiger Verzeichnisname. Die Nutzung von \"Shared\" ist ownCloud vorbehalten"
-#: js/files.js:693
+#: js/files.js:775
msgid "{count} files scanned"
msgstr "{count} Dateien wurden gescannt"
-#: js/files.js:701
+#: js/files.js:783
msgid "error while scanning"
msgstr "Fehler beim Scannen"
-#: js/files.js:774 templates/index.php:66
+#: js/files.js:857 templates/index.php:64
msgid "Name"
msgstr "Name"
-#: js/files.js:775 templates/index.php:77
+#: js/files.js:858 templates/index.php:75
msgid "Size"
msgstr "Größe"
-#: js/files.js:776 templates/index.php:79
+#: js/files.js:859 templates/index.php:77
msgid "Modified"
msgstr "Bearbeitet"
-#: js/files.js:803
+#: js/files.js:878
msgid "1 folder"
msgstr "1 Ordner"
-#: js/files.js:805
+#: js/files.js:880
msgid "{count} folders"
msgstr "{count} Ordner"
-#: js/files.js:813
+#: js/files.js:888
msgid "1 file"
msgstr "1 Datei"
-#: js/files.js:815
+#: js/files.js:890
msgid "{count} files"
msgstr "{count} Dateien"
@@ -209,27 +256,27 @@ msgstr "Dateibehandlung"
msgid "Maximum upload size"
msgstr "Maximale Upload-Größe"
-#: templates/admin.php:9
+#: templates/admin.php:10
msgid "max. possible: "
msgstr "maximal möglich:"
-#: templates/admin.php:12
+#: templates/admin.php:15
msgid "Needed for multi-file and folder downloads."
msgstr "Für Mehrfachdatei- und Ordnerdownloads benötigt:"
-#: templates/admin.php:14
+#: templates/admin.php:17
msgid "Enable ZIP-download"
msgstr "ZIP-Download aktivieren"
-#: templates/admin.php:17
+#: templates/admin.php:20
msgid "0 is unlimited"
msgstr "0 bedeutet unbegrenzt"
-#: templates/admin.php:19
+#: templates/admin.php:22
msgid "Maximum input size for ZIP files"
msgstr "Maximale Größe für ZIP-Dateien"
-#: templates/admin.php:23
+#: templates/admin.php:26
msgid "Save"
msgstr "Speichern"
@@ -249,36 +296,32 @@ msgstr "Ordner"
msgid "From link"
msgstr "Von einem Link"
-#: templates/index.php:35
-msgid "Upload"
-msgstr "Hochladen"
-
-#: templates/index.php:43
+#: templates/index.php:41
msgid "Cancel upload"
msgstr "Upload abbrechen"
-#: templates/index.php:58
+#: templates/index.php:56
msgid "Nothing in here. Upload something!"
msgstr "Alles leer. Bitte laden Sie etwas hoch!"
-#: templates/index.php:72
+#: templates/index.php:70
msgid "Download"
msgstr "Herunterladen"
-#: templates/index.php:104
+#: templates/index.php:102
msgid "Upload too large"
msgstr "Der Upload ist zu groß"
-#: templates/index.php:106
+#: templates/index.php:104
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:111
+#: templates/index.php:109
msgid "Files are being scanned, please wait."
msgstr "Dateien werden gescannt, bitte warten."
-#: templates/index.php:114
+#: templates/index.php:112
msgid "Current scanning"
msgstr "Scanne"
diff --git a/l10n/de_DE/files_encryption.po b/l10n/de_DE/files_encryption.po
index 52f9f34a774..b0c09c8e842 100644
--- a/l10n/de_DE/files_encryption.po
+++ b/l10n/de_DE/files_encryption.po
@@ -3,14 +3,15 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# Andreas Tangemann <a.tangemann@web.de>, 2013.
# <driz@i2pmail.org>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-10-20 02:02+0200\n"
-"PO-Revision-Date: 2012-10-19 21:33+0000\n"
-"Last-Translator: Mirodin <blobbyjj@ymail.com>\n"
+"POT-Creation-Date: 2013-01-26 00:09+0100\n"
+"PO-Revision-Date: 2013-01-25 22:03+0000\n"
+"Last-Translator: a.tangemann <a.tangemann@web.de>\n"
"Language-Team: German (Germany) (http://www.transifex.com/projects/p/owncloud/language/de_DE/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,18 +19,66 @@ msgstr ""
"Language: de_DE\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr "Wählen Sie die Verschlüsselungsart:"
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr "Keine (ohne Verschlüsselung)"
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr "Benutzerspezifisch (der Benutzer kann entscheiden)"
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "Verschlüsselung"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "Die folgenden Dateitypen von der Verschlüsselung ausnehmen"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "Keine"
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "Verschlüsselung aktivieren"
diff --git a/l10n/de_DE/files_versions.po b/l10n/de_DE/files_versions.po
index c9f8e08c2e5..bef0ee6b762 100644
--- a/l10n/de_DE/files_versions.po
+++ b/l10n/de_DE/files_versions.po
@@ -12,9 +12,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-10-20 02:02+0200\n"
-"PO-Revision-Date: 2012-10-19 21:36+0000\n"
-"Last-Translator: Mirodin <blobbyjj@ymail.com>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: German (Germany) (http://www.transifex.com/projects/p/owncloud/language/de_DE/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -22,22 +22,10 @@ msgstr ""
"Language: de_DE\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: js/settings-personal.js:31 templates/settings-personal.php:10
-msgid "Expire all versions"
-msgstr "Alle Versionen löschen"
-
#: js/versions.js:16
msgid "History"
msgstr "Historie"
-#: templates/settings-personal.php:4
-msgid "Versions"
-msgstr "Versionen"
-
-#: templates/settings-personal.php:7
-msgid "This will delete all existing backup versions of your files"
-msgstr "Dies löscht alle vorhandenen Sicherungsversionen Ihrer Dateien."
-
#: templates/settings.php:3
msgid "Files Versioning"
msgstr "Dateiversionierung"
diff --git a/l10n/de_DE/lib.po b/l10n/de_DE/lib.po
index 3c9177f17ed..851e152e2d5 100644
--- a/l10n/de_DE/lib.po
+++ b/l10n/de_DE/lib.po
@@ -3,6 +3,7 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# Andreas Tangemann <a.tangemann@web.de>, 2013.
# <a.tangemann@web.de>, 2012.
# <blobbyjj@ymail.com>, 2012.
# Jan-Christoph Borchardt <hey@jancborchardt.net>, 2012.
@@ -14,9 +15,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-11 00:04+0100\n"
-"PO-Revision-Date: 2012-12-10 13:49+0000\n"
-"Last-Translator: Mirodin <blobbyjj@ymail.com>\n"
+"POT-Creation-Date: 2013-01-18 00:03+0100\n"
+"PO-Revision-Date: 2013-01-17 21:16+0000\n"
+"Last-Translator: a.tangemann <a.tangemann@web.de>\n"
"Language-Team: German (Germany) (http://www.transifex.com/projects/p/owncloud/language/de_DE/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -24,51 +25,55 @@ msgstr ""
"Language: de_DE\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: app.php:287
+#: app.php:301
msgid "Help"
msgstr "Hilfe"
-#: app.php:294
+#: app.php:308
msgid "Personal"
msgstr "Persönlich"
-#: app.php:299
+#: app.php:313
msgid "Settings"
msgstr "Einstellungen"
-#: app.php:304
+#: app.php:318
msgid "Users"
msgstr "Benutzer"
-#: app.php:311
+#: app.php:325
msgid "Apps"
msgstr "Apps"
-#: app.php:313
+#: app.php:327
msgid "Admin"
msgstr "Administrator"
-#: files.php:361
+#: files.php:365
msgid "ZIP download is turned off."
msgstr "Der ZIP-Download ist deaktiviert."
-#: files.php:362
+#: files.php:366
msgid "Files need to be downloaded one by one."
msgstr "Die Dateien müssen einzeln heruntergeladen werden."
-#: files.php:362 files.php:387
+#: files.php:366 files.php:391
msgid "Back to Files"
msgstr "Zurück zu \"Dateien\""
-#: files.php:386
+#: files.php:390
msgid "Selected files too large to generate zip file."
msgstr "Die gewählten Dateien sind zu groß, um eine ZIP-Datei zu erstellen."
+#: helper.php:228
+msgid "couldn't be determined"
+msgstr "konnte nicht ermittelt werden"
+
#: json.php:28
msgid "Application is not enabled"
msgstr "Die Anwendung ist nicht aktiviert"
-#: json.php:39 json.php:64 json.php:77 json.php:89
+#: json.php:39 json.php:62 json.php:73
msgid "Authentication error"
msgstr "Authentifizierungs-Fehler"
@@ -88,55 +93,55 @@ msgstr "Text"
msgid "Images"
msgstr "Bilder"
-#: template.php:103
+#: template.php:113
msgid "seconds ago"
msgstr "Gerade eben"
-#: template.php:104
+#: template.php:114
msgid "1 minute ago"
msgstr "Vor einer Minute"
-#: template.php:105
+#: template.php:115
#, php-format
msgid "%d minutes ago"
msgstr "Vor %d Minuten"
-#: template.php:106
+#: template.php:116
msgid "1 hour ago"
msgstr "Vor einer Stunde"
-#: template.php:107
+#: template.php:117
#, php-format
msgid "%d hours ago"
msgstr "Vor %d Stunden"
-#: template.php:108
+#: template.php:118
msgid "today"
msgstr "Heute"
-#: template.php:109
+#: template.php:119
msgid "yesterday"
msgstr "Gestern"
-#: template.php:110
+#: template.php:120
#, php-format
msgid "%d days ago"
msgstr "Vor %d Tag(en)"
-#: template.php:111
+#: template.php:121
msgid "last month"
msgstr "Letzten Monat"
-#: template.php:112
+#: template.php:122
#, php-format
msgid "%d months ago"
msgstr "Vor %d Monaten"
-#: template.php:113
+#: template.php:123
msgid "last year"
msgstr "Letztes Jahr"
-#: template.php:114
+#: template.php:124
msgid "years ago"
msgstr "Vor Jahren"
diff --git a/l10n/de_DE/settings.po b/l10n/de_DE/settings.po
index d95b7bb40db..98a84230b5c 100644
--- a/l10n/de_DE/settings.po
+++ b/l10n/de_DE/settings.po
@@ -24,9 +24,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-23 00:09+0100\n"
-"PO-Revision-Date: 2012-12-22 14:01+0000\n"
-"Last-Translator: Mirodin <blobbyjj@ymail.com>\n"
+"POT-Creation-Date: 2013-01-12 00:09+0100\n"
+"PO-Revision-Date: 2013-01-11 23:09+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: German (Germany) (http://www.transifex.com/projects/p/owncloud/language/de_DE/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -46,7 +46,7 @@ msgstr "Die Gruppe existiert bereits"
msgid "Unable to add group"
msgstr "Die Gruppe konnte nicht angelegt werden"
-#: ajax/enableapp.php:12
+#: ajax/enableapp.php:11
msgid "Could not enable app. "
msgstr "Die Anwendung konnte nicht aktiviert werden."
@@ -58,14 +58,6 @@ msgstr "E-Mail-Adresse gespeichert"
msgid "Invalid email"
msgstr "Ungültige E-Mail-Adresse"
-#: ajax/openid.php:13
-msgid "OpenID Changed"
-msgstr "OpenID geändert"
-
-#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20
-msgid "Invalid request"
-msgstr "Ungültige Anfrage"
-
#: ajax/removegroup.php:13
msgid "Unable to delete group"
msgstr "Die Gruppe konnte nicht gelöscht werden"
@@ -82,6 +74,10 @@ msgstr "Der Benutzer konnte nicht gelöscht werden"
msgid "Language changed"
msgstr "Sprache geändert"
+#: ajax/setlanguage.php:17 ajax/setlanguage.php:20
+msgid "Invalid request"
+msgstr "Ungültige Anfrage"
+
#: ajax/togglegroups.php:12
msgid "Admins can't remove themself from the admin group"
msgstr "Administratoren können sich nicht selbst aus der admin-Gruppe löschen"
@@ -177,7 +173,7 @@ msgstr "Android-Client herunterladen"
msgid "Download iOS Client"
msgstr "iOS-Client herunterladen"
-#: templates/personal.php:21 templates/users.php:23 templates/users.php:77
+#: templates/personal.php:21 templates/users.php:23 templates/users.php:82
msgid "Password"
msgstr "Passwort"
@@ -247,11 +243,11 @@ msgid ""
"License\">AGPL</abbr></a>."
msgstr "Entwickelt von der <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud-Community</a>. Der <a href=\"https://github.com/owncloud\" target=\"_blank\">Quellcode</a> ist unter der <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a> lizenziert."
-#: templates/users.php:21 templates/users.php:76
+#: templates/users.php:21 templates/users.php:81
msgid "Name"
msgstr "Name"
-#: templates/users.php:26 templates/users.php:78 templates/users.php:98
+#: templates/users.php:26 templates/users.php:83 templates/users.php:103
msgid "Groups"
msgstr "Gruppen"
@@ -260,21 +256,29 @@ msgid "Create"
msgstr "Anlegen"
#: templates/users.php:35
-msgid "Default Quota"
-msgstr "Standard-Quota"
+msgid "Default Storage"
+msgstr "Standard-Speicher"
-#: templates/users.php:55 templates/users.php:138
+#: templates/users.php:42 templates/users.php:138
+msgid "Unlimited"
+msgstr "Unbegrenzt"
+
+#: templates/users.php:60 templates/users.php:153
msgid "Other"
msgstr "Andere"
-#: templates/users.php:80 templates/users.php:112
+#: templates/users.php:85 templates/users.php:117
msgid "Group Admin"
msgstr "Gruppenadministrator"
-#: templates/users.php:82
-msgid "Quota"
-msgstr "Quota"
+#: templates/users.php:87
+msgid "Storage"
+msgstr "Speicher"
+
+#: templates/users.php:133
+msgid "Default"
+msgstr "Standard"
-#: templates/users.php:146
+#: templates/users.php:161
msgid "Delete"
msgstr "Löschen"
diff --git a/l10n/de_DE/user_ldap.po b/l10n/de_DE/user_ldap.po
index 843b2e80f4d..440d30ce2bc 100644
--- a/l10n/de_DE/user_ldap.po
+++ b/l10n/de_DE/user_ldap.po
@@ -3,6 +3,7 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# Andreas Tangemann <a.tangemann@web.de>, 2013.
# <blobbyjj@ymail.com>, 2012.
# I Robot <thomas.mueller@tmit.eu>, 2012.
# Maurice Preuß <>, 2012.
@@ -14,9 +15,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-23 00:09+0100\n"
-"PO-Revision-Date: 2012-12-22 14:04+0000\n"
-"Last-Translator: Mirodin <blobbyjj@ymail.com>\n"
+"POT-Creation-Date: 2013-01-19 00:04+0100\n"
+"PO-Revision-Date: 2013-01-18 21:26+0000\n"
+"Last-Translator: a.tangemann <a.tangemann@web.de>\n"
"Language-Team: German (Germany) (http://www.transifex.com/projects/p/owncloud/language/de_DE/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -33,9 +34,9 @@ msgstr "<b>Warnung:</b> Die Anwendungen user_ldap und user_webdavauth sind inkom
#: templates/settings.php:11
msgid ""
-"<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will"
-" not work. Please ask your system administrator to install it."
-msgstr "<b>Warnung:</b> Das PHP-Modul, das LDAP benöntigt, ist nicht installiert. Das Backend wird nicht funktionieren. Bitten Sie Ihren Systemadministrator das Modul zu installieren."
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not "
+"work. Please ask your system administrator to install it."
+msgstr "<b>Warnung:</b> Da das PHP-Modul für LDAP nicht installiert ist, wird das Backend nicht funktionieren. Bitten Sie Ihren Systemadministrator das Modul zu installieren."
#: templates/settings.php:15
msgid "Host"
@@ -51,6 +52,10 @@ msgid "Base DN"
msgstr "Basis-DN"
#: templates/settings.php:16
+msgid "One Base DN per line"
+msgstr "Ein Base DN pro Zeile"
+
+#: templates/settings.php:16
msgid "You can specify Base DN for users and groups in the Advanced tab"
msgstr "Sie können Basis-DN für Benutzer und Gruppen in dem \"Erweitert\"-Reiter konfigurieren"
@@ -121,10 +126,18 @@ msgstr "Port"
msgid "Base User Tree"
msgstr "Basis-Benutzerbaum"
+#: templates/settings.php:25
+msgid "One User Base DN per line"
+msgstr "Ein Benutzer Base DN pro Zeile"
+
#: templates/settings.php:26
msgid "Base Group Tree"
msgstr "Basis-Gruppenbaum"
+#: templates/settings.php:26
+msgid "One Group Base DN per line"
+msgstr "Ein Gruppen Base DN pro Zeile"
+
#: templates/settings.php:27
msgid "Group-Member association"
msgstr "Assoziation zwischen Gruppe und Benutzer"
diff --git a/l10n/de_DE/user_webdavauth.po b/l10n/de_DE/user_webdavauth.po
index 9cb13ec43ec..2d01d1e91e1 100644
--- a/l10n/de_DE/user_webdavauth.po
+++ b/l10n/de_DE/user_webdavauth.po
@@ -3,16 +3,16 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
-# <a.tangemann@web.de>, 2012.
+# <a.tangemann@web.de>, 2012-2013.
# <multimill@gmail.com>, 2012.
# <transifex-2.7.mensaje@spamgourmet.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-22 00:24+0100\n"
-"PO-Revision-Date: 2012-12-21 23:03+0000\n"
-"Last-Translator: multimill <multimill@gmail.com>\n"
+"POT-Creation-Date: 2013-01-16 00:19+0100\n"
+"PO-Revision-Date: 2013-01-15 22:23+0000\n"
+"Last-Translator: a.tangemann <a.tangemann@web.de>\n"
"Language-Team: German (Germany) (http://www.transifex.com/projects/p/owncloud/language/de_DE/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -20,13 +20,17 @@ msgstr ""
"Language: de_DE\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+#: templates/settings.php:3
+msgid "WebDAV Authentication"
+msgstr "WebDAV Authentifizierung"
+
#: templates/settings.php:4
msgid "URL: http://"
msgstr "URL: http://"
#: templates/settings.php:6
msgid ""
-"ownCloud will send the user credentials to this URL is interpret http 401 "
-"and http 403 as credentials wrong and all other codes as credentials "
-"correct."
-msgstr "ownCloud "
+"ownCloud will send the user credentials to this URL. 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 "ownCloud sendet die Benutzerdaten an diese URL. Dieses Plugin prüft die Antwort und wird die Statuscodes 401 und 403 als ungültige Daten interpretieren und alle anderen Antworten als gültige Daten."
diff --git a/l10n/el/core.po b/l10n/el/core.po
index 7a42857d69c..9f541a6eda9 100644
--- a/l10n/el/core.po
+++ b/l10n/el/core.po
@@ -10,13 +10,14 @@
# Marios Bekatoros <>, 2012.
# <petros.kyladitis@gmail.com>, 2011.
# Petros Kyladitis <petros.kyladitis@gmail.com>, 2011-2012.
+# <vagelis@cyberdest.com>, 2013.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-22 00:24+0100\n"
-"PO-Revision-Date: 2012-12-21 13:25+0000\n"
-"Last-Translator: Efstathios Iosifidis <diamond_gr@freemail.gr>\n"
+"POT-Creation-Date: 2013-01-18 00:03+0100\n"
+"PO-Revision-Date: 2013-01-17 20:33+0000\n"
+"Last-Translator: xneo1 <vagelis@cyberdest.com>\n"
"Language-Team: Greek (http://www.transifex.com/projects/p/owncloud/language/el/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -90,55 +91,55 @@ msgstr "Σφάλμα αφαίÏεσης %s από τα αγαπημένα."
msgid "Settings"
msgstr "Ρυθμίσεις"
-#: js/js.js:704
+#: js/js.js:706
msgid "seconds ago"
msgstr "δευτεÏόλεπτα Ï€Ïιν"
-#: js/js.js:705
+#: js/js.js:707
msgid "1 minute ago"
msgstr "1 λεπτό Ï€Ïιν"
-#: js/js.js:706
+#: js/js.js:708
msgid "{minutes} minutes ago"
msgstr "{minutes} λεπτά Ï€Ïιν"
-#: js/js.js:707
+#: js/js.js:709
msgid "1 hour ago"
msgstr "1 ÏŽÏα Ï€Ïιν"
-#: js/js.js:708
+#: js/js.js:710
msgid "{hours} hours ago"
msgstr "{hours} ÏŽÏες Ï€Ïιν"
-#: js/js.js:709
+#: js/js.js:711
msgid "today"
msgstr "σήμεÏα"
-#: js/js.js:710
+#: js/js.js:712
msgid "yesterday"
msgstr "χτες"
-#: js/js.js:711
+#: js/js.js:713
msgid "{days} days ago"
msgstr "{days} ημέÏες Ï€Ïιν"
-#: js/js.js:712
+#: js/js.js:714
msgid "last month"
msgstr "τελευταίο μήνα"
-#: js/js.js:713
+#: js/js.js:715
msgid "{months} months ago"
msgstr "{months} μήνες Ï€Ïιν"
-#: js/js.js:714
+#: js/js.js:716
msgid "months ago"
msgstr "μήνες Ï€Ïιν"
-#: js/js.js:715
+#: js/js.js:717
msgid "last year"
msgstr "τελευταίο χÏόνο"
-#: js/js.js:716
+#: js/js.js:718
msgid "years ago"
msgstr "χÏόνια Ï€Ïιν"
@@ -214,7 +215,6 @@ msgid "Password protect"
msgstr "ΠÏοστασία συνθηματικοÏ"
#: js/share.js:168 templates/installation.php:44 templates/login.php:35
-#: templates/verify.php:13
msgid "Password"
msgstr "Συνθηματικό"
@@ -559,10 +559,6 @@ msgstr "απομνημόνευση"
msgid "Log in"
msgstr "Είσοδος"
-#: templates/logout.php:1
-msgid "You are logged out."
-msgstr "Έχετε αποσυνδεθεί."
-
#: templates/part.pagenavi.php:3
msgid "prev"
msgstr "Ï€ÏοηγοÏμενο"
@@ -571,16 +567,7 @@ msgstr "Ï€ÏοηγοÏμενο"
msgid "next"
msgstr "επόμενο"
-#: templates/verify.php:5
-msgid "Security Warning!"
-msgstr "ΠÏοειδοποίηση Ασφαλείας!"
-
-#: templates/verify.php:6
-msgid ""
-"Please verify your password. <br/>For security reasons you may be "
-"occasionally asked to enter your password again."
-msgstr "ΠαÏακαλώ επιβεβαιώστε το συνθηματικό σας. <br/>Για λόγους ασφαλείας μποÏεί να εÏωτάστε να εισάγετε ξανά το συνθηματικό σας."
-
-#: templates/verify.php:16
-msgid "Verify"
-msgstr "Επαλήθευση"
+#: templates/update.php:3
+#, php-format
+msgid "Updating ownCloud to version %s, this may take a while."
+msgstr "ΕνημεÏώνοντας το ownCloud στην έκδοση %s,μποÏεί να πάÏει λίγο χÏόνο."
diff --git a/l10n/el/files.po b/l10n/el/files.po
index 85209f363a5..d98fff41fb7 100644
--- a/l10n/el/files.po
+++ b/l10n/el/files.po
@@ -4,8 +4,10 @@
#
# Translators:
# Dimitris M. <monopatis@gmail.com>, 2012.
-# Efstathios Iosifidis <diamond_gr@freemail.gr>, 2012.
+# Efstathios Iosifidis <diamond_gr@freemail.gr>, 2012-2013.
+# Efstathios Iosifidis <iefstathios@gmail.com>, 2013.
# Efstathios Iosifidis <iosifidis@opensuse.org>, 2012.
+# Konstantinos Tzanidis <tzanidis@gmail.com>, 2012.
# Marios Bekatoros <>, 2012.
# Petros Kyladitis <petros.kyladitis@gmail.com>, 2011-2012.
# Γιάννης Ανθυμίδης <yannanth@gmail.com>, 2012.
@@ -13,9 +15,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-03 00:04+0100\n"
-"PO-Revision-Date: 2012-12-02 11:20+0000\n"
-"Last-Translator: Efstathios Iosifidis <diamond_gr@freemail.gr>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 12:10+0000\n"
+"Last-Translator: Efstathios Iosifidis <iefstathios@gmail.com>\n"
"Language-Team: Greek (http://www.transifex.com/projects/p/owncloud/language/el/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -23,46 +25,77 @@ msgstr ""
"Language: el\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+#: ajax/delete.php:28 ajax/getstoragestats.php:11 ajax/upload.php:17
+#: ajax/upload.php:76 templates/index.php:18
+msgid "Upload"
+msgstr "Αποστολή"
+
+#: ajax/move.php:17
+#, php-format
+msgid "Could not move %s - File with this name already exists"
+msgstr "Αδυναμία μετακίνησης του %s - υπάÏχει ήδη αÏχείο με αυτό το όνομα"
+
+#: ajax/move.php:24
+#, php-format
+msgid "Could not move %s"
+msgstr "Αδυναμία μετακίνησης του %s"
+
+#: ajax/rename.php:19
+msgid "Unable to rename file"
+msgstr "Αδυναμία μετονομασίας αÏχείου"
+
#: ajax/upload.php:20
+msgid "No file was uploaded. Unknown error"
+msgstr "Δεν ανέβηκε κάποιο αÏχείο. Άγνωστο σφάλμα"
+
+#: ajax/upload.php:30
msgid "There is no error, the file uploaded with success"
msgstr "Δεν υπάÏχει σφάλμα, το αÏχείο εστάλει επιτυχώς"
-#: ajax/upload.php:21
+#: ajax/upload.php:31
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr "Το απεσταλμένο αÏχείο ξεπεÏνά την οδηγία upload_max_filesize στο php.ini:"
-#: ajax/upload.php:23
+#: ajax/upload.php:33
msgid ""
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
"the HTML form"
msgstr "Το αÏχείο υπεÏβαίνει την οδηγία μέγιστου επιτÏÎµÏ€Ï„Î¿Ï Î¼ÎµÎ³Î­Î¸Î¿Ï…Ï‚ \"MAX_FILE_SIZE\" που έχει οÏιστεί στην HTML φόÏμα"
-#: ajax/upload.php:25
+#: ajax/upload.php:35
msgid "The uploaded file was only partially uploaded"
msgstr "Το αÏχείο εστάλει μόνο εν μέÏει"
-#: ajax/upload.php:26
+#: ajax/upload.php:36
msgid "No file was uploaded"
msgstr "Κανένα αÏχείο δεν στάλθηκε"
-#: ajax/upload.php:27
+#: ajax/upload.php:37
msgid "Missing a temporary folder"
msgstr "Λείπει ο Ï€ÏοσωÏινός φάκελος"
-#: ajax/upload.php:28
+#: ajax/upload.php:38
msgid "Failed to write to disk"
msgstr "Αποτυχία εγγÏαφής στο δίσκο"
+#: ajax/upload.php:57
+msgid "Not enough space available"
+msgstr "Δεν υπάÏχει αÏκετός διαθέσιμος χώÏος"
+
+#: ajax/upload.php:91
+msgid "Invalid directory."
+msgstr "Μη έγκυÏος φάκελος."
+
#: appinfo/app.php:10
msgid "Files"
msgstr "ΑÏχεία"
-#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84
+#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
msgid "Unshare"
msgstr "Διακοπή κοινής χÏήσης"
-#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90
+#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
msgid "Delete"
msgstr "ΔιαγÏαφή"
@@ -70,122 +103,136 @@ msgstr "ΔιαγÏαφή"
msgid "Rename"
msgstr "Μετονομασία"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "{new_name} already exists"
msgstr "{new_name} υπάÏχει ήδη"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "replace"
msgstr "αντικατέστησε"
-#: js/filelist.js:201
+#: js/filelist.js:205
msgid "suggest name"
msgstr "συνιστώμενο όνομα"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "cancel"
msgstr "ακÏÏωση"
-#: js/filelist.js:250
+#: js/filelist.js:254
msgid "replaced {new_name}"
msgstr "{new_name} αντικαταστάθηκε"
-#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286
+#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
msgid "undo"
msgstr "αναίÏεση"
-#: js/filelist.js:252
+#: js/filelist.js:256
msgid "replaced {new_name} with {old_name}"
msgstr "αντικαταστάθηκε το {new_name} με {old_name}"
-#: js/filelist.js:284
+#: js/filelist.js:288
msgid "unshared {files}"
msgstr "μη διαμοιÏασμένα {files}"
-#: js/filelist.js:286
+#: js/filelist.js:290
msgid "deleted {files}"
msgstr "διαγÏαμμένα {files}"
-#: js/files.js:33
+#: js/files.js:48
+msgid "'.' is an invalid file name."
+msgstr "'.' είναι μη έγκυÏο όνομα αÏχείου."
+
+#: js/files.js:53
+msgid "File name cannot be empty."
+msgstr "Το όνομα αÏχείου δεν Ï€Ïέπει να είναι κενό."
+
+#: js/files.js:62
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr "Μη έγκυÏο όνομα, '\\', '/', '<', '>', ':', '\"', '|', '?' και '*' δεν επιτÏέπονται."
-#: js/files.js:183
-msgid "generating ZIP-file, it may take some time."
-msgstr "παÏαγωγή αÏχείου ZIP, ίσως διαÏκέσει αÏκετά."
+#: js/files.js:204
+msgid ""
+"Your download is being prepared. This might take some time if the files are "
+"big."
+msgstr "Η λήψη Ï€Ïοετοιμάζεται. Αυτό μποÏεί να πάÏει ÏŽÏα εάν τα αÏχεία έχουν μεγάλο μέγεθος."
-#: js/files.js:218
+#: js/files.js:242
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr "Αδυναμία στην αποστολή του αÏχείου σας Î±Ï†Î¿Ï ÎµÎ¯Î½Î±Î¹ φάκελος ή έχει 0 bytes"
-#: js/files.js:218
+#: js/files.js:242
msgid "Upload Error"
msgstr "Σφάλμα Αποστολής"
-#: js/files.js:235
+#: js/files.js:259
msgid "Close"
msgstr "Κλείσιμο"
-#: js/files.js:254 js/files.js:368 js/files.js:398
+#: js/files.js:278 js/files.js:397 js/files.js:431
msgid "Pending"
msgstr "ΕκκÏεμεί"
-#: js/files.js:274
+#: js/files.js:298
msgid "1 file uploading"
msgstr "1 αÏχείο ανεβαίνει"
-#: js/files.js:277 js/files.js:331 js/files.js:346
+#: js/files.js:301 js/files.js:357 js/files.js:372
msgid "{count} files uploading"
msgstr "{count} αÏχεία ανεβαίνουν"
-#: js/files.js:349 js/files.js:382
+#: js/files.js:376 js/files.js:414
msgid "Upload cancelled."
msgstr "Η αποστολή ακυÏώθηκε."
-#: js/files.js:451
+#: js/files.js:486
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
-msgstr "Η αποστολή του αÏχείου βÏίσκεται σε εξέλιξη. Έξοδος από την σελίδα τώÏα θα ακυÏώσει την αποστολή."
+msgstr "Η αποστολή του αÏχείου βÏίσκεται σε εξέλιξη. Το κλείσιμο της σελίδας θα ακυÏώσει την αποστολή."
-#: js/files.js:523
-msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud"
-msgstr "Μη έγκυÏο όνομα φακέλου. Η χÏήση του \"Shared\" είναι δεσμευμένη από το Owncloud"
+#: js/files.js:559
+msgid "URL cannot be empty."
+msgstr "Η URL δεν Ï€Ïέπει να είναι κενή."
-#: js/files.js:704
+#: js/files.js:565
+msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
+msgstr "Μη έγκυÏο όνομα φακέλου. Η χÏήση του 'ΚοινόχÏηστος' χÏησιμοποιείται από ο Owncloud"
+
+#: js/files.js:775
msgid "{count} files scanned"
msgstr "{count} αÏχεία ανιχνεÏτηκαν"
-#: js/files.js:712
+#: js/files.js:783
msgid "error while scanning"
msgstr "σφάλμα κατά την ανίχνευση"
-#: js/files.js:785 templates/index.php:65
+#: js/files.js:857 templates/index.php:64
msgid "Name"
msgstr "Όνομα"
-#: js/files.js:786 templates/index.php:76
+#: js/files.js:858 templates/index.php:75
msgid "Size"
msgstr "Μέγεθος"
-#: js/files.js:787 templates/index.php:78
+#: js/files.js:859 templates/index.php:77
msgid "Modified"
msgstr "ΤÏοποποιήθηκε"
-#: js/files.js:814
+#: js/files.js:878
msgid "1 folder"
msgstr "1 φάκελος"
-#: js/files.js:816
+#: js/files.js:880
msgid "{count} folders"
msgstr "{count} φάκελοι"
-#: js/files.js:824
+#: js/files.js:888
msgid "1 file"
msgstr "1 αÏχείο"
-#: js/files.js:826
+#: js/files.js:890
msgid "{count} files"
msgstr "{count} αÏχεία"
@@ -197,27 +244,27 @@ msgstr "ΔιαχείÏιση αÏχείων"
msgid "Maximum upload size"
msgstr "Μέγιστο μέγεθος αποστολής"
-#: templates/admin.php:9
+#: templates/admin.php:10
msgid "max. possible: "
msgstr "μέγιστο δυνατό:"
-#: templates/admin.php:12
+#: templates/admin.php:15
msgid "Needed for multi-file and folder downloads."
msgstr "ΑπαÏαίτητο για κατέβασμα πολλαπλών αÏχείων και φακέλων"
-#: templates/admin.php:14
+#: templates/admin.php:17
msgid "Enable ZIP-download"
msgstr "ΕνεÏγοποίηση κατεβάσματος ZIP"
-#: templates/admin.php:17
+#: templates/admin.php:20
msgid "0 is unlimited"
msgstr "0 για απεÏιόÏιστο"
-#: templates/admin.php:19
+#: templates/admin.php:22
msgid "Maximum input size for ZIP files"
msgstr "Μέγιστο μέγεθος για αÏχεία ZIP"
-#: templates/admin.php:23
+#: templates/admin.php:26
msgid "Save"
msgstr "Αποθήκευση"
@@ -237,36 +284,32 @@ msgstr "Φάκελος"
msgid "From link"
msgstr "Από σÏνδεσμο"
-#: templates/index.php:35
-msgid "Upload"
-msgstr "Αποστολή"
-
-#: templates/index.php:43
+#: templates/index.php:41
msgid "Cancel upload"
msgstr "ΑκÏÏωση αποστολής"
-#: templates/index.php:57
+#: templates/index.php:56
msgid "Nothing in here. Upload something!"
msgstr "Δεν υπάÏχει τίποτα εδώ. Ανέβασε κάτι!"
-#: templates/index.php:71
+#: templates/index.php:70
msgid "Download"
msgstr "Λήψη"
-#: templates/index.php:103
+#: templates/index.php:102
msgid "Upload too large"
msgstr "Î Î¿Î»Ï Î¼ÎµÎ³Î¬Î»Î¿ αÏχείο Ï€Ïος αποστολή"
-#: templates/index.php:105
+#: templates/index.php:104
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
-msgstr "Τα αÏχεία που Ï€Ïοσπαθείτε να ανεβάσετε υπεÏβαίνουν το μέγιστο μέγεθος αποστολής αÏχείων σε αυτόν το διακομιστή."
+msgstr "Τα αÏχεία που Ï€Ïοσπαθείτε να ανεβάσετε υπεÏβαίνουν το μέγιστο μέγεθος αποστολής αÏχείων σε αυτόν τον διακομιστή."
-#: templates/index.php:110
+#: templates/index.php:109
msgid "Files are being scanned, please wait."
msgstr "Τα αÏχεία σαÏώνονται, παÏακαλώ πεÏιμένετε"
-#: templates/index.php:113
+#: templates/index.php:112
msgid "Current scanning"
msgstr "ΤÏέχουσα αναζήτηση "
diff --git a/l10n/el/files_encryption.po b/l10n/el/files_encryption.po
index 6d54cf8abcf..8733b3c0019 100644
--- a/l10n/el/files_encryption.po
+++ b/l10n/el/files_encryption.po
@@ -4,32 +4,81 @@
#
# Translators:
# Efstathios Iosifidis <diamond_gr@freemail.gr>, 2012.
+# Efstathios Iosifidis <iefstathios@gmail.com>, 2013.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-08-24 02:02+0200\n"
-"PO-Revision-Date: 2012-08-23 13:34+0000\n"
-"Last-Translator: Efstathios Iosifidis <diamond_gr@freemail.gr>\n"
+"POT-Creation-Date: 2013-01-25 00:05+0100\n"
+"PO-Revision-Date: 2013-01-24 08:32+0000\n"
+"Last-Translator: Efstathios Iosifidis <iefstathios@gmail.com>\n"
"Language-Team: Greek (http://www.transifex.com/projects/p/owncloud/language/el/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: el\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr "Αλλαγή ÏƒÏ…Î½Î¸Î·Î¼Î±Ï„Î¹ÎºÎ¿Ï ÎºÏυπτογÏάφησης στο συνθηματικό εισόδου "
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr "ΠαÏακαλώ ελέγξτε το συνθηματικό σας και Ï€Ïοσπαθήστε ξανά."
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr "Αδυναμία αλλαγής ÏƒÏ…Î½Î¸Î·Î¼Î±Ï„Î¹ÎºÎ¿Ï ÎºÏυπτογÏάφησης αÏχείων στο συνθηματικό εισόδου σας"
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr "Επιλογή κατάστασης κÏυπτογÏάφησης:"
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "ΚÏυπτογÏάφηση"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "ΕξαίÏεση των παÏακάτω Ï„Ïπων αÏχείων από την κÏυπτογÏάφηση"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "Καμία"
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "ΕνεÏγοποίηση ΚÏυπτογÏάφησης"
diff --git a/l10n/el/files_versions.po b/l10n/el/files_versions.po
index a79674e946a..3812c4bda0d 100644
--- a/l10n/el/files_versions.po
+++ b/l10n/el/files_versions.po
@@ -10,9 +10,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-09-28 23:34+0200\n"
-"PO-Revision-Date: 2012-09-28 01:26+0000\n"
-"Last-Translator: Dimitris M. <monopatis@gmail.com>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -20,22 +20,10 @@ msgstr ""
"Language: el\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: js/settings-personal.js:31 templates/settings-personal.php:10
-msgid "Expire all versions"
-msgstr "Λήξη όλων των εκδόσεων"
-
#: js/versions.js:16
msgid "History"
msgstr "ΙστοÏικό"
-#: templates/settings-personal.php:4
-msgid "Versions"
-msgstr "Εκδόσεις"
-
-#: templates/settings-personal.php:7
-msgid "This will delete all existing backup versions of your files"
-msgstr "Αυτό θα διαγÏάψει όλες τις υπάÏχουσες εκδόσεις των αντιγÏάφων ασφαλείας των αÏχείων σας"
-
#: templates/settings.php:3
msgid "Files Versioning"
msgstr "Εκδόσεις ΑÏχείων"
diff --git a/l10n/el/lib.po b/l10n/el/lib.po
index c58bb7b0af6..27ef72f2eb2 100644
--- a/l10n/el/lib.po
+++ b/l10n/el/lib.po
@@ -4,13 +4,14 @@
#
# Translators:
# Efstathios Iosifidis <iosifidis@opensuse.org>, 2012.
+# <vagelis@cyberdest.com>, 2013.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-11-17 00:01+0100\n"
-"PO-Revision-Date: 2012-11-16 17:32+0000\n"
-"Last-Translator: Efstathios Iosifidis <diamond_gr@freemail.gr>\n"
+"POT-Creation-Date: 2013-01-18 00:03+0100\n"
+"PO-Revision-Date: 2013-01-17 20:39+0000\n"
+"Last-Translator: xneo1 <vagelis@cyberdest.com>\n"
"Language-Team: Greek (http://www.transifex.com/projects/p/owncloud/language/el/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,51 +19,55 @@ msgstr ""
"Language: el\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: app.php:285
+#: app.php:301
msgid "Help"
msgstr "Βοήθεια"
-#: app.php:292
+#: app.php:308
msgid "Personal"
msgstr "ΠÏοσωπικά"
-#: app.php:297
+#: app.php:313
msgid "Settings"
msgstr "Ρυθμίσεις"
-#: app.php:302
+#: app.php:318
msgid "Users"
msgstr "ΧÏήστες"
-#: app.php:309
+#: app.php:325
msgid "Apps"
msgstr "ΕφαÏμογές"
-#: app.php:311
+#: app.php:327
msgid "Admin"
msgstr "ΔιαχειÏιστής"
-#: files.php:332
+#: files.php:365
msgid "ZIP download is turned off."
msgstr "Η λήψη ZIP απενεÏγοποιήθηκε."
-#: files.php:333
+#: files.php:366
msgid "Files need to be downloaded one by one."
msgstr "Τα αÏχεία Ï€Ïέπει να ληφθοÏν ένα-ένα."
-#: files.php:333 files.php:358
+#: files.php:366 files.php:391
msgid "Back to Files"
msgstr "Πίσω στα ΑÏχεία"
-#: files.php:357
+#: files.php:390
msgid "Selected files too large to generate zip file."
msgstr "Τα επιλεγμένα αÏχεία είναι μεγάλα ώστε να δημιουÏγηθεί αÏχείο zip."
+#: helper.php:228
+msgid "couldn't be determined"
+msgstr "δεν μποÏοÏσε να Ï€ÏοσδιοÏισθεί"
+
#: json.php:28
msgid "Application is not enabled"
msgstr "Δεν ενεÏγοποιήθηκε η εφαÏμογή"
-#: json.php:39 json.php:64 json.php:77 json.php:89
+#: json.php:39 json.php:62 json.php:73
msgid "Authentication error"
msgstr "Σφάλμα πιστοποίησης"
@@ -82,55 +87,55 @@ msgstr "Κείμενο"
msgid "Images"
msgstr "Εικόνες"
-#: template.php:103
+#: template.php:113
msgid "seconds ago"
msgstr "δευτεÏόλεπτα Ï€Ïιν"
-#: template.php:104
+#: template.php:114
msgid "1 minute ago"
msgstr "1 λεπτό Ï€Ïιν"
-#: template.php:105
+#: template.php:115
#, php-format
msgid "%d minutes ago"
msgstr "%d λεπτά Ï€Ïιν"
-#: template.php:106
+#: template.php:116
msgid "1 hour ago"
msgstr "1 ÏŽÏα Ï€Ïιν"
-#: template.php:107
+#: template.php:117
#, php-format
msgid "%d hours ago"
msgstr "%d ÏŽÏες Ï€Ïιν"
-#: template.php:108
+#: template.php:118
msgid "today"
msgstr "σήμεÏα"
-#: template.php:109
+#: template.php:119
msgid "yesterday"
msgstr "χθές"
-#: template.php:110
+#: template.php:120
#, php-format
msgid "%d days ago"
msgstr "%d ημέÏες Ï€Ïιν"
-#: template.php:111
+#: template.php:121
msgid "last month"
msgstr "τον Ï€ÏοηγοÏμενο μήνα"
-#: template.php:112
+#: template.php:122
#, php-format
msgid "%d months ago"
msgstr "%d μήνες Ï€Ïιν"
-#: template.php:113
+#: template.php:123
msgid "last year"
msgstr "τον Ï€ÏοηγοÏμενο χÏόνο"
-#: template.php:114
+#: template.php:124
msgid "years ago"
msgstr "χÏόνια Ï€Ïιν"
diff --git a/l10n/el/settings.po b/l10n/el/settings.po
index 4b27d019760..f06ddb07858 100644
--- a/l10n/el/settings.po
+++ b/l10n/el/settings.po
@@ -13,14 +13,15 @@
# <petros.kyladitis@gmail.com>, 2011.
# <petros.kyladitis@gmail.com>, 2011.
# Petros Kyladitis <petros.kyladitis@gmail.com>, 2011-2012.
+# <vagelis@cyberdest.com>, 2013.
# Γιάννης Ανθυμίδης <yannanth@gmail.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-22 00:24+0100\n"
-"PO-Revision-Date: 2012-12-21 13:06+0000\n"
-"Last-Translator: Efstathios Iosifidis <diamond_gr@freemail.gr>\n"
+"POT-Creation-Date: 2013-01-18 00:03+0100\n"
+"PO-Revision-Date: 2013-01-17 20:41+0000\n"
+"Last-Translator: xneo1 <vagelis@cyberdest.com>\n"
"Language-Team: Greek (http://www.transifex.com/projects/p/owncloud/language/el/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -40,7 +41,7 @@ msgstr "Η ομάδα υπάÏχει ήδη"
msgid "Unable to add group"
msgstr "Αδυναμία Ï€Ïοσθήκης ομάδας"
-#: ajax/enableapp.php:12
+#: ajax/enableapp.php:11
msgid "Could not enable app. "
msgstr "Αδυναμία ενεÏγοποίησης εφαÏμογής "
@@ -52,14 +53,6 @@ msgstr "Το email αποθηκεÏτηκε "
msgid "Invalid email"
msgstr "Μη έγκυÏο email"
-#: ajax/openid.php:13
-msgid "OpenID Changed"
-msgstr "Το OpenID άλλαξε"
-
-#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20
-msgid "Invalid request"
-msgstr "Μη έγκυÏο αίτημα"
-
#: ajax/removegroup.php:13
msgid "Unable to delete group"
msgstr "Αδυναμία διαγÏαφής ομάδας"
@@ -76,6 +69,10 @@ msgstr "Αδυναμία διαγÏαφής χÏήστη"
msgid "Language changed"
msgstr "Η γλώσσα άλλαξε"
+#: ajax/setlanguage.php:17 ajax/setlanguage.php:20
+msgid "Invalid request"
+msgstr "Μη έγκυÏο αίτημα"
+
#: ajax/togglegroups.php:12
msgid "Admins can't remove themself from the admin group"
msgstr "Οι διαχειÏιστές δεν μποÏοÏν να αφαιÏέσουν τους εαυτοÏÏ‚ τους από την ομάδα των διαχειÏιστών"
@@ -171,7 +168,7 @@ msgstr "Λήψη ΠÏογÏάμματος Android"
msgid "Download iOS Client"
msgstr "Λήψη ΠÏογÏάμματος iOS"
-#: templates/personal.php:21 templates/users.php:23 templates/users.php:77
+#: templates/personal.php:21 templates/users.php:23 templates/users.php:82
msgid "Password"
msgstr "Συνθηματικό"
@@ -241,11 +238,11 @@ msgid ""
"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/users.php:21 templates/users.php:76
+#: templates/users.php:21 templates/users.php:81
msgid "Name"
msgstr "Όνομα"
-#: templates/users.php:26 templates/users.php:78 templates/users.php:98
+#: templates/users.php:26 templates/users.php:83 templates/users.php:103
msgid "Groups"
msgstr "Ομάδες"
@@ -254,21 +251,29 @@ msgid "Create"
msgstr "ΔημιουÏγία"
#: templates/users.php:35
-msgid "Default Quota"
-msgstr "ΠÏοεπιλεγμένο ÎŒÏιο"
+msgid "Default Storage"
+msgstr "ΠÏοκαθοÏισμένη Αποθήκευση "
-#: templates/users.php:55 templates/users.php:138
+#: templates/users.php:42 templates/users.php:138
+msgid "Unlimited"
+msgstr "ΑπεÏιόÏιστο"
+
+#: templates/users.php:60 templates/users.php:153
msgid "Other"
msgstr "Άλλα"
-#: templates/users.php:80 templates/users.php:112
+#: templates/users.php:85 templates/users.php:117
msgid "Group Admin"
msgstr "Ομάδα ΔιαχειÏιστών"
-#: templates/users.php:82
-msgid "Quota"
-msgstr "ΣÏνολο ΧώÏου"
+#: templates/users.php:87
+msgid "Storage"
+msgstr "Αποθήκευση"
+
+#: templates/users.php:133
+msgid "Default"
+msgstr "ΠÏοκαθοÏισμένο"
-#: templates/users.php:146
+#: templates/users.php:161
msgid "Delete"
msgstr "ΔιαγÏαφή"
diff --git a/l10n/el/user_ldap.po b/l10n/el/user_ldap.po
index cea052cafa1..9edcb771d61 100644
--- a/l10n/el/user_ldap.po
+++ b/l10n/el/user_ldap.po
@@ -3,15 +3,17 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# <anastasia2501@hotmail.com>, 2012.
# Dimitris M. <monopatis@gmail.com>, 2012.
# Efstathios Iosifidis <diamond_gr@freemail.gr>, 2012.
+# Konstantinos Tzanidis <tzanidis@gmail.com>, 2012.
# Marios Bekatoros <>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-15 00:11+0100\n"
-"PO-Revision-Date: 2012-12-14 23:11+0000\n"
+"POT-Creation-Date: 2013-01-16 00:19+0100\n"
+"PO-Revision-Date: 2013-01-15 23:20+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"
@@ -25,31 +27,35 @@ msgid ""
"<b>Warning:</b> Apps user_ldap and user_webdavauth are incompatible. You may"
" experience unexpected behaviour. Please ask your system administrator to "
"disable one of them."
-msgstr ""
+msgstr "<b>ΠÏοσοχή:</b> Οι εφαÏμογές user_ldap και user_webdavauth είναι ασÏμβατες. ΜποÏεί να αντιμετωπίσετε απÏόβλεπτη συμπεÏιφοÏά. ΠαÏακαλώ ζητήστε από τον διαχειÏιστή συστήματος να απενεÏγοποιήσει μία από αυτές."
#: templates/settings.php:11
msgid ""
-"<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will"
-" not work. Please ask your system administrator to install it."
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not "
+"work. Please ask your system administrator to install it."
msgstr ""
#: templates/settings.php:15
msgid "Host"
-msgstr ""
+msgstr "Διακομιστής"
#: templates/settings.php:15
msgid ""
"You can omit the protocol, except you require SSL. Then start with ldaps://"
-msgstr ""
+msgstr "ΜποÏείτε να παÏαλείψετε το Ï€Ïωτόκολλο, εκτός αν απαιτείται SSL. Σε αυτή την πεÏίπτωση ξεκινήστε με ldaps://"
#: templates/settings.php:16
msgid "Base DN"
msgstr "Base DN"
#: templates/settings.php:16
-msgid "You can specify Base DN for users and groups in the Advanced tab"
+msgid "One Base DN per line"
msgstr ""
+#: templates/settings.php:16
+msgid "You can specify Base DN for users and groups in the Advanced tab"
+msgstr "ΜποÏείτε να καθοÏίσετε το Base DN για χÏήστες και ομάδες από την καÏτέλα ΠÏοηγμένες Ïυθμίσεις"
+
#: templates/settings.php:17
msgid "User DN"
msgstr "User DN"
@@ -59,7 +65,7 @@ msgid ""
"The DN of the client user with which the bind shall be done, e.g. "
"uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password "
"empty."
-msgstr ""
+msgstr "Το DN του χÏήστη πελάτη με το οποίο θα Ï€Ïέπει να γίνει η σÏνδεση, Ï€.χ. uid=agent,dc=example,dc=com. Για χÏήση χωÏίς πιστοποίηση, αφήστε το DN και τον Κωδικό κενά."
#: templates/settings.php:18
msgid "Password"
@@ -67,7 +73,7 @@ msgstr "Συνθηματικό"
#: templates/settings.php:18
msgid "For anonymous access, leave DN and Password empty."
-msgstr ""
+msgstr "Για ανώνυμη Ï€Ïόσβαση, αφήστε κενά τα πεδία DN και Pasword."
#: templates/settings.php:19
msgid "User Login Filter"
@@ -78,12 +84,12 @@ msgstr "User Login Filter"
msgid ""
"Defines the filter to apply, when login is attempted. %%uid replaces the "
"username in the login action."
-msgstr ""
+msgstr "ΚαθοÏίζει το φίλτÏο που θα ισχÏει κατά την Ï€Ïοσπάθεια σÏνδεσης χÏήστη. %%uid αντικαθιστά το όνομα χÏήστη κατά τη σÏνδεση. "
#: templates/settings.php:19
#, php-format
msgid "use %%uid placeholder, e.g. \"uid=%%uid\""
-msgstr ""
+msgstr "χÏησιμοποιήστε τη μεταβλητή %%uid, Ï€.χ. \"uid=%%uid\""
#: templates/settings.php:20
msgid "User List Filter"
@@ -91,11 +97,11 @@ msgstr "User List Filter"
#: templates/settings.php:20
msgid "Defines the filter to apply, when retrieving users."
-msgstr ""
+msgstr "ΚαθοÏίζει το φίλτÏο που θα ισχÏει κατά την ανάκτηση επαφών."
#: templates/settings.php:20
msgid "without any placeholder, e.g. \"objectClass=person\"."
-msgstr ""
+msgstr "χωÏίς κάποια μεταβλητή, Ï€.χ. \"objectClass=άτομο\"."
#: templates/settings.php:21
msgid "Group Filter"
@@ -103,11 +109,11 @@ msgstr "Group Filter"
#: templates/settings.php:21
msgid "Defines the filter to apply, when retrieving groups."
-msgstr ""
+msgstr "ΚαθοÏίζει το φίλτÏο που θα ισχÏει κατά την ανάκτηση ομάδων."
#: templates/settings.php:21
msgid "without any placeholder, e.g. \"objectClass=posixGroup\"."
-msgstr ""
+msgstr "χωÏίς κάποια μεταβλητή, Ï€.χ. \"objectClass=ΟμάδαPosix\"."
#: templates/settings.php:24
msgid "Port"
@@ -117,10 +123,18 @@ msgstr "ΘÏÏα"
msgid "Base User Tree"
msgstr "Base User Tree"
+#: templates/settings.php:25
+msgid "One User Base DN per line"
+msgstr ""
+
#: templates/settings.php:26
msgid "Base Group Tree"
msgstr "Base Group Tree"
+#: templates/settings.php:26
+msgid "One Group Base DN per line"
+msgstr ""
+
#: templates/settings.php:27
msgid "Group-Member association"
msgstr "Group-Member association"
@@ -131,21 +145,21 @@ msgstr "ΧÏήση TLS"
#: templates/settings.php:28
msgid "Do not use it for SSL connections, it will fail."
-msgstr ""
+msgstr "Μην χÏησιμοποιείτε για συνδέσεις SSL, θα αποτÏχει."
#: templates/settings.php:29
msgid "Case insensitve LDAP server (Windows)"
-msgstr ""
+msgstr "LDAP server (Windows) με διάκÏιση πεζών-ΚΕΦΑΛΑΙΩÎ"
#: templates/settings.php:30
msgid "Turn off SSL certificate validation."
-msgstr ""
+msgstr "ΑπενεÏγοποίηση επικÏÏωσης Ï€Î¹ÏƒÏ„Î¿Ï€Î¿Î¹Î·Ï„Î¹ÎºÎ¿Ï SSL."
#: templates/settings.php:30
msgid ""
"If connection only works with this option, import the LDAP server's SSL "
"certificate in your ownCloud server."
-msgstr ""
+msgstr "Εάν η σÏνδεση δουλεÏει μόνο με αυτή την επιλογή, εισάγετε το LDAP SSL πιστοποιητικό του διακομιστή στον ownCloud server σας."
#: templates/settings.php:30
msgid "Not recommended, use for testing only."
@@ -157,7 +171,7 @@ msgstr "Πεδίο Ονόματος ΧÏήστη"
#: templates/settings.php:31
msgid "The LDAP attribute to use to generate the user`s ownCloud name."
-msgstr ""
+msgstr "Η ιδιότητα LDAP που θα χÏησιμοποιείται για τη δημιουÏγία του ονόματος χÏήστη του ownCloud."
#: templates/settings.php:32
msgid "Group Display Name Field"
@@ -165,7 +179,7 @@ msgstr "Group Display Name Field"
#: templates/settings.php:32
msgid "The LDAP attribute to use to generate the groups`s ownCloud name."
-msgstr ""
+msgstr "Η ιδιότητα LDAP που θα χÏησιμοποιείται για τη δημιουÏγία του ονόματος ομάδας του ownCloud."
#: templates/settings.php:34
msgid "in bytes"
@@ -173,13 +187,13 @@ msgstr "σε bytes"
#: templates/settings.php:36
msgid "in seconds. A change empties the cache."
-msgstr ""
+msgstr "σε δευτεÏόλεπτα. Μια αλλαγή αδειάζει την μνήμη cache."
#: templates/settings.php:37
msgid ""
"Leave empty for user name (default). Otherwise, specify an LDAP/AD "
"attribute."
-msgstr ""
+msgstr "Αφήστε το κενό για το όνομα χÏήστη (Ï€Ïοεπιλογή). ΔιαφοÏετικά, συμπληÏώστε μία ιδιότητα LDAP/AD."
#: templates/settings.php:39
msgid "Help"
diff --git a/l10n/el/user_webdavauth.po b/l10n/el/user_webdavauth.po
index cbfe15b5525..ae9fa402bf8 100644
--- a/l10n/el/user_webdavauth.po
+++ b/l10n/el/user_webdavauth.po
@@ -5,13 +5,15 @@
# Translators:
# Dimitris M. <monopatis@gmail.com>, 2012.
# Efstathios Iosifidis <diamond_gr@freemail.gr>, 2012.
+# Konstantinos Tzanidis <tzanidis@gmail.com>, 2012.
+# Marios Bekatoros <>, 2013.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-22 00:24+0100\n"
-"PO-Revision-Date: 2012-12-21 13:00+0000\n"
-"Last-Translator: Efstathios Iosifidis <diamond_gr@freemail.gr>\n"
+"POT-Creation-Date: 2013-01-16 00:19+0100\n"
+"PO-Revision-Date: 2013-01-15 08:10+0000\n"
+"Last-Translator: Marios Bekatoros <>\n"
"Language-Team: Greek (http://www.transifex.com/projects/p/owncloud/language/el/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -19,13 +21,17 @@ msgstr ""
"Language: el\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+#: templates/settings.php:3
+msgid "WebDAV Authentication"
+msgstr "Αυθεντικοποίηση μέσω WebDAV "
+
#: templates/settings.php:4
msgid "URL: http://"
msgstr "URL: http://"
#: templates/settings.php:6
msgid ""
-"ownCloud will send the user credentials to this URL is interpret http 401 "
-"and http 403 as credentials wrong and all other codes as credentials "
-"correct."
-msgstr ""
+"ownCloud will send the user credentials to this URL. 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 "Το ownCloud θα στείλει τα διαπιστευτήÏια χÏήστη σε αυτό το URL. Αυτό το plugin ελέγχει την απάντηση και την μετατÏέπει σε HTTP κωδικό κατάστασης 401 και 403 για μη έγκυÏα, όλες οι υπόλοιπες απαντήσεις είναι έγκυÏες."
diff --git a/l10n/eo/core.po b/l10n/eo/core.po
index ae8dd9eeedc..27efa5db63f 100644
--- a/l10n/eo/core.po
+++ b/l10n/eo/core.po
@@ -10,9 +10,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-20 00:11+0100\n"
-"PO-Revision-Date: 2012-12-19 07:11+0000\n"
-"Last-Translator: Mariano <mstreet@kde.org.ar>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:03+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -86,55 +86,55 @@ msgstr "Eraro dum forigo de %s el favoratoj."
msgid "Settings"
msgstr "Agordo"
-#: js/js.js:704
+#: js/js.js:711
msgid "seconds ago"
msgstr "sekundoj antaÅ­e"
-#: js/js.js:705
+#: js/js.js:712
msgid "1 minute ago"
msgstr "antaÅ­ 1 minuto"
-#: js/js.js:706
+#: js/js.js:713
msgid "{minutes} minutes ago"
msgstr "antaÅ­ {minutes} minutoj"
-#: js/js.js:707
+#: js/js.js:714
msgid "1 hour ago"
msgstr "antaÅ­ 1 horo"
-#: js/js.js:708
+#: js/js.js:715
msgid "{hours} hours ago"
msgstr "antaÅ­ {hours} horoj"
-#: js/js.js:709
+#: js/js.js:716
msgid "today"
msgstr "hodiaÅ­"
-#: js/js.js:710
+#: js/js.js:717
msgid "yesterday"
msgstr "hieraÅ­"
-#: js/js.js:711
+#: js/js.js:718
msgid "{days} days ago"
msgstr "antaÅ­ {days} tagoj"
-#: js/js.js:712
+#: js/js.js:719
msgid "last month"
msgstr "lastamonate"
-#: js/js.js:713
+#: js/js.js:720
msgid "{months} months ago"
msgstr "antaÅ­ {months} monatoj"
-#: js/js.js:714
+#: js/js.js:721
msgid "months ago"
msgstr "monatoj antaÅ­e"
-#: js/js.js:715
+#: js/js.js:722
msgid "last year"
msgstr "lastajare"
-#: js/js.js:716
+#: js/js.js:723
msgid "years ago"
msgstr "jaroj antaÅ­e"
@@ -209,8 +209,7 @@ msgstr "Kunhavigi per ligilo"
msgid "Password protect"
msgstr "Protekti per pasvorto"
-#: js/share.js:168 templates/installation.php:44 templates/login.php:26
-#: templates/verify.php:13
+#: js/share.js:168 templates/installation.php:44 templates/login.php:35
msgid "Password"
msgstr "Pasvorto"
@@ -315,7 +314,7 @@ msgid "Request failed!"
msgstr "Peto malsukcesis!"
#: lostpassword/templates/lostpassword.php:11 templates/installation.php:39
-#: templates/login.php:21
+#: templates/login.php:28
msgid "Username"
msgstr "Uzantonomo"
@@ -529,36 +528,32 @@ msgstr "TTT-servoj sub via kontrolo"
msgid "Log out"
msgstr "Elsaluti"
-#: templates/login.php:8
+#: templates/login.php:10
msgid "Automatic logon rejected!"
msgstr ""
-#: templates/login.php:9
+#: templates/login.php:11
msgid ""
"If you did not change your password recently, your account may be "
"compromised!"
msgstr "Se vi ne ÅanÄis vian pasvorton lastatempe, via konto eble kompromitas!"
-#: templates/login.php:10
+#: templates/login.php:13
msgid "Please change your password to secure your account again."
msgstr "Bonvolu ÅanÄi vian pasvorton por sekurigi vian konton ree."
-#: templates/login.php:15
+#: templates/login.php:19
msgid "Lost your password?"
msgstr "Ĉu vi perdis vian pasvorton?"
-#: templates/login.php:29
+#: templates/login.php:39
msgid "remember"
msgstr "memori"
-#: templates/login.php:30
+#: templates/login.php:41
msgid "Log in"
msgstr "Ensaluti"
-#: templates/logout.php:1
-msgid "You are logged out."
-msgstr "Vi estas elsalutita."
-
#: templates/part.pagenavi.php:3
msgid "prev"
msgstr "maljena"
@@ -567,16 +562,7 @@ msgstr "maljena"
msgid "next"
msgstr "jena"
-#: templates/verify.php:5
-msgid "Security Warning!"
-msgstr "Sekureca averto!"
-
-#: templates/verify.php:6
-msgid ""
-"Please verify your password. <br/>For security reasons you may be "
-"occasionally asked to enter your password again."
-msgstr "Bonvolu kontroli vian pasvorton. <br/>Pro sekureco, oni okaze povas peti al vi enigi vian pasvorton ree."
-
-#: templates/verify.php:16
-msgid "Verify"
-msgstr "Kontroli"
+#: templates/update.php:3
+#, php-format
+msgid "Updating ownCloud to version %s, this may take a while."
+msgstr ""
diff --git a/l10n/eo/files.po b/l10n/eo/files.po
index 98d1dba639f..25a028204e9 100644
--- a/l10n/eo/files.po
+++ b/l10n/eo/files.po
@@ -3,14 +3,15 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# Mariano <mstreet@kde.org.ar>, 2013.
# Mariano <mstreet@kde.org.ar>, 2012.
# <mstreet@kde.org.ar>, 2011, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-03 00:04+0100\n"
-"PO-Revision-Date: 2012-12-02 22:06+0000\n"
+"POT-Creation-Date: 2013-01-21 00:04+0100\n"
+"PO-Revision-Date: 2013-01-20 01:38+0000\n"
"Last-Translator: Mariano <mstreet@kde.org.ar>\n"
"Language-Team: Esperanto (http://www.transifex.com/projects/p/owncloud/language/eo/)\n"
"MIME-Version: 1.0\n"
@@ -19,46 +20,77 @@ msgstr ""
"Language: eo\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+#: ajax/delete.php:28 ajax/getstoragestats.php:11 ajax/upload.php:17
+#: ajax/upload.php:76 templates/index.php:18
+msgid "Upload"
+msgstr "AlÅuti"
+
+#: ajax/move.php:17
+#, php-format
+msgid "Could not move %s - File with this name already exists"
+msgstr "Ne eblis movi %s: dosiero kun ĉi tiu nomo jam ekzistas"
+
+#: ajax/move.php:24
+#, php-format
+msgid "Could not move %s"
+msgstr "Ne eblis movi %s"
+
+#: ajax/rename.php:19
+msgid "Unable to rename file"
+msgstr "Ne eblis alinomigi dosieron"
+
#: ajax/upload.php:20
+msgid "No file was uploaded. Unknown error"
+msgstr "Neniu dosiero alÅutiÄis. Nekonata eraro."
+
+#: ajax/upload.php:30
msgid "There is no error, the file uploaded with success"
msgstr "Ne estas eraro, la dosiero alÅutiÄis sukcese"
-#: ajax/upload.php:21
+#: ajax/upload.php:31
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr "La dosiero alÅutita superas la regulon upload_max_filesize el php.ini: "
-#: ajax/upload.php:23
+#: ajax/upload.php:33
msgid ""
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
"the HTML form"
msgstr "La dosiero alÅutita superas la regulon MAX_FILE_SIZE, kiu estas difinita en la HTML-formularo"
-#: ajax/upload.php:25
+#: ajax/upload.php:35
msgid "The uploaded file was only partially uploaded"
msgstr "La alÅutita dosiero nur parte alÅutiÄis"
-#: ajax/upload.php:26
+#: ajax/upload.php:36
msgid "No file was uploaded"
msgstr "Neniu dosiero estas alÅutita"
-#: ajax/upload.php:27
+#: ajax/upload.php:37
msgid "Missing a temporary folder"
msgstr "Mankas tempa dosierujo"
-#: ajax/upload.php:28
+#: ajax/upload.php:38
msgid "Failed to write to disk"
msgstr "Malsukcesis skribo al disko"
+#: ajax/upload.php:57
+msgid "Not enough space available"
+msgstr "Ne haveblas sufiĉa spaco"
+
+#: ajax/upload.php:91
+msgid "Invalid directory."
+msgstr "Nevalida dosierujo."
+
#: appinfo/app.php:10
msgid "Files"
msgstr "Dosieroj"
-#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84
+#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
msgid "Unshare"
msgstr "Malkunhavigi"
-#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90
+#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
msgid "Delete"
msgstr "Forigi"
@@ -66,122 +98,136 @@ msgstr "Forigi"
msgid "Rename"
msgstr "Alinomigi"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "{new_name} already exists"
msgstr "{new_name} jam ekzistas"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "replace"
msgstr "anstataÅ­igi"
-#: js/filelist.js:201
+#: js/filelist.js:205
msgid "suggest name"
msgstr "sugesti nomon"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "cancel"
msgstr "nuligi"
-#: js/filelist.js:250
+#: js/filelist.js:254
msgid "replaced {new_name}"
msgstr "anstataÅ­iÄis {new_name}"
-#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286
+#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
msgid "undo"
msgstr "malfari"
-#: js/filelist.js:252
+#: js/filelist.js:256
msgid "replaced {new_name} with {old_name}"
msgstr "anstataÅ­iÄis {new_name} per {old_name}"
-#: js/filelist.js:284
+#: js/filelist.js:288
msgid "unshared {files}"
msgstr "malkunhaviÄis {files}"
-#: js/filelist.js:286
+#: js/filelist.js:290
msgid "deleted {files}"
msgstr "foriÄis {files}"
-#: js/files.js:33
+#: js/files.js:48
+msgid "'.' is an invalid file name."
+msgstr "'.' ne estas valida dosiernomo."
+
+#: js/files.js:53
+msgid "File name cannot be empty."
+msgstr "Dosiernomo devas ne malpleni."
+
+#: js/files.js:62
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr "Nevalida nomo: “\\â€, “/â€, “<â€, “>â€, “:â€, “\"â€, “|â€, “?†kaj “*†ne permesatas."
-#: js/files.js:183
-msgid "generating ZIP-file, it may take some time."
-msgstr "generanta ZIP-dosiero, Äi povas daÅ­ri iom da tempo"
+#: js/files.js:204
+msgid ""
+"Your download is being prepared. This might take some time if the files are "
+"big."
+msgstr "Via elÅuto pretiÄatas. Ĉi tio povas daÅ­ri iom da tempo se la dosieroj grandas."
-#: js/files.js:218
+#: js/files.js:242
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr "Ne eblis alÅuti vian dosieron ĉar Äi estas dosierujo aÅ­ havas 0 duumokojn"
-#: js/files.js:218
+#: js/files.js:242
msgid "Upload Error"
msgstr "AlÅuta eraro"
-#: js/files.js:235
+#: js/files.js:259
msgid "Close"
msgstr "Fermi"
-#: js/files.js:254 js/files.js:368 js/files.js:398
+#: js/files.js:278 js/files.js:397 js/files.js:431
msgid "Pending"
msgstr "Traktotaj"
-#: js/files.js:274
+#: js/files.js:298
msgid "1 file uploading"
msgstr "1 dosiero estas alÅutata"
-#: js/files.js:277 js/files.js:331 js/files.js:346
+#: js/files.js:301 js/files.js:357 js/files.js:372
msgid "{count} files uploading"
msgstr "{count} dosieroj alÅutatas"
-#: js/files.js:349 js/files.js:382
+#: js/files.js:376 js/files.js:414
msgid "Upload cancelled."
msgstr "La alÅuto nuliÄis."
-#: js/files.js:451
+#: js/files.js:486
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr "DosieralÅuto plenumiÄas. Lasi la paÄon nun nuligus la alÅuton."
-#: js/files.js:523
-msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud"
-msgstr "Nevalida nomo de dosierujo. Uzo de “Shared†rezervitas de Owncloud"
+#: js/files.js:559
+msgid "URL cannot be empty."
+msgstr "URL ne povas esti malplena."
-#: js/files.js:704
+#: js/files.js:565
+msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
+msgstr "Nevalida dosierujnomo. Uzo de “Shared†rezervatas de Owncloud."
+
+#: js/files.js:775
msgid "{count} files scanned"
msgstr "{count} dosieroj skaniÄis"
-#: js/files.js:712
+#: js/files.js:783
msgid "error while scanning"
msgstr "eraro dum skano"
-#: js/files.js:785 templates/index.php:65
+#: js/files.js:857 templates/index.php:64
msgid "Name"
msgstr "Nomo"
-#: js/files.js:786 templates/index.php:76
+#: js/files.js:858 templates/index.php:75
msgid "Size"
msgstr "Grando"
-#: js/files.js:787 templates/index.php:78
+#: js/files.js:859 templates/index.php:77
msgid "Modified"
msgstr "Modifita"
-#: js/files.js:814
+#: js/files.js:878
msgid "1 folder"
msgstr "1 dosierujo"
-#: js/files.js:816
+#: js/files.js:880
msgid "{count} folders"
msgstr "{count} dosierujoj"
-#: js/files.js:824
+#: js/files.js:888
msgid "1 file"
msgstr "1 dosiero"
-#: js/files.js:826
+#: js/files.js:890
msgid "{count} files"
msgstr "{count} dosierujoj"
@@ -193,27 +239,27 @@ msgstr "Dosieradministro"
msgid "Maximum upload size"
msgstr "Maksimuma alÅutogrando"
-#: templates/admin.php:9
+#: templates/admin.php:10
msgid "max. possible: "
msgstr "maks. ebla: "
-#: templates/admin.php:12
+#: templates/admin.php:15
msgid "Needed for multi-file and folder downloads."
msgstr "Necesa por elÅuto de pluraj dosieroj kaj dosierujoj."
-#: templates/admin.php:14
+#: templates/admin.php:17
msgid "Enable ZIP-download"
msgstr "Kapabligi ZIP-elÅuton"
-#: templates/admin.php:17
+#: templates/admin.php:20
msgid "0 is unlimited"
msgstr "0 signifas senlime"
-#: templates/admin.php:19
+#: templates/admin.php:22
msgid "Maximum input size for ZIP files"
msgstr "Maksimuma enirgrando por ZIP-dosieroj"
-#: templates/admin.php:23
+#: templates/admin.php:26
msgid "Save"
msgstr "Konservi"
@@ -233,36 +279,32 @@ msgstr "Dosierujo"
msgid "From link"
msgstr "El ligilo"
-#: templates/index.php:35
-msgid "Upload"
-msgstr "AlÅuti"
-
-#: templates/index.php:43
+#: templates/index.php:41
msgid "Cancel upload"
msgstr "Nuligi alÅuton"
-#: templates/index.php:57
+#: templates/index.php:56
msgid "Nothing in here. Upload something!"
msgstr "Nenio estas ĉi tie. AlÅutu ion!"
-#: templates/index.php:71
+#: templates/index.php:70
msgid "Download"
msgstr "ElÅuti"
-#: templates/index.php:103
+#: templates/index.php:102
msgid "Upload too large"
msgstr "ElÅuto tro larÄa"
-#: templates/index.php:105
+#: templates/index.php:104
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:110
+#: templates/index.php:109
msgid "Files are being scanned, please wait."
msgstr "Dosieroj estas skanataj, bonvolu atendi."
-#: templates/index.php:113
+#: templates/index.php:112
msgid "Current scanning"
msgstr "Nuna skano"
diff --git a/l10n/eo/files_encryption.po b/l10n/eo/files_encryption.po
index dbcedb1a56a..ee8d61876c1 100644
--- a/l10n/eo/files_encryption.po
+++ b/l10n/eo/files_encryption.po
@@ -8,28 +8,76 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-08-16 02:04+0200\n"
-"PO-Revision-Date: 2012-08-15 19:41+0000\n"
-"Last-Translator: Mariano <mstreet@kde.org.ar>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+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"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: eo\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "Ĉifrado"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "Malinkluzivigi la jenajn dosiertipojn el ĉifrado"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "Nenio"
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "Kapabligi ĉifradon"
diff --git a/l10n/eo/files_versions.po b/l10n/eo/files_versions.po
index 64415603319..53a59b49120 100644
--- a/l10n/eo/files_versions.po
+++ b/l10n/eo/files_versions.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-10-14 02:05+0200\n"
-"PO-Revision-Date: 2012-10-13 02:50+0000\n"
-"Last-Translator: Mariano <mstreet@kde.org.ar>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:03+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,22 +18,10 @@ msgstr ""
"Language: eo\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: js/settings-personal.js:31 templates/settings-personal.php:10
-msgid "Expire all versions"
-msgstr "Eksvalidigi ĉiujn eldonojn"
-
#: js/versions.js:16
msgid "History"
msgstr "Historio"
-#: templates/settings-personal.php:4
-msgid "Versions"
-msgstr "Eldonoj"
-
-#: templates/settings-personal.php:7
-msgid "This will delete all existing backup versions of your files"
-msgstr "Ĉi tio forigos ĉiujn estantajn sekurkopiajn eldonojn de viaj dosieroj"
-
#: templates/settings.php:3
msgid "Files Versioning"
msgstr "Dosiereldonigo"
diff --git a/l10n/eo/lib.po b/l10n/eo/lib.po
index b4a219e21a2..05fd08aa22b 100644
--- a/l10n/eo/lib.po
+++ b/l10n/eo/lib.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-03 00:04+0100\n"
-"PO-Revision-Date: 2012-12-02 21:42+0000\n"
-"Last-Translator: Mariano <mstreet@kde.org.ar>\n"
+"POT-Creation-Date: 2013-01-17 00:26+0100\n"
+"PO-Revision-Date: 2013-01-16 23:26+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,51 +18,55 @@ msgstr ""
"Language: eo\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: app.php:285
+#: app.php:301
msgid "Help"
msgstr "Helpo"
-#: app.php:292
+#: app.php:308
msgid "Personal"
msgstr "Persona"
-#: app.php:297
+#: app.php:313
msgid "Settings"
msgstr "Agordo"
-#: app.php:302
+#: app.php:318
msgid "Users"
msgstr "Uzantoj"
-#: app.php:309
+#: app.php:325
msgid "Apps"
msgstr "Aplikaĵoj"
-#: app.php:311
+#: app.php:327
msgid "Admin"
msgstr "Administranto"
-#: files.php:361
+#: files.php:365
msgid "ZIP download is turned off."
msgstr "ZIP-elÅuto estas malkapabligita."
-#: files.php:362
+#: files.php:366
msgid "Files need to be downloaded one by one."
msgstr "Dosieroj devas elÅutiÄi unuope."
-#: files.php:362 files.php:387
+#: files.php:366 files.php:391
msgid "Back to Files"
msgstr "Reen al la dosieroj"
-#: files.php:386
+#: files.php:390
msgid "Selected files too large to generate zip file."
msgstr "La elektitaj dosieroj tro grandas por genero de ZIP-dosiero."
+#: helper.php:228
+msgid "couldn't be determined"
+msgstr ""
+
#: json.php:28
msgid "Application is not enabled"
msgstr "La aplikaĵo ne estas kapabligita"
-#: json.php:39 json.php:64 json.php:77 json.php:89
+#: json.php:39 json.php:62 json.php:73
msgid "Authentication error"
msgstr "AÅ­tentiga eraro"
@@ -82,55 +86,55 @@ msgstr "Teksto"
msgid "Images"
msgstr "Bildoj"
-#: template.php:103
+#: template.php:113
msgid "seconds ago"
msgstr "sekundojn antaÅ­e"
-#: template.php:104
+#: template.php:114
msgid "1 minute ago"
msgstr "antaÅ­ 1 minuto"
-#: template.php:105
+#: template.php:115
#, php-format
msgid "%d minutes ago"
msgstr "antaÅ­ %d minutoj"
-#: template.php:106
+#: template.php:116
msgid "1 hour ago"
msgstr "antaÅ­ 1 horo"
-#: template.php:107
+#: template.php:117
#, php-format
msgid "%d hours ago"
msgstr "antaÅ­ %d horoj"
-#: template.php:108
+#: template.php:118
msgid "today"
msgstr "hodiaÅ­"
-#: template.php:109
+#: template.php:119
msgid "yesterday"
msgstr "hieraÅ­"
-#: template.php:110
+#: template.php:120
#, php-format
msgid "%d days ago"
msgstr "antaÅ­ %d tagoj"
-#: template.php:111
+#: template.php:121
msgid "last month"
msgstr "lasta monato"
-#: template.php:112
+#: template.php:122
#, php-format
msgid "%d months ago"
msgstr "antaÅ­ %d monatoj"
-#: template.php:113
+#: template.php:123
msgid "last year"
msgstr "lasta jaro"
-#: template.php:114
+#: template.php:124
msgid "years ago"
msgstr "jarojn antaÅ­e"
diff --git a/l10n/eo/settings.po b/l10n/eo/settings.po
index 3a49fa3de2d..2be0270b28b 100644
--- a/l10n/eo/settings.po
+++ b/l10n/eo/settings.po
@@ -3,15 +3,16 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# Mariano <mstreet@kde.org.ar>, 2013.
# Mariano <mstreet@kde.org.ar>, 2012.
# <mstreet@kde.org.ar>, 2011, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-21 00:10+0100\n"
-"PO-Revision-Date: 2012-12-19 23:20+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-21 00:04+0100\n"
+"PO-Revision-Date: 2013-01-20 01:30+0000\n"
+"Last-Translator: Mariano <mstreet@kde.org.ar>\n"
"Language-Team: Esperanto (http://www.transifex.com/projects/p/owncloud/language/eo/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -31,7 +32,7 @@ msgstr "La grupo jam ekzistas"
msgid "Unable to add group"
msgstr "Ne eblis aldoni la grupon"
-#: ajax/enableapp.php:12
+#: ajax/enableapp.php:11
msgid "Could not enable app. "
msgstr "Ne eblis kapabligi la aplikaĵon."
@@ -43,14 +44,6 @@ msgstr "La retpoÅtadreso konserviÄis"
msgid "Invalid email"
msgstr "Nevalida retpoÅtadreso"
-#: ajax/openid.php:13
-msgid "OpenID Changed"
-msgstr "La agordo de OpenID estas ÅanÄita"
-
-#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20
-msgid "Invalid request"
-msgstr "Nevalida peto"
-
#: ajax/removegroup.php:13
msgid "Unable to delete group"
msgstr "Ne eblis forigi la grupon"
@@ -67,6 +60,10 @@ msgstr "Ne eblis forigi la uzanton"
msgid "Language changed"
msgstr "La lingvo estas ÅanÄita"
+#: ajax/setlanguage.php:17 ajax/setlanguage.php:20
+msgid "Invalid request"
+msgstr "Nevalida peto"
+
#: ajax/togglegroups.php:12
msgid "Admins can't remove themself from the admin group"
msgstr "Administrantoj ne povas forigi sin mem el la administra grupo."
@@ -119,27 +116,27 @@ msgstr "<span class=\"licence\"</span>-permesilhavigita de <span class=\"author\
#: templates/help.php:3
msgid "User Documentation"
-msgstr ""
+msgstr "Dokumentaro por uzantoj"
#: templates/help.php:4
msgid "Administrator Documentation"
-msgstr ""
+msgstr "Dokumentaro por administrantoj"
#: templates/help.php:6
msgid "Online Documentation"
-msgstr ""
+msgstr "Reta dokumentaro"
#: templates/help.php:7
msgid "Forum"
-msgstr ""
+msgstr "Forumo"
#: templates/help.php:9
msgid "Bugtracker"
-msgstr ""
+msgstr "Cimoraportejo"
#: templates/help.php:11
msgid "Commercial Support"
-msgstr ""
+msgstr "Komerca subteno"
#: templates/personal.php:8
#, php-format
@@ -152,17 +149,17 @@ msgstr "Klientoj"
#: templates/personal.php:13
msgid "Download Desktop Clients"
-msgstr ""
+msgstr "ElÅuti labortablajn klientojn"
#: templates/personal.php:14
msgid "Download Android Client"
-msgstr ""
+msgstr "ElÅuti Android-klienton"
#: templates/personal.php:15
msgid "Download iOS Client"
-msgstr ""
+msgstr "ElÅuti iOS-klienton"
-#: templates/personal.php:21 templates/users.php:23 templates/users.php:77
+#: templates/personal.php:21 templates/users.php:23 templates/users.php:82
msgid "Password"
msgstr "Pasvorto"
@@ -212,15 +209,15 @@ msgstr "Helpu traduki"
#: templates/personal.php:52
msgid "WebDAV"
-msgstr ""
+msgstr "WebDAV"
#: templates/personal.php:54
msgid "Use this address to connect to your ownCloud in your file manager"
-msgstr ""
+msgstr "Uzu ĉi tiun adreson por konekti al via ownCloud vian dosieradministrilon"
#: templates/personal.php:63
msgid "Version"
-msgstr ""
+msgstr "Eldono"
#: templates/personal.php:65
msgid ""
@@ -232,11 +229,11 @@ msgid ""
"License\">AGPL</abbr></a>."
msgstr "Ellaborita de la <a href=\"http://ownCloud.org/contact\" target=\"_blank\">komunumo de ownCloud</a>, la <a href=\"https://github.com/owncloud\" target=\"_blank\">fontokodo</a> publikas laÅ­ la permesilo <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>."
-#: templates/users.php:21 templates/users.php:76
+#: templates/users.php:21 templates/users.php:81
msgid "Name"
msgstr "Nomo"
-#: templates/users.php:26 templates/users.php:78 templates/users.php:98
+#: templates/users.php:26 templates/users.php:83 templates/users.php:103
msgid "Groups"
msgstr "Grupoj"
@@ -245,21 +242,29 @@ msgid "Create"
msgstr "Krei"
#: templates/users.php:35
-msgid "Default Quota"
-msgstr "DefaÅ­lta kvoto"
+msgid "Default Storage"
+msgstr "DefaÅ­lta konservejo"
-#: templates/users.php:55 templates/users.php:138
+#: templates/users.php:42 templates/users.php:138
+msgid "Unlimited"
+msgstr "Senlima"
+
+#: templates/users.php:60 templates/users.php:153
msgid "Other"
msgstr "Alia"
-#: templates/users.php:80 templates/users.php:112
+#: templates/users.php:85 templates/users.php:117
msgid "Group Admin"
msgstr "Grupadministranto"
-#: templates/users.php:82
-msgid "Quota"
-msgstr "Kvoto"
+#: templates/users.php:87
+msgid "Storage"
+msgstr "Konservejo"
+
+#: templates/users.php:133
+msgid "Default"
+msgstr "DefaÅ­lta"
-#: templates/users.php:146
+#: templates/users.php:161
msgid "Delete"
msgstr "Forigi"
diff --git a/l10n/eo/user_ldap.po b/l10n/eo/user_ldap.po
index 419be520bc0..39f84ca0391 100644
--- a/l10n/eo/user_ldap.po
+++ b/l10n/eo/user_ldap.po
@@ -3,14 +3,15 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# Mariano <mstreet@kde.org.ar>, 2013.
# Mariano <mstreet@kde.org.ar>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-15 00:11+0100\n"
-"PO-Revision-Date: 2012-12-14 23:11+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-21 00:04+0100\n"
+"PO-Revision-Date: 2013-01-20 01:34+0000\n"
+"Last-Translator: Mariano <mstreet@kde.org.ar>\n"
"Language-Team: Esperanto (http://www.transifex.com/projects/p/owncloud/language/eo/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -27,8 +28,8 @@ msgstr ""
#: templates/settings.php:11
msgid ""
-"<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will"
-" not work. Please ask your system administrator to install it."
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not "
+"work. Please ask your system administrator to install it."
msgstr ""
#: templates/settings.php:15
@@ -42,7 +43,11 @@ msgstr "Vi povas neglekti la protokolon, escepte se vi bezonas SSL-on. Tiuokaze,
#: templates/settings.php:16
msgid "Base DN"
-msgstr "Baz-DN"
+msgstr "Bazo-DN"
+
+#: templates/settings.php:16
+msgid "One Base DN per line"
+msgstr ""
#: templates/settings.php:16
msgid "You can specify Base DN for users and groups in the Advanced tab"
@@ -115,10 +120,18 @@ msgstr "Pordo"
msgid "Base User Tree"
msgstr "Baza uzantarbo"
+#: templates/settings.php:25
+msgid "One User Base DN per line"
+msgstr ""
+
#: templates/settings.php:26
msgid "Base Group Tree"
msgstr "Baza gruparbo"
+#: templates/settings.php:26
+msgid "One Group Base DN per line"
+msgstr ""
+
#: templates/settings.php:27
msgid "Group-Member association"
msgstr "Asocio de grupo kaj membro"
diff --git a/l10n/eo/user_webdavauth.po b/l10n/eo/user_webdavauth.po
index d3ca981d96d..d9f66ba5177 100644
--- a/l10n/eo/user_webdavauth.po
+++ b/l10n/eo/user_webdavauth.po
@@ -3,14 +3,15 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# Mariano <mstreet@kde.org.ar>, 2013.
# Mariano <mstreet@kde.org.ar>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-20 00:11+0100\n"
-"PO-Revision-Date: 2012-12-19 23:12+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-21 00:04+0100\n"
+"PO-Revision-Date: 2013-01-20 01:16+0000\n"
+"Last-Translator: Mariano <mstreet@kde.org.ar>\n"
"Language-Team: Esperanto (http://www.transifex.com/projects/p/owncloud/language/eo/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,13 +19,17 @@ msgstr ""
"Language: eo\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+#: templates/settings.php:3
+msgid "WebDAV Authentication"
+msgstr "WebDAV-aÅ­tentigo"
+
#: templates/settings.php:4
msgid "URL: http://"
-msgstr ""
+msgstr "URL: http://"
#: templates/settings.php:6
msgid ""
-"ownCloud will send the user credentials to this URL is interpret http 401 "
-"and http 403 as credentials wrong and all other codes as credentials "
-"correct."
+"ownCloud will send the user credentials to this URL. 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 ""
diff --git a/l10n/es/core.po b/l10n/es/core.po
index 3aebf45effa..099b2839a0f 100644
--- a/l10n/es/core.po
+++ b/l10n/es/core.po
@@ -5,7 +5,7 @@
# Translators:
# <javierkaiser@gmail.com>, 2012.
# Javier Llorente <javier@opensuse.org>, 2012.
-# <juanma@kde.org.ar>, 2011-2012.
+# <juanma@kde.org.ar>, 2011-2013.
# <malmirk@gmail.com>, 2012.
# oSiNaReF <>, 2012.
# Raul Fernandez Garcia <raulfg3@gmail.com>, 2012.
@@ -18,9 +18,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-15 00:11+0100\n"
-"PO-Revision-Date: 2012-12-14 11:51+0000\n"
-"Last-Translator: malmirk <malmirk@gmail.com>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:03+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -94,55 +94,55 @@ msgstr "Error eliminando %s de los favoritos."
msgid "Settings"
msgstr "Ajustes"
-#: js/js.js:704
+#: js/js.js:711
msgid "seconds ago"
msgstr "hace segundos"
-#: js/js.js:705
+#: js/js.js:712
msgid "1 minute ago"
msgstr "hace 1 minuto"
-#: js/js.js:706
+#: js/js.js:713
msgid "{minutes} minutes ago"
msgstr "hace {minutes} minutos"
-#: js/js.js:707
+#: js/js.js:714
msgid "1 hour ago"
msgstr "Hace 1 hora"
-#: js/js.js:708
+#: js/js.js:715
msgid "{hours} hours ago"
msgstr "Hace {hours} horas"
-#: js/js.js:709
+#: js/js.js:716
msgid "today"
msgstr "hoy"
-#: js/js.js:710
+#: js/js.js:717
msgid "yesterday"
msgstr "ayer"
-#: js/js.js:711
+#: js/js.js:718
msgid "{days} days ago"
msgstr "hace {days} días"
-#: js/js.js:712
+#: js/js.js:719
msgid "last month"
msgstr "mes pasado"
-#: js/js.js:713
+#: js/js.js:720
msgid "{months} months ago"
msgstr "Hace {months} meses"
-#: js/js.js:714
+#: js/js.js:721
msgid "months ago"
msgstr "hace meses"
-#: js/js.js:715
+#: js/js.js:722
msgid "last year"
msgstr "año pasado"
-#: js/js.js:716
+#: js/js.js:723
msgid "years ago"
msgstr "hace años"
@@ -172,8 +172,8 @@ msgid "The object type is not specified."
msgstr "El tipo de objeto no se ha especificado."
#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136
-#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:541
-#: js/share.js:553
+#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:554
+#: js/share.js:566
msgid "Error"
msgstr "Fallo"
@@ -185,7 +185,7 @@ msgstr "El nombre de la app no se ha especificado."
msgid "The required file {file} is not installed!"
msgstr "El fichero {file} requerido, no está instalado."
-#: js/share.js:124 js/share.js:581
+#: js/share.js:124 js/share.js:594
msgid "Error while sharing"
msgstr "Error compartiendo"
@@ -213,12 +213,11 @@ msgstr "Compartir con"
msgid "Share with link"
msgstr "Compartir con enlace"
-#: js/share.js:164
+#: js/share.js:166
msgid "Password protect"
msgstr "Protegido por contraseña"
-#: js/share.js:168 templates/installation.php:44 templates/login.php:26
-#: templates/verify.php:13
+#: js/share.js:168 templates/installation.php:44 templates/login.php:35
msgid "Password"
msgstr "Contraseña"
@@ -282,23 +281,23 @@ msgstr "eliminar"
msgid "share"
msgstr "compartir"
-#: js/share.js:353 js/share.js:528 js/share.js:530
+#: js/share.js:356 js/share.js:541
msgid "Password protected"
msgstr "Protegido por contraseña"
-#: js/share.js:541
+#: js/share.js:554
msgid "Error unsetting expiration date"
msgstr "Error al eliminar la fecha de caducidad"
-#: js/share.js:553
+#: js/share.js:566
msgid "Error setting expiration date"
msgstr "Error estableciendo fecha de caducidad"
-#: js/share.js:568
+#: js/share.js:581
msgid "Sending ..."
msgstr "Enviando..."
-#: js/share.js:579
+#: js/share.js:592
msgid "Email sent"
msgstr "Correo electrónico enviado"
@@ -323,7 +322,7 @@ msgid "Request failed!"
msgstr "Pedido fallado!"
#: lostpassword/templates/lostpassword.php:11 templates/installation.php:39
-#: templates/login.php:21
+#: templates/login.php:28
msgid "Username"
msgstr "Nombre de usuario"
@@ -537,36 +536,32 @@ msgstr "servicios web bajo tu control"
msgid "Log out"
msgstr "Salir"
-#: templates/login.php:8
+#: templates/login.php:10
msgid "Automatic logon rejected!"
msgstr "¡Inicio de sesión automático rechazado!"
-#: templates/login.php:9
+#: templates/login.php:11
msgid ""
"If you did not change your password recently, your account may be "
"compromised!"
msgstr "Si usted no ha cambiado su contraseña recientemente, ¡puede que su cuenta esté comprometida!"
-#: templates/login.php:10
+#: templates/login.php:13
msgid "Please change your password to secure your account again."
msgstr "Por favor cambie su contraseña para asegurar su cuenta nuevamente."
-#: templates/login.php:15
+#: templates/login.php:19
msgid "Lost your password?"
msgstr "¿Has perdido tu contraseña?"
-#: templates/login.php:29
+#: templates/login.php:39
msgid "remember"
msgstr "recuérdame"
-#: templates/login.php:30
+#: templates/login.php:41
msgid "Log in"
msgstr "Entrar"
-#: templates/logout.php:1
-msgid "You are logged out."
-msgstr "Has cerrado la sesión."
-
#: templates/part.pagenavi.php:3
msgid "prev"
msgstr "anterior"
@@ -575,16 +570,7 @@ msgstr "anterior"
msgid "next"
msgstr "siguiente"
-#: templates/verify.php:5
-msgid "Security Warning!"
-msgstr "¡Advertencia de seguridad!"
-
-#: templates/verify.php:6
-msgid ""
-"Please verify your password. <br/>For security reasons you may be "
-"occasionally asked to enter your password again."
-msgstr "Por favor verifique su contraseña. <br/>Por razones de seguridad se le puede volver a preguntar ocasionalmente la contraseña."
-
-#: templates/verify.php:16
-msgid "Verify"
-msgstr "Verificar"
+#: templates/update.php:3
+#, php-format
+msgid "Updating ownCloud to version %s, this may take a while."
+msgstr "Actualizando ownCloud a la versión %s, esto puede demorar un tiempo."
diff --git a/l10n/es/files.po b/l10n/es/files.po
index 8925d2d93df..e8258968172 100644
--- a/l10n/es/files.po
+++ b/l10n/es/files.po
@@ -4,9 +4,11 @@
#
# Translators:
# Agustin Ferrario <>, 2012.
+# Agustin Ferrario <agustin.ferrario@hotmail.com.ar>, 2013.
# <devianpctek@gmail.com>, 2012.
# Javier Llorente <javier@opensuse.org>, 2012.
-# <juanma@kde.org.ar>, 2012.
+# <juanma@kde.org.ar>, 2012-2013.
+# <karvayoEdgar@gmail.com>, 2013.
# Rubén Trujillo <rubentrf@gmail.com>, 2012.
# <sergioballesterossolanas@gmail.com>, 2011-2012.
# <sergio@entrecables.com>, 2012.
@@ -14,9 +16,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-02 00:02+0100\n"
-"PO-Revision-Date: 2012-12-01 20:49+0000\n"
-"Last-Translator: xsergiolpx <sergioballesterossolanas@gmail.com>\n"
+"POT-Creation-Date: 2013-01-21 00:04+0100\n"
+"PO-Revision-Date: 2013-01-20 02:53+0000\n"
+"Last-Translator: Agustin Ferrario <agustin.ferrario@hotmail.com.ar>\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,46 +26,77 @@ msgstr ""
"Language: es\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+#: ajax/delete.php:28 ajax/getstoragestats.php:11 ajax/upload.php:17
+#: ajax/upload.php:76 templates/index.php:18
+msgid "Upload"
+msgstr "Subir"
+
+#: ajax/move.php:17
+#, php-format
+msgid "Could not move %s - File with this name already exists"
+msgstr "No se puede mover %s - Ya existe un archivo con ese nombre"
+
+#: ajax/move.php:24
+#, php-format
+msgid "Could not move %s"
+msgstr "No se puede mover %s"
+
+#: ajax/rename.php:19
+msgid "Unable to rename file"
+msgstr "No se puede renombrar el archivo"
+
#: ajax/upload.php:20
+msgid "No file was uploaded. Unknown error"
+msgstr "Fallo no se subió el fichero"
+
+#: ajax/upload.php:30
msgid "There is no error, the file uploaded with success"
msgstr "No se ha producido ningún error, el archivo se ha subido con éxito"
-#: ajax/upload.php:21
+#: ajax/upload.php:31
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr "El archivo que intentas subir sobrepasa el tamaño definido por la variable upload_max_filesize en php.ini"
-#: ajax/upload.php:23
+#: ajax/upload.php:33
msgid ""
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
"the HTML form"
msgstr "El archivo que intentas subir sobrepasa el tamaño definido por la variable MAX_FILE_SIZE especificada en el formulario HTML"
-#: ajax/upload.php:25
+#: ajax/upload.php:35
msgid "The uploaded file was only partially uploaded"
msgstr "El archivo que intentas subir solo se subió parcialmente"
-#: ajax/upload.php:26
+#: ajax/upload.php:36
msgid "No file was uploaded"
msgstr "No se ha subido ningún archivo"
-#: ajax/upload.php:27
+#: ajax/upload.php:37
msgid "Missing a temporary folder"
msgstr "Falta un directorio temporal"
-#: ajax/upload.php:28
+#: ajax/upload.php:38
msgid "Failed to write to disk"
msgstr "La escritura en disco ha fallado"
+#: ajax/upload.php:57
+msgid "Not enough space available"
+msgstr "No hay suficiente espacio disponible"
+
+#: ajax/upload.php:91
+msgid "Invalid directory."
+msgstr "Directorio invalido."
+
#: appinfo/app.php:10
msgid "Files"
msgstr "Archivos"
-#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84
+#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
msgid "Unshare"
msgstr "Dejar de compartir"
-#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90
+#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
msgid "Delete"
msgstr "Eliminar"
@@ -71,122 +104,136 @@ msgstr "Eliminar"
msgid "Rename"
msgstr "Renombrar"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "{new_name} already exists"
msgstr "{new_name} ya existe"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "replace"
msgstr "reemplazar"
-#: js/filelist.js:201
+#: js/filelist.js:205
msgid "suggest name"
msgstr "sugerir nombre"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "cancel"
msgstr "cancelar"
-#: js/filelist.js:250
+#: js/filelist.js:254
msgid "replaced {new_name}"
msgstr "reemplazado {new_name}"
-#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286
+#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
msgid "undo"
msgstr "deshacer"
-#: js/filelist.js:252
+#: js/filelist.js:256
msgid "replaced {new_name} with {old_name}"
msgstr "reemplazado {new_name} con {old_name}"
-#: js/filelist.js:284
+#: js/filelist.js:288
msgid "unshared {files}"
msgstr "{files} descompartidos"
-#: js/filelist.js:286
+#: js/filelist.js:290
msgid "deleted {files}"
msgstr "{files} eliminados"
-#: js/files.js:33
+#: js/files.js:48
+msgid "'.' is an invalid file name."
+msgstr "'.' es un nombre de archivo inválido."
+
+#: js/files.js:53
+msgid "File name cannot be empty."
+msgstr "El nombre de archivo no puede estar vacío."
+
+#: js/files.js:62
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr "Nombre Invalido, \"\\\", \"/\", \"<\", \">\", \":\", \"\", \"|\" \"?\" y \"*\" no están permitidos "
-#: js/files.js:183
-msgid "generating ZIP-file, it may take some time."
-msgstr "generando un fichero ZIP, puede llevar un tiempo."
+#: js/files.js:204
+msgid ""
+"Your download is being prepared. This might take some time if the files are "
+"big."
+msgstr "Tu descarga esta siendo preparada. Esto puede tardar algun tiempo si los archivos son muy grandes."
-#: js/files.js:218
+#: js/files.js:242
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr "No ha sido posible subir tu archivo porque es un directorio o tiene 0 bytes"
-#: js/files.js:218
+#: js/files.js:242
msgid "Upload Error"
msgstr "Error al subir el archivo"
-#: js/files.js:235
+#: js/files.js:259
msgid "Close"
msgstr "cerrrar"
-#: js/files.js:254 js/files.js:368 js/files.js:398
+#: js/files.js:278 js/files.js:397 js/files.js:431
msgid "Pending"
msgstr "Pendiente"
-#: js/files.js:274
+#: js/files.js:298
msgid "1 file uploading"
msgstr "subiendo 1 archivo"
-#: js/files.js:277 js/files.js:331 js/files.js:346
+#: js/files.js:301 js/files.js:357 js/files.js:372
msgid "{count} files uploading"
msgstr "Subiendo {count} archivos"
-#: js/files.js:349 js/files.js:382
+#: js/files.js:376 js/files.js:414
msgid "Upload cancelled."
msgstr "Subida cancelada."
-#: js/files.js:451
+#: js/files.js:486
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr "La subida del archivo está en proceso. Salir de la página ahora cancelará la subida."
-#: js/files.js:523
-msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud"
-msgstr "Nombre de la carpeta invalido. El uso de \"Shared\" esta reservado para Owncloud"
+#: js/files.js:559
+msgid "URL cannot be empty."
+msgstr "La URL no puede estar vacía."
-#: js/files.js:704
+#: js/files.js:565
+msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
+msgstr "Nombre de carpeta invalido. El uso de \"Shared\" esta reservado para Owncloud"
+
+#: js/files.js:775
msgid "{count} files scanned"
msgstr "{count} archivos escaneados"
-#: js/files.js:712
+#: js/files.js:783
msgid "error while scanning"
msgstr "error escaneando"
-#: js/files.js:785 templates/index.php:65
+#: js/files.js:857 templates/index.php:64
msgid "Name"
msgstr "Nombre"
-#: js/files.js:786 templates/index.php:76
+#: js/files.js:858 templates/index.php:75
msgid "Size"
msgstr "Tamaño"
-#: js/files.js:787 templates/index.php:78
+#: js/files.js:859 templates/index.php:77
msgid "Modified"
msgstr "Modificado"
-#: js/files.js:814
+#: js/files.js:878
msgid "1 folder"
msgstr "1 carpeta"
-#: js/files.js:816
+#: js/files.js:880
msgid "{count} folders"
msgstr "{count} carpetas"
-#: js/files.js:824
+#: js/files.js:888
msgid "1 file"
msgstr "1 archivo"
-#: js/files.js:826
+#: js/files.js:890
msgid "{count} files"
msgstr "{count} archivos"
@@ -198,27 +245,27 @@ msgstr "Tratamiento de archivos"
msgid "Maximum upload size"
msgstr "Tamaño máximo de subida"
-#: templates/admin.php:9
+#: templates/admin.php:10
msgid "max. possible: "
msgstr "máx. posible:"
-#: templates/admin.php:12
+#: templates/admin.php:15
msgid "Needed for multi-file and folder downloads."
msgstr "Se necesita para descargas multi-archivo y de carpetas"
-#: templates/admin.php:14
+#: templates/admin.php:17
msgid "Enable ZIP-download"
msgstr "Habilitar descarga en ZIP"
-#: templates/admin.php:17
+#: templates/admin.php:20
msgid "0 is unlimited"
msgstr "0 es ilimitado"
-#: templates/admin.php:19
+#: templates/admin.php:22
msgid "Maximum input size for ZIP files"
msgstr "Tamaño máximo para archivos ZIP de entrada"
-#: templates/admin.php:23
+#: templates/admin.php:26
msgid "Save"
msgstr "Guardar"
@@ -238,36 +285,32 @@ msgstr "Carpeta"
msgid "From link"
msgstr "Desde el enlace"
-#: templates/index.php:35
-msgid "Upload"
-msgstr "Subir"
-
-#: templates/index.php:43
+#: templates/index.php:41
msgid "Cancel upload"
msgstr "Cancelar subida"
-#: templates/index.php:57
+#: templates/index.php:56
msgid "Nothing in here. Upload something!"
msgstr "Aquí no hay nada. ¡Sube algo!"
-#: templates/index.php:71
+#: templates/index.php:70
msgid "Download"
msgstr "Descargar"
-#: templates/index.php:103
+#: templates/index.php:102
msgid "Upload too large"
msgstr "El archivo es demasiado grande"
-#: templates/index.php:105
+#: templates/index.php:104
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 por este servidor."
-#: templates/index.php:110
+#: templates/index.php:109
msgid "Files are being scanned, please wait."
msgstr "Se están escaneando los archivos, por favor espere."
-#: templates/index.php:113
+#: templates/index.php:112
msgid "Current scanning"
msgstr "Ahora escaneando"
diff --git a/l10n/es/files_encryption.po b/l10n/es/files_encryption.po
index 9b75acf31d7..c58884a970d 100644
--- a/l10n/es/files_encryption.po
+++ b/l10n/es/files_encryption.po
@@ -8,28 +8,76 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-08-28 02:01+0200\n"
-"PO-Revision-Date: 2012-08-27 05:27+0000\n"
-"Last-Translator: juanman <juanma@kde.org.ar>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+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"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: es\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "Cifrado"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "Excluir del cifrado los siguientes tipos de archivo"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "Ninguno"
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "Habilitar cifrado"
diff --git a/l10n/es/files_versions.po b/l10n/es/files_versions.po
index b928098bf8c..41ca2e67dad 100644
--- a/l10n/es/files_versions.po
+++ b/l10n/es/files_versions.po
@@ -11,9 +11,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-09-26 13:19+0200\n"
-"PO-Revision-Date: 2012-09-26 05:59+0000\n"
-"Last-Translator: scambra <sergio@entrecables.com>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -21,22 +21,10 @@ msgstr ""
"Language: es\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: js/settings-personal.js:31 templates/settings-personal.php:10
-msgid "Expire all versions"
-msgstr "Expirar todas las versiones"
-
#: js/versions.js:16
msgid "History"
msgstr "Historial"
-#: templates/settings-personal.php:4
-msgid "Versions"
-msgstr "Versiones"
-
-#: templates/settings-personal.php:7
-msgid "This will delete all existing backup versions of your files"
-msgstr "Esto eliminará todas las versiones guardadas como copia de seguridad de tus archivos"
-
#: templates/settings.php:3
msgid "Files Versioning"
msgstr "Versionado de archivos"
diff --git a/l10n/es/lib.po b/l10n/es/lib.po
index 179b6bff7d6..38c6ee28554 100644
--- a/l10n/es/lib.po
+++ b/l10n/es/lib.po
@@ -3,6 +3,7 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# Agustin Ferrario <agustin.ferrario@hotmail.com.ar>, 2013.
# <juanma@kde.org.ar>, 2012.
# Raul Fernandez Garcia <raulfg3@gmail.com>, 2012.
# Rubén Trujillo <rubentrf@gmail.com>, 2012.
@@ -11,9 +12,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-11-18 00:01+0100\n"
-"PO-Revision-Date: 2012-11-17 08:43+0000\n"
-"Last-Translator: Raul Fernandez Garcia <raulfg3@gmail.com>\n"
+"POT-Creation-Date: 2013-01-21 00:04+0100\n"
+"PO-Revision-Date: 2013-01-20 02:14+0000\n"
+"Last-Translator: Agustin Ferrario <agustin.ferrario@hotmail.com.ar>\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"
@@ -21,51 +22,55 @@ msgstr ""
"Language: es\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: app.php:285
+#: app.php:301
msgid "Help"
msgstr "Ayuda"
-#: app.php:292
+#: app.php:308
msgid "Personal"
msgstr "Personal"
-#: app.php:297
+#: app.php:313
msgid "Settings"
msgstr "Ajustes"
-#: app.php:302
+#: app.php:318
msgid "Users"
msgstr "Usuarios"
-#: app.php:309
+#: app.php:325
msgid "Apps"
msgstr "Aplicaciones"
-#: app.php:311
+#: app.php:327
msgid "Admin"
msgstr "Administración"
-#: files.php:332
+#: files.php:365
msgid "ZIP download is turned off."
msgstr "La descarga en ZIP está desactivada."
-#: files.php:333
+#: files.php:366
msgid "Files need to be downloaded one by one."
msgstr "Los archivos deben ser descargados uno por uno."
-#: files.php:333 files.php:358
+#: files.php:366 files.php:391
msgid "Back to Files"
msgstr "Volver a Archivos"
-#: files.php:357
+#: files.php:390
msgid "Selected files too large to generate zip file."
msgstr "Los archivos seleccionados son demasiado grandes para generar el archivo zip."
+#: helper.php:229
+msgid "couldn't be determined"
+msgstr "no pudo ser determinado"
+
#: json.php:28
msgid "Application is not enabled"
msgstr "La aplicación no está habilitada"
-#: json.php:39 json.php:64 json.php:77 json.php:89
+#: json.php:39 json.php:62 json.php:73
msgid "Authentication error"
msgstr "Error de autenticación"
@@ -85,55 +90,55 @@ msgstr "Texto"
msgid "Images"
msgstr "Imágenes"
-#: template.php:103
+#: template.php:113
msgid "seconds ago"
msgstr "hace segundos"
-#: template.php:104
+#: template.php:114
msgid "1 minute ago"
msgstr "hace 1 minuto"
-#: template.php:105
+#: template.php:115
#, php-format
msgid "%d minutes ago"
msgstr "hace %d minutos"
-#: template.php:106
+#: template.php:116
msgid "1 hour ago"
msgstr "Hace 1 hora"
-#: template.php:107
+#: template.php:117
#, php-format
msgid "%d hours ago"
msgstr "Hace %d horas"
-#: template.php:108
+#: template.php:118
msgid "today"
msgstr "hoy"
-#: template.php:109
+#: template.php:119
msgid "yesterday"
msgstr "ayer"
-#: template.php:110
+#: template.php:120
#, php-format
msgid "%d days ago"
msgstr "hace %d días"
-#: template.php:111
+#: template.php:121
msgid "last month"
msgstr "este mes"
-#: template.php:112
+#: template.php:122
#, php-format
msgid "%d months ago"
msgstr "Hace %d meses"
-#: template.php:113
+#: template.php:123
msgid "last year"
msgstr "este año"
-#: template.php:114
+#: template.php:124
msgid "years ago"
msgstr "hace años"
diff --git a/l10n/es/settings.po b/l10n/es/settings.po
index edd67031275..d39042253ff 100644
--- a/l10n/es/settings.po
+++ b/l10n/es/settings.po
@@ -9,6 +9,7 @@
# <juanma@kde.org.ar>, 2011-2012.
# <monty_2731@hotmail.com>, 2011.
# oSiNaReF <>, 2012.
+# <pggx999@gmail.com>, 2012.
# Raul Fernandez Garcia <raulfg3@gmail.com>, 2012.
# <rodrigo.calvo@gmail.com>, 2012.
# <rom1dep@gmail.com>, 2011.
@@ -18,8 +19,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-21 00:10+0100\n"
-"PO-Revision-Date: 2012-12-19 23:20+0000\n"
+"POT-Creation-Date: 2013-01-12 00:09+0100\n"
+"PO-Revision-Date: 2013-01-11 23:09+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"
@@ -40,7 +41,7 @@ msgstr "El grupo ya existe"
msgid "Unable to add group"
msgstr "No se pudo añadir el grupo"
-#: ajax/enableapp.php:12
+#: ajax/enableapp.php:11
msgid "Could not enable app. "
msgstr "No puedo habilitar la app."
@@ -52,14 +53,6 @@ msgstr "Correo guardado"
msgid "Invalid email"
msgstr "Correo no válido"
-#: ajax/openid.php:13
-msgid "OpenID Changed"
-msgstr "OpenID cambiado"
-
-#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20
-msgid "Invalid request"
-msgstr "Solicitud no válida"
-
#: ajax/removegroup.php:13
msgid "Unable to delete group"
msgstr "No se pudo eliminar el grupo"
@@ -76,6 +69,10 @@ msgstr "No se pudo eliminar el usuario"
msgid "Language changed"
msgstr "Idioma cambiado"
+#: ajax/setlanguage.php:17 ajax/setlanguage.php:20
+msgid "Invalid request"
+msgstr "Solicitud no válida"
+
#: ajax/togglegroups.php:12
msgid "Admins can't remove themself from the admin group"
msgstr "Los administradores no se pueden eliminar a ellos mismos del grupo de administrador"
@@ -128,27 +125,27 @@ msgstr "<span class=\"licence\"></span>-licenciado por <span class=\"author\"></
#: templates/help.php:3
msgid "User Documentation"
-msgstr ""
+msgstr "Documentación del usuario"
#: templates/help.php:4
msgid "Administrator Documentation"
-msgstr ""
+msgstr "Documentación del adminsitrador"
#: templates/help.php:6
msgid "Online Documentation"
-msgstr ""
+msgstr "Documentación en linea"
#: templates/help.php:7
msgid "Forum"
-msgstr ""
+msgstr "Foro"
#: templates/help.php:9
msgid "Bugtracker"
-msgstr ""
+msgstr "Rastreador de Bugs"
#: templates/help.php:11
msgid "Commercial Support"
-msgstr ""
+msgstr "Soporte Comercial"
#: templates/personal.php:8
#, php-format
@@ -161,17 +158,17 @@ msgstr "Clientes"
#: templates/personal.php:13
msgid "Download Desktop Clients"
-msgstr ""
+msgstr "Descargar clientes de escritorio"
#: templates/personal.php:14
msgid "Download Android Client"
-msgstr ""
+msgstr "Descargar cliente para android"
#: templates/personal.php:15
msgid "Download iOS Client"
-msgstr ""
+msgstr "Descargar cliente para iOS"
-#: templates/personal.php:21 templates/users.php:23 templates/users.php:77
+#: templates/personal.php:21 templates/users.php:23 templates/users.php:82
msgid "Password"
msgstr "Contraseña"
@@ -221,15 +218,15 @@ msgstr "Ayúdanos a traducir"
#: templates/personal.php:52
msgid "WebDAV"
-msgstr ""
+msgstr "WebDAV"
#: templates/personal.php:54
msgid "Use this address to connect to your ownCloud in your file manager"
-msgstr ""
+msgstr "Use esta dirección para conectarse a su cuenta de ownCloud en el administrador de archivos"
#: templates/personal.php:63
msgid "Version"
-msgstr ""
+msgstr "Version"
#: templates/personal.php:65
msgid ""
@@ -241,11 +238,11 @@ msgid ""
"License\">AGPL</abbr></a>."
msgstr "Desarrollado por la <a href=\"http://ownCloud.org/contact\" target=\"_blank\">comunidad ownCloud</a>, el <a href=\"https://github.com/owncloud\" target=\"_blank\">código fuente</a> está bajo licencia <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>."
-#: templates/users.php:21 templates/users.php:76
+#: templates/users.php:21 templates/users.php:81
msgid "Name"
msgstr "Nombre"
-#: templates/users.php:26 templates/users.php:78 templates/users.php:98
+#: templates/users.php:26 templates/users.php:83 templates/users.php:103
msgid "Groups"
msgstr "Grupos"
@@ -254,21 +251,29 @@ msgid "Create"
msgstr "Crear"
#: templates/users.php:35
-msgid "Default Quota"
-msgstr "Cuota predeterminada"
+msgid "Default Storage"
+msgstr "Almacenamiento Predeterminado"
-#: templates/users.php:55 templates/users.php:138
+#: templates/users.php:42 templates/users.php:138
+msgid "Unlimited"
+msgstr "Ilimitado"
+
+#: templates/users.php:60 templates/users.php:153
msgid "Other"
msgstr "Otro"
-#: templates/users.php:80 templates/users.php:112
+#: templates/users.php:85 templates/users.php:117
msgid "Group Admin"
msgstr "Grupo admin"
-#: templates/users.php:82
-msgid "Quota"
-msgstr "Cuota"
+#: templates/users.php:87
+msgid "Storage"
+msgstr "Alamacenamiento"
+
+#: templates/users.php:133
+msgid "Default"
+msgstr "Predeterminado"
-#: templates/users.php:146
+#: templates/users.php:161
msgid "Delete"
msgstr "Eliminar"
diff --git a/l10n/es/user_ldap.po b/l10n/es/user_ldap.po
index 32c72e60755..8a1cee622dd 100644
--- a/l10n/es/user_ldap.po
+++ b/l10n/es/user_ldap.po
@@ -13,9 +13,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-19 00:03+0100\n"
-"PO-Revision-Date: 2012-12-18 00:58+0000\n"
-"Last-Translator: valarauco <manudeloz86@gmail.com>\n"
+"POT-Creation-Date: 2013-01-16 00:19+0100\n"
+"PO-Revision-Date: 2013-01-15 23:20+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -32,9 +32,9 @@ msgstr "<b>Advertencia:</b> Los Apps user_ldap y user_webdavauth son incompatibl
#: templates/settings.php:11
msgid ""
-"<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will"
-" not work. Please ask your system administrator to install it."
-msgstr "<b>Advertencia:</b> El módulo PHP LDAP necesario no está instalado, el sistema no funcionará. Pregunte al administrador del sistema para instalarlo."
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not "
+"work. Please ask your system administrator to install it."
+msgstr ""
#: templates/settings.php:15
msgid "Host"
@@ -50,6 +50,10 @@ msgid "Base DN"
msgstr "DN base"
#: templates/settings.php:16
+msgid "One Base DN per line"
+msgstr ""
+
+#: templates/settings.php:16
msgid "You can specify Base DN for users and groups in the Advanced tab"
msgstr "Puede especificar el DN base para usuarios y grupos en la pestaña Avanzado"
@@ -120,10 +124,18 @@ msgstr "Puerto"
msgid "Base User Tree"
msgstr "Ãrbol base de usuario"
+#: templates/settings.php:25
+msgid "One User Base DN per line"
+msgstr ""
+
#: templates/settings.php:26
msgid "Base Group Tree"
msgstr "Ãrbol base de grupo"
+#: templates/settings.php:26
+msgid "One Group Base DN per line"
+msgstr ""
+
#: templates/settings.php:27
msgid "Group-Member association"
msgstr "Asociación Grupo-Miembro"
diff --git a/l10n/es/user_webdavauth.po b/l10n/es/user_webdavauth.po
index e6ff0da90b0..c3d87548a9b 100644
--- a/l10n/es/user_webdavauth.po
+++ b/l10n/es/user_webdavauth.po
@@ -3,14 +3,16 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# Agustin Ferrario <agustin.ferrario@hotmail.com.ar>, 2013.
# Art O. Pal <artopal@fastmail.fm>, 2012.
+# <pggx999@gmail.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-20 00:11+0100\n"
-"PO-Revision-Date: 2012-12-19 23:12+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-21 00:04+0100\n"
+"PO-Revision-Date: 2013-01-20 02:31+0000\n"
+"Last-Translator: Agustin Ferrario <agustin.ferrario@hotmail.com.ar>\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"
@@ -18,13 +20,17 @@ msgstr ""
"Language: es\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+#: templates/settings.php:3
+msgid "WebDAV Authentication"
+msgstr "Autenticación de WevDAV"
+
#: templates/settings.php:4
msgid "URL: http://"
-msgstr ""
+msgstr "URL: http://"
#: templates/settings.php:6
msgid ""
-"ownCloud will send the user credentials to this URL is interpret http 401 "
-"and http 403 as credentials wrong and all other codes as credentials "
-"correct."
-msgstr ""
+"ownCloud will send the user credentials to this URL. 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 "onwCloud enviará las credenciales de usuario a esta URL. Este complemento verifica la respuesta e interpretará los códigos de respuesta HTTP 401 y 403 como credenciales inválidas y todas las otras respuestas como credenciales válidas."
diff --git a/l10n/es_AR/core.po b/l10n/es_AR/core.po
index f00739d659a..c38985419c0 100644
--- a/l10n/es_AR/core.po
+++ b/l10n/es_AR/core.po
@@ -3,14 +3,14 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
-# <claudio.tessone@gmail.com>, 2012.
+# <claudio.tessone@gmail.com>, 2012-2013.
# <javierkaiser@gmail.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-13 00:17+0100\n"
-"PO-Revision-Date: 2012-12-12 23:17+0000\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:03+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"
@@ -22,26 +22,26 @@ msgstr ""
#: ajax/share.php:84
#, php-format
msgid "User %s shared a file with you"
-msgstr ""
+msgstr "El usurario %s compartió un archivo con vos."
#: ajax/share.php:86
#, php-format
msgid "User %s shared a folder with you"
-msgstr ""
+msgstr "El usurario %s compartió una carpeta con vos."
#: ajax/share.php:88
#, php-format
msgid ""
"User %s shared the file \"%s\" with you. It is available for download here: "
"%s"
-msgstr ""
+msgstr "El usuario %s compartió el archivo \"%s\" con vos. Está disponible para su descarga aquí: %s"
#: ajax/share.php:90
#, php-format
msgid ""
"User %s shared the folder \"%s\" with you. It is available for download "
"here: %s"
-msgstr ""
+msgstr "El usuario %s compartió el archivo \"%s\" con vos. Está disponible para su descarga aquí: %s"
#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25
msgid "Category type not provided."
@@ -85,55 +85,55 @@ msgstr "Error al remover %s de favoritos. "
msgid "Settings"
msgstr "Ajustes"
-#: js/js.js:704
+#: js/js.js:711
msgid "seconds ago"
msgstr "segundos atrás"
-#: js/js.js:705
+#: js/js.js:712
msgid "1 minute ago"
msgstr "hace 1 minuto"
-#: js/js.js:706
+#: js/js.js:713
msgid "{minutes} minutes ago"
msgstr "hace {minutes} minutos"
-#: js/js.js:707
+#: js/js.js:714
msgid "1 hour ago"
msgstr "Hace 1 hora"
-#: js/js.js:708
+#: js/js.js:715
msgid "{hours} hours ago"
msgstr "{hours} horas atrás"
-#: js/js.js:709
+#: js/js.js:716
msgid "today"
msgstr "hoy"
-#: js/js.js:710
+#: js/js.js:717
msgid "yesterday"
msgstr "ayer"
-#: js/js.js:711
+#: js/js.js:718
msgid "{days} days ago"
msgstr "hace {days} días"
-#: js/js.js:712
+#: js/js.js:719
msgid "last month"
msgstr "el mes pasado"
-#: js/js.js:713
+#: js/js.js:720
msgid "{months} months ago"
msgstr "{months} meses atrás"
-#: js/js.js:714
+#: js/js.js:721
msgid "months ago"
msgstr "meses atrás"
-#: js/js.js:715
+#: js/js.js:722
msgid "last year"
msgstr "el año pasado"
-#: js/js.js:716
+#: js/js.js:723
msgid "years ago"
msgstr "años atrás"
@@ -163,8 +163,8 @@ msgid "The object type is not specified."
msgstr "El tipo de objeto no esta especificado. "
#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136
-#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:541
-#: js/share.js:553
+#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:554
+#: js/share.js:566
msgid "Error"
msgstr "Error"
@@ -176,7 +176,7 @@ msgstr "El nombre de la aplicación no esta especificado."
msgid "The required file {file} is not installed!"
msgstr "¡El archivo requerido {file} no está instalado!"
-#: js/share.js:124 js/share.js:581
+#: js/share.js:124 js/share.js:594
msgid "Error while sharing"
msgstr "Error al compartir"
@@ -204,22 +204,21 @@ msgstr "Compartir con"
msgid "Share with link"
msgstr "Compartir con link"
-#: js/share.js:164
+#: js/share.js:166
msgid "Password protect"
msgstr "Proteger con contraseña "
-#: js/share.js:168 templates/installation.php:42 templates/login.php:24
-#: templates/verify.php:13
+#: js/share.js:168 templates/installation.php:44 templates/login.php:35
msgid "Password"
msgstr "Contraseña"
#: js/share.js:172
msgid "Email link to person"
-msgstr ""
+msgstr "Enviar el link por e-mail."
#: js/share.js:173
msgid "Send"
-msgstr ""
+msgstr "Enviar"
#: js/share.js:177
msgid "Set expiration date"
@@ -273,25 +272,25 @@ msgstr "borrar"
msgid "share"
msgstr "compartir"
-#: js/share.js:353 js/share.js:528 js/share.js:530
+#: js/share.js:356 js/share.js:541
msgid "Password protected"
msgstr "Protegido por contraseña"
-#: js/share.js:541
+#: js/share.js:554
msgid "Error unsetting expiration date"
msgstr "Error al remover la fecha de caducidad"
-#: js/share.js:553
+#: js/share.js:566
msgid "Error setting expiration date"
msgstr "Error al asignar fecha de vencimiento"
-#: js/share.js:568
+#: js/share.js:581
msgid "Sending ..."
-msgstr ""
+msgstr "Enviando..."
-#: js/share.js:579
+#: js/share.js:592
msgid "Email sent"
-msgstr ""
+msgstr "Email enviado"
#: lostpassword/controller.php:47
msgid "ownCloud password reset"
@@ -313,8 +312,8 @@ msgstr "Reiniciar envío de email."
msgid "Request failed!"
msgstr "Error en el pedido!"
-#: lostpassword/templates/lostpassword.php:11 templates/installation.php:38
-#: templates/login.php:20
+#: lostpassword/templates/lostpassword.php:11 templates/installation.php:39
+#: templates/login.php:28
msgid "Username"
msgstr "Nombre de usuario"
@@ -403,44 +402,44 @@ msgstr "Tu directorio de datos y tus archivos son probablemente accesibles desde
msgid "Create an <strong>admin account</strong>"
msgstr "Crear una <strong>cuenta de administrador</strong>"
-#: templates/installation.php:48
+#: templates/installation.php:50
msgid "Advanced"
msgstr "Avanzado"
-#: templates/installation.php:50
+#: templates/installation.php:52
msgid "Data folder"
msgstr "Directorio de almacenamiento"
-#: templates/installation.php:57
+#: templates/installation.php:59
msgid "Configure the database"
msgstr "Configurar la base de datos"
-#: templates/installation.php:62 templates/installation.php:73
-#: templates/installation.php:83 templates/installation.php:93
+#: templates/installation.php:64 templates/installation.php:75
+#: templates/installation.php:85 templates/installation.php:95
msgid "will be used"
msgstr "se utilizarán"
-#: templates/installation.php:105
+#: templates/installation.php:107
msgid "Database user"
msgstr "Usuario de la base de datos"
-#: templates/installation.php:109
+#: templates/installation.php:111
msgid "Database password"
msgstr "Contraseña de la base de datos"
-#: templates/installation.php:113
+#: templates/installation.php:115
msgid "Database name"
msgstr "Nombre de la base de datos"
-#: templates/installation.php:121
+#: templates/installation.php:123
msgid "Database tablespace"
msgstr "Espacio de tablas de la base de datos"
-#: templates/installation.php:127
+#: templates/installation.php:129
msgid "Database host"
msgstr "Host de la base de datos"
-#: templates/installation.php:132
+#: templates/installation.php:134
msgid "Finish setup"
msgstr "Completar la instalación"
@@ -528,36 +527,32 @@ msgstr "servicios web sobre los que tenés control"
msgid "Log out"
msgstr "Cerrar la sesión"
-#: templates/login.php:8
+#: templates/login.php:10
msgid "Automatic logon rejected!"
msgstr "¡El inicio de sesión automático fue rechazado!"
-#: templates/login.php:9
+#: templates/login.php:11
msgid ""
"If you did not change your password recently, your account may be "
"compromised!"
msgstr "¡Si no cambiaste tu contraseña recientemente, puede ser que tu cuenta esté comprometida!"
-#: templates/login.php:10
+#: templates/login.php:13
msgid "Please change your password to secure your account again."
msgstr "Por favor, cambiá tu contraseña para fortalecer nuevamente la seguridad de tu cuenta."
-#: templates/login.php:15
+#: templates/login.php:19
msgid "Lost your password?"
msgstr "¿Perdiste tu contraseña?"
-#: templates/login.php:27
+#: templates/login.php:39
msgid "remember"
msgstr "recordame"
-#: templates/login.php:28
+#: templates/login.php:41
msgid "Log in"
msgstr "Entrar"
-#: templates/logout.php:1
-msgid "You are logged out."
-msgstr "Terminaste la sesión."
-
#: templates/part.pagenavi.php:3
msgid "prev"
msgstr "anterior"
@@ -566,16 +561,7 @@ msgstr "anterior"
msgid "next"
msgstr "siguiente"
-#: templates/verify.php:5
-msgid "Security Warning!"
-msgstr "¡Advertencia de seguridad!"
-
-#: templates/verify.php:6
-msgid ""
-"Please verify your password. <br/>For security reasons you may be "
-"occasionally asked to enter your password again."
-msgstr "Por favor, verificá tu contraseña. <br/>Por razones de seguridad, puede ser que que te pregunte ocasionalmente la contraseña."
-
-#: templates/verify.php:16
-msgid "Verify"
-msgstr "Verificar"
+#: templates/update.php:3
+#, php-format
+msgid "Updating ownCloud to version %s, this may take a while."
+msgstr "Actualizando ownCloud a la versión %s, puede domorar un rato."
diff --git a/l10n/es_AR/files.po b/l10n/es_AR/files.po
index 551f3b477be..4f9ef6d1b56 100644
--- a/l10n/es_AR/files.po
+++ b/l10n/es_AR/files.po
@@ -3,14 +3,14 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
-# Agustin Ferrario <agustin.ferrario@hotmail.com.ar>, 2012.
-# <claudio.tessone@gmail.com>, 2012.
+# Agustin Ferrario <agustin.ferrario@hotmail.com.ar>, 2012-2013.
+# <claudio.tessone@gmail.com>, 2012-2013.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-11 00:04+0100\n"
-"PO-Revision-Date: 2012-12-10 00:37+0000\n"
+"POT-Creation-Date: 2013-01-21 00:04+0100\n"
+"PO-Revision-Date: 2013-01-20 02:53+0000\n"
"Last-Translator: Agustin Ferrario <agustin.ferrario@hotmail.com.ar>\n"
"Language-Team: Spanish (Argentina) (http://www.transifex.com/projects/p/owncloud/language/es_AR/)\n"
"MIME-Version: 1.0\n"
@@ -19,46 +19,77 @@ msgstr ""
"Language: es_AR\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+#: ajax/delete.php:28 ajax/getstoragestats.php:11 ajax/upload.php:17
+#: ajax/upload.php:76 templates/index.php:18
+msgid "Upload"
+msgstr "Subir"
+
+#: ajax/move.php:17
+#, php-format
+msgid "Could not move %s - File with this name already exists"
+msgstr "No se pudo mover %s - Un archivo con este nombre ya existe"
+
+#: ajax/move.php:24
+#, php-format
+msgid "Could not move %s"
+msgstr "No se pudo mover %s "
+
+#: ajax/rename.php:19
+msgid "Unable to rename file"
+msgstr "No fue posible cambiar el nombre al archivo"
+
#: ajax/upload.php:20
+msgid "No file was uploaded. Unknown error"
+msgstr "El archivo no fue subido. Error desconocido"
+
+#: ajax/upload.php:30
msgid "There is no error, the file uploaded with success"
msgstr "No se han producido errores, el archivo se ha subido con éxito"
-#: ajax/upload.php:21
+#: ajax/upload.php:31
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr "El archivo que intentás subir excede el tamaño definido por upload_max_filesize en el php.ini:"
-#: ajax/upload.php:23
+#: ajax/upload.php:33
msgid ""
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
"the HTML form"
msgstr "El archivo que intentás subir sobrepasa el tamaño definido por la variable MAX_FILE_SIZE especificada en el formulario HTML"
-#: ajax/upload.php:25
+#: ajax/upload.php:35
msgid "The uploaded file was only partially uploaded"
msgstr "El archivo que intentás subir solo se subió parcialmente"
-#: ajax/upload.php:26
+#: ajax/upload.php:36
msgid "No file was uploaded"
msgstr "El archivo no fue subido"
-#: ajax/upload.php:27
+#: ajax/upload.php:37
msgid "Missing a temporary folder"
msgstr "Falta un directorio temporal"
-#: ajax/upload.php:28
+#: ajax/upload.php:38
msgid "Failed to write to disk"
msgstr "Error al escribir en el disco"
+#: ajax/upload.php:57
+msgid "Not enough space available"
+msgstr "No hay suficiente espacio disponible"
+
+#: ajax/upload.php:91
+msgid "Invalid directory."
+msgstr "Directorio invalido."
+
#: appinfo/app.php:10
msgid "Files"
msgstr "Archivos"
-#: js/fileactions.js:117 templates/index.php:84 templates/index.php:85
+#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
msgid "Unshare"
msgstr "Dejar de compartir"
-#: js/fileactions.js:119 templates/index.php:90 templates/index.php:91
+#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
msgid "Delete"
msgstr "Borrar"
@@ -66,122 +97,136 @@ msgstr "Borrar"
msgid "Rename"
msgstr "Cambiar nombre"
-#: js/filelist.js:199 js/filelist.js:201
+#: js/filelist.js:205 js/filelist.js:207
msgid "{new_name} already exists"
msgstr "{new_name} ya existe"
-#: js/filelist.js:199 js/filelist.js:201
+#: js/filelist.js:205 js/filelist.js:207
msgid "replace"
msgstr "reemplazar"
-#: js/filelist.js:199
+#: js/filelist.js:205
msgid "suggest name"
msgstr "sugerir nombre"
-#: js/filelist.js:199 js/filelist.js:201
+#: js/filelist.js:205 js/filelist.js:207
msgid "cancel"
msgstr "cancelar"
-#: js/filelist.js:248
+#: js/filelist.js:254
msgid "replaced {new_name}"
msgstr "reemplazado {new_name}"
-#: js/filelist.js:248 js/filelist.js:250 js/filelist.js:282 js/filelist.js:284
+#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
msgid "undo"
msgstr "deshacer"
-#: js/filelist.js:250
+#: js/filelist.js:256
msgid "replaced {new_name} with {old_name}"
msgstr "reemplazado {new_name} con {old_name}"
-#: js/filelist.js:282
+#: js/filelist.js:288
msgid "unshared {files}"
msgstr "{files} se dejaron de compartir"
-#: js/filelist.js:284
+#: js/filelist.js:290
msgid "deleted {files}"
msgstr "{files} borrados"
-#: js/files.js:33
+#: js/files.js:48
+msgid "'.' is an invalid file name."
+msgstr "'.' es un nombre de archivo inválido."
+
+#: js/files.js:53
+msgid "File name cannot be empty."
+msgstr "El nombre del archivo no puede quedar vacío."
+
+#: js/files.js:62
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr "Nombre invalido, '\\', '/', '<', '>', ':', '\"', '|', '?' y '*' no están permitidos."
-#: js/files.js:174
-msgid "generating ZIP-file, it may take some time."
-msgstr "generando un archivo ZIP, puede llevar un tiempo."
+#: js/files.js:204
+msgid ""
+"Your download is being prepared. This might take some time if the files are "
+"big."
+msgstr "Tu descarga esta siendo preparada. Esto puede tardar algun tiempo si los archivos son muy grandes."
-#: js/files.js:209
+#: js/files.js:242
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr "No fue posible subir el archivo porque es un directorio o porque su tamaño es 0 bytes"
-#: js/files.js:209
+#: js/files.js:242
msgid "Upload Error"
msgstr "Error al subir el archivo"
-#: js/files.js:226
+#: js/files.js:259
msgid "Close"
msgstr "Cerrar"
-#: js/files.js:245 js/files.js:359 js/files.js:389
+#: js/files.js:278 js/files.js:397 js/files.js:431
msgid "Pending"
msgstr "Pendiente"
-#: js/files.js:265
+#: js/files.js:298
msgid "1 file uploading"
msgstr "Subiendo 1 archivo"
-#: js/files.js:268 js/files.js:322 js/files.js:337
+#: js/files.js:301 js/files.js:357 js/files.js:372
msgid "{count} files uploading"
msgstr "Subiendo {count} archivos"
-#: js/files.js:340 js/files.js:373
+#: js/files.js:376 js/files.js:414
msgid "Upload cancelled."
msgstr "La subida fue cancelada"
-#: js/files.js:442
+#: js/files.js:486
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr "La subida del archivo está en proceso. Si salís de la página ahora, la subida se cancelará."
-#: js/files.js:512
-msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud"
-msgstr "Nombre del directorio inválido. Usar \"Shared\" está reservado por ownCloud."
+#: js/files.js:559
+msgid "URL cannot be empty."
+msgstr "La URL no puede estar vacía"
+
+#: js/files.js:565
+msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
+msgstr "Nombre de carpeta inválido. El uso de 'Shared' está reservado por ownCloud"
-#: js/files.js:693
+#: js/files.js:775
msgid "{count} files scanned"
msgstr "{count} archivos escaneados"
-#: js/files.js:701
+#: js/files.js:783
msgid "error while scanning"
msgstr "error mientras se escaneaba"
-#: js/files.js:774 templates/index.php:66
+#: js/files.js:857 templates/index.php:64
msgid "Name"
msgstr "Nombre"
-#: js/files.js:775 templates/index.php:77
+#: js/files.js:858 templates/index.php:75
msgid "Size"
msgstr "Tamaño"
-#: js/files.js:776 templates/index.php:79
+#: js/files.js:859 templates/index.php:77
msgid "Modified"
msgstr "Modificado"
-#: js/files.js:803
+#: js/files.js:878
msgid "1 folder"
msgstr "1 directorio"
-#: js/files.js:805
+#: js/files.js:880
msgid "{count} folders"
msgstr "{count} directorios"
-#: js/files.js:813
+#: js/files.js:888
msgid "1 file"
msgstr "1 archivo"
-#: js/files.js:815
+#: js/files.js:890
msgid "{count} files"
msgstr "{count} archivos"
@@ -193,27 +238,27 @@ msgstr "Tratamiento de archivos"
msgid "Maximum upload size"
msgstr "Tamaño máximo de subida"
-#: templates/admin.php:9
+#: templates/admin.php:10
msgid "max. possible: "
msgstr "máx. posible:"
-#: templates/admin.php:12
+#: templates/admin.php:15
msgid "Needed for multi-file and folder downloads."
msgstr "Es necesario para descargas multi-archivo y de carpetas"
-#: templates/admin.php:14
+#: templates/admin.php:17
msgid "Enable ZIP-download"
msgstr "Habilitar descarga en formato ZIP"
-#: templates/admin.php:17
+#: templates/admin.php:20
msgid "0 is unlimited"
msgstr "0 significa ilimitado"
-#: templates/admin.php:19
+#: templates/admin.php:22
msgid "Maximum input size for ZIP files"
msgstr "Tamaño máximo para archivos ZIP de entrada"
-#: templates/admin.php:23
+#: templates/admin.php:26
msgid "Save"
msgstr "Guardar"
@@ -233,36 +278,32 @@ msgstr "Carpeta"
msgid "From link"
msgstr "Desde enlace"
-#: templates/index.php:35
-msgid "Upload"
-msgstr "Subir"
-
-#: templates/index.php:43
+#: templates/index.php:41
msgid "Cancel upload"
msgstr "Cancelar subida"
-#: templates/index.php:58
+#: templates/index.php:56
msgid "Nothing in here. Upload something!"
msgstr "No hay nada. ¡Subí contenido!"
-#: templates/index.php:72
+#: templates/index.php:70
msgid "Download"
msgstr "Descargar"
-#: templates/index.php:104
+#: templates/index.php:102
msgid "Upload too large"
msgstr "El archivo es demasiado grande"
-#: templates/index.php:106
+#: templates/index.php:104
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:111
+#: templates/index.php:109
msgid "Files are being scanned, please wait."
msgstr "Se están escaneando los archivos, por favor esperá."
-#: templates/index.php:114
+#: templates/index.php:112
msgid "Current scanning"
msgstr "Escaneo actual"
diff --git a/l10n/es_AR/files_encryption.po b/l10n/es_AR/files_encryption.po
index 16b134f329d..63c4ec00584 100644
--- a/l10n/es_AR/files_encryption.po
+++ b/l10n/es_AR/files_encryption.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-09-25 02:02+0200\n"
-"PO-Revision-Date: 2012-09-24 04:41+0000\n"
-"Last-Translator: cjtess <claudio.tessone@gmail.com>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,18 +18,66 @@ msgstr ""
"Language: es_AR\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "Encriptación"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "Exceptuar de la encriptación los siguientes tipos de archivo"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "Ninguno"
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "Habilitar encriptación"
diff --git a/l10n/es_AR/files_versions.po b/l10n/es_AR/files_versions.po
index 51e4552b000..6ab1eed54d3 100644
--- a/l10n/es_AR/files_versions.po
+++ b/l10n/es_AR/files_versions.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-09-25 02:02+0200\n"
-"PO-Revision-Date: 2012-09-24 04:28+0000\n"
-"Last-Translator: cjtess <claudio.tessone@gmail.com>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,22 +18,10 @@ msgstr ""
"Language: es_AR\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: js/settings-personal.js:31 templates/settings-personal.php:10
-msgid "Expire all versions"
-msgstr "Expirar todas las versiones"
-
#: js/versions.js:16
msgid "History"
msgstr "Historia"
-#: templates/settings-personal.php:4
-msgid "Versions"
-msgstr "Versiones"
-
-#: templates/settings-personal.php:7
-msgid "This will delete all existing backup versions of your files"
-msgstr "Hacer estom borrará todas las versiones guardadas como copia de seguridad de tus archivos"
-
#: templates/settings.php:3
msgid "Files Versioning"
msgstr "Versionado de archivos"
diff --git a/l10n/es_AR/lib.po b/l10n/es_AR/lib.po
index d7c4a911766..0b6fd72855b 100644
--- a/l10n/es_AR/lib.po
+++ b/l10n/es_AR/lib.po
@@ -3,14 +3,15 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# Agustin Ferrario <agustin.ferrario@hotmail.com.ar>, 2013.
# <claudio.tessone@gmail.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-11-22 00:01+0100\n"
-"PO-Revision-Date: 2012-11-21 09:56+0000\n"
-"Last-Translator: cjtess <claudio.tessone@gmail.com>\n"
+"POT-Creation-Date: 2013-01-21 00:04+0100\n"
+"PO-Revision-Date: 2013-01-20 03:00+0000\n"
+"Last-Translator: Agustin Ferrario <agustin.ferrario@hotmail.com.ar>\n"
"Language-Team: Spanish (Argentina) (http://www.transifex.com/projects/p/owncloud/language/es_AR/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,51 +19,55 @@ msgstr ""
"Language: es_AR\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: app.php:285
+#: app.php:301
msgid "Help"
msgstr "Ayuda"
-#: app.php:292
+#: app.php:308
msgid "Personal"
msgstr "Personal"
-#: app.php:297
+#: app.php:313
msgid "Settings"
msgstr "Ajustes"
-#: app.php:302
+#: app.php:318
msgid "Users"
msgstr "Usuarios"
-#: app.php:309
+#: app.php:325
msgid "Apps"
msgstr "Aplicaciones"
-#: app.php:311
+#: app.php:327
msgid "Admin"
msgstr "Administración"
-#: files.php:361
+#: files.php:365
msgid "ZIP download is turned off."
msgstr "La descarga en ZIP está desactivada."
-#: files.php:362
+#: files.php:366
msgid "Files need to be downloaded one by one."
msgstr "Los archivos deben ser descargados de a uno."
-#: files.php:362 files.php:387
+#: files.php:366 files.php:391
msgid "Back to Files"
msgstr "Volver a archivos"
-#: files.php:386
+#: files.php:390
msgid "Selected files too large to generate zip file."
msgstr "Los archivos seleccionados son demasiado grandes para generar el archivo zip."
+#: helper.php:229
+msgid "couldn't be determined"
+msgstr "no pudo ser determinado"
+
#: json.php:28
msgid "Application is not enabled"
msgstr "La aplicación no está habilitada"
-#: json.php:39 json.php:64 json.php:77 json.php:89
+#: json.php:39 json.php:62 json.php:73
msgid "Authentication error"
msgstr "Error de autenticación"
@@ -82,55 +87,55 @@ msgstr "Texto"
msgid "Images"
msgstr "Imágenes"
-#: template.php:103
+#: template.php:113
msgid "seconds ago"
msgstr "hace unos segundos"
-#: template.php:104
+#: template.php:114
msgid "1 minute ago"
msgstr "hace 1 minuto"
-#: template.php:105
+#: template.php:115
#, php-format
msgid "%d minutes ago"
msgstr "hace %d minutos"
-#: template.php:106
+#: template.php:116
msgid "1 hour ago"
msgstr "1 hora atrás"
-#: template.php:107
+#: template.php:117
#, php-format
msgid "%d hours ago"
msgstr "%d horas atrás"
-#: template.php:108
+#: template.php:118
msgid "today"
msgstr "hoy"
-#: template.php:109
+#: template.php:119
msgid "yesterday"
msgstr "ayer"
-#: template.php:110
+#: template.php:120
#, php-format
msgid "%d days ago"
msgstr "hace %d días"
-#: template.php:111
+#: template.php:121
msgid "last month"
msgstr "este mes"
-#: template.php:112
+#: template.php:122
#, php-format
msgid "%d months ago"
msgstr "%d meses atrás"
-#: template.php:113
+#: template.php:123
msgid "last year"
msgstr "este año"
-#: template.php:114
+#: template.php:124
msgid "years ago"
msgstr "hace años"
diff --git a/l10n/es_AR/settings.po b/l10n/es_AR/settings.po
index d0650773d3c..0ebdce38b58 100644
--- a/l10n/es_AR/settings.po
+++ b/l10n/es_AR/settings.po
@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-21 00:10+0100\n"
-"PO-Revision-Date: 2012-12-19 23:20+0000\n"
+"POT-Creation-Date: 2013-01-12 00:09+0100\n"
+"PO-Revision-Date: 2013-01-11 23:09+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"
@@ -31,7 +31,7 @@ msgstr "El grupo ya existe"
msgid "Unable to add group"
msgstr "No fue posible añadir el grupo"
-#: ajax/enableapp.php:12
+#: ajax/enableapp.php:11
msgid "Could not enable app. "
msgstr "No se puede habilitar la aplicación."
@@ -43,14 +43,6 @@ msgstr "e-mail guardado"
msgid "Invalid email"
msgstr "el e-mail no es válido "
-#: ajax/openid.php:13
-msgid "OpenID Changed"
-msgstr "OpenID cambiado"
-
-#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20
-msgid "Invalid request"
-msgstr "Solicitud no válida"
-
#: ajax/removegroup.php:13
msgid "Unable to delete group"
msgstr "No fue posible eliminar el grupo"
@@ -67,6 +59,10 @@ msgstr "No fue posible eliminar el usuario"
msgid "Language changed"
msgstr "Idioma cambiado"
+#: ajax/setlanguage.php:17 ajax/setlanguage.php:20
+msgid "Invalid request"
+msgstr "Solicitud no válida"
+
#: ajax/togglegroups.php:12
msgid "Admins can't remove themself from the admin group"
msgstr "Los administradores no se pueden quitar a ellos mismos del grupo administrador. "
@@ -119,27 +115,27 @@ msgstr "<span class=\"licence\"></span>-licenciado por <span class=\"author\">"
#: templates/help.php:3
msgid "User Documentation"
-msgstr ""
+msgstr "Documentación de Usuario"
#: templates/help.php:4
msgid "Administrator Documentation"
-msgstr ""
+msgstr "Documentación de Administrador"
#: templates/help.php:6
msgid "Online Documentation"
-msgstr ""
+msgstr "Documentación en linea"
#: templates/help.php:7
msgid "Forum"
-msgstr ""
+msgstr "Foro"
#: templates/help.php:9
msgid "Bugtracker"
-msgstr ""
+msgstr "Informar errores"
#: templates/help.php:11
msgid "Commercial Support"
-msgstr ""
+msgstr "Soporte comercial"
#: templates/personal.php:8
#, php-format
@@ -152,17 +148,17 @@ msgstr "Clientes"
#: templates/personal.php:13
msgid "Download Desktop Clients"
-msgstr ""
+msgstr "Descargar clientes de escritorio"
#: templates/personal.php:14
msgid "Download Android Client"
-msgstr ""
+msgstr "Descargar cliente de Android"
#: templates/personal.php:15
msgid "Download iOS Client"
-msgstr ""
+msgstr "Descargar cliente de iOS"
-#: templates/personal.php:21 templates/users.php:23 templates/users.php:77
+#: templates/personal.php:21 templates/users.php:23 templates/users.php:82
msgid "Password"
msgstr "Contraseña"
@@ -212,15 +208,15 @@ msgstr "Ayudanos a traducir"
#: templates/personal.php:52
msgid "WebDAV"
-msgstr ""
+msgstr "WebDAV"
#: templates/personal.php:54
msgid "Use this address to connect to your ownCloud in your file manager"
-msgstr ""
+msgstr "Utiliza esta dirección para conectarte con ownCloud en tu Administrador de Archivos"
#: templates/personal.php:63
msgid "Version"
-msgstr ""
+msgstr "Versión"
#: templates/personal.php:65
msgid ""
@@ -232,11 +228,11 @@ msgid ""
"License\">AGPL</abbr></a>."
msgstr "Desarrollado por la <a href=\"http://ownCloud.org/contact\" target=\"_blank\">comunidad ownCloud</a>, el <a href=\"https://github.com/owncloud\" target=\"_blank\">código fuente</a> está bajo licencia <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>."
-#: templates/users.php:21 templates/users.php:76
+#: templates/users.php:21 templates/users.php:81
msgid "Name"
msgstr "Nombre"
-#: templates/users.php:26 templates/users.php:78 templates/users.php:98
+#: templates/users.php:26 templates/users.php:83 templates/users.php:103
msgid "Groups"
msgstr "Grupos"
@@ -245,21 +241,29 @@ msgid "Create"
msgstr "Crear"
#: templates/users.php:35
-msgid "Default Quota"
-msgstr "Cuota predeterminada"
+msgid "Default Storage"
+msgstr "Almacenamiento Predeterminado"
-#: templates/users.php:55 templates/users.php:138
+#: templates/users.php:42 templates/users.php:138
+msgid "Unlimited"
+msgstr "Ilimitado"
+
+#: templates/users.php:60 templates/users.php:153
msgid "Other"
msgstr "Otro"
-#: templates/users.php:80 templates/users.php:112
+#: templates/users.php:85 templates/users.php:117
msgid "Group Admin"
msgstr "Grupo Administrador"
-#: templates/users.php:82
-msgid "Quota"
-msgstr "Cuota"
+#: templates/users.php:87
+msgid "Storage"
+msgstr "Almacenamiento"
+
+#: templates/users.php:133
+msgid "Default"
+msgstr "Predeterminado"
-#: templates/users.php:146
+#: templates/users.php:161
msgid "Delete"
msgstr "Borrar"
diff --git a/l10n/es_AR/user_ldap.po b/l10n/es_AR/user_ldap.po
index 80ab2e1f1f5..a3b11101f5b 100644
--- a/l10n/es_AR/user_ldap.po
+++ b/l10n/es_AR/user_ldap.po
@@ -3,13 +3,14 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# Agustin Ferrario <agustin.ferrario@hotmail.com.ar>, 2013.
# <claudio.tessone@gmail.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-15 00:11+0100\n"
-"PO-Revision-Date: 2012-12-14 23:11+0000\n"
+"POT-Creation-Date: 2013-01-16 00:19+0100\n"
+"PO-Revision-Date: 2013-01-15 23:20+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"
@@ -23,12 +24,12 @@ msgid ""
"<b>Warning:</b> Apps user_ldap and user_webdavauth are incompatible. You may"
" experience unexpected behaviour. Please ask your system administrator to "
"disable one of them."
-msgstr ""
+msgstr "<b>Advertencia:</b> Los Apps user_ldap y user_webdavauth son incompatibles. Puede que experimente un comportamiento inesperado. Pregunte al administrador del sistema para desactivar uno de ellos."
#: templates/settings.php:11
msgid ""
-"<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will"
-" not work. Please ask your system administrator to install it."
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not "
+"work. Please ask your system administrator to install it."
msgstr ""
#: templates/settings.php:15
@@ -45,6 +46,10 @@ msgid "Base DN"
msgstr "DN base"
#: templates/settings.php:16
+msgid "One Base DN per line"
+msgstr ""
+
+#: templates/settings.php:16
msgid "You can specify Base DN for users and groups in the Advanced tab"
msgstr "Podés especificar el DN base para usuarios y grupos en la pestaña \"Avanzado\""
@@ -115,10 +120,18 @@ msgstr "Puerto"
msgid "Base User Tree"
msgstr "Ãrbol base de usuario"
+#: templates/settings.php:25
+msgid "One User Base DN per line"
+msgstr ""
+
#: templates/settings.php:26
msgid "Base Group Tree"
msgstr "Ãrbol base de grupo"
+#: templates/settings.php:26
+msgid "One Group Base DN per line"
+msgstr ""
+
#: templates/settings.php:27
msgid "Group-Member association"
msgstr "Asociación Grupo-Miembro"
diff --git a/l10n/es_AR/user_webdavauth.po b/l10n/es_AR/user_webdavauth.po
index e3165d3da3d..429680ee8c6 100644
--- a/l10n/es_AR/user_webdavauth.po
+++ b/l10n/es_AR/user_webdavauth.po
@@ -3,13 +3,14 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# Agustin Ferrario <agustin.ferrario@hotmail.com.ar>, 2012.
# <claudio.tessone@gmail.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-20 00:11+0100\n"
-"PO-Revision-Date: 2012-12-19 23:12+0000\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+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"
@@ -18,13 +19,17 @@ msgstr ""
"Language: es_AR\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+#: templates/settings.php:3
+msgid "WebDAV Authentication"
+msgstr ""
+
#: templates/settings.php:4
msgid "URL: http://"
-msgstr ""
+msgstr "URL: http://"
#: templates/settings.php:6
msgid ""
-"ownCloud will send the user credentials to this URL is interpret http 401 "
-"and http 403 as credentials wrong and all other codes as credentials "
-"correct."
+"ownCloud will send the user credentials to this URL. 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 ""
diff --git a/l10n/et_EE/core.po b/l10n/et_EE/core.po
index 3d6dcf500f6..ba615076133 100644
--- a/l10n/et_EE/core.po
+++ b/l10n/et_EE/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: 2012-12-13 00:17+0100\n"
-"PO-Revision-Date: 2012-12-12 23:17+0000\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:03+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"
@@ -84,55 +84,55 @@ msgstr ""
msgid "Settings"
msgstr "Seaded"
-#: js/js.js:704
+#: js/js.js:711
msgid "seconds ago"
msgstr "sekundit tagasi"
-#: js/js.js:705
+#: js/js.js:712
msgid "1 minute ago"
msgstr "1 minut tagasi"
-#: js/js.js:706
+#: js/js.js:713
msgid "{minutes} minutes ago"
msgstr "{minutes} minutit tagasi"
-#: js/js.js:707
+#: js/js.js:714
msgid "1 hour ago"
msgstr ""
-#: js/js.js:708
+#: js/js.js:715
msgid "{hours} hours ago"
msgstr ""
-#: js/js.js:709
+#: js/js.js:716
msgid "today"
msgstr "täna"
-#: js/js.js:710
+#: js/js.js:717
msgid "yesterday"
msgstr "eile"
-#: js/js.js:711
+#: js/js.js:718
msgid "{days} days ago"
msgstr "{days} päeva tagasi"
-#: js/js.js:712
+#: js/js.js:719
msgid "last month"
msgstr "viimasel kuul"
-#: js/js.js:713
+#: js/js.js:720
msgid "{months} months ago"
msgstr ""
-#: js/js.js:714
+#: js/js.js:721
msgid "months ago"
msgstr "kuu tagasi"
-#: js/js.js:715
+#: js/js.js:722
msgid "last year"
msgstr "viimasel aastal"
-#: js/js.js:716
+#: js/js.js:723
msgid "years ago"
msgstr "aastat tagasi"
@@ -162,8 +162,8 @@ msgid "The object type is not specified."
msgstr ""
#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136
-#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:541
-#: js/share.js:553
+#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:554
+#: js/share.js:566
msgid "Error"
msgstr "Viga"
@@ -175,7 +175,7 @@ msgstr ""
msgid "The required file {file} is not installed!"
msgstr ""
-#: js/share.js:124 js/share.js:581
+#: js/share.js:124 js/share.js:594
msgid "Error while sharing"
msgstr "Viga jagamisel"
@@ -203,12 +203,11 @@ msgstr "Jaga"
msgid "Share with link"
msgstr "Jaga lingiga"
-#: js/share.js:164
+#: js/share.js:166
msgid "Password protect"
msgstr "Parooliga kaitstud"
-#: js/share.js:168 templates/installation.php:42 templates/login.php:24
-#: templates/verify.php:13
+#: js/share.js:168 templates/installation.php:44 templates/login.php:35
msgid "Password"
msgstr "Parool"
@@ -272,23 +271,23 @@ msgstr "kustuta"
msgid "share"
msgstr "jaga"
-#: js/share.js:353 js/share.js:528 js/share.js:530
+#: js/share.js:356 js/share.js:541
msgid "Password protected"
msgstr "Parooliga kaitstud"
-#: js/share.js:541
+#: js/share.js:554
msgid "Error unsetting expiration date"
msgstr "Viga aegumise kuupäeva eemaldamisel"
-#: js/share.js:553
+#: js/share.js:566
msgid "Error setting expiration date"
msgstr "Viga aegumise kuupäeva määramisel"
-#: js/share.js:568
+#: js/share.js:581
msgid "Sending ..."
msgstr ""
-#: js/share.js:579
+#: js/share.js:592
msgid "Email sent"
msgstr ""
@@ -312,8 +311,8 @@ msgstr "Taastamise e-kiri on saadetud."
msgid "Request failed!"
msgstr "Päring ebaõnnestus!"
-#: lostpassword/templates/lostpassword.php:11 templates/installation.php:38
-#: templates/login.php:20
+#: lostpassword/templates/lostpassword.php:11 templates/installation.php:39
+#: templates/login.php:28
msgid "Username"
msgstr "Kasutajanimi"
@@ -402,44 +401,44 @@ msgstr ""
msgid "Create an <strong>admin account</strong>"
msgstr "Loo <strong>admini konto</strong>"
-#: templates/installation.php:48
+#: templates/installation.php:50
msgid "Advanced"
msgstr "Lisavalikud"
-#: templates/installation.php:50
+#: templates/installation.php:52
msgid "Data folder"
msgstr "Andmete kaust"
-#: templates/installation.php:57
+#: templates/installation.php:59
msgid "Configure the database"
msgstr "Seadista andmebaasi"
-#: templates/installation.php:62 templates/installation.php:73
-#: templates/installation.php:83 templates/installation.php:93
+#: templates/installation.php:64 templates/installation.php:75
+#: templates/installation.php:85 templates/installation.php:95
msgid "will be used"
msgstr "kasutatakse"
-#: templates/installation.php:105
+#: templates/installation.php:107
msgid "Database user"
msgstr "Andmebaasi kasutaja"
-#: templates/installation.php:109
+#: templates/installation.php:111
msgid "Database password"
msgstr "Andmebaasi parool"
-#: templates/installation.php:113
+#: templates/installation.php:115
msgid "Database name"
msgstr "Andmebasi nimi"
-#: templates/installation.php:121
+#: templates/installation.php:123
msgid "Database tablespace"
msgstr "Andmebaasi tabeliruum"
-#: templates/installation.php:127
+#: templates/installation.php:129
msgid "Database host"
msgstr "Andmebaasi host"
-#: templates/installation.php:132
+#: templates/installation.php:134
msgid "Finish setup"
msgstr "Lõpeta seadistamine"
@@ -527,36 +526,32 @@ msgstr "veebiteenused sinu kontrolli all"
msgid "Log out"
msgstr "Logi välja"
-#: templates/login.php:8
+#: templates/login.php:10
msgid "Automatic logon rejected!"
msgstr "Automaatne sisselogimine lükati tagasi!"
-#: templates/login.php:9
+#: templates/login.php:11
msgid ""
"If you did not change your password recently, your account may be "
"compromised!"
msgstr "Kui sa ei muutnud oma parooli hiljut, siis võib su kasutajakonto olla ohustatud!"
-#: templates/login.php:10
+#: templates/login.php:13
msgid "Please change your password to secure your account again."
msgstr "Palun muuda parooli, et oma kasutajakonto uuesti turvata."
-#: templates/login.php:15
+#: templates/login.php:19
msgid "Lost your password?"
msgstr "Kaotasid oma parooli?"
-#: templates/login.php:27
+#: templates/login.php:39
msgid "remember"
msgstr "pea meeles"
-#: templates/login.php:28
+#: templates/login.php:41
msgid "Log in"
msgstr "Logi sisse"
-#: templates/logout.php:1
-msgid "You are logged out."
-msgstr "Sa oled välja loginud"
-
#: templates/part.pagenavi.php:3
msgid "prev"
msgstr "eelm"
@@ -565,16 +560,7 @@ msgstr "eelm"
msgid "next"
msgstr "järgm"
-#: templates/verify.php:5
-msgid "Security Warning!"
-msgstr "turvahoiatus!"
-
-#: templates/verify.php:6
-msgid ""
-"Please verify your password. <br/>For security reasons you may be "
-"occasionally asked to enter your password again."
+#: templates/update.php:3
+#, php-format
+msgid "Updating ownCloud to version %s, this may take a while."
msgstr ""
-
-#: templates/verify.php:16
-msgid "Verify"
-msgstr "Kinnita"
diff --git a/l10n/et_EE/files.po b/l10n/et_EE/files.po
index 9c1c0fadb7b..08842493045 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: 2012-12-01 00:01+0100\n"
-"PO-Revision-Date: 2012-11-30 23:02+0000\n"
+"POT-Creation-Date: 2013-01-20 00:05+0100\n"
+"PO-Revision-Date: 2013-01-19 23:05+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"
@@ -19,46 +19,77 @@ msgstr ""
"Language: et_EE\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+#: ajax/delete.php:28 ajax/getstoragestats.php:11 ajax/upload.php:17
+#: ajax/upload.php:76 templates/index.php:18
+msgid "Upload"
+msgstr "Lae üles"
+
+#: ajax/move.php:17
+#, php-format
+msgid "Could not move %s - File with this name already exists"
+msgstr ""
+
+#: ajax/move.php:24
+#, php-format
+msgid "Could not move %s"
+msgstr ""
+
+#: ajax/rename.php:19
+msgid "Unable to rename file"
+msgstr ""
+
#: ajax/upload.php:20
+msgid "No file was uploaded. Unknown error"
+msgstr "Ühtegi faili ei laetud üles. Tundmatu viga"
+
+#: ajax/upload.php:30
msgid "There is no error, the file uploaded with success"
msgstr "Ühtegi viga pole, fail on üles laetud"
-#: ajax/upload.php:21
+#: ajax/upload.php:31
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr ""
-#: ajax/upload.php:23
+#: ajax/upload.php:33
msgid ""
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
"the HTML form"
msgstr "Üles laetud faili suurus ületab HTML vormis määratud upload_max_filesize suuruse"
-#: ajax/upload.php:25
+#: ajax/upload.php:35
msgid "The uploaded file was only partially uploaded"
msgstr "Fail laeti üles ainult osaliselt"
-#: ajax/upload.php:26
+#: ajax/upload.php:36
msgid "No file was uploaded"
msgstr "Ühtegi faili ei laetud üles"
-#: ajax/upload.php:27
+#: ajax/upload.php:37
msgid "Missing a temporary folder"
msgstr "Ajutiste failide kaust puudub"
-#: ajax/upload.php:28
+#: ajax/upload.php:38
msgid "Failed to write to disk"
msgstr "Kettale kirjutamine ebaõnnestus"
+#: ajax/upload.php:57
+msgid "Not enough space available"
+msgstr ""
+
+#: ajax/upload.php:91
+msgid "Invalid directory."
+msgstr ""
+
#: appinfo/app.php:10
msgid "Files"
msgstr "Failid"
-#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84
+#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
msgid "Unshare"
msgstr "Lõpeta jagamine"
-#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90
+#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
msgid "Delete"
msgstr "Kustuta"
@@ -66,122 +97,136 @@ msgstr "Kustuta"
msgid "Rename"
msgstr "ümber"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "{new_name} already exists"
msgstr "{new_name} on juba olemas"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "replace"
msgstr "asenda"
-#: js/filelist.js:201
+#: js/filelist.js:205
msgid "suggest name"
msgstr "soovita nime"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "cancel"
msgstr "loobu"
-#: js/filelist.js:250
+#: js/filelist.js:254
msgid "replaced {new_name}"
msgstr "asendatud nimega {new_name}"
-#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286
+#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
msgid "undo"
msgstr "tagasi"
-#: js/filelist.js:252
+#: js/filelist.js:256
msgid "replaced {new_name} with {old_name}"
msgstr "asendas nime {old_name} nimega {new_name}"
-#: js/filelist.js:284
+#: js/filelist.js:288
msgid "unshared {files}"
msgstr "jagamata {files}"
-#: js/filelist.js:286
+#: js/filelist.js:290
msgid "deleted {files}"
msgstr "kustutatud {files}"
-#: js/files.js:33
+#: js/files.js:48
+msgid "'.' is an invalid file name."
+msgstr ""
+
+#: js/files.js:53
+msgid "File name cannot be empty."
+msgstr ""
+
+#: js/files.js:62
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr "Vigane nimi, '\\', '/', '<', '>', ':', '\"', '|', '?' ja '*' pole lubatud."
-#: js/files.js:183
-msgid "generating ZIP-file, it may take some time."
-msgstr "ZIP-faili loomine, see võib veidi aega võtta."
+#: js/files.js:204
+msgid ""
+"Your download is being prepared. This might take some time if the files are "
+"big."
+msgstr ""
-#: js/files.js:218
+#: js/files.js:242
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr "Sinu faili üleslaadimine ebaõnnestus, kuna see on kaust või selle suurus on 0 baiti"
-#: js/files.js:218
+#: js/files.js:242
msgid "Upload Error"
msgstr "Üleslaadimise viga"
-#: js/files.js:235
+#: js/files.js:259
msgid "Close"
msgstr "Sulge"
-#: js/files.js:254 js/files.js:368 js/files.js:398
+#: js/files.js:278 js/files.js:397 js/files.js:431
msgid "Pending"
msgstr "Ootel"
-#: js/files.js:274
+#: js/files.js:298
msgid "1 file uploading"
msgstr "1 faili üleslaadimisel"
-#: js/files.js:277 js/files.js:331 js/files.js:346
+#: js/files.js:301 js/files.js:357 js/files.js:372
msgid "{count} files uploading"
msgstr "{count} faili üleslaadimist"
-#: js/files.js:349 js/files.js:382
+#: js/files.js:376 js/files.js:414
msgid "Upload cancelled."
msgstr "Üleslaadimine tühistati."
-#: js/files.js:451
+#: js/files.js:486
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr "Faili üleslaadimine on töös. Lehelt lahkumine katkestab selle üleslaadimise."
-#: js/files.js:523
-msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud"
-msgstr "Vigane kausta nimi. Nime \"Jagatud\" kasutamine on Owncloudi poolt broneeritud "
+#: js/files.js:559
+msgid "URL cannot be empty."
+msgstr "URL ei saa olla tühi."
-#: js/files.js:704
+#: js/files.js:565
+msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
+msgstr ""
+
+#: js/files.js:775
msgid "{count} files scanned"
msgstr "{count} faili skännitud"
-#: js/files.js:712
+#: js/files.js:783
msgid "error while scanning"
msgstr "viga skännimisel"
-#: js/files.js:785 templates/index.php:65
+#: js/files.js:857 templates/index.php:64
msgid "Name"
msgstr "Nimi"
-#: js/files.js:786 templates/index.php:76
+#: js/files.js:858 templates/index.php:75
msgid "Size"
msgstr "Suurus"
-#: js/files.js:787 templates/index.php:78
+#: js/files.js:859 templates/index.php:77
msgid "Modified"
msgstr "Muudetud"
-#: js/files.js:814
+#: js/files.js:878
msgid "1 folder"
msgstr "1 kaust"
-#: js/files.js:816
+#: js/files.js:880
msgid "{count} folders"
msgstr "{count} kausta"
-#: js/files.js:824
+#: js/files.js:888
msgid "1 file"
msgstr "1 fail"
-#: js/files.js:826
+#: js/files.js:890
msgid "{count} files"
msgstr "{count} faili"
@@ -193,27 +238,27 @@ msgstr "Failide käsitlemine"
msgid "Maximum upload size"
msgstr "Maksimaalne üleslaadimise suurus"
-#: templates/admin.php:9
+#: templates/admin.php:10
msgid "max. possible: "
msgstr "maks. võimalik: "
-#: templates/admin.php:12
+#: templates/admin.php:15
msgid "Needed for multi-file and folder downloads."
msgstr "Vajalik mitme faili ja kausta allalaadimiste jaoks."
-#: templates/admin.php:14
+#: templates/admin.php:17
msgid "Enable ZIP-download"
msgstr "Luba ZIP-ina allalaadimine"
-#: templates/admin.php:17
+#: templates/admin.php:20
msgid "0 is unlimited"
msgstr "0 tähendab piiramatut"
-#: templates/admin.php:19
+#: templates/admin.php:22
msgid "Maximum input size for ZIP files"
msgstr "Maksimaalne ZIP-faili sisestatava faili suurus"
-#: templates/admin.php:23
+#: templates/admin.php:26
msgid "Save"
msgstr "Salvesta"
@@ -233,36 +278,32 @@ msgstr "Kaust"
msgid "From link"
msgstr "Allikast"
-#: templates/index.php:35
-msgid "Upload"
-msgstr "Lae üles"
-
-#: templates/index.php:43
+#: templates/index.php:41
msgid "Cancel upload"
msgstr "Tühista üleslaadimine"
-#: templates/index.php:57
+#: templates/index.php:56
msgid "Nothing in here. Upload something!"
msgstr "Siin pole midagi. Lae midagi üles!"
-#: templates/index.php:71
+#: templates/index.php:70
msgid "Download"
msgstr "Lae alla"
-#: templates/index.php:103
+#: templates/index.php:102
msgid "Upload too large"
msgstr "Üleslaadimine on liiga suur"
-#: templates/index.php:105
+#: templates/index.php:104
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:110
+#: templates/index.php:109
msgid "Files are being scanned, please wait."
msgstr "Faile skannitakse, palun oota"
-#: templates/index.php:113
+#: templates/index.php:112
msgid "Current scanning"
msgstr "Praegune skannimine"
diff --git a/l10n/et_EE/files_encryption.po b/l10n/et_EE/files_encryption.po
index 8a0593fa337..eb1004d7bef 100644
--- a/l10n/et_EE/files_encryption.po
+++ b/l10n/et_EE/files_encryption.po
@@ -8,28 +8,76 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-08-19 02:02+0200\n"
-"PO-Revision-Date: 2012-08-18 06:39+0000\n"
-"Last-Translator: Rivo Zängov <eraser@eraser.ee>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+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"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: et_EE\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "Krüpteerimine"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "Järgnevaid failitüüpe ära krüpteeri"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "Pole"
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "Luba krüpteerimine"
diff --git a/l10n/et_EE/files_versions.po b/l10n/et_EE/files_versions.po
index a0d4710bcd4..a0309a22fc6 100644
--- a/l10n/et_EE/files_versions.po
+++ b/l10n/et_EE/files_versions.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-10-21 02:03+0200\n"
-"PO-Revision-Date: 2012-10-20 20:09+0000\n"
-"Last-Translator: Rivo Zängov <eraser@eraser.ee>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:03+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,22 +18,10 @@ msgstr ""
"Language: et_EE\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: js/settings-personal.js:31 templates/settings-personal.php:10
-msgid "Expire all versions"
-msgstr "Kõikide versioonide aegumine"
-
#: js/versions.js:16
msgid "History"
msgstr "Ajalugu"
-#: templates/settings-personal.php:4
-msgid "Versions"
-msgstr "Versioonid"
-
-#: templates/settings-personal.php:7
-msgid "This will delete all existing backup versions of your files"
-msgstr "See kustutab kõik sinu failidest tehtud varuversiooni"
-
#: templates/settings.php:3
msgid "Files Versioning"
msgstr "Failide versioonihaldus"
diff --git a/l10n/et_EE/lib.po b/l10n/et_EE/lib.po
index f617ebc7835..a137f08e4a3 100644
--- a/l10n/et_EE/lib.po
+++ b/l10n/et_EE/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: 2012-11-16 00:02+0100\n"
-"PO-Revision-Date: 2012-11-14 23:13+0000\n"
+"POT-Creation-Date: 2013-01-17 00:26+0100\n"
+"PO-Revision-Date: 2013-01-16 23:26+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"
@@ -18,51 +18,55 @@ msgstr ""
"Language: et_EE\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: app.php:285
+#: app.php:301
msgid "Help"
msgstr "Abiinfo"
-#: app.php:292
+#: app.php:308
msgid "Personal"
msgstr "Isiklik"
-#: app.php:297
+#: app.php:313
msgid "Settings"
msgstr "Seaded"
-#: app.php:302
+#: app.php:318
msgid "Users"
msgstr "Kasutajad"
-#: app.php:309
+#: app.php:325
msgid "Apps"
msgstr "Rakendused"
-#: app.php:311
+#: app.php:327
msgid "Admin"
msgstr "Admin"
-#: files.php:332
+#: files.php:365
msgid "ZIP download is turned off."
msgstr "ZIP-ina allalaadimine on välja lülitatud."
-#: files.php:333
+#: files.php:366
msgid "Files need to be downloaded one by one."
msgstr "Failid tuleb alla laadida ükshaaval."
-#: files.php:333 files.php:358
+#: files.php:366 files.php:391
msgid "Back to Files"
msgstr "Tagasi failide juurde"
-#: files.php:357
+#: files.php:390
msgid "Selected files too large to generate zip file."
msgstr "Valitud failid on ZIP-faili loomiseks liiga suured."
+#: helper.php:228
+msgid "couldn't be determined"
+msgstr ""
+
#: json.php:28
msgid "Application is not enabled"
msgstr "Rakendus pole sisse lülitatud"
-#: json.php:39 json.php:64 json.php:77 json.php:89
+#: json.php:39 json.php:62 json.php:73
msgid "Authentication error"
msgstr "Autentimise viga"
@@ -82,55 +86,55 @@ msgstr "Tekst"
msgid "Images"
msgstr "Pildid"
-#: template.php:103
+#: template.php:113
msgid "seconds ago"
msgstr "sekundit tagasi"
-#: template.php:104
+#: template.php:114
msgid "1 minute ago"
msgstr "1 minut tagasi"
-#: template.php:105
+#: template.php:115
#, php-format
msgid "%d minutes ago"
msgstr "%d minutit tagasi"
-#: template.php:106
+#: template.php:116
msgid "1 hour ago"
msgstr ""
-#: template.php:107
+#: template.php:117
#, php-format
msgid "%d hours ago"
msgstr ""
-#: template.php:108
+#: template.php:118
msgid "today"
msgstr "täna"
-#: template.php:109
+#: template.php:119
msgid "yesterday"
msgstr "eile"
-#: template.php:110
+#: template.php:120
#, php-format
msgid "%d days ago"
msgstr "%d päeva tagasi"
-#: template.php:111
+#: template.php:121
msgid "last month"
msgstr "eelmisel kuul"
-#: template.php:112
+#: template.php:122
#, php-format
msgid "%d months ago"
msgstr ""
-#: template.php:113
+#: template.php:123
msgid "last year"
msgstr "eelmisel aastal"
-#: template.php:114
+#: template.php:124
msgid "years ago"
msgstr "aastat tagasi"
diff --git a/l10n/et_EE/settings.po b/l10n/et_EE/settings.po
index 0212408126c..751dc61daf4 100644
--- a/l10n/et_EE/settings.po
+++ b/l10n/et_EE/settings.po
@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-21 00:10+0100\n"
-"PO-Revision-Date: 2012-12-19 23:20+0000\n"
+"POT-Creation-Date: 2013-01-12 00:09+0100\n"
+"PO-Revision-Date: 2013-01-11 23:09+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"
@@ -31,7 +31,7 @@ msgstr "Grupp on juba olemas"
msgid "Unable to add group"
msgstr "Keela grupi lisamine"
-#: ajax/enableapp.php:12
+#: ajax/enableapp.php:11
msgid "Could not enable app. "
msgstr "Rakenduse sisselülitamine ebaõnnestus."
@@ -43,14 +43,6 @@ msgstr "Kiri on salvestatud"
msgid "Invalid email"
msgstr "Vigane e-post"
-#: ajax/openid.php:13
-msgid "OpenID Changed"
-msgstr "OpenID on muudetud"
-
-#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20
-msgid "Invalid request"
-msgstr "Vigane päring"
-
#: ajax/removegroup.php:13
msgid "Unable to delete group"
msgstr "Keela grupi kustutamine"
@@ -67,6 +59,10 @@ msgstr "Keela kasutaja kustutamine"
msgid "Language changed"
msgstr "Keel on muudetud"
+#: ajax/setlanguage.php:17 ajax/setlanguage.php:20
+msgid "Invalid request"
+msgstr "Vigane päring"
+
#: ajax/togglegroups.php:12
msgid "Admins can't remove themself from the admin group"
msgstr ""
@@ -162,7 +158,7 @@ msgstr ""
msgid "Download iOS Client"
msgstr ""
-#: templates/personal.php:21 templates/users.php:23 templates/users.php:77
+#: templates/personal.php:21 templates/users.php:23 templates/users.php:82
msgid "Password"
msgstr "Parool"
@@ -232,11 +228,11 @@ msgid ""
"License\">AGPL</abbr></a>."
msgstr ""
-#: templates/users.php:21 templates/users.php:76
+#: templates/users.php:21 templates/users.php:81
msgid "Name"
msgstr "Nimi"
-#: templates/users.php:26 templates/users.php:78 templates/users.php:98
+#: templates/users.php:26 templates/users.php:83 templates/users.php:103
msgid "Groups"
msgstr "Grupid"
@@ -245,21 +241,29 @@ msgid "Create"
msgstr "Lisa"
#: templates/users.php:35
-msgid "Default Quota"
-msgstr "Vaikimisi kvoot"
+msgid "Default Storage"
+msgstr ""
+
+#: templates/users.php:42 templates/users.php:138
+msgid "Unlimited"
+msgstr ""
-#: templates/users.php:55 templates/users.php:138
+#: templates/users.php:60 templates/users.php:153
msgid "Other"
msgstr "Muu"
-#: templates/users.php:80 templates/users.php:112
+#: templates/users.php:85 templates/users.php:117
msgid "Group Admin"
msgstr "Grupi admin"
-#: templates/users.php:82
-msgid "Quota"
-msgstr "Mahupiir"
+#: templates/users.php:87
+msgid "Storage"
+msgstr ""
+
+#: templates/users.php:133
+msgid "Default"
+msgstr ""
-#: templates/users.php:146
+#: templates/users.php:161
msgid "Delete"
msgstr "Kustuta"
diff --git a/l10n/et_EE/user_ldap.po b/l10n/et_EE/user_ldap.po
index c8207cb0467..f0bcf31f96a 100644
--- a/l10n/et_EE/user_ldap.po
+++ b/l10n/et_EE/user_ldap.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-15 00:11+0100\n"
-"PO-Revision-Date: 2012-12-14 23:11+0000\n"
+"POT-Creation-Date: 2013-01-16 00:19+0100\n"
+"PO-Revision-Date: 2013-01-15 23:19+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"
@@ -27,8 +27,8 @@ msgstr ""
#: templates/settings.php:11
msgid ""
-"<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will"
-" not work. Please ask your system administrator to install it."
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not "
+"work. Please ask your system administrator to install it."
msgstr ""
#: templates/settings.php:15
@@ -45,6 +45,10 @@ msgid "Base DN"
msgstr "Baas DN"
#: templates/settings.php:16
+msgid "One Base DN per line"
+msgstr ""
+
+#: templates/settings.php:16
msgid "You can specify Base DN for users and groups in the Advanced tab"
msgstr "Sa saad kasutajate ja gruppide baas DN-i määrata lisavalikute vahekaardilt"
@@ -115,10 +119,18 @@ msgstr "Port"
msgid "Base User Tree"
msgstr "Baaskasutaja puu"
+#: templates/settings.php:25
+msgid "One User Base DN per line"
+msgstr ""
+
#: templates/settings.php:26
msgid "Base Group Tree"
msgstr "Baasgrupi puu"
+#: templates/settings.php:26
+msgid "One Group Base DN per line"
+msgstr ""
+
#: templates/settings.php:27
msgid "Group-Member association"
msgstr "Grupiliikme seotus"
diff --git a/l10n/et_EE/user_webdavauth.po b/l10n/et_EE/user_webdavauth.po
index 2e1b479cbe8..a2ccf77cee8 100644
--- a/l10n/et_EE/user_webdavauth.po
+++ b/l10n/et_EE/user_webdavauth.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-20 00:11+0100\n"
-"PO-Revision-Date: 2012-12-19 23:12+0000\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+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"
@@ -18,13 +18,17 @@ msgstr ""
"Language: et_EE\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+#: templates/settings.php:3
+msgid "WebDAV Authentication"
+msgstr ""
+
#: templates/settings.php:4
msgid "URL: http://"
msgstr ""
#: templates/settings.php:6
msgid ""
-"ownCloud will send the user credentials to this URL is interpret http 401 "
-"and http 403 as credentials wrong and all other codes as credentials "
-"correct."
+"ownCloud will send the user credentials to this URL. 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 ""
diff --git a/l10n/eu/core.po b/l10n/eu/core.po
index 20402a04985..74900de6d94 100644
--- a/l10n/eu/core.po
+++ b/l10n/eu/core.po
@@ -3,6 +3,7 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# <asieriko@gmail.com>, 2013.
# <asieriko@gmail.com>, 2012.
# Asier Urio Larrea <asieriko@gmail.com>, 2011.
# Piarres Beobide <pi@beobide.net>, 2012.
@@ -10,9 +11,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-14 00:16+0100\n"
-"PO-Revision-Date: 2012-12-13 11:46+0000\n"
-"Last-Translator: Piarres Beobide <pi@beobide.net>\n"
+"POT-Creation-Date: 2013-01-20 00:05+0100\n"
+"PO-Revision-Date: 2013-01-19 00:07+0000\n"
+"Last-Translator: asieriko <asieriko@gmail.com>\n"
"Language-Team: Basque (http://www.transifex.com/projects/p/owncloud/language/eu/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -86,55 +87,55 @@ msgstr "Errorea gertatu da %s gogokoetatik ezabatzean."
msgid "Settings"
msgstr "Ezarpenak"
-#: js/js.js:704
+#: js/js.js:706
msgid "seconds ago"
msgstr "segundu"
-#: js/js.js:705
+#: js/js.js:707
msgid "1 minute ago"
msgstr "orain dela minutu 1"
-#: js/js.js:706
+#: js/js.js:708
msgid "{minutes} minutes ago"
msgstr "orain dela {minutes} minutu"
-#: js/js.js:707
+#: js/js.js:709
msgid "1 hour ago"
msgstr "orain dela ordu bat"
-#: js/js.js:708
+#: js/js.js:710
msgid "{hours} hours ago"
msgstr "orain dela {hours} ordu"
-#: js/js.js:709
+#: js/js.js:711
msgid "today"
msgstr "gaur"
-#: js/js.js:710
+#: js/js.js:712
msgid "yesterday"
msgstr "atzo"
-#: js/js.js:711
+#: js/js.js:713
msgid "{days} days ago"
msgstr "orain dela {days} egun"
-#: js/js.js:712
+#: js/js.js:714
msgid "last month"
msgstr "joan den hilabetean"
-#: js/js.js:713
+#: js/js.js:715
msgid "{months} months ago"
msgstr "orain dela {months} hilabete"
-#: js/js.js:714
+#: js/js.js:716
msgid "months ago"
msgstr "hilabete"
-#: js/js.js:715
+#: js/js.js:717
msgid "last year"
msgstr "joan den urtean"
-#: js/js.js:716
+#: js/js.js:718
msgid "years ago"
msgstr "urte"
@@ -164,8 +165,8 @@ msgid "The object type is not specified."
msgstr "Objetu mota ez dago zehaztuta."
#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136
-#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:541
-#: js/share.js:553
+#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:554
+#: js/share.js:566
msgid "Error"
msgstr "Errorea"
@@ -177,7 +178,7 @@ msgstr "App izena ez dago zehaztuta."
msgid "The required file {file} is not installed!"
msgstr "Beharrezkoa den {file} fitxategia ez dago instalatuta!"
-#: js/share.js:124 js/share.js:581
+#: js/share.js:124 js/share.js:594
msgid "Error while sharing"
msgstr "Errore bat egon da elkarbanatzean"
@@ -205,12 +206,11 @@ msgstr "Elkarbanatu honekin"
msgid "Share with link"
msgstr "Elkarbanatu lotura batekin"
-#: js/share.js:164
+#: js/share.js:166
msgid "Password protect"
msgstr "Babestu pasahitzarekin"
-#: js/share.js:168 templates/installation.php:42 templates/login.php:24
-#: templates/verify.php:13
+#: js/share.js:168 templates/installation.php:44 templates/login.php:35
msgid "Password"
msgstr "Pasahitza"
@@ -274,23 +274,23 @@ msgstr "ezabatu"
msgid "share"
msgstr "elkarbanatu"
-#: js/share.js:353 js/share.js:528 js/share.js:530
+#: js/share.js:356 js/share.js:541
msgid "Password protected"
msgstr "Pasahitzarekin babestuta"
-#: js/share.js:541
+#: js/share.js:554
msgid "Error unsetting expiration date"
msgstr "Errorea izan da muga data kentzean"
-#: js/share.js:553
+#: js/share.js:566
msgid "Error setting expiration date"
msgstr "Errore bat egon da muga data ezartzean"
-#: js/share.js:568
+#: js/share.js:581
msgid "Sending ..."
msgstr "Bidaltzen ..."
-#: js/share.js:579
+#: js/share.js:592
msgid "Email sent"
msgstr "Eposta bidalia"
@@ -314,8 +314,8 @@ msgstr "Berrezartzeko eposta bidali da."
msgid "Request failed!"
msgstr "Eskariak huts egin du!"
-#: lostpassword/templates/lostpassword.php:11 templates/installation.php:38
-#: templates/login.php:20
+#: lostpassword/templates/lostpassword.php:11 templates/installation.php:39
+#: templates/login.php:28
msgid "Username"
msgstr "Erabiltzaile izena"
@@ -404,44 +404,44 @@ msgstr "Zure data karpeta eta zure fitxategiak internetetik zuzenean eskuragarri
msgid "Create an <strong>admin account</strong>"
msgstr "Sortu <strong>kudeatzaile kontu<strong> bat"
-#: templates/installation.php:48
+#: templates/installation.php:50
msgid "Advanced"
msgstr "Aurreratua"
-#: templates/installation.php:50
+#: templates/installation.php:52
msgid "Data folder"
msgstr "Datuen karpeta"
-#: templates/installation.php:57
+#: templates/installation.php:59
msgid "Configure the database"
msgstr "Konfiguratu datu basea"
-#: templates/installation.php:62 templates/installation.php:73
-#: templates/installation.php:83 templates/installation.php:93
+#: templates/installation.php:64 templates/installation.php:75
+#: templates/installation.php:85 templates/installation.php:95
msgid "will be used"
msgstr "erabiliko da"
-#: templates/installation.php:105
+#: templates/installation.php:107
msgid "Database user"
msgstr "Datubasearen erabiltzailea"
-#: templates/installation.php:109
+#: templates/installation.php:111
msgid "Database password"
msgstr "Datubasearen pasahitza"
-#: templates/installation.php:113
+#: templates/installation.php:115
msgid "Database name"
msgstr "Datubasearen izena"
-#: templates/installation.php:121
+#: templates/installation.php:123
msgid "Database tablespace"
msgstr "Datu basearen taula-lekua"
-#: templates/installation.php:127
+#: templates/installation.php:129
msgid "Database host"
msgstr "Datubasearen hostalaria"
-#: templates/installation.php:132
+#: templates/installation.php:134
msgid "Finish setup"
msgstr "Bukatu konfigurazioa"
@@ -529,36 +529,32 @@ msgstr "web zerbitzuak zure kontrolpean"
msgid "Log out"
msgstr "Saioa bukatu"
-#: templates/login.php:8
+#: templates/login.php:10
msgid "Automatic logon rejected!"
msgstr "Saio hasiera automatikoa ez onartuta!"
-#: templates/login.php:9
+#: templates/login.php:11
msgid ""
"If you did not change your password recently, your account may be "
"compromised!"
msgstr "Zure pasahitza orain dela gutxi ez baduzu aldatu, zure kontua arriskuan egon daiteke!"
-#: templates/login.php:10
+#: templates/login.php:13
msgid "Please change your password to secure your account again."
msgstr "Mesedez aldatu zure pasahitza zure kontua berriz segurtatzeko."
-#: templates/login.php:15
+#: templates/login.php:19
msgid "Lost your password?"
msgstr "Galdu duzu pasahitza?"
-#: templates/login.php:27
+#: templates/login.php:39
msgid "remember"
msgstr "gogoratu"
-#: templates/login.php:28
+#: templates/login.php:41
msgid "Log in"
msgstr "Hasi saioa"
-#: templates/logout.php:1
-msgid "You are logged out."
-msgstr "Zure saioa bukatu da."
-
#: templates/part.pagenavi.php:3
msgid "prev"
msgstr "aurrekoa"
@@ -567,16 +563,7 @@ msgstr "aurrekoa"
msgid "next"
msgstr "hurrengoa"
-#: templates/verify.php:5
-msgid "Security Warning!"
-msgstr "Segurtasun abisua"
-
-#: templates/verify.php:6
-msgid ""
-"Please verify your password. <br/>For security reasons you may be "
-"occasionally asked to enter your password again."
-msgstr "Mesedez egiaztatu zure pasahitza. <br/>Segurtasun arrazoiengatik noizbehinka zure pasahitza berriz sartzea eska diezazukegu."
-
-#: templates/verify.php:16
-msgid "Verify"
-msgstr "Egiaztatu"
+#: templates/update.php:3
+#, php-format
+msgid "Updating ownCloud to version %s, this may take a while."
+msgstr "ownCloud %s bertsiora eguneratzen, denbora har dezake."
diff --git a/l10n/eu/files.po b/l10n/eu/files.po
index fc884c532ed..ac12e78e77e 100644
--- a/l10n/eu/files.po
+++ b/l10n/eu/files.po
@@ -3,6 +3,7 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# <asieriko@gmail.com>, 2013.
# <asieriko@gmail.com>, 2012.
# Asier Urio Larrea <asieriko@gmail.com>, 2011.
# Piarres Beobide <pi@beobide.net>, 2012.
@@ -10,9 +11,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-14 00:16+0100\n"
-"PO-Revision-Date: 2012-12-13 11:48+0000\n"
-"Last-Translator: Piarres Beobide <pi@beobide.net>\n"
+"POT-Creation-Date: 2013-01-20 00:05+0100\n"
+"PO-Revision-Date: 2013-01-19 23:05+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -20,46 +21,77 @@ msgstr ""
"Language: eu\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+#: ajax/delete.php:28 ajax/getstoragestats.php:11 ajax/upload.php:17
+#: ajax/upload.php:76 templates/index.php:18
+msgid "Upload"
+msgstr "Igo"
+
+#: ajax/move.php:17
+#, php-format
+msgid "Could not move %s - File with this name already exists"
+msgstr "Ezin da %s mugitu - Izen hau duen fitxategia dagoeneko existitzen da"
+
+#: ajax/move.php:24
+#, php-format
+msgid "Could not move %s"
+msgstr "Ezin dira fitxategiak mugitu %s"
+
+#: ajax/rename.php:19
+msgid "Unable to rename file"
+msgstr "Ezin izan da fitxategia berrizendatu"
+
#: ajax/upload.php:20
+msgid "No file was uploaded. Unknown error"
+msgstr "Ez da fitxategirik igo. Errore ezezaguna"
+
+#: ajax/upload.php:30
msgid "There is no error, the file uploaded with success"
msgstr "Ez da arazorik izan, fitxategia ongi igo da"
-#: ajax/upload.php:21
+#: ajax/upload.php:31
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr "Igotako fitxategiak php.ini fitxategian ezarritako upload_max_filesize muga gainditu du:"
-#: ajax/upload.php:23
+#: ajax/upload.php:33
msgid ""
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
"the HTML form"
msgstr "Igotako fitxategiaren tamaina HTML inprimakiko MAX_FILESIZE direktiban adierazitakoa baino handiagoa da"
-#: ajax/upload.php:25
+#: ajax/upload.php:35
msgid "The uploaded file was only partially uploaded"
msgstr "Igotako fitxategiaren zati bat baino gehiago ez da igo"
-#: ajax/upload.php:26
+#: ajax/upload.php:36
msgid "No file was uploaded"
msgstr "Ez da fitxategirik igo"
-#: ajax/upload.php:27
+#: ajax/upload.php:37
msgid "Missing a temporary folder"
msgstr "Aldi baterako karpeta falta da"
-#: ajax/upload.php:28
+#: ajax/upload.php:38
msgid "Failed to write to disk"
msgstr "Errore bat izan da diskoan idazterakoan"
+#: ajax/upload.php:57
+msgid "Not enough space available"
+msgstr "Ez dago leku nahikorik."
+
+#: ajax/upload.php:91
+msgid "Invalid directory."
+msgstr "Baliogabeko karpeta."
+
#: appinfo/app.php:10
msgid "Files"
msgstr "Fitxategiak"
-#: js/fileactions.js:117 templates/index.php:84 templates/index.php:85
+#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
msgid "Unshare"
msgstr "Ez elkarbanatu"
-#: js/fileactions.js:119 templates/index.php:90 templates/index.php:91
+#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
msgid "Delete"
msgstr "Ezabatu"
@@ -67,122 +99,136 @@ msgstr "Ezabatu"
msgid "Rename"
msgstr "Berrizendatu"
-#: js/filelist.js:199 js/filelist.js:201
+#: js/filelist.js:205 js/filelist.js:207
msgid "{new_name} already exists"
msgstr "{new_name} dagoeneko existitzen da"
-#: js/filelist.js:199 js/filelist.js:201
+#: js/filelist.js:205 js/filelist.js:207
msgid "replace"
msgstr "ordeztu"
-#: js/filelist.js:199
+#: js/filelist.js:205
msgid "suggest name"
msgstr "aholkatu izena"
-#: js/filelist.js:199 js/filelist.js:201
+#: js/filelist.js:205 js/filelist.js:207
msgid "cancel"
msgstr "ezeztatu"
-#: js/filelist.js:248
+#: js/filelist.js:254
msgid "replaced {new_name}"
msgstr "ordezkatua {new_name}"
-#: js/filelist.js:248 js/filelist.js:250 js/filelist.js:282 js/filelist.js:284
+#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
msgid "undo"
msgstr "desegin"
-#: js/filelist.js:250
+#: js/filelist.js:256
msgid "replaced {new_name} with {old_name}"
msgstr " {new_name}-k {old_name} ordezkatu du"
-#: js/filelist.js:282
+#: js/filelist.js:288
msgid "unshared {files}"
msgstr "elkarbanaketa utzita {files}"
-#: js/filelist.js:284
+#: js/filelist.js:290
msgid "deleted {files}"
msgstr "ezabatuta {files}"
-#: js/files.js:33
+#: js/files.js:48
+msgid "'.' is an invalid file name."
+msgstr "'.' ez da fitxategi izen baliogarria."
+
+#: js/files.js:53
+msgid "File name cannot be empty."
+msgstr "Fitxategi izena ezin da hutsa izan."
+
+#: js/files.js:62
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr "IZen aliogabea, '\\', '/', '<', '>', ':', '\"', '|', '?' eta '*' ez daude baimenduta."
-#: js/files.js:174
-msgid "generating ZIP-file, it may take some time."
-msgstr "ZIP-fitxategia sortzen ari da, denbora har dezake"
+#: js/files.js:204
+msgid ""
+"Your download is being prepared. This might take some time if the files are "
+"big."
+msgstr ""
-#: js/files.js:209
+#: js/files.js:242
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr "Ezin da zure fitxategia igo, karpeta bat da edo 0 byt ditu"
-#: js/files.js:209
+#: js/files.js:242
msgid "Upload Error"
msgstr "Igotzean errore bat suertatu da"
-#: js/files.js:226
+#: js/files.js:259
msgid "Close"
msgstr "Itxi"
-#: js/files.js:245 js/files.js:359 js/files.js:389
+#: js/files.js:278 js/files.js:397 js/files.js:431
msgid "Pending"
msgstr "Zain"
-#: js/files.js:265
+#: js/files.js:298
msgid "1 file uploading"
msgstr "fitxategi 1 igotzen"
-#: js/files.js:268 js/files.js:322 js/files.js:337
+#: js/files.js:301 js/files.js:357 js/files.js:372
msgid "{count} files uploading"
msgstr "{count} fitxategi igotzen"
-#: js/files.js:340 js/files.js:373
+#: js/files.js:376 js/files.js:414
msgid "Upload cancelled."
msgstr "Igoera ezeztatuta"
-#: js/files.js:442
+#: js/files.js:486
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr "Fitxategien igoera martxan da. Orria orain uzteak igoera ezeztatutko du."
-#: js/files.js:512
-msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud"
-msgstr "Karpeta izen baliogabea. \"Shared\" karpetaren erabilera Owncloudek erreserbatuta dauka"
+#: js/files.js:559
+msgid "URL cannot be empty."
+msgstr "URLa ezin da hutsik egon."
+
+#: js/files.js:565
+msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
+msgstr "Baliogabeako karpeta izena. 'Shared' izena Owncloudek erreserbatzen du"
-#: js/files.js:693
+#: js/files.js:775
msgid "{count} files scanned"
msgstr "{count} fitxategi eskaneatuta"
-#: js/files.js:701
+#: js/files.js:783
msgid "error while scanning"
msgstr "errore bat egon da eskaneatzen zen bitartean"
-#: js/files.js:774 templates/index.php:66
+#: js/files.js:857 templates/index.php:64
msgid "Name"
msgstr "Izena"
-#: js/files.js:775 templates/index.php:77
+#: js/files.js:858 templates/index.php:75
msgid "Size"
msgstr "Tamaina"
-#: js/files.js:776 templates/index.php:79
+#: js/files.js:859 templates/index.php:77
msgid "Modified"
msgstr "Aldatuta"
-#: js/files.js:803
+#: js/files.js:878
msgid "1 folder"
msgstr "karpeta bat"
-#: js/files.js:805
+#: js/files.js:880
msgid "{count} folders"
msgstr "{count} karpeta"
-#: js/files.js:813
+#: js/files.js:888
msgid "1 file"
msgstr "fitxategi bat"
-#: js/files.js:815
+#: js/files.js:890
msgid "{count} files"
msgstr "{count} fitxategi"
@@ -194,27 +240,27 @@ msgstr "Fitxategien kudeaketa"
msgid "Maximum upload size"
msgstr "Igo daitekeen gehienezko tamaina"
-#: templates/admin.php:9
+#: templates/admin.php:10
msgid "max. possible: "
msgstr "max, posiblea:"
-#: templates/admin.php:12
+#: templates/admin.php:15
msgid "Needed for multi-file and folder downloads."
msgstr "Beharrezkoa fitxategi-anitz eta karpeten deskargarako."
-#: templates/admin.php:14
+#: templates/admin.php:17
msgid "Enable ZIP-download"
msgstr "Gaitu ZIP-deskarga"
-#: templates/admin.php:17
+#: templates/admin.php:20
msgid "0 is unlimited"
msgstr "0 mugarik gabe esan nahi du"
-#: templates/admin.php:19
+#: templates/admin.php:22
msgid "Maximum input size for ZIP files"
msgstr "ZIP fitxategien gehienezko tamaina"
-#: templates/admin.php:23
+#: templates/admin.php:26
msgid "Save"
msgstr "Gorde"
@@ -234,36 +280,32 @@ msgstr "Karpeta"
msgid "From link"
msgstr "Estekatik"
-#: templates/index.php:35
-msgid "Upload"
-msgstr "Igo"
-
-#: templates/index.php:43
+#: templates/index.php:41
msgid "Cancel upload"
msgstr "Ezeztatu igoera"
-#: templates/index.php:58
+#: templates/index.php:56
msgid "Nothing in here. Upload something!"
msgstr "Ez dago ezer. Igo zerbait!"
-#: templates/index.php:72
+#: templates/index.php:70
msgid "Download"
msgstr "Deskargatu"
-#: templates/index.php:104
+#: templates/index.php:102
msgid "Upload too large"
msgstr "Igotakoa handiegia da"
-#: templates/index.php:106
+#: templates/index.php:104
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:111
+#: templates/index.php:109
msgid "Files are being scanned, please wait."
msgstr "Fitxategiak eskaneatzen ari da, itxoin mezedez."
-#: templates/index.php:114
+#: templates/index.php:112
msgid "Current scanning"
msgstr "Orain eskaneatzen ari da"
diff --git a/l10n/eu/files_encryption.po b/l10n/eu/files_encryption.po
index cd97e58a497..deacd189bf8 100644
--- a/l10n/eu/files_encryption.po
+++ b/l10n/eu/files_encryption.po
@@ -8,28 +8,76 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-08-28 02:01+0200\n"
-"PO-Revision-Date: 2012-08-27 09:08+0000\n"
-"Last-Translator: asieriko <asieriko@gmail.com>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+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"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: eu\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "Enkriptazioa"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "Ez enkriptatu hurrengo fitxategi motak"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "Bat ere ez"
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "Gaitu enkriptazioa"
diff --git a/l10n/eu/files_external.po b/l10n/eu/files_external.po
index 70742445f54..285a6bad98d 100644
--- a/l10n/eu/files_external.po
+++ b/l10n/eu/files_external.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-13 00:17+0100\n"
-"PO-Revision-Date: 2012-12-11 23:22+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2012-12-28 00:20+0100\n"
+"PO-Revision-Date: 2012-12-27 20:50+0000\n"
+"Last-Translator: asieriko <asieriko@gmail.com>\n"
"Language-Team: Basque (http://www.transifex.com/projects/p/owncloud/language/eu/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -46,14 +46,14 @@ msgstr "Errore bat egon da Google Drive biltegiratzea konfiguratzean"
msgid ""
"<b>Warning:</b> \"smbclient\" is not installed. Mounting of CIFS/SMB shares "
"is not possible. Please ask your system administrator to install it."
-msgstr ""
+msgstr "<b>Abisua:</b> \"smbclient\" ez dago instalatuta. CIFS/SMB partekatutako karpetak montatzea ez da posible. Mesedez eskatu zure sistema kudeatzaileari instalatzea."
#: lib/config.php:435
msgid ""
"<b>Warning:</b> The FTP support in PHP is not enabled or installed. Mounting"
" of FTP shares is not possible. Please ask your system administrator to "
"install it."
-msgstr ""
+msgstr "<b>Abisua:</b> PHPren FTP modulua ez dago instalatuta edo gaitua. FTP partekatutako karpetak montatzea ez da posible. Mesedez eskatu zure sistema kudeatzaileari instalatzea."
#: templates/settings.php:3
msgid "External Storage"
@@ -100,7 +100,7 @@ msgid "Users"
msgstr "Erabiltzaileak"
#: templates/settings.php:108 templates/settings.php:109
-#: templates/settings.php:149 templates/settings.php:150
+#: templates/settings.php:144 templates/settings.php:145
msgid "Delete"
msgstr "Ezabatu"
@@ -112,10 +112,10 @@ msgstr "Gaitu erabiltzaileentzako Kanpo Biltegiratzea"
msgid "Allow users to mount their own external storage"
msgstr "Baimendu erabiltzaileak bere kanpo biltegiratzeak muntatzen"
-#: templates/settings.php:139
+#: templates/settings.php:136
msgid "SSL root certificates"
msgstr "SSL erro ziurtagiriak"
-#: templates/settings.php:158
+#: templates/settings.php:153
msgid "Import Root Certificate"
msgstr "Inportatu Erro Ziurtagiria"
diff --git a/l10n/eu/files_versions.po b/l10n/eu/files_versions.po
index 471bd1ee586..64844cd7adf 100644
--- a/l10n/eu/files_versions.po
+++ b/l10n/eu/files_versions.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-09-25 02:02+0200\n"
-"PO-Revision-Date: 2012-09-24 13:25+0000\n"
-"Last-Translator: asieriko <asieriko@gmail.com>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,22 +18,10 @@ msgstr ""
"Language: eu\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: js/settings-personal.js:31 templates/settings-personal.php:10
-msgid "Expire all versions"
-msgstr "Iraungi bertsio guztiak"
-
#: js/versions.js:16
msgid "History"
msgstr "Historia"
-#: templates/settings-personal.php:4
-msgid "Versions"
-msgstr "Bertsioak"
-
-#: templates/settings-personal.php:7
-msgid "This will delete all existing backup versions of your files"
-msgstr "Honek zure fitxategien bertsio guztiak ezabatuko ditu"
-
#: templates/settings.php:3
msgid "Files Versioning"
msgstr "Fitxategien Bertsioak"
diff --git a/l10n/eu/lib.po b/l10n/eu/lib.po
index 9442caf83a9..9ba6d45bb6d 100644
--- a/l10n/eu/lib.po
+++ b/l10n/eu/lib.po
@@ -3,13 +3,14 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# <asieriko@gmail.com>, 2013.
# <asieriko@gmail.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-11-27 00:10+0100\n"
-"PO-Revision-Date: 2012-11-25 23:10+0000\n"
+"POT-Creation-Date: 2013-01-20 00:05+0100\n"
+"PO-Revision-Date: 2013-01-19 00:06+0000\n"
"Last-Translator: asieriko <asieriko@gmail.com>\n"
"Language-Team: Basque (http://www.transifex.com/projects/p/owncloud/language/eu/)\n"
"MIME-Version: 1.0\n"
@@ -18,51 +19,55 @@ msgstr ""
"Language: eu\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: app.php:285
+#: app.php:301
msgid "Help"
msgstr "Laguntza"
-#: app.php:292
+#: app.php:308
msgid "Personal"
msgstr "Pertsonala"
-#: app.php:297
+#: app.php:313
msgid "Settings"
msgstr "Ezarpenak"
-#: app.php:302
+#: app.php:318
msgid "Users"
msgstr "Erabiltzaileak"
-#: app.php:309
+#: app.php:325
msgid "Apps"
msgstr "Aplikazioak"
-#: app.php:311
+#: app.php:327
msgid "Admin"
msgstr "Admin"
-#: files.php:361
+#: files.php:365
msgid "ZIP download is turned off."
msgstr "ZIP deskarga ez dago gaituta."
-#: files.php:362
+#: files.php:366
msgid "Files need to be downloaded one by one."
msgstr "Fitxategiak banan-banan deskargatu behar dira."
-#: files.php:362 files.php:387
+#: files.php:366 files.php:391
msgid "Back to Files"
msgstr "Itzuli fitxategietara"
-#: files.php:386
+#: files.php:390
msgid "Selected files too large to generate zip file."
msgstr "Hautatuko fitxategiak oso handiak dira zip fitxategia sortzeko."
+#: helper.php:229
+msgid "couldn't be determined"
+msgstr "ezin izan da zehaztu"
+
#: json.php:28
msgid "Application is not enabled"
msgstr "Aplikazioa ez dago gaituta"
-#: json.php:39 json.php:64 json.php:77 json.php:89
+#: json.php:39 json.php:62 json.php:73
msgid "Authentication error"
msgstr "Autentikazio errorea"
@@ -82,55 +87,55 @@ msgstr "Testua"
msgid "Images"
msgstr "Irudiak"
-#: template.php:103
+#: template.php:113
msgid "seconds ago"
msgstr "orain dela segundu batzuk"
-#: template.php:104
+#: template.php:114
msgid "1 minute ago"
msgstr "orain dela minutu 1"
-#: template.php:105
+#: template.php:115
#, php-format
msgid "%d minutes ago"
msgstr "orain dela %d minutu"
-#: template.php:106
+#: template.php:116
msgid "1 hour ago"
msgstr "orain dela ordu bat"
-#: template.php:107
+#: template.php:117
#, php-format
msgid "%d hours ago"
msgstr "orain dela %d ordu"
-#: template.php:108
+#: template.php:118
msgid "today"
msgstr "gaur"
-#: template.php:109
+#: template.php:119
msgid "yesterday"
msgstr "atzo"
-#: template.php:110
+#: template.php:120
#, php-format
msgid "%d days ago"
msgstr "orain dela %d egun"
-#: template.php:111
+#: template.php:121
msgid "last month"
msgstr "joan den hilabetea"
-#: template.php:112
+#: template.php:122
#, php-format
msgid "%d months ago"
msgstr "orain dela %d hilabete"
-#: template.php:113
+#: template.php:123
msgid "last year"
msgstr "joan den urtea"
-#: template.php:114
+#: template.php:124
msgid "years ago"
msgstr "orain dela urte batzuk"
diff --git a/l10n/eu/settings.po b/l10n/eu/settings.po
index 93231c3514a..dff5792f80e 100644
--- a/l10n/eu/settings.po
+++ b/l10n/eu/settings.po
@@ -3,6 +3,7 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# <asieriko@gmail.com>, 2013.
# <asieriko@gmail.com>, 2012.
# Asier Urio Larrea <asieriko@gmail.com>, 2011.
# Piarres Beobide <pi@beobide.net>, 2012.
@@ -10,9 +11,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-21 00:10+0100\n"
-"PO-Revision-Date: 2012-12-19 23:20+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-20 00:05+0100\n"
+"PO-Revision-Date: 2013-01-19 00:06+0000\n"
+"Last-Translator: asieriko <asieriko@gmail.com>\n"
"Language-Team: Basque (http://www.transifex.com/projects/p/owncloud/language/eu/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -32,7 +33,7 @@ msgstr "Taldea dagoeneko existitzenda"
msgid "Unable to add group"
msgstr "Ezin izan da taldea gehitu"
-#: ajax/enableapp.php:12
+#: ajax/enableapp.php:11
msgid "Could not enable app. "
msgstr "Ezin izan da aplikazioa gaitu."
@@ -44,14 +45,6 @@ msgstr "Eposta gorde da"
msgid "Invalid email"
msgstr "Baliogabeko eposta"
-#: ajax/openid.php:13
-msgid "OpenID Changed"
-msgstr "OpenID aldatuta"
-
-#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20
-msgid "Invalid request"
-msgstr "Baliogabeko eskaria"
-
#: ajax/removegroup.php:13
msgid "Unable to delete group"
msgstr "Ezin izan da taldea ezabatu"
@@ -68,6 +61,10 @@ msgstr "Ezin izan da erabiltzailea ezabatu"
msgid "Language changed"
msgstr "Hizkuntza aldatuta"
+#: ajax/setlanguage.php:17 ajax/setlanguage.php:20
+msgid "Invalid request"
+msgstr "Baliogabeko eskaria"
+
#: ajax/togglegroups.php:12
msgid "Admins can't remove themself from the admin group"
msgstr "Kudeatzaileak ezin du bere burua kendu kudeatzaile taldetik"
@@ -120,27 +117,27 @@ msgstr "<span class=\"licence\"></span>-lizentziatua <span class=\"author\"></sp
#: templates/help.php:3
msgid "User Documentation"
-msgstr ""
+msgstr "Erabiltzaile dokumentazioa"
#: templates/help.php:4
msgid "Administrator Documentation"
-msgstr ""
+msgstr "Administradore dokumentazioa"
#: templates/help.php:6
msgid "Online Documentation"
-msgstr ""
+msgstr "Online dokumentazioa"
#: templates/help.php:7
msgid "Forum"
-msgstr ""
+msgstr "Foroa"
#: templates/help.php:9
msgid "Bugtracker"
-msgstr ""
+msgstr "Bugtracker"
#: templates/help.php:11
msgid "Commercial Support"
-msgstr ""
+msgstr "Babes komertziala"
#: templates/personal.php:8
#, php-format
@@ -153,17 +150,17 @@ msgstr "Bezeroak"
#: templates/personal.php:13
msgid "Download Desktop Clients"
-msgstr ""
+msgstr "Deskargatu mahaigainerako bezeroak"
#: templates/personal.php:14
msgid "Download Android Client"
-msgstr ""
+msgstr "Deskargatu Android bezeroa"
#: templates/personal.php:15
msgid "Download iOS Client"
-msgstr ""
+msgstr "Deskargatu iOS bezeroa"
-#: templates/personal.php:21 templates/users.php:23 templates/users.php:77
+#: templates/personal.php:21 templates/users.php:23 templates/users.php:82
msgid "Password"
msgstr "Pasahitza"
@@ -213,15 +210,15 @@ msgstr "Lagundu itzultzen"
#: templates/personal.php:52
msgid "WebDAV"
-msgstr ""
+msgstr "WebDAV"
#: templates/personal.php:54
msgid "Use this address to connect to your ownCloud in your file manager"
-msgstr ""
+msgstr "Erabili helbide hau zure fitxategi kudeatzailean zure ownCloudera konektatzeko"
#: templates/personal.php:63
msgid "Version"
-msgstr ""
+msgstr "Bertsioa"
#: templates/personal.php:65
msgid ""
@@ -233,11 +230,11 @@ msgid ""
"License\">AGPL</abbr></a>."
msgstr "<a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud komunitateak</a> garatuta, <a href=\"https://github.com/owncloud\" target=\"_blank\">itubruru kodea</a><a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr> lizentziarekin banatzen da</a>."
-#: templates/users.php:21 templates/users.php:76
+#: templates/users.php:21 templates/users.php:81
msgid "Name"
msgstr "Izena"
-#: templates/users.php:26 templates/users.php:78 templates/users.php:98
+#: templates/users.php:26 templates/users.php:83 templates/users.php:103
msgid "Groups"
msgstr "Taldeak"
@@ -246,21 +243,29 @@ msgid "Create"
msgstr "Sortu"
#: templates/users.php:35
-msgid "Default Quota"
-msgstr "Kuota lehentsia"
+msgid "Default Storage"
+msgstr "Lehenetsitako Biltegiratzea"
-#: templates/users.php:55 templates/users.php:138
+#: templates/users.php:42 templates/users.php:138
+msgid "Unlimited"
+msgstr "Mugarik gabe"
+
+#: templates/users.php:60 templates/users.php:153
msgid "Other"
msgstr "Besteak"
-#: templates/users.php:80 templates/users.php:112
+#: templates/users.php:85 templates/users.php:117
msgid "Group Admin"
msgstr "Talde administradorea"
-#: templates/users.php:82
-msgid "Quota"
-msgstr "Kuota"
+#: templates/users.php:87
+msgid "Storage"
+msgstr "Biltegiratzea"
+
+#: templates/users.php:133
+msgid "Default"
+msgstr "Lehenetsia"
-#: templates/users.php:146
+#: templates/users.php:161
msgid "Delete"
msgstr "Ezabatu"
diff --git a/l10n/eu/user_ldap.po b/l10n/eu/user_ldap.po
index 262c0ba4f38..546e28b0d75 100644
--- a/l10n/eu/user_ldap.po
+++ b/l10n/eu/user_ldap.po
@@ -3,14 +3,15 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# <asieriko@gmail.com>, 2013.
# <asieriko@gmail.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-15 00:11+0100\n"
-"PO-Revision-Date: 2012-12-14 23:11+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-20 00:05+0100\n"
+"PO-Revision-Date: 2013-01-19 00:01+0000\n"
+"Last-Translator: asieriko <asieriko@gmail.com>\n"
"Language-Team: Basque (http://www.transifex.com/projects/p/owncloud/language/eu/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -23,13 +24,13 @@ msgid ""
"<b>Warning:</b> Apps user_ldap and user_webdavauth are incompatible. You may"
" experience unexpected behaviour. Please ask your system administrator to "
"disable one of them."
-msgstr ""
+msgstr "<b>Abisua:</b> user_ldap eta user_webdavauth aplikazioak bateraezinak dira. Portaera berezia izan dezakezu. Mesedez eskatu zure sistema kudeatzaileari bietako bat desgaitzeko."
#: templates/settings.php:11
msgid ""
-"<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will"
-" not work. Please ask your system administrator to install it."
-msgstr ""
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not "
+"work. Please ask your system administrator to install it."
+msgstr "<b>Abisua:</b> PHPk behar duen LDAP modulua ez dago instalaturik, motorrak ez du funtzionatuko. Mesedez eskatu zure sistema kudeatzaileari instala dezan."
#: templates/settings.php:15
msgid "Host"
@@ -45,6 +46,10 @@ msgid "Base DN"
msgstr "Oinarrizko DN"
#: templates/settings.php:16
+msgid "One Base DN per line"
+msgstr "DN Oinarri bat lerroko"
+
+#: templates/settings.php:16
msgid "You can specify Base DN for users and groups in the Advanced tab"
msgstr "Erabiltzaile eta taldeentzako Oinarrizko DN zehaztu dezakezu Aurreratu fitxan"
@@ -115,10 +120,18 @@ msgstr "Portua"
msgid "Base User Tree"
msgstr "Oinarrizko Erabiltzaile Zuhaitza"
+#: templates/settings.php:25
+msgid "One User Base DN per line"
+msgstr "Erabiltzaile DN Oinarri bat lerroko"
+
#: templates/settings.php:26
msgid "Base Group Tree"
msgstr "Oinarrizko Talde Zuhaitza"
+#: templates/settings.php:26
+msgid "One Group Base DN per line"
+msgstr "Talde DN Oinarri bat lerroko"
+
#: templates/settings.php:27
msgid "Group-Member association"
msgstr "Talde-Kide elkarketak"
diff --git a/l10n/eu/user_webdavauth.po b/l10n/eu/user_webdavauth.po
index b7e5b1a0d37..ada89a92f4d 100644
--- a/l10n/eu/user_webdavauth.po
+++ b/l10n/eu/user_webdavauth.po
@@ -3,14 +3,15 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# <asieriko@gmail.com>, 2013.
# <asieriko@gmail.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-20 00:11+0100\n"
-"PO-Revision-Date: 2012-12-19 23:12+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-20 00:05+0100\n"
+"PO-Revision-Date: 2013-01-18 23:47+0000\n"
+"Last-Translator: asieriko <asieriko@gmail.com>\n"
"Language-Team: Basque (http://www.transifex.com/projects/p/owncloud/language/eu/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,13 +19,17 @@ msgstr ""
"Language: eu\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+#: templates/settings.php:3
+msgid "WebDAV Authentication"
+msgstr "WebDAV Autentikazioa"
+
#: templates/settings.php:4
msgid "URL: http://"
-msgstr ""
+msgstr "URL: http://"
#: templates/settings.php:6
msgid ""
-"ownCloud will send the user credentials to this URL is interpret http 401 "
-"and http 403 as credentials wrong and all other codes as credentials "
-"correct."
-msgstr ""
+"ownCloud will send the user credentials to this URL. 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 "ownCloudek erabiltzailearen kredentzialak URL honetara bidaliko ditu. Plugin honek erantzuna aztertzen du eta HTTP 401 eta 403 egoera kodeak baliogabezko kredentzialtzat hartuko ditu, beste erantzunak kredentzial egokitzat hartuko dituelarik."
diff --git a/l10n/fa/core.po b/l10n/fa/core.po
index 8b2531f874f..363c28a30ab 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: 2012-12-13 00:17+0100\n"
-"PO-Revision-Date: 2012-12-12 23:17+0000\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-21 08:21+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"
@@ -84,55 +84,55 @@ msgstr ""
msgid "Settings"
msgstr "تنظیمات"
-#: js/js.js:704
+#: js/js.js:706
msgid "seconds ago"
msgstr "ثانیه‌ها پیش"
-#: js/js.js:705
+#: js/js.js:707
msgid "1 minute ago"
msgstr "1 دقیقه پیش"
-#: js/js.js:706
+#: js/js.js:708
msgid "{minutes} minutes ago"
msgstr ""
-#: js/js.js:707
+#: js/js.js:709
msgid "1 hour ago"
msgstr ""
-#: js/js.js:708
+#: js/js.js:710
msgid "{hours} hours ago"
msgstr ""
-#: js/js.js:709
+#: js/js.js:711
msgid "today"
msgstr "امروز"
-#: js/js.js:710
+#: js/js.js:712
msgid "yesterday"
msgstr "دیروز"
-#: js/js.js:711
+#: js/js.js:713
msgid "{days} days ago"
msgstr ""
-#: js/js.js:712
+#: js/js.js:714
msgid "last month"
msgstr "ماه قبل"
-#: js/js.js:713
+#: js/js.js:715
msgid "{months} months ago"
msgstr ""
-#: js/js.js:714
+#: js/js.js:716
msgid "months ago"
msgstr "ماه‌های قبل"
-#: js/js.js:715
+#: js/js.js:717
msgid "last year"
msgstr "سال قبل"
-#: js/js.js:716
+#: js/js.js:718
msgid "years ago"
msgstr "سال‌های قبل"
@@ -162,8 +162,8 @@ msgid "The object type is not specified."
msgstr ""
#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136
-#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:541
-#: js/share.js:553
+#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:554
+#: js/share.js:566
msgid "Error"
msgstr "خطا"
@@ -175,7 +175,7 @@ msgstr ""
msgid "The required file {file} is not installed!"
msgstr ""
-#: js/share.js:124 js/share.js:581
+#: js/share.js:124 js/share.js:594
msgid "Error while sharing"
msgstr ""
@@ -203,12 +203,11 @@ msgstr ""
msgid "Share with link"
msgstr ""
-#: js/share.js:164
+#: js/share.js:166
msgid "Password protect"
msgstr ""
-#: js/share.js:168 templates/installation.php:42 templates/login.php:24
-#: templates/verify.php:13
+#: js/share.js:168 templates/installation.php:44 templates/login.php:35
msgid "Password"
msgstr "گذرواژه"
@@ -246,7 +245,7 @@ msgstr ""
#: js/share.js:296
msgid "Unshare"
-msgstr ""
+msgstr "لغو اشتراک"
#: js/share.js:308
msgid "can edit"
@@ -272,23 +271,23 @@ msgstr ""
msgid "share"
msgstr ""
-#: js/share.js:353 js/share.js:528 js/share.js:530
+#: js/share.js:356 js/share.js:541
msgid "Password protected"
msgstr ""
-#: js/share.js:541
+#: js/share.js:554
msgid "Error unsetting expiration date"
msgstr ""
-#: js/share.js:553
+#: js/share.js:566
msgid "Error setting expiration date"
msgstr ""
-#: js/share.js:568
+#: js/share.js:581
msgid "Sending ..."
msgstr ""
-#: js/share.js:579
+#: js/share.js:592
msgid "Email sent"
msgstr ""
@@ -312,8 +311,8 @@ msgstr ""
msgid "Request failed!"
msgstr ""
-#: lostpassword/templates/lostpassword.php:11 templates/installation.php:38
-#: templates/login.php:20
+#: lostpassword/templates/lostpassword.php:11 templates/installation.php:39
+#: templates/login.php:28
msgid "Username"
msgstr "شناسه"
@@ -402,124 +401,124 @@ msgstr ""
msgid "Create an <strong>admin account</strong>"
msgstr "Ù„Ø·ÙØ§ یک <strong> شناسه برای مدیر</strong> بسازید"
-#: templates/installation.php:48
+#: templates/installation.php:50
msgid "Advanced"
msgstr "حرÙÙ‡ ای"
-#: templates/installation.php:50
+#: templates/installation.php:52
msgid "Data folder"
msgstr "پوشه اطلاعاتی"
-#: templates/installation.php:57
+#: templates/installation.php:59
msgid "Configure the database"
msgstr "پایگاه داده برنامه ریزی شدند"
-#: templates/installation.php:62 templates/installation.php:73
-#: templates/installation.php:83 templates/installation.php:93
+#: templates/installation.php:64 templates/installation.php:75
+#: templates/installation.php:85 templates/installation.php:95
msgid "will be used"
msgstr "Ø§Ø³ØªÙØ§Ø¯Ù‡ خواهد شد"
-#: templates/installation.php:105
+#: templates/installation.php:107
msgid "Database user"
msgstr "شناسه پایگاه داده"
-#: templates/installation.php:109
+#: templates/installation.php:111
msgid "Database password"
msgstr "پسورد پایگاه داده"
-#: templates/installation.php:113
+#: templates/installation.php:115
msgid "Database name"
msgstr "نام پایگاه داده"
-#: templates/installation.php:121
+#: templates/installation.php:123
msgid "Database tablespace"
msgstr ""
-#: templates/installation.php:127
+#: templates/installation.php:129
msgid "Database host"
msgstr "هاست پایگاه داده"
-#: templates/installation.php:132
+#: templates/installation.php:134
msgid "Finish setup"
msgstr "اتمام نصب"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
+#: templates/layout.guest.php:15 templates/layout.user.php:17
msgid "Sunday"
msgstr "یکشنبه"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
+#: templates/layout.guest.php:15 templates/layout.user.php:17
msgid "Monday"
msgstr "دوشنبه"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
+#: templates/layout.guest.php:15 templates/layout.user.php:17
msgid "Tuesday"
msgstr "سه شنبه"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
+#: templates/layout.guest.php:15 templates/layout.user.php:17
msgid "Wednesday"
msgstr "چهارشنبه"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
+#: templates/layout.guest.php:15 templates/layout.user.php:17
msgid "Thursday"
msgstr "پنجشنبه"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
+#: templates/layout.guest.php:15 templates/layout.user.php:17
msgid "Friday"
msgstr "جمعه"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
+#: templates/layout.guest.php:15 templates/layout.user.php:17
msgid "Saturday"
msgstr "شنبه"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "January"
msgstr "ژانویه"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "February"
msgstr "ÙØ¨Ø±ÛŒÙ‡"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "March"
msgstr "مارس"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "April"
msgstr "آوریل"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "May"
msgstr "می"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "June"
msgstr "ژوئن"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "July"
msgstr "جولای"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "August"
msgstr "آگوست"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "September"
msgstr "سپتامبر"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "October"
msgstr "اکتبر"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "November"
msgstr "نوامبر"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "December"
msgstr "دسامبر"
-#: templates/layout.guest.php:42
+#: templates/layout.guest.php:41
msgid "web services under your control"
msgstr "سرویس وب تحت کنترل شما"
@@ -527,36 +526,32 @@ msgstr "سرویس وب تحت کنترل شما"
msgid "Log out"
msgstr "خروج"
-#: templates/login.php:8
+#: templates/login.php:10
msgid "Automatic logon rejected!"
msgstr ""
-#: templates/login.php:9
+#: templates/login.php:11
msgid ""
"If you did not change your password recently, your account may be "
"compromised!"
msgstr ""
-#: templates/login.php:10
+#: templates/login.php:13
msgid "Please change your password to secure your account again."
msgstr ""
-#: templates/login.php:15
+#: templates/login.php:19
msgid "Lost your password?"
msgstr "آیا گذرواژه تان را به یاد نمی آورید؟"
-#: templates/login.php:27
+#: templates/login.php:39
msgid "remember"
msgstr "بیاد آوری"
-#: templates/login.php:28
+#: templates/login.php:41
msgid "Log in"
msgstr "ورود"
-#: templates/logout.php:1
-msgid "You are logged out."
-msgstr "شما خارج شدید"
-
#: templates/part.pagenavi.php:3
msgid "prev"
msgstr "بازگشت"
@@ -565,16 +560,7 @@ msgstr "بازگشت"
msgid "next"
msgstr "بعدی"
-#: templates/verify.php:5
-msgid "Security Warning!"
-msgstr ""
-
-#: templates/verify.php:6
-msgid ""
-"Please verify your password. <br/>For security reasons you may be "
-"occasionally asked to enter your password again."
-msgstr ""
-
-#: templates/verify.php:16
-msgid "Verify"
+#: templates/update.php:3
+#, php-format
+msgid "Updating ownCloud to version %s, this may take a while."
msgstr ""
diff --git a/l10n/fa/files.po b/l10n/fa/files.po
index 7e13f99c90f..287637e3398 100644
--- a/l10n/fa/files.po
+++ b/l10n/fa/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: 2012-12-01 00:01+0100\n"
-"PO-Revision-Date: 2012-11-30 23:02+0000\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-21 08:21+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"
@@ -20,46 +20,77 @@ msgstr ""
"Language: fa\n"
"Plural-Forms: nplurals=1; plural=0;\n"
+#: ajax/delete.php:28 ajax/getstoragestats.php:11 ajax/upload.php:17
+#: ajax/upload.php:76 templates/index.php:18
+msgid "Upload"
+msgstr "بارگذاری"
+
+#: ajax/move.php:17
+#, php-format
+msgid "Could not move %s - File with this name already exists"
+msgstr ""
+
+#: ajax/move.php:24
+#, php-format
+msgid "Could not move %s"
+msgstr ""
+
+#: ajax/rename.php:19
+msgid "Unable to rename file"
+msgstr ""
+
#: ajax/upload.php:20
+msgid "No file was uploaded. Unknown error"
+msgstr "هیچ ÙØ§ÛŒÙ„ÛŒ آپلود نشد.خطای ناشناس"
+
+#: ajax/upload.php:30
msgid "There is no error, the file uploaded with success"
msgstr "هیچ خطایی وجود ندارد ÙØ§ÛŒÙ„ با موÙقیت بار گذاری شد"
-#: ajax/upload.php:21
+#: ajax/upload.php:31
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr ""
-#: ajax/upload.php:23
+#: ajax/upload.php:33
msgid ""
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
"the HTML form"
msgstr "حداکثر حجم مجاز برای بارگذاری از طریق HTML \nMAX_FILE_SIZE"
-#: ajax/upload.php:25
+#: ajax/upload.php:35
msgid "The uploaded file was only partially uploaded"
msgstr "مقدار Ú©Ù…ÛŒ از ÙØ§ÛŒÙ„ بارگذاری شده"
-#: ajax/upload.php:26
+#: ajax/upload.php:36
msgid "No file was uploaded"
msgstr "هیچ ÙØ§ÛŒÙ„ÛŒ بارگذاری نشده"
-#: ajax/upload.php:27
+#: ajax/upload.php:37
msgid "Missing a temporary folder"
msgstr "یک پوشه موقت گم شده است"
-#: ajax/upload.php:28
+#: ajax/upload.php:38
msgid "Failed to write to disk"
msgstr "نوشتن بر روی دیسک سخت ناموÙÙ‚ بود"
+#: ajax/upload.php:57
+msgid "Not enough space available"
+msgstr ""
+
+#: ajax/upload.php:91
+msgid "Invalid directory."
+msgstr ""
+
#: appinfo/app.php:10
msgid "Files"
msgstr "ÙØ§ÛŒÙ„ ها"
-#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84
+#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
msgid "Unshare"
-msgstr ""
+msgstr "لغو اشتراک"
-#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90
+#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
msgid "Delete"
msgstr "پاک کردن"
@@ -67,122 +98,136 @@ msgstr "پاک کردن"
msgid "Rename"
msgstr "تغییرنام"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "{new_name} already exists"
msgstr ""
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "replace"
msgstr "جایگزین"
-#: js/filelist.js:201
+#: js/filelist.js:205
msgid "suggest name"
msgstr ""
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "cancel"
msgstr "لغو"
-#: js/filelist.js:250
+#: js/filelist.js:254
msgid "replaced {new_name}"
msgstr ""
-#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286
+#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
msgid "undo"
msgstr "بازگشت"
-#: js/filelist.js:252
+#: js/filelist.js:256
msgid "replaced {new_name} with {old_name}"
msgstr ""
-#: js/filelist.js:284
+#: js/filelist.js:288
msgid "unshared {files}"
msgstr ""
-#: js/filelist.js:286
+#: js/filelist.js:290
msgid "deleted {files}"
msgstr ""
-#: js/files.js:33
+#: js/files.js:48
+msgid "'.' is an invalid file name."
+msgstr ""
+
+#: js/files.js:53
+msgid "File name cannot be empty."
+msgstr ""
+
+#: js/files.js:62
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr ""
-#: js/files.js:183
-msgid "generating ZIP-file, it may take some time."
-msgstr "در حال ساخت ÙØ§ÛŒÙ„ ÙØ´Ø±Ø¯Ù‡ ممکن است زمان زیادی به طول بیانجامد"
+#: js/files.js:204
+msgid ""
+"Your download is being prepared. This might take some time if the files are "
+"big."
+msgstr ""
-#: js/files.js:218
+#: js/files.js:242
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr "ناتوان در بارگذاری یا ÙØ§ÛŒÙ„ یک پوشه است یا 0بایت دارد"
-#: js/files.js:218
+#: js/files.js:242
msgid "Upload Error"
msgstr "خطا در بار گذاری"
-#: js/files.js:235
+#: js/files.js:259
msgid "Close"
msgstr "بستن"
-#: js/files.js:254 js/files.js:368 js/files.js:398
+#: js/files.js:278 js/files.js:397 js/files.js:431
msgid "Pending"
msgstr "در انتظار"
-#: js/files.js:274
+#: js/files.js:298
msgid "1 file uploading"
msgstr ""
-#: js/files.js:277 js/files.js:331 js/files.js:346
+#: js/files.js:301 js/files.js:357 js/files.js:372
msgid "{count} files uploading"
msgstr ""
-#: js/files.js:349 js/files.js:382
+#: js/files.js:376 js/files.js:414
msgid "Upload cancelled."
msgstr "بار گذاری لغو شد"
-#: js/files.js:451
+#: js/files.js:486
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr ""
-#: js/files.js:523
-msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud"
+#: js/files.js:559
+msgid "URL cannot be empty."
msgstr ""
-#: js/files.js:704
+#: js/files.js:565
+msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
+msgstr ""
+
+#: js/files.js:775
msgid "{count} files scanned"
msgstr ""
-#: js/files.js:712
+#: js/files.js:783
msgid "error while scanning"
msgstr ""
-#: js/files.js:785 templates/index.php:65
+#: js/files.js:857 templates/index.php:64
msgid "Name"
msgstr "نام"
-#: js/files.js:786 templates/index.php:76
+#: js/files.js:858 templates/index.php:75
msgid "Size"
msgstr "اندازه"
-#: js/files.js:787 templates/index.php:78
+#: js/files.js:859 templates/index.php:77
msgid "Modified"
msgstr "تغییر ÛŒØ§ÙØªÙ‡"
-#: js/files.js:814
+#: js/files.js:878
msgid "1 folder"
msgstr ""
-#: js/files.js:816
+#: js/files.js:880
msgid "{count} folders"
msgstr ""
-#: js/files.js:824
+#: js/files.js:888
msgid "1 file"
msgstr ""
-#: js/files.js:826
+#: js/files.js:890
msgid "{count} files"
msgstr ""
@@ -194,27 +239,27 @@ msgstr "اداره پرونده ها"
msgid "Maximum upload size"
msgstr "حداکثر اندازه بارگزاری"
-#: templates/admin.php:9
+#: templates/admin.php:10
msgid "max. possible: "
msgstr "حداکثرمقدارممکن:"
-#: templates/admin.php:12
+#: templates/admin.php:15
msgid "Needed for multi-file and folder downloads."
msgstr "احتیاج پیدا خواهد شد برای چند پوشه و پرونده"
-#: templates/admin.php:14
+#: templates/admin.php:17
msgid "Enable ZIP-download"
msgstr "ÙØ¹Ø§Ù„ سازی بارگیری پرونده های ÙØ´Ø±Ø¯Ù‡"
-#: templates/admin.php:17
+#: templates/admin.php:20
msgid "0 is unlimited"
msgstr "0 نامحدود است"
-#: templates/admin.php:19
+#: templates/admin.php:22
msgid "Maximum input size for ZIP files"
msgstr "حداکثرمقدار برای بار گزاری پرونده های ÙØ´Ø±Ø¯Ù‡"
-#: templates/admin.php:23
+#: templates/admin.php:26
msgid "Save"
msgstr "ذخیره"
@@ -234,36 +279,32 @@ msgstr "پوشه"
msgid "From link"
msgstr ""
-#: templates/index.php:35
-msgid "Upload"
-msgstr "بارگذاری"
-
-#: templates/index.php:43
+#: templates/index.php:41
msgid "Cancel upload"
msgstr "متوق٠کردن بار گذاری"
-#: templates/index.php:57
+#: templates/index.php:56
msgid "Nothing in here. Upload something!"
msgstr "اینجا هیچ چیز نیست."
-#: templates/index.php:71
+#: templates/index.php:70
msgid "Download"
msgstr "بارگیری"
-#: templates/index.php:103
+#: templates/index.php:102
msgid "Upload too large"
msgstr "حجم بارگذاری بسیار زیاد است"
-#: templates/index.php:105
+#: templates/index.php:104
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:110
+#: templates/index.php:109
msgid "Files are being scanned, please wait."
msgstr "پرونده ها در حال بازرسی هستند Ù„Ø·ÙØ§ صبر کنید"
-#: templates/index.php:113
+#: templates/index.php:112
msgid "Current scanning"
msgstr "بازرسی کنونی"
diff --git a/l10n/fa/files_encryption.po b/l10n/fa/files_encryption.po
index 74f153d436e..b5ac04c90a9 100644
--- a/l10n/fa/files_encryption.po
+++ b/l10n/fa/files_encryption.po
@@ -9,9 +9,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-11-15 00:02+0100\n"
-"PO-Revision-Date: 2012-11-14 08:31+0000\n"
-"Last-Translator: basir <basir.jafarzadeh@gmail.com>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -19,18 +19,66 @@ msgstr ""
"Language: fa\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "رمزگذاری"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "نادیده Ú¯Ø±ÙØªÙ† ÙØ§ÛŒÙ„ های زیر برای رمز گذاری"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "هیچ‌کدام"
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "ÙØ¹Ø§Ù„ کردن رمزگذاری"
diff --git a/l10n/fa/files_versions.po b/l10n/fa/files_versions.po
index b7da17a8178..7e657a47ca6 100644
--- a/l10n/fa/files_versions.po
+++ b/l10n/fa/files_versions.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-09-22 01:14+0200\n"
-"PO-Revision-Date: 2012-09-21 23:15+0000\n"
-"Last-Translator: I Robot <thomas.mueller@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,22 +18,10 @@ msgstr ""
"Language: fa\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: js/settings-personal.js:31 templates/settings-personal.php:10
-msgid "Expire all versions"
-msgstr "انقضای تمامی نسخه‌ها"
-
#: js/versions.js:16
msgid "History"
msgstr ""
-#: templates/settings-personal.php:4
-msgid "Versions"
-msgstr ""
-
-#: templates/settings-personal.php:7
-msgid "This will delete all existing backup versions of your files"
-msgstr ""
-
#: templates/settings.php:3
msgid "Files Versioning"
msgstr ""
diff --git a/l10n/fa/lib.po b/l10n/fa/lib.po
index 44408cc66f7..52e8d62eef4 100644
--- a/l10n/fa/lib.po
+++ b/l10n/fa/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: 2012-11-16 00:02+0100\n"
-"PO-Revision-Date: 2012-11-14 23:13+0000\n"
+"POT-Creation-Date: 2013-01-17 00:26+0100\n"
+"PO-Revision-Date: 2013-01-16 23:26+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"
@@ -18,51 +18,55 @@ msgstr ""
"Language: fa\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: app.php:285
+#: app.php:301
msgid "Help"
msgstr "راه‌نما"
-#: app.php:292
+#: app.php:308
msgid "Personal"
msgstr "شخصی"
-#: app.php:297
+#: app.php:313
msgid "Settings"
msgstr "تنظیمات"
-#: app.php:302
+#: app.php:318
msgid "Users"
msgstr "کاربران"
-#: app.php:309
+#: app.php:325
msgid "Apps"
msgstr ""
-#: app.php:311
+#: app.php:327
msgid "Admin"
msgstr "مدیر"
-#: files.php:332
+#: files.php:365
msgid "ZIP download is turned off."
msgstr ""
-#: files.php:333
+#: files.php:366
msgid "Files need to be downloaded one by one."
msgstr ""
-#: files.php:333 files.php:358
+#: files.php:366 files.php:391
msgid "Back to Files"
msgstr ""
-#: files.php:357
+#: files.php:390
msgid "Selected files too large to generate zip file."
msgstr ""
+#: helper.php:228
+msgid "couldn't be determined"
+msgstr ""
+
#: json.php:28
msgid "Application is not enabled"
msgstr ""
-#: json.php:39 json.php:64 json.php:77 json.php:89
+#: json.php:39 json.php:62 json.php:73
msgid "Authentication error"
msgstr "خطا در اعتبار سنجی"
@@ -82,55 +86,55 @@ msgstr "متن"
msgid "Images"
msgstr ""
-#: template.php:103
+#: template.php:113
msgid "seconds ago"
msgstr "ثانیه‌ها پیش"
-#: template.php:104
+#: template.php:114
msgid "1 minute ago"
msgstr "1 دقیقه پیش"
-#: template.php:105
+#: template.php:115
#, php-format
msgid "%d minutes ago"
msgstr "%d دقیقه پیش"
-#: template.php:106
+#: template.php:116
msgid "1 hour ago"
msgstr ""
-#: template.php:107
+#: template.php:117
#, php-format
msgid "%d hours ago"
msgstr ""
-#: template.php:108
+#: template.php:118
msgid "today"
msgstr "امروز"
-#: template.php:109
+#: template.php:119
msgid "yesterday"
msgstr "دیروز"
-#: template.php:110
+#: template.php:120
#, php-format
msgid "%d days ago"
msgstr ""
-#: template.php:111
+#: template.php:121
msgid "last month"
msgstr "ماه قبل"
-#: template.php:112
+#: template.php:122
#, php-format
msgid "%d months ago"
msgstr ""
-#: template.php:113
+#: template.php:123
msgid "last year"
msgstr "سال قبل"
-#: template.php:114
+#: template.php:124
msgid "years ago"
msgstr "سال‌های قبل"
diff --git a/l10n/fa/settings.po b/l10n/fa/settings.po
index 3d7035f89a2..20aa22599b1 100644
--- a/l10n/fa/settings.po
+++ b/l10n/fa/settings.po
@@ -11,8 +11,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-21 00:10+0100\n"
-"PO-Revision-Date: 2012-12-19 23:20+0000\n"
+"POT-Creation-Date: 2013-01-12 00:09+0100\n"
+"PO-Revision-Date: 2013-01-11 23:09+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"
@@ -33,7 +33,7 @@ msgstr ""
msgid "Unable to add group"
msgstr ""
-#: ajax/enableapp.php:12
+#: ajax/enableapp.php:11
msgid "Could not enable app. "
msgstr ""
@@ -45,14 +45,6 @@ msgstr "ایمیل ذخیره شد"
msgid "Invalid email"
msgstr "ایمیل غیر قابل قبول"
-#: ajax/openid.php:13
-msgid "OpenID Changed"
-msgstr "OpenID تغییر کرد"
-
-#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20
-msgid "Invalid request"
-msgstr "درخواست غیر قابل قبول"
-
#: ajax/removegroup.php:13
msgid "Unable to delete group"
msgstr ""
@@ -69,6 +61,10 @@ msgstr ""
msgid "Language changed"
msgstr "زبان تغییر کرد"
+#: ajax/setlanguage.php:17 ajax/setlanguage.php:20
+msgid "Invalid request"
+msgstr "درخواست غیر قابل قبول"
+
#: ajax/togglegroups.php:12
msgid "Admins can't remove themself from the admin group"
msgstr ""
@@ -164,7 +160,7 @@ msgstr ""
msgid "Download iOS Client"
msgstr ""
-#: templates/personal.php:21 templates/users.php:23 templates/users.php:77
+#: templates/personal.php:21 templates/users.php:23 templates/users.php:82
msgid "Password"
msgstr "گذرواژه"
@@ -234,11 +230,11 @@ msgid ""
"License\">AGPL</abbr></a>."
msgstr ""
-#: templates/users.php:21 templates/users.php:76
+#: templates/users.php:21 templates/users.php:81
msgid "Name"
msgstr "نام"
-#: templates/users.php:26 templates/users.php:78 templates/users.php:98
+#: templates/users.php:26 templates/users.php:83 templates/users.php:103
msgid "Groups"
msgstr "گروه ها"
@@ -247,21 +243,29 @@ msgid "Create"
msgstr "ایجاد کردن"
#: templates/users.php:35
-msgid "Default Quota"
-msgstr "سهم پیش ÙØ±Ø¶"
+msgid "Default Storage"
+msgstr ""
+
+#: templates/users.php:42 templates/users.php:138
+msgid "Unlimited"
+msgstr ""
-#: templates/users.php:55 templates/users.php:138
+#: templates/users.php:60 templates/users.php:153
msgid "Other"
msgstr "سایر"
-#: templates/users.php:80 templates/users.php:112
+#: templates/users.php:85 templates/users.php:117
msgid "Group Admin"
msgstr ""
-#: templates/users.php:82
-msgid "Quota"
-msgstr "سهم"
+#: templates/users.php:87
+msgid "Storage"
+msgstr ""
+
+#: templates/users.php:133
+msgid "Default"
+msgstr ""
-#: templates/users.php:146
+#: templates/users.php:161
msgid "Delete"
msgstr "پاک کردن"
diff --git a/l10n/fa/user_ldap.po b/l10n/fa/user_ldap.po
index f7e8c607e27..b9a2a147546 100644
--- a/l10n/fa/user_ldap.po
+++ b/l10n/fa/user_ldap.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-15 00:11+0100\n"
-"PO-Revision-Date: 2012-12-14 23:11+0000\n"
+"POT-Creation-Date: 2013-01-16 00:19+0100\n"
+"PO-Revision-Date: 2013-01-15 23:20+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"
@@ -27,8 +27,8 @@ msgstr ""
#: templates/settings.php:11
msgid ""
-"<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will"
-" not work. Please ask your system administrator to install it."
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not "
+"work. Please ask your system administrator to install it."
msgstr ""
#: templates/settings.php:15
@@ -45,6 +45,10 @@ msgid "Base DN"
msgstr ""
#: templates/settings.php:16
+msgid "One Base DN per line"
+msgstr ""
+
+#: templates/settings.php:16
msgid "You can specify Base DN for users and groups in the Advanced tab"
msgstr ""
@@ -115,10 +119,18 @@ msgstr ""
msgid "Base User Tree"
msgstr ""
+#: templates/settings.php:25
+msgid "One User Base DN per line"
+msgstr ""
+
#: templates/settings.php:26
msgid "Base Group Tree"
msgstr ""
+#: templates/settings.php:26
+msgid "One Group Base DN per line"
+msgstr ""
+
#: templates/settings.php:27
msgid "Group-Member association"
msgstr ""
diff --git a/l10n/fa/user_webdavauth.po b/l10n/fa/user_webdavauth.po
index 2987a7b6bdb..e4088da32dd 100644
--- a/l10n/fa/user_webdavauth.po
+++ b/l10n/fa/user_webdavauth.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-20 00:11+0100\n"
-"PO-Revision-Date: 2012-12-19 23:12+0000\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+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"
@@ -17,13 +17,17 @@ msgstr ""
"Language: fa\n"
"Plural-Forms: nplurals=1; plural=0;\n"
+#: templates/settings.php:3
+msgid "WebDAV Authentication"
+msgstr ""
+
#: templates/settings.php:4
msgid "URL: http://"
msgstr ""
#: templates/settings.php:6
msgid ""
-"ownCloud will send the user credentials to this URL is interpret http 401 "
-"and http 403 as credentials wrong and all other codes as credentials "
-"correct."
+"ownCloud will send the user credentials to this URL. 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 ""
diff --git a/l10n/fi_FI/core.po b/l10n/fi_FI/core.po
index c7c2c1c4a14..7aa46f13517 100644
--- a/l10n/fi_FI/core.po
+++ b/l10n/fi_FI/core.po
@@ -5,7 +5,7 @@
# Translators:
# <ari.takalo@iki.fi>, 2012.
# Jesse Jaara <jesse.jaara@gmail.com>, 2012.
-# Jiri Grönroos <jiri.gronroos@iki.fi>, 2012.
+# Jiri Grönroos <jiri.gronroos@iki.fi>, 2012-2013.
# Johannes Korpela <>, 2012.
# Pekka Sutela <pekka.sutela@gmail.com>, 2012.
# <tehoratopato@gmail.com>, 2012.
@@ -14,8 +14,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-15 00:11+0100\n"
-"PO-Revision-Date: 2012-12-14 13:22+0000\n"
+"POT-Creation-Date: 2013-01-16 00:19+0100\n"
+"PO-Revision-Date: 2013-01-15 09:13+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"
@@ -27,26 +27,26 @@ msgstr ""
#: ajax/share.php:84
#, php-format
msgid "User %s shared a file with you"
-msgstr ""
+msgstr "Käyttäjä %s jakoi tiedoston kanssasi"
#: ajax/share.php:86
#, php-format
msgid "User %s shared a folder with you"
-msgstr ""
+msgstr "Käyttäjä %s jakoi kansion kanssasi"
#: ajax/share.php:88
#, php-format
msgid ""
"User %s shared the file \"%s\" with you. It is available for download here: "
"%s"
-msgstr ""
+msgstr "Käyttäjä %s jakoi tiedoston \"%s\" kanssasi. Se on ladattavissa täältä: %s"
#: ajax/share.php:90
#, php-format
msgid ""
"User %s shared the folder \"%s\" with you. It is available for download "
"here: %s"
-msgstr ""
+msgstr "Käyttäjä %s jakoi kansion \"%s\" kanssasi. Se on ladattavissa täältä: %s"
#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25
msgid "Category type not provided."
@@ -75,7 +75,7 @@ msgstr ""
#: ajax/vcategories/addToFavorites.php:35
#, php-format
msgid "Error adding %s to favorites."
-msgstr ""
+msgstr "Virhe lisätessä kohdetta %s suosikkeihin."
#: ajax/vcategories/delete.php:35 js/oc-vcategories.js:136
msgid "No categories selected for deletion."
@@ -84,61 +84,61 @@ msgstr "Luokkia ei valittu poistettavaksi."
#: ajax/vcategories/removeFromFavorites.php:35
#, php-format
msgid "Error removing %s from favorites."
-msgstr ""
+msgstr "Virhe poistaessa kohdetta %s suosikeista."
#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61
msgid "Settings"
msgstr "Asetukset"
-#: js/js.js:704
+#: js/js.js:711
msgid "seconds ago"
msgstr "sekuntia sitten"
-#: js/js.js:705
+#: js/js.js:712
msgid "1 minute ago"
msgstr "1 minuutti sitten"
-#: js/js.js:706
+#: js/js.js:713
msgid "{minutes} minutes ago"
msgstr "{minutes} minuuttia sitten"
-#: js/js.js:707
+#: js/js.js:714
msgid "1 hour ago"
msgstr "1 tunti sitten"
-#: js/js.js:708
+#: js/js.js:715
msgid "{hours} hours ago"
msgstr "{hours} tuntia sitten"
-#: js/js.js:709
+#: js/js.js:716
msgid "today"
msgstr "tänään"
-#: js/js.js:710
+#: js/js.js:717
msgid "yesterday"
msgstr "eilen"
-#: js/js.js:711
+#: js/js.js:718
msgid "{days} days ago"
msgstr "{days} päivää sitten"
-#: js/js.js:712
+#: js/js.js:719
msgid "last month"
msgstr "viime kuussa"
-#: js/js.js:713
+#: js/js.js:720
msgid "{months} months ago"
msgstr "{months} kuukautta sitten"
-#: js/js.js:714
+#: js/js.js:721
msgid "months ago"
msgstr "kuukautta sitten"
-#: js/js.js:715
+#: js/js.js:722
msgid "last year"
msgstr "viime vuonna"
-#: js/js.js:716
+#: js/js.js:723
msgid "years ago"
msgstr "vuotta sitten"
@@ -168,8 +168,8 @@ msgid "The object type is not specified."
msgstr ""
#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136
-#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:541
-#: js/share.js:553
+#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:554
+#: js/share.js:566
msgid "Error"
msgstr "Virhe"
@@ -181,7 +181,7 @@ msgstr "Sovelluksen nimeä ei ole määritelty."
msgid "The required file {file} is not installed!"
msgstr "Vaadittua tiedostoa {file} ei ole asennettu!"
-#: js/share.js:124 js/share.js:581
+#: js/share.js:124 js/share.js:594
msgid "Error while sharing"
msgstr "Virhe jaettaessa"
@@ -195,26 +195,25 @@ msgstr "Virhe oikeuksia muuttaessa"
#: js/share.js:151
msgid "Shared with you and the group {group} by {owner}"
-msgstr ""
+msgstr "Jaettu sinun ja ryhmän {group} kanssa käyttäjän {owner} toimesta"
#: js/share.js:153
msgid "Shared with you by {owner}"
-msgstr ""
+msgstr "Jaettu kanssasi käyttäjän {owner} toimesta"
#: js/share.js:158
msgid "Share with"
-msgstr ""
+msgstr "Jaa"
#: js/share.js:163
msgid "Share with link"
msgstr "Jaa linkillä"
-#: js/share.js:164
+#: js/share.js:166
msgid "Password protect"
msgstr "Suojaa salasanalla"
-#: js/share.js:168 templates/installation.php:44 templates/login.php:26
-#: templates/verify.php:13
+#: js/share.js:168 templates/installation.php:44 templates/login.php:35
msgid "Password"
msgstr "Salasana"
@@ -278,23 +277,23 @@ msgstr "poista"
msgid "share"
msgstr "jaa"
-#: js/share.js:353 js/share.js:528 js/share.js:530
+#: js/share.js:356 js/share.js:541
msgid "Password protected"
msgstr "Salasanasuojattu"
-#: js/share.js:541
+#: js/share.js:554
msgid "Error unsetting expiration date"
msgstr "Virhe purettaessa eräpäivää"
-#: js/share.js:553
+#: js/share.js:566
msgid "Error setting expiration date"
msgstr "Virhe päättymispäivää asettaessa"
-#: js/share.js:568
+#: js/share.js:581
msgid "Sending ..."
msgstr "Lähetetään..."
-#: js/share.js:579
+#: js/share.js:592
msgid "Email sent"
msgstr "Sähköposti lähetetty"
@@ -312,14 +311,14 @@ msgstr "Saat sähköpostitse linkin nollataksesi salasanan."
#: lostpassword/templates/lostpassword.php:5
msgid "Reset email send."
-msgstr ""
+msgstr "Salasanan nollausviesti lähetetty."
#: lostpassword/templates/lostpassword.php:8
msgid "Request failed!"
msgstr "Pyyntö epäonnistui!"
#: lostpassword/templates/lostpassword.php:11 templates/installation.php:39
-#: templates/login.php:21
+#: templates/login.php:28
msgid "Username"
msgstr "Käyttäjätunnus"
@@ -533,36 +532,32 @@ msgstr "verkkopalvelut hallinnassasi"
msgid "Log out"
msgstr "Kirjaudu ulos"
-#: templates/login.php:8
+#: templates/login.php:10
msgid "Automatic logon rejected!"
msgstr "Automaattinen sisäänkirjautuminen hylättiin!"
-#: templates/login.php:9
+#: templates/login.php:11
msgid ""
"If you did not change your password recently, your account may be "
"compromised!"
msgstr "Jos et vaihtanut salasanaasi äskettäin, tilisi saattaa olla murrettu."
-#: templates/login.php:10
+#: templates/login.php:13
msgid "Please change your password to secure your account again."
msgstr "Vaihda salasanasi suojataksesi tilisi uudelleen."
-#: templates/login.php:15
+#: templates/login.php:19
msgid "Lost your password?"
msgstr "Unohditko salasanasi?"
-#: templates/login.php:29
+#: templates/login.php:39
msgid "remember"
msgstr "muista"
-#: templates/login.php:30
+#: templates/login.php:41
msgid "Log in"
msgstr "Kirjaudu sisään"
-#: templates/logout.php:1
-msgid "You are logged out."
-msgstr "Olet kirjautunut ulos."
-
#: templates/part.pagenavi.php:3
msgid "prev"
msgstr "edellinen"
@@ -571,16 +566,7 @@ msgstr "edellinen"
msgid "next"
msgstr "seuraava"
-#: templates/verify.php:5
-msgid "Security Warning!"
-msgstr "Turvallisuusvaroitus!"
-
-#: templates/verify.php:6
-msgid ""
-"Please verify your password. <br/>For security reasons you may be "
-"occasionally asked to enter your password again."
-msgstr "Vahvista salasanasi. <br/>Turvallisuussyistä sinulta saatetaan ajoittain kysyä salasanasi uudelleen."
-
-#: templates/verify.php:16
-msgid "Verify"
-msgstr "Vahvista"
+#: templates/update.php:3
+#, php-format
+msgid "Updating ownCloud to version %s, this may take a while."
+msgstr "Päivitetään ownCloud versioon %s, tämä saattaa kestää hetken."
diff --git a/l10n/fi_FI/files.po b/l10n/fi_FI/files.po
index e96dbeabb50..a0d18954d98 100644
--- a/l10n/fi_FI/files.po
+++ b/l10n/fi_FI/files.po
@@ -4,7 +4,7 @@
#
# Translators:
# Jesse Jaara <jesse.jaara@gmail.com>, 2012.
-# Jiri Grönroos <jiri.gronroos@iki.fi>, 2012.
+# Jiri Grönroos <jiri.gronroos@iki.fi>, 2012-2013.
# Johannes Korpela <>, 2012.
# <tehoratopato@gmail.com>, 2012.
# <tscooter@hotmail.com>, 2012.
@@ -12,9 +12,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-01 00:01+0100\n"
-"PO-Revision-Date: 2012-11-30 23:02+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-21 00:04+0100\n"
+"PO-Revision-Date: 2013-01-20 11:41+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"
@@ -22,46 +22,77 @@ msgstr ""
"Language: fi_FI\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+#: ajax/delete.php:28 ajax/getstoragestats.php:11 ajax/upload.php:17
+#: ajax/upload.php:76 templates/index.php:18
+msgid "Upload"
+msgstr "Lähetä"
+
+#: ajax/move.php:17
+#, php-format
+msgid "Could not move %s - File with this name already exists"
+msgstr "Kohteen %s siirto ei onnistunut - Tiedosto samalla nimellä on jo olemassa"
+
+#: ajax/move.php:24
+#, php-format
+msgid "Could not move %s"
+msgstr "Kohteen %s siirto ei onnistunut"
+
+#: ajax/rename.php:19
+msgid "Unable to rename file"
+msgstr "Tiedoston nimeäminen uudelleen ei onnistunut"
+
#: ajax/upload.php:20
+msgid "No file was uploaded. Unknown error"
+msgstr "Tiedostoa ei lähetetty. Tuntematon virhe"
+
+#: ajax/upload.php:30
msgid "There is no error, the file uploaded with success"
msgstr "Ei virheitä, tiedosto lähetettiin onnistuneesti"
-#: ajax/upload.php:21
+#: ajax/upload.php:31
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr ""
-#: ajax/upload.php:23
+#: ajax/upload.php:33
msgid ""
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
"the HTML form"
msgstr "Lähetetty tiedosto ylittää HTML-lomakkeessa määritetyn MAX_FILE_SIZE-arvon ylärajan"
-#: ajax/upload.php:25
+#: ajax/upload.php:35
msgid "The uploaded file was only partially uploaded"
msgstr "Tiedoston lähetys onnistui vain osittain"
-#: ajax/upload.php:26
+#: ajax/upload.php:36
msgid "No file was uploaded"
msgstr "Yhtäkään tiedostoa ei lähetetty"
-#: ajax/upload.php:27
+#: ajax/upload.php:37
msgid "Missing a temporary folder"
msgstr "Väliaikaiskansiota ei ole olemassa"
-#: ajax/upload.php:28
+#: ajax/upload.php:38
msgid "Failed to write to disk"
msgstr "Levylle kirjoitus epäonnistui"
+#: ajax/upload.php:57
+msgid "Not enough space available"
+msgstr "Tilaa ei ole riittävästi"
+
+#: ajax/upload.php:91
+msgid "Invalid directory."
+msgstr "Virheellinen kansio."
+
#: appinfo/app.php:10
msgid "Files"
msgstr "Tiedostot"
-#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84
+#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
msgid "Unshare"
msgstr "Peru jakaminen"
-#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90
+#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
msgid "Delete"
msgstr "Poista"
@@ -69,122 +100,136 @@ msgstr "Poista"
msgid "Rename"
msgstr "Nimeä uudelleen"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "{new_name} already exists"
msgstr "{new_name} on jo olemassa"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "replace"
msgstr "korvaa"
-#: js/filelist.js:201
+#: js/filelist.js:205
msgid "suggest name"
msgstr "ehdota nimeä"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "cancel"
msgstr "peru"
-#: js/filelist.js:250
+#: js/filelist.js:254
msgid "replaced {new_name}"
msgstr ""
-#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286
+#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
msgid "undo"
msgstr "kumoa"
-#: js/filelist.js:252
+#: js/filelist.js:256
msgid "replaced {new_name} with {old_name}"
msgstr ""
-#: js/filelist.js:284
+#: js/filelist.js:288
msgid "unshared {files}"
msgstr ""
-#: js/filelist.js:286
+#: js/filelist.js:290
msgid "deleted {files}"
msgstr ""
-#: js/files.js:33
+#: js/files.js:48
+msgid "'.' is an invalid file name."
+msgstr "'.' on virheellinen nimi tiedostolle."
+
+#: js/files.js:53
+msgid "File name cannot be empty."
+msgstr "Tiedoston nimi ei voi olla tyhjä."
+
+#: js/files.js:62
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr "Virheellinen nimi, merkit '\\', '/', '<', '>', ':', '\"', '|', '?' ja '*' eivät ole sallittuja."
-#: js/files.js:183
-msgid "generating ZIP-file, it may take some time."
-msgstr "luodaan ZIP-tiedostoa, tämä saattaa kestää hetken."
+#: js/files.js:204
+msgid ""
+"Your download is being prepared. This might take some time if the files are "
+"big."
+msgstr "Lataustasi valmistellaan. Tämä saattaa kestää hetken, jos tiedostot ovat suuria kooltaan."
-#: js/files.js:218
+#: js/files.js:242
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr "Tiedoston lähetys epäonnistui, koska sen koko on 0 tavua tai kyseessä on kansio"
-#: js/files.js:218
+#: js/files.js:242
msgid "Upload Error"
msgstr "Lähetysvirhe."
-#: js/files.js:235
+#: js/files.js:259
msgid "Close"
msgstr "Sulje"
-#: js/files.js:254 js/files.js:368 js/files.js:398
+#: js/files.js:278 js/files.js:397 js/files.js:431
msgid "Pending"
msgstr "Odottaa"
-#: js/files.js:274
+#: js/files.js:298
msgid "1 file uploading"
msgstr ""
-#: js/files.js:277 js/files.js:331 js/files.js:346
+#: js/files.js:301 js/files.js:357 js/files.js:372
msgid "{count} files uploading"
msgstr ""
-#: js/files.js:349 js/files.js:382
+#: js/files.js:376 js/files.js:414
msgid "Upload cancelled."
msgstr "Lähetys peruttu."
-#: js/files.js:451
+#: js/files.js:486
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr "Tiedoston lähetys on meneillään. Sivulta poistuminen nyt peruu tiedoston lähetyksen."
-#: js/files.js:523
-msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud"
+#: js/files.js:559
+msgid "URL cannot be empty."
+msgstr "Verkko-osoite ei voi olla tyhjä"
+
+#: js/files.js:565
+msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
msgstr ""
-#: js/files.js:704
+#: js/files.js:775
msgid "{count} files scanned"
msgstr ""
-#: js/files.js:712
+#: js/files.js:783
msgid "error while scanning"
msgstr ""
-#: js/files.js:785 templates/index.php:65
+#: js/files.js:857 templates/index.php:64
msgid "Name"
msgstr "Nimi"
-#: js/files.js:786 templates/index.php:76
+#: js/files.js:858 templates/index.php:75
msgid "Size"
msgstr "Koko"
-#: js/files.js:787 templates/index.php:78
+#: js/files.js:859 templates/index.php:77
msgid "Modified"
msgstr "Muutettu"
-#: js/files.js:814
+#: js/files.js:878
msgid "1 folder"
msgstr "1 kansio"
-#: js/files.js:816
+#: js/files.js:880
msgid "{count} folders"
msgstr "{count} kansiota"
-#: js/files.js:824
+#: js/files.js:888
msgid "1 file"
msgstr "1 tiedosto"
-#: js/files.js:826
+#: js/files.js:890
msgid "{count} files"
msgstr "{count} tiedostoa"
@@ -196,27 +241,27 @@ msgstr "Tiedostonhallinta"
msgid "Maximum upload size"
msgstr "Lähetettävän tiedoston suurin sallittu koko"
-#: templates/admin.php:9
+#: templates/admin.php:10
msgid "max. possible: "
msgstr "suurin mahdollinen:"
-#: templates/admin.php:12
+#: templates/admin.php:15
msgid "Needed for multi-file and folder downloads."
msgstr "Tarvitaan useampien tiedostojen ja kansioiden latausta varten."
-#: templates/admin.php:14
+#: templates/admin.php:17
msgid "Enable ZIP-download"
msgstr "Ota ZIP-paketin lataaminen käytöön"
-#: templates/admin.php:17
+#: templates/admin.php:20
msgid "0 is unlimited"
msgstr "0 on rajoittamaton"
-#: templates/admin.php:19
+#: templates/admin.php:22
msgid "Maximum input size for ZIP files"
msgstr "ZIP-tiedostojen enimmäiskoko"
-#: templates/admin.php:23
+#: templates/admin.php:26
msgid "Save"
msgstr "Tallenna"
@@ -234,38 +279,34 @@ msgstr "Kansio"
#: templates/index.php:14
msgid "From link"
-msgstr ""
-
-#: templates/index.php:35
-msgid "Upload"
-msgstr "Lähetä"
+msgstr "Linkistä"
-#: templates/index.php:43
+#: templates/index.php:41
msgid "Cancel upload"
msgstr "Peru lähetys"
-#: templates/index.php:57
+#: templates/index.php:56
msgid "Nothing in here. Upload something!"
msgstr "Täällä ei ole mitään. Lähetä tänne jotakin!"
-#: templates/index.php:71
+#: templates/index.php:70
msgid "Download"
msgstr "Lataa"
-#: templates/index.php:103
+#: templates/index.php:102
msgid "Upload too large"
msgstr "Lähetettävä tiedosto on liian suuri"
-#: templates/index.php:105
+#: templates/index.php:104
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:110
+#: templates/index.php:109
msgid "Files are being scanned, please wait."
msgstr "Tiedostoja tarkistetaan, odota hetki."
-#: templates/index.php:113
+#: templates/index.php:112
msgid "Current scanning"
msgstr "Tämänhetkinen tutkinta"
diff --git a/l10n/fi_FI/files_encryption.po b/l10n/fi_FI/files_encryption.po
index 89ad916e382..5f635937590 100644
--- a/l10n/fi_FI/files_encryption.po
+++ b/l10n/fi_FI/files_encryption.po
@@ -8,28 +8,76 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-08-17 00:44+0200\n"
-"PO-Revision-Date: 2012-08-16 10:56+0000\n"
-"Last-Translator: Jiri Grönroos <jiri.gronroos@iki.fi>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+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"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: fi_FI\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "Salaus"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "Jätä seuraavat tiedostotyypit salaamatta"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "Ei mitään"
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "Käytä salausta"
diff --git a/l10n/fi_FI/files_versions.po b/l10n/fi_FI/files_versions.po
index ab692d6056c..4a04a540a90 100644
--- a/l10n/fi_FI/files_versions.po
+++ b/l10n/fi_FI/files_versions.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-09-27 02:01+0200\n"
-"PO-Revision-Date: 2012-09-26 12:22+0000\n"
-"Last-Translator: Jiri Grönroos <jiri.gronroos@iki.fi>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,22 +18,10 @@ msgstr ""
"Language: fi_FI\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: js/settings-personal.js:31 templates/settings-personal.php:10
-msgid "Expire all versions"
-msgstr "Vanhenna kaikki versiot"
-
#: js/versions.js:16
msgid "History"
msgstr "Historia"
-#: templates/settings-personal.php:4
-msgid "Versions"
-msgstr "Versiot"
-
-#: templates/settings-personal.php:7
-msgid "This will delete all existing backup versions of your files"
-msgstr "Tämä poistaa kaikki tiedostojesi olemassa olevat varmuuskopioversiot"
-
#: templates/settings.php:3
msgid "Files Versioning"
msgstr "Tiedostojen versiointi"
diff --git a/l10n/fi_FI/lib.po b/l10n/fi_FI/lib.po
index 0669c281cf6..7b90f23c2cd 100644
--- a/l10n/fi_FI/lib.po
+++ b/l10n/fi_FI/lib.po
@@ -3,13 +3,13 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
-# Jiri Grönroos <jiri.gronroos@iki.fi>, 2012.
+# Jiri Grönroos <jiri.gronroos@iki.fi>, 2012-2013.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-11-16 00:02+0100\n"
-"PO-Revision-Date: 2012-11-15 20:58+0000\n"
+"POT-Creation-Date: 2013-01-18 00:03+0100\n"
+"PO-Revision-Date: 2013-01-17 08:40+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"
@@ -18,51 +18,55 @@ msgstr ""
"Language: fi_FI\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: app.php:285
+#: app.php:301
msgid "Help"
msgstr "Ohje"
-#: app.php:292
+#: app.php:308
msgid "Personal"
msgstr "Henkilökohtainen"
-#: app.php:297
+#: app.php:313
msgid "Settings"
msgstr "Asetukset"
-#: app.php:302
+#: app.php:318
msgid "Users"
msgstr "Käyttäjät"
-#: app.php:309
+#: app.php:325
msgid "Apps"
msgstr "Sovellukset"
-#: app.php:311
+#: app.php:327
msgid "Admin"
msgstr "Ylläpitäjä"
-#: files.php:332
+#: files.php:365
msgid "ZIP download is turned off."
msgstr "ZIP-lataus on poistettu käytöstä."
-#: files.php:333
+#: files.php:366
msgid "Files need to be downloaded one by one."
msgstr "Tiedostot on ladattava yksittäin."
-#: files.php:333 files.php:358
+#: files.php:366 files.php:391
msgid "Back to Files"
msgstr "Takaisin tiedostoihin"
-#: files.php:357
+#: files.php:390
msgid "Selected files too large to generate zip file."
msgstr "Valitut tiedostot ovat liian suurikokoisia mahtuakseen zip-tiedostoon."
+#: helper.php:228
+msgid "couldn't be determined"
+msgstr "ei voitu määrittää"
+
#: json.php:28
msgid "Application is not enabled"
msgstr "Sovellusta ei ole otettu käyttöön"
-#: json.php:39 json.php:64 json.php:77 json.php:89
+#: json.php:39 json.php:62 json.php:73
msgid "Authentication error"
msgstr "Todennusvirhe"
@@ -82,55 +86,55 @@ msgstr "Teksti"
msgid "Images"
msgstr "Kuvat"
-#: template.php:103
+#: template.php:113
msgid "seconds ago"
msgstr "sekuntia sitten"
-#: template.php:104
+#: template.php:114
msgid "1 minute ago"
msgstr "1 minuutti sitten"
-#: template.php:105
+#: template.php:115
#, php-format
msgid "%d minutes ago"
msgstr "%d minuuttia sitten"
-#: template.php:106
+#: template.php:116
msgid "1 hour ago"
msgstr "1 tunti sitten"
-#: template.php:107
+#: template.php:117
#, php-format
msgid "%d hours ago"
msgstr "%d tuntia sitten"
-#: template.php:108
+#: template.php:118
msgid "today"
msgstr "tänään"
-#: template.php:109
+#: template.php:119
msgid "yesterday"
msgstr "eilen"
-#: template.php:110
+#: template.php:120
#, php-format
msgid "%d days ago"
msgstr "%d päivää sitten"
-#: template.php:111
+#: template.php:121
msgid "last month"
msgstr "viime kuussa"
-#: template.php:112
+#: template.php:122
#, php-format
msgid "%d months ago"
msgstr "%d kuukautta sitten"
-#: template.php:113
+#: template.php:123
msgid "last year"
msgstr "viime vuonna"
-#: template.php:114
+#: template.php:124
msgid "years ago"
msgstr "vuotta sitten"
diff --git a/l10n/fi_FI/settings.po b/l10n/fi_FI/settings.po
index 18876d4aa6b..087d613c685 100644
--- a/l10n/fi_FI/settings.po
+++ b/l10n/fi_FI/settings.po
@@ -4,15 +4,15 @@
#
# Translators:
# Jesse Jaara <jesse.jaara@gmail.com>, 2012.
-# Jiri Grönroos <jiri.gronroos@iki.fi>, 2012.
+# Jiri Grönroos <jiri.gronroos@iki.fi>, 2012-2013.
# <tehoratopato@gmail.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-22 00:24+0100\n"
-"PO-Revision-Date: 2012-12-21 17:40+0000\n"
-"Last-Translator: Jiri Grönroos <jiri.gronroos@iki.fi>\n"
+"POT-Creation-Date: 2013-01-12 00:09+0100\n"
+"PO-Revision-Date: 2013-01-11 23:09+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -32,7 +32,7 @@ msgstr "Ryhmä on jo olemassa"
msgid "Unable to add group"
msgstr "Ryhmän lisäys epäonnistui"
-#: ajax/enableapp.php:12
+#: ajax/enableapp.php:11
msgid "Could not enable app. "
msgstr "Sovelluksen käyttöönotto epäonnistui."
@@ -44,14 +44,6 @@ msgstr "Sähköposti tallennettu"
msgid "Invalid email"
msgstr "Virheellinen sähköposti"
-#: ajax/openid.php:13
-msgid "OpenID Changed"
-msgstr "OpenID on vaihdettu"
-
-#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20
-msgid "Invalid request"
-msgstr "Virheellinen pyyntö"
-
#: ajax/removegroup.php:13
msgid "Unable to delete group"
msgstr "Ryhmän poisto epäonnistui"
@@ -68,6 +60,10 @@ msgstr "Käyttäjän poisto epäonnistui"
msgid "Language changed"
msgstr "Kieli on vaihdettu"
+#: ajax/setlanguage.php:17 ajax/setlanguage.php:20
+msgid "Invalid request"
+msgstr "Virheellinen pyyntö"
+
#: ajax/togglegroups.php:12
msgid "Admins can't remove themself from the admin group"
msgstr "Ylläpitäjät eivät poistaa omia tunnuksiaan ylläpitäjien ryhmästä"
@@ -163,7 +159,7 @@ msgstr "Lataa Android-sovellus"
msgid "Download iOS Client"
msgstr "Lataa iOS-sovellus"
-#: templates/personal.php:21 templates/users.php:23 templates/users.php:77
+#: templates/personal.php:21 templates/users.php:23 templates/users.php:82
msgid "Password"
msgstr "Salasana"
@@ -233,11 +229,11 @@ msgid ""
"License\">AGPL</abbr></a>."
msgstr "Kehityksestä on vastannut <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud-yhteisö</a>, <a href=\"https://github.com/owncloud\" target=\"_blank\">lähdekoodi</a> on julkaistu lisenssin <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a> alaisena."
-#: templates/users.php:21 templates/users.php:76
+#: templates/users.php:21 templates/users.php:81
msgid "Name"
msgstr "Nimi"
-#: templates/users.php:26 templates/users.php:78 templates/users.php:98
+#: templates/users.php:26 templates/users.php:83 templates/users.php:103
msgid "Groups"
msgstr "Ryhmät"
@@ -246,21 +242,29 @@ msgid "Create"
msgstr "Luo"
#: templates/users.php:35
-msgid "Default Quota"
-msgstr "Oletuskiintiö"
+msgid "Default Storage"
+msgstr ""
+
+#: templates/users.php:42 templates/users.php:138
+msgid "Unlimited"
+msgstr "Rajoittamaton"
-#: templates/users.php:55 templates/users.php:138
+#: templates/users.php:60 templates/users.php:153
msgid "Other"
msgstr "Muu"
-#: templates/users.php:80 templates/users.php:112
+#: templates/users.php:85 templates/users.php:117
msgid "Group Admin"
msgstr "Ryhmän ylläpitäjä"
-#: templates/users.php:82
-msgid "Quota"
-msgstr "Kiintiö"
+#: templates/users.php:87
+msgid "Storage"
+msgstr ""
+
+#: templates/users.php:133
+msgid "Default"
+msgstr "Oletus"
-#: templates/users.php:146
+#: templates/users.php:161
msgid "Delete"
msgstr "Poista"
diff --git a/l10n/fi_FI/user_ldap.po b/l10n/fi_FI/user_ldap.po
index 6f821f095c1..94f7ad7b4bb 100644
--- a/l10n/fi_FI/user_ldap.po
+++ b/l10n/fi_FI/user_ldap.po
@@ -10,8 +10,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-15 00:11+0100\n"
-"PO-Revision-Date: 2012-12-14 23:11+0000\n"
+"POT-Creation-Date: 2013-01-16 00:19+0100\n"
+"PO-Revision-Date: 2013-01-15 23:20+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"
@@ -29,8 +29,8 @@ msgstr ""
#: templates/settings.php:11
msgid ""
-"<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will"
-" not work. Please ask your system administrator to install it."
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not "
+"work. Please ask your system administrator to install it."
msgstr ""
#: templates/settings.php:15
@@ -47,6 +47,10 @@ msgid "Base DN"
msgstr "Oletus DN"
#: templates/settings.php:16
+msgid "One Base DN per line"
+msgstr ""
+
+#: templates/settings.php:16
msgid "You can specify Base DN for users and groups in the Advanced tab"
msgstr "Voit määrittää käyttäjien ja ryhmien oletus DN:n (distinguished name) 'tarkemmat asetukset'-välilehdeltä "
@@ -117,10 +121,18 @@ msgstr "Portti"
msgid "Base User Tree"
msgstr "Oletuskäyttäjäpuu"
+#: templates/settings.php:25
+msgid "One User Base DN per line"
+msgstr ""
+
#: templates/settings.php:26
msgid "Base Group Tree"
msgstr "Ryhmien juuri"
+#: templates/settings.php:26
+msgid "One Group Base DN per line"
+msgstr ""
+
#: templates/settings.php:27
msgid "Group-Member association"
msgstr "Ryhmän ja jäsenen assosiaatio (yhteys)"
diff --git a/l10n/fi_FI/user_webdavauth.po b/l10n/fi_FI/user_webdavauth.po
index 1bf07546c14..c42c6d288e6 100644
--- a/l10n/fi_FI/user_webdavauth.po
+++ b/l10n/fi_FI/user_webdavauth.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-20 00:11+0100\n"
-"PO-Revision-Date: 2012-12-19 23:12+0000\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+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"
@@ -18,13 +18,17 @@ msgstr ""
"Language: fi_FI\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+#: templates/settings.php:3
+msgid "WebDAV Authentication"
+msgstr ""
+
#: templates/settings.php:4
msgid "URL: http://"
msgstr ""
#: templates/settings.php:6
msgid ""
-"ownCloud will send the user credentials to this URL is interpret http 401 "
-"and http 403 as credentials wrong and all other codes as credentials "
-"correct."
+"ownCloud will send the user credentials to this URL. 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 ""
diff --git a/l10n/fr/core.po b/l10n/fr/core.po
index 58f5d6bd5e7..512141ccb68 100644
--- a/l10n/fr/core.po
+++ b/l10n/fr/core.po
@@ -3,22 +3,24 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
-# Christophe Lherieau <skimpax@gmail.com>, 2012.
+# Christophe Lherieau <skimpax@gmail.com>, 2012-2013.
+# <dba@alternalease.fr>, 2013.
# <fkhannouf@me.com>, 2012.
# <florentin.lemoal@gmail.com>, 2012.
# Guillaume Paumier <guillom.pom@gmail.com>, 2012.
# <mishka.lazzlo@gmail.com>, 2012.
# Nahir Mohamed <nahirmoha@gmail.com>, 2012.
# <nathaplop@gmail.com>, 2012.
+# <nicolas@shivaserv.fr>, 2012.
# <rom1dep@gmail.com>, 2011.
# Romain DEP. <rom1dep@gmail.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-25 00:10+0100\n"
-"PO-Revision-Date: 2012-12-24 14:22+0000\n"
-"Last-Translator: mishka <mishka.lazzlo@gmail.com>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:03+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -48,7 +50,7 @@ msgstr "L'utilisateur %s a partagé le fichier \"%s\" avec vous. Vous pouvez le
msgid ""
"User %s shared the folder \"%s\" with you. It is available for download "
"here: %s"
-msgstr ""
+msgstr "L'utilisateur %s a partagé le dossier \"%s\" avec vous. Il est disponible au téléchargement ici : %s"
#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25
msgid "Category type not provided."
@@ -92,55 +94,55 @@ msgstr "Erreur lors de la suppression de %s des favoris."
msgid "Settings"
msgstr "Paramètres"
-#: js/js.js:704
+#: js/js.js:711
msgid "seconds ago"
msgstr "il y a quelques secondes"
-#: js/js.js:705
+#: js/js.js:712
msgid "1 minute ago"
msgstr "il y a une minute"
-#: js/js.js:706
+#: js/js.js:713
msgid "{minutes} minutes ago"
msgstr "il y a {minutes} minutes"
-#: js/js.js:707
+#: js/js.js:714
msgid "1 hour ago"
msgstr "Il y a une heure"
-#: js/js.js:708
+#: js/js.js:715
msgid "{hours} hours ago"
msgstr "Il y a {hours} heures"
-#: js/js.js:709
+#: js/js.js:716
msgid "today"
msgstr "aujourd'hui"
-#: js/js.js:710
+#: js/js.js:717
msgid "yesterday"
msgstr "hier"
-#: js/js.js:711
+#: js/js.js:718
msgid "{days} days ago"
msgstr "il y a {days} jours"
-#: js/js.js:712
+#: js/js.js:719
msgid "last month"
msgstr "le mois dernier"
-#: js/js.js:713
+#: js/js.js:720
msgid "{months} months ago"
msgstr "Il y a {months} mois"
-#: js/js.js:714
+#: js/js.js:721
msgid "months ago"
msgstr "il y a plusieurs mois"
-#: js/js.js:715
+#: js/js.js:722
msgid "last year"
msgstr "l'année dernière"
-#: js/js.js:716
+#: js/js.js:723
msgid "years ago"
msgstr "il y a plusieurs années"
@@ -216,7 +218,6 @@ msgid "Password protect"
msgstr "Protéger par un mot de passe"
#: js/share.js:168 templates/installation.php:44 templates/login.php:35
-#: templates/verify.php:13
msgid "Password"
msgstr "Mot de passe"
@@ -286,7 +287,7 @@ msgstr "Protégé par un mot de passe"
#: js/share.js:554
msgid "Error unsetting expiration date"
-msgstr "Un erreur est survenue pendant la suppression de la date d'expiration"
+msgstr "Une erreur est survenue pendant la suppression de la date d'expiration"
#: js/share.js:566
msgid "Error setting expiration date"
@@ -383,7 +384,7 @@ msgstr "Ajouter"
#: templates/installation.php:23 templates/installation.php:31
msgid "Security Warning"
-msgstr "Avertissement de sécutité"
+msgstr "Avertissement de sécurité"
#: templates/installation.php:24
msgid ""
@@ -561,10 +562,6 @@ msgstr "se souvenir de moi"
msgid "Log in"
msgstr "Connexion"
-#: templates/logout.php:1
-msgid "You are logged out."
-msgstr "Vous êtes désormais déconnecté."
-
#: templates/part.pagenavi.php:3
msgid "prev"
msgstr "précédent"
@@ -573,16 +570,7 @@ msgstr "précédent"
msgid "next"
msgstr "suivant"
-#: templates/verify.php:5
-msgid "Security Warning!"
-msgstr "Alerte de sécurité !"
-
-#: templates/verify.php:6
-msgid ""
-"Please verify your password. <br/>For security reasons you may be "
-"occasionally asked to enter your password again."
-msgstr "Veuillez vérifier votre mot de passe. <br/>Par sécurité il vous sera occasionnellement demandé d'entrer votre mot de passe de nouveau."
-
-#: templates/verify.php:16
-msgid "Verify"
-msgstr "Vérification"
+#: templates/update.php:3
+#, php-format
+msgid "Updating ownCloud to version %s, this may take a while."
+msgstr "Mise à jour en cours d'ownCloud vers la version %s, cela peut prendre du temps."
diff --git a/l10n/fr/files.po b/l10n/fr/files.po
index b0fb5e1a70e..c0d0775a98b 100644
--- a/l10n/fr/files.po
+++ b/l10n/fr/files.po
@@ -3,8 +3,9 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
-# Christophe Lherieau <skimpax@gmail.com>, 2012.
+# Christophe Lherieau <skimpax@gmail.com>, 2012-2013.
# Cyril Glapa <kyriog@gmail.com>, 2012.
+# <dba@alternalease.fr>, 2013.
# Geoffrey Guerrier <geoffrey.guerrier@gmail.com>, 2012.
# <gp4004@arghh.org>, 2012.
# <guiguidu31300@gmail.com>, 2012.
@@ -13,14 +14,14 @@
# Nahir Mohamed <nahirmoha@gmail.com>, 2012.
# Robert Di Rosa <>, 2012.
# <rom1dep@gmail.com>, 2011.
-# Romain DEP. <rom1dep@gmail.com>, 2012.
+# Romain DEP. <rom1dep@gmail.com>, 2012-2013.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-05 00:04+0100\n"
-"PO-Revision-Date: 2012-12-04 10:24+0000\n"
-"Last-Translator: Robert Di Rosa <>\n"
+"POT-Creation-Date: 2013-01-25 00:05+0100\n"
+"PO-Revision-Date: 2013-01-24 01:27+0000\n"
+"Last-Translator: Romain DEP. <rom1dep@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,46 +29,77 @@ msgstr ""
"Language: fr\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+#: ajax/delete.php:28 ajax/getstoragestats.php:11 ajax/upload.php:17
+#: ajax/upload.php:76 templates/index.php:18
+msgid "Upload"
+msgstr "Envoyer"
+
+#: ajax/move.php:17
+#, php-format
+msgid "Could not move %s - File with this name already exists"
+msgstr "Impossible de déplacer %s - Un fichier possédant ce nom existe déjà"
+
+#: ajax/move.php:24
+#, php-format
+msgid "Could not move %s"
+msgstr "Impossible de déplacer %s"
+
+#: ajax/rename.php:19
+msgid "Unable to rename file"
+msgstr "Impossible de renommer le fichier"
+
#: ajax/upload.php:20
+msgid "No file was uploaded. Unknown error"
+msgstr "Aucun fichier n'a été chargé. Erreur inconnue"
+
+#: ajax/upload.php:30
msgid "There is no error, the file uploaded with success"
msgstr "Aucune erreur, le fichier a été téléversé avec succès"
-#: ajax/upload.php:21
+#: ajax/upload.php:31
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr "Le fichier envoyé dépasse la valeur upload_max_filesize située dans le fichier php.ini:"
-#: ajax/upload.php:23
+#: ajax/upload.php:33
msgid ""
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
"the HTML form"
msgstr "Le fichier téléversé excède la valeur de MAX_FILE_SIZE spécifiée dans le formulaire HTML"
-#: ajax/upload.php:25
+#: ajax/upload.php:35
msgid "The uploaded file was only partially uploaded"
msgstr "Le fichier n'a été que partiellement téléversé"
-#: ajax/upload.php:26
+#: ajax/upload.php:36
msgid "No file was uploaded"
msgstr "Aucun fichier n'a été téléversé"
-#: ajax/upload.php:27
+#: ajax/upload.php:37
msgid "Missing a temporary folder"
msgstr "Il manque un répertoire temporaire"
-#: ajax/upload.php:28
+#: ajax/upload.php:38
msgid "Failed to write to disk"
msgstr "Erreur d'écriture sur le disque"
+#: ajax/upload.php:57
+msgid "Not enough space available"
+msgstr "Espace disponible insuffisant"
+
+#: ajax/upload.php:91
+msgid "Invalid directory."
+msgstr "Dossier invalide."
+
#: appinfo/app.php:10
msgid "Files"
msgstr "Fichiers"
-#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84
+#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
msgid "Unshare"
msgstr "Ne plus partager"
-#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90
+#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
msgid "Delete"
msgstr "Supprimer"
@@ -75,122 +107,136 @@ msgstr "Supprimer"
msgid "Rename"
msgstr "Renommer"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "{new_name} already exists"
msgstr "{new_name} existe déjà"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "replace"
msgstr "remplacer"
-#: js/filelist.js:201
+#: js/filelist.js:205
msgid "suggest name"
msgstr "Suggérer un nom"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "cancel"
msgstr "annuler"
-#: js/filelist.js:250
+#: js/filelist.js:254
msgid "replaced {new_name}"
-msgstr "{new_name} a été replacé"
+msgstr "{new_name} a été remplacé"
-#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286
+#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
msgid "undo"
msgstr "annuler"
-#: js/filelist.js:252
+#: js/filelist.js:256
msgid "replaced {new_name} with {old_name}"
msgstr "{new_name} a été remplacé par {old_name}"
-#: js/filelist.js:284
+#: js/filelist.js:288
msgid "unshared {files}"
msgstr "Fichiers non partagés : {files}"
-#: js/filelist.js:286
+#: js/filelist.js:290
msgid "deleted {files}"
msgstr "Fichiers supprimés : {files}"
-#: js/files.js:33
+#: js/files.js:48
+msgid "'.' is an invalid file name."
+msgstr "'.' n'est pas un nom de fichier valide."
+
+#: js/files.js:53
+msgid "File name cannot be empty."
+msgstr "Le nom de fichier ne peut être vide."
+
+#: js/files.js:62
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr "Nom invalide, les caractères '\\', '/', '<', '>', ':', '\"', '|', '?' et '*' ne sont pas autorisés."
-#: js/files.js:183
-msgid "generating ZIP-file, it may take some time."
-msgstr "Fichier ZIP en cours d'assemblage ; cela peut prendre du temps."
+#: js/files.js:204
+msgid ""
+"Your download is being prepared. This might take some time if the files are "
+"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:218
+#: js/files.js:242
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr "Impossible de charger vos fichiers car il s'agit d'un dossier ou le fichier fait 0 octet."
-#: js/files.js:218
+#: js/files.js:242
msgid "Upload Error"
msgstr "Erreur de chargement"
-#: js/files.js:235
+#: js/files.js:259
msgid "Close"
msgstr "Fermer"
-#: js/files.js:254 js/files.js:368 js/files.js:398
+#: js/files.js:278 js/files.js:397 js/files.js:431
msgid "Pending"
msgstr "En cours"
-#: js/files.js:274
+#: js/files.js:298
msgid "1 file uploading"
msgstr "1 fichier en cours de téléchargement"
-#: js/files.js:277 js/files.js:331 js/files.js:346
+#: js/files.js:301 js/files.js:357 js/files.js:372
msgid "{count} files uploading"
msgstr "{count} fichiers téléversés"
-#: js/files.js:349 js/files.js:382
+#: js/files.js:376 js/files.js:414
msgid "Upload cancelled."
msgstr "Chargement annulé."
-#: js/files.js:451
+#: js/files.js:486
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr "L'envoi du fichier est en cours. Quitter cette page maintenant annulera l'envoi du fichier."
-#: js/files.js:523
-msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud"
-msgstr "Nom de répertoire invalide. \"Shared\" est réservé par ownCloud"
+#: js/files.js:559
+msgid "URL cannot be empty."
+msgstr "L'URL ne peut-être vide"
-#: js/files.js:704
+#: js/files.js:565
+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/files.js:775
msgid "{count} files scanned"
msgstr "{count} fichiers indexés"
-#: js/files.js:712
+#: js/files.js:783
msgid "error while scanning"
msgstr "erreur lors de l'indexation"
-#: js/files.js:785 templates/index.php:65
+#: js/files.js:857 templates/index.php:64
msgid "Name"
msgstr "Nom"
-#: js/files.js:786 templates/index.php:76
+#: js/files.js:858 templates/index.php:75
msgid "Size"
msgstr "Taille"
-#: js/files.js:787 templates/index.php:78
+#: js/files.js:859 templates/index.php:77
msgid "Modified"
msgstr "Modifié"
-#: js/files.js:814
+#: js/files.js:878
msgid "1 folder"
msgstr "1 dossier"
-#: js/files.js:816
+#: js/files.js:880
msgid "{count} folders"
msgstr "{count} dossiers"
-#: js/files.js:824
+#: js/files.js:888
msgid "1 file"
msgstr "1 fichier"
-#: js/files.js:826
+#: js/files.js:890
msgid "{count} files"
msgstr "{count} fichiers"
@@ -202,27 +248,27 @@ msgstr "Gestion des fichiers"
msgid "Maximum upload size"
msgstr "Taille max. d'envoi"
-#: templates/admin.php:9
+#: templates/admin.php:10
msgid "max. possible: "
msgstr "Max. possible :"
-#: templates/admin.php:12
+#: templates/admin.php:15
msgid "Needed for multi-file and folder downloads."
msgstr "Nécessaire pour le téléchargement de plusieurs fichiers et de dossiers."
-#: templates/admin.php:14
+#: templates/admin.php:17
msgid "Enable ZIP-download"
msgstr "Activer le téléchargement ZIP"
-#: templates/admin.php:17
+#: templates/admin.php:20
msgid "0 is unlimited"
msgstr "0 est illimité"
-#: templates/admin.php:19
+#: templates/admin.php:22
msgid "Maximum input size for ZIP files"
msgstr "Taille maximale pour les fichiers ZIP"
-#: templates/admin.php:23
+#: templates/admin.php:26
msgid "Save"
msgstr "Sauvegarder"
@@ -242,36 +288,32 @@ msgstr "Dossier"
msgid "From link"
msgstr "Depuis le lien"
-#: templates/index.php:35
-msgid "Upload"
-msgstr "Envoyer"
-
-#: templates/index.php:43
+#: templates/index.php:41
msgid "Cancel upload"
msgstr "Annuler l'envoi"
-#: templates/index.php:57
+#: templates/index.php:56
msgid "Nothing in here. Upload something!"
msgstr "Il n'y a rien ici ! Envoyez donc quelque chose :)"
-#: templates/index.php:71
+#: templates/index.php:70
msgid "Download"
-msgstr "Téléchargement"
+msgstr "Télécharger"
-#: templates/index.php:103
+#: templates/index.php:102
msgid "Upload too large"
msgstr "Fichier trop volumineux"
-#: templates/index.php:105
+#: templates/index.php:104
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:110
+#: templates/index.php:109
msgid "Files are being scanned, please wait."
msgstr "Les fichiers sont en cours d'analyse, veuillez patienter."
-#: templates/index.php:113
+#: templates/index.php:112
msgid "Current scanning"
msgstr "Analyse en cours"
diff --git a/l10n/fr/files_encryption.po b/l10n/fr/files_encryption.po
index cbad09601fc..f1305f621d6 100644
--- a/l10n/fr/files_encryption.po
+++ b/l10n/fr/files_encryption.po
@@ -3,33 +3,81 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
-# Romain DEP. <rom1dep@gmail.com>, 2012.
+# Romain DEP. <rom1dep@gmail.com>, 2012-2013.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-08-15 02:02+0200\n"
-"PO-Revision-Date: 2012-08-14 16:26+0000\n"
+"POT-Creation-Date: 2013-01-25 00:05+0100\n"
+"PO-Revision-Date: 2013-01-24 01:10+0000\n"
"Last-Translator: Romain DEP. <rom1dep@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"
"Content-Transfer-Encoding: 8bit\n"
"Language: fr\n"
-"Plural-Forms: nplurals=2; plural=(n > 1)\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr "Veuillez vous connecter depuis votre client de synchronisation ownCloud et changer votre mot de passe de chiffrement pour finaliser la conversion."
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr "Mode de chiffrement changé en chiffrement côté client"
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr "Convertir le mot de passe de chiffrement en mot de passe de connexion"
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr "Veuillez vérifier vos mots de passe et réessayer."
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr "Impossible de convertir votre mot de passe de chiffrement en mot de passe de connexion"
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr "Choix du type de chiffrement :"
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr "Chiffrement côté client (plus sécurisé, mais ne permet pas l'accès à vos données depuis l'interface web)"
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr "Chiffrement côté serveur (vous permet d'accéder à vos fichiers depuis l'interface web et depuis le client de synchronisation)"
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr "Aucun (pas de chiffrement)"
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr "Important : Une fois le mode de chiffrement choisi, il est impossible de revenir en arrière"
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr "Propre à l'utilisateur (laisse le choix à l'utilisateur)"
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "Chiffrement"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "Ne pas chiffrer les fichiers dont les types sont les suivants"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "Aucun"
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "Activer le chiffrement"
diff --git a/l10n/fr/files_external.po b/l10n/fr/files_external.po
index 5484aa3b4c9..02af3bd71fb 100644
--- a/l10n/fr/files_external.po
+++ b/l10n/fr/files_external.po
@@ -3,14 +3,15 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# <nicolas@shivaserv.fr>, 2012.
# Romain DEP. <rom1dep@gmail.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-13 00:17+0100\n"
-"PO-Revision-Date: 2012-12-11 23:22+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2012-12-31 00:04+0100\n"
+"PO-Revision-Date: 2012-12-30 10:41+0000\n"
+"Last-Translator: Romain DEP. <rom1dep@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"
@@ -46,14 +47,14 @@ msgstr "Erreur lors de la configuration du support de stockage Google Drive"
msgid ""
"<b>Warning:</b> \"smbclient\" is not installed. Mounting of CIFS/SMB shares "
"is not possible. Please ask your system administrator to install it."
-msgstr ""
+msgstr "<b>Attention : </b> \"smbclient\" n'est pas installé. Le montage des partages CIFS/SMB n'est pas disponible. Contactez votre administrateur système pour l'installer."
#: lib/config.php:435
msgid ""
"<b>Warning:</b> The FTP support in PHP is not enabled or installed. Mounting"
" of FTP shares is not possible. Please ask your system administrator to "
"install it."
-msgstr ""
+msgstr "<b>Attention : </b> Le support FTP de PHP n'est pas activé ou installé. Le montage des partages FTP n'est pas disponible. Contactez votre administrateur système pour l'installer."
#: templates/settings.php:3
msgid "External Storage"
@@ -100,7 +101,7 @@ msgid "Users"
msgstr "Utilisateurs"
#: templates/settings.php:108 templates/settings.php:109
-#: templates/settings.php:149 templates/settings.php:150
+#: templates/settings.php:144 templates/settings.php:145
msgid "Delete"
msgstr "Supprimer"
@@ -112,10 +113,10 @@ msgstr "Activer le stockage externe pour les utilisateurs"
msgid "Allow users to mount their own external storage"
msgstr "Autoriser les utilisateurs à monter leur propre stockage externe"
-#: templates/settings.php:139
+#: templates/settings.php:136
msgid "SSL root certificates"
msgstr "Certificats racine SSL"
-#: templates/settings.php:158
+#: templates/settings.php:153
msgid "Import Root Certificate"
msgstr "Importer un certificat racine"
diff --git a/l10n/fr/files_versions.po b/l10n/fr/files_versions.po
index a88cc9a369b..1fb4fdb1de2 100644
--- a/l10n/fr/files_versions.po
+++ b/l10n/fr/files_versions.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-09-25 02:02+0200\n"
-"PO-Revision-Date: 2012-09-24 14:20+0000\n"
-"Last-Translator: Romain DEP. <rom1dep@gmail.com>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,22 +18,10 @@ msgstr ""
"Language: fr\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-#: js/settings-personal.js:31 templates/settings-personal.php:10
-msgid "Expire all versions"
-msgstr "Supprimer les versions intermédiaires"
-
#: js/versions.js:16
msgid "History"
msgstr "Historique"
-#: templates/settings-personal.php:4
-msgid "Versions"
-msgstr "Versions"
-
-#: templates/settings-personal.php:7
-msgid "This will delete all existing backup versions of your files"
-msgstr "Cette opération va effacer toutes les versions intermédiaires de vos fichiers (et ne garder que la dernière version en date)."
-
#: templates/settings.php:3
msgid "Files Versioning"
msgstr "Versionnage des fichiers"
diff --git a/l10n/fr/lib.po b/l10n/fr/lib.po
index 7617ac30e7d..0ae131d5c58 100644
--- a/l10n/fr/lib.po
+++ b/l10n/fr/lib.po
@@ -4,13 +4,13 @@
#
# Translators:
# Geoffrey Guerrier <geoffrey.guerrier@gmail.com>, 2012.
-# Romain DEP. <rom1dep@gmail.com>, 2012.
+# Romain DEP. <rom1dep@gmail.com>, 2012-2013.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-11-26 00:01+0100\n"
-"PO-Revision-Date: 2012-11-25 00:56+0000\n"
+"POT-Creation-Date: 2013-01-25 00:05+0100\n"
+"PO-Revision-Date: 2013-01-24 01:17+0000\n"
"Last-Translator: Romain DEP. <rom1dep@gmail.com>\n"
"Language-Team: French (http://www.transifex.com/projects/p/owncloud/language/fr/)\n"
"MIME-Version: 1.0\n"
@@ -19,51 +19,55 @@ msgstr ""
"Language: fr\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-#: app.php:285
+#: app.php:301
msgid "Help"
msgstr "Aide"
-#: app.php:292
+#: app.php:308
msgid "Personal"
msgstr "Personnel"
-#: app.php:297
+#: app.php:313
msgid "Settings"
msgstr "Paramètres"
-#: app.php:302
+#: app.php:318
msgid "Users"
msgstr "Utilisateurs"
-#: app.php:309
+#: app.php:325
msgid "Apps"
msgstr "Applications"
-#: app.php:311
+#: app.php:327
msgid "Admin"
msgstr "Administration"
-#: files.php:361
+#: files.php:365
msgid "ZIP download is turned off."
msgstr "Téléchargement ZIP désactivé."
-#: files.php:362
+#: files.php:366
msgid "Files need to be downloaded one by one."
msgstr "Les fichiers nécessitent d'être téléchargés un par un."
-#: files.php:362 files.php:387
+#: files.php:366 files.php:391
msgid "Back to Files"
msgstr "Retour aux Fichiers"
-#: files.php:386
+#: files.php:390
msgid "Selected files too large to generate zip file."
msgstr "Les fichiers sélectionnés sont trop volumineux pour être compressés."
+#: helper.php:229
+msgid "couldn't be determined"
+msgstr "impossible à déterminer"
+
#: json.php:28
msgid "Application is not enabled"
msgstr "L'application n'est pas activée"
-#: json.php:39 json.php:64 json.php:77 json.php:89
+#: json.php:39 json.php:62 json.php:73
msgid "Authentication error"
msgstr "Erreur d'authentification"
@@ -83,55 +87,55 @@ msgstr "Texte"
msgid "Images"
msgstr "Images"
-#: template.php:103
+#: template.php:113
msgid "seconds ago"
msgstr "à l'instant"
-#: template.php:104
+#: template.php:114
msgid "1 minute ago"
msgstr "il y a 1 minute"
-#: template.php:105
+#: template.php:115
#, php-format
msgid "%d minutes ago"
msgstr "il y a %d minutes"
-#: template.php:106
+#: template.php:116
msgid "1 hour ago"
msgstr "Il y a une heure"
-#: template.php:107
+#: template.php:117
#, php-format
msgid "%d hours ago"
msgstr "Il y a %d heures"
-#: template.php:108
+#: template.php:118
msgid "today"
msgstr "aujourd'hui"
-#: template.php:109
+#: template.php:119
msgid "yesterday"
msgstr "hier"
-#: template.php:110
+#: template.php:120
#, php-format
msgid "%d days ago"
msgstr "il y a %d jours"
-#: template.php:111
+#: template.php:121
msgid "last month"
msgstr "le mois dernier"
-#: template.php:112
+#: template.php:122
#, php-format
msgid "%d months ago"
msgstr "Il y a %d mois"
-#: template.php:113
+#: template.php:123
msgid "last year"
msgstr "l'année dernière"
-#: template.php:114
+#: template.php:124
msgid "years ago"
msgstr "il y a plusieurs années"
diff --git a/l10n/fr/settings.po b/l10n/fr/settings.po
index 3d95e66bbea..9f3a6ceea3b 100644
--- a/l10n/fr/settings.po
+++ b/l10n/fr/settings.po
@@ -5,6 +5,7 @@
# Translators:
# Brice <bmaron@gmail.com>, 2012.
# Cyril Glapa <kyriog@gmail.com>, 2012.
+# <dba@alternalease.fr>, 2013.
# <fboulogne@april.org>, 2011.
# <florentin.lemoal@gmail.com>, 2012.
# <gp4004@arghh.org>, 2012.
@@ -16,14 +17,14 @@
# <pierreamiel.giraud@gmail.com>, 2012.
# Robert Di Rosa <>, 2012.
# <rom1dep@gmail.com>, 2011, 2012.
-# Romain DEP. <rom1dep@gmail.com>, 2012.
+# Romain DEP. <rom1dep@gmail.com>, 2012-2013.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-25 00:10+0100\n"
-"PO-Revision-Date: 2012-12-24 14:10+0000\n"
-"Last-Translator: mishka <mishka.lazzlo@gmail.com>\n"
+"POT-Creation-Date: 2013-01-12 00:09+0100\n"
+"PO-Revision-Date: 2013-01-11 23:09+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -43,7 +44,7 @@ msgstr "Ce groupe existe déjà"
msgid "Unable to add group"
msgstr "Impossible d'ajouter le groupe"
-#: ajax/enableapp.php:12
+#: ajax/enableapp.php:11
msgid "Could not enable app. "
msgstr "Impossible d'activer l'Application"
@@ -55,14 +56,6 @@ msgstr "E-mail sauvegardé"
msgid "Invalid email"
msgstr "E-mail invalide"
-#: ajax/openid.php:13
-msgid "OpenID Changed"
-msgstr "Identifiant OpenID changé"
-
-#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20
-msgid "Invalid request"
-msgstr "Requête invalide"
-
#: ajax/removegroup.php:13
msgid "Unable to delete group"
msgstr "Impossible de supprimer le groupe"
@@ -79,6 +72,10 @@ msgstr "Impossible de supprimer l'utilisateur"
msgid "Language changed"
msgstr "Langue changée"
+#: ajax/setlanguage.php:17 ajax/setlanguage.php:20
+msgid "Invalid request"
+msgstr "Requête invalide"
+
#: ajax/togglegroups.php:12
msgid "Admins can't remove themself from the admin group"
msgstr "Les administrateurs ne peuvent pas se retirer eux-mêmes du groupe admin"
@@ -164,7 +161,7 @@ msgstr "Clients"
#: templates/personal.php:13
msgid "Download Desktop Clients"
-msgstr "Télécharger des clients de bureau"
+msgstr "Télécharger le client de synchronisation pour votre ordinateur"
#: templates/personal.php:14
msgid "Download Android Client"
@@ -174,7 +171,7 @@ msgstr "Télécharger le client Android"
msgid "Download iOS Client"
msgstr "Télécharger le client iOS"
-#: templates/personal.php:21 templates/users.php:23 templates/users.php:77
+#: templates/personal.php:21 templates/users.php:23 templates/users.php:82
msgid "Password"
msgstr "Mot de passe"
@@ -244,11 +241,11 @@ msgid ""
"License\">AGPL</abbr></a>."
msgstr "Développé par la <a href=\"http://ownCloud.org/contact\" target=\"_blank\">communauté ownCloud</a>, le <a href=\"https://github.com/owncloud\" target=\"_blank\">code source</a> est publié sous license <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>."
-#: templates/users.php:21 templates/users.php:76
+#: templates/users.php:21 templates/users.php:81
msgid "Name"
msgstr "Nom"
-#: templates/users.php:26 templates/users.php:78 templates/users.php:98
+#: templates/users.php:26 templates/users.php:83 templates/users.php:103
msgid "Groups"
msgstr "Groupes"
@@ -257,21 +254,29 @@ msgid "Create"
msgstr "Créer"
#: templates/users.php:35
-msgid "Default Quota"
-msgstr "Quota par défaut"
+msgid "Default Storage"
+msgstr "Support de stockage par défaut"
-#: templates/users.php:55 templates/users.php:138
+#: templates/users.php:42 templates/users.php:138
+msgid "Unlimited"
+msgstr "Illimité"
+
+#: templates/users.php:60 templates/users.php:153
msgid "Other"
msgstr "Autre"
-#: templates/users.php:80 templates/users.php:112
+#: templates/users.php:85 templates/users.php:117
msgid "Group Admin"
msgstr "Groupe Admin"
-#: templates/users.php:82
-msgid "Quota"
-msgstr "Quota"
+#: templates/users.php:87
+msgid "Storage"
+msgstr "Support de stockage"
+
+#: templates/users.php:133
+msgid "Default"
+msgstr "Défaut"
-#: templates/users.php:146
+#: templates/users.php:161
msgid "Delete"
msgstr "Supprimer"
diff --git a/l10n/fr/user_ldap.po b/l10n/fr/user_ldap.po
index d435d3b77ce..1beebaaf58f 100644
--- a/l10n/fr/user_ldap.po
+++ b/l10n/fr/user_ldap.po
@@ -6,16 +6,16 @@
# Cyril Glapa <kyriog@gmail.com>, 2012.
# <mathieu.payrol@gmail.com>, 2012.
# <mishka.lazzlo@gmail.com>, 2012.
-# Romain DEP. <rom1dep@gmail.com>, 2012.
+# Romain DEP. <rom1dep@gmail.com>, 2012-2013.
# <windes@tructor.net>, 2012.
# <zrk951@gmail.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-25 00:10+0100\n"
-"PO-Revision-Date: 2012-12-24 14:18+0000\n"
-"Last-Translator: mishka <mishka.lazzlo@gmail.com>\n"
+"POT-Creation-Date: 2013-01-25 00:05+0100\n"
+"PO-Revision-Date: 2013-01-24 01:50+0000\n"
+"Last-Translator: Romain DEP. <rom1dep@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,9 +32,9 @@ msgstr "<b>Avertissement:</b> Les applications user_ldap et user_webdavauth sont
#: templates/settings.php:11
msgid ""
-"<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will"
-" not work. Please ask your system administrator to install it."
-msgstr "<b>Avertissement:</b> Le module PHP LDAP requis n'est pas installé, l'application ne marchera pas. Contactez votre administrateur système pour qu'il l'installe."
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not "
+"work. Please ask your system administrator to install it."
+msgstr "<b>Attention :</b> Le module php LDAP n'est pas installé, par conséquent cette extension ne pourra fonctionner. Veuillez contacter votre administrateur système afin qu'il l'installe."
#: templates/settings.php:15
msgid "Host"
@@ -50,8 +50,12 @@ msgid "Base DN"
msgstr "DN Racine"
#: templates/settings.php:16
+msgid "One Base DN per line"
+msgstr "Un DN racine par ligne"
+
+#: templates/settings.php:16
msgid "You can specify Base DN for users and groups in the Advanced tab"
-msgstr "Vous pouvez détailler les DN Racines de vos utilisateurs et groupes dans l'onglet Avancé"
+msgstr "Vous pouvez spécifier les DN Racines de vos utilisateurs et groupes via l'onglet Avancé"
#: templates/settings.php:17
msgid "User DN"
@@ -62,7 +66,7 @@ msgid ""
"The DN of the client user with which the bind shall be done, e.g. "
"uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password "
"empty."
-msgstr "Le DN de l'utilisateur client avec lequel la liaison doit se faire, par exemple uid=agent,dc=example,dc=com. Pour l'accès anonyme, laisser le DN et le mot de passe vides."
+msgstr "DN de l'utilisateur client pour lequel la liaison doit se faire, par exemple uid=agent,dc=example,dc=com. Pour un accès anonyme, laisser le DN et le mot de passe vides."
#: templates/settings.php:18
msgid "Password"
@@ -120,10 +124,18 @@ msgstr "Port"
msgid "Base User Tree"
msgstr "DN racine de l'arbre utilisateurs"
+#: templates/settings.php:25
+msgid "One User Base DN per line"
+msgstr "Un DN racine utilisateur par ligne"
+
#: templates/settings.php:26
msgid "Base Group Tree"
msgstr "DN racine de l'arbre groupes"
+#: templates/settings.php:26
+msgid "One Group Base DN per line"
+msgstr "Un DN racine groupe par ligne"
+
#: templates/settings.php:27
msgid "Group-Member association"
msgstr "Association groupe-membre"
diff --git a/l10n/fr/user_webdavauth.po b/l10n/fr/user_webdavauth.po
index 4d2c6a78376..4d665c8ff42 100644
--- a/l10n/fr/user_webdavauth.po
+++ b/l10n/fr/user_webdavauth.po
@@ -3,15 +3,18 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# Christophe Lherieau <skimpax@gmail.com>, 2013.
+# <mishka.lazzlo@gmail.com>, 2013.
+# <nicolas@shivaserv.fr>, 2012.
# Robert Di Rosa <>, 2012.
-# Romain DEP. <rom1dep@gmail.com>, 2012.
+# Romain DEP. <rom1dep@gmail.com>, 2012-2013.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-20 00:11+0100\n"
-"PO-Revision-Date: 2012-12-19 23:12+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-25 00:05+0100\n"
+"PO-Revision-Date: 2013-01-24 01:04+0000\n"
+"Last-Translator: Romain DEP. <rom1dep@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"
@@ -19,13 +22,17 @@ msgstr ""
"Language: fr\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+#: templates/settings.php:3
+msgid "WebDAV Authentication"
+msgstr "Authentification WebDAV"
+
#: templates/settings.php:4
msgid "URL: http://"
-msgstr ""
+msgstr "URL : http://"
#: templates/settings.php:6
msgid ""
-"ownCloud will send the user credentials to this URL is interpret http 401 "
-"and http 403 as credentials wrong and all other codes as credentials "
-"correct."
-msgstr ""
+"ownCloud will send the user credentials to this URL. 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 "ownCloud enverra les informations de connexion à cette adresse. Ce module complémentaire analyse le code réponse HTTP et considère tout code différent des codes 401 et 403 comme associé à une authentification correcte."
diff --git a/l10n/gl/core.po b/l10n/gl/core.po
index 22c66343396..de2454855f0 100644
--- a/l10n/gl/core.po
+++ b/l10n/gl/core.po
@@ -4,13 +4,14 @@
#
# Translators:
# antiparvos <marcoslansgarza@gmail.com>, 2012.
-# Xosé M. Lamas <correo.xmgz@gmail.com>, 2012.
+# <mbouzada@gmail.com>, 2012.
+# Xosé M. Lamas <correo.xmgz@gmail.com>, 2012-2013.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-13 00:17+0100\n"
-"PO-Revision-Date: 2012-12-12 23:17+0000\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:03+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"
@@ -22,26 +23,26 @@ msgstr ""
#: ajax/share.php:84
#, php-format
msgid "User %s shared a file with you"
-msgstr ""
+msgstr "O usuario %s compartíu un ficheiro con vostede"
#: ajax/share.php:86
#, php-format
msgid "User %s shared a folder with you"
-msgstr ""
+msgstr "O usuario %s compartíu un cartafol con vostede"
#: ajax/share.php:88
#, php-format
msgid ""
"User %s shared the file \"%s\" with you. It is available for download here: "
"%s"
-msgstr ""
+msgstr "O usuario %s compartiu o ficheiro «%s» con vostede. Teno dispoñíbel en: %s"
#: ajax/share.php:90
#, php-format
msgid ""
"User %s shared the folder \"%s\" with you. It is available for download "
"here: %s"
-msgstr ""
+msgstr "O usuario %s compartiu o cartafol «%s» con vostede. Teno dispoñíbel en: %s"
#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25
msgid "Category type not provided."
@@ -65,12 +66,12 @@ msgstr "Non se forneceu o tipo de obxecto."
#: ajax/vcategories/removeFromFavorites.php:30
#, php-format
msgid "%s ID not provided."
-msgstr "Non se deu o ID %s."
+msgstr "Non se forneceu o ID %s."
#: ajax/vcategories/addToFavorites.php:35
#, php-format
msgid "Error adding %s to favorites."
-msgstr "Erro ao engadir %s aos favoritos."
+msgstr "Produciuse un erro ao engadir %s aos favoritos."
#: ajax/vcategories/delete.php:35 js/oc-vcategories.js:136
msgid "No categories selected for deletion."
@@ -79,61 +80,61 @@ msgstr "Non hai categorías seleccionadas para eliminar."
#: ajax/vcategories/removeFromFavorites.php:35
#, php-format
msgid "Error removing %s from favorites."
-msgstr "Erro ao eliminar %s dos favoritos."
+msgstr "Produciuse un erro ao eliminar %s dos favoritos."
#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61
msgid "Settings"
msgstr "Configuracións"
-#: js/js.js:704
+#: js/js.js:711
msgid "seconds ago"
msgstr "segundos atrás"
-#: js/js.js:705
+#: js/js.js:712
msgid "1 minute ago"
msgstr "hai 1 minuto"
-#: js/js.js:706
+#: js/js.js:713
msgid "{minutes} minutes ago"
-msgstr "{minutes} minutos atrás"
+msgstr "hai {minutes} minutos"
-#: js/js.js:707
+#: js/js.js:714
msgid "1 hour ago"
msgstr "hai 1 hora"
-#: js/js.js:708
+#: js/js.js:715
msgid "{hours} hours ago"
-msgstr "{hours} horas atrás"
+msgstr "hai {hours} horas"
-#: js/js.js:709
+#: js/js.js:716
msgid "today"
msgstr "hoxe"
-#: js/js.js:710
+#: js/js.js:717
msgid "yesterday"
msgstr "onte"
-#: js/js.js:711
+#: js/js.js:718
msgid "{days} days ago"
-msgstr "{days} días atrás"
+msgstr "hai {days} días"
-#: js/js.js:712
+#: js/js.js:719
msgid "last month"
msgstr "último mes"
-#: js/js.js:713
+#: js/js.js:720
msgid "{months} months ago"
-msgstr "{months} meses atrás"
+msgstr "hai {months} meses"
-#: js/js.js:714
+#: js/js.js:721
msgid "months ago"
msgstr "meses atrás"
-#: js/js.js:715
+#: js/js.js:722
msgid "last year"
msgstr "último ano"
-#: js/js.js:716
+#: js/js.js:723
msgid "years ago"
msgstr "anos atrás"
@@ -163,8 +164,8 @@ msgid "The object type is not specified."
msgstr "Non se especificou o tipo de obxecto."
#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136
-#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:541
-#: js/share.js:553
+#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:554
+#: js/share.js:566
msgid "Error"
msgstr "Erro"
@@ -176,25 +177,25 @@ msgstr "Non se especificou o nome do aplicativo."
msgid "The required file {file} is not installed!"
msgstr "Non está instalado o ficheiro {file} que se precisa"
-#: js/share.js:124 js/share.js:581
+#: js/share.js:124 js/share.js:594
msgid "Error while sharing"
-msgstr "Erro compartindo"
+msgstr "Produciuse un erro ao compartir"
#: js/share.js:135
msgid "Error while unsharing"
-msgstr "Erro ao deixar de compartir"
+msgstr "Produciuse un erro ao deixar de compartir"
#: js/share.js:142
msgid "Error while changing permissions"
-msgstr "Erro ao cambiar os permisos"
+msgstr "Produciuse un erro ao cambiar os permisos"
#: js/share.js:151
msgid "Shared with you and the group {group} by {owner}"
-msgstr "Compartido contigo e co grupo {group} de {owner}"
+msgstr "Compartido con vostede e co grupo {group} por {owner}"
#: js/share.js:153
msgid "Shared with you by {owner}"
-msgstr "Compartido contigo por {owner}"
+msgstr "Compartido con vostede por {owner}"
#: js/share.js:158
msgid "Share with"
@@ -202,24 +203,23 @@ msgstr "Compartir con"
#: js/share.js:163
msgid "Share with link"
-msgstr "Compartir ca ligazón"
+msgstr "Compartir coa ligazón"
-#: js/share.js:164
+#: js/share.js:166
msgid "Password protect"
msgstr "Protexido con contrasinais"
-#: js/share.js:168 templates/installation.php:42 templates/login.php:24
-#: templates/verify.php:13
+#: js/share.js:168 templates/installation.php:44 templates/login.php:35
msgid "Password"
msgstr "Contrasinal"
#: js/share.js:172
msgid "Email link to person"
-msgstr ""
+msgstr "Enviar ligazón por correo"
#: js/share.js:173
msgid "Send"
-msgstr ""
+msgstr "Enviar"
#: js/share.js:177
msgid "Set expiration date"
@@ -231,7 +231,7 @@ msgstr "Data de caducidade"
#: js/share.js:210
msgid "Share via email:"
-msgstr "Compartir por correo electrónico:"
+msgstr "Compartir por correo:"
#: js/share.js:212
msgid "No people found"
@@ -239,7 +239,7 @@ msgstr "Non se atopou xente"
#: js/share.js:239
msgid "Resharing is not allowed"
-msgstr "Non se acepta volver a compartir"
+msgstr "Non se permite volver a compartir"
#: js/share.js:275
msgid "Shared in {item} with {user}"
@@ -267,64 +267,64 @@ msgstr "actualizar"
#: js/share.js:319
msgid "delete"
-msgstr "borrar"
+msgstr "eliminar"
#: js/share.js:322
msgid "share"
msgstr "compartir"
-#: js/share.js:353 js/share.js:528 js/share.js:530
+#: js/share.js:356 js/share.js:541
msgid "Password protected"
msgstr "Protexido con contrasinal"
-#: js/share.js:541
+#: js/share.js:554
msgid "Error unsetting expiration date"
-msgstr "Erro ao quitar a data de caducidade"
+msgstr "Produciuse un erro ao retirar a data de caducidade"
-#: js/share.js:553
+#: js/share.js:566
msgid "Error setting expiration date"
-msgstr "Erro ao definir a data de caducidade"
+msgstr "Produciuse un erro ao definir a data de caducidade"
-#: js/share.js:568
+#: js/share.js:581
msgid "Sending ..."
-msgstr ""
+msgstr "Enviando..."
-#: js/share.js:579
+#: js/share.js:592
msgid "Email sent"
-msgstr ""
+msgstr "Correo enviado"
#: lostpassword/controller.php:47
msgid "ownCloud password reset"
-msgstr "Restablecer contrasinal de ownCloud"
+msgstr "Restabelecer o contrasinal de ownCloud"
#: lostpassword/templates/email.php:2
msgid "Use the following link to reset your password: {link}"
-msgstr "Usa a seguinte ligazón para restablecer o contrasinal: {link}"
+msgstr "Usa a seguinte ligazón para restabelecer o contrasinal: {link}"
#: lostpassword/templates/lostpassword.php:3
msgid "You will receive a link to reset your password via Email."
-msgstr "Recibirá unha ligazón por correo electrónico para restablecer o contrasinal"
+msgstr "Recibirá unha ligazón por correo para restabelecer o contrasinal"
#: lostpassword/templates/lostpassword.php:5
msgid "Reset email send."
-msgstr "Restablecer o envío por correo."
+msgstr "Restabelecer o envío por correo."
#: lostpassword/templates/lostpassword.php:8
msgid "Request failed!"
-msgstr "Fallo na petición"
+msgstr "Non foi posíbel facer a petición"
-#: lostpassword/templates/lostpassword.php:11 templates/installation.php:38
-#: templates/login.php:20
+#: lostpassword/templates/lostpassword.php:11 templates/installation.php:39
+#: templates/login.php:28
msgid "Username"
msgstr "Nome de usuario"
#: lostpassword/templates/lostpassword.php:14
msgid "Request reset"
-msgstr "Petición de restablecemento"
+msgstr "Petición de restabelecemento"
#: lostpassword/templates/resetpassword.php:4
msgid "Your password was reset"
-msgstr "O contrasinal foi restablecido"
+msgstr "O contrasinal foi restabelecido"
#: lostpassword/templates/resetpassword.php:5
msgid "To login page"
@@ -336,7 +336,7 @@ msgstr "Novo contrasinal"
#: lostpassword/templates/resetpassword.php:11
msgid "Reset password"
-msgstr "Restablecer contrasinal"
+msgstr "Restabelecer o contrasinal"
#: strings.php:5
msgid "Personal"
@@ -376,19 +376,19 @@ msgstr "Engadir"
#: templates/installation.php:23 templates/installation.php:31
msgid "Security Warning"
-msgstr "Aviso de seguridade"
+msgstr "Aviso de seguranza"
#: templates/installation.php:24
msgid ""
"No secure random number generator is available, please enable the PHP "
"OpenSSL extension."
-msgstr "Non hai un xerador de números aleatorios dispoñíbel. Activa o engadido de OpenSSL para PHP."
+msgstr "Non hai un xerador de números ao chou dispoñíbel. Active o engadido de OpenSSL para PHP."
#: templates/installation.php:26
msgid ""
"Without a secure random number generator an attacker may be able to predict "
"password reset tokens and take over your account."
-msgstr "Sen un xerador de números aleatorios seguro podería acontecer que predicindo as cadeas de texto de reinicio de contrasinais se afagan coa túa conta."
+msgstr "Sen un xerador seguro de números ao chou podería acontecer que predicindo as cadeas de texto de reinicio de contrasinais se afagan coa súa conta."
#: templates/installation.php:32
msgid ""
@@ -397,50 +397,50 @@ msgid ""
"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."
-msgstr "O teu cartafol de datos e os teus ficheiros son seguramente accesibles a través de internet. O ficheiro .htaccess que ownCloud fornece non está empregándose. Suxírese que configures o teu servidor web de tal maneira que o cartafol de datos non estea accesíbel ou movas o cartafol de datos fóra do root do directorio de datos do servidor web."
+msgstr "O seu cartafol de datos e os seus ficheiros probabelmente sexan accesíbeis a través da Internet. O ficheiro .htaccess que fornece ownCloud non está a empregarse. Suxerimoslle que configure o seu servidor web de tal xeito que o cartafol de datos non estea accesíbel ou mova o cartafol de datos fora do directorio raíz de datos do servidor web."
#: templates/installation.php:36
msgid "Create an <strong>admin account</strong>"
msgstr "Crear unha <strong>contra de administrador</strong>"
-#: templates/installation.php:48
+#: templates/installation.php:50
msgid "Advanced"
msgstr "Avanzado"
-#: templates/installation.php:50
+#: templates/installation.php:52
msgid "Data folder"
msgstr "Cartafol de datos"
-#: templates/installation.php:57
+#: templates/installation.php:59
msgid "Configure the database"
msgstr "Configurar a base de datos"
-#: templates/installation.php:62 templates/installation.php:73
-#: templates/installation.php:83 templates/installation.php:93
+#: templates/installation.php:64 templates/installation.php:75
+#: templates/installation.php:85 templates/installation.php:95
msgid "will be used"
-msgstr "será utilizado"
+msgstr "vai ser utilizado"
-#: templates/installation.php:105
+#: templates/installation.php:107
msgid "Database user"
msgstr "Usuario da base de datos"
-#: templates/installation.php:109
+#: templates/installation.php:111
msgid "Database password"
msgstr "Contrasinal da base de datos"
-#: templates/installation.php:113
+#: templates/installation.php:115
msgid "Database name"
msgstr "Nome da base de datos"
-#: templates/installation.php:121
+#: templates/installation.php:123
msgid "Database tablespace"
msgstr "Táboa de espazos da base de datos"
-#: templates/installation.php:127
+#: templates/installation.php:129
msgid "Database host"
msgstr "Servidor da base de datos"
-#: templates/installation.php:132
+#: templates/installation.php:134
msgid "Finish setup"
msgstr "Rematar a configuración"
@@ -474,51 +474,51 @@ msgstr "Sábado"
#: templates/layout.guest.php:17 templates/layout.user.php:18
msgid "January"
-msgstr "Xaneiro"
+msgstr "xaneiro"
#: templates/layout.guest.php:17 templates/layout.user.php:18
msgid "February"
-msgstr "Febreiro"
+msgstr "febreiro"
#: templates/layout.guest.php:17 templates/layout.user.php:18
msgid "March"
-msgstr "Marzo"
+msgstr "marzo"
#: templates/layout.guest.php:17 templates/layout.user.php:18
msgid "April"
-msgstr "Abril"
+msgstr "abril"
#: templates/layout.guest.php:17 templates/layout.user.php:18
msgid "May"
-msgstr "Maio"
+msgstr "maio"
#: templates/layout.guest.php:17 templates/layout.user.php:18
msgid "June"
-msgstr "Xuño"
+msgstr "xuño"
#: templates/layout.guest.php:17 templates/layout.user.php:18
msgid "July"
-msgstr "Xullo"
+msgstr "xullo"
#: templates/layout.guest.php:17 templates/layout.user.php:18
msgid "August"
-msgstr "Agosto"
+msgstr "agosto"
#: templates/layout.guest.php:17 templates/layout.user.php:18
msgid "September"
-msgstr "Setembro"
+msgstr "setembro"
#: templates/layout.guest.php:17 templates/layout.user.php:18
msgid "October"
-msgstr "Outubro"
+msgstr "outubro"
#: templates/layout.guest.php:17 templates/layout.user.php:18
msgid "November"
-msgstr "Novembro"
+msgstr "novembro"
#: templates/layout.guest.php:17 templates/layout.user.php:18
msgid "December"
-msgstr "Decembro"
+msgstr "decembro"
#: templates/layout.guest.php:42
msgid "web services under your control"
@@ -528,36 +528,32 @@ msgstr "servizos web baixo o seu control"
msgid "Log out"
msgstr "Desconectar"
-#: templates/login.php:8
+#: templates/login.php:10
msgid "Automatic logon rejected!"
msgstr "Rexeitouse a entrada automática"
-#: templates/login.php:9
+#: templates/login.php:11
msgid ""
"If you did not change your password recently, your account may be "
"compromised!"
-msgstr "Se non fixeches cambios de contrasinal recentemente é posíbel que a túa conta estea comprometida!"
+msgstr "Se non fixo recentemente cambios de contrasinal é posíbel que a súa conta estea comprometida!"
-#: templates/login.php:10
+#: templates/login.php:13
msgid "Please change your password to secure your account again."
-msgstr "Cambia de novo o teu contrasinal para asegurar a túa conta."
+msgstr "Cambie de novo o seu contrasinal para asegurar a súa conta."
-#: templates/login.php:15
+#: templates/login.php:19
msgid "Lost your password?"
msgstr "Perdeu o contrasinal?"
-#: templates/login.php:27
+#: templates/login.php:39
msgid "remember"
msgstr "lembrar"
-#: templates/login.php:28
+#: templates/login.php:41
msgid "Log in"
msgstr "Conectar"
-#: templates/logout.php:1
-msgid "You are logged out."
-msgstr "Está desconectado"
-
#: templates/part.pagenavi.php:3
msgid "prev"
msgstr "anterior"
@@ -566,16 +562,7 @@ msgstr "anterior"
msgid "next"
msgstr "seguinte"
-#: templates/verify.php:5
-msgid "Security Warning!"
-msgstr "Advertencia de seguranza"
-
-#: templates/verify.php:6
-msgid ""
-"Please verify your password. <br/>For security reasons you may be "
-"occasionally asked to enter your password again."
-msgstr "Verifica o teu contrasinal.<br/>Por motivos de seguridade pode que ocasionalmente se che pregunte de novo polo teu contrasinal."
-
-#: templates/verify.php:16
-msgid "Verify"
-msgstr "Verificar"
+#: templates/update.php:3
+#, php-format
+msgid "Updating ownCloud to version %s, this may take a while."
+msgstr "Actualizando ownCloud a versión %s, esto pode levar un anaco."
diff --git a/l10n/gl/files.po b/l10n/gl/files.po
index d44302b22d1..d7711dff1bf 100644
--- a/l10n/gl/files.po
+++ b/l10n/gl/files.po
@@ -3,15 +3,15 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
-# antiparvos <marcoslansgarza@gmail.com>, 2012.
-# Xosé M. Lamas <correo.xmgz@gmail.com>, 2012.
+# antiparvos <marcoslansgarza@gmail.com>, 2012-2013.
+# Xosé M. Lamas <correo.xmgz@gmail.com>, 2012-2013.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-03 00:04+0100\n"
-"PO-Revision-Date: 2012-12-02 21:51+0000\n"
-"Last-Translator: Miguel Branco <mgl.branco@gmail.com>\n"
+"POT-Creation-Date: 2013-01-20 00:05+0100\n"
+"PO-Revision-Date: 2013-01-19 23:05+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -19,46 +19,77 @@ msgstr ""
"Language: gl\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+#: ajax/delete.php:28 ajax/getstoragestats.php:11 ajax/upload.php:17
+#: ajax/upload.php:76 templates/index.php:18
+msgid "Upload"
+msgstr "Enviar"
+
+#: ajax/move.php:17
+#, php-format
+msgid "Could not move %s - File with this name already exists"
+msgstr "Non se moveu %s - Xa existe un ficheiro con ese nome."
+
+#: ajax/move.php:24
+#, php-format
+msgid "Could not move %s"
+msgstr "Non se puido mover %s"
+
+#: ajax/rename.php:19
+msgid "Unable to rename file"
+msgstr "Non se pode renomear o ficheiro"
+
#: ajax/upload.php:20
+msgid "No file was uploaded. Unknown error"
+msgstr "Non se subiu ningún ficheiro. Erro descoñecido."
+
+#: ajax/upload.php:30
msgid "There is no error, the file uploaded with success"
msgstr "Non hai erros. O ficheiro enviouse correctamente"
-#: ajax/upload.php:21
+#: ajax/upload.php:31
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr "O ficheiro subido excede a directiva indicada polo tamaño_máximo_de_subida de php.ini"
-#: ajax/upload.php:23
+#: ajax/upload.php:33
msgid ""
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
"the HTML form"
msgstr "O ficheiro enviado supera a directiva MAX_FILE_SIZE que foi indicada no formulario HTML"
-#: ajax/upload.php:25
+#: ajax/upload.php:35
msgid "The uploaded file was only partially uploaded"
msgstr "O ficheiro enviado foi só parcialmente enviado"
-#: ajax/upload.php:26
+#: ajax/upload.php:36
msgid "No file was uploaded"
msgstr "Non se enviou ningún ficheiro"
-#: ajax/upload.php:27
+#: ajax/upload.php:37
msgid "Missing a temporary folder"
msgstr "Falta un cartafol temporal"
-#: ajax/upload.php:28
+#: ajax/upload.php:38
msgid "Failed to write to disk"
msgstr "Erro ao escribir no disco"
+#: ajax/upload.php:57
+msgid "Not enough space available"
+msgstr "O espazo dispoñíbel é insuficiente"
+
+#: ajax/upload.php:91
+msgid "Invalid directory."
+msgstr "O directorio é incorrecto."
+
#: appinfo/app.php:10
msgid "Files"
msgstr "Ficheiros"
-#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84
+#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
msgid "Unshare"
msgstr "Deixar de compartir"
-#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90
+#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
msgid "Delete"
msgstr "Eliminar"
@@ -66,122 +97,136 @@ msgstr "Eliminar"
msgid "Rename"
msgstr "Mudar o nome"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "{new_name} already exists"
msgstr "xa existe un {new_name}"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "replace"
msgstr "substituír"
-#: js/filelist.js:201
+#: js/filelist.js:205
msgid "suggest name"
msgstr "suxerir nome"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "cancel"
msgstr "cancelar"
-#: js/filelist.js:250
+#: js/filelist.js:254
msgid "replaced {new_name}"
msgstr "substituír {new_name}"
-#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286
+#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
msgid "undo"
msgstr "desfacer"
-#: js/filelist.js:252
+#: js/filelist.js:256
msgid "replaced {new_name} with {old_name}"
msgstr "substituír {new_name} polo {old_name}"
-#: js/filelist.js:284
+#: js/filelist.js:288
msgid "unshared {files}"
msgstr "{files} sen compartir"
-#: js/filelist.js:286
+#: js/filelist.js:290
msgid "deleted {files}"
msgstr "{files} eliminados"
-#: js/files.js:33
+#: js/files.js:48
+msgid "'.' is an invalid file name."
+msgstr "'.' é un nonme de ficheiro non válido"
+
+#: js/files.js:53
+msgid "File name cannot be empty."
+msgstr "O nome de ficheiro non pode estar baldeiro"
+
+#: js/files.js:62
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr "Nome non válido, '\\', '/', '<', '>', ':', '\"', '|', '?' e '*' non se permiten."
-#: js/files.js:183
-msgid "generating ZIP-file, it may take some time."
-msgstr "xerando un ficheiro ZIP, o que pode levar un anaco."
+#: js/files.js:204
+msgid ""
+"Your download is being prepared. This might take some time if the files are "
+"big."
+msgstr ""
-#: js/files.js:218
+#: js/files.js:242
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr "Non se puido subir o ficheiro pois ou é un directorio ou ten 0 bytes"
-#: js/files.js:218
+#: js/files.js:242
msgid "Upload Error"
msgstr "Erro na subida"
-#: js/files.js:235
+#: js/files.js:259
msgid "Close"
msgstr "Pechar"
-#: js/files.js:254 js/files.js:368 js/files.js:398
+#: js/files.js:278 js/files.js:397 js/files.js:431
msgid "Pending"
msgstr "Pendentes"
-#: js/files.js:274
+#: js/files.js:298
msgid "1 file uploading"
msgstr "1 ficheiro subíndose"
-#: js/files.js:277 js/files.js:331 js/files.js:346
+#: js/files.js:301 js/files.js:357 js/files.js:372
msgid "{count} files uploading"
msgstr "{count} ficheiros subíndose"
-#: js/files.js:349 js/files.js:382
+#: js/files.js:376 js/files.js:414
msgid "Upload cancelled."
msgstr "Subida cancelada."
-#: js/files.js:451
+#: js/files.js:486
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr "A subida do ficheiro está en curso. Saír agora da páxina cancelará a subida."
-#: js/files.js:523
-msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud"
-msgstr "Nome de cartafol non válido. O uso de \"compartido\" está reservado exclusivamente para ownCloud"
+#: js/files.js:559
+msgid "URL cannot be empty."
+msgstr "URL non pode quedar baleiro."
-#: js/files.js:704
+#: js/files.js:565
+msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
+msgstr "Nome de cartafol non válido. O uso de 'Shared' está reservado por Owncloud"
+
+#: js/files.js:775
msgid "{count} files scanned"
msgstr "{count} ficheiros escaneados"
-#: js/files.js:712
+#: js/files.js:783
msgid "error while scanning"
msgstr "erro mentres analizaba"
-#: js/files.js:785 templates/index.php:65
+#: js/files.js:857 templates/index.php:64
msgid "Name"
msgstr "Nome"
-#: js/files.js:786 templates/index.php:76
+#: js/files.js:858 templates/index.php:75
msgid "Size"
msgstr "Tamaño"
-#: js/files.js:787 templates/index.php:78
+#: js/files.js:859 templates/index.php:77
msgid "Modified"
msgstr "Modificado"
-#: js/files.js:814
+#: js/files.js:878
msgid "1 folder"
msgstr "1 cartafol"
-#: js/files.js:816
+#: js/files.js:880
msgid "{count} folders"
msgstr "{count} cartafoles"
-#: js/files.js:824
+#: js/files.js:888
msgid "1 file"
msgstr "1 ficheiro"
-#: js/files.js:826
+#: js/files.js:890
msgid "{count} files"
msgstr "{count} ficheiros"
@@ -193,27 +238,27 @@ msgstr "Manexo de ficheiro"
msgid "Maximum upload size"
msgstr "Tamaño máximo de envío"
-#: templates/admin.php:9
+#: templates/admin.php:10
msgid "max. possible: "
msgstr "máx. posible: "
-#: templates/admin.php:12
+#: templates/admin.php:15
msgid "Needed for multi-file and folder downloads."
msgstr "Precísase para a descarga de varios ficheiros e cartafoles."
-#: templates/admin.php:14
+#: templates/admin.php:17
msgid "Enable ZIP-download"
msgstr "Habilitar a descarga-ZIP"
-#: templates/admin.php:17
+#: templates/admin.php:20
msgid "0 is unlimited"
msgstr "0 significa ilimitado"
-#: templates/admin.php:19
+#: templates/admin.php:22
msgid "Maximum input size for ZIP files"
msgstr "Tamaño máximo de descarga para os ZIP"
-#: templates/admin.php:23
+#: templates/admin.php:26
msgid "Save"
msgstr "Gardar"
@@ -233,36 +278,32 @@ msgstr "Cartafol"
msgid "From link"
msgstr "Dende a ligazón"
-#: templates/index.php:35
-msgid "Upload"
-msgstr "Enviar"
-
-#: templates/index.php:43
+#: templates/index.php:41
msgid "Cancel upload"
msgstr "Cancelar a subida"
-#: templates/index.php:57
+#: templates/index.php:56
msgid "Nothing in here. Upload something!"
msgstr "Nada por aquí. Envía algo."
-#: templates/index.php:71
+#: templates/index.php:70
msgid "Download"
msgstr "Descargar"
-#: templates/index.php:103
+#: templates/index.php:102
msgid "Upload too large"
msgstr "Envío demasiado grande"
-#: templates/index.php:105
+#: templates/index.php:104
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "Os ficheiros que trata de subir superan o tamaño máximo permitido neste servidor"
-#: templates/index.php:110
+#: templates/index.php:109
msgid "Files are being scanned, please wait."
msgstr "Estanse analizando os ficheiros. Agarda."
-#: templates/index.php:113
+#: templates/index.php:112
msgid "Current scanning"
msgstr "Análise actual"
diff --git a/l10n/gl/files_encryption.po b/l10n/gl/files_encryption.po
index 367cd2cd063..ba0a8e899da 100644
--- a/l10n/gl/files_encryption.po
+++ b/l10n/gl/files_encryption.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-11-21 00:01+0100\n"
-"PO-Revision-Date: 2012-11-20 22:19+0000\n"
-"Last-Translator: Miguel Branco <mgl.branco@gmail.com>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,18 +18,66 @@ msgstr ""
"Language: gl\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "Cifrado"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "Excluír os seguintes tipos de ficheiro do cifrado"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "Nada"
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "Activar o cifrado"
diff --git a/l10n/gl/files_external.po b/l10n/gl/files_external.po
index 775152bbea7..9bc476ece0b 100644
--- a/l10n/gl/files_external.po
+++ b/l10n/gl/files_external.po
@@ -9,9 +9,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-13 00:17+0100\n"
-"PO-Revision-Date: 2012-12-11 23:22+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-01 00:04+0100\n"
+"PO-Revision-Date: 2012-12-31 08:40+0000\n"
+"Last-Translator: mbouzada <mbouzada@gmail.com>\n"
"Language-Team: Galician (http://www.transifex.com/projects/p/owncloud/language/gl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -37,7 +37,7 @@ msgstr "Cubrir todos os campos obrigatorios"
#: js/dropbox.js:85
msgid "Please provide a valid Dropbox app key and secret."
-msgstr "Dá o segredo e a chave correcta do aplicativo de Dropbox."
+msgstr "Forneza unha chave correcta e segreda do Dropbox."
#: js/google.js:26 js/google.js:73 js/google.js:78
msgid "Error configuring Google Drive storage"
@@ -47,14 +47,14 @@ msgstr "Produciuse un erro ao configurar o almacenamento en Google Drive"
msgid ""
"<b>Warning:</b> \"smbclient\" is not installed. Mounting of CIFS/SMB shares "
"is not possible. Please ask your system administrator to install it."
-msgstr ""
+msgstr "<b>Aviso:</b> «smbclient» non está instalado. Non é posibel a montaxe de comparticións CIFS/SMB. Consulte co administrador do sistema para instalalo."
#: lib/config.php:435
msgid ""
"<b>Warning:</b> The FTP support in PHP is not enabled or installed. Mounting"
" of FTP shares is not possible. Please ask your system administrator to "
"install it."
-msgstr ""
+msgstr "<b>Aviso:</b> A compatibilidade de FTP en PHP non está activada ou instalada. Non é posibel a montaxe de comparticións FTP. Consulte co administrador do sistema para instalalo."
#: templates/settings.php:3
msgid "External Storage"
@@ -101,7 +101,7 @@ msgid "Users"
msgstr "Usuarios"
#: templates/settings.php:108 templates/settings.php:109
-#: templates/settings.php:149 templates/settings.php:150
+#: templates/settings.php:144 templates/settings.php:145
msgid "Delete"
msgstr "Eliminar"
@@ -113,10 +113,10 @@ msgstr "Activar o almacenamento externo do usuario"
msgid "Allow users to mount their own external storage"
msgstr "Permitir aos usuarios montar os seus propios almacenamentos externos"
-#: templates/settings.php:139
+#: templates/settings.php:136
msgid "SSL root certificates"
msgstr "Certificados SSL root"
-#: templates/settings.php:158
+#: templates/settings.php:153
msgid "Import Root Certificate"
msgstr "Importar o certificado root"
diff --git a/l10n/gl/files_versions.po b/l10n/gl/files_versions.po
index aeb062c08df..c0ac98462b7 100644
--- a/l10n/gl/files_versions.po
+++ b/l10n/gl/files_versions.po
@@ -10,9 +10,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-11-30 00:03+0100\n"
-"PO-Revision-Date: 2012-11-29 16:08+0000\n"
-"Last-Translator: mbouzada <mbouzada@gmail.com>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:03+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -20,22 +20,10 @@ msgstr ""
"Language: gl\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: js/settings-personal.js:31 templates/settings-personal.php:10
-msgid "Expire all versions"
-msgstr "Caducan todas as versións"
-
#: js/versions.js:16
msgid "History"
msgstr "Historial"
-#: templates/settings-personal.php:4
-msgid "Versions"
-msgstr "Versións"
-
-#: templates/settings-personal.php:7
-msgid "This will delete all existing backup versions of your files"
-msgstr "Isto eliminará todas as copias de seguranza que haxa dos seus ficheiros"
-
#: templates/settings.php:3
msgid "Files Versioning"
msgstr "Sistema de versión de ficheiros"
diff --git a/l10n/gl/lib.po b/l10n/gl/lib.po
index 739b0ba67ff..c6fc161311a 100644
--- a/l10n/gl/lib.po
+++ b/l10n/gl/lib.po
@@ -5,14 +5,14 @@
# Translators:
# <mbouzada@gmail.com>, 2012.
# Miguel Branco <mgl.branco@gmail.com>, 2012.
-# Xosé M. Lamas <correo.xmgz@gmail.com>, 2012.
+# Xosé M. Lamas <correo.xmgz@gmail.com>, 2012-2013.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-08 00:10+0100\n"
-"PO-Revision-Date: 2012-12-06 11:56+0000\n"
-"Last-Translator: mbouzada <mbouzada@gmail.com>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 06:11+0000\n"
+"Last-Translator: Xosé M. Lamas <correo.xmgz@gmail.com>\n"
"Language-Team: Galician (http://www.transifex.com/projects/p/owncloud/language/gl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -20,51 +20,55 @@ msgstr ""
"Language: gl\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: app.php:287
+#: app.php:301
msgid "Help"
msgstr "Axuda"
-#: app.php:294
+#: app.php:308
msgid "Personal"
msgstr "Persoal"
-#: app.php:299
+#: app.php:313
msgid "Settings"
msgstr "Configuracións"
-#: app.php:304
+#: app.php:318
msgid "Users"
msgstr "Usuarios"
-#: app.php:311
+#: app.php:325
msgid "Apps"
msgstr "Aplicativos"
-#: app.php:313
+#: app.php:327
msgid "Admin"
msgstr "Administración"
-#: files.php:361
+#: files.php:365
msgid "ZIP download is turned off."
msgstr "As descargas ZIP están desactivadas"
-#: files.php:362
+#: files.php:366
msgid "Files need to be downloaded one by one."
msgstr "Os ficheiros necesitan seren descargados de un en un."
-#: files.php:362 files.php:387
+#: files.php:366 files.php:391
msgid "Back to Files"
msgstr "Volver aos ficheiros"
-#: files.php:386
+#: files.php:390
msgid "Selected files too large to generate zip file."
msgstr "Os ficheiros seleccionados son demasiado grandes como para xerar un ficheiro zip."
+#: helper.php:229
+msgid "couldn't be determined"
+msgstr "non puido ser determinado"
+
#: json.php:28
msgid "Application is not enabled"
msgstr "O aplicativo non está activado"
-#: json.php:39 json.php:64 json.php:77 json.php:89
+#: json.php:39 json.php:62 json.php:73
msgid "Authentication error"
msgstr "Produciuse un erro na autenticación"
@@ -84,55 +88,55 @@ msgstr "Texto"
msgid "Images"
msgstr "Imaxes"
-#: template.php:103
+#: template.php:113
msgid "seconds ago"
msgstr "hai segundos"
-#: template.php:104
+#: template.php:114
msgid "1 minute ago"
msgstr "hai 1 minuto"
-#: template.php:105
+#: template.php:115
#, php-format
msgid "%d minutes ago"
msgstr "hai %d minutos"
-#: template.php:106
+#: template.php:116
msgid "1 hour ago"
msgstr "Vai 1 hora"
-#: template.php:107
+#: template.php:117
#, php-format
msgid "%d hours ago"
msgstr "Vai %d horas"
-#: template.php:108
+#: template.php:118
msgid "today"
msgstr "hoxe"
-#: template.php:109
+#: template.php:119
msgid "yesterday"
msgstr "onte"
-#: template.php:110
+#: template.php:120
#, php-format
msgid "%d days ago"
msgstr "hai %d días"
-#: template.php:111
+#: template.php:121
msgid "last month"
msgstr "último mes"
-#: template.php:112
+#: template.php:122
#, php-format
msgid "%d months ago"
msgstr "Vai %d meses"
-#: template.php:113
+#: template.php:123
msgid "last year"
msgstr "último ano"
-#: template.php:114
+#: template.php:124
msgid "years ago"
msgstr "anos atrás"
diff --git a/l10n/gl/settings.po b/l10n/gl/settings.po
index 234468f6e0a..428b5f06cd5 100644
--- a/l10n/gl/settings.po
+++ b/l10n/gl/settings.po
@@ -4,13 +4,14 @@
#
# Translators:
# antiparvos <marcoslansgarza@gmail.com>, 2012.
+# <mbouzada@gmail.com>, 2012.
# Xosé M. Lamas <correo.xmgz@gmail.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-21 00:10+0100\n"
-"PO-Revision-Date: 2012-12-19 23:20+0000\n"
+"POT-Creation-Date: 2013-01-12 00:09+0100\n"
+"PO-Revision-Date: 2013-01-11 23:09+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"
@@ -21,7 +22,7 @@ msgstr ""
#: ajax/apps/ocs.php:20
msgid "Unable to load list from App Store"
-msgstr "Non se puido cargar a lista desde a App Store"
+msgstr "Non foi posíbel cargar a lista desde a App Store"
#: ajax/creategroup.php:10
msgid "Group already exists"
@@ -29,43 +30,39 @@ msgstr "O grupo xa existe"
#: ajax/creategroup.php:19
msgid "Unable to add group"
-msgstr "Non se pode engadir o grupo"
+msgstr "Non é posíbel engadir o grupo"
-#: ajax/enableapp.php:12
+#: ajax/enableapp.php:11
msgid "Could not enable app. "
-msgstr "Con se puido activar o aplicativo."
+msgstr "Non é posíbel activar o aplicativo."
#: ajax/lostpassword.php:12
msgid "Email saved"
-msgstr "Correo electrónico gardado"
+msgstr "Correo gardado"
#: ajax/lostpassword.php:14
msgid "Invalid email"
-msgstr "correo electrónico non válido"
-
-#: ajax/openid.php:13
-msgid "OpenID Changed"
-msgstr "Mudou o OpenID"
-
-#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20
-msgid "Invalid request"
-msgstr "Petición incorrecta"
+msgstr "correo incorrecto"
#: ajax/removegroup.php:13
msgid "Unable to delete group"
-msgstr "Non se pode eliminar o grupo."
+msgstr "Non é posíbel eliminar o grupo."
#: ajax/removeuser.php:15 ajax/setquota.php:15 ajax/togglegroups.php:18
msgid "Authentication error"
-msgstr "Erro na autenticación"
+msgstr "Produciuse un erro de autenticación"
#: ajax/removeuser.php:24
msgid "Unable to delete user"
-msgstr "Non se pode eliminar o usuario"
+msgstr "Non é posíbel eliminar o usuario"
#: ajax/setlanguage.php:15
msgid "Language changed"
-msgstr "O idioma mudou"
+msgstr "O idioma cambiou"
+
+#: ajax/setlanguage.php:17 ajax/setlanguage.php:20
+msgid "Invalid request"
+msgstr "Petición incorrecta"
#: ajax/togglegroups.php:12
msgid "Admins can't remove themself from the admin group"
@@ -74,12 +71,12 @@ msgstr "Os administradores non se pode eliminar a si mesmos do grupo admin"
#: ajax/togglegroups.php:28
#, php-format
msgid "Unable to add user to group %s"
-msgstr "Non se puido engadir o usuario ao grupo %s"
+msgstr "Non é posíbel engadir o usuario ao grupo %s"
#: ajax/togglegroups.php:34
#, php-format
msgid "Unable to remove user from group %s"
-msgstr "Non se puido eliminar o usuario do grupo %s"
+msgstr "Non é posíbel eliminar o usuario do grupo %s"
#: js/apps.js:28 js/apps.js:67
msgid "Disable"
@@ -99,7 +96,7 @@ msgstr "Galego"
#: templates/apps.php:10
msgid "Add your App"
-msgstr "Engade o teu aplicativo"
+msgstr "Engada o seu aplicativo"
#: templates/apps.php:11
msgid "More Apps"
@@ -107,11 +104,11 @@ msgstr "Máis aplicativos"
#: templates/apps.php:27
msgid "Select an App"
-msgstr "Escolla un Aplicativo"
+msgstr "Escolla un aplicativo"
#: templates/apps.php:31
msgid "See application page at apps.owncloud.com"
-msgstr "Vexa a páxina do aplicativo en apps.owncloud.com"
+msgstr "Consulte a páxina do aplicativo en apps.owncloud.com"
#: templates/apps.php:32
msgid "<span class=\"licence\"></span>-licensed by <span class=\"author\"></span>"
@@ -119,32 +116,32 @@ msgstr "<span class=\"licence\"></span>-licenciado por<span class=\"author\"></s
#: templates/help.php:3
msgid "User Documentation"
-msgstr ""
+msgstr "Documentación do usuario"
#: templates/help.php:4
msgid "Administrator Documentation"
-msgstr ""
+msgstr "Documentación do administrador"
#: templates/help.php:6
msgid "Online Documentation"
-msgstr ""
+msgstr "Documentación na Rede"
#: templates/help.php:7
msgid "Forum"
-msgstr ""
+msgstr "Foro"
#: templates/help.php:9
msgid "Bugtracker"
-msgstr ""
+msgstr "Seguemento de fallos"
#: templates/help.php:11
msgid "Commercial Support"
-msgstr ""
+msgstr "Asistencia comercial"
#: templates/personal.php:8
#, php-format
msgid "You have used <strong>%s</strong> of the available <strong>%s</strong>"
-msgstr "Tes usados <strong>%s</strong> do total dispoñíbel de <strong>%s</strong>"
+msgstr "Te en uso <strong>%s</strong> do total dispoñíbel de <strong>%s</strong>"
#: templates/personal.php:12
msgid "Clients"
@@ -152,17 +149,17 @@ msgstr "Clientes"
#: templates/personal.php:13
msgid "Download Desktop Clients"
-msgstr ""
+msgstr "Descargar clientes para escritorio"
#: templates/personal.php:14
msgid "Download Android Client"
-msgstr ""
+msgstr "Descargar clientes para Android"
#: templates/personal.php:15
msgid "Download iOS Client"
-msgstr ""
+msgstr "Descargar clientes ra iOS"
-#: templates/personal.php:21 templates/users.php:23 templates/users.php:77
+#: templates/personal.php:21 templates/users.php:23 templates/users.php:82
msgid "Password"
msgstr "Contrasinal"
@@ -172,7 +169,7 @@ msgstr "O seu contrasinal foi cambiado"
#: templates/personal.php:23
msgid "Unable to change your password"
-msgstr "Incapaz de trocar o seu contrasinal"
+msgstr "Non é posíbel cambiar o seu contrasinal"
#: templates/personal.php:24
msgid "Current password"
@@ -188,19 +185,19 @@ msgstr "amosar"
#: templates/personal.php:27
msgid "Change password"
-msgstr "Mudar contrasinal"
+msgstr "Cambiar o contrasinal"
#: templates/personal.php:33
msgid "Email"
-msgstr "Correo electrónico"
+msgstr "Correo"
#: templates/personal.php:34
msgid "Your email address"
-msgstr "O seu enderezo de correo electrónico"
+msgstr "O seu enderezo de correo"
#: templates/personal.php:35
msgid "Fill in an email address to enable password recovery"
-msgstr "Escriba un enderezo de correo electrónico para habilitar a recuperación do contrasinal"
+msgstr "Escriba un enderezo de correo para activar a recuperación do contrasinal"
#: templates/personal.php:41 templates/personal.php:42
msgid "Language"
@@ -212,15 +209,15 @@ msgstr "Axude na tradución"
#: templates/personal.php:52
msgid "WebDAV"
-msgstr ""
+msgstr "WebDAV"
#: templates/personal.php:54
msgid "Use this address to connect to your ownCloud in your file manager"
-msgstr ""
+msgstr "Utilice este enderezo para conectarse ao seu ownCloud co administrador de ficheiros"
#: templates/personal.php:63
msgid "Version"
-msgstr ""
+msgstr "Versión"
#: templates/personal.php:65
msgid ""
@@ -232,11 +229,11 @@ msgid ""
"License\">AGPL</abbr></a>."
msgstr "Desenvolvido pola <a href=\"http://ownCloud.org/contact\" target=\"_blank\">comunidade ownCloud</a>, o <a href=\"https://github.com/owncloud\" target=\"_blank\">código fonte</a> está baixo a licenza <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>."
-#: templates/users.php:21 templates/users.php:76
+#: templates/users.php:21 templates/users.php:81
msgid "Name"
msgstr "Nome"
-#: templates/users.php:26 templates/users.php:78 templates/users.php:98
+#: templates/users.php:26 templates/users.php:83 templates/users.php:103
msgid "Groups"
msgstr "Grupos"
@@ -245,21 +242,29 @@ msgid "Create"
msgstr "Crear"
#: templates/users.php:35
-msgid "Default Quota"
-msgstr "Cota por omisión"
+msgid "Default Storage"
+msgstr "Almacenamento predeterminado"
-#: templates/users.php:55 templates/users.php:138
+#: templates/users.php:42 templates/users.php:138
+msgid "Unlimited"
+msgstr "Sen límites"
+
+#: templates/users.php:60 templates/users.php:153
msgid "Other"
msgstr "Outro"
-#: templates/users.php:80 templates/users.php:112
+#: templates/users.php:85 templates/users.php:117
msgid "Group Admin"
msgstr "Grupo Admin"
-#: templates/users.php:82
-msgid "Quota"
-msgstr "Cota"
+#: templates/users.php:87
+msgid "Storage"
+msgstr "Almacenamento"
+
+#: templates/users.php:133
+msgid "Default"
+msgstr "Predeterminado"
-#: templates/users.php:146
+#: templates/users.php:161
msgid "Delete"
-msgstr "Borrar"
+msgstr "Eliminar"
diff --git a/l10n/gl/user_ldap.po b/l10n/gl/user_ldap.po
index e61cf22989a..66d3c446382 100644
--- a/l10n/gl/user_ldap.po
+++ b/l10n/gl/user_ldap.po
@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-15 00:11+0100\n"
-"PO-Revision-Date: 2012-12-14 23:11+0000\n"
+"POT-Creation-Date: 2013-01-16 00:19+0100\n"
+"PO-Revision-Date: 2013-01-15 23:20+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"
@@ -24,12 +24,12 @@ msgid ""
"<b>Warning:</b> Apps user_ldap and user_webdavauth are incompatible. You may"
" experience unexpected behaviour. Please ask your system administrator to "
"disable one of them."
-msgstr ""
+msgstr "<b>Aviso:</b> Os aplicativos user_ldap e user_webdavauth son incompatíbeis. Pode acontecer un comportamento estraño. Consulte co administrador do sistema para desactivar un deles."
#: templates/settings.php:11
msgid ""
-"<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will"
-" not work. Please ask your system administrator to install it."
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not "
+"work. Please ask your system administrator to install it."
msgstr ""
#: templates/settings.php:15
@@ -46,6 +46,10 @@ msgid "Base DN"
msgstr "DN base"
#: templates/settings.php:16
+msgid "One Base DN per line"
+msgstr ""
+
+#: templates/settings.php:16
msgid "You can specify Base DN for users and groups in the Advanced tab"
msgstr "Pode especificar a DN base para usuarios e grupos na lapela de «Avanzado»"
@@ -58,7 +62,7 @@ msgid ""
"The DN of the client user with which the bind shall be done, e.g. "
"uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password "
"empty."
-msgstr "O DN do cliente do usuario co que hai que estabelecer unha conexión, p.ex uid=axente, dc=exemplo, dc=com. Para o acceso en anónimo de o DN e o contrasinal baleiros."
+msgstr "O DN do cliente do usuario co que hai que estabelecer unha conexión, p.ex uid=axente, dc=exemplo, dc=com. Para o acceso anónimo deixe o DN e o contrasinal baleiros."
#: templates/settings.php:18
msgid "Password"
@@ -116,10 +120,18 @@ msgstr "Porto"
msgid "Base User Tree"
msgstr "Base da árbore de usuarios"
+#: templates/settings.php:25
+msgid "One User Base DN per line"
+msgstr ""
+
#: templates/settings.php:26
msgid "Base Group Tree"
msgstr "Base da árbore de grupo"
+#: templates/settings.php:26
+msgid "One Group Base DN per line"
+msgstr ""
+
#: templates/settings.php:27
msgid "Group-Member association"
msgstr "Asociación de grupos e membros"
@@ -130,7 +142,7 @@ msgstr "Usar TLS"
#: templates/settings.php:28
msgid "Do not use it for SSL connections, it will fail."
-msgstr "Non empregualo para conexións SSL: fallará."
+msgstr "Non empregalo para conexións SSL: fallará."
#: templates/settings.php:29
msgid "Case insensitve LDAP server (Windows)"
diff --git a/l10n/gl/user_webdavauth.po b/l10n/gl/user_webdavauth.po
index 8fdb2745637..2004bb9b3c3 100644
--- a/l10n/gl/user_webdavauth.po
+++ b/l10n/gl/user_webdavauth.po
@@ -3,14 +3,16 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# <mbouzada@gmail.com>, 2012.
# Miguel Branco, 2012.
+# Xosé M. Lamas <correo.xmgz@gmail.com>, 2013.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-20 00:11+0100\n"
-"PO-Revision-Date: 2012-12-19 23:12+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-19 00:04+0100\n"
+"PO-Revision-Date: 2013-01-18 06:15+0000\n"
+"Last-Translator: Xosé M. Lamas <correo.xmgz@gmail.com>\n"
"Language-Team: Galician (http://www.transifex.com/projects/p/owncloud/language/gl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,13 +20,17 @@ msgstr ""
"Language: gl\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+#: templates/settings.php:3
+msgid "WebDAV Authentication"
+msgstr "Autenticación WebDAV"
+
#: templates/settings.php:4
msgid "URL: http://"
-msgstr ""
+msgstr "URL: http://"
#: templates/settings.php:6
msgid ""
-"ownCloud will send the user credentials to this URL is interpret http 401 "
-"and http 403 as credentials wrong and all other codes as credentials "
-"correct."
-msgstr ""
+"ownCloud will send the user credentials to this URL. 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 "ownCloud enviará as credenciais do usuario a esta URL. Este conector comproba a resposta e interpretará os códigos de estado 401 e 403 como credenciais non válidas, e todas as outras respostas como credenciais válidas."
diff --git a/l10n/he/core.po b/l10n/he/core.po
index 131ac2897e3..78ebe7d5f2d 100644
--- a/l10n/he/core.po
+++ b/l10n/he/core.po
@@ -4,6 +4,7 @@
#
# Translators:
# Dovix Dovix <dovix2003@gmail.com>, 2012.
+# Gilad Naaman <gilad.doom@gmail.com>, 2013.
# <ido.parag@gmail.com>, 2012.
# <tomerc+transifex.net@gmail.com>, 2011.
# Yaron Shahrabani <sh.yaron@gmail.com>, 2011-2012.
@@ -11,9 +12,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-18 00:13+0100\n"
-"PO-Revision-Date: 2012-12-17 07:42+0000\n"
-"Last-Translator: Yaron Shahrabani <sh.yaron@gmail.com>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:03+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -87,55 +88,55 @@ msgstr "שגי××” בהסרת %s מהמועדפי×."
msgid "Settings"
msgstr "הגדרות"
-#: js/js.js:704
+#: js/js.js:711
msgid "seconds ago"
msgstr "שניות"
-#: js/js.js:705
+#: js/js.js:712
msgid "1 minute ago"
msgstr "לפני דקה ×חת"
-#: js/js.js:706
+#: js/js.js:713
msgid "{minutes} minutes ago"
msgstr "לפני {minutes} דקות"
-#: js/js.js:707
+#: js/js.js:714
msgid "1 hour ago"
msgstr "לפני שעה"
-#: js/js.js:708
+#: js/js.js:715
msgid "{hours} hours ago"
msgstr "לפני {hours} שעות"
-#: js/js.js:709
+#: js/js.js:716
msgid "today"
msgstr "היו×"
-#: js/js.js:710
+#: js/js.js:717
msgid "yesterday"
msgstr "×תמול"
-#: js/js.js:711
+#: js/js.js:718
msgid "{days} days ago"
msgstr "לפני {days} ימי×"
-#: js/js.js:712
+#: js/js.js:719
msgid "last month"
msgstr "חודש שעבר"
-#: js/js.js:713
+#: js/js.js:720
msgid "{months} months ago"
msgstr "לפני {months} חודשי×"
-#: js/js.js:714
+#: js/js.js:721
msgid "months ago"
msgstr "חודשי×"
-#: js/js.js:715
+#: js/js.js:722
msgid "last year"
msgstr "שנה שעברה"
-#: js/js.js:716
+#: js/js.js:723
msgid "years ago"
msgstr "שני×"
@@ -165,8 +166,8 @@ msgid "The object type is not specified."
msgstr "סוג הפריט ×œ× ×¦×•×™×Ÿ."
#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136
-#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:541
-#: js/share.js:553
+#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:554
+#: js/share.js:566
msgid "Error"
msgstr "שגי××”"
@@ -178,7 +179,7 @@ msgstr "×©× ×”×™×™×©×•× ×œ× ×¦×•×™×Ÿ."
msgid "The required file {file} is not installed!"
msgstr "הקובץ הנדרש {file} ×ינו מותקן!"
-#: js/share.js:124 js/share.js:581
+#: js/share.js:124 js/share.js:594
msgid "Error while sharing"
msgstr "שגי××” במהלך השיתוף"
@@ -206,12 +207,11 @@ msgstr "שיתוף ×¢×"
msgid "Share with link"
msgstr "שיתוף ×¢× ×§×™×©×•×¨"
-#: js/share.js:164
+#: js/share.js:166
msgid "Password protect"
msgstr "הגנה בססמה"
-#: js/share.js:168 templates/installation.php:44 templates/login.php:26
-#: templates/verify.php:13
+#: js/share.js:168 templates/installation.php:44 templates/login.php:35
msgid "Password"
msgstr "ססמה"
@@ -275,23 +275,23 @@ msgstr "מחיקה"
msgid "share"
msgstr "שיתוף"
-#: js/share.js:353 js/share.js:528 js/share.js:530
+#: js/share.js:356 js/share.js:541
msgid "Password protected"
msgstr "מוגן בססמה"
-#: js/share.js:541
+#: js/share.js:554
msgid "Error unsetting expiration date"
msgstr "×ירעה שגי××” בביטול ת×ריך התפוגה"
-#: js/share.js:553
+#: js/share.js:566
msgid "Error setting expiration date"
msgstr "×ירעה שגי××” בעת הגדרת ת×ריך התפוגה"
-#: js/share.js:568
+#: js/share.js:581
msgid "Sending ..."
msgstr "מתבצעת שליחה ..."
-#: js/share.js:579
+#: js/share.js:592
msgid "Email sent"
msgstr "הודעת הדו×״ל נשלחה"
@@ -316,7 +316,7 @@ msgid "Request failed!"
msgstr "הבקשה נכשלה!"
#: lostpassword/templates/lostpassword.php:11 templates/installation.php:39
-#: templates/login.php:21
+#: templates/login.php:28
msgid "Username"
msgstr "×©× ×ž×©×ª×ž×©"
@@ -530,36 +530,32 @@ msgstr "שירותי רשת בשליטתך"
msgid "Log out"
msgstr "התנתקות"
-#: templates/login.php:8
+#: templates/login.php:10
msgid "Automatic logon rejected!"
msgstr "בקשת הכניסה ×”×וטומטית נדחתה!"
-#: templates/login.php:9
+#: templates/login.php:11
msgid ""
"If you did not change your password recently, your account may be "
"compromised!"
msgstr "×× ×œ× ×©×™× ×™×ª ×ת ססמתך ל×חרונה, יתכן שחשבונך נפגע!"
-#: templates/login.php:10
+#: templates/login.php:13
msgid "Please change your password to secure your account again."
msgstr "× × ×œ×©× ×•×ª ×ת הססמה שלך כדי ל×בטח ×ת חשבונך מחדש."
-#: templates/login.php:15
+#: templates/login.php:19
msgid "Lost your password?"
msgstr "שכחת ×ת ססמתך?"
-#: templates/login.php:29
+#: templates/login.php:39
msgid "remember"
msgstr "שמירת הססמה"
-#: templates/login.php:30
+#: templates/login.php:41
msgid "Log in"
msgstr "כניסה"
-#: templates/logout.php:1
-msgid "You are logged out."
-msgstr "×œ× ×”×ª×—×‘×¨×ª."
-
#: templates/part.pagenavi.php:3
msgid "prev"
msgstr "הקוד×"
@@ -568,16 +564,7 @@ msgstr "הקוד×"
msgid "next"
msgstr "הב×"
-#: templates/verify.php:5
-msgid "Security Warning!"
-msgstr "×זהרת ×בטחה!"
-
-#: templates/verify.php:6
-msgid ""
-"Please verify your password. <br/>For security reasons you may be "
-"occasionally asked to enter your password again."
-msgstr "× × ×œ×מת ×ת הססמה שלך. <br/>מטעמי ×בטחה יתכן שתופיע בקשה להזין ×ת הססמה שוב."
-
-#: templates/verify.php:16
-msgid "Verify"
-msgstr "×ימות"
+#: templates/update.php:3
+#, php-format
+msgid "Updating ownCloud to version %s, this may take a while."
+msgstr "מעדכן ×ת ownCloud ×ל ×’×¨×¡× %s, ×–×” עלול לקחת זמן מה."
diff --git a/l10n/he/files.po b/l10n/he/files.po
index 2d18545dbb6..f3c44d37861 100644
--- a/l10n/he/files.po
+++ b/l10n/he/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: 2012-12-02 00:02+0100\n"
-"PO-Revision-Date: 2012-12-01 06:37+0000\n"
-"Last-Translator: Yaron Shahrabani <sh.yaron@gmail.com>\n"
+"POT-Creation-Date: 2013-01-20 00:05+0100\n"
+"PO-Revision-Date: 2013-01-19 23:05+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -21,46 +21,77 @@ msgstr ""
"Language: he\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+#: ajax/delete.php:28 ajax/getstoragestats.php:11 ajax/upload.php:17
+#: ajax/upload.php:76 templates/index.php:18
+msgid "Upload"
+msgstr "העל××”"
+
+#: ajax/move.php:17
+#, php-format
+msgid "Could not move %s - File with this name already exists"
+msgstr ""
+
+#: ajax/move.php:24
+#, php-format
+msgid "Could not move %s"
+msgstr ""
+
+#: ajax/rename.php:19
+msgid "Unable to rename file"
+msgstr ""
+
#: ajax/upload.php:20
+msgid "No file was uploaded. Unknown error"
+msgstr "×œ× ×”×•×¢×œ×” קובץ. טעות בלתי מזוהה."
+
+#: ajax/upload.php:30
msgid "There is no error, the file uploaded with success"
msgstr "×œ× ×ירעה תקלה, ×”×§×‘×¦×™× ×”×•×¢×œ×• בהצלחה"
-#: ajax/upload.php:21
+#: ajax/upload.php:31
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr "×”×§×‘×¦×™× ×©× ×©×œ×—×• ×—×•×¨×’×™× ×ž×”×’×•×“×œ שצוין בהגדרה upload_max_filesize שבקובץ php.ini:"
-#: ajax/upload.php:23
+#: ajax/upload.php:33
msgid ""
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
"the HTML form"
msgstr "הקובץ שהועלה חרג מההנחיה MAX_FILE_SIZE שצוינה בטופס ה־HTML"
-#: ajax/upload.php:25
+#: ajax/upload.php:35
msgid "The uploaded file was only partially uploaded"
msgstr "הקובץ שהועלה הועלה בצורה חלקית"
-#: ajax/upload.php:26
+#: ajax/upload.php:36
msgid "No file was uploaded"
msgstr "×œ× ×”×•×¢×œ×• קבצי×"
-#: ajax/upload.php:27
+#: ajax/upload.php:37
msgid "Missing a temporary folder"
msgstr "תיקייה זמנית חסרה"
-#: ajax/upload.php:28
+#: ajax/upload.php:38
msgid "Failed to write to disk"
msgstr "הכתיבה לכונן נכשלה"
+#: ajax/upload.php:57
+msgid "Not enough space available"
+msgstr ""
+
+#: ajax/upload.php:91
+msgid "Invalid directory."
+msgstr ""
+
#: appinfo/app.php:10
msgid "Files"
msgstr "קבצי×"
-#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84
+#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
msgid "Unshare"
msgstr "הסר שיתוף"
-#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90
+#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
msgid "Delete"
msgstr "מחיקה"
@@ -68,122 +99,136 @@ msgstr "מחיקה"
msgid "Rename"
msgstr "שינוי ש×"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "{new_name} already exists"
msgstr "{new_name} כבר ×§×™×™×"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "replace"
msgstr "החלפה"
-#: js/filelist.js:201
+#: js/filelist.js:205
msgid "suggest name"
msgstr "הצעת ש×"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "cancel"
msgstr "ביטול"
-#: js/filelist.js:250
+#: js/filelist.js:254
msgid "replaced {new_name}"
msgstr "{new_name} הוחלף"
-#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286
+#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
msgid "undo"
msgstr "ביטול"
-#: js/filelist.js:252
+#: js/filelist.js:256
msgid "replaced {new_name} with {old_name}"
msgstr "{new_name} הוחלף ב־{old_name}"
-#: js/filelist.js:284
+#: js/filelist.js:288
msgid "unshared {files}"
msgstr "בוטל ×©×™×ª×•×¤× ×©×œ {files}"
-#: js/filelist.js:286
+#: js/filelist.js:290
msgid "deleted {files}"
msgstr "{files} נמחקו"
-#: js/files.js:33
+#: js/files.js:48
+msgid "'.' is an invalid file name."
+msgstr ""
+
+#: js/files.js:53
+msgid "File name cannot be empty."
+msgstr ""
+
+#: js/files.js:62
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr "×”×©× ×©×’×•×™, ×סור להשתמש ×‘×ª×•×•×™× '\\', '/', '<', '>', ':', '\"', '|', '?' ו־'*'."
-#: js/files.js:183
-msgid "generating ZIP-file, it may take some time."
-msgstr "יוצר קובץ ZIP, ×× × ×”×ž×ª×Ÿ."
+#: js/files.js:204
+msgid ""
+"Your download is being prepared. This might take some time if the files are "
+"big."
+msgstr ""
-#: js/files.js:218
+#: js/files.js:242
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr "×œ× ×™×›×•×œ להעלות ×ת הקובץ מכיוון שזו תקיה ×ו שמשקל הקובץ 0 בתי×"
-#: js/files.js:218
+#: js/files.js:242
msgid "Upload Error"
msgstr "שגי×ת העל××”"
-#: js/files.js:235
+#: js/files.js:259
msgid "Close"
msgstr "סגירה"
-#: js/files.js:254 js/files.js:368 js/files.js:398
+#: js/files.js:278 js/files.js:397 js/files.js:431
msgid "Pending"
msgstr "ממתין"
-#: js/files.js:274
+#: js/files.js:298
msgid "1 file uploading"
msgstr "קובץ ×חד נשלח"
-#: js/files.js:277 js/files.js:331 js/files.js:346
+#: js/files.js:301 js/files.js:357 js/files.js:372
msgid "{count} files uploading"
msgstr "{count} ×§×‘×¦×™× × ×©×œ×—×™×"
-#: js/files.js:349 js/files.js:382
+#: js/files.js:376 js/files.js:414
msgid "Upload cancelled."
msgstr "ההעל××” בוטלה."
-#: js/files.js:451
+#: js/files.js:486
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr "מתבצעת כעת העל×ת קבצי×. עזיבה של העמוד תבטל ×ת ההעל××”."
-#: js/files.js:523
-msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud"
-msgstr "×©× ×”×ª×™×§×™×™×” שגוי. השימוש ×‘×©× â€žShared“ שמור לטובת Owncloud"
+#: js/files.js:559
+msgid "URL cannot be empty."
+msgstr "קישור ×ינו יכול להיות ריק."
-#: js/files.js:704
+#: js/files.js:565
+msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
+msgstr ""
+
+#: js/files.js:775
msgid "{count} files scanned"
msgstr "{count} ×§×‘×¦×™× × ×¡×¨×§×•"
-#: js/files.js:712
+#: js/files.js:783
msgid "error while scanning"
msgstr "×ירעה שגי××” במהלך הסריקה"
-#: js/files.js:785 templates/index.php:65
+#: js/files.js:857 templates/index.php:64
msgid "Name"
msgstr "ש×"
-#: js/files.js:786 templates/index.php:76
+#: js/files.js:858 templates/index.php:75
msgid "Size"
msgstr "גודל"
-#: js/files.js:787 templates/index.php:78
+#: js/files.js:859 templates/index.php:77
msgid "Modified"
msgstr "זמן שינוי"
-#: js/files.js:814
+#: js/files.js:878
msgid "1 folder"
msgstr "תיקייה ×חת"
-#: js/files.js:816
+#: js/files.js:880
msgid "{count} folders"
msgstr "{count} תיקיות"
-#: js/files.js:824
+#: js/files.js:888
msgid "1 file"
msgstr "קובץ ×חד"
-#: js/files.js:826
+#: js/files.js:890
msgid "{count} files"
msgstr "{count} קבצי×"
@@ -195,27 +240,27 @@ msgstr "טיפול בקבצי×"
msgid "Maximum upload size"
msgstr "גודל העל××” מקסימלי"
-#: templates/admin.php:9
+#: templates/admin.php:10
msgid "max. possible: "
msgstr "המרבי ×”×פשרי: "
-#: templates/admin.php:12
+#: templates/admin.php:15
msgid "Needed for multi-file and folder downloads."
msgstr "נחוץ להורדה של ריבוי ×§×‘×¦×™× ×ו תיקיות."
-#: templates/admin.php:14
+#: templates/admin.php:17
msgid "Enable ZIP-download"
msgstr "הפעלת הורדת ZIP"
-#: templates/admin.php:17
+#: templates/admin.php:20
msgid "0 is unlimited"
msgstr "0 - ×œ×œ× ×”×’×‘×œ×”"
-#: templates/admin.php:19
+#: templates/admin.php:22
msgid "Maximum input size for ZIP files"
msgstr "גודל הקלט המרבי לקובצי ZIP"
-#: templates/admin.php:23
+#: templates/admin.php:26
msgid "Save"
msgstr "שמירה"
@@ -235,36 +280,32 @@ msgstr "תיקייה"
msgid "From link"
msgstr "מקישור"
-#: templates/index.php:35
-msgid "Upload"
-msgstr "העל××”"
-
-#: templates/index.php:43
+#: templates/index.php:41
msgid "Cancel upload"
msgstr "ביטול ההעל××”"
-#: templates/index.php:57
+#: templates/index.php:56
msgid "Nothing in here. Upload something!"
msgstr "×ין ×›×ן ×©×•× ×“×‘×¨. ×ולי ברצונך להעלות משהו?"
-#: templates/index.php:71
+#: templates/index.php:70
msgid "Download"
msgstr "הורדה"
-#: templates/index.php:103
+#: templates/index.php:102
msgid "Upload too large"
msgstr "העל××” גדולה מידי"
-#: templates/index.php:105
+#: templates/index.php:104
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "×”×§×‘×¦×™× ×©× ×™×¡×™×ª להעלות חרגו מהגודל המקסימלי להעל×ת ×§×‘×¦×™× ×¢×œ שרת ×–×”."
-#: templates/index.php:110
+#: templates/index.php:109
msgid "Files are being scanned, please wait."
msgstr "×”×§×‘×¦×™× × ×¡×¨×§×™×, × × ×œ×”×ž×ª×™×Ÿ."
-#: templates/index.php:113
+#: templates/index.php:112
msgid "Current scanning"
msgstr "הסריקה הנוכחית"
diff --git a/l10n/he/files_encryption.po b/l10n/he/files_encryption.po
index ab535b9271f..cd62f06daf7 100644
--- a/l10n/he/files_encryption.po
+++ b/l10n/he/files_encryption.po
@@ -3,32 +3,81 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# Gilad Naaman <gilad.doom@gmail.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-08-13 23:12+0200\n"
-"PO-Revision-Date: 2012-08-12 22:33+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+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"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: he\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: templates/settings.php:3
-msgid "Encryption"
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
msgstr ""
-#: templates/settings.php:4
-msgid "Exclude the following file types from encryption"
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
msgstr ""
-#: templates/settings.php:5
-msgid "None"
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
msgstr ""
#: templates/settings.php:10
-msgid "Enable Encryption"
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
msgstr ""
+
+#: templates/settings.php:65
+msgid "Encryption"
+msgstr "הצפנה"
+
+#: templates/settings.php:67
+msgid "Exclude the following file types from encryption"
+msgstr "×”×•×¦× ×ת סוגי ×”×§×‘×¦×™× ×”×‘××™× ×ž×”×¦×¤× ×”"
+
+#: templates/settings.php:71
+msgid "None"
+msgstr "כלו×"
diff --git a/l10n/he/files_versions.po b/l10n/he/files_versions.po
index 6c4367359de..15bb3e971b3 100644
--- a/l10n/he/files_versions.po
+++ b/l10n/he/files_versions.po
@@ -9,9 +9,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-02 00:02+0100\n"
-"PO-Revision-Date: 2012-12-01 07:21+0000\n"
-"Last-Translator: Yaron Shahrabani <sh.yaron@gmail.com>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -19,22 +19,10 @@ msgstr ""
"Language: he\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: js/settings-personal.js:31 templates/settings-personal.php:10
-msgid "Expire all versions"
-msgstr "הפגת תוקף כל הגרס×ות"
-
#: js/versions.js:16
msgid "History"
msgstr "היסטוריה"
-#: templates/settings-personal.php:4
-msgid "Versions"
-msgstr "גרס×ות"
-
-#: templates/settings-personal.php:7
-msgid "This will delete all existing backup versions of your files"
-msgstr "פעולה זו תמחק ×ת כל גיבויי הגרס×ות ×”×§×™×™×ž×™× ×©×œ ×”×§×‘×¦×™× ×©×œ×š"
-
#: templates/settings.php:3
msgid "Files Versioning"
msgstr "שמירת הבדלי גרס×ות של קבצי×"
diff --git a/l10n/he/lib.po b/l10n/he/lib.po
index de97f2df884..8383f3ccc95 100644
--- a/l10n/he/lib.po
+++ b/l10n/he/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: 2012-12-02 00:02+0100\n"
-"PO-Revision-Date: 2012-12-01 06:32+0000\n"
-"Last-Translator: Yaron Shahrabani <sh.yaron@gmail.com>\n"
+"POT-Creation-Date: 2013-01-17 00:26+0100\n"
+"PO-Revision-Date: 2013-01-16 23:26+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -19,51 +19,55 @@ msgstr ""
"Language: he\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: app.php:285
+#: app.php:301
msgid "Help"
msgstr "עזרה"
-#: app.php:292
+#: app.php:308
msgid "Personal"
msgstr "×ישי"
-#: app.php:297
+#: app.php:313
msgid "Settings"
msgstr "הגדרות"
-#: app.php:302
+#: app.php:318
msgid "Users"
msgstr "משתמשי×"
-#: app.php:309
+#: app.php:325
msgid "Apps"
msgstr "יישומי×"
-#: app.php:311
+#: app.php:327
msgid "Admin"
msgstr "מנהל"
-#: files.php:361
+#: files.php:365
msgid "ZIP download is turned off."
msgstr "הורדת ZIP כבויה"
-#: files.php:362
+#: files.php:366
msgid "Files need to be downloaded one by one."
msgstr "יש להוריד ×ת ×”×§×‘×¦×™× ×חד ×חרי השני."
-#: files.php:362 files.php:387
+#: files.php:366 files.php:391
msgid "Back to Files"
msgstr "חזרה לקבצי×"
-#: files.php:386
+#: files.php:390
msgid "Selected files too large to generate zip file."
msgstr "×”×§×‘×¦×™× ×”× ×‘×—×¨×™× ×’×“×•×œ×™× ×ž×™×“×™ ליצירת קובץ zip."
+#: helper.php:228
+msgid "couldn't be determined"
+msgstr ""
+
#: json.php:28
msgid "Application is not enabled"
msgstr "×™×™×©×•×ž×™× ××™× × ×ž×•×¤×¢×œ×™×"
-#: json.php:39 json.php:64 json.php:77 json.php:89
+#: json.php:39 json.php:62 json.php:73
msgid "Authentication error"
msgstr "שגי×ת הזדהות"
@@ -83,55 +87,55 @@ msgstr "טקסט"
msgid "Images"
msgstr "תמונות"
-#: template.php:103
+#: template.php:113
msgid "seconds ago"
msgstr "שניות"
-#: template.php:104
+#: template.php:114
msgid "1 minute ago"
msgstr "לפני דקה ×חת"
-#: template.php:105
+#: template.php:115
#, php-format
msgid "%d minutes ago"
msgstr "לפני %d דקות"
-#: template.php:106
+#: template.php:116
msgid "1 hour ago"
msgstr "לפני שעה"
-#: template.php:107
+#: template.php:117
#, php-format
msgid "%d hours ago"
msgstr "לפני %d שעות"
-#: template.php:108
+#: template.php:118
msgid "today"
msgstr "היו×"
-#: template.php:109
+#: template.php:119
msgid "yesterday"
msgstr "×תמול"
-#: template.php:110
+#: template.php:120
#, php-format
msgid "%d days ago"
msgstr "לפני %d ימי×"
-#: template.php:111
+#: template.php:121
msgid "last month"
msgstr "חודש שעבר"
-#: template.php:112
+#: template.php:122
#, php-format
msgid "%d months ago"
msgstr "לפני %d חודשי×"
-#: template.php:113
+#: template.php:123
msgid "last year"
msgstr "שנה שעברה"
-#: template.php:114
+#: template.php:124
msgid "years ago"
msgstr "שני×"
diff --git a/l10n/he/settings.po b/l10n/he/settings.po
index 8cec0934f2a..312975f7b15 100644
--- a/l10n/he/settings.po
+++ b/l10n/he/settings.po
@@ -3,6 +3,7 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# Gilad Naaman <gilad.doom@gmail.com>, 2012.
# <ido.parag@gmail.com>, 2012.
# <tomerc+transifex.net@gmail.com>, 2011.
# Yaron Shahrabani <sh.yaron@gmail.com>, 2012.
@@ -10,8 +11,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-21 00:10+0100\n"
-"PO-Revision-Date: 2012-12-19 23:20+0000\n"
+"POT-Creation-Date: 2013-01-12 00:09+0100\n"
+"PO-Revision-Date: 2013-01-11 23:09+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"
@@ -32,7 +33,7 @@ msgstr "הקבוצה כבר קיימת"
msgid "Unable to add group"
msgstr "×œ× × ×™×ª×Ÿ להוסיף קבוצה"
-#: ajax/enableapp.php:12
+#: ajax/enableapp.php:11
msgid "Could not enable app. "
msgstr "×œ× × ×™×ª×Ÿ להפעיל ×ת היישו×"
@@ -44,14 +45,6 @@ msgstr "הדו×״ל נשמר"
msgid "Invalid email"
msgstr "דו×״ל ×œ× ×—×•×§×™"
-#: ajax/openid.php:13
-msgid "OpenID Changed"
-msgstr "OpenID השתנה"
-
-#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20
-msgid "Invalid request"
-msgstr "בקשה ×œ× ×—×•×§×™×ª"
-
#: ajax/removegroup.php:13
msgid "Unable to delete group"
msgstr "×œ× × ×™×ª×Ÿ למחוק ×ת הקבוצה"
@@ -68,6 +61,10 @@ msgstr "×œ× × ×™×ª×Ÿ למחוק ×ת המשתמש"
msgid "Language changed"
msgstr "שפה השתנתה"
+#: ajax/setlanguage.php:17 ajax/setlanguage.php:20
+msgid "Invalid request"
+msgstr "בקשה ×œ× ×—×•×§×™×ª"
+
#: ajax/togglegroups.php:12
msgid "Admins can't remove themself from the admin group"
msgstr "×ž× ×”×œ×™× ×œ× ×™×›×•×œ×™× ×œ×”×¡×™×¨ ×ת ×¢×¦×ž× ×ž×§×‘×•×¦×ª המנהלי×"
@@ -120,19 +117,19 @@ msgstr "ברישיון <span class=\"licence\"></span>לטובת <span class=\"a
#: templates/help.php:3
msgid "User Documentation"
-msgstr ""
+msgstr "תיעוד משתמש"
#: templates/help.php:4
msgid "Administrator Documentation"
-msgstr ""
+msgstr "תיעוד מנהלי×"
#: templates/help.php:6
msgid "Online Documentation"
-msgstr ""
+msgstr "תיעוד מקוון"
#: templates/help.php:7
msgid "Forum"
-msgstr ""
+msgstr "פורו×"
#: templates/help.php:9
msgid "Bugtracker"
@@ -140,7 +137,7 @@ msgstr ""
#: templates/help.php:11
msgid "Commercial Support"
-msgstr ""
+msgstr "תמיכה בתשלו×"
#: templates/personal.php:8
#, php-format
@@ -153,17 +150,17 @@ msgstr "לקוחות"
#: templates/personal.php:13
msgid "Download Desktop Clients"
-msgstr ""
+msgstr "הורד לתוכנה למחשב"
#: templates/personal.php:14
msgid "Download Android Client"
-msgstr ""
+msgstr "הורד תוכנה ל×נדרו×יד"
#: templates/personal.php:15
msgid "Download iOS Client"
-msgstr ""
+msgstr "הורד תוכנה לiOS"
-#: templates/personal.php:21 templates/users.php:23 templates/users.php:77
+#: templates/personal.php:21 templates/users.php:23 templates/users.php:82
msgid "Password"
msgstr "ססמה"
@@ -217,11 +214,11 @@ msgstr ""
#: templates/personal.php:54
msgid "Use this address to connect to your ownCloud in your file manager"
-msgstr ""
+msgstr "השתמש בכתובת ×–×ת על מנת להתחבר ×ל ownCloud דרך סייר קבצי×."
#: templates/personal.php:63
msgid "Version"
-msgstr ""
+msgstr "גרס×"
#: templates/personal.php:65
msgid ""
@@ -233,11 +230,11 @@ msgid ""
"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/users.php:21 templates/users.php:76
+#: templates/users.php:21 templates/users.php:81
msgid "Name"
msgstr "ש×"
-#: templates/users.php:26 templates/users.php:78 templates/users.php:98
+#: templates/users.php:26 templates/users.php:83 templates/users.php:103
msgid "Groups"
msgstr "קבוצות"
@@ -246,21 +243,29 @@ msgid "Create"
msgstr "יצירה"
#: templates/users.php:35
-msgid "Default Quota"
-msgstr "מכסת בררת המחדל"
+msgid "Default Storage"
+msgstr ""
-#: templates/users.php:55 templates/users.php:138
+#: templates/users.php:42 templates/users.php:138
+msgid "Unlimited"
+msgstr ""
+
+#: templates/users.php:60 templates/users.php:153
msgid "Other"
msgstr "×חר"
-#: templates/users.php:80 templates/users.php:112
+#: templates/users.php:85 templates/users.php:117
msgid "Group Admin"
msgstr "מנהל הקבוצה"
-#: templates/users.php:82
-msgid "Quota"
-msgstr "מכסה"
+#: templates/users.php:87
+msgid "Storage"
+msgstr ""
+
+#: templates/users.php:133
+msgid "Default"
+msgstr ""
-#: templates/users.php:146
+#: templates/users.php:161
msgid "Delete"
msgstr "מחיקה"
diff --git a/l10n/he/user_ldap.po b/l10n/he/user_ldap.po
index fb4f06d8441..ec42e5a0854 100644
--- a/l10n/he/user_ldap.po
+++ b/l10n/he/user_ldap.po
@@ -3,12 +3,13 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# Gilad Naaman <gilad.doom@gmail.com>, 2013.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-15 00:11+0100\n"
-"PO-Revision-Date: 2012-12-14 23:11+0000\n"
+"POT-Creation-Date: 2013-01-16 00:19+0100\n"
+"PO-Revision-Date: 2013-01-15 23:20+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,13 +27,13 @@ msgstr ""
#: templates/settings.php:11
msgid ""
-"<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will"
-" not work. Please ask your system administrator to install it."
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not "
+"work. Please ask your system administrator to install it."
msgstr ""
#: templates/settings.php:15
msgid "Host"
-msgstr ""
+msgstr "מ×רח"
#: templates/settings.php:15
msgid ""
@@ -44,12 +45,16 @@ msgid "Base DN"
msgstr ""
#: templates/settings.php:16
+msgid "One Base DN per line"
+msgstr ""
+
+#: templates/settings.php:16
msgid "You can specify Base DN for users and groups in the Advanced tab"
msgstr ""
#: templates/settings.php:17
msgid "User DN"
-msgstr ""
+msgstr "DN משתמש"
#: templates/settings.php:17
msgid ""
@@ -60,15 +65,15 @@ msgstr ""
#: templates/settings.php:18
msgid "Password"
-msgstr ""
+msgstr "סיסמ×"
#: templates/settings.php:18
msgid "For anonymous access, leave DN and Password empty."
-msgstr ""
+msgstr "לגישה ×נונימית, הש×ר ×ת ×”DM ×•×”×¡×™×¡×ž× ×¨×™×§×™×."
#: templates/settings.php:19
msgid "User Login Filter"
-msgstr ""
+msgstr "סנן כניסת משתמש"
#: templates/settings.php:19
#, php-format
@@ -84,7 +89,7 @@ msgstr ""
#: templates/settings.php:20
msgid "User List Filter"
-msgstr ""
+msgstr "סנן רשימת משתמשי×"
#: templates/settings.php:20
msgid "Defines the filter to apply, when retrieving users."
@@ -96,7 +101,7 @@ msgstr ""
#: templates/settings.php:21
msgid "Group Filter"
-msgstr ""
+msgstr "סנן קבוצה"
#: templates/settings.php:21
msgid "Defines the filter to apply, when retrieving groups."
@@ -114,10 +119,18 @@ msgstr ""
msgid "Base User Tree"
msgstr ""
+#: templates/settings.php:25
+msgid "One User Base DN per line"
+msgstr ""
+
#: templates/settings.php:26
msgid "Base Group Tree"
msgstr ""
+#: templates/settings.php:26
+msgid "One Group Base DN per line"
+msgstr ""
+
#: templates/settings.php:27
msgid "Group-Member association"
msgstr ""
@@ -166,11 +179,11 @@ msgstr ""
#: templates/settings.php:34
msgid "in bytes"
-msgstr ""
+msgstr "בבתי×"
#: templates/settings.php:36
msgid "in seconds. A change empties the cache."
-msgstr ""
+msgstr "בשניות. שינוי מרוקן ×ת המטמון."
#: templates/settings.php:37
msgid ""
@@ -180,4 +193,4 @@ msgstr ""
#: templates/settings.php:39
msgid "Help"
-msgstr ""
+msgstr "עזרה"
diff --git a/l10n/he/user_webdavauth.po b/l10n/he/user_webdavauth.po
index e9a1a74eb85..65a279ed44f 100644
--- a/l10n/he/user_webdavauth.po
+++ b/l10n/he/user_webdavauth.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-20 00:11+0100\n"
-"PO-Revision-Date: 2012-12-19 23:12+0000\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+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"
@@ -17,13 +17,17 @@ msgstr ""
"Language: he\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+#: templates/settings.php:3
+msgid "WebDAV Authentication"
+msgstr ""
+
#: templates/settings.php:4
msgid "URL: http://"
msgstr ""
#: templates/settings.php:6
msgid ""
-"ownCloud will send the user credentials to this URL is interpret http 401 "
-"and http 403 as credentials wrong and all other codes as credentials "
-"correct."
+"ownCloud will send the user credentials to this URL. 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 ""
diff --git a/l10n/hi/core.po b/l10n/hi/core.po
index ad1e3407007..637cb66cc8d 100644
--- a/l10n/hi/core.po
+++ b/l10n/hi/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: 2012-12-13 00:17+0100\n"
-"PO-Revision-Date: 2012-12-12 23:17+0000\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:03+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Hindi (http://www.transifex.com/projects/p/owncloud/language/hi/)\n"
"MIME-Version: 1.0\n"
@@ -85,55 +85,55 @@ msgstr ""
msgid "Settings"
msgstr ""
-#: js/js.js:704
+#: js/js.js:711
msgid "seconds ago"
msgstr ""
-#: js/js.js:705
+#: js/js.js:712
msgid "1 minute ago"
msgstr ""
-#: js/js.js:706
+#: js/js.js:713
msgid "{minutes} minutes ago"
msgstr ""
-#: js/js.js:707
+#: js/js.js:714
msgid "1 hour ago"
msgstr ""
-#: js/js.js:708
+#: js/js.js:715
msgid "{hours} hours ago"
msgstr ""
-#: js/js.js:709
+#: js/js.js:716
msgid "today"
msgstr ""
-#: js/js.js:710
+#: js/js.js:717
msgid "yesterday"
msgstr ""
-#: js/js.js:711
+#: js/js.js:718
msgid "{days} days ago"
msgstr ""
-#: js/js.js:712
+#: js/js.js:719
msgid "last month"
msgstr ""
-#: js/js.js:713
+#: js/js.js:720
msgid "{months} months ago"
msgstr ""
-#: js/js.js:714
+#: js/js.js:721
msgid "months ago"
msgstr ""
-#: js/js.js:715
+#: js/js.js:722
msgid "last year"
msgstr ""
-#: js/js.js:716
+#: js/js.js:723
msgid "years ago"
msgstr ""
@@ -163,8 +163,8 @@ msgid "The object type is not specified."
msgstr ""
#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136
-#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:541
-#: js/share.js:553
+#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:554
+#: js/share.js:566
msgid "Error"
msgstr ""
@@ -176,7 +176,7 @@ msgstr ""
msgid "The required file {file} is not installed!"
msgstr ""
-#: js/share.js:124 js/share.js:581
+#: js/share.js:124 js/share.js:594
msgid "Error while sharing"
msgstr ""
@@ -204,12 +204,11 @@ msgstr ""
msgid "Share with link"
msgstr ""
-#: js/share.js:164
+#: js/share.js:166
msgid "Password protect"
msgstr ""
-#: js/share.js:168 templates/installation.php:42 templates/login.php:24
-#: templates/verify.php:13
+#: js/share.js:168 templates/installation.php:44 templates/login.php:35
msgid "Password"
msgstr "पासवरà¥à¤¡"
@@ -273,23 +272,23 @@ msgstr ""
msgid "share"
msgstr ""
-#: js/share.js:353 js/share.js:528 js/share.js:530
+#: js/share.js:356 js/share.js:541
msgid "Password protected"
msgstr ""
-#: js/share.js:541
+#: js/share.js:554
msgid "Error unsetting expiration date"
msgstr ""
-#: js/share.js:553
+#: js/share.js:566
msgid "Error setting expiration date"
msgstr ""
-#: js/share.js:568
+#: js/share.js:581
msgid "Sending ..."
msgstr ""
-#: js/share.js:579
+#: js/share.js:592
msgid "Email sent"
msgstr ""
@@ -313,8 +312,8 @@ msgstr ""
msgid "Request failed!"
msgstr ""
-#: lostpassword/templates/lostpassword.php:11 templates/installation.php:38
-#: templates/login.php:20
+#: lostpassword/templates/lostpassword.php:11 templates/installation.php:39
+#: templates/login.php:28
msgid "Username"
msgstr "पà¥à¤°à¤¯à¥‹à¤•à¥à¤¤à¤¾ का नाम"
@@ -403,44 +402,44 @@ msgstr ""
msgid "Create an <strong>admin account</strong>"
msgstr "वà¥à¤¯à¤µà¤¸à¥à¤¥à¤¾à¤ªà¤• खाता बनाà¤à¤"
-#: templates/installation.php:48
+#: templates/installation.php:50
msgid "Advanced"
msgstr "उनà¥à¤¨à¤¤"
-#: templates/installation.php:50
+#: templates/installation.php:52
msgid "Data folder"
msgstr ""
-#: templates/installation.php:57
+#: templates/installation.php:59
msgid "Configure the database"
msgstr "डेटाबेस कॉनà¥à¤«à¤¼à¤¿à¤—र करें "
-#: templates/installation.php:62 templates/installation.php:73
-#: templates/installation.php:83 templates/installation.php:93
+#: templates/installation.php:64 templates/installation.php:75
+#: templates/installation.php:85 templates/installation.php:95
msgid "will be used"
msgstr ""
-#: templates/installation.php:105
+#: templates/installation.php:107
msgid "Database user"
msgstr "डेटाबेस उपयोगकरà¥à¤¤à¤¾"
-#: templates/installation.php:109
+#: templates/installation.php:111
msgid "Database password"
msgstr "डेटाबेस पासवरà¥à¤¡"
-#: templates/installation.php:113
+#: templates/installation.php:115
msgid "Database name"
msgstr ""
-#: templates/installation.php:121
+#: templates/installation.php:123
msgid "Database tablespace"
msgstr ""
-#: templates/installation.php:127
+#: templates/installation.php:129
msgid "Database host"
msgstr ""
-#: templates/installation.php:132
+#: templates/installation.php:134
msgid "Finish setup"
msgstr "सेटअप समापà¥à¤¤ करे"
@@ -528,36 +527,32 @@ msgstr ""
msgid "Log out"
msgstr ""
-#: templates/login.php:8
+#: templates/login.php:10
msgid "Automatic logon rejected!"
msgstr ""
-#: templates/login.php:9
+#: templates/login.php:11
msgid ""
"If you did not change your password recently, your account may be "
"compromised!"
msgstr ""
-#: templates/login.php:10
+#: templates/login.php:13
msgid "Please change your password to secure your account again."
msgstr ""
-#: templates/login.php:15
+#: templates/login.php:19
msgid "Lost your password?"
msgstr ""
-#: templates/login.php:27
+#: templates/login.php:39
msgid "remember"
msgstr ""
-#: templates/login.php:28
+#: templates/login.php:41
msgid "Log in"
msgstr ""
-#: templates/logout.php:1
-msgid "You are logged out."
-msgstr "आप लोग आउट कर दिठगठहैं."
-
#: templates/part.pagenavi.php:3
msgid "prev"
msgstr "पिछला"
@@ -566,16 +561,7 @@ msgstr "पिछला"
msgid "next"
msgstr "अगला"
-#: templates/verify.php:5
-msgid "Security Warning!"
-msgstr ""
-
-#: templates/verify.php:6
-msgid ""
-"Please verify your password. <br/>For security reasons you may be "
-"occasionally asked to enter your password again."
-msgstr ""
-
-#: templates/verify.php:16
-msgid "Verify"
+#: templates/update.php:3
+#, php-format
+msgid "Updating ownCloud to version %s, this may take a while."
msgstr ""
diff --git a/l10n/hi/files.po b/l10n/hi/files.po
index 1c494c435f9..7e4cd2a3e6e 100644
--- a/l10n/hi/files.po
+++ b/l10n/hi/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: 2012-12-01 00:01+0100\n"
-"PO-Revision-Date: 2012-11-30 23:02+0000\n"
+"POT-Creation-Date: 2013-01-20 00:05+0100\n"
+"PO-Revision-Date: 2013-01-19 23:05+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Hindi (http://www.transifex.com/projects/p/owncloud/language/hi/)\n"
"MIME-Version: 1.0\n"
@@ -17,46 +17,77 @@ msgstr ""
"Language: hi\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+#: ajax/delete.php:28 ajax/getstoragestats.php:11 ajax/upload.php:17
+#: ajax/upload.php:76 templates/index.php:18
+msgid "Upload"
+msgstr ""
+
+#: ajax/move.php:17
+#, php-format
+msgid "Could not move %s - File with this name already exists"
+msgstr ""
+
+#: ajax/move.php:24
+#, php-format
+msgid "Could not move %s"
+msgstr ""
+
+#: ajax/rename.php:19
+msgid "Unable to rename file"
+msgstr ""
+
#: ajax/upload.php:20
+msgid "No file was uploaded. Unknown error"
+msgstr ""
+
+#: ajax/upload.php:30
msgid "There is no error, the file uploaded with success"
msgstr ""
-#: ajax/upload.php:21
+#: ajax/upload.php:31
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr ""
-#: ajax/upload.php:23
+#: ajax/upload.php:33
msgid ""
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
"the HTML form"
msgstr ""
-#: ajax/upload.php:25
+#: ajax/upload.php:35
msgid "The uploaded file was only partially uploaded"
msgstr ""
-#: ajax/upload.php:26
+#: ajax/upload.php:36
msgid "No file was uploaded"
msgstr ""
-#: ajax/upload.php:27
+#: ajax/upload.php:37
msgid "Missing a temporary folder"
msgstr ""
-#: ajax/upload.php:28
+#: ajax/upload.php:38
msgid "Failed to write to disk"
msgstr ""
+#: ajax/upload.php:57
+msgid "Not enough space available"
+msgstr ""
+
+#: ajax/upload.php:91
+msgid "Invalid directory."
+msgstr ""
+
#: appinfo/app.php:10
msgid "Files"
msgstr ""
-#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84
+#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
msgid "Unshare"
msgstr ""
-#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90
+#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
msgid "Delete"
msgstr ""
@@ -64,122 +95,136 @@ msgstr ""
msgid "Rename"
msgstr ""
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "{new_name} already exists"
msgstr ""
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "replace"
msgstr ""
-#: js/filelist.js:201
+#: js/filelist.js:205
msgid "suggest name"
msgstr ""
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "cancel"
msgstr ""
-#: js/filelist.js:250
+#: js/filelist.js:254
msgid "replaced {new_name}"
msgstr ""
-#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286
+#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
msgid "undo"
msgstr ""
-#: js/filelist.js:252
+#: js/filelist.js:256
msgid "replaced {new_name} with {old_name}"
msgstr ""
-#: js/filelist.js:284
+#: js/filelist.js:288
msgid "unshared {files}"
msgstr ""
-#: js/filelist.js:286
+#: js/filelist.js:290
msgid "deleted {files}"
msgstr ""
-#: js/files.js:33
+#: js/files.js:48
+msgid "'.' is an invalid file name."
+msgstr ""
+
+#: js/files.js:53
+msgid "File name cannot be empty."
+msgstr ""
+
+#: js/files.js:62
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr ""
-#: js/files.js:183
-msgid "generating ZIP-file, it may take some time."
+#: js/files.js:204
+msgid ""
+"Your download is being prepared. This might take some time if the files are "
+"big."
msgstr ""
-#: js/files.js:218
+#: js/files.js:242
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr ""
-#: js/files.js:218
+#: js/files.js:242
msgid "Upload Error"
msgstr ""
-#: js/files.js:235
+#: js/files.js:259
msgid "Close"
msgstr ""
-#: js/files.js:254 js/files.js:368 js/files.js:398
+#: js/files.js:278 js/files.js:397 js/files.js:431
msgid "Pending"
msgstr ""
-#: js/files.js:274
+#: js/files.js:298
msgid "1 file uploading"
msgstr ""
-#: js/files.js:277 js/files.js:331 js/files.js:346
+#: js/files.js:301 js/files.js:357 js/files.js:372
msgid "{count} files uploading"
msgstr ""
-#: js/files.js:349 js/files.js:382
+#: js/files.js:376 js/files.js:414
msgid "Upload cancelled."
msgstr ""
-#: js/files.js:451
+#: js/files.js:486
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr ""
-#: js/files.js:523
-msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud"
+#: js/files.js:559
+msgid "URL cannot be empty."
msgstr ""
-#: js/files.js:704
+#: js/files.js:565
+msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
+msgstr ""
+
+#: js/files.js:775
msgid "{count} files scanned"
msgstr ""
-#: js/files.js:712
+#: js/files.js:783
msgid "error while scanning"
msgstr ""
-#: js/files.js:785 templates/index.php:65
+#: js/files.js:857 templates/index.php:64
msgid "Name"
msgstr ""
-#: js/files.js:786 templates/index.php:76
+#: js/files.js:858 templates/index.php:75
msgid "Size"
msgstr ""
-#: js/files.js:787 templates/index.php:78
+#: js/files.js:859 templates/index.php:77
msgid "Modified"
msgstr ""
-#: js/files.js:814
+#: js/files.js:878
msgid "1 folder"
msgstr ""
-#: js/files.js:816
+#: js/files.js:880
msgid "{count} folders"
msgstr ""
-#: js/files.js:824
+#: js/files.js:888
msgid "1 file"
msgstr ""
-#: js/files.js:826
+#: js/files.js:890
msgid "{count} files"
msgstr ""
@@ -191,27 +236,27 @@ msgstr ""
msgid "Maximum upload size"
msgstr ""
-#: templates/admin.php:9
+#: templates/admin.php:10
msgid "max. possible: "
msgstr ""
-#: templates/admin.php:12
+#: templates/admin.php:15
msgid "Needed for multi-file and folder downloads."
msgstr ""
-#: templates/admin.php:14
+#: templates/admin.php:17
msgid "Enable ZIP-download"
msgstr ""
-#: templates/admin.php:17
+#: templates/admin.php:20
msgid "0 is unlimited"
msgstr ""
-#: templates/admin.php:19
+#: templates/admin.php:22
msgid "Maximum input size for ZIP files"
msgstr ""
-#: templates/admin.php:23
+#: templates/admin.php:26
msgid "Save"
msgstr ""
@@ -231,36 +276,32 @@ msgstr ""
msgid "From link"
msgstr ""
-#: templates/index.php:35
-msgid "Upload"
-msgstr ""
-
-#: templates/index.php:43
+#: templates/index.php:41
msgid "Cancel upload"
msgstr ""
-#: templates/index.php:57
+#: templates/index.php:56
msgid "Nothing in here. Upload something!"
msgstr ""
-#: templates/index.php:71
+#: templates/index.php:70
msgid "Download"
msgstr ""
-#: templates/index.php:103
+#: templates/index.php:102
msgid "Upload too large"
msgstr ""
-#: templates/index.php:105
+#: templates/index.php:104
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr ""
-#: templates/index.php:110
+#: templates/index.php:109
msgid "Files are being scanned, please wait."
msgstr ""
-#: templates/index.php:113
+#: templates/index.php:112
msgid "Current scanning"
msgstr ""
diff --git a/l10n/hi/files_encryption.po b/l10n/hi/files_encryption.po
index e6ff91a68b5..83154bdbcbf 100644
--- a/l10n/hi/files_encryption.po
+++ b/l10n/hi/files_encryption.po
@@ -7,28 +7,76 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-08-29 02:01+0200\n"
-"PO-Revision-Date: 2012-08-12 22:33+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\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"
"Content-Transfer-Encoding: 8bit\n"
"Language: hi\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: templates/settings.php:3
-msgid "Encryption"
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
msgstr ""
-#: templates/settings.php:4
-msgid "Exclude the following file types from encryption"
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
msgstr ""
-#: templates/settings.php:5
-msgid "None"
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
msgstr ""
#: templates/settings.php:10
-msgid "Enable Encryption"
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
+msgid "Encryption"
+msgstr ""
+
+#: templates/settings.php:67
+msgid "Exclude the following file types from encryption"
+msgstr ""
+
+#: templates/settings.php:71
+msgid "None"
msgstr ""
diff --git a/l10n/hi/files_versions.po b/l10n/hi/files_versions.po
index 1f21f8aca78..293e4b558a7 100644
--- a/l10n/hi/files_versions.po
+++ b/l10n/hi/files_versions.po
@@ -7,9 +7,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-09-22 01:14+0200\n"
-"PO-Revision-Date: 2012-09-21 23:15+0000\n"
-"Last-Translator: I Robot <thomas.mueller@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\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"
@@ -17,22 +17,10 @@ msgstr ""
"Language: hi\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: js/settings-personal.js:31 templates/settings-personal.php:10
-msgid "Expire all versions"
-msgstr ""
-
#: js/versions.js:16
msgid "History"
msgstr ""
-#: templates/settings-personal.php:4
-msgid "Versions"
-msgstr ""
-
-#: templates/settings-personal.php:7
-msgid "This will delete all existing backup versions of your files"
-msgstr ""
-
#: templates/settings.php:3
msgid "Files Versioning"
msgstr ""
diff --git a/l10n/hi/lib.po b/l10n/hi/lib.po
index 310d410a6e9..9cb97532356 100644
--- a/l10n/hi/lib.po
+++ b/l10n/hi/lib.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-11-16 00:02+0100\n"
-"PO-Revision-Date: 2012-11-14 23:13+0000\n"
+"POT-Creation-Date: 2013-01-17 00:26+0100\n"
+"PO-Revision-Date: 2013-01-16 23:26+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Hindi (http://www.transifex.com/projects/p/owncloud/language/hi/)\n"
"MIME-Version: 1.0\n"
@@ -17,51 +17,55 @@ msgstr ""
"Language: hi\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: app.php:285
+#: app.php:301
msgid "Help"
msgstr ""
-#: app.php:292
+#: app.php:308
msgid "Personal"
msgstr ""
-#: app.php:297
+#: app.php:313
msgid "Settings"
msgstr ""
-#: app.php:302
+#: app.php:318
msgid "Users"
msgstr ""
-#: app.php:309
+#: app.php:325
msgid "Apps"
msgstr ""
-#: app.php:311
+#: app.php:327
msgid "Admin"
msgstr ""
-#: files.php:332
+#: files.php:365
msgid "ZIP download is turned off."
msgstr ""
-#: files.php:333
+#: files.php:366
msgid "Files need to be downloaded one by one."
msgstr ""
-#: files.php:333 files.php:358
+#: files.php:366 files.php:391
msgid "Back to Files"
msgstr ""
-#: files.php:357
+#: files.php:390
msgid "Selected files too large to generate zip file."
msgstr ""
+#: helper.php:228
+msgid "couldn't be determined"
+msgstr ""
+
#: json.php:28
msgid "Application is not enabled"
msgstr ""
-#: json.php:39 json.php:64 json.php:77 json.php:89
+#: json.php:39 json.php:62 json.php:73
msgid "Authentication error"
msgstr ""
@@ -81,55 +85,55 @@ msgstr ""
msgid "Images"
msgstr ""
-#: template.php:103
+#: template.php:113
msgid "seconds ago"
msgstr ""
-#: template.php:104
+#: template.php:114
msgid "1 minute ago"
msgstr ""
-#: template.php:105
+#: template.php:115
#, php-format
msgid "%d minutes ago"
msgstr ""
-#: template.php:106
+#: template.php:116
msgid "1 hour ago"
msgstr ""
-#: template.php:107
+#: template.php:117
#, php-format
msgid "%d hours ago"
msgstr ""
-#: template.php:108
+#: template.php:118
msgid "today"
msgstr ""
-#: template.php:109
+#: template.php:119
msgid "yesterday"
msgstr ""
-#: template.php:110
+#: template.php:120
#, php-format
msgid "%d days ago"
msgstr ""
-#: template.php:111
+#: template.php:121
msgid "last month"
msgstr ""
-#: template.php:112
+#: template.php:122
#, php-format
msgid "%d months ago"
msgstr ""
-#: template.php:113
+#: template.php:123
msgid "last year"
msgstr ""
-#: template.php:114
+#: template.php:124
msgid "years ago"
msgstr ""
diff --git a/l10n/hi/settings.po b/l10n/hi/settings.po
index 76241d2e5a1..b6697b94820 100644
--- a/l10n/hi/settings.po
+++ b/l10n/hi/settings.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-20 00:11+0100\n"
-"PO-Revision-Date: 2012-12-19 23:11+0000\n"
+"POT-Creation-Date: 2013-01-12 00:09+0100\n"
+"PO-Revision-Date: 2013-01-11 23:09+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Hindi (http://www.transifex.com/projects/p/owncloud/language/hi/)\n"
"MIME-Version: 1.0\n"
@@ -29,7 +29,7 @@ msgstr ""
msgid "Unable to add group"
msgstr ""
-#: ajax/enableapp.php:12
+#: ajax/enableapp.php:11
msgid "Could not enable app. "
msgstr ""
@@ -41,14 +41,6 @@ msgstr ""
msgid "Invalid email"
msgstr ""
-#: ajax/openid.php:13
-msgid "OpenID Changed"
-msgstr ""
-
-#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20
-msgid "Invalid request"
-msgstr ""
-
#: ajax/removegroup.php:13
msgid "Unable to delete group"
msgstr ""
@@ -65,6 +57,10 @@ msgstr ""
msgid "Language changed"
msgstr ""
+#: ajax/setlanguage.php:17 ajax/setlanguage.php:20
+msgid "Invalid request"
+msgstr ""
+
#: ajax/togglegroups.php:12
msgid "Admins can't remove themself from the admin group"
msgstr ""
@@ -160,7 +156,7 @@ msgstr ""
msgid "Download iOS Client"
msgstr ""
-#: templates/personal.php:21 templates/users.php:23 templates/users.php:77
+#: templates/personal.php:21 templates/users.php:23 templates/users.php:82
msgid "Password"
msgstr "पासवरà¥à¤¡"
@@ -230,11 +226,11 @@ msgid ""
"License\">AGPL</abbr></a>."
msgstr ""
-#: templates/users.php:21 templates/users.php:76
+#: templates/users.php:21 templates/users.php:81
msgid "Name"
msgstr ""
-#: templates/users.php:26 templates/users.php:78 templates/users.php:98
+#: templates/users.php:26 templates/users.php:83 templates/users.php:103
msgid "Groups"
msgstr ""
@@ -243,21 +239,29 @@ msgid "Create"
msgstr ""
#: templates/users.php:35
-msgid "Default Quota"
+msgid "Default Storage"
+msgstr ""
+
+#: templates/users.php:42 templates/users.php:138
+msgid "Unlimited"
msgstr ""
-#: templates/users.php:55 templates/users.php:138
+#: templates/users.php:60 templates/users.php:153
msgid "Other"
msgstr ""
-#: templates/users.php:80 templates/users.php:112
+#: templates/users.php:85 templates/users.php:117
msgid "Group Admin"
msgstr ""
-#: templates/users.php:82
-msgid "Quota"
+#: templates/users.php:87
+msgid "Storage"
+msgstr ""
+
+#: templates/users.php:133
+msgid "Default"
msgstr ""
-#: templates/users.php:146
+#: templates/users.php:161
msgid "Delete"
msgstr ""
diff --git a/l10n/hi/user_ldap.po b/l10n/hi/user_ldap.po
index ae9f03b0212..012f8d3f3aa 100644
--- a/l10n/hi/user_ldap.po
+++ b/l10n/hi/user_ldap.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-15 00:11+0100\n"
-"PO-Revision-Date: 2012-12-14 23:11+0000\n"
+"POT-Creation-Date: 2013-01-16 00:19+0100\n"
+"PO-Revision-Date: 2013-01-15 23:20+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Hindi (http://www.transifex.com/projects/p/owncloud/language/hi/)\n"
"MIME-Version: 1.0\n"
@@ -26,8 +26,8 @@ msgstr ""
#: templates/settings.php:11
msgid ""
-"<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will"
-" not work. Please ask your system administrator to install it."
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not "
+"work. Please ask your system administrator to install it."
msgstr ""
#: templates/settings.php:15
@@ -44,6 +44,10 @@ msgid "Base DN"
msgstr ""
#: templates/settings.php:16
+msgid "One Base DN per line"
+msgstr ""
+
+#: templates/settings.php:16
msgid "You can specify Base DN for users and groups in the Advanced tab"
msgstr ""
@@ -114,10 +118,18 @@ msgstr ""
msgid "Base User Tree"
msgstr ""
+#: templates/settings.php:25
+msgid "One User Base DN per line"
+msgstr ""
+
#: templates/settings.php:26
msgid "Base Group Tree"
msgstr ""
+#: templates/settings.php:26
+msgid "One Group Base DN per line"
+msgstr ""
+
#: templates/settings.php:27
msgid "Group-Member association"
msgstr ""
diff --git a/l10n/hi/user_webdavauth.po b/l10n/hi/user_webdavauth.po
index aa784d7aad0..cc71e94d7f6 100644
--- a/l10n/hi/user_webdavauth.po
+++ b/l10n/hi/user_webdavauth.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-20 00:11+0100\n"
-"PO-Revision-Date: 2012-12-19 23:12+0000\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Hindi (http://www.transifex.com/projects/p/owncloud/language/hi/)\n"
"MIME-Version: 1.0\n"
@@ -17,13 +17,17 @@ msgstr ""
"Language: hi\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+#: templates/settings.php:3
+msgid "WebDAV Authentication"
+msgstr ""
+
#: templates/settings.php:4
msgid "URL: http://"
msgstr ""
#: templates/settings.php:6
msgid ""
-"ownCloud will send the user credentials to this URL is interpret http 401 "
-"and http 403 as credentials wrong and all other codes as credentials "
-"correct."
+"ownCloud will send the user credentials to this URL. 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 ""
diff --git a/l10n/hr/core.po b/l10n/hr/core.po
index 3b78e7b8fdd..5d5b9d249ff 100644
--- a/l10n/hr/core.po
+++ b/l10n/hr/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: 2012-12-13 00:17+0100\n"
-"PO-Revision-Date: 2012-12-12 23:17+0000\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:03+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Croatian (http://www.transifex.com/projects/p/owncloud/language/hr/)\n"
"MIME-Version: 1.0\n"
@@ -87,55 +87,55 @@ msgstr ""
msgid "Settings"
msgstr "Postavke"
-#: js/js.js:704
+#: js/js.js:711
msgid "seconds ago"
msgstr "sekundi prije"
-#: js/js.js:705
+#: js/js.js:712
msgid "1 minute ago"
msgstr ""
-#: js/js.js:706
+#: js/js.js:713
msgid "{minutes} minutes ago"
msgstr ""
-#: js/js.js:707
+#: js/js.js:714
msgid "1 hour ago"
msgstr ""
-#: js/js.js:708
+#: js/js.js:715
msgid "{hours} hours ago"
msgstr ""
-#: js/js.js:709
+#: js/js.js:716
msgid "today"
msgstr "danas"
-#: js/js.js:710
+#: js/js.js:717
msgid "yesterday"
msgstr "juÄer"
-#: js/js.js:711
+#: js/js.js:718
msgid "{days} days ago"
msgstr ""
-#: js/js.js:712
+#: js/js.js:719
msgid "last month"
msgstr "prošli mjesec"
-#: js/js.js:713
+#: js/js.js:720
msgid "{months} months ago"
msgstr ""
-#: js/js.js:714
+#: js/js.js:721
msgid "months ago"
msgstr "mjeseci"
-#: js/js.js:715
+#: js/js.js:722
msgid "last year"
msgstr "prošlu godinu"
-#: js/js.js:716
+#: js/js.js:723
msgid "years ago"
msgstr "godina"
@@ -165,8 +165,8 @@ msgid "The object type is not specified."
msgstr ""
#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136
-#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:541
-#: js/share.js:553
+#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:554
+#: js/share.js:566
msgid "Error"
msgstr "Pogreška"
@@ -178,7 +178,7 @@ msgstr ""
msgid "The required file {file} is not installed!"
msgstr ""
-#: js/share.js:124 js/share.js:581
+#: js/share.js:124 js/share.js:594
msgid "Error while sharing"
msgstr "Greška prilikom djeljenja"
@@ -206,12 +206,11 @@ msgstr "Djeli sa"
msgid "Share with link"
msgstr "Djeli preko link-a"
-#: js/share.js:164
+#: js/share.js:166
msgid "Password protect"
msgstr "Zaštiti lozinkom"
-#: js/share.js:168 templates/installation.php:42 templates/login.php:24
-#: templates/verify.php:13
+#: js/share.js:168 templates/installation.php:44 templates/login.php:35
msgid "Password"
msgstr "Lozinka"
@@ -275,23 +274,23 @@ msgstr "izbriši"
msgid "share"
msgstr "djeli"
-#: js/share.js:353 js/share.js:528 js/share.js:530
+#: js/share.js:356 js/share.js:541
msgid "Password protected"
msgstr "Zaštita lozinkom"
-#: js/share.js:541
+#: js/share.js:554
msgid "Error unsetting expiration date"
msgstr "Greška prilikom brisanja datuma isteka"
-#: js/share.js:553
+#: js/share.js:566
msgid "Error setting expiration date"
msgstr "Greška prilikom postavljanja datuma isteka"
-#: js/share.js:568
+#: js/share.js:581
msgid "Sending ..."
msgstr ""
-#: js/share.js:579
+#: js/share.js:592
msgid "Email sent"
msgstr ""
@@ -315,8 +314,8 @@ msgstr ""
msgid "Request failed!"
msgstr ""
-#: lostpassword/templates/lostpassword.php:11 templates/installation.php:38
-#: templates/login.php:20
+#: lostpassword/templates/lostpassword.php:11 templates/installation.php:39
+#: templates/login.php:28
msgid "Username"
msgstr "KorisniÄko ime"
@@ -405,44 +404,44 @@ msgstr ""
msgid "Create an <strong>admin account</strong>"
msgstr "Stvori <strong>administratorski raÄun</strong>"
-#: templates/installation.php:48
+#: templates/installation.php:50
msgid "Advanced"
msgstr "Dodatno"
-#: templates/installation.php:50
+#: templates/installation.php:52
msgid "Data folder"
msgstr "Mapa baze podataka"
-#: templates/installation.php:57
+#: templates/installation.php:59
msgid "Configure the database"
msgstr "Konfiguriraj bazu podataka"
-#: templates/installation.php:62 templates/installation.php:73
-#: templates/installation.php:83 templates/installation.php:93
+#: templates/installation.php:64 templates/installation.php:75
+#: templates/installation.php:85 templates/installation.php:95
msgid "will be used"
msgstr "će se koristiti"
-#: templates/installation.php:105
+#: templates/installation.php:107
msgid "Database user"
msgstr "Korisnik baze podataka"
-#: templates/installation.php:109
+#: templates/installation.php:111
msgid "Database password"
msgstr "Lozinka baze podataka"
-#: templates/installation.php:113
+#: templates/installation.php:115
msgid "Database name"
msgstr "Ime baze podataka"
-#: templates/installation.php:121
+#: templates/installation.php:123
msgid "Database tablespace"
msgstr "Database tablespace"
-#: templates/installation.php:127
+#: templates/installation.php:129
msgid "Database host"
msgstr "Poslužitelj baze podataka"
-#: templates/installation.php:132
+#: templates/installation.php:134
msgid "Finish setup"
msgstr "Završi postavljanje"
@@ -530,36 +529,32 @@ msgstr "web usluge pod vašom kontrolom"
msgid "Log out"
msgstr "Odjava"
-#: templates/login.php:8
+#: templates/login.php:10
msgid "Automatic logon rejected!"
msgstr ""
-#: templates/login.php:9
+#: templates/login.php:11
msgid ""
"If you did not change your password recently, your account may be "
"compromised!"
msgstr ""
-#: templates/login.php:10
+#: templates/login.php:13
msgid "Please change your password to secure your account again."
msgstr ""
-#: templates/login.php:15
+#: templates/login.php:19
msgid "Lost your password?"
msgstr "Izgubili ste lozinku?"
-#: templates/login.php:27
+#: templates/login.php:39
msgid "remember"
msgstr "zapamtiti"
-#: templates/login.php:28
+#: templates/login.php:41
msgid "Log in"
msgstr "Prijava"
-#: templates/logout.php:1
-msgid "You are logged out."
-msgstr "Odjavljeni ste."
-
#: templates/part.pagenavi.php:3
msgid "prev"
msgstr "prethodan"
@@ -568,16 +563,7 @@ msgstr "prethodan"
msgid "next"
msgstr "sljedeći"
-#: templates/verify.php:5
-msgid "Security Warning!"
-msgstr ""
-
-#: templates/verify.php:6
-msgid ""
-"Please verify your password. <br/>For security reasons you may be "
-"occasionally asked to enter your password again."
-msgstr ""
-
-#: templates/verify.php:16
-msgid "Verify"
+#: templates/update.php:3
+#, php-format
+msgid "Updating ownCloud to version %s, this may take a while."
msgstr ""
diff --git a/l10n/hr/files.po b/l10n/hr/files.po
index 7a1464ff148..317b0aa768d 100644
--- a/l10n/hr/files.po
+++ b/l10n/hr/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: 2012-12-01 00:01+0100\n"
-"PO-Revision-Date: 2012-11-30 23:02+0000\n"
+"POT-Creation-Date: 2013-01-20 00:05+0100\n"
+"PO-Revision-Date: 2013-01-19 23:05+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Croatian (http://www.transifex.com/projects/p/owncloud/language/hr/)\n"
"MIME-Version: 1.0\n"
@@ -20,46 +20,77 @@ msgstr ""
"Language: hr\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
+#: ajax/delete.php:28 ajax/getstoragestats.php:11 ajax/upload.php:17
+#: ajax/upload.php:76 templates/index.php:18
+msgid "Upload"
+msgstr "Pošalji"
+
+#: ajax/move.php:17
+#, php-format
+msgid "Could not move %s - File with this name already exists"
+msgstr ""
+
+#: ajax/move.php:24
+#, php-format
+msgid "Could not move %s"
+msgstr ""
+
+#: ajax/rename.php:19
+msgid "Unable to rename file"
+msgstr ""
+
#: ajax/upload.php:20
+msgid "No file was uploaded. Unknown error"
+msgstr ""
+
+#: ajax/upload.php:30
msgid "There is no error, the file uploaded with success"
msgstr "Datoteka je poslana uspješno i bez pogrešaka"
-#: ajax/upload.php:21
+#: ajax/upload.php:31
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr ""
-#: ajax/upload.php:23
+#: ajax/upload.php:33
msgid ""
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
"the HTML form"
msgstr "Poslana datoteka izlazi iz okvira MAX_FILE_SIZE direktive postavljene u HTML obrascu"
-#: ajax/upload.php:25
+#: ajax/upload.php:35
msgid "The uploaded file was only partially uploaded"
msgstr "Datoteka je poslana samo djelomiÄno"
-#: ajax/upload.php:26
+#: ajax/upload.php:36
msgid "No file was uploaded"
msgstr "Ni jedna datoteka nije poslana"
-#: ajax/upload.php:27
+#: ajax/upload.php:37
msgid "Missing a temporary folder"
msgstr "Nedostaje privremena mapa"
-#: ajax/upload.php:28
+#: ajax/upload.php:38
msgid "Failed to write to disk"
msgstr "Neuspjelo pisanje na disk"
+#: ajax/upload.php:57
+msgid "Not enough space available"
+msgstr ""
+
+#: ajax/upload.php:91
+msgid "Invalid directory."
+msgstr ""
+
#: appinfo/app.php:10
msgid "Files"
msgstr "Datoteke"
-#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84
+#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
msgid "Unshare"
msgstr "Prekini djeljenje"
-#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90
+#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
msgid "Delete"
msgstr "Briši"
@@ -67,122 +98,136 @@ msgstr "Briši"
msgid "Rename"
msgstr "Promjeni ime"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "{new_name} already exists"
msgstr ""
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "replace"
msgstr "zamjeni"
-#: js/filelist.js:201
+#: js/filelist.js:205
msgid "suggest name"
msgstr "predloži ime"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "cancel"
msgstr "odustani"
-#: js/filelist.js:250
+#: js/filelist.js:254
msgid "replaced {new_name}"
msgstr ""
-#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286
+#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
msgid "undo"
msgstr "vrati"
-#: js/filelist.js:252
+#: js/filelist.js:256
msgid "replaced {new_name} with {old_name}"
msgstr ""
-#: js/filelist.js:284
+#: js/filelist.js:288
msgid "unshared {files}"
msgstr ""
-#: js/filelist.js:286
+#: js/filelist.js:290
msgid "deleted {files}"
msgstr ""
-#: js/files.js:33
+#: js/files.js:48
+msgid "'.' is an invalid file name."
+msgstr ""
+
+#: js/files.js:53
+msgid "File name cannot be empty."
+msgstr ""
+
+#: js/files.js:62
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr ""
-#: js/files.js:183
-msgid "generating ZIP-file, it may take some time."
-msgstr "generiranje ZIP datoteke, ovo može potrajati."
+#: js/files.js:204
+msgid ""
+"Your download is being prepared. This might take some time if the files are "
+"big."
+msgstr ""
-#: js/files.js:218
+#: js/files.js:242
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr "Nemoguće poslati datoteku jer je prazna ili je direktorij"
-#: js/files.js:218
+#: js/files.js:242
msgid "Upload Error"
msgstr "Pogreška pri slanju"
-#: js/files.js:235
+#: js/files.js:259
msgid "Close"
msgstr "Zatvori"
-#: js/files.js:254 js/files.js:368 js/files.js:398
+#: js/files.js:278 js/files.js:397 js/files.js:431
msgid "Pending"
msgstr "U tijeku"
-#: js/files.js:274
+#: js/files.js:298
msgid "1 file uploading"
msgstr "1 datoteka se uÄitava"
-#: js/files.js:277 js/files.js:331 js/files.js:346
+#: js/files.js:301 js/files.js:357 js/files.js:372
msgid "{count} files uploading"
msgstr ""
-#: js/files.js:349 js/files.js:382
+#: js/files.js:376 js/files.js:414
msgid "Upload cancelled."
msgstr "Slanje poništeno."
-#: js/files.js:451
+#: js/files.js:486
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr "UÄitavanje datoteke. NapuÅ¡tanjem stranice će prekinuti uÄitavanje."
-#: js/files.js:523
-msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud"
+#: js/files.js:559
+msgid "URL cannot be empty."
msgstr ""
-#: js/files.js:704
+#: js/files.js:565
+msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
+msgstr ""
+
+#: js/files.js:775
msgid "{count} files scanned"
msgstr ""
-#: js/files.js:712
+#: js/files.js:783
msgid "error while scanning"
msgstr "greÄka prilikom skeniranja"
-#: js/files.js:785 templates/index.php:65
+#: js/files.js:857 templates/index.php:64
msgid "Name"
msgstr "Naziv"
-#: js/files.js:786 templates/index.php:76
+#: js/files.js:858 templates/index.php:75
msgid "Size"
msgstr "VeliÄina"
-#: js/files.js:787 templates/index.php:78
+#: js/files.js:859 templates/index.php:77
msgid "Modified"
msgstr "Zadnja promjena"
-#: js/files.js:814
+#: js/files.js:878
msgid "1 folder"
msgstr ""
-#: js/files.js:816
+#: js/files.js:880
msgid "{count} folders"
msgstr ""
-#: js/files.js:824
+#: js/files.js:888
msgid "1 file"
msgstr ""
-#: js/files.js:826
+#: js/files.js:890
msgid "{count} files"
msgstr ""
@@ -194,27 +239,27 @@ msgstr "datoteka za rukovanje"
msgid "Maximum upload size"
msgstr "Maksimalna veliÄina prijenosa"
-#: templates/admin.php:9
+#: templates/admin.php:10
msgid "max. possible: "
msgstr "maksimalna moguća: "
-#: templates/admin.php:12
+#: templates/admin.php:15
msgid "Needed for multi-file and folder downloads."
msgstr "Potrebno za preuzimanje više datoteke i mape"
-#: templates/admin.php:14
+#: templates/admin.php:17
msgid "Enable ZIP-download"
msgstr "Omogući ZIP-preuzimanje"
-#: templates/admin.php:17
+#: templates/admin.php:20
msgid "0 is unlimited"
msgstr "0 je \"bez limita\""
-#: templates/admin.php:19
+#: templates/admin.php:22
msgid "Maximum input size for ZIP files"
msgstr "Maksimalna veliÄina za ZIP datoteke"
-#: templates/admin.php:23
+#: templates/admin.php:26
msgid "Save"
msgstr "Snimi"
@@ -234,36 +279,32 @@ msgstr "mapa"
msgid "From link"
msgstr ""
-#: templates/index.php:35
-msgid "Upload"
-msgstr "Pošalji"
-
-#: templates/index.php:43
+#: templates/index.php:41
msgid "Cancel upload"
msgstr "Prekini upload"
-#: templates/index.php:57
+#: templates/index.php:56
msgid "Nothing in here. Upload something!"
msgstr "Nema niÄega u ovoj mapi. PoÅ¡alji neÅ¡to!"
-#: templates/index.php:71
+#: templates/index.php:70
msgid "Download"
msgstr "Preuzmi"
-#: templates/index.php:103
+#: templates/index.php:102
msgid "Upload too large"
msgstr "Prijenos je preobiman"
-#: templates/index.php:105
+#: templates/index.php:104
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "Datoteke koje pokuÅ¡avate prenijeti prelaze maksimalnu veliÄinu za prijenos datoteka na ovom poslužitelju."
-#: templates/index.php:110
+#: templates/index.php:109
msgid "Files are being scanned, please wait."
msgstr "Datoteke se skeniraju, molimo priÄekajte."
-#: templates/index.php:113
+#: templates/index.php:112
msgid "Current scanning"
msgstr "Trenutno skeniranje"
diff --git a/l10n/hr/files_encryption.po b/l10n/hr/files_encryption.po
index d2734fd9fd2..d284b962472 100644
--- a/l10n/hr/files_encryption.po
+++ b/l10n/hr/files_encryption.po
@@ -7,28 +7,76 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-08-13 23:12+0200\n"
-"PO-Revision-Date: 2012-08-12 22:33+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Croatian (http://www.transifex.com/projects/p/owncloud/language/hr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: hr\n"
-"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2\n"
+"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
-#: templates/settings.php:3
-msgid "Encryption"
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
msgstr ""
-#: templates/settings.php:4
-msgid "Exclude the following file types from encryption"
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
msgstr ""
-#: templates/settings.php:5
-msgid "None"
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
msgstr ""
#: templates/settings.php:10
-msgid "Enable Encryption"
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
+msgid "Encryption"
+msgstr ""
+
+#: templates/settings.php:67
+msgid "Exclude the following file types from encryption"
+msgstr ""
+
+#: templates/settings.php:71
+msgid "None"
msgstr ""
diff --git a/l10n/hr/files_versions.po b/l10n/hr/files_versions.po
index 557b2117806..0425c2dc568 100644
--- a/l10n/hr/files_versions.po
+++ b/l10n/hr/files_versions.po
@@ -7,9 +7,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-09-22 01:14+0200\n"
-"PO-Revision-Date: 2012-09-21 23:15+0000\n"
-"Last-Translator: I Robot <thomas.mueller@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Croatian (http://www.transifex.com/projects/p/owncloud/language/hr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -17,22 +17,10 @@ msgstr ""
"Language: hr\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
-#: js/settings-personal.js:31 templates/settings-personal.php:10
-msgid "Expire all versions"
-msgstr ""
-
#: js/versions.js:16
msgid "History"
msgstr ""
-#: templates/settings-personal.php:4
-msgid "Versions"
-msgstr ""
-
-#: templates/settings-personal.php:7
-msgid "This will delete all existing backup versions of your files"
-msgstr ""
-
#: templates/settings.php:3
msgid "Files Versioning"
msgstr ""
diff --git a/l10n/hr/lib.po b/l10n/hr/lib.po
index 80301078e43..28ed5873c33 100644
--- a/l10n/hr/lib.po
+++ b/l10n/hr/lib.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-11-16 00:02+0100\n"
-"PO-Revision-Date: 2012-11-14 23:13+0000\n"
+"POT-Creation-Date: 2013-01-17 00:26+0100\n"
+"PO-Revision-Date: 2013-01-16 23:26+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Croatian (http://www.transifex.com/projects/p/owncloud/language/hr/)\n"
"MIME-Version: 1.0\n"
@@ -17,51 +17,55 @@ msgstr ""
"Language: hr\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
-#: app.php:285
+#: app.php:301
msgid "Help"
msgstr "Pomoć"
-#: app.php:292
+#: app.php:308
msgid "Personal"
msgstr "Osobno"
-#: app.php:297
+#: app.php:313
msgid "Settings"
msgstr "Postavke"
-#: app.php:302
+#: app.php:318
msgid "Users"
msgstr "Korisnici"
-#: app.php:309
+#: app.php:325
msgid "Apps"
msgstr ""
-#: app.php:311
+#: app.php:327
msgid "Admin"
msgstr ""
-#: files.php:332
+#: files.php:365
msgid "ZIP download is turned off."
msgstr ""
-#: files.php:333
+#: files.php:366
msgid "Files need to be downloaded one by one."
msgstr ""
-#: files.php:333 files.php:358
+#: files.php:366 files.php:391
msgid "Back to Files"
msgstr ""
-#: files.php:357
+#: files.php:390
msgid "Selected files too large to generate zip file."
msgstr ""
+#: helper.php:228
+msgid "couldn't be determined"
+msgstr ""
+
#: json.php:28
msgid "Application is not enabled"
msgstr ""
-#: json.php:39 json.php:64 json.php:77 json.php:89
+#: json.php:39 json.php:62 json.php:73
msgid "Authentication error"
msgstr "Greška kod autorizacije"
@@ -81,55 +85,55 @@ msgstr "Tekst"
msgid "Images"
msgstr ""
-#: template.php:103
+#: template.php:113
msgid "seconds ago"
msgstr "sekundi prije"
-#: template.php:104
+#: template.php:114
msgid "1 minute ago"
msgstr ""
-#: template.php:105
+#: template.php:115
#, php-format
msgid "%d minutes ago"
msgstr ""
-#: template.php:106
+#: template.php:116
msgid "1 hour ago"
msgstr ""
-#: template.php:107
+#: template.php:117
#, php-format
msgid "%d hours ago"
msgstr ""
-#: template.php:108
+#: template.php:118
msgid "today"
msgstr "danas"
-#: template.php:109
+#: template.php:119
msgid "yesterday"
msgstr "juÄer"
-#: template.php:110
+#: template.php:120
#, php-format
msgid "%d days ago"
msgstr ""
-#: template.php:111
+#: template.php:121
msgid "last month"
msgstr "prošli mjesec"
-#: template.php:112
+#: template.php:122
#, php-format
msgid "%d months ago"
msgstr ""
-#: template.php:113
+#: template.php:123
msgid "last year"
msgstr "prošlu godinu"
-#: template.php:114
+#: template.php:124
msgid "years ago"
msgstr "godina"
diff --git a/l10n/hr/settings.po b/l10n/hr/settings.po
index b46de54ca70..58d40e80893 100644
--- a/l10n/hr/settings.po
+++ b/l10n/hr/settings.po
@@ -10,8 +10,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-21 00:10+0100\n"
-"PO-Revision-Date: 2012-12-19 23:20+0000\n"
+"POT-Creation-Date: 2013-01-12 00:09+0100\n"
+"PO-Revision-Date: 2013-01-11 23:09+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Croatian (http://www.transifex.com/projects/p/owncloud/language/hr/)\n"
"MIME-Version: 1.0\n"
@@ -32,7 +32,7 @@ msgstr ""
msgid "Unable to add group"
msgstr ""
-#: ajax/enableapp.php:12
+#: ajax/enableapp.php:11
msgid "Could not enable app. "
msgstr ""
@@ -44,14 +44,6 @@ msgstr "Email spremljen"
msgid "Invalid email"
msgstr "Neispravan email"
-#: ajax/openid.php:13
-msgid "OpenID Changed"
-msgstr "OpenID promijenjen"
-
-#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20
-msgid "Invalid request"
-msgstr "Neispravan zahtjev"
-
#: ajax/removegroup.php:13
msgid "Unable to delete group"
msgstr ""
@@ -68,6 +60,10 @@ msgstr ""
msgid "Language changed"
msgstr "Jezik promijenjen"
+#: ajax/setlanguage.php:17 ajax/setlanguage.php:20
+msgid "Invalid request"
+msgstr "Neispravan zahtjev"
+
#: ajax/togglegroups.php:12
msgid "Admins can't remove themself from the admin group"
msgstr ""
@@ -163,7 +159,7 @@ msgstr ""
msgid "Download iOS Client"
msgstr ""
-#: templates/personal.php:21 templates/users.php:23 templates/users.php:77
+#: templates/personal.php:21 templates/users.php:23 templates/users.php:82
msgid "Password"
msgstr "Lozinka"
@@ -233,11 +229,11 @@ msgid ""
"License\">AGPL</abbr></a>."
msgstr ""
-#: templates/users.php:21 templates/users.php:76
+#: templates/users.php:21 templates/users.php:81
msgid "Name"
msgstr "Ime"
-#: templates/users.php:26 templates/users.php:78 templates/users.php:98
+#: templates/users.php:26 templates/users.php:83 templates/users.php:103
msgid "Groups"
msgstr "Grupe"
@@ -246,21 +242,29 @@ msgid "Create"
msgstr "Izradi"
#: templates/users.php:35
-msgid "Default Quota"
-msgstr "standardni kvota"
+msgid "Default Storage"
+msgstr ""
+
+#: templates/users.php:42 templates/users.php:138
+msgid "Unlimited"
+msgstr ""
-#: templates/users.php:55 templates/users.php:138
+#: templates/users.php:60 templates/users.php:153
msgid "Other"
msgstr "ostali"
-#: templates/users.php:80 templates/users.php:112
+#: templates/users.php:85 templates/users.php:117
msgid "Group Admin"
msgstr "Grupa Admin"
-#: templates/users.php:82
-msgid "Quota"
-msgstr "kvota"
+#: templates/users.php:87
+msgid "Storage"
+msgstr ""
+
+#: templates/users.php:133
+msgid "Default"
+msgstr ""
-#: templates/users.php:146
+#: templates/users.php:161
msgid "Delete"
msgstr "Obriši"
diff --git a/l10n/hr/user_ldap.po b/l10n/hr/user_ldap.po
index 5861922d336..25cb374e51f 100644
--- a/l10n/hr/user_ldap.po
+++ b/l10n/hr/user_ldap.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-15 00:11+0100\n"
-"PO-Revision-Date: 2012-12-14 23:11+0000\n"
+"POT-Creation-Date: 2013-01-18 00:03+0100\n"
+"PO-Revision-Date: 2013-01-17 21:57+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Croatian (http://www.transifex.com/projects/p/owncloud/language/hr/)\n"
"MIME-Version: 1.0\n"
@@ -26,8 +26,8 @@ msgstr ""
#: templates/settings.php:11
msgid ""
-"<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will"
-" not work. Please ask your system administrator to install it."
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not "
+"work. Please ask your system administrator to install it."
msgstr ""
#: templates/settings.php:15
@@ -44,6 +44,10 @@ msgid "Base DN"
msgstr ""
#: templates/settings.php:16
+msgid "One Base DN per line"
+msgstr ""
+
+#: templates/settings.php:16
msgid "You can specify Base DN for users and groups in the Advanced tab"
msgstr ""
@@ -114,10 +118,18 @@ msgstr ""
msgid "Base User Tree"
msgstr ""
+#: templates/settings.php:25
+msgid "One User Base DN per line"
+msgstr ""
+
#: templates/settings.php:26
msgid "Base Group Tree"
msgstr ""
+#: templates/settings.php:26
+msgid "One Group Base DN per line"
+msgstr ""
+
#: templates/settings.php:27
msgid "Group-Member association"
msgstr ""
@@ -180,4 +192,4 @@ msgstr ""
#: templates/settings.php:39
msgid "Help"
-msgstr ""
+msgstr "Pomoć"
diff --git a/l10n/hr/user_webdavauth.po b/l10n/hr/user_webdavauth.po
index ec8c6a5f26a..d33ff57a3a1 100644
--- a/l10n/hr/user_webdavauth.po
+++ b/l10n/hr/user_webdavauth.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-20 00:11+0100\n"
-"PO-Revision-Date: 2012-12-19 23:12+0000\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Croatian (http://www.transifex.com/projects/p/owncloud/language/hr/)\n"
"MIME-Version: 1.0\n"
@@ -17,13 +17,17 @@ msgstr ""
"Language: hr\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
+#: templates/settings.php:3
+msgid "WebDAV Authentication"
+msgstr ""
+
#: templates/settings.php:4
msgid "URL: http://"
msgstr ""
#: templates/settings.php:6
msgid ""
-"ownCloud will send the user credentials to this URL is interpret http 401 "
-"and http 403 as credentials wrong and all other codes as credentials "
-"correct."
+"ownCloud will send the user credentials to this URL. 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 ""
diff --git a/l10n/hu/core.po b/l10n/hu/core.po
new file mode 100644
index 00000000000..d2bfb48813a
--- /dev/null
+++ b/l10n/hu/core.po
@@ -0,0 +1,565 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: ownCloud\n"
+"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:03+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"Language-Team: Hungarian (http://www.transifex.com/projects/p/owncloud/language/hu/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: hu\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ajax/share.php:84
+#, php-format
+msgid "User %s shared a file with you"
+msgstr ""
+
+#: ajax/share.php:86
+#, php-format
+msgid "User %s shared a folder with you"
+msgstr ""
+
+#: ajax/share.php:88
+#, php-format
+msgid ""
+"User %s shared the file \"%s\" with you. It is available for download here: "
+"%s"
+msgstr ""
+
+#: ajax/share.php:90
+#, php-format
+msgid ""
+"User %s shared the folder \"%s\" with you. It is available for download "
+"here: %s"
+msgstr ""
+
+#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25
+msgid "Category type not provided."
+msgstr ""
+
+#: ajax/vcategories/add.php:30
+msgid "No category to add?"
+msgstr ""
+
+#: ajax/vcategories/add.php:37
+msgid "This category already exists: "
+msgstr ""
+
+#: 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 ""
+
+#: ajax/vcategories/addToFavorites.php:30
+#: ajax/vcategories/removeFromFavorites.php:30
+#, php-format
+msgid "%s ID not provided."
+msgstr ""
+
+#: ajax/vcategories/addToFavorites.php:35
+#, php-format
+msgid "Error adding %s to favorites."
+msgstr ""
+
+#: ajax/vcategories/delete.php:35 js/oc-vcategories.js:136
+msgid "No categories selected for deletion."
+msgstr ""
+
+#: ajax/vcategories/removeFromFavorites.php:35
+#, php-format
+msgid "Error removing %s from favorites."
+msgstr ""
+
+#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61
+msgid "Settings"
+msgstr ""
+
+#: js/js.js:711
+msgid "seconds ago"
+msgstr ""
+
+#: js/js.js:712
+msgid "1 minute ago"
+msgstr ""
+
+#: js/js.js:713
+msgid "{minutes} minutes ago"
+msgstr ""
+
+#: js/js.js:714
+msgid "1 hour ago"
+msgstr ""
+
+#: js/js.js:715
+msgid "{hours} hours ago"
+msgstr ""
+
+#: js/js.js:716
+msgid "today"
+msgstr ""
+
+#: js/js.js:717
+msgid "yesterday"
+msgstr ""
+
+#: js/js.js:718
+msgid "{days} days ago"
+msgstr ""
+
+#: js/js.js:719
+msgid "last month"
+msgstr ""
+
+#: js/js.js:720
+msgid "{months} months ago"
+msgstr ""
+
+#: js/js.js:721
+msgid "months ago"
+msgstr ""
+
+#: js/js.js:722
+msgid "last year"
+msgstr ""
+
+#: js/js.js:723
+msgid "years ago"
+msgstr ""
+
+#: js/oc-dialogs.js:126
+msgid "Choose"
+msgstr ""
+
+#: js/oc-dialogs.js:146 js/oc-dialogs.js:166
+msgid "Cancel"
+msgstr ""
+
+#: js/oc-dialogs.js:162
+msgid "No"
+msgstr ""
+
+#: js/oc-dialogs.js:163
+msgid "Yes"
+msgstr ""
+
+#: js/oc-dialogs.js:180
+msgid "Ok"
+msgstr ""
+
+#: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102
+#: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162
+msgid "The object type is not specified."
+msgstr ""
+
+#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136
+#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:554
+#: js/share.js:566
+msgid "Error"
+msgstr ""
+
+#: js/oc-vcategories.js:179
+msgid "The app name is not specified."
+msgstr ""
+
+#: js/oc-vcategories.js:194
+msgid "The required file {file} is not installed!"
+msgstr ""
+
+#: js/share.js:124 js/share.js:594
+msgid "Error while sharing"
+msgstr ""
+
+#: js/share.js:135
+msgid "Error while unsharing"
+msgstr ""
+
+#: js/share.js:142
+msgid "Error while changing permissions"
+msgstr ""
+
+#: js/share.js:151
+msgid "Shared with you and the group {group} by {owner}"
+msgstr ""
+
+#: js/share.js:153
+msgid "Shared with you by {owner}"
+msgstr ""
+
+#: js/share.js:158
+msgid "Share with"
+msgstr ""
+
+#: js/share.js:163
+msgid "Share with link"
+msgstr ""
+
+#: js/share.js:166
+msgid "Password protect"
+msgstr ""
+
+#: js/share.js:168 templates/installation.php:44 templates/login.php:35
+msgid "Password"
+msgstr ""
+
+#: js/share.js:172
+msgid "Email link to person"
+msgstr ""
+
+#: js/share.js:173
+msgid "Send"
+msgstr ""
+
+#: js/share.js:177
+msgid "Set expiration date"
+msgstr ""
+
+#: js/share.js:178
+msgid "Expiration date"
+msgstr ""
+
+#: js/share.js:210
+msgid "Share via email:"
+msgstr ""
+
+#: js/share.js:212
+msgid "No people found"
+msgstr ""
+
+#: js/share.js:239
+msgid "Resharing is not allowed"
+msgstr ""
+
+#: js/share.js:275
+msgid "Shared in {item} with {user}"
+msgstr ""
+
+#: js/share.js:296
+msgid "Unshare"
+msgstr ""
+
+#: js/share.js:308
+msgid "can edit"
+msgstr ""
+
+#: js/share.js:310
+msgid "access control"
+msgstr ""
+
+#: js/share.js:313
+msgid "create"
+msgstr ""
+
+#: js/share.js:316
+msgid "update"
+msgstr ""
+
+#: js/share.js:319
+msgid "delete"
+msgstr ""
+
+#: js/share.js:322
+msgid "share"
+msgstr ""
+
+#: js/share.js:356 js/share.js:541
+msgid "Password protected"
+msgstr ""
+
+#: js/share.js:554
+msgid "Error unsetting expiration date"
+msgstr ""
+
+#: js/share.js:566
+msgid "Error setting expiration date"
+msgstr ""
+
+#: js/share.js:581
+msgid "Sending ..."
+msgstr ""
+
+#: js/share.js:592
+msgid "Email sent"
+msgstr ""
+
+#: lostpassword/controller.php:47
+msgid "ownCloud password reset"
+msgstr ""
+
+#: lostpassword/templates/email.php:2
+msgid "Use the following link to reset your password: {link}"
+msgstr ""
+
+#: lostpassword/templates/lostpassword.php:3
+msgid "You will receive a link to reset your password via Email."
+msgstr ""
+
+#: lostpassword/templates/lostpassword.php:5
+msgid "Reset email send."
+msgstr ""
+
+#: lostpassword/templates/lostpassword.php:8
+msgid "Request failed!"
+msgstr ""
+
+#: lostpassword/templates/lostpassword.php:11 templates/installation.php:39
+#: templates/login.php:28
+msgid "Username"
+msgstr ""
+
+#: lostpassword/templates/lostpassword.php:14
+msgid "Request reset"
+msgstr ""
+
+#: lostpassword/templates/resetpassword.php:4
+msgid "Your password was reset"
+msgstr ""
+
+#: lostpassword/templates/resetpassword.php:5
+msgid "To login page"
+msgstr ""
+
+#: lostpassword/templates/resetpassword.php:8
+msgid "New password"
+msgstr ""
+
+#: lostpassword/templates/resetpassword.php:11
+msgid "Reset password"
+msgstr ""
+
+#: strings.php:5
+msgid "Personal"
+msgstr ""
+
+#: strings.php:6
+msgid "Users"
+msgstr ""
+
+#: strings.php:7
+msgid "Apps"
+msgstr ""
+
+#: strings.php:8
+msgid "Admin"
+msgstr ""
+
+#: strings.php:9
+msgid "Help"
+msgstr ""
+
+#: templates/403.php:12
+msgid "Access forbidden"
+msgstr ""
+
+#: templates/404.php:12
+msgid "Cloud not found"
+msgstr ""
+
+#: templates/edit_categories_dialog.php:4
+msgid "Edit categories"
+msgstr ""
+
+#: templates/edit_categories_dialog.php:16
+msgid "Add"
+msgstr ""
+
+#: templates/installation.php:23 templates/installation.php:31
+msgid "Security Warning"
+msgstr ""
+
+#: templates/installation.php:24
+msgid ""
+"No secure random number generator is available, please enable the PHP "
+"OpenSSL extension."
+msgstr ""
+
+#: templates/installation.php:26
+msgid ""
+"Without a secure random number generator an attacker may be able to predict "
+"password reset tokens and take over your account."
+msgstr ""
+
+#: templates/installation.php:32
+msgid ""
+"Your data directory and your files are probably accessible from the "
+"internet. The .htaccess file that ownCloud provides 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."
+msgstr ""
+
+#: templates/installation.php:36
+msgid "Create an <strong>admin account</strong>"
+msgstr ""
+
+#: templates/installation.php:50
+msgid "Advanced"
+msgstr ""
+
+#: templates/installation.php:52
+msgid "Data folder"
+msgstr ""
+
+#: templates/installation.php:59
+msgid "Configure the database"
+msgstr ""
+
+#: templates/installation.php:64 templates/installation.php:75
+#: templates/installation.php:85 templates/installation.php:95
+msgid "will be used"
+msgstr ""
+
+#: templates/installation.php:107
+msgid "Database user"
+msgstr ""
+
+#: templates/installation.php:111
+msgid "Database password"
+msgstr ""
+
+#: templates/installation.php:115
+msgid "Database name"
+msgstr ""
+
+#: templates/installation.php:123
+msgid "Database tablespace"
+msgstr ""
+
+#: templates/installation.php:129
+msgid "Database host"
+msgstr ""
+
+#: templates/installation.php:134
+msgid "Finish setup"
+msgstr ""
+
+#: templates/layout.guest.php:16 templates/layout.user.php:17
+msgid "Sunday"
+msgstr ""
+
+#: templates/layout.guest.php:16 templates/layout.user.php:17
+msgid "Monday"
+msgstr ""
+
+#: templates/layout.guest.php:16 templates/layout.user.php:17
+msgid "Tuesday"
+msgstr ""
+
+#: templates/layout.guest.php:16 templates/layout.user.php:17
+msgid "Wednesday"
+msgstr ""
+
+#: templates/layout.guest.php:16 templates/layout.user.php:17
+msgid "Thursday"
+msgstr ""
+
+#: templates/layout.guest.php:16 templates/layout.user.php:17
+msgid "Friday"
+msgstr ""
+
+#: templates/layout.guest.php:16 templates/layout.user.php:17
+msgid "Saturday"
+msgstr ""
+
+#: templates/layout.guest.php:17 templates/layout.user.php:18
+msgid "January"
+msgstr ""
+
+#: templates/layout.guest.php:17 templates/layout.user.php:18
+msgid "February"
+msgstr ""
+
+#: templates/layout.guest.php:17 templates/layout.user.php:18
+msgid "March"
+msgstr ""
+
+#: templates/layout.guest.php:17 templates/layout.user.php:18
+msgid "April"
+msgstr ""
+
+#: templates/layout.guest.php:17 templates/layout.user.php:18
+msgid "May"
+msgstr ""
+
+#: templates/layout.guest.php:17 templates/layout.user.php:18
+msgid "June"
+msgstr ""
+
+#: templates/layout.guest.php:17 templates/layout.user.php:18
+msgid "July"
+msgstr ""
+
+#: templates/layout.guest.php:17 templates/layout.user.php:18
+msgid "August"
+msgstr ""
+
+#: templates/layout.guest.php:17 templates/layout.user.php:18
+msgid "September"
+msgstr ""
+
+#: templates/layout.guest.php:17 templates/layout.user.php:18
+msgid "October"
+msgstr ""
+
+#: templates/layout.guest.php:17 templates/layout.user.php:18
+msgid "November"
+msgstr ""
+
+#: templates/layout.guest.php:17 templates/layout.user.php:18
+msgid "December"
+msgstr ""
+
+#: templates/layout.guest.php:42
+msgid "web services under your control"
+msgstr ""
+
+#: templates/layout.user.php:45
+msgid "Log out"
+msgstr ""
+
+#: templates/login.php:10
+msgid "Automatic logon rejected!"
+msgstr ""
+
+#: templates/login.php:11
+msgid ""
+"If you did not change your password recently, your account may be "
+"compromised!"
+msgstr ""
+
+#: templates/login.php:13
+msgid "Please change your password to secure your account again."
+msgstr ""
+
+#: templates/login.php:19
+msgid "Lost your password?"
+msgstr ""
+
+#: templates/login.php:39
+msgid "remember"
+msgstr ""
+
+#: templates/login.php:41
+msgid "Log in"
+msgstr ""
+
+#: templates/part.pagenavi.php:3
+msgid "prev"
+msgstr ""
+
+#: templates/part.pagenavi.php:20
+msgid "next"
+msgstr ""
+
+#: templates/update.php:3
+#, php-format
+msgid "Updating ownCloud to version %s, this may take a while."
+msgstr ""
diff --git a/l10n/hu/files.po b/l10n/hu/files.po
new file mode 100644
index 00000000000..bcba1270024
--- /dev/null
+++ b/l10n/hu/files.po
@@ -0,0 +1,307 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: ownCloud\n"
+"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
+"POT-Creation-Date: 2013-01-20 00:05+0100\n"
+"PO-Revision-Date: 2013-01-19 23:05+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"Language-Team: Hungarian (http://www.transifex.com/projects/p/owncloud/language/hu/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: hu\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ajax/delete.php:28 ajax/getstoragestats.php:11 ajax/upload.php:17
+#: ajax/upload.php:76 templates/index.php:18
+msgid "Upload"
+msgstr ""
+
+#: ajax/move.php:17
+#, php-format
+msgid "Could not move %s - File with this name already exists"
+msgstr ""
+
+#: ajax/move.php:24
+#, php-format
+msgid "Could not move %s"
+msgstr ""
+
+#: ajax/rename.php:19
+msgid "Unable to rename file"
+msgstr ""
+
+#: ajax/upload.php:20
+msgid "No file was uploaded. Unknown error"
+msgstr ""
+
+#: ajax/upload.php:30
+msgid "There is no error, the file uploaded with success"
+msgstr ""
+
+#: ajax/upload.php:31
+msgid ""
+"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
+msgstr ""
+
+#: ajax/upload.php:33
+msgid ""
+"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
+"the HTML form"
+msgstr ""
+
+#: ajax/upload.php:35
+msgid "The uploaded file was only partially uploaded"
+msgstr ""
+
+#: ajax/upload.php:36
+msgid "No file was uploaded"
+msgstr ""
+
+#: ajax/upload.php:37
+msgid "Missing a temporary folder"
+msgstr ""
+
+#: ajax/upload.php:38
+msgid "Failed to write to disk"
+msgstr ""
+
+#: ajax/upload.php:57
+msgid "Not enough space available"
+msgstr ""
+
+#: ajax/upload.php:91
+msgid "Invalid directory."
+msgstr ""
+
+#: appinfo/app.php:10
+msgid "Files"
+msgstr ""
+
+#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
+msgid "Unshare"
+msgstr ""
+
+#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
+msgid "Delete"
+msgstr ""
+
+#: js/fileactions.js:181
+msgid "Rename"
+msgstr ""
+
+#: js/filelist.js:205 js/filelist.js:207
+msgid "{new_name} already exists"
+msgstr ""
+
+#: js/filelist.js:205 js/filelist.js:207
+msgid "replace"
+msgstr ""
+
+#: js/filelist.js:205
+msgid "suggest name"
+msgstr ""
+
+#: js/filelist.js:205 js/filelist.js:207
+msgid "cancel"
+msgstr ""
+
+#: js/filelist.js:254
+msgid "replaced {new_name}"
+msgstr ""
+
+#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
+msgid "undo"
+msgstr ""
+
+#: js/filelist.js:256
+msgid "replaced {new_name} with {old_name}"
+msgstr ""
+
+#: js/filelist.js:288
+msgid "unshared {files}"
+msgstr ""
+
+#: js/filelist.js:290
+msgid "deleted {files}"
+msgstr ""
+
+#: js/files.js:48
+msgid "'.' is an invalid file name."
+msgstr ""
+
+#: js/files.js:53
+msgid "File name cannot be empty."
+msgstr ""
+
+#: js/files.js:62
+msgid ""
+"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
+"allowed."
+msgstr ""
+
+#: js/files.js:204
+msgid ""
+"Your download is being prepared. This might take some time if the files are "
+"big."
+msgstr ""
+
+#: js/files.js:242
+msgid "Unable to upload your file as it is a directory or has 0 bytes"
+msgstr ""
+
+#: js/files.js:242
+msgid "Upload Error"
+msgstr ""
+
+#: js/files.js:259
+msgid "Close"
+msgstr ""
+
+#: js/files.js:278 js/files.js:397 js/files.js:431
+msgid "Pending"
+msgstr ""
+
+#: js/files.js:298
+msgid "1 file uploading"
+msgstr ""
+
+#: js/files.js:301 js/files.js:357 js/files.js:372
+msgid "{count} files uploading"
+msgstr ""
+
+#: js/files.js:376 js/files.js:414
+msgid "Upload cancelled."
+msgstr ""
+
+#: js/files.js:486
+msgid ""
+"File upload is in progress. Leaving the page now will cancel the upload."
+msgstr ""
+
+#: js/files.js:559
+msgid "URL cannot be empty."
+msgstr ""
+
+#: js/files.js:565
+msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
+msgstr ""
+
+#: js/files.js:775
+msgid "{count} files scanned"
+msgstr ""
+
+#: js/files.js:783
+msgid "error while scanning"
+msgstr ""
+
+#: js/files.js:857 templates/index.php:64
+msgid "Name"
+msgstr ""
+
+#: js/files.js:858 templates/index.php:75
+msgid "Size"
+msgstr ""
+
+#: js/files.js:859 templates/index.php:77
+msgid "Modified"
+msgstr ""
+
+#: js/files.js:878
+msgid "1 folder"
+msgstr ""
+
+#: js/files.js:880
+msgid "{count} folders"
+msgstr ""
+
+#: js/files.js:888
+msgid "1 file"
+msgstr ""
+
+#: js/files.js:890
+msgid "{count} files"
+msgstr ""
+
+#: templates/admin.php:5
+msgid "File handling"
+msgstr ""
+
+#: templates/admin.php:7
+msgid "Maximum upload size"
+msgstr ""
+
+#: templates/admin.php:10
+msgid "max. possible: "
+msgstr ""
+
+#: templates/admin.php:15
+msgid "Needed for multi-file and folder downloads."
+msgstr ""
+
+#: templates/admin.php:17
+msgid "Enable ZIP-download"
+msgstr ""
+
+#: templates/admin.php:20
+msgid "0 is unlimited"
+msgstr ""
+
+#: templates/admin.php:22
+msgid "Maximum input size for ZIP files"
+msgstr ""
+
+#: templates/admin.php:26
+msgid "Save"
+msgstr ""
+
+#: templates/index.php:7
+msgid "New"
+msgstr ""
+
+#: templates/index.php:10
+msgid "Text file"
+msgstr ""
+
+#: templates/index.php:12
+msgid "Folder"
+msgstr ""
+
+#: templates/index.php:14
+msgid "From link"
+msgstr ""
+
+#: templates/index.php:41
+msgid "Cancel upload"
+msgstr ""
+
+#: templates/index.php:56
+msgid "Nothing in here. Upload something!"
+msgstr ""
+
+#: templates/index.php:70
+msgid "Download"
+msgstr ""
+
+#: templates/index.php:102
+msgid "Upload too large"
+msgstr ""
+
+#: templates/index.php:104
+msgid ""
+"The files you are trying to upload exceed the maximum size for file uploads "
+"on this server."
+msgstr ""
+
+#: templates/index.php:109
+msgid "Files are being scanned, please wait."
+msgstr ""
+
+#: templates/index.php:112
+msgid "Current scanning"
+msgstr ""
diff --git a/l10n/hu/files_encryption.po b/l10n/hu/files_encryption.po
new file mode 100644
index 00000000000..26913fea990
--- /dev/null
+++ b/l10n/hu/files_encryption.po
@@ -0,0 +1,34 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: ownCloud\n"
+"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
+"POT-Creation-Date: 2013-01-03 00:04+0100\n"
+"PO-Revision-Date: 2012-08-12 22:33+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Hungarian (http://www.transifex.com/projects/p/owncloud/language/hu/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: hu\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: templates/settings.php:3
+msgid "Encryption"
+msgstr ""
+
+#: templates/settings.php:6
+msgid "Enable Encryption"
+msgstr ""
+
+#: templates/settings.php:7
+msgid "None"
+msgstr ""
+
+#: templates/settings.php:12
+msgid "Exclude the following file types from encryption"
+msgstr ""
diff --git a/l10n/hu/files_external.po b/l10n/hu/files_external.po
new file mode 100644
index 00000000000..5ee957401ae
--- /dev/null
+++ b/l10n/hu/files_external.po
@@ -0,0 +1,120 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: ownCloud\n"
+"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
+"POT-Creation-Date: 2013-01-03 00:04+0100\n"
+"PO-Revision-Date: 2012-08-12 22:34+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Hungarian (http://www.transifex.com/projects/p/owncloud/language/hu/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: hu\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: js/dropbox.js:7 js/dropbox.js:25 js/google.js:7 js/google.js:23
+msgid "Access granted"
+msgstr ""
+
+#: js/dropbox.js:28 js/dropbox.js:74 js/dropbox.js:79 js/dropbox.js:86
+msgid "Error configuring Dropbox storage"
+msgstr ""
+
+#: js/dropbox.js:34 js/dropbox.js:45 js/google.js:31 js/google.js:40
+msgid "Grant access"
+msgstr ""
+
+#: js/dropbox.js:73 js/google.js:72
+msgid "Fill out all required fields"
+msgstr ""
+
+#: js/dropbox.js:85
+msgid "Please provide a valid Dropbox app key and secret."
+msgstr ""
+
+#: js/google.js:26 js/google.js:73 js/google.js:78
+msgid "Error configuring Google Drive storage"
+msgstr ""
+
+#: lib/config.php:434
+msgid ""
+"<b>Warning:</b> \"smbclient\" is not installed. Mounting of CIFS/SMB shares "
+"is not possible. Please ask your system administrator to install it."
+msgstr ""
+
+#: lib/config.php:435
+msgid ""
+"<b>Warning:</b> The FTP support in PHP is not enabled or installed. Mounting"
+" of FTP shares is not possible. Please ask your system administrator to "
+"install it."
+msgstr ""
+
+#: templates/settings.php:3
+msgid "External Storage"
+msgstr ""
+
+#: templates/settings.php:8 templates/settings.php:22
+msgid "Mount point"
+msgstr ""
+
+#: templates/settings.php:9
+msgid "Backend"
+msgstr ""
+
+#: templates/settings.php:10
+msgid "Configuration"
+msgstr ""
+
+#: templates/settings.php:11
+msgid "Options"
+msgstr ""
+
+#: templates/settings.php:12
+msgid "Applicable"
+msgstr ""
+
+#: templates/settings.php:27
+msgid "Add mount point"
+msgstr ""
+
+#: templates/settings.php:85
+msgid "None set"
+msgstr ""
+
+#: templates/settings.php:86
+msgid "All Users"
+msgstr ""
+
+#: templates/settings.php:87
+msgid "Groups"
+msgstr ""
+
+#: templates/settings.php:95
+msgid "Users"
+msgstr ""
+
+#: templates/settings.php:108 templates/settings.php:109
+#: templates/settings.php:144 templates/settings.php:145
+msgid "Delete"
+msgstr ""
+
+#: templates/settings.php:124
+msgid "Enable User External Storage"
+msgstr ""
+
+#: templates/settings.php:125
+msgid "Allow users to mount their own external storage"
+msgstr ""
+
+#: templates/settings.php:136
+msgid "SSL root certificates"
+msgstr ""
+
+#: templates/settings.php:153
+msgid "Import Root Certificate"
+msgstr ""
diff --git a/l10n/hu/files_sharing.po b/l10n/hu/files_sharing.po
new file mode 100644
index 00000000000..07688f2047c
--- /dev/null
+++ b/l10n/hu/files_sharing.po
@@ -0,0 +1,48 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: ownCloud\n"
+"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
+"POT-Creation-Date: 2013-01-03 00:04+0100\n"
+"PO-Revision-Date: 2012-08-12 22:35+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Hungarian (http://www.transifex.com/projects/p/owncloud/language/hu/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: hu\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: templates/authenticate.php:4
+msgid "Password"
+msgstr ""
+
+#: templates/authenticate.php:6
+msgid "Submit"
+msgstr ""
+
+#: templates/public.php:17
+#, php-format
+msgid "%s shared the folder %s with you"
+msgstr ""
+
+#: templates/public.php:19
+#, php-format
+msgid "%s shared the file %s with you"
+msgstr ""
+
+#: templates/public.php:22 templates/public.php:38
+msgid "Download"
+msgstr ""
+
+#: templates/public.php:37
+msgid "No preview available for"
+msgstr ""
+
+#: templates/public.php:43
+msgid "web services under your control"
+msgstr ""
diff --git a/l10n/hu/files_versions.po b/l10n/hu/files_versions.po
new file mode 100644
index 00000000000..6f8e34c98c3
--- /dev/null
+++ b/l10n/hu/files_versions.po
@@ -0,0 +1,30 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: ownCloud\n"
+"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"Language-Team: Hungarian (http://www.transifex.com/projects/p/owncloud/language/hu/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: hu\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: js/versions.js:16
+msgid "History"
+msgstr ""
+
+#: templates/settings.php:3
+msgid "Files Versioning"
+msgstr ""
+
+#: templates/settings.php:4
+msgid "Enable"
+msgstr ""
diff --git a/l10n/hu/lib.po b/l10n/hu/lib.po
new file mode 100644
index 00000000000..dc349f094e9
--- /dev/null
+++ b/l10n/hu/lib.po
@@ -0,0 +1,156 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: ownCloud\n"
+"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
+"POT-Creation-Date: 2013-01-17 00:26+0100\n"
+"PO-Revision-Date: 2013-01-16 23:26+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"Language-Team: Hungarian (http://www.transifex.com/projects/p/owncloud/language/hu/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: hu\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: app.php:301
+msgid "Help"
+msgstr ""
+
+#: app.php:308
+msgid "Personal"
+msgstr ""
+
+#: app.php:313
+msgid "Settings"
+msgstr ""
+
+#: app.php:318
+msgid "Users"
+msgstr ""
+
+#: app.php:325
+msgid "Apps"
+msgstr ""
+
+#: app.php:327
+msgid "Admin"
+msgstr ""
+
+#: files.php:365
+msgid "ZIP download is turned off."
+msgstr ""
+
+#: files.php:366
+msgid "Files need to be downloaded one by one."
+msgstr ""
+
+#: files.php:366 files.php:391
+msgid "Back to Files"
+msgstr ""
+
+#: files.php:390
+msgid "Selected files too large to generate zip file."
+msgstr ""
+
+#: helper.php:228
+msgid "couldn't be determined"
+msgstr ""
+
+#: json.php:28
+msgid "Application is not enabled"
+msgstr ""
+
+#: json.php:39 json.php:62 json.php:73
+msgid "Authentication error"
+msgstr ""
+
+#: json.php:51
+msgid "Token expired. Please reload page."
+msgstr ""
+
+#: search/provider/file.php:17 search/provider/file.php:35
+msgid "Files"
+msgstr ""
+
+#: search/provider/file.php:26 search/provider/file.php:33
+msgid "Text"
+msgstr ""
+
+#: search/provider/file.php:29
+msgid "Images"
+msgstr ""
+
+#: template.php:113
+msgid "seconds ago"
+msgstr ""
+
+#: template.php:114
+msgid "1 minute ago"
+msgstr ""
+
+#: template.php:115
+#, php-format
+msgid "%d minutes ago"
+msgstr ""
+
+#: template.php:116
+msgid "1 hour ago"
+msgstr ""
+
+#: template.php:117
+#, php-format
+msgid "%d hours ago"
+msgstr ""
+
+#: template.php:118
+msgid "today"
+msgstr ""
+
+#: template.php:119
+msgid "yesterday"
+msgstr ""
+
+#: template.php:120
+#, php-format
+msgid "%d days ago"
+msgstr ""
+
+#: template.php:121
+msgid "last month"
+msgstr ""
+
+#: template.php:122
+#, php-format
+msgid "%d months ago"
+msgstr ""
+
+#: template.php:123
+msgid "last year"
+msgstr ""
+
+#: template.php:124
+msgid "years ago"
+msgstr ""
+
+#: updater.php:75
+#, php-format
+msgid "%s is available. Get <a href=\"%s\">more information</a>"
+msgstr ""
+
+#: updater.php:77
+msgid "up to date"
+msgstr ""
+
+#: updater.php:80
+msgid "updates check is disabled"
+msgstr ""
+
+#: vcategories.php:188 vcategories.php:249
+#, php-format
+msgid "Could not find category \"%s\""
+msgstr ""
diff --git a/l10n/hu/settings.po b/l10n/hu/settings.po
new file mode 100644
index 00000000000..7234cca6386
--- /dev/null
+++ b/l10n/hu/settings.po
@@ -0,0 +1,267 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: ownCloud\n"
+"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
+"POT-Creation-Date: 2013-01-12 00:09+0100\n"
+"PO-Revision-Date: 2013-01-11 23:09+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"Language-Team: Hungarian (http://www.transifex.com/projects/p/owncloud/language/hu/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: hu\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ajax/apps/ocs.php:20
+msgid "Unable to load list from App Store"
+msgstr ""
+
+#: ajax/creategroup.php:10
+msgid "Group already exists"
+msgstr ""
+
+#: ajax/creategroup.php:19
+msgid "Unable to add group"
+msgstr ""
+
+#: ajax/enableapp.php:11
+msgid "Could not enable app. "
+msgstr ""
+
+#: ajax/lostpassword.php:12
+msgid "Email saved"
+msgstr ""
+
+#: ajax/lostpassword.php:14
+msgid "Invalid email"
+msgstr ""
+
+#: ajax/removegroup.php:13
+msgid "Unable to delete group"
+msgstr ""
+
+#: ajax/removeuser.php:15 ajax/setquota.php:15 ajax/togglegroups.php:18
+msgid "Authentication error"
+msgstr ""
+
+#: ajax/removeuser.php:24
+msgid "Unable to delete user"
+msgstr ""
+
+#: ajax/setlanguage.php:15
+msgid "Language changed"
+msgstr ""
+
+#: ajax/setlanguage.php:17 ajax/setlanguage.php:20
+msgid "Invalid request"
+msgstr ""
+
+#: ajax/togglegroups.php:12
+msgid "Admins can't remove themself from the admin group"
+msgstr ""
+
+#: ajax/togglegroups.php:28
+#, php-format
+msgid "Unable to add user to group %s"
+msgstr ""
+
+#: ajax/togglegroups.php:34
+#, php-format
+msgid "Unable to remove user from group %s"
+msgstr ""
+
+#: js/apps.js:28 js/apps.js:67
+msgid "Disable"
+msgstr ""
+
+#: js/apps.js:28 js/apps.js:55
+msgid "Enable"
+msgstr ""
+
+#: js/personal.js:69
+msgid "Saving..."
+msgstr ""
+
+#: personal.php:42 personal.php:43
+msgid "__language_name__"
+msgstr ""
+
+#: templates/apps.php:10
+msgid "Add your App"
+msgstr ""
+
+#: templates/apps.php:11
+msgid "More Apps"
+msgstr ""
+
+#: templates/apps.php:27
+msgid "Select an App"
+msgstr ""
+
+#: templates/apps.php:31
+msgid "See application page at apps.owncloud.com"
+msgstr ""
+
+#: templates/apps.php:32
+msgid "<span class=\"licence\"></span>-licensed by <span class=\"author\"></span>"
+msgstr ""
+
+#: templates/help.php:3
+msgid "User Documentation"
+msgstr ""
+
+#: templates/help.php:4
+msgid "Administrator Documentation"
+msgstr ""
+
+#: templates/help.php:6
+msgid "Online Documentation"
+msgstr ""
+
+#: templates/help.php:7
+msgid "Forum"
+msgstr ""
+
+#: templates/help.php:9
+msgid "Bugtracker"
+msgstr ""
+
+#: templates/help.php:11
+msgid "Commercial Support"
+msgstr ""
+
+#: templates/personal.php:8
+#, php-format
+msgid "You have used <strong>%s</strong> of the available <strong>%s</strong>"
+msgstr ""
+
+#: templates/personal.php:12
+msgid "Clients"
+msgstr ""
+
+#: templates/personal.php:13
+msgid "Download Desktop Clients"
+msgstr ""
+
+#: templates/personal.php:14
+msgid "Download Android Client"
+msgstr ""
+
+#: templates/personal.php:15
+msgid "Download iOS Client"
+msgstr ""
+
+#: templates/personal.php:21 templates/users.php:23 templates/users.php:82
+msgid "Password"
+msgstr ""
+
+#: templates/personal.php:22
+msgid "Your password was changed"
+msgstr ""
+
+#: templates/personal.php:23
+msgid "Unable to change your password"
+msgstr ""
+
+#: templates/personal.php:24
+msgid "Current password"
+msgstr ""
+
+#: templates/personal.php:25
+msgid "New password"
+msgstr ""
+
+#: templates/personal.php:26
+msgid "show"
+msgstr ""
+
+#: templates/personal.php:27
+msgid "Change password"
+msgstr ""
+
+#: templates/personal.php:33
+msgid "Email"
+msgstr ""
+
+#: templates/personal.php:34
+msgid "Your email address"
+msgstr ""
+
+#: templates/personal.php:35
+msgid "Fill in an email address to enable password recovery"
+msgstr ""
+
+#: templates/personal.php:41 templates/personal.php:42
+msgid "Language"
+msgstr ""
+
+#: templates/personal.php:47
+msgid "Help translate"
+msgstr ""
+
+#: templates/personal.php:52
+msgid "WebDAV"
+msgstr ""
+
+#: templates/personal.php:54
+msgid "Use this address to connect to your ownCloud in your file manager"
+msgstr ""
+
+#: templates/personal.php:63
+msgid "Version"
+msgstr ""
+
+#: templates/personal.php:65
+msgid ""
+"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>."
+msgstr ""
+
+#: templates/users.php:21 templates/users.php:81
+msgid "Name"
+msgstr ""
+
+#: templates/users.php:26 templates/users.php:83 templates/users.php:103
+msgid "Groups"
+msgstr ""
+
+#: templates/users.php:32
+msgid "Create"
+msgstr ""
+
+#: templates/users.php:35
+msgid "Default Storage"
+msgstr ""
+
+#: templates/users.php:42 templates/users.php:138
+msgid "Unlimited"
+msgstr ""
+
+#: templates/users.php:60 templates/users.php:153
+msgid "Other"
+msgstr ""
+
+#: templates/users.php:85 templates/users.php:117
+msgid "Group Admin"
+msgstr ""
+
+#: templates/users.php:87
+msgid "Storage"
+msgstr ""
+
+#: templates/users.php:133
+msgid "Default"
+msgstr ""
+
+#: templates/users.php:161
+msgid "Delete"
+msgstr ""
diff --git a/l10n/hu/user_ldap.po b/l10n/hu/user_ldap.po
new file mode 100644
index 00000000000..2c265cccc0e
--- /dev/null
+++ b/l10n/hu/user_ldap.po
@@ -0,0 +1,195 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: ownCloud\n"
+"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
+"POT-Creation-Date: 2013-01-16 00:19+0100\n"
+"PO-Revision-Date: 2013-01-15 23:20+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"Language-Team: Hungarian (http://www.transifex.com/projects/p/owncloud/language/hu/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: hu\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: templates/settings.php:8
+msgid ""
+"<b>Warning:</b> Apps user_ldap and user_webdavauth are incompatible. You may"
+" experience unexpected behaviour. Please ask your system administrator to "
+"disable one of them."
+msgstr ""
+
+#: templates/settings.php:11
+msgid ""
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not "
+"work. Please ask your system administrator to install it."
+msgstr ""
+
+#: templates/settings.php:15
+msgid "Host"
+msgstr ""
+
+#: templates/settings.php:15
+msgid ""
+"You can omit the protocol, except you require SSL. Then start with ldaps://"
+msgstr ""
+
+#: templates/settings.php:16
+msgid "Base DN"
+msgstr ""
+
+#: templates/settings.php:16
+msgid "One Base DN per line"
+msgstr ""
+
+#: templates/settings.php:16
+msgid "You can specify Base DN for users and groups in the Advanced tab"
+msgstr ""
+
+#: templates/settings.php:17
+msgid "User DN"
+msgstr ""
+
+#: templates/settings.php:17
+msgid ""
+"The DN of the client user with which the bind shall be done, e.g. "
+"uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password "
+"empty."
+msgstr ""
+
+#: templates/settings.php:18
+msgid "Password"
+msgstr ""
+
+#: templates/settings.php:18
+msgid "For anonymous access, leave DN and Password empty."
+msgstr ""
+
+#: templates/settings.php:19
+msgid "User Login Filter"
+msgstr ""
+
+#: templates/settings.php:19
+#, php-format
+msgid ""
+"Defines the filter to apply, when login is attempted. %%uid replaces the "
+"username in the login action."
+msgstr ""
+
+#: templates/settings.php:19
+#, php-format
+msgid "use %%uid placeholder, e.g. \"uid=%%uid\""
+msgstr ""
+
+#: templates/settings.php:20
+msgid "User List Filter"
+msgstr ""
+
+#: templates/settings.php:20
+msgid "Defines the filter to apply, when retrieving users."
+msgstr ""
+
+#: templates/settings.php:20
+msgid "without any placeholder, e.g. \"objectClass=person\"."
+msgstr ""
+
+#: templates/settings.php:21
+msgid "Group Filter"
+msgstr ""
+
+#: templates/settings.php:21
+msgid "Defines the filter to apply, when retrieving groups."
+msgstr ""
+
+#: templates/settings.php:21
+msgid "without any placeholder, e.g. \"objectClass=posixGroup\"."
+msgstr ""
+
+#: templates/settings.php:24
+msgid "Port"
+msgstr ""
+
+#: templates/settings.php:25
+msgid "Base User Tree"
+msgstr ""
+
+#: templates/settings.php:25
+msgid "One User Base DN per line"
+msgstr ""
+
+#: templates/settings.php:26
+msgid "Base Group Tree"
+msgstr ""
+
+#: templates/settings.php:26
+msgid "One Group Base DN per line"
+msgstr ""
+
+#: templates/settings.php:27
+msgid "Group-Member association"
+msgstr ""
+
+#: templates/settings.php:28
+msgid "Use TLS"
+msgstr ""
+
+#: templates/settings.php:28
+msgid "Do not use it for SSL connections, it will fail."
+msgstr ""
+
+#: templates/settings.php:29
+msgid "Case insensitve LDAP server (Windows)"
+msgstr ""
+
+#: templates/settings.php:30
+msgid "Turn off SSL certificate validation."
+msgstr ""
+
+#: templates/settings.php:30
+msgid ""
+"If connection only works with this option, import the LDAP server's SSL "
+"certificate in your ownCloud server."
+msgstr ""
+
+#: templates/settings.php:30
+msgid "Not recommended, use for testing only."
+msgstr ""
+
+#: templates/settings.php:31
+msgid "User Display Name Field"
+msgstr ""
+
+#: templates/settings.php:31
+msgid "The LDAP attribute to use to generate the user`s ownCloud name."
+msgstr ""
+
+#: templates/settings.php:32
+msgid "Group Display Name Field"
+msgstr ""
+
+#: templates/settings.php:32
+msgid "The LDAP attribute to use to generate the groups`s ownCloud name."
+msgstr ""
+
+#: templates/settings.php:34
+msgid "in bytes"
+msgstr ""
+
+#: templates/settings.php:36
+msgid "in seconds. A change empties the cache."
+msgstr ""
+
+#: templates/settings.php:37
+msgid ""
+"Leave empty for user name (default). Otherwise, specify an LDAP/AD "
+"attribute."
+msgstr ""
+
+#: templates/settings.php:39
+msgid "Help"
+msgstr ""
diff --git a/l10n/hu/user_webdavauth.po b/l10n/hu/user_webdavauth.po
new file mode 100644
index 00000000000..87b7d322df8
--- /dev/null
+++ b/l10n/hu/user_webdavauth.po
@@ -0,0 +1,33 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+msgid ""
+msgstr ""
+"Project-Id-Version: ownCloud\n"
+"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"Language-Team: Hungarian (http://www.transifex.com/projects/p/owncloud/language/hu/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: hu\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: templates/settings.php:3
+msgid "WebDAV Authentication"
+msgstr ""
+
+#: templates/settings.php:4
+msgid "URL: http://"
+msgstr ""
+
+#: templates/settings.php:6
+msgid ""
+"ownCloud will send the user credentials to this URL. 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 ""
diff --git a/l10n/hu_HU/core.po b/l10n/hu_HU/core.po
index be9005b3379..27db5050659 100644
--- a/l10n/hu_HU/core.po
+++ b/l10n/hu_HU/core.po
@@ -4,15 +4,17 @@
#
# Translators:
# Adam Toth <adazlord@gmail.com>, 2012.
+# Laszlo Tornoci <torlasz@gmail.com>, 2013.
# <mail@tamas-nagy.net>, 2011.
# Peter Borsa <peter.borsa@gmail.com>, 2012.
+# Tamas Nagy <mail@tamas-nagy.net>, 2013.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-13 00:17+0100\n"
-"PO-Revision-Date: 2012-12-12 23:17+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-26 00:09+0100\n"
+"PO-Revision-Date: 2013-01-25 12:57+0000\n"
+"Last-Translator: Laszlo Tornoci <torlasz@gmail.com>\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"
@@ -23,30 +25,30 @@ msgstr ""
#: ajax/share.php:84
#, php-format
msgid "User %s shared a file with you"
-msgstr ""
+msgstr "%s felhasználó megosztott Önnel egy fájlt"
#: ajax/share.php:86
#, php-format
msgid "User %s shared a folder with you"
-msgstr ""
+msgstr "%s felhasználó megosztott Önnel egy mappát"
#: ajax/share.php:88
#, php-format
msgid ""
"User %s shared the file \"%s\" with you. It is available for download here: "
"%s"
-msgstr ""
+msgstr "%s felhasználó megosztotta ezt az állományt Önnel: %s. A fájl innen tölthető le: %s"
#: ajax/share.php:90
#, php-format
msgid ""
"User %s shared the folder \"%s\" with you. It is available for download "
"here: %s"
-msgstr ""
+msgstr "%s felhasználó megosztotta ezt a mappát Önnel: %s. A mappa innen tölthető le: %s"
#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25
msgid "Category type not provided."
-msgstr ""
+msgstr "Nincs megadva a kategória típusa."
#: ajax/vcategories/add.php:30
msgid "No category to add?"
@@ -54,24 +56,24 @@ msgstr "Nincs hozzáadandó kategória?"
#: ajax/vcategories/add.php:37
msgid "This category already exists: "
-msgstr "Ez a kategória már létezik"
+msgstr "Ez a kategória már létezik: "
#: 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 "Az objektum típusa nincs megadva."
#: ajax/vcategories/addToFavorites.php:30
#: ajax/vcategories/removeFromFavorites.php:30
#, php-format
msgid "%s ID not provided."
-msgstr ""
+msgstr "%s ID nincs megadva."
#: ajax/vcategories/addToFavorites.php:35
#, php-format
msgid "Error adding %s to favorites."
-msgstr ""
+msgstr "Nem sikerült a kedvencekhez adni ezt: %s"
#: ajax/vcategories/delete.php:35 js/oc-vcategories.js:136
msgid "No categories selected for deletion."
@@ -80,67 +82,143 @@ msgstr "Nincs törlésre jelölt kategória"
#: ajax/vcategories/removeFromFavorites.php:35
#, php-format
msgid "Error removing %s from favorites."
-msgstr ""
+msgstr "Nem sikerült a kedvencekből törölni ezt: %s"
+
+#: js/config.php:28
+msgid "Sunday"
+msgstr "vasárnap"
+
+#: js/config.php:28
+msgid "Monday"
+msgstr "hétfő"
+
+#: js/config.php:28
+msgid "Tuesday"
+msgstr "kedd"
+
+#: js/config.php:28
+msgid "Wednesday"
+msgstr "szerda"
+
+#: js/config.php:28
+msgid "Thursday"
+msgstr "csütörtök"
+
+#: js/config.php:28
+msgid "Friday"
+msgstr "péntek"
+
+#: js/config.php:28
+msgid "Saturday"
+msgstr "szombat"
+
+#: js/config.php:29
+msgid "January"
+msgstr "január"
+
+#: js/config.php:29
+msgid "February"
+msgstr "február"
+
+#: js/config.php:29
+msgid "March"
+msgstr "március"
+
+#: js/config.php:29
+msgid "April"
+msgstr "április"
+
+#: js/config.php:29
+msgid "May"
+msgstr "május"
+
+#: js/config.php:29
+msgid "June"
+msgstr "június"
+
+#: js/config.php:29
+msgid "July"
+msgstr "július"
+
+#: js/config.php:29
+msgid "August"
+msgstr "augusztus"
+
+#: js/config.php:29
+msgid "September"
+msgstr "szeptember"
+
+#: js/config.php:29
+msgid "October"
+msgstr "október"
+
+#: js/config.php:29
+msgid "November"
+msgstr "november"
-#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61
+#: js/config.php:29
+msgid "December"
+msgstr "december"
+
+#: js/js.js:280 templates/layout.user.php:43 templates/layout.user.php:44
msgid "Settings"
msgstr "Beállítások"
-#: js/js.js:704
+#: js/js.js:727
msgid "seconds ago"
-msgstr "másodperccel ezelőtt"
+msgstr "pár másodperce"
-#: js/js.js:705
+#: js/js.js:728
msgid "1 minute ago"
-msgstr "1 perccel ezelőtt"
+msgstr "1 perce"
-#: js/js.js:706
+#: js/js.js:729
msgid "{minutes} minutes ago"
-msgstr ""
+msgstr "{minutes} perce"
-#: js/js.js:707
+#: js/js.js:730
msgid "1 hour ago"
-msgstr ""
+msgstr "1 órája"
-#: js/js.js:708
+#: js/js.js:731
msgid "{hours} hours ago"
-msgstr ""
+msgstr "{hours} órája"
-#: js/js.js:709
+#: js/js.js:732
msgid "today"
msgstr "ma"
-#: js/js.js:710
+#: js/js.js:733
msgid "yesterday"
msgstr "tegnap"
-#: js/js.js:711
+#: js/js.js:734
msgid "{days} days ago"
-msgstr ""
+msgstr "{days} napja"
-#: js/js.js:712
+#: js/js.js:735
msgid "last month"
msgstr "múlt hónapban"
-#: js/js.js:713
+#: js/js.js:736
msgid "{months} months ago"
-msgstr ""
+msgstr "{months} hónapja"
-#: js/js.js:714
+#: js/js.js:737
msgid "months ago"
-msgstr "hónappal ezelőtt"
+msgstr "több hónapja"
-#: js/js.js:715
+#: js/js.js:738
msgid "last year"
msgstr "tavaly"
-#: js/js.js:716
+#: js/js.js:739
msgid "years ago"
-msgstr "évvel ezelőtt"
+msgstr "több éve"
#: js/oc-dialogs.js:126
msgid "Choose"
-msgstr ""
+msgstr "Válasszon"
#: js/oc-dialogs.js:146 js/oc-dialogs.js:166
msgid "Cancel"
@@ -161,138 +239,137 @@ msgstr "Ok"
#: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102
#: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162
msgid "The object type is not specified."
-msgstr ""
+msgstr "Az objektum típusa nincs megadva."
#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136
-#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:541
-#: js/share.js:553
+#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:554
+#: js/share.js:566
msgid "Error"
msgstr "Hiba"
#: js/oc-vcategories.js:179
msgid "The app name is not specified."
-msgstr ""
+msgstr "Az alkalmazás neve nincs megadva."
#: js/oc-vcategories.js:194
msgid "The required file {file} is not installed!"
-msgstr ""
+msgstr "A szükséges fájl: {file} nincs telepítve!"
-#: js/share.js:124 js/share.js:581
+#: js/share.js:124 js/share.js:594
msgid "Error while sharing"
-msgstr ""
+msgstr "Nem sikerült létrehozni a megosztást"
#: js/share.js:135
msgid "Error while unsharing"
-msgstr ""
+msgstr "Nem sikerült visszavonni a megosztást"
#: js/share.js:142
msgid "Error while changing permissions"
-msgstr ""
+msgstr "Nem sikerült módosítani a jogosultságokat"
#: js/share.js:151
msgid "Shared with you and the group {group} by {owner}"
-msgstr ""
+msgstr "Megosztotta Önnel és a(z) {group} csoporttal: {owner}"
#: js/share.js:153
msgid "Shared with you by {owner}"
-msgstr ""
+msgstr "Megosztotta Önnel: {owner}"
#: js/share.js:158
msgid "Share with"
-msgstr ""
+msgstr "Kivel osztom meg"
#: js/share.js:163
msgid "Share with link"
-msgstr ""
+msgstr "Link megadásával osztom meg"
-#: js/share.js:164
+#: js/share.js:166
msgid "Password protect"
-msgstr ""
+msgstr "Jelszóval is védem"
-#: js/share.js:168 templates/installation.php:42 templates/login.php:24
-#: templates/verify.php:13
+#: js/share.js:168 templates/installation.php:44 templates/login.php:35
msgid "Password"
msgstr "Jelszó"
#: js/share.js:172
msgid "Email link to person"
-msgstr ""
+msgstr "Email címre küldjük el"
#: js/share.js:173
msgid "Send"
-msgstr ""
+msgstr "Küldjük el"
#: js/share.js:177
msgid "Set expiration date"
-msgstr ""
+msgstr "Legyen lejárati idő"
#: js/share.js:178
msgid "Expiration date"
-msgstr ""
+msgstr "A lejárati idő"
#: js/share.js:210
msgid "Share via email:"
-msgstr ""
+msgstr "Megosztás emaillel:"
#: js/share.js:212
msgid "No people found"
-msgstr ""
+msgstr "Nincs találat"
#: js/share.js:239
msgid "Resharing is not allowed"
-msgstr ""
+msgstr "Ezt az állományt csak a tulajdonosa oszthatja meg másokkal"
#: js/share.js:275
msgid "Shared in {item} with {user}"
-msgstr ""
+msgstr "Megosztva {item}-ben {user}-rel"
#: js/share.js:296
msgid "Unshare"
-msgstr "Nem oszt meg"
+msgstr "A megosztás visszavonása"
#: js/share.js:308
msgid "can edit"
-msgstr ""
+msgstr "módosíthat"
#: js/share.js:310
msgid "access control"
-msgstr ""
+msgstr "jogosultság"
#: js/share.js:313
msgid "create"
-msgstr "létrehozás"
+msgstr "létrehoz"
#: js/share.js:316
msgid "update"
-msgstr ""
+msgstr "szerkeszt"
#: js/share.js:319
msgid "delete"
-msgstr ""
+msgstr "töröl"
#: js/share.js:322
msgid "share"
-msgstr ""
+msgstr "megoszt"
-#: js/share.js:353 js/share.js:528 js/share.js:530
+#: js/share.js:356 js/share.js:541
msgid "Password protected"
-msgstr ""
+msgstr "Jelszóval van védve"
-#: js/share.js:541
+#: js/share.js:554
msgid "Error unsetting expiration date"
-msgstr ""
+msgstr "Nem sikerült a lejárati időt törölni"
-#: js/share.js:553
+#: js/share.js:566
msgid "Error setting expiration date"
-msgstr ""
+msgstr "Nem sikerült a lejárati időt beállítani"
-#: js/share.js:568
+#: js/share.js:581
msgid "Sending ..."
-msgstr ""
+msgstr "Küldés ..."
-#: js/share.js:579
+#: js/share.js:592
msgid "Email sent"
-msgstr ""
+msgstr "Az emailt elküldtük"
#: lostpassword/controller.php:47
msgid "ownCloud password reset"
@@ -300,22 +377,22 @@ msgstr "ownCloud jelszó-visszaállítás"
#: lostpassword/templates/email.php:2
msgid "Use the following link to reset your password: {link}"
-msgstr "Használja az alábbi linket a jelszó-visszaállításhoz: {link}"
+msgstr "Használja ezt a linket a jelszó ismételt beállításához: {link}"
#: lostpassword/templates/lostpassword.php:3
msgid "You will receive a link to reset your password via Email."
-msgstr "Egy e-mailben kap értesítést a jelszóváltoztatás módjáról."
+msgstr "Egy emailben fog értesítést kapni a jelszóbeállítás módjáról."
#: lostpassword/templates/lostpassword.php:5
msgid "Reset email send."
-msgstr ""
+msgstr "Elküldtük az emailt a jelszó ismételt beállításához."
#: lostpassword/templates/lostpassword.php:8
msgid "Request failed!"
-msgstr ""
+msgstr "Nem sikerült a kérést teljesíteni!"
-#: lostpassword/templates/lostpassword.php:11 templates/installation.php:38
-#: templates/login.php:20
+#: lostpassword/templates/lostpassword.php:11 templates/installation.php:39
+#: templates/login.php:28
msgid "Username"
msgstr "Felhasználónév"
@@ -353,7 +430,7 @@ msgstr "Alkalmazások"
#: strings.php:8
msgid "Admin"
-msgstr "Admin"
+msgstr "Adminisztráció"
#: strings.php:9
msgid "Help"
@@ -361,7 +438,7 @@ msgstr "Súgó"
#: templates/403.php:12
msgid "Access forbidden"
-msgstr "Hozzáférés tiltva"
+msgstr "A hozzáférés nem engedélyezett"
#: templates/404.php:12
msgid "Cloud not found"
@@ -383,13 +460,13 @@ msgstr "Biztonsági figyelmeztetés"
msgid ""
"No secure random number generator is available, please enable the PHP "
"OpenSSL extension."
-msgstr ""
+msgstr "Nem érhető el megfelelő véletlenszám-generátor, telepíteni kellene a PHP OpenSSL kiegészítését."
#: templates/installation.php:26
msgid ""
"Without a secure random number generator an attacker may be able to predict "
"password reset tokens and take over your account."
-msgstr ""
+msgstr "Megfelelő véletlenszám-generátor hiányában egy támadó szándékú idegen képes lehet megjósolni a jelszóvisszaállító tokent, és Ön helyett belépni."
#: templates/installation.php:32
msgid ""
@@ -398,185 +475,96 @@ msgid ""
"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."
-msgstr ""
+msgstr "Az adatkönytára és az itt levő fájlok valószínűleg elérhetők az internetről. Az ownCloud által beillesztett .htaccess fájl nem működik. Nagyon fontos, hogy a webszervert úgy konfigurálja, hogy az adatkönyvtár nem legyen közvetlenül kívülről elérhető, vagy az adatkönyvtárt tegye a webszerver dokumentumfáján kívülre."
#: templates/installation.php:36
msgid "Create an <strong>admin account</strong>"
-msgstr "<strong>Rendszergazdafiók</strong> létrehozása"
+msgstr "<strong>Rendszergazdai belépés</strong> létrehozása"
-#: templates/installation.php:48
+#: templates/installation.php:50
msgid "Advanced"
msgstr "Haladó"
-#: templates/installation.php:50
+#: templates/installation.php:52
msgid "Data folder"
msgstr "Adatkönyvtár"
-#: templates/installation.php:57
+#: templates/installation.php:59
msgid "Configure the database"
msgstr "Adatbázis konfigurálása"
-#: templates/installation.php:62 templates/installation.php:73
-#: templates/installation.php:83 templates/installation.php:93
+#: templates/installation.php:64 templates/installation.php:75
+#: templates/installation.php:85 templates/installation.php:95
msgid "will be used"
-msgstr "használva lesz"
+msgstr "adatbázist fogunk használni"
-#: templates/installation.php:105
+#: templates/installation.php:107
msgid "Database user"
msgstr "Adatbázis felhasználónév"
-#: templates/installation.php:109
+#: templates/installation.php:111
msgid "Database password"
msgstr "Adatbázis jelszó"
-#: templates/installation.php:113
+#: templates/installation.php:115
msgid "Database name"
-msgstr "Adatbázis név"
+msgstr "Az adatbázis neve"
-#: templates/installation.php:121
+#: templates/installation.php:123
msgid "Database tablespace"
-msgstr ""
+msgstr "Az adatbázis táblázattér (tablespace)"
-#: templates/installation.php:127
+#: templates/installation.php:129
msgid "Database host"
msgstr "Adatbázis szerver"
-#: templates/installation.php:132
+#: templates/installation.php:134
msgid "Finish setup"
-msgstr "Beállítás befejezése"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Sunday"
-msgstr "Vasárnap"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Monday"
-msgstr "Hétfő"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Tuesday"
-msgstr "Kedd"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Wednesday"
-msgstr "Szerda"
+msgstr "A beállítások befejezése"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Thursday"
-msgstr "Csütörtök"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Friday"
-msgstr "Péntek"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Saturday"
-msgstr "Szombat"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "January"
-msgstr "Január"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "February"
-msgstr "Február"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "March"
-msgstr "Március"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "April"
-msgstr "Ãprilis"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "May"
-msgstr "Május"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "June"
-msgstr "Június"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "July"
-msgstr "Július"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "August"
-msgstr "Augusztus"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "September"
-msgstr "Szeptember"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "October"
-msgstr "Október"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "November"
-msgstr "November"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "December"
-msgstr "December"
-
-#: templates/layout.guest.php:42
+#: templates/layout.guest.php:33
msgid "web services under your control"
-msgstr "webszolgáltatások az irányításod alatt"
+msgstr "webszolgáltatások saját kézben"
-#: templates/layout.user.php:45
+#: templates/layout.user.php:28
msgid "Log out"
msgstr "Kilépés"
-#: templates/login.php:8
+#: templates/login.php:10
msgid "Automatic logon rejected!"
-msgstr ""
+msgstr "Az automatikus bejelentkezés sikertelen!"
-#: templates/login.php:9
+#: templates/login.php:11
msgid ""
"If you did not change your password recently, your account may be "
"compromised!"
-msgstr ""
+msgstr "Ha mostanában nem módosította a jelszavát, akkor lehetséges, hogy idegenek jutottak be a rendszerbe az Ön nevében!"
-#: templates/login.php:10
+#: templates/login.php:13
msgid "Please change your password to secure your account again."
-msgstr ""
+msgstr "A biztonsága érdekében változtassa meg a jelszavát!"
-#: templates/login.php:15
+#: templates/login.php:19
msgid "Lost your password?"
-msgstr "Elfelejtett jelszó?"
+msgstr "Elfelejtette a jelszavát?"
-#: templates/login.php:27
+#: templates/login.php:39
msgid "remember"
msgstr "emlékezzen"
-#: templates/login.php:28
+#: templates/login.php:41
msgid "Log in"
msgstr "Bejelentkezés"
-#: templates/logout.php:1
-msgid "You are logged out."
-msgstr "Kilépett."
-
#: templates/part.pagenavi.php:3
msgid "prev"
-msgstr "Előző"
+msgstr "előző"
#: templates/part.pagenavi.php:20
msgid "next"
-msgstr "Következő"
-
-#: templates/verify.php:5
-msgid "Security Warning!"
-msgstr ""
-
-#: templates/verify.php:6
-msgid ""
-"Please verify your password. <br/>For security reasons you may be "
-"occasionally asked to enter your password again."
-msgstr ""
+msgstr "következő"
-#: templates/verify.php:16
-msgid "Verify"
-msgstr ""
+#: templates/update.php:3
+#, php-format
+msgid "Updating ownCloud to version %s, this may take a while."
+msgstr "Owncloud frissítés a %s verzióra folyamatban. Kis türelmet."
diff --git a/l10n/hu_HU/files.po b/l10n/hu_HU/files.po
index cddd901f078..98235f04ca2 100644
--- a/l10n/hu_HU/files.po
+++ b/l10n/hu_HU/files.po
@@ -4,15 +4,18 @@
#
# Translators:
# Adam Toth <adazlord@gmail.com>, 2012.
+# <gyonkibendeguz@gmail.com>, 2013.
+# <gyonkibendeguz@gmail.com>, 2013.
+# Laszlo Tornoci <torlasz@gmail.com>, 2013.
# <mail@tamas-nagy.net>, 2011.
# Peter Borsa <peter.borsa@gmail.com>, 2011.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-01 00:01+0100\n"
-"PO-Revision-Date: 2012-11-30 23:02+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-24 00:06+0100\n"
+"PO-Revision-Date: 2013-01-23 21:24+0000\n"
+"Last-Translator: Laszlo Tornoci <torlasz@gmail.com>\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"
@@ -20,171 +23,216 @@ msgstr ""
"Language: hu_HU\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+#: ajax/delete.php:28 ajax/getstoragestats.php:11 ajax/upload.php:17
+#: ajax/upload.php:76 templates/index.php:18
+msgid "Upload"
+msgstr "Feltöltés"
+
+#: ajax/move.php:17
+#, php-format
+msgid "Could not move %s - File with this name already exists"
+msgstr "%s áthelyezése nem sikerült - már létezik másik fájl ezzel a névvel"
+
+#: ajax/move.php:24
+#, php-format
+msgid "Could not move %s"
+msgstr "Nem sikerült %s áthelyezése"
+
+#: ajax/rename.php:19
+msgid "Unable to rename file"
+msgstr "Nem lehet átnevezni a fájlt"
+
#: ajax/upload.php:20
+msgid "No file was uploaded. Unknown error"
+msgstr "Nem történt feltöltés. Ismeretlen hiba"
+
+#: ajax/upload.php:30
msgid "There is no error, the file uploaded with success"
-msgstr "Nincs hiba, a fájl sikeresen feltöltve."
+msgstr "A fájlt sikerült feltölteni"
-#: ajax/upload.php:21
+#: ajax/upload.php:31
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
-msgstr ""
+msgstr "A feltöltött fájl mérete meghaladja a php.ini állományban megadott upload_max_filesize paraméter értékét."
-#: ajax/upload.php:23
+#: ajax/upload.php:33
msgid ""
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
"the HTML form"
-msgstr "A feltöltött fájl meghaladja a MAX_FILE_SIZE direktívát ami meghatározott a HTML form-ban."
+msgstr "A feltöltött fájl mérete meghaladja a MAX_FILE_SIZE paramétert, ami a HTML formban került megadásra."
-#: ajax/upload.php:25
+#: ajax/upload.php:35
msgid "The uploaded file was only partially uploaded"
-msgstr "Az eredeti fájl csak részlegesen van feltöltve."
+msgstr "Az eredeti fájlt csak részben sikerült feltölteni."
-#: ajax/upload.php:26
+#: ajax/upload.php:36
msgid "No file was uploaded"
-msgstr "Nem lett fájl feltöltve."
+msgstr "Nem töltődött fel semmi"
-#: ajax/upload.php:27
+#: ajax/upload.php:37
msgid "Missing a temporary folder"
-msgstr "Hiányzik az ideiglenes könyvtár"
+msgstr "Hiányzik egy ideiglenes mappa"
-#: ajax/upload.php:28
+#: ajax/upload.php:38
msgid "Failed to write to disk"
-msgstr "Nem írható lemezre"
+msgstr "Nem sikerült a lemezre történő írás"
+
+#: ajax/upload.php:57
+msgid "Not enough space available"
+msgstr "Nincs elég szabad hely"
+
+#: ajax/upload.php:91
+msgid "Invalid directory."
+msgstr "Érvénytelen mappa."
#: appinfo/app.php:10
msgid "Files"
msgstr "Fájlok"
-#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84
+#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
msgid "Unshare"
-msgstr "Nem oszt meg"
+msgstr "Megosztás visszavonása"
-#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90
+#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
msgid "Delete"
msgstr "Törlés"
#: js/fileactions.js:181
msgid "Rename"
-msgstr ""
+msgstr "Ãtnevezés"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "{new_name} already exists"
-msgstr ""
+msgstr "{new_name} már létezik"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "replace"
-msgstr "cserél"
+msgstr "írjuk fölül"
-#: js/filelist.js:201
+#: js/filelist.js:205
msgid "suggest name"
-msgstr ""
+msgstr "legyen más neve"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "cancel"
msgstr "mégse"
-#: js/filelist.js:250
+#: js/filelist.js:254
msgid "replaced {new_name}"
-msgstr ""
+msgstr "a(z) {new_name} állományt kicseréltük"
-#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286
+#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
msgid "undo"
-msgstr "visszavon"
+msgstr "visszavonás"
-#: js/filelist.js:252
+#: js/filelist.js:256
msgid "replaced {new_name} with {old_name}"
-msgstr ""
+msgstr "{new_name} fájlt kicseréltük ezzel: {old_name}"
-#: js/filelist.js:284
+#: js/filelist.js:288
msgid "unshared {files}"
-msgstr ""
+msgstr "{files} fájl megosztása visszavonva"
-#: js/filelist.js:286
+#: js/filelist.js:290
msgid "deleted {files}"
-msgstr ""
+msgstr "{files} fájl törölve"
+
+#: js/files.js:48
+msgid "'.' is an invalid file name."
+msgstr "'.' fájlnév érvénytelen."
+
+#: js/files.js:53
+msgid "File name cannot be empty."
+msgstr "A fájlnév nem lehet semmi."
-#: js/files.js:33
+#: js/files.js:62
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
-msgstr ""
+msgstr "Érvénytelen elnevezés. Ezek a karakterek nem használhatók: '\\', '/', '<', '>', ':', '\"', '|', '?' és '*'"
-#: js/files.js:183
-msgid "generating ZIP-file, it may take some time."
-msgstr "ZIP-fájl generálása, ez eltarthat egy ideig."
+#: js/files.js:204
+msgid ""
+"Your download is being prepared. This might take some time if the files are "
+"big."
+msgstr "Készül a letöltendő állomány. Ez eltarthat egy ideig, ha nagyok a fájlok."
-#: js/files.js:218
+#: js/files.js:242
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr "Nem tölthető fel, mert mappa volt, vagy 0 byte méretű"
-#: js/files.js:218
+#: js/files.js:242
msgid "Upload Error"
msgstr "Feltöltési hiba"
-#: js/files.js:235
+#: js/files.js:259
msgid "Close"
-msgstr "Bezár"
+msgstr "Bezárás"
-#: js/files.js:254 js/files.js:368 js/files.js:398
+#: js/files.js:278 js/files.js:397 js/files.js:431
msgid "Pending"
msgstr "Folyamatban"
-#: js/files.js:274
+#: js/files.js:298
msgid "1 file uploading"
-msgstr ""
+msgstr "1 fájl töltődik föl"
-#: js/files.js:277 js/files.js:331 js/files.js:346
+#: js/files.js:301 js/files.js:357 js/files.js:372
msgid "{count} files uploading"
-msgstr ""
+msgstr "{count} fájl töltődik föl"
-#: js/files.js:349 js/files.js:382
+#: js/files.js:376 js/files.js:414
msgid "Upload cancelled."
-msgstr "Feltöltés megszakítva"
+msgstr "A feltöltést megszakítottuk."
-#: js/files.js:451
+#: js/files.js:486
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
-msgstr ""
+msgstr "Fájlfeltöltés van folyamatban. Az oldal elhagyása megszakítja a feltöltést."
-#: js/files.js:523
-msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud"
-msgstr ""
+#: js/files.js:559
+msgid "URL cannot be empty."
+msgstr "Az URL nem lehet semmi."
+
+#: js/files.js:565
+msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
+msgstr "Érvénytelen mappanév. A név használata csak a Owncloud számára lehetséges."
-#: js/files.js:704
+#: js/files.js:775
msgid "{count} files scanned"
-msgstr ""
+msgstr "{count} fájlt találtunk"
-#: js/files.js:712
+#: js/files.js:783
msgid "error while scanning"
-msgstr ""
+msgstr "Hiba a fájllista-ellenőrzés során"
-#: js/files.js:785 templates/index.php:65
+#: js/files.js:857 templates/index.php:64
msgid "Name"
msgstr "Név"
-#: js/files.js:786 templates/index.php:76
+#: js/files.js:858 templates/index.php:75
msgid "Size"
msgstr "Méret"
-#: js/files.js:787 templates/index.php:78
+#: js/files.js:859 templates/index.php:77
msgid "Modified"
msgstr "Módosítva"
-#: js/files.js:814
+#: js/files.js:878
msgid "1 folder"
-msgstr ""
+msgstr "1 mappa"
-#: js/files.js:816
+#: js/files.js:880
msgid "{count} folders"
-msgstr ""
+msgstr "{count} mappa"
-#: js/files.js:824
+#: js/files.js:888
msgid "1 file"
-msgstr ""
+msgstr "1 fájl"
-#: js/files.js:826
+#: js/files.js:890
msgid "{count} files"
-msgstr ""
+msgstr "{count} fájl"
#: templates/admin.php:5
msgid "File handling"
@@ -194,27 +242,27 @@ msgstr "Fájlkezelés"
msgid "Maximum upload size"
msgstr "Maximális feltölthető fájlméret"
-#: templates/admin.php:9
+#: templates/admin.php:10
msgid "max. possible: "
-msgstr "max. lehetséges"
+msgstr "max. lehetséges: "
-#: templates/admin.php:12
+#: templates/admin.php:15
msgid "Needed for multi-file and folder downloads."
-msgstr "Kötegelt file- vagy mappaletöltéshez szükséges"
+msgstr "Kötegelt fájl- vagy mappaletöltéshez szükséges"
-#: templates/admin.php:14
+#: templates/admin.php:17
msgid "Enable ZIP-download"
-msgstr "ZIP-letöltés engedélyezése"
+msgstr "A ZIP-letöltés engedélyezése"
-#: templates/admin.php:17
+#: templates/admin.php:20
msgid "0 is unlimited"
msgstr "0 = korlátlan"
-#: templates/admin.php:19
+#: templates/admin.php:22
msgid "Maximum input size for ZIP files"
-msgstr "ZIP file-ok maximum mérete"
+msgstr "ZIP-fájlok maximális kiindulási mérete"
-#: templates/admin.php:23
+#: templates/admin.php:26
msgid "Save"
msgstr "Mentés"
@@ -232,38 +280,34 @@ msgstr "Mappa"
#: templates/index.php:14
msgid "From link"
-msgstr ""
-
-#: templates/index.php:35
-msgid "Upload"
-msgstr "Feltöltés"
+msgstr "Feltöltés linkről"
-#: templates/index.php:43
+#: templates/index.php:41
msgid "Cancel upload"
-msgstr "Feltöltés megszakítása"
+msgstr "A feltöltés megszakítása"
-#: templates/index.php:57
+#: templates/index.php:56
msgid "Nothing in here. Upload something!"
-msgstr "Töltsön fel egy fájlt."
+msgstr "Itt nincs semmi. Töltsön fel valamit!"
-#: templates/index.php:71
+#: templates/index.php:70
msgid "Download"
msgstr "Letöltés"
-#: templates/index.php:103
+#: templates/index.php:102
msgid "Upload too large"
-msgstr "Feltöltés túl nagy"
+msgstr "A feltöltés túl nagy"
-#: templates/index.php:105
+#: templates/index.php:104
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
-msgstr "A fájlokat amit próbálsz feltölteni meghaladta a legnagyobb fájlméretet ezen a szerveren."
+msgstr "A feltöltendő állományok mérete meghaladja a kiszolgálón megengedett maximális méretet."
-#: templates/index.php:110
+#: templates/index.php:109
msgid "Files are being scanned, please wait."
-msgstr "File-ok vizsgálata, kis türelmet"
+msgstr "A fájllista ellenőrzése zajlik, kis türelmet!"
-#: templates/index.php:113
+#: templates/index.php:112
msgid "Current scanning"
-msgstr "Aktuális vizsgálat"
+msgstr "Ellenőrzés alatt"
diff --git a/l10n/hu_HU/files_encryption.po b/l10n/hu_HU/files_encryption.po
index 8fa556e4714..4aea6abf217 100644
--- a/l10n/hu_HU/files_encryption.po
+++ b/l10n/hu_HU/files_encryption.po
@@ -8,28 +8,76 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-08-26 19:46+0200\n"
-"PO-Revision-Date: 2012-08-26 09:01+0000\n"
-"Last-Translator: Csaba Orban <vicsabi@gmail.com>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+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"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: hu_HU\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "Titkosítás"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
-msgstr "A következő fájl típusok kizárása a titkosításból"
+msgstr "A következő fájltípusok kizárása a titkosításból"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "Egyik sem"
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "Titkosítás engedélyezése"
diff --git a/l10n/hu_HU/files_external.po b/l10n/hu_HU/files_external.po
index b77194ab265..450c7e05616 100644
--- a/l10n/hu_HU/files_external.po
+++ b/l10n/hu_HU/files_external.po
@@ -7,9 +7,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-13 00:17+0100\n"
-"PO-Revision-Date: 2012-12-11 23:22+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2012-12-31 00:04+0100\n"
+"PO-Revision-Date: 2012-12-30 19:20+0000\n"
+"Last-Translator: Laszlo Tornoci <torlasz@gmail.com>\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"
@@ -19,76 +19,76 @@ msgstr ""
#: js/dropbox.js:7 js/dropbox.js:25 js/google.js:7 js/google.js:23
msgid "Access granted"
-msgstr ""
+msgstr "Érvényes hozzáférés"
#: js/dropbox.js:28 js/dropbox.js:74 js/dropbox.js:79 js/dropbox.js:86
msgid "Error configuring Dropbox storage"
-msgstr ""
+msgstr "A Dropbox tárolót nem sikerült beállítani"
#: js/dropbox.js:34 js/dropbox.js:45 js/google.js:31 js/google.js:40
msgid "Grant access"
-msgstr ""
+msgstr "Megadom a hozzáférést"
#: js/dropbox.js:73 js/google.js:72
msgid "Fill out all required fields"
-msgstr ""
+msgstr "Töltse ki az összes szükséges mezőt"
#: js/dropbox.js:85
msgid "Please provide a valid Dropbox app key and secret."
-msgstr ""
+msgstr "Adjon meg egy érvényes Dropbox app key-t és secretet!"
#: js/google.js:26 js/google.js:73 js/google.js:78
msgid "Error configuring Google Drive storage"
-msgstr ""
+msgstr "A Google Drive tárolót nem sikerült beállítani"
#: lib/config.php:434
msgid ""
"<b>Warning:</b> \"smbclient\" is not installed. Mounting of CIFS/SMB shares "
"is not possible. Please ask your system administrator to install it."
-msgstr ""
+msgstr "<b>Figyelem:</b> az \"smbclient\" nincs telepítve a kiszolgálón. Emiatt nem lehet CIFS/SMB megosztásokat fölcsatolni. Kérje meg a rendszergazdát, hogy telepítse a szükséges programot."
#: lib/config.php:435
msgid ""
"<b>Warning:</b> The FTP support in PHP is not enabled or installed. Mounting"
" of FTP shares is not possible. Please ask your system administrator to "
"install it."
-msgstr ""
+msgstr "<b>Figyelem:</b> a PHP FTP támogatása vagy nincs telepítve, vagy nincs engedélyezve a kiszolgálón. Emiatt nem lehetséges FTP-tárolókat fölcsatolni. Kérje meg a rendszergazdát, hogy telepítse a szükséges programot."
#: templates/settings.php:3
msgid "External Storage"
-msgstr ""
+msgstr "Külső tárolási szolgáltatások becsatolása"
#: templates/settings.php:8 templates/settings.php:22
msgid "Mount point"
-msgstr ""
+msgstr "Hova csatoljuk"
#: templates/settings.php:9
msgid "Backend"
-msgstr ""
+msgstr "Külső tárolórendszer"
#: templates/settings.php:10
msgid "Configuration"
-msgstr ""
+msgstr "Beállítások"
#: templates/settings.php:11
msgid "Options"
-msgstr ""
+msgstr "Opciók"
#: templates/settings.php:12
msgid "Applicable"
-msgstr ""
+msgstr "Érvényességi kör"
#: templates/settings.php:27
msgid "Add mount point"
-msgstr ""
+msgstr "Új csatolás létrehozása"
#: templates/settings.php:85
msgid "None set"
-msgstr ""
+msgstr "Nincs beállítva"
#: templates/settings.php:86
msgid "All Users"
-msgstr ""
+msgstr "Az összes felhasználó"
#: templates/settings.php:87
msgid "Groups"
@@ -99,22 +99,22 @@ msgid "Users"
msgstr "Felhasználók"
#: templates/settings.php:108 templates/settings.php:109
-#: templates/settings.php:149 templates/settings.php:150
+#: templates/settings.php:144 templates/settings.php:145
msgid "Delete"
msgstr "Törlés"
#: templates/settings.php:124
msgid "Enable User External Storage"
-msgstr ""
+msgstr "Külső tárolók engedélyezése a felhasználók részére"
#: templates/settings.php:125
msgid "Allow users to mount their own external storage"
-msgstr ""
+msgstr "Lehetővé teszi, hogy a felhasználók külső tárolási szolgáltatásokat csatoljanak be a saját területükre"
-#: templates/settings.php:139
+#: templates/settings.php:136
msgid "SSL root certificates"
-msgstr ""
+msgstr "SSL tanúsítványok"
-#: templates/settings.php:158
+#: templates/settings.php:153
msgid "Import Root Certificate"
-msgstr ""
+msgstr "SSL tanúsítványok importálása"
diff --git a/l10n/hu_HU/files_sharing.po b/l10n/hu_HU/files_sharing.po
index 4379b279a64..0534ea09d43 100644
--- a/l10n/hu_HU/files_sharing.po
+++ b/l10n/hu_HU/files_sharing.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-09-22 01:14+0200\n"
-"PO-Revision-Date: 2012-09-21 23:15+0000\n"
-"Last-Translator: I Robot <thomas.mueller@tmit.eu>\n"
+"POT-Creation-Date: 2012-12-31 00:04+0100\n"
+"PO-Revision-Date: 2012-12-30 17:39+0000\n"
+"Last-Translator: Laszlo Tornoci <torlasz@gmail.com>\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"
@@ -20,30 +20,30 @@ msgstr ""
#: templates/authenticate.php:4
msgid "Password"
-msgstr ""
+msgstr "Jelszó"
#: templates/authenticate.php:6
msgid "Submit"
-msgstr ""
+msgstr "Elküld"
-#: templates/public.php:9
+#: templates/public.php:17
#, php-format
msgid "%s shared the folder %s with you"
-msgstr ""
+msgstr "%s megosztotta Önnel ezt a mappát: %s"
-#: templates/public.php:11
+#: templates/public.php:19
#, php-format
msgid "%s shared the file %s with you"
-msgstr ""
+msgstr "%s megosztotta Önnel ezt az állományt: %s"
-#: templates/public.php:14 templates/public.php:30
+#: templates/public.php:22 templates/public.php:38
msgid "Download"
-msgstr ""
+msgstr "Letöltés"
-#: templates/public.php:29
+#: templates/public.php:37
msgid "No preview available for"
-msgstr ""
+msgstr "Nem áll rendelkezésre előnézet ehhez: "
-#: templates/public.php:37
+#: templates/public.php:43
msgid "web services under your control"
-msgstr ""
+msgstr "webszolgáltatások saját kézben"
diff --git a/l10n/hu_HU/files_versions.po b/l10n/hu_HU/files_versions.po
index b55e474da7f..d5db4ac6033 100644
--- a/l10n/hu_HU/files_versions.po
+++ b/l10n/hu_HU/files_versions.po
@@ -7,9 +7,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-09-22 01:14+0200\n"
-"PO-Revision-Date: 2012-09-21 23:15+0000\n"
-"Last-Translator: I Robot <thomas.mueller@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:03+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -17,26 +17,14 @@ msgstr ""
"Language: hu_HU\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: js/settings-personal.js:31 templates/settings-personal.php:10
-msgid "Expire all versions"
-msgstr ""
-
#: js/versions.js:16
msgid "History"
-msgstr ""
-
-#: templates/settings-personal.php:4
-msgid "Versions"
-msgstr ""
-
-#: templates/settings-personal.php:7
-msgid "This will delete all existing backup versions of your files"
-msgstr ""
+msgstr "Korábbi változatok"
#: templates/settings.php:3
msgid "Files Versioning"
-msgstr ""
+msgstr "Az állományok verzionálása"
#: templates/settings.php:4
msgid "Enable"
-msgstr ""
+msgstr "engedélyezve"
diff --git a/l10n/hu_HU/lib.po b/l10n/hu_HU/lib.po
index 18f4e74d072..c3c29798b13 100644
--- a/l10n/hu_HU/lib.po
+++ b/l10n/hu_HU/lib.po
@@ -4,13 +4,15 @@
#
# Translators:
# Adam Toth <adazlord@gmail.com>, 2012.
+# <gyonkibendeguz@gmail.com>, 2013.
+# Laszlo Tornoci <torlasz@gmail.com>, 2013.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-11-16 00:02+0100\n"
-"PO-Revision-Date: 2012-11-14 23:13+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-26 00:09+0100\n"
+"PO-Revision-Date: 2013-01-25 12:37+0000\n"
+"Last-Translator: Laszlo Tornoci <torlasz@gmail.com>\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"
@@ -18,57 +20,61 @@ msgstr ""
"Language: hu_HU\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: app.php:285
+#: app.php:301
msgid "Help"
msgstr "Súgó"
-#: app.php:292
+#: app.php:308
msgid "Personal"
msgstr "Személyes"
-#: app.php:297
+#: app.php:313
msgid "Settings"
msgstr "Beállítások"
-#: app.php:302
+#: app.php:318
msgid "Users"
msgstr "Felhasználók"
-#: app.php:309
+#: app.php:325
msgid "Apps"
msgstr "Alkalmazások"
-#: app.php:311
+#: app.php:327
msgid "Admin"
msgstr "Admin"
-#: files.php:332
+#: files.php:365
msgid "ZIP download is turned off."
-msgstr "ZIP-letöltés letiltva"
+msgstr "A ZIP-letöltés nincs engedélyezve."
-#: files.php:333
+#: files.php:366
msgid "Files need to be downloaded one by one."
-msgstr "A file-okat egyenként kell letölteni"
+msgstr "A fájlokat egyenként kell letölteni"
-#: files.php:333 files.php:358
+#: files.php:366 files.php:391
msgid "Back to Files"
-msgstr "Vissza a File-okhoz"
+msgstr "Vissza a Fájlokhoz"
-#: files.php:357
+#: files.php:390
msgid "Selected files too large to generate zip file."
-msgstr "Túl nagy file-ok a zip-generáláshoz"
+msgstr "A kiválasztott fájlok túl nagyok a zip tömörítéshez."
+
+#: helper.php:229
+msgid "couldn't be determined"
+msgstr "nem határozható meg"
#: json.php:28
msgid "Application is not enabled"
msgstr "Az alkalmazás nincs engedélyezve"
-#: json.php:39 json.php:64 json.php:77 json.php:89
+#: json.php:39 json.php:62 json.php:73
msgid "Authentication error"
msgstr "Hitelesítési hiba"
#: json.php:51
msgid "Token expired. Please reload page."
-msgstr "A token lejárt. Frissítsd az oldalt."
+msgstr "A token lejárt. Frissítse az oldalt."
#: search/provider/file.php:17 search/provider/file.php:35
msgid "Files"
@@ -80,74 +86,74 @@ msgstr "Szöveg"
#: search/provider/file.php:29
msgid "Images"
-msgstr ""
+msgstr "Képek"
-#: template.php:103
+#: template.php:113
msgid "seconds ago"
-msgstr "másodperccel ezelőtt"
+msgstr "másodperce"
-#: template.php:104
+#: template.php:114
msgid "1 minute ago"
-msgstr "1 perccel ezelőtt"
+msgstr "1 perce"
-#: template.php:105
+#: template.php:115
#, php-format
msgid "%d minutes ago"
-msgstr "%d perccel ezelőtt"
+msgstr "%d perce"
-#: template.php:106
+#: template.php:116
msgid "1 hour ago"
-msgstr ""
+msgstr "1 órája"
-#: template.php:107
+#: template.php:117
#, php-format
msgid "%d hours ago"
-msgstr ""
+msgstr "%d órája"
-#: template.php:108
+#: template.php:118
msgid "today"
msgstr "ma"
-#: template.php:109
+#: template.php:119
msgid "yesterday"
msgstr "tegnap"
-#: template.php:110
+#: template.php:120
#, php-format
msgid "%d days ago"
-msgstr "%d évvel ezelőtt"
+msgstr "%d napja"
-#: template.php:111
+#: template.php:121
msgid "last month"
msgstr "múlt hónapban"
-#: template.php:112
+#: template.php:122
#, php-format
msgid "%d months ago"
-msgstr ""
+msgstr "%d hónapja"
-#: template.php:113
+#: template.php:123
msgid "last year"
msgstr "tavaly"
-#: template.php:114
+#: template.php:124
msgid "years ago"
-msgstr "évvel ezelőtt"
+msgstr "éve"
#: updater.php:75
#, php-format
msgid "%s is available. Get <a href=\"%s\">more information</a>"
-msgstr ""
+msgstr "%s elérhető. <a href=\"%s\">További információ</a>."
#: updater.php:77
msgid "up to date"
-msgstr ""
+msgstr "a legfrissebb változat"
#: updater.php:80
msgid "updates check is disabled"
-msgstr ""
+msgstr "A frissitések ellenőrzése nincs engedélyezve."
#: vcategories.php:188 vcategories.php:249
#, php-format
msgid "Could not find category \"%s\""
-msgstr ""
+msgstr "Ez a kategória nem található: \"%s\""
diff --git a/l10n/hu_HU/settings.po b/l10n/hu_HU/settings.po
index fcc66c8ce64..95751d84966 100644
--- a/l10n/hu_HU/settings.po
+++ b/l10n/hu_HU/settings.po
@@ -4,13 +4,14 @@
#
# Translators:
# Adam Toth <adazlord@gmail.com>, 2012.
+# <gyonkibendeguz@gmail.com>, 2013.
# Peter Borsa <peter.borsa@gmail.com>, 2011.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-21 00:10+0100\n"
-"PO-Revision-Date: 2012-12-19 23:20+0000\n"
+"POT-Creation-Date: 2013-01-12 00:09+0100\n"
+"PO-Revision-Date: 2013-01-11 23:09+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"
@@ -25,15 +26,15 @@ msgstr "Nem tölthető le a lista az App Store-ból"
#: ajax/creategroup.php:10
msgid "Group already exists"
-msgstr ""
+msgstr "A csoport már létezik"
#: ajax/creategroup.php:19
msgid "Unable to add group"
-msgstr ""
+msgstr "A csoport nem hozható létre"
-#: ajax/enableapp.php:12
+#: ajax/enableapp.php:11
msgid "Could not enable app. "
-msgstr ""
+msgstr "A program nem aktiválható."
#: ajax/lostpassword.php:12
msgid "Email saved"
@@ -43,43 +44,39 @@ msgstr "Email mentve"
msgid "Invalid email"
msgstr "Hibás email"
-#: ajax/openid.php:13
-msgid "OpenID Changed"
-msgstr "OpenID megváltozott"
-
-#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20
-msgid "Invalid request"
-msgstr "Érvénytelen kérés"
-
#: ajax/removegroup.php:13
msgid "Unable to delete group"
-msgstr ""
+msgstr "A csoport nem törölhető"
#: ajax/removeuser.php:15 ajax/setquota.php:15 ajax/togglegroups.php:18
msgid "Authentication error"
-msgstr "Hitelesítési hiba"
+msgstr "Azonosítási hiba"
#: ajax/removeuser.php:24
msgid "Unable to delete user"
-msgstr ""
+msgstr "A felhasználó nem törölhető"
#: ajax/setlanguage.php:15
msgid "Language changed"
msgstr "A nyelv megváltozott"
+#: ajax/setlanguage.php:17 ajax/setlanguage.php:20
+msgid "Invalid request"
+msgstr "Érvénytelen kérés"
+
#: ajax/togglegroups.php:12
msgid "Admins can't remove themself from the admin group"
-msgstr ""
+msgstr "Adminisztrátorok nem távolíthatják el magukat az admin csoportból."
#: ajax/togglegroups.php:28
#, php-format
msgid "Unable to add user to group %s"
-msgstr ""
+msgstr "A felhasználó nem adható hozzá ehhez a csoporthoz: %s"
#: ajax/togglegroups.php:34
#, php-format
msgid "Unable to remove user from group %s"
-msgstr ""
+msgstr "A felhasználó nem távolítható el ebből a csoportból: %s"
#: js/apps.js:28 js/apps.js:67
msgid "Disable"
@@ -99,15 +96,15 @@ msgstr "__language_name__"
#: templates/apps.php:10
msgid "Add your App"
-msgstr "App hozzáadása"
+msgstr "Az alkalmazás hozzáadása"
#: templates/apps.php:11
msgid "More Apps"
-msgstr ""
+msgstr "További alkalmazások"
#: templates/apps.php:27
msgid "Select an App"
-msgstr "Egy App kiválasztása"
+msgstr "Válasszon egy alkalmazást"
#: templates/apps.php:31
msgid "See application page at apps.owncloud.com"
@@ -115,36 +112,36 @@ msgstr "Lásd apps.owncloud.com, alkalmazások oldal"
#: templates/apps.php:32
msgid "<span class=\"licence\"></span>-licensed by <span class=\"author\"></span>"
-msgstr ""
+msgstr "<span class=\"licence\"></span>-a jogtuladonos <span class=\"author\"></span>"
#: templates/help.php:3
msgid "User Documentation"
-msgstr ""
+msgstr "Felhasználói leírás"
#: templates/help.php:4
msgid "Administrator Documentation"
-msgstr ""
+msgstr "Üzemeltetői leírás"
#: templates/help.php:6
msgid "Online Documentation"
-msgstr ""
+msgstr "Online leírás"
#: templates/help.php:7
msgid "Forum"
-msgstr ""
+msgstr "Fórum"
#: templates/help.php:9
msgid "Bugtracker"
-msgstr ""
+msgstr "Hibabejelentések"
#: templates/help.php:11
msgid "Commercial Support"
-msgstr ""
+msgstr "Megvásárolható támogatás"
#: templates/personal.php:8
#, php-format
msgid "You have used <strong>%s</strong> of the available <strong>%s</strong>"
-msgstr ""
+msgstr "Az Ön tárterület-felhasználása jelenleg: <strong>%s</strong>. Maximálisan ennyi áll rendelkezésére: <strong>%s</strong>"
#: templates/personal.php:12
msgid "Clients"
@@ -152,43 +149,43 @@ msgstr "Kliensek"
#: templates/personal.php:13
msgid "Download Desktop Clients"
-msgstr ""
+msgstr "Desktop kliensprogramok letöltése"
#: templates/personal.php:14
msgid "Download Android Client"
-msgstr ""
+msgstr "Android kliens letöltése"
#: templates/personal.php:15
msgid "Download iOS Client"
-msgstr ""
+msgstr "iOS kliens letöltése"
-#: templates/personal.php:21 templates/users.php:23 templates/users.php:77
+#: templates/personal.php:21 templates/users.php:23 templates/users.php:82
msgid "Password"
msgstr "Jelszó"
#: templates/personal.php:22
msgid "Your password was changed"
-msgstr ""
+msgstr "A jelszava megváltozott"
#: templates/personal.php:23
msgid "Unable to change your password"
-msgstr "Nem lehet megváltoztatni a jelszavad"
+msgstr "A jelszó nem változtatható meg"
#: templates/personal.php:24
msgid "Current password"
-msgstr "Jelenlegi jelszó"
+msgstr "A jelenlegi jelszó"
#: templates/personal.php:25
msgid "New password"
-msgstr "Új jelszó"
+msgstr "Az új jelszó"
#: templates/personal.php:26
msgid "show"
-msgstr "Mutat"
+msgstr "lássam"
#: templates/personal.php:27
msgid "Change password"
-msgstr "Jelszó megváltoztatása"
+msgstr "A jelszó megváltoztatása"
#: templates/personal.php:33
msgid "Email"
@@ -196,11 +193,11 @@ msgstr "Email"
#: templates/personal.php:34
msgid "Your email address"
-msgstr "Email címed"
+msgstr "Az Ön email címe"
#: templates/personal.php:35
msgid "Fill in an email address to enable password recovery"
-msgstr "Töltsd ki az email címet, hogy engedélyezhesd a jelszó-visszaállítást"
+msgstr "Adja meg az email címét, hogy jelszó-emlékeztetőt kérhessen, ha elfelejtette a jelszavát!"
#: templates/personal.php:41 templates/personal.php:42
msgid "Language"
@@ -208,19 +205,19 @@ msgstr "Nyelv"
#: templates/personal.php:47
msgid "Help translate"
-msgstr "Segíts lefordítani!"
+msgstr "Segítsen a fordításban!"
#: templates/personal.php:52
msgid "WebDAV"
-msgstr ""
+msgstr "WebDAV"
#: templates/personal.php:54
msgid "Use this address to connect to your ownCloud in your file manager"
-msgstr ""
+msgstr "Ennek a címnek a megadásával a WebDAV-protokollon keresztül saját gépének fájlkezelőjével is is elérheti az állományait."
#: templates/personal.php:63
msgid "Version"
-msgstr ""
+msgstr "Verzió"
#: templates/personal.php:65
msgid ""
@@ -230,13 +227,13 @@ 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 ""
+msgstr "A programot az <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud közösség</a> fejleszti. A <a href=\"https://github.com/owncloud\" target=\"_blank\">forráskód</a> az <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a> feltételei mellett használható föl."
-#: templates/users.php:21 templates/users.php:76
+#: templates/users.php:21 templates/users.php:81
msgid "Name"
msgstr "Név"
-#: templates/users.php:26 templates/users.php:78 templates/users.php:98
+#: templates/users.php:26 templates/users.php:83 templates/users.php:103
msgid "Groups"
msgstr "Csoportok"
@@ -245,21 +242,29 @@ msgid "Create"
msgstr "Létrehozás"
#: templates/users.php:35
-msgid "Default Quota"
-msgstr "Alapértelmezett kvóta"
+msgid "Default Storage"
+msgstr "Alapértelmezett tárhely"
+
+#: templates/users.php:42 templates/users.php:138
+msgid "Unlimited"
+msgstr "Korlátlan"
-#: templates/users.php:55 templates/users.php:138
+#: templates/users.php:60 templates/users.php:153
msgid "Other"
-msgstr "Egyéb"
+msgstr "Más"
-#: templates/users.php:80 templates/users.php:112
+#: templates/users.php:85 templates/users.php:117
msgid "Group Admin"
-msgstr ""
+msgstr "Csoportadminisztrátor"
+
+#: templates/users.php:87
+msgid "Storage"
+msgstr "Tárhely"
-#: templates/users.php:82
-msgid "Quota"
-msgstr "Kvóta"
+#: templates/users.php:133
+msgid "Default"
+msgstr "Alapértelmezett"
-#: templates/users.php:146
+#: templates/users.php:161
msgid "Delete"
msgstr "Törlés"
diff --git a/l10n/hu_HU/user_ldap.po b/l10n/hu_HU/user_ldap.po
index 330b4cd1465..86496480614 100644
--- a/l10n/hu_HU/user_ldap.po
+++ b/l10n/hu_HU/user_ldap.po
@@ -3,13 +3,15 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# <gyonkibendeguz@gmail.com>, 2013.
+# Laszlo Tornoci <torlasz@gmail.com>, 2013.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-15 00:11+0100\n"
-"PO-Revision-Date: 2012-12-14 23:11+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-20 00:05+0100\n"
+"PO-Revision-Date: 2013-01-19 15:57+0000\n"
+"Last-Translator: Laszlo Tornoci <torlasz@gmail.com>\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"
@@ -22,162 +24,174 @@ msgid ""
"<b>Warning:</b> Apps user_ldap and user_webdavauth are incompatible. You may"
" experience unexpected behaviour. Please ask your system administrator to "
"disable one of them."
-msgstr ""
+msgstr "<b>Figyelem:</b> a user_ldap és user_webdavauth alkalmazások nem kompatibilisek. Együttes használatuk váratlan eredményekhez vezethet. Kérje meg a rendszergazdát, hogy a kettő közül kapcsolja ki az egyiket."
#: templates/settings.php:11
msgid ""
-"<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will"
-" not work. Please ask your system administrator to install it."
-msgstr ""
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not "
+"work. Please ask your system administrator to install it."
+msgstr "<b>Figyelmeztetés:</b> Az LDAP PHP modul nincs telepítve, ezért ez az alrendszer nem fog működni. Kérje meg a rendszergazdát, hogy telepítse!"
#: templates/settings.php:15
msgid "Host"
-msgstr ""
+msgstr "Kiszolgáló"
#: templates/settings.php:15
msgid ""
"You can omit the protocol, except you require SSL. Then start with ldaps://"
-msgstr ""
+msgstr "A protokoll előtag elhagyható, kivéve, ha SSL-t kíván használni. Ebben az esetben kezdje így: ldaps://"
#: templates/settings.php:16
msgid "Base DN"
-msgstr ""
+msgstr "DN-gyökér"
+
+#: templates/settings.php:16
+msgid "One Base DN per line"
+msgstr "Soronként egy DN-gyökér"
#: templates/settings.php:16
msgid "You can specify Base DN for users and groups in the Advanced tab"
-msgstr ""
+msgstr "A Haladó fülre kattintva külön DN-gyökér állítható be a felhasználók és a csoportok számára"
#: templates/settings.php:17
msgid "User DN"
-msgstr ""
+msgstr "A kapcsolódó felhasználó DN-je"
#: templates/settings.php:17
msgid ""
"The DN of the client user with which the bind shall be done, e.g. "
"uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password "
"empty."
-msgstr ""
+msgstr "Annak a felhasználónak a DN-je, akinek a nevében bejelentkezve kapcsolódunk a kiszolgálóhoz, pl. uid=agent,dc=example,dc=com. Bejelentkezés nélküli eléréshez ne töltse ki a DN és Jelszó mezőket!"
#: templates/settings.php:18
msgid "Password"
-msgstr ""
+msgstr "Jelszó"
#: templates/settings.php:18
msgid "For anonymous access, leave DN and Password empty."
-msgstr ""
+msgstr "Bejelentkezés nélküli eléréshez ne töltse ki a DN és Jelszó mezőket!"
#: templates/settings.php:19
msgid "User Login Filter"
-msgstr ""
+msgstr "Szűrő a bejelentkezéshez"
#: templates/settings.php:19
#, php-format
msgid ""
"Defines the filter to apply, when login is attempted. %%uid replaces the "
"username in the login action."
-msgstr ""
+msgstr "Ez a szűrő érvényes a bejelentkezés megkísérlésekor. Ekkor az %%uid változó helyére a bejelentkezési név kerül."
#: templates/settings.php:19
#, php-format
msgid "use %%uid placeholder, e.g. \"uid=%%uid\""
-msgstr ""
+msgstr "használja az %%uid változót, pl. \"uid=%%uid\""
#: templates/settings.php:20
msgid "User List Filter"
-msgstr ""
+msgstr "A felhasználók szűrője"
#: templates/settings.php:20
msgid "Defines the filter to apply, when retrieving users."
-msgstr ""
+msgstr "Ez a szűrő érvényes a felhasználók listázásakor."
#: templates/settings.php:20
msgid "without any placeholder, e.g. \"objectClass=person\"."
-msgstr ""
+msgstr "itt ne használjon változót, pl. \"objectClass=person\"."
#: templates/settings.php:21
msgid "Group Filter"
-msgstr ""
+msgstr "A csoportok szűrője"
#: templates/settings.php:21
msgid "Defines the filter to apply, when retrieving groups."
-msgstr ""
+msgstr "Ez a szűrő érvényes a csoportok listázásakor."
#: templates/settings.php:21
msgid "without any placeholder, e.g. \"objectClass=posixGroup\"."
-msgstr ""
+msgstr "itt ne használjunk változót, pl. \"objectClass=posixGroup\"."
#: templates/settings.php:24
msgid "Port"
-msgstr ""
+msgstr "Port"
#: templates/settings.php:25
msgid "Base User Tree"
-msgstr ""
+msgstr "A felhasználói fa gyökere"
+
+#: templates/settings.php:25
+msgid "One User Base DN per line"
+msgstr "Soronként egy felhasználói fa gyökerét adhatjuk meg"
#: templates/settings.php:26
msgid "Base Group Tree"
-msgstr ""
+msgstr "A csoportfa gyökere"
+
+#: templates/settings.php:26
+msgid "One Group Base DN per line"
+msgstr "Soronként egy csoportfa gyökerét adhatjuk meg"
#: templates/settings.php:27
msgid "Group-Member association"
-msgstr ""
+msgstr "A csoporttagság attribútuma"
#: templates/settings.php:28
msgid "Use TLS"
-msgstr ""
+msgstr "Használjunk TLS-t"
#: templates/settings.php:28
msgid "Do not use it for SSL connections, it will fail."
-msgstr ""
+msgstr "Ne használjuk SSL-kapcsolat esetén, mert nem fog működni!"
#: templates/settings.php:29
msgid "Case insensitve LDAP server (Windows)"
-msgstr ""
+msgstr "Az LDAP-kiszolgáló nem tesz különbséget a kis- és nagybetűk között (Windows)"
#: templates/settings.php:30
msgid "Turn off SSL certificate validation."
-msgstr ""
+msgstr "Ne ellenőrizzük az SSL-tanúsítvány érvényességét"
#: templates/settings.php:30
msgid ""
"If connection only works with this option, import the LDAP server's SSL "
"certificate in your ownCloud server."
-msgstr ""
+msgstr "Ha a kapcsolat csak ezzel a beállítással működik, akkor importálja az LDAP-kiszolgáló SSL tanúsítványát az ownCloud kiszolgálóra!"
#: templates/settings.php:30
msgid "Not recommended, use for testing only."
-msgstr ""
+msgstr "Nem javasolt, csak tesztelésre érdemes használni."
#: templates/settings.php:31
msgid "User Display Name Field"
-msgstr ""
+msgstr "A felhasználónév mezője"
#: templates/settings.php:31
msgid "The LDAP attribute to use to generate the user`s ownCloud name."
-msgstr ""
+msgstr "Ebből az LDAP attribútumból képződik a felhasználó elnevezése, ami megjelenik az ownCloudban."
#: templates/settings.php:32
msgid "Group Display Name Field"
-msgstr ""
+msgstr "A csoport nevének mezője"
#: templates/settings.php:32
msgid "The LDAP attribute to use to generate the groups`s ownCloud name."
-msgstr ""
+msgstr "Ebből az LDAP attribútumból képződik a csoport elnevezése, ami megjelenik az ownCloudban."
#: templates/settings.php:34
msgid "in bytes"
-msgstr ""
+msgstr "bájtban"
#: templates/settings.php:36
msgid "in seconds. A change empties the cache."
-msgstr ""
+msgstr "másodpercben. A változtatás törli a cache tartalmát."
#: templates/settings.php:37
msgid ""
"Leave empty for user name (default). Otherwise, specify an LDAP/AD "
"attribute."
-msgstr ""
+msgstr "Hagyja üresen, ha a felhasználónevet kívánja használni. Ellenkező esetben adjon meg egy LDAP/AD attribútumot!"
#: templates/settings.php:39
msgid "Help"
-msgstr ""
+msgstr "Súgó"
diff --git a/l10n/hu_HU/user_webdavauth.po b/l10n/hu_HU/user_webdavauth.po
index 5b8d806958e..e7f281281b7 100644
--- a/l10n/hu_HU/user_webdavauth.po
+++ b/l10n/hu_HU/user_webdavauth.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-20 00:11+0100\n"
-"PO-Revision-Date: 2012-12-19 23:12+0000\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+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"
@@ -17,13 +17,17 @@ msgstr ""
"Language: hu_HU\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+#: templates/settings.php:3
+msgid "WebDAV Authentication"
+msgstr ""
+
#: templates/settings.php:4
msgid "URL: http://"
-msgstr ""
+msgstr "URL: http://"
#: templates/settings.php:6
msgid ""
-"ownCloud will send the user credentials to this URL is interpret http 401 "
-"and http 403 as credentials wrong and all other codes as credentials "
-"correct."
+"ownCloud will send the user credentials to this URL. 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 ""
diff --git a/l10n/ia/core.po b/l10n/ia/core.po
index cf1e1c81050..984f28fcdf4 100644
--- a/l10n/ia/core.po
+++ b/l10n/ia/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: 2012-12-13 00:17+0100\n"
-"PO-Revision-Date: 2012-12-12 23:17+0000\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:03+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Interlingua (http://www.transifex.com/projects/p/owncloud/language/ia/)\n"
"MIME-Version: 1.0\n"
@@ -84,55 +84,55 @@ msgstr ""
msgid "Settings"
msgstr "Configurationes"
-#: js/js.js:704
+#: js/js.js:711
msgid "seconds ago"
msgstr ""
-#: js/js.js:705
+#: js/js.js:712
msgid "1 minute ago"
msgstr ""
-#: js/js.js:706
+#: js/js.js:713
msgid "{minutes} minutes ago"
msgstr ""
-#: js/js.js:707
+#: js/js.js:714
msgid "1 hour ago"
msgstr ""
-#: js/js.js:708
+#: js/js.js:715
msgid "{hours} hours ago"
msgstr ""
-#: js/js.js:709
+#: js/js.js:716
msgid "today"
msgstr ""
-#: js/js.js:710
+#: js/js.js:717
msgid "yesterday"
msgstr ""
-#: js/js.js:711
+#: js/js.js:718
msgid "{days} days ago"
msgstr ""
-#: js/js.js:712
+#: js/js.js:719
msgid "last month"
msgstr ""
-#: js/js.js:713
+#: js/js.js:720
msgid "{months} months ago"
msgstr ""
-#: js/js.js:714
+#: js/js.js:721
msgid "months ago"
msgstr ""
-#: js/js.js:715
+#: js/js.js:722
msgid "last year"
msgstr ""
-#: js/js.js:716
+#: js/js.js:723
msgid "years ago"
msgstr ""
@@ -162,8 +162,8 @@ msgid "The object type is not specified."
msgstr ""
#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136
-#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:541
-#: js/share.js:553
+#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:554
+#: js/share.js:566
msgid "Error"
msgstr ""
@@ -175,7 +175,7 @@ msgstr ""
msgid "The required file {file} is not installed!"
msgstr ""
-#: js/share.js:124 js/share.js:581
+#: js/share.js:124 js/share.js:594
msgid "Error while sharing"
msgstr ""
@@ -203,12 +203,11 @@ msgstr ""
msgid "Share with link"
msgstr ""
-#: js/share.js:164
+#: js/share.js:166
msgid "Password protect"
msgstr ""
-#: js/share.js:168 templates/installation.php:42 templates/login.php:24
-#: templates/verify.php:13
+#: js/share.js:168 templates/installation.php:44 templates/login.php:35
msgid "Password"
msgstr "Contrasigno"
@@ -272,23 +271,23 @@ msgstr ""
msgid "share"
msgstr ""
-#: js/share.js:353 js/share.js:528 js/share.js:530
+#: js/share.js:356 js/share.js:541
msgid "Password protected"
msgstr ""
-#: js/share.js:541
+#: js/share.js:554
msgid "Error unsetting expiration date"
msgstr ""
-#: js/share.js:553
+#: js/share.js:566
msgid "Error setting expiration date"
msgstr ""
-#: js/share.js:568
+#: js/share.js:581
msgid "Sending ..."
msgstr ""
-#: js/share.js:579
+#: js/share.js:592
msgid "Email sent"
msgstr ""
@@ -312,8 +311,8 @@ msgstr ""
msgid "Request failed!"
msgstr ""
-#: lostpassword/templates/lostpassword.php:11 templates/installation.php:38
-#: templates/login.php:20
+#: lostpassword/templates/lostpassword.php:11 templates/installation.php:39
+#: templates/login.php:28
msgid "Username"
msgstr "Nomine de usator"
@@ -402,44 +401,44 @@ msgstr ""
msgid "Create an <strong>admin account</strong>"
msgstr "Crear un <strong>conto de administration</strong>"
-#: templates/installation.php:48
+#: templates/installation.php:50
msgid "Advanced"
msgstr "Avantiate"
-#: templates/installation.php:50
+#: templates/installation.php:52
msgid "Data folder"
msgstr "Dossier de datos"
-#: templates/installation.php:57
+#: templates/installation.php:59
msgid "Configure the database"
msgstr "Configurar le base de datos"
-#: templates/installation.php:62 templates/installation.php:73
-#: templates/installation.php:83 templates/installation.php:93
+#: templates/installation.php:64 templates/installation.php:75
+#: templates/installation.php:85 templates/installation.php:95
msgid "will be used"
msgstr "essera usate"
-#: templates/installation.php:105
+#: templates/installation.php:107
msgid "Database user"
msgstr "Usator de base de datos"
-#: templates/installation.php:109
+#: templates/installation.php:111
msgid "Database password"
msgstr "Contrasigno de base de datos"
-#: templates/installation.php:113
+#: templates/installation.php:115
msgid "Database name"
msgstr "Nomine de base de datos"
-#: templates/installation.php:121
+#: templates/installation.php:123
msgid "Database tablespace"
msgstr ""
-#: templates/installation.php:127
+#: templates/installation.php:129
msgid "Database host"
msgstr "Hospite de base de datos"
-#: templates/installation.php:132
+#: templates/installation.php:134
msgid "Finish setup"
msgstr ""
@@ -527,36 +526,32 @@ msgstr "servicios web sub tu controlo"
msgid "Log out"
msgstr "Clauder le session"
-#: templates/login.php:8
+#: templates/login.php:10
msgid "Automatic logon rejected!"
msgstr ""
-#: templates/login.php:9
+#: templates/login.php:11
msgid ""
"If you did not change your password recently, your account may be "
"compromised!"
msgstr ""
-#: templates/login.php:10
+#: templates/login.php:13
msgid "Please change your password to secure your account again."
msgstr ""
-#: templates/login.php:15
+#: templates/login.php:19
msgid "Lost your password?"
msgstr "Tu perdeva le contrasigno?"
-#: templates/login.php:27
+#: templates/login.php:39
msgid "remember"
msgstr "memora"
-#: templates/login.php:28
+#: templates/login.php:41
msgid "Log in"
msgstr "Aperir session"
-#: templates/logout.php:1
-msgid "You are logged out."
-msgstr "Tu session ha essite claudite."
-
#: templates/part.pagenavi.php:3
msgid "prev"
msgstr "prev"
@@ -565,16 +560,7 @@ msgstr "prev"
msgid "next"
msgstr "prox"
-#: templates/verify.php:5
-msgid "Security Warning!"
-msgstr ""
-
-#: templates/verify.php:6
-msgid ""
-"Please verify your password. <br/>For security reasons you may be "
-"occasionally asked to enter your password again."
-msgstr ""
-
-#: templates/verify.php:16
-msgid "Verify"
+#: templates/update.php:3
+#, php-format
+msgid "Updating ownCloud to version %s, this may take a while."
msgstr ""
diff --git a/l10n/ia/files.po b/l10n/ia/files.po
index 3f93aeb3961..c99fb7952dd 100644
--- a/l10n/ia/files.po
+++ b/l10n/ia/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: 2012-12-01 00:01+0100\n"
-"PO-Revision-Date: 2012-11-30 23:02+0000\n"
+"POT-Creation-Date: 2013-01-20 00:05+0100\n"
+"PO-Revision-Date: 2013-01-19 23:05+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Interlingua (http://www.transifex.com/projects/p/owncloud/language/ia/)\n"
"MIME-Version: 1.0\n"
@@ -19,46 +19,77 @@ msgstr ""
"Language: ia\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+#: ajax/delete.php:28 ajax/getstoragestats.php:11 ajax/upload.php:17
+#: ajax/upload.php:76 templates/index.php:18
+msgid "Upload"
+msgstr "Incargar"
+
+#: ajax/move.php:17
+#, php-format
+msgid "Could not move %s - File with this name already exists"
+msgstr ""
+
+#: ajax/move.php:24
+#, php-format
+msgid "Could not move %s"
+msgstr ""
+
+#: ajax/rename.php:19
+msgid "Unable to rename file"
+msgstr ""
+
#: ajax/upload.php:20
+msgid "No file was uploaded. Unknown error"
+msgstr ""
+
+#: ajax/upload.php:30
msgid "There is no error, the file uploaded with success"
msgstr ""
-#: ajax/upload.php:21
+#: ajax/upload.php:31
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr ""
-#: ajax/upload.php:23
+#: ajax/upload.php:33
msgid ""
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
"the HTML form"
msgstr ""
-#: ajax/upload.php:25
+#: ajax/upload.php:35
msgid "The uploaded file was only partially uploaded"
msgstr "Le file incargate solmente esseva incargate partialmente"
-#: ajax/upload.php:26
+#: ajax/upload.php:36
msgid "No file was uploaded"
msgstr "Nulle file esseva incargate"
-#: ajax/upload.php:27
+#: ajax/upload.php:37
msgid "Missing a temporary folder"
msgstr "Manca un dossier temporari"
-#: ajax/upload.php:28
+#: ajax/upload.php:38
msgid "Failed to write to disk"
msgstr ""
+#: ajax/upload.php:57
+msgid "Not enough space available"
+msgstr ""
+
+#: ajax/upload.php:91
+msgid "Invalid directory."
+msgstr ""
+
#: appinfo/app.php:10
msgid "Files"
msgstr "Files"
-#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84
+#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
msgid "Unshare"
msgstr ""
-#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90
+#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
msgid "Delete"
msgstr "Deler"
@@ -66,122 +97,136 @@ msgstr "Deler"
msgid "Rename"
msgstr ""
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "{new_name} already exists"
msgstr ""
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "replace"
msgstr ""
-#: js/filelist.js:201
+#: js/filelist.js:205
msgid "suggest name"
msgstr ""
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "cancel"
msgstr ""
-#: js/filelist.js:250
+#: js/filelist.js:254
msgid "replaced {new_name}"
msgstr ""
-#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286
+#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
msgid "undo"
msgstr ""
-#: js/filelist.js:252
+#: js/filelist.js:256
msgid "replaced {new_name} with {old_name}"
msgstr ""
-#: js/filelist.js:284
+#: js/filelist.js:288
msgid "unshared {files}"
msgstr ""
-#: js/filelist.js:286
+#: js/filelist.js:290
msgid "deleted {files}"
msgstr ""
-#: js/files.js:33
+#: js/files.js:48
+msgid "'.' is an invalid file name."
+msgstr ""
+
+#: js/files.js:53
+msgid "File name cannot be empty."
+msgstr ""
+
+#: js/files.js:62
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr ""
-#: js/files.js:183
-msgid "generating ZIP-file, it may take some time."
+#: js/files.js:204
+msgid ""
+"Your download is being prepared. This might take some time if the files are "
+"big."
msgstr ""
-#: js/files.js:218
+#: js/files.js:242
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr ""
-#: js/files.js:218
+#: js/files.js:242
msgid "Upload Error"
msgstr ""
-#: js/files.js:235
+#: js/files.js:259
msgid "Close"
msgstr "Clauder"
-#: js/files.js:254 js/files.js:368 js/files.js:398
+#: js/files.js:278 js/files.js:397 js/files.js:431
msgid "Pending"
msgstr ""
-#: js/files.js:274
+#: js/files.js:298
msgid "1 file uploading"
msgstr ""
-#: js/files.js:277 js/files.js:331 js/files.js:346
+#: js/files.js:301 js/files.js:357 js/files.js:372
msgid "{count} files uploading"
msgstr ""
-#: js/files.js:349 js/files.js:382
+#: js/files.js:376 js/files.js:414
msgid "Upload cancelled."
msgstr ""
-#: js/files.js:451
+#: js/files.js:486
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr ""
-#: js/files.js:523
-msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud"
+#: js/files.js:559
+msgid "URL cannot be empty."
msgstr ""
-#: js/files.js:704
+#: js/files.js:565
+msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
+msgstr ""
+
+#: js/files.js:775
msgid "{count} files scanned"
msgstr ""
-#: js/files.js:712
+#: js/files.js:783
msgid "error while scanning"
msgstr ""
-#: js/files.js:785 templates/index.php:65
+#: js/files.js:857 templates/index.php:64
msgid "Name"
msgstr "Nomine"
-#: js/files.js:786 templates/index.php:76
+#: js/files.js:858 templates/index.php:75
msgid "Size"
msgstr "Dimension"
-#: js/files.js:787 templates/index.php:78
+#: js/files.js:859 templates/index.php:77
msgid "Modified"
msgstr "Modificate"
-#: js/files.js:814
+#: js/files.js:878
msgid "1 folder"
msgstr ""
-#: js/files.js:816
+#: js/files.js:880
msgid "{count} folders"
msgstr ""
-#: js/files.js:824
+#: js/files.js:888
msgid "1 file"
msgstr ""
-#: js/files.js:826
+#: js/files.js:890
msgid "{count} files"
msgstr ""
@@ -193,27 +238,27 @@ msgstr ""
msgid "Maximum upload size"
msgstr "Dimension maxime de incargamento"
-#: templates/admin.php:9
+#: templates/admin.php:10
msgid "max. possible: "
msgstr ""
-#: templates/admin.php:12
+#: templates/admin.php:15
msgid "Needed for multi-file and folder downloads."
msgstr ""
-#: templates/admin.php:14
+#: templates/admin.php:17
msgid "Enable ZIP-download"
msgstr ""
-#: templates/admin.php:17
+#: templates/admin.php:20
msgid "0 is unlimited"
msgstr ""
-#: templates/admin.php:19
+#: templates/admin.php:22
msgid "Maximum input size for ZIP files"
msgstr ""
-#: templates/admin.php:23
+#: templates/admin.php:26
msgid "Save"
msgstr "Salveguardar"
@@ -233,36 +278,32 @@ msgstr "Dossier"
msgid "From link"
msgstr ""
-#: templates/index.php:35
-msgid "Upload"
-msgstr "Incargar"
-
-#: templates/index.php:43
+#: templates/index.php:41
msgid "Cancel upload"
msgstr ""
-#: templates/index.php:57
+#: templates/index.php:56
msgid "Nothing in here. Upload something!"
msgstr "Nihil hic. Incarga alcun cosa!"
-#: templates/index.php:71
+#: templates/index.php:70
msgid "Download"
msgstr "Discargar"
-#: templates/index.php:103
+#: templates/index.php:102
msgid "Upload too large"
msgstr "Incargamento troppo longe"
-#: templates/index.php:105
+#: templates/index.php:104
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr ""
-#: templates/index.php:110
+#: templates/index.php:109
msgid "Files are being scanned, please wait."
msgstr ""
-#: templates/index.php:113
+#: templates/index.php:112
msgid "Current scanning"
msgstr ""
diff --git a/l10n/ia/files_encryption.po b/l10n/ia/files_encryption.po
index 8b85b14f5c1..bd7a38a6b19 100644
--- a/l10n/ia/files_encryption.po
+++ b/l10n/ia/files_encryption.po
@@ -7,28 +7,76 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-08-13 23:12+0200\n"
-"PO-Revision-Date: 2012-08-12 22:33+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Interlingua (http://www.transifex.com/projects/p/owncloud/language/ia/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: ia\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: templates/settings.php:3
-msgid "Encryption"
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
msgstr ""
-#: templates/settings.php:4
-msgid "Exclude the following file types from encryption"
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
msgstr ""
-#: templates/settings.php:5
-msgid "None"
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
msgstr ""
#: templates/settings.php:10
-msgid "Enable Encryption"
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
+msgid "Encryption"
+msgstr ""
+
+#: templates/settings.php:67
+msgid "Exclude the following file types from encryption"
+msgstr ""
+
+#: templates/settings.php:71
+msgid "None"
msgstr ""
diff --git a/l10n/ia/files_versions.po b/l10n/ia/files_versions.po
index d0287f45fff..7b2dbb7efe9 100644
--- a/l10n/ia/files_versions.po
+++ b/l10n/ia/files_versions.po
@@ -7,9 +7,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-09-22 01:14+0200\n"
-"PO-Revision-Date: 2012-09-21 23:15+0000\n"
-"Last-Translator: I Robot <thomas.mueller@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:03+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Interlingua (http://www.transifex.com/projects/p/owncloud/language/ia/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -17,22 +17,10 @@ msgstr ""
"Language: ia\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: js/settings-personal.js:31 templates/settings-personal.php:10
-msgid "Expire all versions"
-msgstr ""
-
#: js/versions.js:16
msgid "History"
msgstr ""
-#: templates/settings-personal.php:4
-msgid "Versions"
-msgstr ""
-
-#: templates/settings-personal.php:7
-msgid "This will delete all existing backup versions of your files"
-msgstr ""
-
#: templates/settings.php:3
msgid "Files Versioning"
msgstr ""
diff --git a/l10n/ia/lib.po b/l10n/ia/lib.po
index ac4ffabd499..2e638284821 100644
--- a/l10n/ia/lib.po
+++ b/l10n/ia/lib.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-11-16 00:02+0100\n"
-"PO-Revision-Date: 2012-11-14 23:13+0000\n"
+"POT-Creation-Date: 2013-01-17 00:26+0100\n"
+"PO-Revision-Date: 2013-01-16 23:26+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Interlingua (http://www.transifex.com/projects/p/owncloud/language/ia/)\n"
"MIME-Version: 1.0\n"
@@ -17,51 +17,55 @@ msgstr ""
"Language: ia\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: app.php:285
+#: app.php:301
msgid "Help"
msgstr "Adjuta"
-#: app.php:292
+#: app.php:308
msgid "Personal"
msgstr "Personal"
-#: app.php:297
+#: app.php:313
msgid "Settings"
msgstr "Configurationes"
-#: app.php:302
+#: app.php:318
msgid "Users"
msgstr "Usatores"
-#: app.php:309
+#: app.php:325
msgid "Apps"
msgstr ""
-#: app.php:311
+#: app.php:327
msgid "Admin"
msgstr ""
-#: files.php:332
+#: files.php:365
msgid "ZIP download is turned off."
msgstr ""
-#: files.php:333
+#: files.php:366
msgid "Files need to be downloaded one by one."
msgstr ""
-#: files.php:333 files.php:358
+#: files.php:366 files.php:391
msgid "Back to Files"
msgstr ""
-#: files.php:357
+#: files.php:390
msgid "Selected files too large to generate zip file."
msgstr ""
+#: helper.php:228
+msgid "couldn't be determined"
+msgstr ""
+
#: json.php:28
msgid "Application is not enabled"
msgstr ""
-#: json.php:39 json.php:64 json.php:77 json.php:89
+#: json.php:39 json.php:62 json.php:73
msgid "Authentication error"
msgstr ""
@@ -81,55 +85,55 @@ msgstr "Texto"
msgid "Images"
msgstr ""
-#: template.php:103
+#: template.php:113
msgid "seconds ago"
msgstr ""
-#: template.php:104
+#: template.php:114
msgid "1 minute ago"
msgstr ""
-#: template.php:105
+#: template.php:115
#, php-format
msgid "%d minutes ago"
msgstr ""
-#: template.php:106
+#: template.php:116
msgid "1 hour ago"
msgstr ""
-#: template.php:107
+#: template.php:117
#, php-format
msgid "%d hours ago"
msgstr ""
-#: template.php:108
+#: template.php:118
msgid "today"
msgstr ""
-#: template.php:109
+#: template.php:119
msgid "yesterday"
msgstr ""
-#: template.php:110
+#: template.php:120
#, php-format
msgid "%d days ago"
msgstr ""
-#: template.php:111
+#: template.php:121
msgid "last month"
msgstr ""
-#: template.php:112
+#: template.php:122
#, php-format
msgid "%d months ago"
msgstr ""
-#: template.php:113
+#: template.php:123
msgid "last year"
msgstr ""
-#: template.php:114
+#: template.php:124
msgid "years ago"
msgstr ""
diff --git a/l10n/ia/settings.po b/l10n/ia/settings.po
index 892fdc95fd9..f0ff993fa27 100644
--- a/l10n/ia/settings.po
+++ b/l10n/ia/settings.po
@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-21 00:10+0100\n"
-"PO-Revision-Date: 2012-12-19 23:20+0000\n"
+"POT-Creation-Date: 2013-01-12 00:09+0100\n"
+"PO-Revision-Date: 2013-01-11 23:09+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Interlingua (http://www.transifex.com/projects/p/owncloud/language/ia/)\n"
"MIME-Version: 1.0\n"
@@ -31,7 +31,7 @@ msgstr ""
msgid "Unable to add group"
msgstr ""
-#: ajax/enableapp.php:12
+#: ajax/enableapp.php:11
msgid "Could not enable app. "
msgstr ""
@@ -43,14 +43,6 @@ msgstr ""
msgid "Invalid email"
msgstr ""
-#: ajax/openid.php:13
-msgid "OpenID Changed"
-msgstr "OpenID cambiate"
-
-#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20
-msgid "Invalid request"
-msgstr "Requesta invalide"
-
#: ajax/removegroup.php:13
msgid "Unable to delete group"
msgstr ""
@@ -67,6 +59,10 @@ msgstr ""
msgid "Language changed"
msgstr "Linguage cambiate"
+#: ajax/setlanguage.php:17 ajax/setlanguage.php:20
+msgid "Invalid request"
+msgstr "Requesta invalide"
+
#: ajax/togglegroups.php:12
msgid "Admins can't remove themself from the admin group"
msgstr ""
@@ -162,7 +158,7 @@ msgstr ""
msgid "Download iOS Client"
msgstr ""
-#: templates/personal.php:21 templates/users.php:23 templates/users.php:77
+#: templates/personal.php:21 templates/users.php:23 templates/users.php:82
msgid "Password"
msgstr "Contrasigno"
@@ -232,11 +228,11 @@ msgid ""
"License\">AGPL</abbr></a>."
msgstr ""
-#: templates/users.php:21 templates/users.php:76
+#: templates/users.php:21 templates/users.php:81
msgid "Name"
msgstr "Nomine"
-#: templates/users.php:26 templates/users.php:78 templates/users.php:98
+#: templates/users.php:26 templates/users.php:83 templates/users.php:103
msgid "Groups"
msgstr "Gruppos"
@@ -245,21 +241,29 @@ msgid "Create"
msgstr "Crear"
#: templates/users.php:35
-msgid "Default Quota"
-msgstr "Quota predeterminate"
+msgid "Default Storage"
+msgstr ""
+
+#: templates/users.php:42 templates/users.php:138
+msgid "Unlimited"
+msgstr ""
-#: templates/users.php:55 templates/users.php:138
+#: templates/users.php:60 templates/users.php:153
msgid "Other"
msgstr "Altere"
-#: templates/users.php:80 templates/users.php:112
+#: templates/users.php:85 templates/users.php:117
msgid "Group Admin"
msgstr ""
-#: templates/users.php:82
-msgid "Quota"
-msgstr "Quota"
+#: templates/users.php:87
+msgid "Storage"
+msgstr ""
+
+#: templates/users.php:133
+msgid "Default"
+msgstr ""
-#: templates/users.php:146
+#: templates/users.php:161
msgid "Delete"
msgstr "Deler"
diff --git a/l10n/ia/user_ldap.po b/l10n/ia/user_ldap.po
index cae53dce374..6a131310437 100644
--- a/l10n/ia/user_ldap.po
+++ b/l10n/ia/user_ldap.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-15 00:11+0100\n"
-"PO-Revision-Date: 2012-12-14 23:11+0000\n"
+"POT-Creation-Date: 2013-01-18 00:03+0100\n"
+"PO-Revision-Date: 2013-01-17 21:57+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Interlingua (http://www.transifex.com/projects/p/owncloud/language/ia/)\n"
"MIME-Version: 1.0\n"
@@ -26,8 +26,8 @@ msgstr ""
#: templates/settings.php:11
msgid ""
-"<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will"
-" not work. Please ask your system administrator to install it."
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not "
+"work. Please ask your system administrator to install it."
msgstr ""
#: templates/settings.php:15
@@ -44,6 +44,10 @@ msgid "Base DN"
msgstr ""
#: templates/settings.php:16
+msgid "One Base DN per line"
+msgstr ""
+
+#: templates/settings.php:16
msgid "You can specify Base DN for users and groups in the Advanced tab"
msgstr ""
@@ -114,10 +118,18 @@ msgstr ""
msgid "Base User Tree"
msgstr ""
+#: templates/settings.php:25
+msgid "One User Base DN per line"
+msgstr ""
+
#: templates/settings.php:26
msgid "Base Group Tree"
msgstr ""
+#: templates/settings.php:26
+msgid "One Group Base DN per line"
+msgstr ""
+
#: templates/settings.php:27
msgid "Group-Member association"
msgstr ""
@@ -180,4 +192,4 @@ msgstr ""
#: templates/settings.php:39
msgid "Help"
-msgstr ""
+msgstr "Adjuta"
diff --git a/l10n/ia/user_webdavauth.po b/l10n/ia/user_webdavauth.po
index d14ab08ef72..cee575b4381 100644
--- a/l10n/ia/user_webdavauth.po
+++ b/l10n/ia/user_webdavauth.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-20 00:11+0100\n"
-"PO-Revision-Date: 2012-12-19 23:12+0000\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Interlingua (http://www.transifex.com/projects/p/owncloud/language/ia/)\n"
"MIME-Version: 1.0\n"
@@ -17,13 +17,17 @@ msgstr ""
"Language: ia\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+#: templates/settings.php:3
+msgid "WebDAV Authentication"
+msgstr ""
+
#: templates/settings.php:4
msgid "URL: http://"
msgstr ""
#: templates/settings.php:6
msgid ""
-"ownCloud will send the user credentials to this URL is interpret http 401 "
-"and http 403 as credentials wrong and all other codes as credentials "
-"correct."
+"ownCloud will send the user credentials to this URL. 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 ""
diff --git a/l10n/id/core.po b/l10n/id/core.po
index 20b68e9ecfe..0bf675c92b8 100644
--- a/l10n/id/core.po
+++ b/l10n/id/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: 2012-12-13 00:17+0100\n"
-"PO-Revision-Date: 2012-12-12 23:17+0000\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:03+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"
@@ -87,55 +87,55 @@ msgstr ""
msgid "Settings"
msgstr "Setelan"
-#: js/js.js:704
+#: js/js.js:711
msgid "seconds ago"
msgstr "beberapa detik yang lalu"
-#: js/js.js:705
+#: js/js.js:712
msgid "1 minute ago"
msgstr "1 menit lalu"
-#: js/js.js:706
+#: js/js.js:713
msgid "{minutes} minutes ago"
msgstr ""
-#: js/js.js:707
+#: js/js.js:714
msgid "1 hour ago"
msgstr ""
-#: js/js.js:708
+#: js/js.js:715
msgid "{hours} hours ago"
msgstr ""
-#: js/js.js:709
+#: js/js.js:716
msgid "today"
msgstr "hari ini"
-#: js/js.js:710
+#: js/js.js:717
msgid "yesterday"
msgstr "kemarin"
-#: js/js.js:711
+#: js/js.js:718
msgid "{days} days ago"
msgstr ""
-#: js/js.js:712
+#: js/js.js:719
msgid "last month"
msgstr "bulan kemarin"
-#: js/js.js:713
+#: js/js.js:720
msgid "{months} months ago"
msgstr ""
-#: js/js.js:714
+#: js/js.js:721
msgid "months ago"
msgstr "beberapa bulan lalu"
-#: js/js.js:715
+#: js/js.js:722
msgid "last year"
msgstr "tahun kemarin"
-#: js/js.js:716
+#: js/js.js:723
msgid "years ago"
msgstr "beberapa tahun lalu"
@@ -165,8 +165,8 @@ msgid "The object type is not specified."
msgstr ""
#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136
-#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:541
-#: js/share.js:553
+#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:554
+#: js/share.js:566
msgid "Error"
msgstr "gagal"
@@ -178,7 +178,7 @@ msgstr ""
msgid "The required file {file} is not installed!"
msgstr ""
-#: js/share.js:124 js/share.js:581
+#: js/share.js:124 js/share.js:594
msgid "Error while sharing"
msgstr "gagal ketika membagikan"
@@ -206,12 +206,11 @@ msgstr "bagikan dengan"
msgid "Share with link"
msgstr "bagikan dengan tautan"
-#: js/share.js:164
+#: js/share.js:166
msgid "Password protect"
msgstr "lindungi dengan kata kunci"
-#: js/share.js:168 templates/installation.php:42 templates/login.php:24
-#: templates/verify.php:13
+#: js/share.js:168 templates/installation.php:44 templates/login.php:35
msgid "Password"
msgstr "Password"
@@ -275,23 +274,23 @@ msgstr "hapus"
msgid "share"
msgstr "bagikan"
-#: js/share.js:353 js/share.js:528 js/share.js:530
+#: js/share.js:356 js/share.js:541
msgid "Password protected"
msgstr "dilindungi kata kunci"
-#: js/share.js:541
+#: js/share.js:554
msgid "Error unsetting expiration date"
msgstr "gagal melepas tanggal kadaluarsa"
-#: js/share.js:553
+#: js/share.js:566
msgid "Error setting expiration date"
msgstr "gagal memasang tanggal kadaluarsa"
-#: js/share.js:568
+#: js/share.js:581
msgid "Sending ..."
msgstr ""
-#: js/share.js:579
+#: js/share.js:592
msgid "Email sent"
msgstr ""
@@ -315,8 +314,8 @@ msgstr ""
msgid "Request failed!"
msgstr ""
-#: lostpassword/templates/lostpassword.php:11 templates/installation.php:38
-#: templates/login.php:20
+#: lostpassword/templates/lostpassword.php:11 templates/installation.php:39
+#: templates/login.php:28
msgid "Username"
msgstr "Username"
@@ -405,44 +404,44 @@ msgstr ""
msgid "Create an <strong>admin account</strong>"
msgstr "Buat sebuah <strong>akun admin</strong>"
-#: templates/installation.php:48
+#: templates/installation.php:50
msgid "Advanced"
msgstr "Tingkat Lanjut"
-#: templates/installation.php:50
+#: templates/installation.php:52
msgid "Data folder"
msgstr "Folder data"
-#: templates/installation.php:57
+#: templates/installation.php:59
msgid "Configure the database"
msgstr "Konfigurasi database"
-#: templates/installation.php:62 templates/installation.php:73
-#: templates/installation.php:83 templates/installation.php:93
+#: templates/installation.php:64 templates/installation.php:75
+#: templates/installation.php:85 templates/installation.php:95
msgid "will be used"
msgstr "akan digunakan"
-#: templates/installation.php:105
+#: templates/installation.php:107
msgid "Database user"
msgstr "Pengguna database"
-#: templates/installation.php:109
+#: templates/installation.php:111
msgid "Database password"
msgstr "Password database"
-#: templates/installation.php:113
+#: templates/installation.php:115
msgid "Database name"
msgstr "Nama database"
-#: templates/installation.php:121
+#: templates/installation.php:123
msgid "Database tablespace"
msgstr "tablespace basis data"
-#: templates/installation.php:127
+#: templates/installation.php:129
msgid "Database host"
msgstr "Host database"
-#: templates/installation.php:132
+#: templates/installation.php:134
msgid "Finish setup"
msgstr "Selesaikan instalasi"
@@ -530,36 +529,32 @@ msgstr "web service dibawah kontrol anda"
msgid "Log out"
msgstr "Keluar"
-#: templates/login.php:8
+#: templates/login.php:10
msgid "Automatic logon rejected!"
msgstr "login otomatis ditolak!"
-#: templates/login.php:9
+#: templates/login.php:11
msgid ""
"If you did not change your password recently, your account may be "
"compromised!"
msgstr "apabila anda tidak merubah kata kunci belakangan ini, akun anda dapat di gunakan orang lain!"
-#: templates/login.php:10
+#: templates/login.php:13
msgid "Please change your password to secure your account again."
msgstr "mohon ubah kata kunci untuk mengamankan akun anda"
-#: templates/login.php:15
+#: templates/login.php:19
msgid "Lost your password?"
msgstr "Lupa password anda?"
-#: templates/login.php:27
+#: templates/login.php:39
msgid "remember"
msgstr "selalu login"
-#: templates/login.php:28
+#: templates/login.php:41
msgid "Log in"
msgstr "Masuk"
-#: templates/logout.php:1
-msgid "You are logged out."
-msgstr "Anda telah keluar."
-
#: templates/part.pagenavi.php:3
msgid "prev"
msgstr "sebelum"
@@ -568,16 +563,7 @@ msgstr "sebelum"
msgid "next"
msgstr "selanjutnya"
-#: templates/verify.php:5
-msgid "Security Warning!"
-msgstr "peringatan keamanan!"
-
-#: templates/verify.php:6
-msgid ""
-"Please verify your password. <br/>For security reasons you may be "
-"occasionally asked to enter your password again."
-msgstr "mohon periksa kembali kata kunci anda. <br/>untuk alasan keamanan,anda akan sesekali diminta untuk memasukan kata kunci lagi."
-
-#: templates/verify.php:16
-msgid "Verify"
-msgstr "periksa kembali"
+#: templates/update.php:3
+#, php-format
+msgid "Updating ownCloud to version %s, this may take a while."
+msgstr ""
diff --git a/l10n/id/files.po b/l10n/id/files.po
index 4c752ed6c0b..31ff4ad0fe8 100644
--- a/l10n/id/files.po
+++ b/l10n/id/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: 2012-12-01 00:01+0100\n"
-"PO-Revision-Date: 2012-11-30 23:02+0000\n"
+"POT-Creation-Date: 2013-01-20 00:05+0100\n"
+"PO-Revision-Date: 2013-01-19 23:05+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"
@@ -20,46 +20,77 @@ msgstr ""
"Language: id\n"
"Plural-Forms: nplurals=1; plural=0;\n"
+#: ajax/delete.php:28 ajax/getstoragestats.php:11 ajax/upload.php:17
+#: ajax/upload.php:76 templates/index.php:18
+msgid "Upload"
+msgstr "Unggah"
+
+#: ajax/move.php:17
+#, php-format
+msgid "Could not move %s - File with this name already exists"
+msgstr ""
+
+#: ajax/move.php:24
+#, php-format
+msgid "Could not move %s"
+msgstr ""
+
+#: ajax/rename.php:19
+msgid "Unable to rename file"
+msgstr ""
+
#: ajax/upload.php:20
+msgid "No file was uploaded. Unknown error"
+msgstr ""
+
+#: ajax/upload.php:30
msgid "There is no error, the file uploaded with success"
msgstr "Tidak ada galat, berkas sukses diunggah"
-#: ajax/upload.php:21
+#: ajax/upload.php:31
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr ""
-#: ajax/upload.php:23
+#: ajax/upload.php:33
msgid ""
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
"the HTML form"
msgstr "File yang diunggah melampaui directive MAX_FILE_SIZE yang disebutan dalam form HTML."
-#: ajax/upload.php:25
+#: ajax/upload.php:35
msgid "The uploaded file was only partially uploaded"
msgstr "Berkas hanya diunggah sebagian"
-#: ajax/upload.php:26
+#: ajax/upload.php:36
msgid "No file was uploaded"
msgstr "Tidak ada berkas yang diunggah"
-#: ajax/upload.php:27
+#: ajax/upload.php:37
msgid "Missing a temporary folder"
msgstr "Kehilangan folder temporer"
-#: ajax/upload.php:28
+#: ajax/upload.php:38
msgid "Failed to write to disk"
msgstr "Gagal menulis ke disk"
+#: ajax/upload.php:57
+msgid "Not enough space available"
+msgstr ""
+
+#: ajax/upload.php:91
+msgid "Invalid directory."
+msgstr ""
+
#: appinfo/app.php:10
msgid "Files"
msgstr "Berkas"
-#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84
+#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
msgid "Unshare"
msgstr "batalkan berbagi"
-#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90
+#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
msgid "Delete"
msgstr "Hapus"
@@ -67,122 +98,136 @@ msgstr "Hapus"
msgid "Rename"
msgstr ""
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "{new_name} already exists"
msgstr ""
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "replace"
msgstr "mengganti"
-#: js/filelist.js:201
+#: js/filelist.js:205
msgid "suggest name"
msgstr ""
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "cancel"
msgstr "batalkan"
-#: js/filelist.js:250
+#: js/filelist.js:254
msgid "replaced {new_name}"
msgstr ""
-#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286
+#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
msgid "undo"
msgstr "batal dikerjakan"
-#: js/filelist.js:252
+#: js/filelist.js:256
msgid "replaced {new_name} with {old_name}"
msgstr ""
-#: js/filelist.js:284
+#: js/filelist.js:288
msgid "unshared {files}"
msgstr ""
-#: js/filelist.js:286
+#: js/filelist.js:290
msgid "deleted {files}"
msgstr ""
-#: js/files.js:33
+#: js/files.js:48
+msgid "'.' is an invalid file name."
+msgstr ""
+
+#: js/files.js:53
+msgid "File name cannot be empty."
+msgstr ""
+
+#: js/files.js:62
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr ""
-#: js/files.js:183
-msgid "generating ZIP-file, it may take some time."
-msgstr "membuat berkas ZIP, ini mungkin memakan waktu."
+#: js/files.js:204
+msgid ""
+"Your download is being prepared. This might take some time if the files are "
+"big."
+msgstr ""
-#: js/files.js:218
+#: js/files.js:242
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr "Gagal mengunggah berkas anda karena berupa direktori atau mempunyai ukuran 0 byte"
-#: js/files.js:218
+#: js/files.js:242
msgid "Upload Error"
msgstr "Terjadi Galat Pengunggahan"
-#: js/files.js:235
+#: js/files.js:259
msgid "Close"
msgstr "tutup"
-#: js/files.js:254 js/files.js:368 js/files.js:398
+#: js/files.js:278 js/files.js:397 js/files.js:431
msgid "Pending"
msgstr "Menunggu"
-#: js/files.js:274
+#: js/files.js:298
msgid "1 file uploading"
msgstr ""
-#: js/files.js:277 js/files.js:331 js/files.js:346
+#: js/files.js:301 js/files.js:357 js/files.js:372
msgid "{count} files uploading"
msgstr ""
-#: js/files.js:349 js/files.js:382
+#: js/files.js:376 js/files.js:414
msgid "Upload cancelled."
msgstr "Pengunggahan dibatalkan."
-#: js/files.js:451
+#: js/files.js:486
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr ""
-#: js/files.js:523
-msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud"
+#: js/files.js:559
+msgid "URL cannot be empty."
+msgstr "tautan tidak boleh kosong"
+
+#: js/files.js:565
+msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
msgstr ""
-#: js/files.js:704
+#: js/files.js:775
msgid "{count} files scanned"
msgstr ""
-#: js/files.js:712
+#: js/files.js:783
msgid "error while scanning"
msgstr ""
-#: js/files.js:785 templates/index.php:65
+#: js/files.js:857 templates/index.php:64
msgid "Name"
msgstr "Nama"
-#: js/files.js:786 templates/index.php:76
+#: js/files.js:858 templates/index.php:75
msgid "Size"
msgstr "Ukuran"
-#: js/files.js:787 templates/index.php:78
+#: js/files.js:859 templates/index.php:77
msgid "Modified"
msgstr "Dimodifikasi"
-#: js/files.js:814
+#: js/files.js:878
msgid "1 folder"
msgstr ""
-#: js/files.js:816
+#: js/files.js:880
msgid "{count} folders"
msgstr ""
-#: js/files.js:824
+#: js/files.js:888
msgid "1 file"
msgstr ""
-#: js/files.js:826
+#: js/files.js:890
msgid "{count} files"
msgstr ""
@@ -194,27 +239,27 @@ msgstr "Penanganan berkas"
msgid "Maximum upload size"
msgstr "Ukuran unggah maksimum"
-#: templates/admin.php:9
+#: templates/admin.php:10
msgid "max. possible: "
msgstr "Kemungkinan maks:"
-#: templates/admin.php:12
+#: templates/admin.php:15
msgid "Needed for multi-file and folder downloads."
msgstr "Dibutuhkan untuk multi-berkas dan unduhan folder"
-#: templates/admin.php:14
+#: templates/admin.php:17
msgid "Enable ZIP-download"
msgstr "Aktifkan unduhan ZIP"
-#: templates/admin.php:17
+#: templates/admin.php:20
msgid "0 is unlimited"
msgstr "0 adalah tidak terbatas"
-#: templates/admin.php:19
+#: templates/admin.php:22
msgid "Maximum input size for ZIP files"
msgstr "Ukuran masukan maksimal untuk berkas ZIP"
-#: templates/admin.php:23
+#: templates/admin.php:26
msgid "Save"
msgstr "simpan"
@@ -234,36 +279,32 @@ msgstr "Folder"
msgid "From link"
msgstr ""
-#: templates/index.php:35
-msgid "Upload"
-msgstr "Unggah"
-
-#: templates/index.php:43
+#: templates/index.php:41
msgid "Cancel upload"
msgstr "Batal mengunggah"
-#: templates/index.php:57
+#: templates/index.php:56
msgid "Nothing in here. Upload something!"
msgstr "Tidak ada apa-apa di sini. Unggah sesuatu!"
-#: templates/index.php:71
+#: templates/index.php:70
msgid "Download"
msgstr "Unduh"
-#: templates/index.php:103
+#: templates/index.php:102
msgid "Upload too large"
msgstr "Unggahan terlalu besar"
-#: templates/index.php:105
+#: templates/index.php:104
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "Berkas yang anda coba unggah melebihi ukuran maksimum untuk pengunggahan berkas di server ini."
-#: templates/index.php:110
+#: templates/index.php:109
msgid "Files are being scanned, please wait."
msgstr "Berkas sedang dipindai, silahkan tunggu."
-#: templates/index.php:113
+#: templates/index.php:112
msgid "Current scanning"
msgstr "Sedang memindai"
diff --git a/l10n/id/files_encryption.po b/l10n/id/files_encryption.po
index 5ab924354cb..d6d66e61e07 100644
--- a/l10n/id/files_encryption.po
+++ b/l10n/id/files_encryption.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-10-21 02:03+0200\n"
-"PO-Revision-Date: 2012-10-20 23:08+0000\n"
-"Last-Translator: elmakong <mr.pige_ina@yahoo.co.id>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,18 +18,66 @@ msgstr ""
"Language: id\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "enkripsi"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "pengecualian untuk tipe file berikut dari enkripsi"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "tidak ada"
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "aktifkan enkripsi"
diff --git a/l10n/id/files_versions.po b/l10n/id/files_versions.po
index 5b9201c347e..7b9d5d18745 100644
--- a/l10n/id/files_versions.po
+++ b/l10n/id/files_versions.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-10-21 02:03+0200\n"
-"PO-Revision-Date: 2012-10-20 23:40+0000\n"
-"Last-Translator: elmakong <mr.pige_ina@yahoo.co.id>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:03+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,22 +18,10 @@ msgstr ""
"Language: id\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: js/settings-personal.js:31 templates/settings-personal.php:10
-msgid "Expire all versions"
-msgstr "kadaluarsakan semua versi"
-
#: js/versions.js:16
msgid "History"
msgstr "riwayat"
-#: templates/settings-personal.php:4
-msgid "Versions"
-msgstr "versi"
-
-#: templates/settings-personal.php:7
-msgid "This will delete all existing backup versions of your files"
-msgstr "ini akan menghapus semua versi backup yang ada dari file anda"
-
#: templates/settings.php:3
msgid "Files Versioning"
msgstr "pembuatan versi file"
diff --git a/l10n/id/lib.po b/l10n/id/lib.po
index 4987faad0d4..013ed9d846c 100644
--- a/l10n/id/lib.po
+++ b/l10n/id/lib.po
@@ -3,13 +3,14 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# Mohamad Hasan Al Banna <se7entime@gmail.com>, 2013.
# <mr.pige_ina@yahoo.co.id>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-11-16 00:02+0100\n"
-"PO-Revision-Date: 2012-11-14 23:13+0000\n"
+"POT-Creation-Date: 2013-01-17 00:26+0100\n"
+"PO-Revision-Date: 2013-01-16 23:26+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"
@@ -18,51 +19,55 @@ msgstr ""
"Language: id\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: app.php:285
+#: app.php:301
msgid "Help"
msgstr "bantu"
-#: app.php:292
+#: app.php:308
msgid "Personal"
msgstr "perseorangan"
-#: app.php:297
+#: app.php:313
msgid "Settings"
msgstr "pengaturan"
-#: app.php:302
+#: app.php:318
msgid "Users"
msgstr "pengguna"
-#: app.php:309
+#: app.php:325
msgid "Apps"
msgstr "aplikasi"
-#: app.php:311
+#: app.php:327
msgid "Admin"
msgstr "admin"
-#: files.php:332
+#: files.php:365
msgid "ZIP download is turned off."
msgstr "download ZIP sedang dimatikan"
-#: files.php:333
+#: files.php:366
msgid "Files need to be downloaded one by one."
msgstr "file harus di unduh satu persatu"
-#: files.php:333 files.php:358
+#: files.php:366 files.php:391
msgid "Back to Files"
msgstr "kembali ke daftar file"
-#: files.php:357
+#: files.php:390
msgid "Selected files too large to generate zip file."
msgstr "file yang dipilih terlalu besar untuk membuat file zip"
+#: helper.php:228
+msgid "couldn't be determined"
+msgstr ""
+
#: json.php:28
msgid "Application is not enabled"
msgstr "aplikasi tidak diaktifkan"
-#: json.php:39 json.php:64 json.php:77 json.php:89
+#: json.php:39 json.php:62 json.php:73
msgid "Authentication error"
msgstr "autentikasi bermasalah"
@@ -72,7 +77,7 @@ msgstr "token kadaluarsa.mohon perbaharui laman."
#: search/provider/file.php:17 search/provider/file.php:35
msgid "Files"
-msgstr ""
+msgstr "Berkas"
#: search/provider/file.php:26 search/provider/file.php:33
msgid "Text"
@@ -80,57 +85,57 @@ msgstr "teks"
#: search/provider/file.php:29
msgid "Images"
-msgstr ""
+msgstr "Gambar"
-#: template.php:103
+#: template.php:113
msgid "seconds ago"
msgstr "beberapa detik yang lalu"
-#: template.php:104
+#: template.php:114
msgid "1 minute ago"
msgstr "1 menit lalu"
-#: template.php:105
+#: template.php:115
#, php-format
msgid "%d minutes ago"
msgstr "%d menit lalu"
-#: template.php:106
+#: template.php:116
msgid "1 hour ago"
-msgstr ""
+msgstr "1 jam yang lalu"
-#: template.php:107
+#: template.php:117
#, php-format
msgid "%d hours ago"
-msgstr ""
+msgstr "%d jam yang lalu"
-#: template.php:108
+#: template.php:118
msgid "today"
msgstr "hari ini"
-#: template.php:109
+#: template.php:119
msgid "yesterday"
msgstr "kemarin"
-#: template.php:110
+#: template.php:120
#, php-format
msgid "%d days ago"
msgstr "%d hari lalu"
-#: template.php:111
+#: template.php:121
msgid "last month"
msgstr "bulan kemarin"
-#: template.php:112
+#: template.php:122
#, php-format
msgid "%d months ago"
-msgstr ""
+msgstr "%d bulan yang lalu"
-#: template.php:113
+#: template.php:123
msgid "last year"
msgstr "tahun kemarin"
-#: template.php:114
+#: template.php:124
msgid "years ago"
msgstr "beberapa tahun lalu"
@@ -150,4 +155,4 @@ msgstr "pengecekan pembaharuan sedang non-aktifkan"
#: vcategories.php:188 vcategories.php:249
#, php-format
msgid "Could not find category \"%s\""
-msgstr ""
+msgstr "Tidak dapat menemukan kategori \"%s\""
diff --git a/l10n/id/settings.po b/l10n/id/settings.po
index 4e52623ad95..72ad4e872a7 100644
--- a/l10n/id/settings.po
+++ b/l10n/id/settings.po
@@ -11,8 +11,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-21 00:10+0100\n"
-"PO-Revision-Date: 2012-12-19 23:20+0000\n"
+"POT-Creation-Date: 2013-01-12 00:09+0100\n"
+"PO-Revision-Date: 2013-01-11 23:09+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"
@@ -33,7 +33,7 @@ msgstr ""
msgid "Unable to add group"
msgstr ""
-#: ajax/enableapp.php:12
+#: ajax/enableapp.php:11
msgid "Could not enable app. "
msgstr ""
@@ -45,14 +45,6 @@ msgstr "Email tersimpan"
msgid "Invalid email"
msgstr "Email tidak sah"
-#: ajax/openid.php:13
-msgid "OpenID Changed"
-msgstr "OpenID telah dirubah"
-
-#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20
-msgid "Invalid request"
-msgstr "Permintaan tidak valid"
-
#: ajax/removegroup.php:13
msgid "Unable to delete group"
msgstr ""
@@ -69,6 +61,10 @@ msgstr ""
msgid "Language changed"
msgstr "Bahasa telah diganti"
+#: ajax/setlanguage.php:17 ajax/setlanguage.php:20
+msgid "Invalid request"
+msgstr "Permintaan tidak valid"
+
#: ajax/togglegroups.php:12
msgid "Admins can't remove themself from the admin group"
msgstr ""
@@ -164,7 +160,7 @@ msgstr ""
msgid "Download iOS Client"
msgstr ""
-#: templates/personal.php:21 templates/users.php:23 templates/users.php:77
+#: templates/personal.php:21 templates/users.php:23 templates/users.php:82
msgid "Password"
msgstr "Password"
@@ -234,11 +230,11 @@ msgid ""
"License\">AGPL</abbr></a>."
msgstr ""
-#: templates/users.php:21 templates/users.php:76
+#: templates/users.php:21 templates/users.php:81
msgid "Name"
msgstr "Nama"
-#: templates/users.php:26 templates/users.php:78 templates/users.php:98
+#: templates/users.php:26 templates/users.php:83 templates/users.php:103
msgid "Groups"
msgstr "Group"
@@ -247,21 +243,29 @@ msgid "Create"
msgstr "Buat"
#: templates/users.php:35
-msgid "Default Quota"
-msgstr "Kuota default"
+msgid "Default Storage"
+msgstr ""
+
+#: templates/users.php:42 templates/users.php:138
+msgid "Unlimited"
+msgstr ""
-#: templates/users.php:55 templates/users.php:138
+#: templates/users.php:60 templates/users.php:153
msgid "Other"
msgstr "Lain-lain"
-#: templates/users.php:80 templates/users.php:112
+#: templates/users.php:85 templates/users.php:117
msgid "Group Admin"
msgstr "Admin Grup"
-#: templates/users.php:82
-msgid "Quota"
-msgstr "Quota"
+#: templates/users.php:87
+msgid "Storage"
+msgstr ""
+
+#: templates/users.php:133
+msgid "Default"
+msgstr ""
-#: templates/users.php:146
+#: templates/users.php:161
msgid "Delete"
msgstr "Hapus"
diff --git a/l10n/id/user_ldap.po b/l10n/id/user_ldap.po
index 193df390395..d1b6b34abf1 100644
--- a/l10n/id/user_ldap.po
+++ b/l10n/id/user_ldap.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-15 00:11+0100\n"
-"PO-Revision-Date: 2012-12-14 23:11+0000\n"
+"POT-Creation-Date: 2013-01-16 00:19+0100\n"
+"PO-Revision-Date: 2013-01-15 23:19+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"
@@ -27,8 +27,8 @@ msgstr ""
#: templates/settings.php:11
msgid ""
-"<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will"
-" not work. Please ask your system administrator to install it."
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not "
+"work. Please ask your system administrator to install it."
msgstr ""
#: templates/settings.php:15
@@ -45,6 +45,10 @@ msgid "Base DN"
msgstr ""
#: templates/settings.php:16
+msgid "One Base DN per line"
+msgstr ""
+
+#: templates/settings.php:16
msgid "You can specify Base DN for users and groups in the Advanced tab"
msgstr ""
@@ -115,10 +119,18 @@ msgstr "port"
msgid "Base User Tree"
msgstr ""
+#: templates/settings.php:25
+msgid "One User Base DN per line"
+msgstr ""
+
#: templates/settings.php:26
msgid "Base Group Tree"
msgstr ""
+#: templates/settings.php:26
+msgid "One Group Base DN per line"
+msgstr ""
+
#: templates/settings.php:27
msgid "Group-Member association"
msgstr ""
diff --git a/l10n/id/user_webdavauth.po b/l10n/id/user_webdavauth.po
index fc5b698ce72..409d046d03e 100644
--- a/l10n/id/user_webdavauth.po
+++ b/l10n/id/user_webdavauth.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-20 00:11+0100\n"
-"PO-Revision-Date: 2012-12-19 23:12+0000\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+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"
@@ -17,13 +17,17 @@ msgstr ""
"Language: id\n"
"Plural-Forms: nplurals=1; plural=0;\n"
+#: templates/settings.php:3
+msgid "WebDAV Authentication"
+msgstr ""
+
#: templates/settings.php:4
msgid "URL: http://"
msgstr ""
#: templates/settings.php:6
msgid ""
-"ownCloud will send the user credentials to this URL is interpret http 401 "
-"and http 403 as credentials wrong and all other codes as credentials "
-"correct."
+"ownCloud will send the user credentials to this URL. 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 ""
diff --git a/l10n/is/core.po b/l10n/is/core.po
index 4432000b3cc..a575a9992a8 100644
--- a/l10n/is/core.po
+++ b/l10n/is/core.po
@@ -4,12 +4,13 @@
#
# Translators:
# <kaztraz@gmail.com>, 2012.
+# <sveinng@gmail.com>, 2012-2013.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-13 00:17+0100\n"
-"PO-Revision-Date: 2012-12-12 23:17+0000\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:03+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Icelandic (http://www.transifex.com/projects/p/owncloud/language/is/)\n"
"MIME-Version: 1.0\n"
@@ -21,26 +22,26 @@ msgstr ""
#: ajax/share.php:84
#, php-format
msgid "User %s shared a file with you"
-msgstr ""
+msgstr "Notandinn %s deildi skrá með þér"
#: ajax/share.php:86
#, php-format
msgid "User %s shared a folder with you"
-msgstr ""
+msgstr "Notandinn %s deildi möppu með þér"
#: ajax/share.php:88
#, php-format
msgid ""
"User %s shared the file \"%s\" with you. It is available for download here: "
"%s"
-msgstr ""
+msgstr "Notandinn %s deildi skránni \"%s\" með þér. Hægt er að hlaða henni niður hér: %s"
#: ajax/share.php:90
#, php-format
msgid ""
"User %s shared the folder \"%s\" with you. It is available for download "
"here: %s"
-msgstr ""
+msgstr "Notandinn %s deildi möppunni \"%s\" með þér. Hægt er að hlaða henni niður hér: %s"
#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25
msgid "Category type not provided."
@@ -48,294 +49,293 @@ msgstr "Flokkur ekki gefin"
#: ajax/vcategories/add.php:30
msgid "No category to add?"
-msgstr ""
+msgstr "Enginn flokkur til að bæta við?"
#: ajax/vcategories/add.php:37
msgid "This category already exists: "
-msgstr ""
+msgstr "Þessi flokkur er þegar til:"
#: 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 "Tegund ekki í boði."
#: ajax/vcategories/addToFavorites.php:30
#: ajax/vcategories/removeFromFavorites.php:30
#, php-format
msgid "%s ID not provided."
-msgstr ""
+msgstr "%s ID ekki í boði."
#: ajax/vcategories/addToFavorites.php:35
#, php-format
msgid "Error adding %s to favorites."
-msgstr ""
+msgstr "Villa við að bæta %s við eftirlæti."
#: ajax/vcategories/delete.php:35 js/oc-vcategories.js:136
msgid "No categories selected for deletion."
-msgstr ""
+msgstr "Enginn flokkur valinn til eyðingar."
#: ajax/vcategories/removeFromFavorites.php:35
#, php-format
msgid "Error removing %s from favorites."
-msgstr ""
+msgstr "Villa við að fjarlægja %s úr eftirlæti."
#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61
msgid "Settings"
-msgstr ""
+msgstr "Stillingar"
-#: js/js.js:704
+#: js/js.js:711
msgid "seconds ago"
msgstr "sek síðan"
-#: js/js.js:705
+#: js/js.js:712
msgid "1 minute ago"
msgstr "1 min síðan"
-#: js/js.js:706
+#: js/js.js:713
msgid "{minutes} minutes ago"
msgstr "{minutes} min síðan"
-#: js/js.js:707
+#: js/js.js:714
msgid "1 hour ago"
-msgstr ""
+msgstr "Fyrir 1 klst."
-#: js/js.js:708
+#: js/js.js:715
msgid "{hours} hours ago"
-msgstr ""
+msgstr "fyrir {hours} klst."
-#: js/js.js:709
+#: js/js.js:716
msgid "today"
msgstr "í dag"
-#: js/js.js:710
+#: js/js.js:717
msgid "yesterday"
msgstr "í gær"
-#: js/js.js:711
+#: js/js.js:718
msgid "{days} days ago"
msgstr "{days} dagar síðan"
-#: js/js.js:712
+#: js/js.js:719
msgid "last month"
msgstr "síðasta mánuði"
-#: js/js.js:713
+#: js/js.js:720
msgid "{months} months ago"
-msgstr ""
+msgstr "fyrir {months} mánuðum"
-#: js/js.js:714
+#: js/js.js:721
msgid "months ago"
msgstr "mánuðir síðan"
-#: js/js.js:715
+#: js/js.js:722
msgid "last year"
msgstr "síðasta ári"
-#: js/js.js:716
+#: js/js.js:723
msgid "years ago"
msgstr "árum síðan"
#: js/oc-dialogs.js:126
msgid "Choose"
-msgstr ""
+msgstr "Veldu"
#: js/oc-dialogs.js:146 js/oc-dialogs.js:166
msgid "Cancel"
-msgstr ""
+msgstr "Hætta við"
#: js/oc-dialogs.js:162
msgid "No"
-msgstr ""
+msgstr "Nei"
#: js/oc-dialogs.js:163
msgid "Yes"
-msgstr ""
+msgstr "Já"
#: js/oc-dialogs.js:180
msgid "Ok"
-msgstr ""
+msgstr "Ã lagi"
#: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102
#: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162
msgid "The object type is not specified."
-msgstr ""
+msgstr "Tegund ekki tilgreind"
#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136
-#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:541
-#: js/share.js:553
+#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:554
+#: js/share.js:566
msgid "Error"
-msgstr ""
+msgstr "Villa"
#: js/oc-vcategories.js:179
msgid "The app name is not specified."
-msgstr ""
+msgstr "Nafn forrits ekki tilgreint"
#: js/oc-vcategories.js:194
msgid "The required file {file} is not installed!"
-msgstr ""
+msgstr "Umbeðina skráin {file} ekki tiltæk!"
-#: js/share.js:124 js/share.js:581
+#: js/share.js:124 js/share.js:594
msgid "Error while sharing"
-msgstr ""
+msgstr "Villa við deilingu"
#: js/share.js:135
msgid "Error while unsharing"
-msgstr ""
+msgstr "Villa við að hætta deilingu"
#: js/share.js:142
msgid "Error while changing permissions"
-msgstr ""
+msgstr "Villa við að breyta aðgangsheimildum"
#: js/share.js:151
msgid "Shared with you and the group {group} by {owner}"
-msgstr ""
+msgstr "Deilt með þér og hópnum {group} af {owner}"
#: js/share.js:153
msgid "Shared with you by {owner}"
-msgstr ""
+msgstr "Deilt með þér af {owner}"
#: js/share.js:158
msgid "Share with"
-msgstr ""
+msgstr "Deila með"
#: js/share.js:163
msgid "Share with link"
-msgstr ""
+msgstr "Deila með veftengli"
-#: js/share.js:164
+#: js/share.js:166
msgid "Password protect"
-msgstr ""
+msgstr "Verja með lykilorði"
-#: js/share.js:168 templates/installation.php:42 templates/login.php:24
-#: templates/verify.php:13
+#: js/share.js:168 templates/installation.php:44 templates/login.php:35
msgid "Password"
msgstr "Lykilorð"
#: js/share.js:172
msgid "Email link to person"
-msgstr ""
+msgstr "Senda vefhlekk í tölvupóstu til notenda"
#: js/share.js:173
msgid "Send"
-msgstr ""
+msgstr "Senda"
#: js/share.js:177
msgid "Set expiration date"
-msgstr ""
+msgstr "Setja gildistíma"
#: js/share.js:178
msgid "Expiration date"
-msgstr ""
+msgstr "Gildir til"
#: js/share.js:210
msgid "Share via email:"
-msgstr ""
+msgstr "Deila með tölvupósti:"
#: js/share.js:212
msgid "No people found"
-msgstr ""
+msgstr "Engir notendur fundust"
#: js/share.js:239
msgid "Resharing is not allowed"
-msgstr ""
+msgstr "Endurdeiling er ekki leyfð"
#: js/share.js:275
msgid "Shared in {item} with {user}"
-msgstr ""
+msgstr "Deilt með {item} ásamt {user}"
#: js/share.js:296
msgid "Unshare"
-msgstr ""
+msgstr "Hætta deilingu"
#: js/share.js:308
msgid "can edit"
-msgstr ""
+msgstr "getur breytt"
#: js/share.js:310
msgid "access control"
-msgstr ""
+msgstr "aðgangsstýring"
#: js/share.js:313
msgid "create"
-msgstr ""
+msgstr "mynda"
#: js/share.js:316
msgid "update"
-msgstr ""
+msgstr "uppfæra"
#: js/share.js:319
msgid "delete"
-msgstr ""
+msgstr "eyða"
#: js/share.js:322
msgid "share"
-msgstr ""
+msgstr "deila"
-#: js/share.js:353 js/share.js:528 js/share.js:530
+#: js/share.js:356 js/share.js:541
msgid "Password protected"
-msgstr ""
+msgstr "Verja með lykilorði"
-#: js/share.js:541
+#: js/share.js:554
msgid "Error unsetting expiration date"
-msgstr ""
+msgstr "Villa við að aftengja gildistíma"
-#: js/share.js:553
+#: js/share.js:566
msgid "Error setting expiration date"
-msgstr ""
+msgstr "Villa við að setja gildistíma"
-#: js/share.js:568
+#: js/share.js:581
msgid "Sending ..."
-msgstr ""
+msgstr "Sendi ..."
-#: js/share.js:579
+#: js/share.js:592
msgid "Email sent"
-msgstr ""
+msgstr "Tölvupóstur sendur"
#: lostpassword/controller.php:47
msgid "ownCloud password reset"
-msgstr ""
+msgstr "endursetja ownCloud lykilorð"
#: lostpassword/templates/email.php:2
msgid "Use the following link to reset your password: {link}"
-msgstr ""
+msgstr "Notað eftirfarandi veftengil til að endursetja lykilorðið þitt: {link}"
#: lostpassword/templates/lostpassword.php:3
msgid "You will receive a link to reset your password via Email."
-msgstr ""
+msgstr "Þú munt fá veftengil í tölvupósti til að endursetja lykilorðið."
#: lostpassword/templates/lostpassword.php:5
msgid "Reset email send."
-msgstr ""
+msgstr "Beiðni um endursetningu send."
#: lostpassword/templates/lostpassword.php:8
msgid "Request failed!"
-msgstr ""
+msgstr "Beiðni mistókst!"
-#: lostpassword/templates/lostpassword.php:11 templates/installation.php:38
-#: templates/login.php:20
+#: lostpassword/templates/lostpassword.php:11 templates/installation.php:39
+#: templates/login.php:28
msgid "Username"
msgstr "Notendanafn"
#: lostpassword/templates/lostpassword.php:14
msgid "Request reset"
-msgstr ""
+msgstr "Endursetja lykilorð"
#: lostpassword/templates/resetpassword.php:4
msgid "Your password was reset"
-msgstr ""
+msgstr "Lykilorðið þitt hefur verið endursett."
#: lostpassword/templates/resetpassword.php:5
msgid "To login page"
-msgstr ""
+msgstr "Fara á innskráningarsíðu"
#: lostpassword/templates/resetpassword.php:8
msgid "New password"
-msgstr ""
+msgstr "Nýtt lykilorð"
#: lostpassword/templates/resetpassword.php:11
msgid "Reset password"
-msgstr ""
+msgstr "Endursetja lykilorð"
#: strings.php:5
msgid "Personal"
@@ -343,11 +343,11 @@ msgstr "Persónustillingar"
#: strings.php:6
msgid "Users"
-msgstr ""
+msgstr "Notendur"
#: strings.php:7
msgid "Apps"
-msgstr ""
+msgstr "Forrit"
#: strings.php:8
msgid "Admin"
@@ -355,15 +355,15 @@ msgstr "Vefstjórn"
#: strings.php:9
msgid "Help"
-msgstr "Help"
+msgstr "Hjálp"
#: templates/403.php:12
msgid "Access forbidden"
-msgstr ""
+msgstr "Aðgangur bannaður"
#: templates/404.php:12
msgid "Cloud not found"
-msgstr "Skýið finnst eigi"
+msgstr "Ský finnst ekki"
#: templates/edit_categories_dialog.php:4
msgid "Edit categories"
@@ -375,19 +375,19 @@ msgstr "Bæta"
#: templates/installation.php:23 templates/installation.php:31
msgid "Security Warning"
-msgstr ""
+msgstr "Öryggis aðvörun"
#: templates/installation.php:24
msgid ""
"No secure random number generator is available, please enable the PHP "
"OpenSSL extension."
-msgstr ""
+msgstr "Enginn traustur slembitölugjafi í boði, vinsamlegast virkjaðu PHP OpenSSL viðbótina."
#: templates/installation.php:26
msgid ""
"Without a secure random number generator an attacker may be able to predict "
"password reset tokens and take over your account."
-msgstr ""
+msgstr "Ãn öruggs slembitölugjafa er mögulegt að sjá fyrir öryggis auðkenni til að endursetja lykilorð og komast inn á aðganginn þinn."
#: templates/installation.php:32
msgid ""
@@ -396,80 +396,80 @@ msgid ""
"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."
-msgstr ""
+msgstr "Gagnamappan þín er að öllum líkindum aðgengileg frá internetinu. Skráin .htaccess sem fylgir með ownCloud er ekki að virka. Við mælum eindregið með því að þú stillir vefþjóninn þannig að gagnamappan verði ekki aðgengileg frá internetinu eða færir hana út fyrir vefrótina."
#: templates/installation.php:36
msgid "Create an <strong>admin account</strong>"
msgstr "Útbúa <strong>vefstjóra aðgang</strong>"
-#: templates/installation.php:48
+#: templates/installation.php:50
msgid "Advanced"
-msgstr ""
+msgstr "Ãtarlegt"
-#: templates/installation.php:50
+#: templates/installation.php:52
msgid "Data folder"
-msgstr ""
+msgstr "Gagnamappa"
-#: templates/installation.php:57
+#: templates/installation.php:59
msgid "Configure the database"
-msgstr ""
+msgstr "Stilla gagnagrunn"
-#: templates/installation.php:62 templates/installation.php:73
-#: templates/installation.php:83 templates/installation.php:93
+#: templates/installation.php:64 templates/installation.php:75
+#: templates/installation.php:85 templates/installation.php:95
msgid "will be used"
-msgstr ""
+msgstr "verður notað"
-#: templates/installation.php:105
+#: templates/installation.php:107
msgid "Database user"
-msgstr ""
+msgstr "Gagnagrunns notandi"
-#: templates/installation.php:109
+#: templates/installation.php:111
msgid "Database password"
-msgstr ""
+msgstr "Gagnagrunns lykilorð"
-#: templates/installation.php:113
+#: templates/installation.php:115
msgid "Database name"
-msgstr ""
+msgstr "Nafn gagnagrunns"
-#: templates/installation.php:121
+#: templates/installation.php:123
msgid "Database tablespace"
-msgstr ""
+msgstr "Töflusvæði gagnagrunns"
-#: templates/installation.php:127
+#: templates/installation.php:129
msgid "Database host"
-msgstr ""
+msgstr "Netþjónn gagnagrunns"
-#: templates/installation.php:132
+#: templates/installation.php:134
msgid "Finish setup"
-msgstr ""
+msgstr "Virkja uppsetningu"
#: templates/layout.guest.php:16 templates/layout.user.php:17
msgid "Sunday"
-msgstr ""
+msgstr "Sunnudagur"
#: templates/layout.guest.php:16 templates/layout.user.php:17
msgid "Monday"
-msgstr ""
+msgstr "Mánudagur"
#: templates/layout.guest.php:16 templates/layout.user.php:17
msgid "Tuesday"
-msgstr ""
+msgstr "Þriðjudagur"
#: templates/layout.guest.php:16 templates/layout.user.php:17
msgid "Wednesday"
-msgstr ""
+msgstr "Miðvikudagur"
#: templates/layout.guest.php:16 templates/layout.user.php:17
msgid "Thursday"
-msgstr ""
+msgstr "Fimmtudagur"
#: templates/layout.guest.php:16 templates/layout.user.php:17
msgid "Friday"
-msgstr ""
+msgstr "Föstudagur"
#: templates/layout.guest.php:16 templates/layout.user.php:17
msgid "Saturday"
-msgstr ""
+msgstr "Laugardagur"
#: templates/layout.guest.php:17 templates/layout.user.php:18
msgid "January"
@@ -513,49 +513,45 @@ msgstr "Október"
#: templates/layout.guest.php:17 templates/layout.user.php:18
msgid "November"
-msgstr ""
+msgstr "Nóvember"
#: templates/layout.guest.php:17 templates/layout.user.php:18
msgid "December"
-msgstr ""
+msgstr "Desember"
#: templates/layout.guest.php:42
msgid "web services under your control"
-msgstr ""
+msgstr "vefþjónusta undir þinni stjórn"
#: templates/layout.user.php:45
msgid "Log out"
msgstr "Útskrá"
-#: templates/login.php:8
+#: templates/login.php:10
msgid "Automatic logon rejected!"
-msgstr ""
+msgstr "Sjálfvirkri innskráningu hafnað!"
-#: templates/login.php:9
+#: templates/login.php:11
msgid ""
"If you did not change your password recently, your account may be "
"compromised!"
-msgstr ""
+msgstr "Ef þú breyttir ekki lykilorðinu þínu fyrir skömmu, er mögulegt að einhver annar hafi komist inn á aðganginn þinn."
-#: templates/login.php:10
+#: templates/login.php:13
msgid "Please change your password to secure your account again."
-msgstr ""
+msgstr "Vinsamlegast breyttu lykilorðinu þínu til að tryggja öryggi þitt."
-#: templates/login.php:15
+#: templates/login.php:19
msgid "Lost your password?"
-msgstr ""
+msgstr "Týndir þú lykilorðinu?"
-#: templates/login.php:27
+#: templates/login.php:39
msgid "remember"
-msgstr ""
+msgstr "muna eftir mér"
-#: templates/login.php:28
+#: templates/login.php:41
msgid "Log in"
-msgstr ""
-
-#: templates/logout.php:1
-msgid "You are logged out."
-msgstr "Þú ert útskráð(ur)."
+msgstr "<strong>Skrá inn</strong>"
#: templates/part.pagenavi.php:3
msgid "prev"
@@ -565,16 +561,7 @@ msgstr "fyrra"
msgid "next"
msgstr "næsta"
-#: templates/verify.php:5
-msgid "Security Warning!"
-msgstr ""
-
-#: templates/verify.php:6
-msgid ""
-"Please verify your password. <br/>For security reasons you may be "
-"occasionally asked to enter your password again."
-msgstr ""
-
-#: templates/verify.php:16
-msgid "Verify"
-msgstr ""
+#: templates/update.php:3
+#, php-format
+msgid "Updating ownCloud to version %s, this may take a while."
+msgstr "Uppfæri ownCloud í útgáfu %s, það gæti tekið smá stund."
diff --git a/l10n/is/files.po b/l10n/is/files.po
index 094b80b04e4..6501754dbc6 100644
--- a/l10n/is/files.po
+++ b/l10n/is/files.po
@@ -3,13 +3,14 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# <sveinng@gmail.com>, 2012-2013.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-06 00:11+0100\n"
-"PO-Revision-Date: 2011-08-13 02:19+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2013-01-20 00:05+0100\n"
+"PO-Revision-Date: 2013-01-19 23:05+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Icelandic (http://www.transifex.com/projects/p/owncloud/language/is/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -17,250 +18,291 @@ msgstr ""
"Language: is\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+#: ajax/delete.php:28 ajax/getstoragestats.php:11 ajax/upload.php:17
+#: ajax/upload.php:76 templates/index.php:18
+msgid "Upload"
+msgstr "Senda inn"
+
+#: ajax/move.php:17
+#, php-format
+msgid "Could not move %s - File with this name already exists"
+msgstr "Gat ekki fært %s - Skrá með þessu nafni er þegar til"
+
+#: ajax/move.php:24
+#, php-format
+msgid "Could not move %s"
+msgstr "Gat ekki fært %s"
+
+#: ajax/rename.php:19
+msgid "Unable to rename file"
+msgstr "Gat ekki endurskýrt skrá"
+
#: ajax/upload.php:20
+msgid "No file was uploaded. Unknown error"
+msgstr "Engin skrá var send inn. Óþekkt villa."
+
+#: ajax/upload.php:30
msgid "There is no error, the file uploaded with success"
-msgstr ""
+msgstr "Engin villa, innsending heppnaðist"
-#: ajax/upload.php:21
+#: ajax/upload.php:31
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
-msgstr ""
+msgstr "Innsend skrá er stærri en upload_max stillingin í php.ini:"
-#: ajax/upload.php:23
+#: ajax/upload.php:33
msgid ""
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
"the HTML form"
-msgstr ""
+msgstr "Innsenda skráin er stærri en MAX_FILE_SIZE sem skilgreint er í HTML sniðinu."
-#: ajax/upload.php:25
+#: ajax/upload.php:35
msgid "The uploaded file was only partially uploaded"
-msgstr ""
+msgstr "Einungis hluti af innsendri skrá skilaði sér"
-#: ajax/upload.php:26
+#: ajax/upload.php:36
msgid "No file was uploaded"
-msgstr ""
+msgstr "Engin skrá skilaði sér"
-#: ajax/upload.php:27
+#: ajax/upload.php:37
msgid "Missing a temporary folder"
-msgstr ""
+msgstr "Vantar bráðabirgðamöppu"
-#: ajax/upload.php:28
+#: ajax/upload.php:38
msgid "Failed to write to disk"
-msgstr ""
+msgstr "Tókst ekki að skrifa á disk"
+
+#: ajax/upload.php:57
+msgid "Not enough space available"
+msgstr "Ekki nægt pláss tiltækt"
+
+#: ajax/upload.php:91
+msgid "Invalid directory."
+msgstr "Ógild mappa."
#: appinfo/app.php:10
msgid "Files"
-msgstr ""
+msgstr "Skrár"
-#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84
+#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
msgid "Unshare"
-msgstr ""
+msgstr "Hætta deilingu"
-#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90
+#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
msgid "Delete"
-msgstr ""
+msgstr "Eyða"
#: js/fileactions.js:181
msgid "Rename"
-msgstr ""
+msgstr "Endurskýra"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "{new_name} already exists"
-msgstr ""
+msgstr "{new_name} er þegar til"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "replace"
-msgstr ""
+msgstr "yfirskrifa"
-#: js/filelist.js:201
+#: js/filelist.js:205
msgid "suggest name"
-msgstr ""
+msgstr "stinga upp á nafni"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "cancel"
-msgstr ""
+msgstr "hætta við"
-#: js/filelist.js:250
+#: js/filelist.js:254
msgid "replaced {new_name}"
-msgstr ""
+msgstr "endurskýrði {new_name}"
-#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286
+#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
msgid "undo"
-msgstr ""
+msgstr "afturkalla"
-#: js/filelist.js:252
+#: js/filelist.js:256
msgid "replaced {new_name} with {old_name}"
-msgstr ""
+msgstr "yfirskrifaði {new_name} með {old_name}"
-#: js/filelist.js:284
+#: js/filelist.js:288
msgid "unshared {files}"
-msgstr ""
+msgstr "Hætti við deilingu á {files}"
-#: js/filelist.js:286
+#: js/filelist.js:290
msgid "deleted {files}"
-msgstr ""
+msgstr "eyddi {files}"
+
+#: js/files.js:48
+msgid "'.' is an invalid file name."
+msgstr "'.' er ekki leyfilegt nafn."
-#: js/files.js:33
+#: js/files.js:53
+msgid "File name cannot be empty."
+msgstr "Nafn skráar má ekki vera tómt"
+
+#: js/files.js:62
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
-msgstr ""
+msgstr "Ógilt nafn, táknin '\\', '/', '<', '>', ':', '\"', '|', '?' og '*' eru ekki leyfð."
-#: js/files.js:183
-msgid "generating ZIP-file, it may take some time."
+#: js/files.js:204
+msgid ""
+"Your download is being prepared. This might take some time if the files are "
+"big."
msgstr ""
-#: js/files.js:218
+#: js/files.js:242
msgid "Unable to upload your file as it is a directory or has 0 bytes"
-msgstr ""
+msgstr "Innsending á skrá mistókst, hugsanlega sendir þú möppu eða skráin er 0 bæti."
-#: js/files.js:218
+#: js/files.js:242
msgid "Upload Error"
-msgstr ""
+msgstr "Villa við innsendingu"
-#: js/files.js:235
+#: js/files.js:259
msgid "Close"
-msgstr ""
+msgstr "Loka"
-#: js/files.js:254 js/files.js:368 js/files.js:398
+#: js/files.js:278 js/files.js:397 js/files.js:431
msgid "Pending"
-msgstr ""
+msgstr "Bíður"
-#: js/files.js:274
+#: js/files.js:298
msgid "1 file uploading"
-msgstr ""
+msgstr "1 skrá innsend"
-#: js/files.js:277 js/files.js:331 js/files.js:346
+#: js/files.js:301 js/files.js:357 js/files.js:372
msgid "{count} files uploading"
-msgstr ""
+msgstr "{count} skrár innsendar"
-#: js/files.js:349 js/files.js:382
+#: js/files.js:376 js/files.js:414
msgid "Upload cancelled."
-msgstr ""
+msgstr "Hætt við innsendingu."
-#: js/files.js:451
+#: js/files.js:486
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
-msgstr ""
+msgstr "Innsending í gangi. Ef þú ferð af þessari síðu mun innsending misheppnast."
-#: js/files.js:523
-msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud"
-msgstr ""
+#: js/files.js:559
+msgid "URL cannot be empty."
+msgstr "Vefslóð má ekki vera tóm."
-#: js/files.js:704
+#: js/files.js:565
+msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
+msgstr "Óleyfilegt nafn á möppu. Nafnið 'Shared' er frátekið fyrir Owncloud"
+
+#: js/files.js:775
msgid "{count} files scanned"
-msgstr ""
+msgstr "{count} skrár skimaðar"
-#: js/files.js:712
+#: js/files.js:783
msgid "error while scanning"
-msgstr ""
+msgstr "villa við skimun"
-#: js/files.js:785 templates/index.php:65
+#: js/files.js:857 templates/index.php:64
msgid "Name"
-msgstr ""
+msgstr "Nafn"
-#: js/files.js:786 templates/index.php:76
+#: js/files.js:858 templates/index.php:75
msgid "Size"
-msgstr ""
+msgstr "Stærð"
-#: js/files.js:787 templates/index.php:78
+#: js/files.js:859 templates/index.php:77
msgid "Modified"
-msgstr ""
+msgstr "Breytt"
-#: js/files.js:814
+#: js/files.js:878
msgid "1 folder"
-msgstr ""
+msgstr "1 mappa"
-#: js/files.js:816
+#: js/files.js:880
msgid "{count} folders"
-msgstr ""
+msgstr "{count} möppur"
-#: js/files.js:824
+#: js/files.js:888
msgid "1 file"
-msgstr ""
+msgstr "1 skrá"
-#: js/files.js:826
+#: js/files.js:890
msgid "{count} files"
-msgstr ""
+msgstr "{count} skrár"
#: templates/admin.php:5
msgid "File handling"
-msgstr ""
+msgstr "Meðhöndlun skrár"
#: templates/admin.php:7
msgid "Maximum upload size"
-msgstr ""
+msgstr "Hámarks stærð innsendingar"
-#: templates/admin.php:9
+#: templates/admin.php:10
msgid "max. possible: "
-msgstr ""
+msgstr "hámark mögulegt: "
-#: templates/admin.php:12
+#: templates/admin.php:15
msgid "Needed for multi-file and folder downloads."
-msgstr ""
+msgstr "Nauðsynlegt til að sækja margar skrár og möppur í einu."
-#: templates/admin.php:14
+#: templates/admin.php:17
msgid "Enable ZIP-download"
-msgstr ""
+msgstr "Virkja ZIP niðurhal."
-#: templates/admin.php:17
+#: templates/admin.php:20
msgid "0 is unlimited"
-msgstr ""
+msgstr "0 er ótakmarkað"
-#: templates/admin.php:19
+#: templates/admin.php:22
msgid "Maximum input size for ZIP files"
-msgstr ""
+msgstr "Hámarks inntaksstærð fyrir ZIP skrár"
-#: templates/admin.php:23
+#: templates/admin.php:26
msgid "Save"
-msgstr ""
+msgstr "Vista"
#: templates/index.php:7
msgid "New"
-msgstr ""
+msgstr "Nýtt"
#: templates/index.php:10
msgid "Text file"
-msgstr ""
+msgstr "Texta skrá"
#: templates/index.php:12
msgid "Folder"
-msgstr ""
+msgstr "Mappa"
#: templates/index.php:14
msgid "From link"
-msgstr ""
-
-#: templates/index.php:35
-msgid "Upload"
-msgstr ""
+msgstr "Af tengli"
-#: templates/index.php:43
+#: templates/index.php:41
msgid "Cancel upload"
-msgstr ""
+msgstr "Hætta við innsendingu"
-#: templates/index.php:57
+#: templates/index.php:56
msgid "Nothing in here. Upload something!"
-msgstr ""
+msgstr "Ekkert hér. Settu eitthvað inn!"
-#: templates/index.php:71
+#: templates/index.php:70
msgid "Download"
-msgstr ""
+msgstr "Niðurhal"
-#: templates/index.php:103
+#: templates/index.php:102
msgid "Upload too large"
-msgstr ""
+msgstr "Innsend skrá er of stór"
-#: templates/index.php:105
+#: templates/index.php:104
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
-msgstr ""
+msgstr "Skrárnar sem þú ert að senda inn eru stærri en hámarks innsendingarstærð á þessum netþjóni."
-#: templates/index.php:110
+#: templates/index.php:109
msgid "Files are being scanned, please wait."
-msgstr ""
+msgstr "Verið er að skima skrár, vinsamlegast hinkraðu."
-#: templates/index.php:113
+#: templates/index.php:112
msgid "Current scanning"
-msgstr ""
+msgstr "Er að skima"
diff --git a/l10n/is/files_encryption.po b/l10n/is/files_encryption.po
index aba8a60b74f..b46b5ff3c18 100644
--- a/l10n/is/files_encryption.po
+++ b/l10n/is/files_encryption.po
@@ -3,13 +3,14 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# <sveinng@gmail.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-06 00:11+0100\n"
-"PO-Revision-Date: 2012-08-12 22:33+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Icelandic (http://www.transifex.com/projects/p/owncloud/language/is/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -17,18 +18,66 @@ msgstr ""
"Language: is\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: templates/settings.php:3
-msgid "Encryption"
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
msgstr ""
-#: templates/settings.php:4
-msgid "Exclude the following file types from encryption"
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
msgstr ""
-#: templates/settings.php:5
-msgid "None"
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
msgstr ""
-#: templates/settings.php:12
-msgid "Enable Encryption"
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
+msgid "Encryption"
+msgstr "Dulkóðun"
+
+#: templates/settings.php:67
+msgid "Exclude the following file types from encryption"
+msgstr "Undanskilja eftirfarandi skráartegundir frá dulkóðun"
+
+#: templates/settings.php:71
+msgid "None"
+msgstr "Ekkert"
diff --git a/l10n/is/files_external.po b/l10n/is/files_external.po
index a62f4ed1e0a..1e8fbe75517 100644
--- a/l10n/is/files_external.po
+++ b/l10n/is/files_external.po
@@ -3,13 +3,14 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# <sveinng@gmail.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-13 00:17+0100\n"
-"PO-Revision-Date: 2012-12-11 23:22+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2012-12-31 00:04+0100\n"
+"PO-Revision-Date: 2012-12-30 18:22+0000\n"
+"Last-Translator: sveinn <sveinng@gmail.com>\n"
"Language-Team: Icelandic (http://www.transifex.com/projects/p/owncloud/language/is/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -19,102 +20,102 @@ msgstr ""
#: js/dropbox.js:7 js/dropbox.js:25 js/google.js:7 js/google.js:23
msgid "Access granted"
-msgstr ""
+msgstr "Aðgengi veitt"
#: js/dropbox.js:28 js/dropbox.js:74 js/dropbox.js:79 js/dropbox.js:86
msgid "Error configuring Dropbox storage"
-msgstr ""
+msgstr "Villa við að setja upp Dropbox gagnasvæði"
#: js/dropbox.js:34 js/dropbox.js:45 js/google.js:31 js/google.js:40
msgid "Grant access"
-msgstr ""
+msgstr "Veita aðgengi"
#: js/dropbox.js:73 js/google.js:72
msgid "Fill out all required fields"
-msgstr ""
+msgstr "Fylltu út alla skilyrta reiti"
#: js/dropbox.js:85
msgid "Please provide a valid Dropbox app key and secret."
-msgstr ""
+msgstr "Gefðu upp virkan Dropbox lykil og leynikóða"
#: js/google.js:26 js/google.js:73 js/google.js:78
msgid "Error configuring Google Drive storage"
-msgstr ""
+msgstr "Villa kom upp við að setja upp Google Drive gagnasvæði"
#: lib/config.php:434
msgid ""
"<b>Warning:</b> \"smbclient\" is not installed. Mounting of CIFS/SMB shares "
"is not possible. Please ask your system administrator to install it."
-msgstr ""
+msgstr "<b>Aðvörun:</b> \"smbclient\" er ekki uppsettur. Uppsetning á CIFS/SMB gagnasvæðum er ekki möguleg. Hafðu samband við kerfisstjóra til að fá hann uppsettan."
#: lib/config.php:435
msgid ""
"<b>Warning:</b> The FTP support in PHP is not enabled or installed. Mounting"
" of FTP shares is not possible. Please ask your system administrator to "
"install it."
-msgstr ""
+msgstr "<b>Aðvörun:</b> FTP stuðningur í PHP er ekki virkur. Uppsetning á FTP gagnasvæðum er ekki möguleg. Hafðu samband við kerfisstjóra til að fá hann uppsettan."
#: templates/settings.php:3
msgid "External Storage"
-msgstr ""
+msgstr "Ytri gagnageymsla"
#: templates/settings.php:8 templates/settings.php:22
msgid "Mount point"
-msgstr ""
+msgstr "Mount svæði"
#: templates/settings.php:9
msgid "Backend"
-msgstr ""
+msgstr "Stjórnun"
#: templates/settings.php:10
msgid "Configuration"
-msgstr ""
+msgstr "Uppsetning"
#: templates/settings.php:11
msgid "Options"
-msgstr ""
+msgstr "Stillingar"
#: templates/settings.php:12
msgid "Applicable"
-msgstr ""
+msgstr "Gilt"
#: templates/settings.php:27
msgid "Add mount point"
-msgstr ""
+msgstr "Bæta við mount svæði"
#: templates/settings.php:85
msgid "None set"
-msgstr ""
+msgstr "Ekkert sett"
#: templates/settings.php:86
msgid "All Users"
-msgstr ""
+msgstr "Allir notendur"
#: templates/settings.php:87
msgid "Groups"
-msgstr ""
+msgstr "Hópar"
#: templates/settings.php:95
msgid "Users"
-msgstr ""
+msgstr "Notendur"
#: templates/settings.php:108 templates/settings.php:109
-#: templates/settings.php:149 templates/settings.php:150
+#: templates/settings.php:144 templates/settings.php:145
msgid "Delete"
-msgstr ""
+msgstr "Eyða"
#: templates/settings.php:124
msgid "Enable User External Storage"
-msgstr ""
+msgstr "Virkja ytra gagnasvæði notenda"
#: templates/settings.php:125
msgid "Allow users to mount their own external storage"
-msgstr ""
+msgstr "Leyfa notendum að bæta við sínum eigin ytri gagnasvæðum"
-#: templates/settings.php:139
+#: templates/settings.php:136
msgid "SSL root certificates"
-msgstr ""
+msgstr "SSL rótar skilríki"
-#: templates/settings.php:158
+#: templates/settings.php:153
msgid "Import Root Certificate"
-msgstr ""
+msgstr "Flytja inn rótar skilríki"
diff --git a/l10n/is/files_sharing.po b/l10n/is/files_sharing.po
index 1d9102f0849..d37c6475559 100644
--- a/l10n/is/files_sharing.po
+++ b/l10n/is/files_sharing.po
@@ -3,13 +3,14 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# <sveinng@gmail.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-06 00:11+0100\n"
-"PO-Revision-Date: 2012-08-12 22:35+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2012-12-31 00:04+0100\n"
+"PO-Revision-Date: 2012-12-30 15:08+0000\n"
+"Last-Translator: sveinn <sveinng@gmail.com>\n"
"Language-Team: Icelandic (http://www.transifex.com/projects/p/owncloud/language/is/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -19,30 +20,30 @@ msgstr ""
#: templates/authenticate.php:4
msgid "Password"
-msgstr ""
+msgstr "Lykilorð"
#: templates/authenticate.php:6
msgid "Submit"
-msgstr ""
+msgstr "Senda"
#: templates/public.php:17
#, php-format
msgid "%s shared the folder %s with you"
-msgstr ""
+msgstr "%s deildi möppunni %s með þér"
#: templates/public.php:19
#, php-format
msgid "%s shared the file %s with you"
-msgstr ""
+msgstr "%s deildi skránni %s með þér"
#: templates/public.php:22 templates/public.php:38
msgid "Download"
-msgstr ""
+msgstr "Niðurhal"
#: templates/public.php:37
msgid "No preview available for"
-msgstr ""
+msgstr "Yfirlit ekki í boði fyrir"
#: templates/public.php:43
msgid "web services under your control"
-msgstr ""
+msgstr "vefþjónusta undir þinni stjórn"
diff --git a/l10n/is/files_versions.po b/l10n/is/files_versions.po
index 82fb0358475..1a0acfa5b88 100644
--- a/l10n/is/files_versions.po
+++ b/l10n/is/files_versions.po
@@ -3,13 +3,14 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# <sveinng@gmail.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-06 00:11+0100\n"
-"PO-Revision-Date: 2012-08-12 22:37+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Icelandic (http://www.transifex.com/projects/p/owncloud/language/is/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -17,26 +18,14 @@ msgstr ""
"Language: is\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: js/settings-personal.js:31 templates/settings-personal.php:10
-msgid "Expire all versions"
-msgstr ""
-
#: js/versions.js:16
msgid "History"
-msgstr ""
-
-#: templates/settings-personal.php:4
-msgid "Versions"
-msgstr ""
-
-#: templates/settings-personal.php:7
-msgid "This will delete all existing backup versions of your files"
-msgstr ""
+msgstr "Saga"
#: templates/settings.php:3
msgid "Files Versioning"
-msgstr ""
+msgstr "Útgáfur af skrám"
#: templates/settings.php:4
msgid "Enable"
-msgstr ""
+msgstr "Virkja"
diff --git a/l10n/is/lib.po b/l10n/is/lib.po
index 8531c69aa27..e6b54f855f2 100644
--- a/l10n/is/lib.po
+++ b/l10n/is/lib.po
@@ -3,13 +3,14 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# <sveinng@gmail.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-06 00:11+0100\n"
-"PO-Revision-Date: 2012-07-27 22:23+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2013-01-17 00:26+0100\n"
+"PO-Revision-Date: 2013-01-16 23:26+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Icelandic (http://www.transifex.com/projects/p/owncloud/language/is/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -17,136 +18,140 @@ msgstr ""
"Language: is\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: app.php:287
+#: app.php:301
msgid "Help"
-msgstr ""
+msgstr "Hjálp"
-#: app.php:294
+#: app.php:308
msgid "Personal"
-msgstr ""
+msgstr "Um mig"
-#: app.php:299
+#: app.php:313
msgid "Settings"
-msgstr ""
+msgstr "Stillingar"
-#: app.php:304
+#: app.php:318
msgid "Users"
-msgstr ""
+msgstr "Notendur"
-#: app.php:311
+#: app.php:325
msgid "Apps"
-msgstr ""
+msgstr "Forrit"
-#: app.php:313
+#: app.php:327
msgid "Admin"
-msgstr ""
+msgstr "Stjórnun"
-#: files.php:361
+#: files.php:365
msgid "ZIP download is turned off."
-msgstr ""
+msgstr "Slökkt á ZIP niðurhali."
-#: files.php:362
+#: files.php:366
msgid "Files need to be downloaded one by one."
-msgstr ""
+msgstr "Skrárnar verður að sækja eina og eina"
-#: files.php:362 files.php:387
+#: files.php:366 files.php:391
msgid "Back to Files"
-msgstr ""
+msgstr "Aftur í skrár"
-#: files.php:386
+#: files.php:390
msgid "Selected files too large to generate zip file."
+msgstr "Valdar skrár eru of stórar til að búa til ZIP skrá."
+
+#: helper.php:228
+msgid "couldn't be determined"
msgstr ""
#: json.php:28
msgid "Application is not enabled"
-msgstr ""
+msgstr "Forrit ekki virkt"
-#: json.php:39 json.php:64 json.php:77 json.php:89
+#: json.php:39 json.php:62 json.php:73
msgid "Authentication error"
-msgstr ""
+msgstr "Villa við auðkenningu"
#: json.php:51
msgid "Token expired. Please reload page."
-msgstr ""
+msgstr "Auðkenning útrunnin. Vinsamlegast skráðu þig aftur inn."
#: search/provider/file.php:17 search/provider/file.php:35
msgid "Files"
-msgstr ""
+msgstr "Skrár"
#: search/provider/file.php:26 search/provider/file.php:33
msgid "Text"
-msgstr ""
+msgstr "Texti"
#: search/provider/file.php:29
msgid "Images"
-msgstr ""
+msgstr "Myndir"
-#: template.php:103
+#: template.php:113
msgid "seconds ago"
-msgstr ""
+msgstr "sek."
-#: template.php:104
+#: template.php:114
msgid "1 minute ago"
-msgstr ""
+msgstr "Fyrir 1 mínútu"
-#: template.php:105
+#: template.php:115
#, php-format
msgid "%d minutes ago"
-msgstr ""
+msgstr "fyrir %d mínútum"
-#: template.php:106
+#: template.php:116
msgid "1 hour ago"
-msgstr ""
+msgstr "Fyrir 1 klst."
-#: template.php:107
+#: template.php:117
#, php-format
msgid "%d hours ago"
-msgstr ""
+msgstr "fyrir %d klst."
-#: template.php:108
+#: template.php:118
msgid "today"
-msgstr ""
+msgstr "í dag"
-#: template.php:109
+#: template.php:119
msgid "yesterday"
-msgstr ""
+msgstr "í gær"
-#: template.php:110
+#: template.php:120
#, php-format
msgid "%d days ago"
-msgstr ""
+msgstr "fyrir %d dögum"
-#: template.php:111
+#: template.php:121
msgid "last month"
-msgstr ""
+msgstr "síðasta mánuði"
-#: template.php:112
+#: template.php:122
#, php-format
msgid "%d months ago"
-msgstr ""
+msgstr "fyrir %d mánuðum"
-#: template.php:113
+#: template.php:123
msgid "last year"
-msgstr ""
+msgstr "síðasta ári"
-#: template.php:114
+#: template.php:124
msgid "years ago"
-msgstr ""
+msgstr "einhverjum árum"
#: updater.php:75
#, php-format
msgid "%s is available. Get <a href=\"%s\">more information</a>"
-msgstr ""
+msgstr "%s er í boði. Sækja <a href=\"%s\">meiri upplýsingar</a>"
#: updater.php:77
msgid "up to date"
-msgstr ""
+msgstr "nýjasta útgáfa"
#: updater.php:80
msgid "updates check is disabled"
-msgstr ""
+msgstr "uppfærslupróf er ekki virkjað"
#: vcategories.php:188 vcategories.php:249
#, php-format
msgid "Could not find category \"%s\""
-msgstr ""
+msgstr "Fann ekki flokkinn \"%s\""
diff --git a/l10n/is/settings.po b/l10n/is/settings.po
index 5872b39972e..0c0579cec5d 100644
--- a/l10n/is/settings.po
+++ b/l10n/is/settings.po
@@ -3,12 +3,13 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# <sveinng@gmail.com>, 2012-2013.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-20 00:11+0100\n"
-"PO-Revision-Date: 2012-12-19 23:11+0000\n"
+"POT-Creation-Date: 2013-01-12 00:09+0100\n"
+"PO-Revision-Date: 2013-01-11 23:09+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Icelandic (http://www.transifex.com/projects/p/owncloud/language/is/)\n"
"MIME-Version: 1.0\n"
@@ -19,206 +20,202 @@ msgstr ""
#: ajax/apps/ocs.php:20
msgid "Unable to load list from App Store"
-msgstr ""
+msgstr "Ekki tókst að hlaða lista frá forrita síðu"
#: ajax/creategroup.php:10
msgid "Group already exists"
-msgstr ""
+msgstr "Hópur er þegar til"
#: ajax/creategroup.php:19
msgid "Unable to add group"
-msgstr ""
+msgstr "Ekki tókst að bæta við hóp"
-#: ajax/enableapp.php:12
+#: ajax/enableapp.php:11
msgid "Could not enable app. "
-msgstr ""
+msgstr "Gat ekki virkjað forrit"
#: ajax/lostpassword.php:12
msgid "Email saved"
-msgstr ""
+msgstr "Netfang vistað"
#: ajax/lostpassword.php:14
msgid "Invalid email"
-msgstr ""
-
-#: ajax/openid.php:13
-msgid "OpenID Changed"
-msgstr ""
-
-#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20
-msgid "Invalid request"
-msgstr ""
+msgstr "Ógilt netfang"
#: ajax/removegroup.php:13
msgid "Unable to delete group"
-msgstr ""
+msgstr "Ekki tókst að eyða hóp"
#: ajax/removeuser.php:15 ajax/setquota.php:15 ajax/togglegroups.php:18
msgid "Authentication error"
-msgstr ""
+msgstr "Villa við auðkenningu"
#: ajax/removeuser.php:24
msgid "Unable to delete user"
-msgstr ""
+msgstr "Ekki tókst að eyða notenda"
#: ajax/setlanguage.php:15
msgid "Language changed"
-msgstr ""
+msgstr "Tungumáli breytt"
+
+#: ajax/setlanguage.php:17 ajax/setlanguage.php:20
+msgid "Invalid request"
+msgstr "Ógild fyrirspurn"
#: ajax/togglegroups.php:12
msgid "Admins can't remove themself from the admin group"
-msgstr ""
+msgstr "Stjórnendur geta ekki fjarlægt sjálfa sig úr stjórnendahóp"
#: ajax/togglegroups.php:28
#, php-format
msgid "Unable to add user to group %s"
-msgstr ""
+msgstr "Ekki tókst að bæta notenda við hópinn %s"
#: ajax/togglegroups.php:34
#, php-format
msgid "Unable to remove user from group %s"
-msgstr ""
+msgstr "Ekki tókst að fjarlægja notanda úr hópnum %s"
#: js/apps.js:28 js/apps.js:67
msgid "Disable"
-msgstr ""
+msgstr "Gera óvirkt"
#: js/apps.js:28 js/apps.js:55
msgid "Enable"
-msgstr ""
+msgstr "Virkja"
#: js/personal.js:69
msgid "Saving..."
-msgstr ""
+msgstr "Er að vista ..."
#: personal.php:42 personal.php:43
msgid "__language_name__"
-msgstr ""
+msgstr "__nafn_tungumáls__"
#: templates/apps.php:10
msgid "Add your App"
-msgstr ""
+msgstr "Bæta við forriti"
#: templates/apps.php:11
msgid "More Apps"
-msgstr ""
+msgstr "Fleiri forrit"
#: templates/apps.php:27
msgid "Select an App"
-msgstr ""
+msgstr "Veldu forrit"
#: templates/apps.php:31
msgid "See application page at apps.owncloud.com"
-msgstr ""
+msgstr "Skoða síðu forrits hjá apps.owncloud.com"
#: templates/apps.php:32
msgid "<span class=\"licence\"></span>-licensed by <span class=\"author\"></span>"
-msgstr ""
+msgstr "<span class=\"licence\"></span>-leyfi skráð af <span class=\"author\"></span>"
#: templates/help.php:3
msgid "User Documentation"
-msgstr ""
+msgstr "Notenda handbók"
#: templates/help.php:4
msgid "Administrator Documentation"
-msgstr ""
+msgstr "Stjórnenda handbók"
#: templates/help.php:6
msgid "Online Documentation"
-msgstr ""
+msgstr "Handbók á netinu"
#: templates/help.php:7
msgid "Forum"
-msgstr ""
+msgstr "Vefspjall"
#: templates/help.php:9
msgid "Bugtracker"
-msgstr ""
+msgstr "Villubókhald"
#: templates/help.php:11
msgid "Commercial Support"
-msgstr ""
+msgstr "Borgaður stuðningur"
#: templates/personal.php:8
#, php-format
msgid "You have used <strong>%s</strong> of the available <strong>%s</strong>"
-msgstr ""
+msgstr "Þú hefur notað <strong>%s</strong> af tiltæku <strong>%s</strong>"
#: templates/personal.php:12
msgid "Clients"
-msgstr ""
+msgstr "Notendahugbúnaður"
#: templates/personal.php:13
msgid "Download Desktop Clients"
-msgstr ""
+msgstr "Hlaða niður notendahugbúnaði"
#: templates/personal.php:14
msgid "Download Android Client"
-msgstr ""
+msgstr "Hlaða niður Andoid hugbúnaði"
#: templates/personal.php:15
msgid "Download iOS Client"
-msgstr ""
+msgstr "Hlaða niður iOS hugbúnaði"
-#: templates/personal.php:21 templates/users.php:23 templates/users.php:77
+#: templates/personal.php:21 templates/users.php:23 templates/users.php:82
msgid "Password"
-msgstr ""
+msgstr "Lykilorð"
#: templates/personal.php:22
msgid "Your password was changed"
-msgstr ""
+msgstr "Lykilorði þínu hefur verið breytt"
#: templates/personal.php:23
msgid "Unable to change your password"
-msgstr ""
+msgstr "Ekki tókst að breyta lykilorðinu þínu"
#: templates/personal.php:24
msgid "Current password"
-msgstr ""
+msgstr "Núverandi lykilorð"
#: templates/personal.php:25
msgid "New password"
-msgstr ""
+msgstr "Nýtt lykilorð"
#: templates/personal.php:26
msgid "show"
-msgstr ""
+msgstr "sýna"
#: templates/personal.php:27
msgid "Change password"
-msgstr ""
+msgstr "Breyta lykilorði"
#: templates/personal.php:33
msgid "Email"
-msgstr ""
+msgstr "Netfang"
#: templates/personal.php:34
msgid "Your email address"
-msgstr ""
+msgstr "Netfangið þitt"
#: templates/personal.php:35
msgid "Fill in an email address to enable password recovery"
-msgstr ""
+msgstr "Sláðu inn netfangið þitt til að virkja endurheimt á lykilorði"
#: templates/personal.php:41 templates/personal.php:42
msgid "Language"
-msgstr ""
+msgstr "Tungumál"
#: templates/personal.php:47
msgid "Help translate"
-msgstr ""
+msgstr "Hjálpa við þýðingu"
#: templates/personal.php:52
msgid "WebDAV"
-msgstr ""
+msgstr "WebDAV"
#: templates/personal.php:54
msgid "Use this address to connect to your ownCloud in your file manager"
-msgstr ""
+msgstr "Notaðu þessa vefslóð til að tengjast ownCloud svæðinu þínu"
#: templates/personal.php:63
msgid "Version"
-msgstr ""
+msgstr "Útgáfa"
#: templates/personal.php:65
msgid ""
@@ -228,36 +225,44 @@ 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 ""
+msgstr "Þróað af <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud samfélaginu</a>, <a href=\"https://github.com/owncloud\" target=\"_blank\">forrita kóðinn</a> er skráðu með <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>."
-#: templates/users.php:21 templates/users.php:76
+#: templates/users.php:21 templates/users.php:81
msgid "Name"
-msgstr ""
+msgstr "Nafn"
-#: templates/users.php:26 templates/users.php:78 templates/users.php:98
+#: templates/users.php:26 templates/users.php:83 templates/users.php:103
msgid "Groups"
-msgstr ""
+msgstr "Hópar"
#: templates/users.php:32
msgid "Create"
-msgstr ""
+msgstr "Búa til"
#: templates/users.php:35
-msgid "Default Quota"
-msgstr ""
+msgid "Default Storage"
+msgstr "Sjálfgefin gagnageymsla"
-#: templates/users.php:55 templates/users.php:138
+#: templates/users.php:42 templates/users.php:138
+msgid "Unlimited"
+msgstr "Ótakmarkað"
+
+#: templates/users.php:60 templates/users.php:153
msgid "Other"
-msgstr ""
+msgstr "Annað"
-#: templates/users.php:80 templates/users.php:112
+#: templates/users.php:85 templates/users.php:117
msgid "Group Admin"
-msgstr ""
+msgstr "Hópstjóri"
-#: templates/users.php:82
-msgid "Quota"
-msgstr ""
+#: templates/users.php:87
+msgid "Storage"
+msgstr "gagnapláss"
-#: templates/users.php:146
+#: templates/users.php:133
+msgid "Default"
+msgstr "Sjálfgefið"
+
+#: templates/users.php:161
msgid "Delete"
-msgstr ""
+msgstr "Eyða"
diff --git a/l10n/is/user_ldap.po b/l10n/is/user_ldap.po
index 06ab3b51ea6..98dfe70c84e 100644
--- a/l10n/is/user_ldap.po
+++ b/l10n/is/user_ldap.po
@@ -3,12 +3,13 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# <sveinng@gmail.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-15 00:11+0100\n"
-"PO-Revision-Date: 2012-12-14 23:11+0000\n"
+"POT-Creation-Date: 2013-01-16 00:19+0100\n"
+"PO-Revision-Date: 2013-01-15 23:20+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Icelandic (http://www.transifex.com/projects/p/owncloud/language/is/)\n"
"MIME-Version: 1.0\n"
@@ -26,13 +27,13 @@ msgstr ""
#: templates/settings.php:11
msgid ""
-"<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will"
-" not work. Please ask your system administrator to install it."
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not "
+"work. Please ask your system administrator to install it."
msgstr ""
#: templates/settings.php:15
msgid "Host"
-msgstr ""
+msgstr "Netþjónn"
#: templates/settings.php:15
msgid ""
@@ -44,6 +45,10 @@ msgid "Base DN"
msgstr ""
#: templates/settings.php:16
+msgid "One Base DN per line"
+msgstr ""
+
+#: templates/settings.php:16
msgid "You can specify Base DN for users and groups in the Advanced tab"
msgstr ""
@@ -60,7 +65,7 @@ msgstr ""
#: templates/settings.php:18
msgid "Password"
-msgstr ""
+msgstr "Lykilorð"
#: templates/settings.php:18
msgid "For anonymous access, leave DN and Password empty."
@@ -114,10 +119,18 @@ msgstr ""
msgid "Base User Tree"
msgstr ""
+#: templates/settings.php:25
+msgid "One User Base DN per line"
+msgstr ""
+
#: templates/settings.php:26
msgid "Base Group Tree"
msgstr ""
+#: templates/settings.php:26
+msgid "One Group Base DN per line"
+msgstr ""
+
#: templates/settings.php:27
msgid "Group-Member association"
msgstr ""
@@ -180,4 +193,4 @@ msgstr ""
#: templates/settings.php:39
msgid "Help"
-msgstr ""
+msgstr "Hjálp"
diff --git a/l10n/is/user_webdavauth.po b/l10n/is/user_webdavauth.po
index 378e437e2a3..8bf05572184 100644
--- a/l10n/is/user_webdavauth.po
+++ b/l10n/is/user_webdavauth.po
@@ -3,12 +3,13 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# <sveinng@gmail.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-20 00:11+0100\n"
-"PO-Revision-Date: 2012-12-19 23:12+0000\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Icelandic (http://www.transifex.com/projects/p/owncloud/language/is/)\n"
"MIME-Version: 1.0\n"
@@ -17,13 +18,17 @@ msgstr ""
"Language: is\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+#: templates/settings.php:3
+msgid "WebDAV Authentication"
+msgstr ""
+
#: templates/settings.php:4
msgid "URL: http://"
-msgstr ""
+msgstr "Vefslóð: http://"
#: templates/settings.php:6
msgid ""
-"ownCloud will send the user credentials to this URL is interpret http 401 "
-"and http 403 as credentials wrong and all other codes as credentials "
-"correct."
+"ownCloud will send the user credentials to this URL. 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 ""
diff --git a/l10n/it/core.po b/l10n/it/core.po
index d1d6f74af3f..5db447c37b6 100644
--- a/l10n/it/core.po
+++ b/l10n/it/core.po
@@ -7,14 +7,14 @@
# Francesco Apruzzese <cescoap@gmail.com>, 2011, 2012.
# <marco@carnazzo.it>, 2011, 2012.
# <rb.colombo@gmail.com>, 2011.
-# Vincenzo Reale <vinx.reale@gmail.com>, 2012.
+# Vincenzo Reale <vinx.reale@gmail.com>, 2012-2013.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-15 00:11+0100\n"
-"PO-Revision-Date: 2012-12-14 08:54+0000\n"
-"Last-Translator: Vincenzo Reale <vinx.reale@gmail.com>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:03+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -88,55 +88,55 @@ msgstr "Errore durante la rimozione di %s dai preferiti."
msgid "Settings"
msgstr "Impostazioni"
-#: js/js.js:704
+#: js/js.js:711
msgid "seconds ago"
msgstr "secondi fa"
-#: js/js.js:705
+#: js/js.js:712
msgid "1 minute ago"
msgstr "Un minuto fa"
-#: js/js.js:706
+#: js/js.js:713
msgid "{minutes} minutes ago"
msgstr "{minutes} minuti fa"
-#: js/js.js:707
+#: js/js.js:714
msgid "1 hour ago"
msgstr "1 ora fa"
-#: js/js.js:708
+#: js/js.js:715
msgid "{hours} hours ago"
msgstr "{hours} ore fa"
-#: js/js.js:709
+#: js/js.js:716
msgid "today"
msgstr "oggi"
-#: js/js.js:710
+#: js/js.js:717
msgid "yesterday"
msgstr "ieri"
-#: js/js.js:711
+#: js/js.js:718
msgid "{days} days ago"
msgstr "{days} giorni fa"
-#: js/js.js:712
+#: js/js.js:719
msgid "last month"
msgstr "mese scorso"
-#: js/js.js:713
+#: js/js.js:720
msgid "{months} months ago"
msgstr "{months} mesi fa"
-#: js/js.js:714
+#: js/js.js:721
msgid "months ago"
msgstr "mesi fa"
-#: js/js.js:715
+#: js/js.js:722
msgid "last year"
msgstr "anno scorso"
-#: js/js.js:716
+#: js/js.js:723
msgid "years ago"
msgstr "anni fa"
@@ -166,8 +166,8 @@ msgid "The object type is not specified."
msgstr "Il tipo di oggetto non è specificato."
#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136
-#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:541
-#: js/share.js:553
+#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:554
+#: js/share.js:566
msgid "Error"
msgstr "Errore"
@@ -179,7 +179,7 @@ msgstr "Il nome dell'applicazione non è specificato."
msgid "The required file {file} is not installed!"
msgstr "Il file richiesto {file} non è installato!"
-#: js/share.js:124 js/share.js:581
+#: js/share.js:124 js/share.js:594
msgid "Error while sharing"
msgstr "Errore durante la condivisione"
@@ -207,12 +207,11 @@ msgstr "Condividi con"
msgid "Share with link"
msgstr "Condividi con collegamento"
-#: js/share.js:164
+#: js/share.js:166
msgid "Password protect"
msgstr "Proteggi con password"
-#: js/share.js:168 templates/installation.php:44 templates/login.php:26
-#: templates/verify.php:13
+#: js/share.js:168 templates/installation.php:44 templates/login.php:35
msgid "Password"
msgstr "Password"
@@ -276,23 +275,23 @@ msgstr "eliminare"
msgid "share"
msgstr "condividere"
-#: js/share.js:353 js/share.js:528 js/share.js:530
+#: js/share.js:356 js/share.js:541
msgid "Password protected"
msgstr "Protetta da password"
-#: js/share.js:541
+#: js/share.js:554
msgid "Error unsetting expiration date"
msgstr "Errore durante la rimozione della data di scadenza"
-#: js/share.js:553
+#: js/share.js:566
msgid "Error setting expiration date"
msgstr "Errore durante l'impostazione della data di scadenza"
-#: js/share.js:568
+#: js/share.js:581
msgid "Sending ..."
msgstr "Invio in corso..."
-#: js/share.js:579
+#: js/share.js:592
msgid "Email sent"
msgstr "Messaggio inviato"
@@ -317,7 +316,7 @@ msgid "Request failed!"
msgstr "Richiesta non riuscita!"
#: lostpassword/templates/lostpassword.php:11 templates/installation.php:39
-#: templates/login.php:21
+#: templates/login.php:28
msgid "Username"
msgstr "Nome utente"
@@ -531,36 +530,32 @@ msgstr "servizi web nelle tue mani"
msgid "Log out"
msgstr "Esci"
-#: templates/login.php:8
+#: templates/login.php:10
msgid "Automatic logon rejected!"
msgstr "Accesso automatico rifiutato."
-#: templates/login.php:9
+#: templates/login.php:11
msgid ""
"If you did not change your password recently, your account may be "
"compromised!"
msgstr "Se non hai cambiato la password recentemente, il tuo account potrebbe essere stato compromesso."
-#: templates/login.php:10
+#: templates/login.php:13
msgid "Please change your password to secure your account again."
msgstr "Cambia la password per rendere nuovamente sicuro il tuo account."
-#: templates/login.php:15
+#: templates/login.php:19
msgid "Lost your password?"
msgstr "Hai perso la password?"
-#: templates/login.php:29
+#: templates/login.php:39
msgid "remember"
msgstr "ricorda"
-#: templates/login.php:30
+#: templates/login.php:41
msgid "Log in"
msgstr "Accedi"
-#: templates/logout.php:1
-msgid "You are logged out."
-msgstr "Sei uscito."
-
#: templates/part.pagenavi.php:3
msgid "prev"
msgstr "precedente"
@@ -569,16 +564,7 @@ msgstr "precedente"
msgid "next"
msgstr "successivo"
-#: templates/verify.php:5
-msgid "Security Warning!"
-msgstr "Avviso di sicurezza"
-
-#: templates/verify.php:6
-msgid ""
-"Please verify your password. <br/>For security reasons you may be "
-"occasionally asked to enter your password again."
-msgstr "Verifica la tua password.<br/>Per motivi di sicurezza, potresti ricevere una richiesta di digitare nuovamente la password."
-
-#: templates/verify.php:16
-msgid "Verify"
-msgstr "Verifica"
+#: templates/update.php:3
+#, php-format
+msgid "Updating ownCloud to version %s, this may take a while."
+msgstr "Aggiornamento di ownCloud alla versione %s in corso, potrebbe richiedere del tempo."
diff --git a/l10n/it/files.po b/l10n/it/files.po
index 062fa2906fd..bf7aa473141 100644
--- a/l10n/it/files.po
+++ b/l10n/it/files.po
@@ -6,13 +6,13 @@
# <cosenal@gmail.com>, 2011.
# Francesco Apruzzese <cescoap@gmail.com>, 2011.
# <marco@carnazzo.it>, 2012.
-# Vincenzo Reale <vinx.reale@gmail.com>, 2012.
+# Vincenzo Reale <vinx.reale@gmail.com>, 2012-2013.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-02 00:02+0100\n"
-"PO-Revision-Date: 2012-12-01 01:41+0000\n"
+"POT-Creation-Date: 2013-01-21 00:04+0100\n"
+"PO-Revision-Date: 2013-01-19 23:20+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"
@@ -21,46 +21,77 @@ msgstr ""
"Language: it\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+#: ajax/delete.php:28 ajax/getstoragestats.php:11 ajax/upload.php:17
+#: ajax/upload.php:76 templates/index.php:18
+msgid "Upload"
+msgstr "Carica"
+
+#: ajax/move.php:17
+#, php-format
+msgid "Could not move %s - File with this name already exists"
+msgstr "Impossibile spostare %s - un file con questo nome esiste già"
+
+#: ajax/move.php:24
+#, php-format
+msgid "Could not move %s"
+msgstr "Impossibile spostare %s"
+
+#: ajax/rename.php:19
+msgid "Unable to rename file"
+msgstr "Impossibile rinominare il file"
+
#: ajax/upload.php:20
+msgid "No file was uploaded. Unknown error"
+msgstr "Nessun file è stato inviato. Errore sconosciuto"
+
+#: ajax/upload.php:30
msgid "There is no error, the file uploaded with success"
msgstr "Non ci sono errori, file caricato con successo"
-#: ajax/upload.php:21
+#: ajax/upload.php:31
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr "Il file caricato supera la direttiva upload_max_filesize in php.ini:"
-#: ajax/upload.php:23
+#: ajax/upload.php:33
msgid ""
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
"the HTML form"
msgstr "Il file caricato supera il valore MAX_FILE_SIZE definito nel form HTML"
-#: ajax/upload.php:25
+#: ajax/upload.php:35
msgid "The uploaded file was only partially uploaded"
msgstr "Il file è stato parzialmente caricato"
-#: ajax/upload.php:26
+#: ajax/upload.php:36
msgid "No file was uploaded"
msgstr "Nessun file è stato caricato"
-#: ajax/upload.php:27
+#: ajax/upload.php:37
msgid "Missing a temporary folder"
msgstr "Cartella temporanea mancante"
-#: ajax/upload.php:28
+#: ajax/upload.php:38
msgid "Failed to write to disk"
msgstr "Scrittura su disco non riuscita"
+#: ajax/upload.php:57
+msgid "Not enough space available"
+msgstr "Spazio disponibile insufficiente"
+
+#: ajax/upload.php:91
+msgid "Invalid directory."
+msgstr "Cartella non valida."
+
#: appinfo/app.php:10
msgid "Files"
msgstr "File"
-#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84
+#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
msgid "Unshare"
msgstr "Rimuovi condivisione"
-#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90
+#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
msgid "Delete"
msgstr "Elimina"
@@ -68,122 +99,136 @@ msgstr "Elimina"
msgid "Rename"
msgstr "Rinomina"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "{new_name} already exists"
msgstr "{new_name} esiste già"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "replace"
msgstr "sostituisci"
-#: js/filelist.js:201
+#: js/filelist.js:205
msgid "suggest name"
msgstr "suggerisci nome"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "cancel"
msgstr "annulla"
-#: js/filelist.js:250
+#: js/filelist.js:254
msgid "replaced {new_name}"
msgstr "sostituito {new_name}"
-#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286
+#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
msgid "undo"
msgstr "annulla"
-#: js/filelist.js:252
+#: js/filelist.js:256
msgid "replaced {new_name} with {old_name}"
msgstr "sostituito {new_name} con {old_name}"
-#: js/filelist.js:284
+#: js/filelist.js:288
msgid "unshared {files}"
msgstr "non condivisi {files}"
-#: js/filelist.js:286
+#: js/filelist.js:290
msgid "deleted {files}"
msgstr "eliminati {files}"
-#: js/files.js:33
+#: js/files.js:48
+msgid "'.' is an invalid file name."
+msgstr "'.' non è un nome file valido."
+
+#: js/files.js:53
+msgid "File name cannot be empty."
+msgstr "Il nome del file non può essere vuoto."
+
+#: js/files.js:62
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr "Nome non valido, '\\', '/', '<', '>', ':', '\"', '|', '?' e '*' non sono consentiti."
-#: js/files.js:183
-msgid "generating ZIP-file, it may take some time."
-msgstr "creazione file ZIP, potrebbe richiedere del tempo."
+#: js/files.js:204
+msgid ""
+"Your download is being prepared. This might take some time if the files are "
+"big."
+msgstr "Il tuo scaricamento è in fase di preparazione. Ciò potrebbe richiedere del tempo se i file sono grandi."
-#: js/files.js:218
+#: js/files.js:242
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr "Impossibile inviare il file poiché è una cartella o ha dimensione 0 byte"
-#: js/files.js:218
+#: js/files.js:242
msgid "Upload Error"
msgstr "Errore di invio"
-#: js/files.js:235
+#: js/files.js:259
msgid "Close"
msgstr "Chiudi"
-#: js/files.js:254 js/files.js:368 js/files.js:398
+#: js/files.js:278 js/files.js:397 js/files.js:431
msgid "Pending"
msgstr "In corso"
-#: js/files.js:274
+#: js/files.js:298
msgid "1 file uploading"
msgstr "1 file in fase di caricamento"
-#: js/files.js:277 js/files.js:331 js/files.js:346
+#: js/files.js:301 js/files.js:357 js/files.js:372
msgid "{count} files uploading"
msgstr "{count} file in fase di caricamentoe"
-#: js/files.js:349 js/files.js:382
+#: js/files.js:376 js/files.js:414
msgid "Upload cancelled."
msgstr "Invio annullato"
-#: js/files.js:451
+#: js/files.js:486
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr "Caricamento del file in corso. La chiusura della pagina annullerà il caricamento."
-#: js/files.js:523
-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/files.js:559
+msgid "URL cannot be empty."
+msgstr "L'URL non può essere vuoto."
-#: js/files.js:704
+#: js/files.js:565
+msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
+msgstr "Nome della cartella non valido. L'uso di 'Shared' è riservato da ownCloud"
+
+#: js/files.js:775
msgid "{count} files scanned"
msgstr "{count} file analizzati"
-#: js/files.js:712
+#: js/files.js:783
msgid "error while scanning"
msgstr "errore durante la scansione"
-#: js/files.js:785 templates/index.php:65
+#: js/files.js:857 templates/index.php:64
msgid "Name"
msgstr "Nome"
-#: js/files.js:786 templates/index.php:76
+#: js/files.js:858 templates/index.php:75
msgid "Size"
msgstr "Dimensione"
-#: js/files.js:787 templates/index.php:78
+#: js/files.js:859 templates/index.php:77
msgid "Modified"
msgstr "Modificato"
-#: js/files.js:814
+#: js/files.js:878
msgid "1 folder"
msgstr "1 cartella"
-#: js/files.js:816
+#: js/files.js:880
msgid "{count} folders"
msgstr "{count} cartelle"
-#: js/files.js:824
+#: js/files.js:888
msgid "1 file"
msgstr "1 file"
-#: js/files.js:826
+#: js/files.js:890
msgid "{count} files"
msgstr "{count} file"
@@ -195,27 +240,27 @@ msgstr "Gestione file"
msgid "Maximum upload size"
msgstr "Dimensione massima upload"
-#: templates/admin.php:9
+#: templates/admin.php:10
msgid "max. possible: "
msgstr "numero mass.: "
-#: templates/admin.php:12
+#: templates/admin.php:15
msgid "Needed for multi-file and folder downloads."
msgstr "Necessario per lo scaricamento di file multipli e cartelle."
-#: templates/admin.php:14
+#: templates/admin.php:17
msgid "Enable ZIP-download"
msgstr "Abilita scaricamento ZIP"
-#: templates/admin.php:17
+#: templates/admin.php:20
msgid "0 is unlimited"
msgstr "0 è illimitato"
-#: templates/admin.php:19
+#: templates/admin.php:22
msgid "Maximum input size for ZIP files"
msgstr "Dimensione massima per i file ZIP"
-#: templates/admin.php:23
+#: templates/admin.php:26
msgid "Save"
msgstr "Salva"
@@ -235,36 +280,32 @@ msgstr "Cartella"
msgid "From link"
msgstr "Da collegamento"
-#: templates/index.php:35
-msgid "Upload"
-msgstr "Carica"
-
-#: templates/index.php:43
+#: templates/index.php:41
msgid "Cancel upload"
msgstr "Annulla invio"
-#: templates/index.php:57
+#: templates/index.php:56
msgid "Nothing in here. Upload something!"
msgstr "Non c'è niente qui. Carica qualcosa!"
-#: templates/index.php:71
+#: templates/index.php:70
msgid "Download"
msgstr "Scarica"
-#: templates/index.php:103
+#: templates/index.php:102
msgid "Upload too large"
msgstr "Il file caricato è troppo grande"
-#: templates/index.php:105
+#: templates/index.php:104
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:110
+#: templates/index.php:109
msgid "Files are being scanned, please wait."
msgstr "Scansione dei file in corso, attendi"
-#: templates/index.php:113
+#: templates/index.php:112
msgid "Current scanning"
msgstr "Scansione corrente"
diff --git a/l10n/it/files_encryption.po b/l10n/it/files_encryption.po
index 573a32a14a5..98ad3bf4627 100644
--- a/l10n/it/files_encryption.po
+++ b/l10n/it/files_encryption.po
@@ -3,33 +3,81 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
-# Vincenzo Reale <vinx.reale@gmail.com>, 2012.
+# Vincenzo Reale <vinx.reale@gmail.com>, 2012-2013.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-08-15 02:02+0200\n"
-"PO-Revision-Date: 2012-08-14 11:49+0000\n"
+"POT-Creation-Date: 2013-01-24 00:06+0100\n"
+"PO-Revision-Date: 2013-01-23 14:21+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"
"Content-Transfer-Encoding: 8bit\n"
"Language: it\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr "Passa al tuo client ownCloud e cambia la password di cifratura per completare la conversione."
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr "passato alla cifratura lato client"
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr "Controlla la password e prova ancora."
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr "Scegli la modalità di cifratura."
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr "Cifratura lato client (più sicura ma rende impossibile accedere ai propri dati dall'interfaccia web)"
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr "Cifratura lato server (ti consente di accedere ai tuoi file dall'interfaccia web e dal client desktop)"
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr "Nessuna (senza alcuna cifratura)"
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr "Importante: una volta selezionata la modalità di cifratura non sarà possibile tornare indietro"
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr "Specificato dall'utente (lascia decidere all'utente)"
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "Cifratura"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "Escludi i seguenti tipi di file dalla cifratura"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "Nessuna"
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "Abilita cifratura"
diff --git a/l10n/it/files_versions.po b/l10n/it/files_versions.po
index 273bdef29b0..5bb90cec909 100644
--- a/l10n/it/files_versions.po
+++ b/l10n/it/files_versions.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-09-23 02:01+0200\n"
-"PO-Revision-Date: 2012-09-22 06:40+0000\n"
-"Last-Translator: Vincenzo Reale <vinx.reale@gmail.com>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,22 +18,10 @@ msgstr ""
"Language: it\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: js/settings-personal.js:31 templates/settings-personal.php:10
-msgid "Expire all versions"
-msgstr "Scadenza di tutte le versioni"
-
#: js/versions.js:16
msgid "History"
msgstr "Cronologia"
-#: templates/settings-personal.php:4
-msgid "Versions"
-msgstr "Versioni"
-
-#: templates/settings-personal.php:7
-msgid "This will delete all existing backup versions of your files"
-msgstr "Ciò eliminerà tutte le versioni esistenti dei tuoi file"
-
#: templates/settings.php:3
msgid "Files Versioning"
msgstr "Controllo di versione dei file"
diff --git a/l10n/it/lib.po b/l10n/it/lib.po
index 093eca463d1..e162e94ad32 100644
--- a/l10n/it/lib.po
+++ b/l10n/it/lib.po
@@ -3,13 +3,13 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
-# Vincenzo Reale <vinx.reale@gmail.com>, 2012.
+# Vincenzo Reale <vinx.reale@gmail.com>, 2012-2013.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-11-17 00:01+0100\n"
-"PO-Revision-Date: 2012-11-15 23:21+0000\n"
+"POT-Creation-Date: 2013-01-18 00:03+0100\n"
+"PO-Revision-Date: 2013-01-17 06:44+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"
@@ -18,51 +18,55 @@ msgstr ""
"Language: it\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: app.php:285
+#: app.php:301
msgid "Help"
msgstr "Aiuto"
-#: app.php:292
+#: app.php:308
msgid "Personal"
msgstr "Personale"
-#: app.php:297
+#: app.php:313
msgid "Settings"
msgstr "Impostazioni"
-#: app.php:302
+#: app.php:318
msgid "Users"
msgstr "Utenti"
-#: app.php:309
+#: app.php:325
msgid "Apps"
msgstr "Applicazioni"
-#: app.php:311
+#: app.php:327
msgid "Admin"
msgstr "Admin"
-#: files.php:332
+#: files.php:365
msgid "ZIP download is turned off."
msgstr "Lo scaricamento in formato ZIP è stato disabilitato."
-#: files.php:333
+#: files.php:366
msgid "Files need to be downloaded one by one."
msgstr "I file devono essere scaricati uno alla volta."
-#: files.php:333 files.php:358
+#: files.php:366 files.php:391
msgid "Back to Files"
msgstr "Torna ai file"
-#: files.php:357
+#: files.php:390
msgid "Selected files too large to generate zip file."
msgstr "I file selezionati sono troppo grandi per generare un file zip."
+#: helper.php:228
+msgid "couldn't be determined"
+msgstr "non può essere determinato"
+
#: json.php:28
msgid "Application is not enabled"
msgstr "L'applicazione non è abilitata"
-#: json.php:39 json.php:64 json.php:77 json.php:89
+#: json.php:39 json.php:62 json.php:73
msgid "Authentication error"
msgstr "Errore di autenticazione"
@@ -82,55 +86,55 @@ msgstr "Testo"
msgid "Images"
msgstr "Immagini"
-#: template.php:103
+#: template.php:113
msgid "seconds ago"
msgstr "secondi fa"
-#: template.php:104
+#: template.php:114
msgid "1 minute ago"
msgstr "1 minuto fa"
-#: template.php:105
+#: template.php:115
#, php-format
msgid "%d minutes ago"
msgstr "%d minuti fa"
-#: template.php:106
+#: template.php:116
msgid "1 hour ago"
msgstr "1 ora fa"
-#: template.php:107
+#: template.php:117
#, php-format
msgid "%d hours ago"
msgstr "%d ore fa"
-#: template.php:108
+#: template.php:118
msgid "today"
msgstr "oggi"
-#: template.php:109
+#: template.php:119
msgid "yesterday"
msgstr "ieri"
-#: template.php:110
+#: template.php:120
#, php-format
msgid "%d days ago"
msgstr "%d giorni fa"
-#: template.php:111
+#: template.php:121
msgid "last month"
msgstr "il mese scorso"
-#: template.php:112
+#: template.php:122
#, php-format
msgid "%d months ago"
msgstr "%d mesi fa"
-#: template.php:113
+#: template.php:123
msgid "last year"
msgstr "l'anno scorso"
-#: template.php:114
+#: template.php:124
msgid "years ago"
msgstr "anni fa"
diff --git a/l10n/it/settings.po b/l10n/it/settings.po
index e26395a5f44..b8c1b46912e 100644
--- a/l10n/it/settings.po
+++ b/l10n/it/settings.po
@@ -7,16 +7,16 @@
# Francesco Apruzzese <cescoap@gmail.com>, 2011.
# <icewind1991@gmail.com>, 2012.
# Jan-Christoph Borchardt <JanCBorchardt@fsfe.org>, 2011.
-# <marco@carnazzo.it>, 2011, 2012.
+# <marco@carnazzo.it>, 2011-2013.
# <rb.colombo@gmail.com>, 2011.
# Vincenzo Reale <vinx.reale@gmail.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-21 00:10+0100\n"
-"PO-Revision-Date: 2012-12-20 06:39+0000\n"
-"Last-Translator: Vincenzo Reale <vinx.reale@gmail.com>\n"
+"POT-Creation-Date: 2013-01-18 00:03+0100\n"
+"PO-Revision-Date: 2013-01-17 08:30+0000\n"
+"Last-Translator: ufic <marco@carnazzo.it>\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"
@@ -36,7 +36,7 @@ msgstr "Il gruppo esiste già"
msgid "Unable to add group"
msgstr "Impossibile aggiungere il gruppo"
-#: ajax/enableapp.php:12
+#: ajax/enableapp.php:11
msgid "Could not enable app. "
msgstr "Impossibile abilitare l'applicazione."
@@ -48,14 +48,6 @@ msgstr "Email salvata"
msgid "Invalid email"
msgstr "Email non valida"
-#: ajax/openid.php:13
-msgid "OpenID Changed"
-msgstr "OpenID modificato"
-
-#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20
-msgid "Invalid request"
-msgstr "Richiesta non valida"
-
#: ajax/removegroup.php:13
msgid "Unable to delete group"
msgstr "Impossibile eliminare il gruppo"
@@ -72,6 +64,10 @@ msgstr "Impossibile eliminare l'utente"
msgid "Language changed"
msgstr "Lingua modificata"
+#: ajax/setlanguage.php:17 ajax/setlanguage.php:20
+msgid "Invalid request"
+msgstr "Richiesta non valida"
+
#: ajax/togglegroups.php:12
msgid "Admins can't remove themself from the admin group"
msgstr "Gli amministratori non possono rimuovere se stessi dal gruppo di amministrazione"
@@ -167,7 +163,7 @@ msgstr "Scarica client Android"
msgid "Download iOS Client"
msgstr "Scarica client iOS"
-#: templates/personal.php:21 templates/users.php:23 templates/users.php:77
+#: templates/personal.php:21 templates/users.php:23 templates/users.php:82
msgid "Password"
msgstr "Password"
@@ -237,11 +233,11 @@ msgid ""
"License\">AGPL</abbr></a>."
msgstr "Sviluppato dalla <a href=\"http://ownCloud.org/contact\" target=\"_blank\">comunità di ownCloud</a>, il <a href=\"https://github.com/owncloud\" target=\"_blank\">codice sorgente</a> è licenziato nei termini della <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>."
-#: templates/users.php:21 templates/users.php:76
+#: templates/users.php:21 templates/users.php:81
msgid "Name"
msgstr "Nome"
-#: templates/users.php:26 templates/users.php:78 templates/users.php:98
+#: templates/users.php:26 templates/users.php:83 templates/users.php:103
msgid "Groups"
msgstr "Gruppi"
@@ -250,21 +246,29 @@ msgid "Create"
msgstr "Crea"
#: templates/users.php:35
-msgid "Default Quota"
-msgstr "Quota predefinita"
+msgid "Default Storage"
+msgstr "Archiviazione predefinita"
-#: templates/users.php:55 templates/users.php:138
+#: templates/users.php:42 templates/users.php:138
+msgid "Unlimited"
+msgstr "Illimitata"
+
+#: templates/users.php:60 templates/users.php:153
msgid "Other"
msgstr "Altro"
-#: templates/users.php:80 templates/users.php:112
+#: templates/users.php:85 templates/users.php:117
msgid "Group Admin"
-msgstr "Gruppo di amministrazione"
+msgstr "Gruppi amministrati"
+
+#: templates/users.php:87
+msgid "Storage"
+msgstr "Archiviazione"
-#: templates/users.php:82
-msgid "Quota"
-msgstr "Quote"
+#: templates/users.php:133
+msgid "Default"
+msgstr "Predefinito"
-#: templates/users.php:146
+#: templates/users.php:161
msgid "Delete"
msgstr "Elimina"
diff --git a/l10n/it/user_ldap.po b/l10n/it/user_ldap.po
index 9dc0007050a..5c009d82967 100644
--- a/l10n/it/user_ldap.po
+++ b/l10n/it/user_ldap.po
@@ -4,13 +4,13 @@
#
# Translators:
# Innocenzo Ventre <el.diabl09@gmail.com>, 2012.
-# Vincenzo Reale <vinx.reale@gmail.com>, 2012.
+# Vincenzo Reale <vinx.reale@gmail.com>, 2012-2013.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-16 00:11+0100\n"
-"PO-Revision-Date: 2012-12-15 10:28+0000\n"
+"POT-Creation-Date: 2013-01-18 00:03+0100\n"
+"PO-Revision-Date: 2013-01-17 08:29+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"
@@ -28,9 +28,9 @@ msgstr "<b>Avviso:</b> le applicazioni user_ldap e user_webdavauth sono incompat
#: templates/settings.php:11
msgid ""
-"<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will"
-" not work. Please ask your system administrator to install it."
-msgstr "<b>Avviso:</b> il modulo PHP LDAP richiesto non è installato, il motore non funzionerà. Chiedi al tuo amministratore di sistema di installarlo."
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not "
+"work. Please ask your system administrator to install it."
+msgstr "<b>Avviso:</b> il modulo PHP LDAP non è installato, il motore non funzionerà. Chiedi al tuo amministratore di sistema di installarlo."
#: templates/settings.php:15
msgid "Host"
@@ -46,6 +46,10 @@ msgid "Base DN"
msgstr "DN base"
#: templates/settings.php:16
+msgid "One Base DN per line"
+msgstr "Un DN base per riga"
+
+#: templates/settings.php:16
msgid "You can specify Base DN for users and groups in the Advanced tab"
msgstr "Puoi specificare una DN base per gli utenti ed i gruppi nella scheda Avanzate"
@@ -116,10 +120,18 @@ msgstr "Porta"
msgid "Base User Tree"
msgstr "Struttura base dell'utente"
+#: templates/settings.php:25
+msgid "One User Base DN per line"
+msgstr "Un DN base utente per riga"
+
#: templates/settings.php:26
msgid "Base Group Tree"
msgstr "Struttura base del gruppo"
+#: templates/settings.php:26
+msgid "One Group Base DN per line"
+msgstr "Un DN base gruppo per riga"
+
#: templates/settings.php:27
msgid "Group-Member association"
msgstr "Associazione gruppo-utente "
diff --git a/l10n/it/user_webdavauth.po b/l10n/it/user_webdavauth.po
index 074902ec724..ba6bfbe7d44 100644
--- a/l10n/it/user_webdavauth.po
+++ b/l10n/it/user_webdavauth.po
@@ -3,13 +3,13 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
-# Vincenzo Reale <vinx.reale@gmail.com>, 2012.
+# Vincenzo Reale <vinx.reale@gmail.com>, 2012-2013.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-22 00:24+0100\n"
-"PO-Revision-Date: 2012-12-21 08:45+0000\n"
+"POT-Creation-Date: 2013-01-17 00:26+0100\n"
+"PO-Revision-Date: 2013-01-16 06:51+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"
@@ -18,13 +18,17 @@ msgstr ""
"Language: it\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+#: templates/settings.php:3
+msgid "WebDAV Authentication"
+msgstr "Autenticazione WebDAV"
+
#: templates/settings.php:4
msgid "URL: http://"
msgstr "URL: http://"
#: templates/settings.php:6
msgid ""
-"ownCloud will send the user credentials to this URL is interpret http 401 "
-"and http 403 as credentials wrong and all other codes as credentials "
-"correct."
-msgstr "ownCloud invierà le credenziali dell'utente a questo URL. Interpreta i codici http 401 e http 403 come credenziali errate e tutti gli altri codici come credenziali corrette."
+"ownCloud will send the user credentials to this URL. 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 "ownCloud invierà le credenziali dell'utente a questo URL. Questa estensione controlla la risposta e interpreta i codici di stato 401 e 403 come credenziali non valide, e tutte le altre risposte come credenziali valide."
diff --git a/l10n/ja_JP/core.po b/l10n/ja_JP/core.po
index ae1bd30ee44..e9ba6cfa4a5 100644
--- a/l10n/ja_JP/core.po
+++ b/l10n/ja_JP/core.po
@@ -4,15 +4,15 @@
#
# Translators:
# Daisuke Deguchi <ddeguchi@is.nagoya-u.ac.jp>, 2012.
-# Daisuke Deguchi <ddeguchi@nagoya-u.jp>, 2012.
+# Daisuke Deguchi <ddeguchi@nagoya-u.jp>, 2012-2013.
# <tetuyano+transi@gmail.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-15 00:11+0100\n"
-"PO-Revision-Date: 2012-12-14 11:56+0000\n"
-"Last-Translator: Daisuke Deguchi <ddeguchi@nagoya-u.jp>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:03+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\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"
@@ -86,55 +86,55 @@ msgstr "ãŠæ°—ã«å…¥ã‚Šã‹ã‚‰ %s ã®å‰Šé™¤ã‚¨ãƒ©ãƒ¼"
msgid "Settings"
msgstr "設定"
-#: js/js.js:704
+#: js/js.js:711
msgid "seconds ago"
msgstr "ç§’å‰"
-#: js/js.js:705
+#: js/js.js:712
msgid "1 minute ago"
msgstr "1 分å‰"
-#: js/js.js:706
+#: js/js.js:713
msgid "{minutes} minutes ago"
msgstr "{minutes} 分å‰"
-#: js/js.js:707
+#: js/js.js:714
msgid "1 hour ago"
msgstr "1 時間å‰"
-#: js/js.js:708
+#: js/js.js:715
msgid "{hours} hours ago"
msgstr "{hours} 時間å‰"
-#: js/js.js:709
+#: js/js.js:716
msgid "today"
msgstr "今日"
-#: js/js.js:710
+#: js/js.js:717
msgid "yesterday"
msgstr "昨日"
-#: js/js.js:711
+#: js/js.js:718
msgid "{days} days ago"
msgstr "{days} æ—¥å‰"
-#: js/js.js:712
+#: js/js.js:719
msgid "last month"
msgstr "一月å‰"
-#: js/js.js:713
+#: js/js.js:720
msgid "{months} months ago"
msgstr "{months} 月å‰"
-#: js/js.js:714
+#: js/js.js:721
msgid "months ago"
msgstr "月å‰"
-#: js/js.js:715
+#: js/js.js:722
msgid "last year"
msgstr "一年å‰"
-#: js/js.js:716
+#: js/js.js:723
msgid "years ago"
msgstr "å¹´å‰"
@@ -164,8 +164,8 @@ msgid "The object type is not specified."
msgstr "ã‚ªãƒ–ã‚¸ã‚§ã‚¯ã‚¿ã‚¤ãƒ—ãŒæŒ‡å®šã•れã¦ã„ã¾ã›ã‚“。"
#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136
-#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:541
-#: js/share.js:553
+#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:554
+#: js/share.js:566
msgid "Error"
msgstr "エラー"
@@ -177,7 +177,7 @@ msgstr "アプリåãŒã—ã¦ã„ã•れã¦ã„ã¾ã›ã‚“。"
msgid "The required file {file} is not installed!"
msgstr "å¿…è¦ãªãƒ•ァイル {file} ãŒã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•れã¦ã„ã¾ã›ã‚“ï¼"
-#: js/share.js:124 js/share.js:581
+#: js/share.js:124 js/share.js:594
msgid "Error while sharing"
msgstr "共有ã§ã‚¨ãƒ©ãƒ¼ç™ºç”Ÿ"
@@ -205,12 +205,11 @@ msgstr "共有者"
msgid "Share with link"
msgstr "URLリンクã§å…±æœ‰"
-#: js/share.js:164
+#: js/share.js:166
msgid "Password protect"
msgstr "パスワードä¿è­·"
-#: js/share.js:168 templates/installation.php:44 templates/login.php:26
-#: templates/verify.php:13
+#: js/share.js:168 templates/installation.php:44 templates/login.php:35
msgid "Password"
msgstr "パスワード"
@@ -274,23 +273,23 @@ msgstr "削除"
msgid "share"
msgstr "共有"
-#: js/share.js:353 js/share.js:528 js/share.js:530
+#: js/share.js:356 js/share.js:541
msgid "Password protected"
msgstr "パスワードä¿è­·"
-#: js/share.js:541
+#: js/share.js:554
msgid "Error unsetting expiration date"
msgstr "有効期é™ã®æœªè¨­å®šã‚¨ãƒ©ãƒ¼"
-#: js/share.js:553
+#: js/share.js:566
msgid "Error setting expiration date"
msgstr "有効期é™ã®è¨­å®šã§ã‚¨ãƒ©ãƒ¼ç™ºç”Ÿ"
-#: js/share.js:568
+#: js/share.js:581
msgid "Sending ..."
msgstr "é€ä¿¡ä¸­..."
-#: js/share.js:579
+#: js/share.js:592
msgid "Email sent"
msgstr "メールをé€ä¿¡ã—ã¾ã—ãŸ"
@@ -315,7 +314,7 @@ msgid "Request failed!"
msgstr "リクエスト失敗ï¼"
#: lostpassword/templates/lostpassword.php:11 templates/installation.php:39
-#: templates/login.php:21
+#: templates/login.php:28
msgid "Username"
msgstr "ユーザå"
@@ -529,36 +528,32 @@ msgstr "管ç†ä¸‹ã«ã‚るウェブサービス"
msgid "Log out"
msgstr "ログアウト"
-#: templates/login.php:8
+#: templates/login.php:10
msgid "Automatic logon rejected!"
msgstr "è‡ªå‹•ãƒ­ã‚°ã‚¤ãƒ³ã¯æ‹’å¦ã•れã¾ã—ãŸï¼"
-#: templates/login.php:9
+#: templates/login.php:11
msgid ""
"If you did not change your password recently, your account may be "
"compromised!"
msgstr "最近パスワードを変更ã—ã¦ã„ãªã„å ´åˆã€ã‚ãªãŸã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã¯å±é™ºã«ã•らã•れã¦ã„ã‚‹ã‹ã‚‚ã—れã¾ã›ã‚“。"
-#: templates/login.php:10
+#: templates/login.php:13
msgid "Please change your password to secure your account again."
msgstr "アカウントä¿è­·ã®ç‚ºã€ãƒ‘スワードをå†åº¦ã®å¤‰æ›´ã‚’ãŠé¡˜ã„ã„ãŸã—ã¾ã™ã€‚"
-#: templates/login.php:15
+#: templates/login.php:19
msgid "Lost your password?"
msgstr "パスワードを忘れã¾ã—ãŸã‹ï¼Ÿ"
-#: templates/login.php:29
+#: templates/login.php:39
msgid "remember"
msgstr "パスワードを記憶ã™ã‚‹"
-#: templates/login.php:30
+#: templates/login.php:41
msgid "Log in"
msgstr "ログイン"
-#: templates/logout.php:1
-msgid "You are logged out."
-msgstr "ログアウトã—ã¾ã—ãŸã€‚"
-
#: templates/part.pagenavi.php:3
msgid "prev"
msgstr "å‰"
@@ -567,16 +562,7 @@ msgstr "å‰"
msgid "next"
msgstr "次"
-#: templates/verify.php:5
-msgid "Security Warning!"
-msgstr "セキュリティ警告ï¼"
-
-#: templates/verify.php:6
-msgid ""
-"Please verify your password. <br/>For security reasons you may be "
-"occasionally asked to enter your password again."
-msgstr "パスワードã®ç¢ºèª<br/>セキュリティ上ã®ç†ç”±ã«ã‚ˆã‚Šãƒ‘スワードã®å†å…¥åŠ›ã‚’ãŠé¡˜ã„ã—ã¾ã™ã€‚"
-
-#: templates/verify.php:16
-msgid "Verify"
-msgstr "確èª"
+#: templates/update.php:3
+#, php-format
+msgid "Updating ownCloud to version %s, this may take a while."
+msgstr "ownCloud ã‚’ãƒãƒ¼ã‚¸ãƒ§ãƒ³ %s ã«æ›´æ–°ã—ã¦ã„ã¾ã™ã€ã—ã°ã‚‰ããŠå¾…ã¡ä¸‹ã•ã„。"
diff --git a/l10n/ja_JP/files.po b/l10n/ja_JP/files.po
index 3f253361a8a..d94cd87e309 100644
--- a/l10n/ja_JP/files.po
+++ b/l10n/ja_JP/files.po
@@ -4,15 +4,15 @@
#
# Translators:
# Daisuke Deguchi <ddeguchi@is.nagoya-u.ac.jp>, 2012.
-# Daisuke Deguchi <ddeguchi@nagoya-u.jp>, 2012.
+# Daisuke Deguchi <ddeguchi@nagoya-u.jp>, 2012-2013.
# <tetuyano+transi@gmail.com>, 2012.
# <tetuyano+transi@gmail.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-04 00:06+0100\n"
-"PO-Revision-Date: 2012-12-03 01:53+0000\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 00:25+0000\n"
"Last-Translator: Daisuke Deguchi <ddeguchi@nagoya-u.jp>\n"
"Language-Team: Japanese (Japan) (http://www.transifex.com/projects/p/owncloud/language/ja_JP/)\n"
"MIME-Version: 1.0\n"
@@ -21,46 +21,77 @@ msgstr ""
"Language: ja_JP\n"
"Plural-Forms: nplurals=1; plural=0;\n"
+#: ajax/delete.php:28 ajax/getstoragestats.php:11 ajax/upload.php:17
+#: ajax/upload.php:76 templates/index.php:18
+msgid "Upload"
+msgstr "アップロード"
+
+#: ajax/move.php:17
+#, php-format
+msgid "Could not move %s - File with this name already exists"
+msgstr "%s を移動ã§ãã¾ã›ã‚“ã§ã—㟠― ã“ã®åå‰ã®ãƒ•ァイルã¯ã™ã§ã«å­˜åœ¨ã—ã¾ã™"
+
+#: ajax/move.php:24
+#, php-format
+msgid "Could not move %s"
+msgstr "%s を移動ã§ãã¾ã›ã‚“ã§ã—ãŸ"
+
+#: ajax/rename.php:19
+msgid "Unable to rename file"
+msgstr "ファイルåã®å¤‰æ›´ãŒã§ãã¾ã›ã‚“"
+
#: ajax/upload.php:20
+msgid "No file was uploaded. Unknown error"
+msgstr "ファイルã¯ä½•もアップロードã•れã¦ã„ã¾ã›ã‚“ã€‚ä¸æ˜Žãªã‚¨ãƒ©ãƒ¼"
+
+#: ajax/upload.php:30
msgid "There is no error, the file uploaded with success"
msgstr "エラーã¯ã‚りã¾ã›ã‚“。ファイルã®ã‚¢ãƒƒãƒ—ãƒ­ãƒ¼ãƒ‰ã¯æˆåŠŸã—ã¾ã—ãŸ"
-#: ajax/upload.php:21
+#: ajax/upload.php:31
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr "アップロードã•れãŸãƒ•ァイルã¯php.ini ã® upload_max_filesize ã«è¨­å®šã•れãŸã‚µã‚¤ã‚ºã‚’è¶…ãˆã¦ã„ã¾ã™:"
-#: ajax/upload.php:23
+#: ajax/upload.php:33
msgid ""
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
"the HTML form"
msgstr "アップロードã•れãŸãƒ•ァイルã¯HTMLã®ãƒ•ォームã«è¨­å®šã•れãŸMAX_FILE_SIZEã«è¨­å®šã•れãŸã‚µã‚¤ã‚ºã‚’è¶…ãˆã¦ã„ã¾ã™"
-#: ajax/upload.php:25
+#: ajax/upload.php:35
msgid "The uploaded file was only partially uploaded"
msgstr "ファイルã¯ä¸€éƒ¨åˆ†ã—ã‹ã‚¢ãƒƒãƒ—ロードã•れã¾ã›ã‚“ã§ã—ãŸ"
-#: ajax/upload.php:26
+#: ajax/upload.php:36
msgid "No file was uploaded"
msgstr "ファイルã¯ã‚¢ãƒƒãƒ—ロードã•れã¾ã›ã‚“ã§ã—ãŸ"
-#: ajax/upload.php:27
+#: ajax/upload.php:37
msgid "Missing a temporary folder"
msgstr "テンãƒãƒ©ãƒªãƒ•ォルダãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“"
-#: ajax/upload.php:28
+#: ajax/upload.php:38
msgid "Failed to write to disk"
msgstr "ディスクã¸ã®æ›¸ãè¾¼ã¿ã«å¤±æ•—ã—ã¾ã—ãŸ"
+#: ajax/upload.php:57
+msgid "Not enough space available"
+msgstr "利用å¯èƒ½ãªã‚¹ãƒšãƒ¼ã‚¹ãŒå分ã«ã‚りã¾ã›ã‚“"
+
+#: ajax/upload.php:91
+msgid "Invalid directory."
+msgstr "無効ãªãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã§ã™ã€‚"
+
#: appinfo/app.php:10
msgid "Files"
msgstr "ファイル"
-#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84
+#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
msgid "Unshare"
msgstr "共有ã—ãªã„"
-#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90
+#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
msgid "Delete"
msgstr "削除"
@@ -68,122 +99,136 @@ msgstr "削除"
msgid "Rename"
msgstr "åå‰ã®å¤‰æ›´"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "{new_name} already exists"
msgstr "{new_name} ã¯ã™ã§ã«å­˜åœ¨ã—ã¦ã„ã¾ã™"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "replace"
msgstr "ç½®ãæ›ãˆ"
-#: js/filelist.js:201
+#: js/filelist.js:205
msgid "suggest name"
msgstr "推奨åç§°"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "cancel"
msgstr "キャンセル"
-#: js/filelist.js:250
+#: js/filelist.js:254
msgid "replaced {new_name}"
msgstr "{new_name} ã‚’ç½®æ›"
-#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286
+#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
msgid "undo"
msgstr "å…ƒã«æˆ»ã™"
-#: js/filelist.js:252
+#: js/filelist.js:256
msgid "replaced {new_name} with {old_name}"
msgstr "{old_name} ã‚’ {new_name} ã«ç½®æ›"
-#: js/filelist.js:284
+#: js/filelist.js:288
msgid "unshared {files}"
msgstr "未共有 {files}"
-#: js/filelist.js:286
+#: js/filelist.js:290
msgid "deleted {files}"
msgstr "削除 {files}"
-#: js/files.js:33
+#: js/files.js:48
+msgid "'.' is an invalid file name."
+msgstr "'.' ã¯ç„¡åйãªãƒ•ァイルåã§ã™ã€‚"
+
+#: js/files.js:53
+msgid "File name cannot be empty."
+msgstr "ファイルåを空ã«ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。"
+
+#: js/files.js:62
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr "無効ãªåå‰ã€'\\', '/', '<', '>', ':', '\"', '|', '?', '*' ã¯ä½¿ç”¨ã§ãã¾ã›ã‚“。"
-#: js/files.js:183
-msgid "generating ZIP-file, it may take some time."
-msgstr "ZIPファイルを生æˆä¸­ã§ã™ã€ã—ã°ã‚‰ããŠå¾…ã¡ãã ã•ã„。"
+#: js/files.js:204
+msgid ""
+"Your download is being prepared. This might take some time if the files are "
+"big."
+msgstr "ãƒ€ã‚¦ãƒ³ãƒ­ãƒ¼ãƒ‰ã®æº–備中ã§ã™ã€‚ファイルサイズãŒå¤§ãã„å ´åˆã¯å°‘ã—æ™‚é–“ãŒã‹ã‹ã‚‹ã‹ã‚‚ã—れã¾ã›ã‚“。"
-#: js/files.js:218
+#: js/files.js:242
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr "ディレクトリもã—ãã¯0ãƒã‚¤ãƒˆã®ãƒ•ァイルã¯ã‚¢ãƒƒãƒ—ロードã§ãã¾ã›ã‚“"
-#: js/files.js:218
+#: js/files.js:242
msgid "Upload Error"
msgstr "アップロードエラー"
-#: js/files.js:235
+#: js/files.js:259
msgid "Close"
msgstr "é–‰ã˜ã‚‹"
-#: js/files.js:254 js/files.js:368 js/files.js:398
+#: js/files.js:278 js/files.js:397 js/files.js:431
msgid "Pending"
msgstr "ä¿ç•™"
-#: js/files.js:274
+#: js/files.js:298
msgid "1 file uploading"
msgstr "ファイルを1ã¤ã‚¢ãƒƒãƒ—ロード中"
-#: js/files.js:277 js/files.js:331 js/files.js:346
+#: js/files.js:301 js/files.js:357 js/files.js:372
msgid "{count} files uploading"
msgstr "{count} ファイルをアップロード中"
-#: js/files.js:349 js/files.js:382
+#: js/files.js:376 js/files.js:414
msgid "Upload cancelled."
msgstr "アップロードã¯ã‚­ãƒ£ãƒ³ã‚»ãƒ«ã•れã¾ã—ãŸã€‚"
-#: js/files.js:451
+#: js/files.js:486
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr "ファイル転é€ã‚’実行中ã§ã™ã€‚今ã“ã®ãƒšãƒ¼ã‚¸ã‹ã‚‰ç§»å‹•ã™ã‚‹ã¨ã‚¢ãƒƒãƒ—ロードãŒä¸­æ­¢ã•れã¾ã™ã€‚"
-#: js/files.js:523
-msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud"
-msgstr "無効ãªãƒ•ォルダåã§ã™ã€‚\"Shared\" ã®åˆ©ç”¨ã¯ ownCloud ãŒäºˆç´„済ã¿ã§ã™ã€‚"
+#: js/files.js:559
+msgid "URL cannot be empty."
+msgstr "URLã¯ç©ºã«ã§ãã¾ã›ã‚“。"
-#: js/files.js:704
+#: js/files.js:565
+msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
+msgstr "無効ãªãƒ•ォルダåã§ã™ã€‚'Shared' ã®åˆ©ç”¨ã¯ ownCloud ãŒäºˆç´„済ã¿ã§ã™ã€‚"
+
+#: js/files.js:775
msgid "{count} files scanned"
msgstr "{count} ファイルをスキャン"
-#: js/files.js:712
+#: js/files.js:783
msgid "error while scanning"
msgstr "スキャン中ã®ã‚¨ãƒ©ãƒ¼"
-#: js/files.js:785 templates/index.php:65
+#: js/files.js:857 templates/index.php:64
msgid "Name"
msgstr "åå‰"
-#: js/files.js:786 templates/index.php:76
+#: js/files.js:858 templates/index.php:75
msgid "Size"
msgstr "サイズ"
-#: js/files.js:787 templates/index.php:78
+#: js/files.js:859 templates/index.php:77
msgid "Modified"
msgstr "更新日時"
-#: js/files.js:814
+#: js/files.js:878
msgid "1 folder"
msgstr "1 フォルダ"
-#: js/files.js:816
+#: js/files.js:880
msgid "{count} folders"
msgstr "{count} フォルダ"
-#: js/files.js:824
+#: js/files.js:888
msgid "1 file"
msgstr "1 ファイル"
-#: js/files.js:826
+#: js/files.js:890
msgid "{count} files"
msgstr "{count} ファイル"
@@ -195,27 +240,27 @@ msgstr "ファイルæ“作"
msgid "Maximum upload size"
msgstr "最大アップロードサイズ"
-#: templates/admin.php:9
+#: templates/admin.php:10
msgid "max. possible: "
msgstr "最大容é‡: "
-#: templates/admin.php:12
+#: templates/admin.php:15
msgid "Needed for multi-file and folder downloads."
msgstr "複数ファイルãŠã‚ˆã³ãƒ•ォルダã®ãƒ€ã‚¦ãƒ³ãƒ­ãƒ¼ãƒ‰ã«å¿…è¦"
-#: templates/admin.php:14
+#: templates/admin.php:17
msgid "Enable ZIP-download"
msgstr "ZIPå½¢å¼ã®ãƒ€ã‚¦ãƒ³ãƒ­ãƒ¼ãƒ‰ã‚’有効ã«ã™ã‚‹"
-#: templates/admin.php:17
+#: templates/admin.php:20
msgid "0 is unlimited"
msgstr "0を指定ã—ãŸå ´åˆã¯ç„¡åˆ¶é™"
-#: templates/admin.php:19
+#: templates/admin.php:22
msgid "Maximum input size for ZIP files"
msgstr "ZIPファイルã¸ã®æœ€å¤§å…¥åŠ›ã‚µã‚¤ã‚º"
-#: templates/admin.php:23
+#: templates/admin.php:26
msgid "Save"
msgstr "ä¿å­˜"
@@ -235,36 +280,32 @@ msgstr "フォルダ"
msgid "From link"
msgstr "リンク"
-#: templates/index.php:35
-msgid "Upload"
-msgstr "アップロード"
-
-#: templates/index.php:43
+#: templates/index.php:41
msgid "Cancel upload"
msgstr "アップロードをキャンセル"
-#: templates/index.php:57
+#: templates/index.php:56
msgid "Nothing in here. Upload something!"
msgstr "ã“ã“ã«ã¯ä½•ã‚‚ã‚りã¾ã›ã‚“。何ã‹ã‚¢ãƒƒãƒ—ロードã—ã¦ãã ã•ã„。"
-#: templates/index.php:71
+#: templates/index.php:70
msgid "Download"
msgstr "ダウンロード"
-#: templates/index.php:103
+#: templates/index.php:102
msgid "Upload too large"
msgstr "ファイルサイズãŒå¤§ãã™ãŽã¾ã™"
-#: templates/index.php:105
+#: templates/index.php:104
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "アップロードã—よã†ã¨ã—ã¦ã„るファイルã¯ã€ã‚µãƒ¼ãƒã§è¦å®šã•ã‚ŒãŸæœ€å¤§ã‚µã‚¤ã‚ºã‚’è¶…ãˆã¦ã„ã¾ã™ã€‚"
-#: templates/index.php:110
+#: templates/index.php:109
msgid "Files are being scanned, please wait."
msgstr "ファイルをスキャンã—ã¦ã„ã¾ã™ã€ã—ã°ã‚‰ããŠå¾…ã¡ãã ã•ã„。"
-#: templates/index.php:113
+#: templates/index.php:112
msgid "Current scanning"
msgstr "スキャン中"
diff --git a/l10n/ja_JP/files_encryption.po b/l10n/ja_JP/files_encryption.po
index c9941a81c9c..2c42c902059 100644
--- a/l10n/ja_JP/files_encryption.po
+++ b/l10n/ja_JP/files_encryption.po
@@ -4,32 +4,81 @@
#
# Translators:
# Daisuke Deguchi <ddeguchi@is.nagoya-u.ac.jp>, 2012.
+# Daisuke Deguchi <ddeguchi@nagoya-u.jp>, 2013.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-08-16 02:04+0200\n"
-"PO-Revision-Date: 2012-08-15 02:43+0000\n"
-"Last-Translator: Daisuke Deguchi <ddeguchi@is.nagoya-u.ac.jp>\n"
+"POT-Creation-Date: 2013-01-24 00:06+0100\n"
+"PO-Revision-Date: 2013-01-23 03:07+0000\n"
+"Last-Translator: Daisuke Deguchi <ddeguchi@nagoya-u.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"
"Content-Transfer-Encoding: 8bit\n"
"Language: ja_JP\n"
-"Plural-Forms: nplurals=1; plural=0\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr "変æ›ã‚’完了ã™ã‚‹ãŸã‚ã«ã€ownCloud クライアントã«åˆ‡ã‚Šæ›¿ãˆã¦ã€æš—å·åŒ–パスワードを変更ã—ã¦ãã ã•ã„。"
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr "ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã‚µã‚¤ãƒ‰ã®æš—å·åŒ–ã«åˆ‡ã‚Šæ›¿ãˆã¾ã—ãŸ"
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr "æš—å·åŒ–パスワードをログインパスワードã«å¤‰æ›´"
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr "パスワードを確èªã—ã¦ã‚‚ã†ä¸€åº¦è¡Œãªã£ã¦ãã ã•ã„。"
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr "ファイル暗å·åŒ–パスワードをログインパスワードã«å¤‰æ›´ã§ãã¾ã›ã‚“ã§ã—ãŸã€‚"
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr "æš—å·åŒ–ãƒ¢ãƒ¼ãƒ‰ã‚’é¸æŠž:"
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr "ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã‚µã‚¤ãƒ‰ã®æš—å·åŒ–(最もセキュアã§ã™ãŒã€WEBインターフェースã‹ã‚‰ãƒ‡ãƒ¼ã‚¿ã«ã‚¢ã‚¯ã‚»ã‚¹ã§ããªããªã‚Šã¾ã™ï¼‰"
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr "サーãƒã‚µã‚¤ãƒ‰æš—å·åŒ–(WEBインターフェースãŠã‚ˆã³ãƒ‡ã‚¹ã‚¯ãƒˆãƒƒãƒ—クライアントã‹ã‚‰ãƒ•ァイルã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ï¼‰"
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr "æš—å·åŒ–ç„¡ã—(何も暗å·åŒ–ã—ã¾ã›ã‚“)"
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr "é‡è¦: 一度暗å·åŒ–ã‚’é¸æŠžã—ã¦ã—ã¾ã†ã¨ã€ã‚‚ã¨ã«æˆ»ã™æ–¹æ³•ã¯ã‚りã¾ã›ã‚“"
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr "ユーザ指定(ユーザãŒé¸ã¹ã‚‹ã‚ˆã†ã«ã™ã‚‹ï¼‰"
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "æš—å·åŒ–"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "æš—å·åŒ–ã‹ã‚‰é™¤å¤–ã™ã‚‹ãƒ•ァイルタイプ"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "ãªã—"
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "æš—å·åŒ–を有効ã«ã™ã‚‹"
diff --git a/l10n/ja_JP/files_versions.po b/l10n/ja_JP/files_versions.po
index 9c717bd2fa4..5ebe43b4854 100644
--- a/l10n/ja_JP/files_versions.po
+++ b/l10n/ja_JP/files_versions.po
@@ -9,9 +9,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-09-23 02:01+0200\n"
-"PO-Revision-Date: 2012-09-22 00:30+0000\n"
-"Last-Translator: ttyn <tetuyano+transi@gmail.com>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\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"
@@ -19,22 +19,10 @@ msgstr ""
"Language: ja_JP\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: js/settings-personal.js:31 templates/settings-personal.php:10
-msgid "Expire all versions"
-msgstr "ã™ã¹ã¦ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚’削除ã™ã‚‹"
-
#: js/versions.js:16
msgid "History"
msgstr "履歴"
-#: templates/settings-personal.php:4
-msgid "Versions"
-msgstr "ãƒãƒ¼ã‚¸ãƒ§ãƒ³"
-
-#: templates/settings-personal.php:7
-msgid "This will delete all existing backup versions of your files"
-msgstr "ã“れã¯ã€ã‚ãªãŸã®ãƒ•ァイルã®ã™ã¹ã¦ã®ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚’削除ã—ã¾ã™"
-
#: templates/settings.php:3
msgid "Files Versioning"
msgstr "ファイルã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ç®¡ç†"
diff --git a/l10n/ja_JP/lib.po b/l10n/ja_JP/lib.po
index 2f16f657540..8dca4957997 100644
--- a/l10n/ja_JP/lib.po
+++ b/l10n/ja_JP/lib.po
@@ -4,13 +4,14 @@
#
# Translators:
# Daisuke Deguchi <ddeguchi@is.nagoya-u.ac.jp>, 2012.
+# Daisuke Deguchi <ddeguchi@nagoya-u.jp>, 2013.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-11-16 00:02+0100\n"
-"PO-Revision-Date: 2012-11-15 00:37+0000\n"
-"Last-Translator: Daisuke Deguchi <ddeguchi@is.nagoya-u.ac.jp>\n"
+"POT-Creation-Date: 2013-01-19 00:04+0100\n"
+"PO-Revision-Date: 2013-01-18 08:12+0000\n"
+"Last-Translator: Daisuke Deguchi <ddeguchi@nagoya-u.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"
@@ -18,51 +19,55 @@ msgstr ""
"Language: ja_JP\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: app.php:285
+#: app.php:301
msgid "Help"
msgstr "ヘルプ"
-#: app.php:292
+#: app.php:308
msgid "Personal"
msgstr "個人設定"
-#: app.php:297
+#: app.php:313
msgid "Settings"
msgstr "設定"
-#: app.php:302
+#: app.php:318
msgid "Users"
msgstr "ユーザ"
-#: app.php:309
+#: app.php:325
msgid "Apps"
msgstr "アプリ"
-#: app.php:311
+#: app.php:327
msgid "Admin"
msgstr "管ç†è€…"
-#: files.php:332
+#: files.php:365
msgid "ZIP download is turned off."
msgstr "ZIPダウンロードã¯ç„¡åйã§ã™ã€‚"
-#: files.php:333
+#: files.php:366
msgid "Files need to be downloaded one by one."
msgstr "ファイルã¯1ã¤ãšã¤ãƒ€ã‚¦ãƒ³ãƒ­ãƒ¼ãƒ‰ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚"
-#: files.php:333 files.php:358
+#: files.php:366 files.php:391
msgid "Back to Files"
msgstr "ãƒ•ã‚¡ã‚¤ãƒ«ã«æˆ»ã‚‹"
-#: files.php:357
+#: files.php:390
msgid "Selected files too large to generate zip file."
msgstr "é¸æŠžã—ãŸãƒ•ァイルã¯ZIPファイルã®ç”Ÿæˆã«ã¯å¤§ãã™ãŽã¾ã™ã€‚"
+#: helper.php:228
+msgid "couldn't be determined"
+msgstr "測定ã§ãã¾ã›ã‚“ã§ã—ãŸ"
+
#: json.php:28
msgid "Application is not enabled"
msgstr "アプリケーションã¯ç„¡åйã§ã™"
-#: json.php:39 json.php:64 json.php:77 json.php:89
+#: json.php:39 json.php:62 json.php:73
msgid "Authentication error"
msgstr "èªè¨¼ã‚¨ãƒ©ãƒ¼"
@@ -82,55 +87,55 @@ msgstr "TTY TDD"
msgid "Images"
msgstr "ç”»åƒ"
-#: template.php:103
+#: template.php:113
msgid "seconds ago"
msgstr "ç§’å‰"
-#: template.php:104
+#: template.php:114
msgid "1 minute ago"
msgstr "1分å‰"
-#: template.php:105
+#: template.php:115
#, php-format
msgid "%d minutes ago"
msgstr "%d 分å‰"
-#: template.php:106
+#: template.php:116
msgid "1 hour ago"
msgstr "1 時間å‰"
-#: template.php:107
+#: template.php:117
#, php-format
msgid "%d hours ago"
msgstr "%d 時間å‰"
-#: template.php:108
+#: template.php:118
msgid "today"
msgstr "今日"
-#: template.php:109
+#: template.php:119
msgid "yesterday"
msgstr "昨日"
-#: template.php:110
+#: template.php:120
#, php-format
msgid "%d days ago"
msgstr "%d æ—¥å‰"
-#: template.php:111
+#: template.php:121
msgid "last month"
msgstr "先月"
-#: template.php:112
+#: template.php:122
#, php-format
msgid "%d months ago"
msgstr "%d 分å‰"
-#: template.php:113
+#: template.php:123
msgid "last year"
msgstr "昨年"
-#: template.php:114
+#: template.php:124
msgid "years ago"
msgstr "å¹´å‰"
diff --git a/l10n/ja_JP/settings.po b/l10n/ja_JP/settings.po
index b41038ab9a7..69bbdf54d2d 100644
--- a/l10n/ja_JP/settings.po
+++ b/l10n/ja_JP/settings.po
@@ -4,16 +4,16 @@
#
# Translators:
# Daisuke Deguchi <ddeguchi@is.nagoya-u.ac.jp>, 2012.
-# Daisuke Deguchi <ddeguchi@nagoya-u.jp>, 2012.
+# Daisuke Deguchi <ddeguchi@nagoya-u.jp>, 2012-2013.
# <tetuyano+transi@gmail.com>, 2012.
# <tetuyano+transi@gmail.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-21 00:10+0100\n"
-"PO-Revision-Date: 2012-12-20 03:44+0000\n"
-"Last-Translator: Daisuke Deguchi <ddeguchi@nagoya-u.jp>\n"
+"POT-Creation-Date: 2013-01-12 00:09+0100\n"
+"PO-Revision-Date: 2013-01-11 23:09+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\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"
@@ -33,7 +33,7 @@ msgstr "ã‚°ãƒ«ãƒ¼ãƒ—ã¯æ—¢ã«å­˜åœ¨ã—ã¦ã„ã¾ã™"
msgid "Unable to add group"
msgstr "グループを追加ã§ãã¾ã›ã‚“"
-#: ajax/enableapp.php:12
+#: ajax/enableapp.php:11
msgid "Could not enable app. "
msgstr "アプリを有効ã«ã§ãã¾ã›ã‚“ã§ã—ãŸã€‚"
@@ -45,14 +45,6 @@ msgstr "メールアドレスをä¿å­˜ã—ã¾ã—ãŸ"
msgid "Invalid email"
msgstr "無効ãªãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹"
-#: ajax/openid.php:13
-msgid "OpenID Changed"
-msgstr "OpenIDãŒå¤‰æ›´ã•れã¾ã—ãŸ"
-
-#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20
-msgid "Invalid request"
-msgstr "無効ãªãƒªã‚¯ã‚¨ã‚¹ãƒˆã§ã™"
-
#: ajax/removegroup.php:13
msgid "Unable to delete group"
msgstr "グループを削除ã§ãã¾ã›ã‚“"
@@ -69,6 +61,10 @@ msgstr "ユーザを削除ã§ãã¾ã›ã‚“"
msgid "Language changed"
msgstr "言語ãŒå¤‰æ›´ã•れã¾ã—ãŸ"
+#: ajax/setlanguage.php:17 ajax/setlanguage.php:20
+msgid "Invalid request"
+msgstr "無効ãªãƒªã‚¯ã‚¨ã‚¹ãƒˆã§ã™"
+
#: ajax/togglegroups.php:12
msgid "Admins can't remove themself from the admin group"
msgstr "管ç†è€…ã¯è‡ªèº«ã‚’管ç†è€…グループã‹ã‚‰å‰Šé™¤ã§ãã¾ã›ã‚“。"
@@ -164,7 +160,7 @@ msgstr "Androidクライアントをダウンロード"
msgid "Download iOS Client"
msgstr "iOSクライアントをダウンロード"
-#: templates/personal.php:21 templates/users.php:23 templates/users.php:77
+#: templates/personal.php:21 templates/users.php:23 templates/users.php:82
msgid "Password"
msgstr "パスワード"
@@ -234,11 +230,11 @@ msgid ""
"License\">AGPL</abbr></a>."
msgstr "<a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</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/users.php:21 templates/users.php:76
+#: templates/users.php:21 templates/users.php:81
msgid "Name"
msgstr "åå‰"
-#: templates/users.php:26 templates/users.php:78 templates/users.php:98
+#: templates/users.php:26 templates/users.php:83 templates/users.php:103
msgid "Groups"
msgstr "グループ"
@@ -247,21 +243,29 @@ msgid "Create"
msgstr "作æˆ"
#: templates/users.php:35
-msgid "Default Quota"
-msgstr "デフォルトã®ã‚¯ã‚©ãƒ¼ã‚¿ã‚µã‚¤ã‚º"
+msgid "Default Storage"
+msgstr "デフォルトストレージ"
-#: templates/users.php:55 templates/users.php:138
+#: templates/users.php:42 templates/users.php:138
+msgid "Unlimited"
+msgstr "無制é™"
+
+#: templates/users.php:60 templates/users.php:153
msgid "Other"
msgstr "ãã®ä»–"
-#: templates/users.php:80 templates/users.php:112
+#: templates/users.php:85 templates/users.php:117
msgid "Group Admin"
msgstr "グループ管ç†è€…"
-#: templates/users.php:82
-msgid "Quota"
-msgstr "クオータ"
+#: templates/users.php:87
+msgid "Storage"
+msgstr "ストレージ"
+
+#: templates/users.php:133
+msgid "Default"
+msgstr "デフォルト"
-#: templates/users.php:146
+#: templates/users.php:161
msgid "Delete"
msgstr "削除"
diff --git a/l10n/ja_JP/user_ldap.po b/l10n/ja_JP/user_ldap.po
index 39aa1002f7e..16a20c7207b 100644
--- a/l10n/ja_JP/user_ldap.po
+++ b/l10n/ja_JP/user_ldap.po
@@ -4,14 +4,14 @@
#
# Translators:
# Daisuke Deguchi <ddeguchi@is.nagoya-u.ac.jp>, 2012.
-# Daisuke Deguchi <ddeguchi@nagoya-u.jp>, 2012.
+# Daisuke Deguchi <ddeguchi@nagoya-u.jp>, 2012-2013.
# <tetuyano+transi@gmail.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-16 00:11+0100\n"
-"PO-Revision-Date: 2012-12-15 06:21+0000\n"
+"POT-Creation-Date: 2013-01-17 00:26+0100\n"
+"PO-Revision-Date: 2013-01-16 05:47+0000\n"
"Last-Translator: Daisuke Deguchi <ddeguchi@nagoya-u.jp>\n"
"Language-Team: Japanese (Japan) (http://www.transifex.com/projects/p/owncloud/language/ja_JP/)\n"
"MIME-Version: 1.0\n"
@@ -29,9 +29,9 @@ msgstr "<b>警告:</b> user_ldap 㨠user_webdavauth ã®ã‚¢ãƒ—リã«ã¯äº’æ›æ€§
#: templates/settings.php:11
msgid ""
-"<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will"
-" not work. Please ask your system administrator to install it."
-msgstr "<b>警告:</b> PHP LDAP モジュールãŒã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•れã¦ã„ã¾ã›ã‚“。ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ãŒæ­£ã—ãã©ã†ã•ã—ã¾ã›ã‚“。システム管ç†è€…ã«ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã™ã‚‹ã‚ˆã†å•ã„åˆã‚ã›ã¦ãã ã•ã„。"
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not "
+"work. Please ask your system administrator to install it."
+msgstr "<b>警告:</b> PHP LDAP モジュールãŒã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•れã¦ã„ã¾ã›ã‚“。ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ãŒæ­£ã—ã動作ã—ã¾ã›ã‚“。システム管ç†è€…ã«ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã™ã‚‹ã‚ˆã†å•ã„åˆã‚ã›ã¦ãã ã•ã„。"
#: templates/settings.php:15
msgid "Host"
@@ -47,6 +47,10 @@ msgid "Base DN"
msgstr "ベースDN"
#: templates/settings.php:16
+msgid "One Base DN per line"
+msgstr "1行ã«1ã¤ã®ãƒ™ãƒ¼ã‚¹DN"
+
+#: templates/settings.php:16
msgid "You can specify Base DN for users and groups in the Advanced tab"
msgstr "拡張タブã§ãƒ¦ãƒ¼ã‚¶ã¨ã‚°ãƒ«ãƒ¼ãƒ—ã®ãƒ™ãƒ¼ã‚¹DNを指定ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚"
@@ -117,10 +121,18 @@ msgstr "ãƒãƒ¼ãƒˆ"
msgid "Base User Tree"
msgstr "ベースユーザツリー"
+#: templates/settings.php:25
+msgid "One User Base DN per line"
+msgstr "1行ã«1ã¤ã®ãƒ¦ãƒ¼ã‚¶ãƒ™ãƒ¼ã‚¹DN"
+
#: templates/settings.php:26
msgid "Base Group Tree"
msgstr "ベースグループツリー"
+#: templates/settings.php:26
+msgid "One Group Base DN per line"
+msgstr "1行ã«1ã¤ã®ã‚°ãƒ«ãƒ¼ãƒ—ベースDN"
+
#: templates/settings.php:27
msgid "Group-Member association"
msgstr "グループã¨ãƒ¡ãƒ³ãƒãƒ¼ã®é–¢é€£ä»˜ã‘"
diff --git a/l10n/ja_JP/user_webdavauth.po b/l10n/ja_JP/user_webdavauth.po
index b6499e4ce5f..966cae84162 100644
--- a/l10n/ja_JP/user_webdavauth.po
+++ b/l10n/ja_JP/user_webdavauth.po
@@ -4,13 +4,13 @@
#
# Translators:
# Daisuke Deguchi <ddeguchi@is.nagoya-u.ac.jp>, 2012.
-# Daisuke Deguchi <ddeguchi@nagoya-u.jp>, 2012.
+# Daisuke Deguchi <ddeguchi@nagoya-u.jp>, 2012-2013.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-21 00:10+0100\n"
-"PO-Revision-Date: 2012-12-20 03:51+0000\n"
+"POT-Creation-Date: 2013-01-17 00:26+0100\n"
+"PO-Revision-Date: 2013-01-16 05:50+0000\n"
"Last-Translator: Daisuke Deguchi <ddeguchi@nagoya-u.jp>\n"
"Language-Team: Japanese (Japan) (http://www.transifex.com/projects/p/owncloud/language/ja_JP/)\n"
"MIME-Version: 1.0\n"
@@ -19,13 +19,17 @@ msgstr ""
"Language: ja_JP\n"
"Plural-Forms: nplurals=1; plural=0;\n"
+#: templates/settings.php:3
+msgid "WebDAV Authentication"
+msgstr "WebDAV èªè¨¼"
+
#: templates/settings.php:4
msgid "URL: http://"
msgstr "URL: http://"
#: templates/settings.php:6
msgid ""
-"ownCloud will send the user credentials to this URL is interpret http 401 "
-"and http 403 as credentials wrong and all other codes as credentials "
-"correct."
-msgstr "ownCloudã®ã“ã®URLã¸ã®ãƒ¦ãƒ¼ã‚¶è³‡æ ¼æƒ…å ±ã®é€ä¿¡ã¯ã€è³‡æ ¼æƒ…å ±ãŒé–“é•ã£ã¦ã„ã‚‹å ´åˆã¯HTTP401ã‚‚ã—ãã¯403ã‚’è¿”ã—ã€æ­£ã—ã„å ´åˆã¯å…¨ã¦ã®ã‚³ãƒ¼ãƒ‰ã‚’è¿”ã—ã¾ã™ã€‚"
+"ownCloud will send the user credentials to this URL. 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 "ownCloudã¯ã“ã®URLã«ãƒ¦ãƒ¼ã‚¶è³‡æ ¼æƒ…報をé€ä¿¡ã—ã¾ã™ã€‚ã“ã®ãƒ—ラグインã¯å¿œç­”ã‚’ãƒã‚§ãƒƒã‚¯ã—ã€HTTP状態コード㌠401 㨠403 ã®å ´åˆã¯ç„¡åйãªè³‡æ ¼æƒ…å ±ã¨ã—ã€ä»–ã®å¿œç­”ã¯ã™ã¹ã¦æœ‰åйãªè³‡æ ¼æƒ…å ±ã¨ã—ã¦å‡¦ç†ã—ã¾ã™ã€‚"
diff --git a/l10n/ka_GE/core.po b/l10n/ka_GE/core.po
index 49ad2e0194a..19c7defb404 100644
--- a/l10n/ka_GE/core.po
+++ b/l10n/ka_GE/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: 2012-12-13 00:17+0100\n"
-"PO-Revision-Date: 2012-12-12 23:17+0000\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:03+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"
@@ -84,55 +84,55 @@ msgstr ""
msgid "Settings"
msgstr "პáƒáƒ áƒáƒ›áƒ”ტრები"
-#: js/js.js:704
+#: js/js.js:711
msgid "seconds ago"
msgstr "წáƒáƒ›áƒ˜áƒ¡ წინ"
-#: js/js.js:705
+#: js/js.js:712
msgid "1 minute ago"
msgstr "1 წუთის წინ"
-#: js/js.js:706
+#: js/js.js:713
msgid "{minutes} minutes ago"
msgstr "{minutes} წუთის წინ"
-#: js/js.js:707
+#: js/js.js:714
msgid "1 hour ago"
msgstr ""
-#: js/js.js:708
+#: js/js.js:715
msgid "{hours} hours ago"
msgstr ""
-#: js/js.js:709
+#: js/js.js:716
msgid "today"
msgstr "დღეს"
-#: js/js.js:710
+#: js/js.js:717
msgid "yesterday"
msgstr "გუშინ"
-#: js/js.js:711
+#: js/js.js:718
msgid "{days} days ago"
msgstr "{days} დღის წინ"
-#: js/js.js:712
+#: js/js.js:719
msgid "last month"
msgstr "გáƒáƒ¡áƒ£áƒš თვეში"
-#: js/js.js:713
+#: js/js.js:720
msgid "{months} months ago"
msgstr ""
-#: js/js.js:714
+#: js/js.js:721
msgid "months ago"
msgstr "თვის წინ"
-#: js/js.js:715
+#: js/js.js:722
msgid "last year"
msgstr "ბáƒáƒšáƒ წელს"
-#: js/js.js:716
+#: js/js.js:723
msgid "years ago"
msgstr "წლის წინ"
@@ -162,8 +162,8 @@ msgid "The object type is not specified."
msgstr ""
#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136
-#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:541
-#: js/share.js:553
+#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:554
+#: js/share.js:566
msgid "Error"
msgstr "შეცდáƒáƒ›áƒ"
@@ -175,7 +175,7 @@ msgstr ""
msgid "The required file {file} is not installed!"
msgstr ""
-#: js/share.js:124 js/share.js:581
+#: js/share.js:124 js/share.js:594
msgid "Error while sharing"
msgstr "შეცდáƒáƒ›áƒ გáƒáƒ–იáƒáƒ áƒ”ბის დრáƒáƒ¡"
@@ -203,12 +203,11 @@ msgstr "გáƒáƒ£áƒ–იáƒáƒ áƒ”"
msgid "Share with link"
msgstr "გáƒáƒ£áƒ–იáƒáƒ áƒ” ლინკით"
-#: js/share.js:164
+#: js/share.js:166
msgid "Password protect"
msgstr "პáƒáƒ áƒáƒšáƒ˜áƒ— დáƒáƒªáƒ•áƒ"
-#: js/share.js:168 templates/installation.php:42 templates/login.php:24
-#: templates/verify.php:13
+#: js/share.js:168 templates/installation.php:44 templates/login.php:35
msgid "Password"
msgstr "პáƒáƒ áƒáƒšáƒ˜"
@@ -272,23 +271,23 @@ msgstr "წáƒáƒ¨áƒšáƒ"
msgid "share"
msgstr "გáƒáƒ–იáƒáƒ áƒ”ბáƒ"
-#: js/share.js:353 js/share.js:528 js/share.js:530
+#: js/share.js:356 js/share.js:541
msgid "Password protected"
msgstr "პáƒáƒ áƒáƒšáƒ˜áƒ— დáƒáƒªáƒ£áƒšáƒ˜"
-#: js/share.js:541
+#: js/share.js:554
msgid "Error unsetting expiration date"
msgstr "შეცდáƒáƒ›áƒ ვáƒáƒ“ის გáƒáƒ¡áƒ•ლის მáƒáƒ®áƒ¡áƒœáƒ˜áƒ¡ დრáƒáƒ¡"
-#: js/share.js:553
+#: js/share.js:566
msgid "Error setting expiration date"
msgstr "შეცდáƒáƒ›áƒ ვáƒáƒ“ის გáƒáƒ¡áƒ•ლის მითითების დრáƒáƒ¡"
-#: js/share.js:568
+#: js/share.js:581
msgid "Sending ..."
msgstr ""
-#: js/share.js:579
+#: js/share.js:592
msgid "Email sent"
msgstr ""
@@ -312,8 +311,8 @@ msgstr ""
msgid "Request failed!"
msgstr ""
-#: lostpassword/templates/lostpassword.php:11 templates/installation.php:38
-#: templates/login.php:20
+#: lostpassword/templates/lostpassword.php:11 templates/installation.php:39
+#: templates/login.php:28
msgid "Username"
msgstr "მáƒáƒ›áƒ®áƒ›áƒáƒ áƒ”ბელი"
@@ -402,44 +401,44 @@ msgstr ""
msgid "Create an <strong>admin account</strong>"
msgstr "შექმენი áƒáƒ“მინ ექáƒáƒ£áƒœáƒ¢áƒ˜"
-#: templates/installation.php:48
+#: templates/installation.php:50
msgid "Advanced"
msgstr "Advanced"
-#: templates/installation.php:50
+#: templates/installation.php:52
msgid "Data folder"
msgstr "მáƒáƒœáƒáƒªáƒ”მთრსáƒáƒ¥áƒáƒ¦áƒáƒšáƒ“ე"
-#: templates/installation.php:57
+#: templates/installation.php:59
msgid "Configure the database"
msgstr "ბáƒáƒ–ის კáƒáƒœáƒ¤áƒ˜áƒ’ურირებáƒ"
-#: templates/installation.php:62 templates/installation.php:73
-#: templates/installation.php:83 templates/installation.php:93
+#: templates/installation.php:64 templates/installation.php:75
+#: templates/installation.php:85 templates/installation.php:95
msgid "will be used"
msgstr "გáƒáƒ›áƒáƒ§áƒ”ნებული იქნებáƒ"
-#: templates/installation.php:105
+#: templates/installation.php:107
msgid "Database user"
msgstr "ბáƒáƒ–ის მáƒáƒ›áƒ®áƒ›áƒáƒ áƒ”ბელი"
-#: templates/installation.php:109
+#: templates/installation.php:111
msgid "Database password"
msgstr "ბáƒáƒ–ის პáƒáƒ áƒáƒšáƒ˜"
-#: templates/installation.php:113
+#: templates/installation.php:115
msgid "Database name"
msgstr "ბáƒáƒ–ის სáƒáƒ®áƒ”ლი"
-#: templates/installation.php:121
+#: templates/installation.php:123
msgid "Database tablespace"
msgstr "ბáƒáƒ–ის ცხრილის ზáƒáƒ›áƒ"
-#: templates/installation.php:127
+#: templates/installation.php:129
msgid "Database host"
msgstr "ბáƒáƒ–ის ჰáƒáƒ¡áƒ¢áƒ˜"
-#: templates/installation.php:132
+#: templates/installation.php:134
msgid "Finish setup"
msgstr "კáƒáƒœáƒ¤áƒ˜áƒ’ურáƒáƒªáƒ˜áƒ˜áƒ¡ დáƒáƒ¡áƒ áƒ£áƒšáƒ”ბáƒ"
@@ -527,36 +526,32 @@ msgstr "თქვენი კáƒáƒœáƒ¢áƒ áƒáƒšáƒ˜áƒ¡ ქვეშ მყáƒáƒ¤
msgid "Log out"
msgstr "გáƒáƒ›áƒáƒ¡áƒ•ლáƒ"
-#: templates/login.php:8
+#: templates/login.php:10
msgid "Automatic logon rejected!"
msgstr "áƒáƒ•ტáƒáƒ›áƒáƒ¢áƒ£áƒ áƒ˜ შესვლრუáƒáƒ áƒ§áƒáƒ¤áƒ˜áƒšáƒ˜áƒ!"
-#: templates/login.php:9
+#: templates/login.php:11
msgid ""
"If you did not change your password recently, your account may be "
"compromised!"
msgstr ""
-#: templates/login.php:10
+#: templates/login.php:13
msgid "Please change your password to secure your account again."
msgstr ""
-#: templates/login.php:15
+#: templates/login.php:19
msgid "Lost your password?"
msgstr "დáƒáƒ’áƒáƒ•იწყდáƒáƒ— პáƒáƒ áƒáƒšáƒ˜?"
-#: templates/login.php:27
+#: templates/login.php:39
msgid "remember"
msgstr "დáƒáƒ›áƒáƒ®áƒ¡áƒáƒ•რებáƒ"
-#: templates/login.php:28
+#: templates/login.php:41
msgid "Log in"
msgstr "შესვლáƒ"
-#: templates/logout.php:1
-msgid "You are logged out."
-msgstr "თქვენ გáƒáƒ›áƒáƒ®áƒ•ედით სისტემიდáƒáƒœ"
-
#: templates/part.pagenavi.php:3
msgid "prev"
msgstr "წინáƒ"
@@ -565,16 +560,7 @@ msgstr "წინáƒ"
msgid "next"
msgstr "შემდეგი"
-#: templates/verify.php:5
-msgid "Security Warning!"
-msgstr "უსáƒáƒ¤áƒ áƒ—ხáƒáƒ”ბის გáƒáƒ¤áƒ áƒ—ხილებáƒ!"
-
-#: templates/verify.php:6
-msgid ""
-"Please verify your password. <br/>For security reasons you may be "
-"occasionally asked to enter your password again."
+#: templates/update.php:3
+#, php-format
+msgid "Updating ownCloud to version %s, this may take a while."
msgstr ""
-
-#: templates/verify.php:16
-msgid "Verify"
-msgstr "შემáƒáƒ¬áƒ›áƒ”ბáƒ"
diff --git a/l10n/ka_GE/files.po b/l10n/ka_GE/files.po
index 5e3078f5048..a789775653e 100644
--- a/l10n/ka_GE/files.po
+++ b/l10n/ka_GE/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: 2012-12-01 00:01+0100\n"
-"PO-Revision-Date: 2012-11-30 23:02+0000\n"
+"POT-Creation-Date: 2013-01-20 00:05+0100\n"
+"PO-Revision-Date: 2013-01-19 23:05+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"
@@ -18,46 +18,77 @@ msgstr ""
"Language: ka_GE\n"
"Plural-Forms: nplurals=1; plural=0;\n"
+#: ajax/delete.php:28 ajax/getstoragestats.php:11 ajax/upload.php:17
+#: ajax/upload.php:76 templates/index.php:18
+msgid "Upload"
+msgstr "áƒáƒ¢áƒ•ირთვáƒ"
+
+#: ajax/move.php:17
+#, php-format
+msgid "Could not move %s - File with this name already exists"
+msgstr ""
+
+#: ajax/move.php:24
+#, php-format
+msgid "Could not move %s"
+msgstr ""
+
+#: ajax/rename.php:19
+msgid "Unable to rename file"
+msgstr ""
+
#: ajax/upload.php:20
+msgid "No file was uploaded. Unknown error"
+msgstr ""
+
+#: ajax/upload.php:30
msgid "There is no error, the file uploaded with success"
msgstr "ჭáƒáƒªáƒ“áƒáƒ›áƒ áƒáƒ  დáƒáƒ¤áƒ˜áƒ¥áƒ¡áƒ˜áƒ áƒ“áƒ, ფáƒáƒ˜áƒšáƒ˜ წáƒáƒ áƒ›áƒáƒ¢áƒ”ბით áƒáƒ˜áƒ¢áƒ•ირთáƒ"
-#: ajax/upload.php:21
+#: ajax/upload.php:31
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr ""
-#: ajax/upload.php:23
+#: ajax/upload.php:33
msgid ""
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
"the HTML form"
msgstr "áƒáƒ¢áƒ•ირთული ფáƒáƒ˜áƒšáƒ˜ áƒáƒ­áƒáƒ áƒ‘ებს MAX_FILE_SIZE დირექტივáƒáƒ¡, რáƒáƒ›áƒ”ლიც მითითებულირHTML ფáƒáƒ áƒ›áƒáƒ¨áƒ˜"
-#: ajax/upload.php:25
+#: ajax/upload.php:35
msgid "The uploaded file was only partially uploaded"
msgstr "áƒáƒ¢áƒ•ირთული ფáƒáƒ˜áƒšáƒ˜ მხáƒáƒšáƒáƒ“ ნáƒáƒ¬áƒ˜áƒšáƒáƒ‘რივ áƒáƒ˜áƒ¢áƒ•ირთáƒ"
-#: ajax/upload.php:26
+#: ajax/upload.php:36
msgid "No file was uploaded"
msgstr "ფáƒáƒ˜áƒšáƒ˜ áƒáƒ  áƒáƒ˜áƒ¢áƒ•ირთáƒ"
-#: ajax/upload.php:27
+#: ajax/upload.php:37
msgid "Missing a temporary folder"
msgstr "დრáƒáƒ”ბითი სáƒáƒ¥áƒáƒ¦áƒáƒšáƒ“ე áƒáƒ  áƒáƒ áƒ¡áƒ”ბáƒáƒ‘ს"
-#: ajax/upload.php:28
+#: ajax/upload.php:38
msgid "Failed to write to disk"
msgstr "შეცდáƒáƒ›áƒ დისკზე ჩáƒáƒ¬áƒ”რისáƒáƒ¡"
+#: ajax/upload.php:57
+msgid "Not enough space available"
+msgstr ""
+
+#: ajax/upload.php:91
+msgid "Invalid directory."
+msgstr ""
+
#: appinfo/app.php:10
msgid "Files"
msgstr "ფáƒáƒ˜áƒšáƒ”ბი"
-#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84
+#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
msgid "Unshare"
msgstr "გáƒáƒ–იáƒáƒ áƒ”ბის მáƒáƒ®áƒ¡áƒœáƒ"
-#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90
+#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
msgid "Delete"
msgstr "წáƒáƒ¨áƒšáƒ"
@@ -65,122 +96,136 @@ msgstr "წáƒáƒ¨áƒšáƒ"
msgid "Rename"
msgstr "გáƒáƒ“áƒáƒ áƒ¥áƒ›áƒ”ვáƒ"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "{new_name} already exists"
msgstr "{new_name} უკვე áƒáƒ áƒ¡áƒ”ბáƒáƒ‘ს"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "replace"
msgstr "შეცვლáƒ"
-#: js/filelist.js:201
+#: js/filelist.js:205
msgid "suggest name"
msgstr "სáƒáƒ®áƒ”ლის შემáƒáƒ—áƒáƒ•áƒáƒ–ებáƒ"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "cancel"
msgstr "უáƒáƒ áƒ§áƒáƒ¤áƒ"
-#: js/filelist.js:250
+#: js/filelist.js:254
msgid "replaced {new_name}"
msgstr "{new_name} შეცვლილიáƒ"
-#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286
+#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
msgid "undo"
msgstr "დáƒáƒ‘რუნებáƒ"
-#: js/filelist.js:252
+#: js/filelist.js:256
msgid "replaced {new_name} with {old_name}"
msgstr "{new_name} შეცვლილირ{old_name}–ით"
-#: js/filelist.js:284
+#: js/filelist.js:288
msgid "unshared {files}"
msgstr "გáƒáƒ–იáƒáƒ áƒ”ბრმáƒáƒ®áƒ¡áƒœáƒ˜áƒšáƒ˜ {files}"
-#: js/filelist.js:286
+#: js/filelist.js:290
msgid "deleted {files}"
msgstr "წáƒáƒ¨áƒšáƒ˜áƒšáƒ˜ {files}"
-#: js/files.js:33
+#: js/files.js:48
+msgid "'.' is an invalid file name."
+msgstr ""
+
+#: js/files.js:53
+msgid "File name cannot be empty."
+msgstr ""
+
+#: js/files.js:62
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr ""
-#: js/files.js:183
-msgid "generating ZIP-file, it may take some time."
-msgstr "ZIP-ფáƒáƒ˜áƒšáƒ˜áƒ¡ გენერირებáƒ, áƒáƒ›áƒáƒ¡ ჭირდებრგáƒáƒ áƒ™áƒ•ეული დრáƒ."
+#: js/files.js:204
+msgid ""
+"Your download is being prepared. This might take some time if the files are "
+"big."
+msgstr ""
-#: js/files.js:218
+#: js/files.js:242
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr "თქვენი ფáƒáƒ˜áƒšáƒ˜áƒ¡ áƒáƒ¢áƒ•ირთვრვერ მáƒáƒ®áƒ”რხდáƒ. ის áƒáƒ áƒ˜áƒ¡ სáƒáƒ¥áƒáƒ¦áƒáƒšáƒ“ე დრშეიცáƒáƒ•ს 0 ბáƒáƒ˜áƒ¢áƒ¡"
-#: js/files.js:218
+#: js/files.js:242
msgid "Upload Error"
msgstr "შეცდáƒáƒ›áƒ áƒáƒ¢áƒ•ირთვისáƒáƒ¡"
-#: js/files.js:235
+#: js/files.js:259
msgid "Close"
msgstr "დáƒáƒ®áƒ£áƒ áƒ•áƒ"
-#: js/files.js:254 js/files.js:368 js/files.js:398
+#: js/files.js:278 js/files.js:397 js/files.js:431
msgid "Pending"
msgstr "მáƒáƒªáƒ“ის რეჟიმში"
-#: js/files.js:274
+#: js/files.js:298
msgid "1 file uploading"
msgstr "1 ფáƒáƒ˜áƒšáƒ˜áƒ¡ áƒáƒ¢áƒ•ირთვáƒ"
-#: js/files.js:277 js/files.js:331 js/files.js:346
+#: js/files.js:301 js/files.js:357 js/files.js:372
msgid "{count} files uploading"
msgstr "{count} ფáƒáƒ˜áƒšáƒ˜ იტვირთებáƒ"
-#: js/files.js:349 js/files.js:382
+#: js/files.js:376 js/files.js:414
msgid "Upload cancelled."
msgstr "áƒáƒ¢áƒ•ირთვრშეჩერებულ იქნáƒ."
-#: js/files.js:451
+#: js/files.js:486
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr "მიმდინáƒáƒ áƒ”áƒáƒ‘ს ფáƒáƒ˜áƒšáƒ˜áƒ¡ áƒáƒ¢áƒ•ირთვáƒ. სხვრგვერდზე გáƒáƒ“áƒáƒ¡áƒ•ლრგáƒáƒ›áƒáƒ˜áƒ¬áƒ•ევს áƒáƒ¢áƒ•ირთვის შეჩერებáƒáƒ¡"
-#: js/files.js:523
-msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud"
+#: js/files.js:559
+msgid "URL cannot be empty."
msgstr ""
-#: js/files.js:704
+#: js/files.js:565
+msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
+msgstr ""
+
+#: js/files.js:775
msgid "{count} files scanned"
msgstr "{count} ფáƒáƒ˜áƒšáƒ˜ სკáƒáƒœáƒ˜áƒ áƒ”ბულიáƒ"
-#: js/files.js:712
+#: js/files.js:783
msgid "error while scanning"
msgstr "შეცდáƒáƒ›áƒ სკáƒáƒœáƒ˜áƒ áƒ”ბისáƒáƒ¡"
-#: js/files.js:785 templates/index.php:65
+#: js/files.js:857 templates/index.php:64
msgid "Name"
msgstr "სáƒáƒ®áƒ”ლი"
-#: js/files.js:786 templates/index.php:76
+#: js/files.js:858 templates/index.php:75
msgid "Size"
msgstr "ზáƒáƒ›áƒ"
-#: js/files.js:787 templates/index.php:78
+#: js/files.js:859 templates/index.php:77
msgid "Modified"
msgstr "შეცვლილიáƒ"
-#: js/files.js:814
+#: js/files.js:878
msgid "1 folder"
msgstr "1 სáƒáƒ¥áƒáƒ¦áƒáƒšáƒ“ე"
-#: js/files.js:816
+#: js/files.js:880
msgid "{count} folders"
msgstr "{count} სáƒáƒ¥áƒáƒ¦áƒáƒšáƒ“ე"
-#: js/files.js:824
+#: js/files.js:888
msgid "1 file"
msgstr "1 ფáƒáƒ˜áƒšáƒ˜"
-#: js/files.js:826
+#: js/files.js:890
msgid "{count} files"
msgstr "{count} ფáƒáƒ˜áƒšáƒ˜"
@@ -192,27 +237,27 @@ msgstr "ფáƒáƒ˜áƒšáƒ˜áƒ¡ დáƒáƒ›áƒ£áƒ¨áƒáƒ•ებáƒ"
msgid "Maximum upload size"
msgstr "მáƒáƒ¥áƒ¡áƒ˜áƒ›áƒ£áƒ› áƒáƒ¢áƒ•ირთის ზáƒáƒ›áƒ"
-#: templates/admin.php:9
+#: templates/admin.php:10
msgid "max. possible: "
msgstr "მáƒáƒ¥áƒ¡. შესáƒáƒ«áƒšáƒ”ბელი:"
-#: templates/admin.php:12
+#: templates/admin.php:15
msgid "Needed for multi-file and folder downloads."
msgstr "სáƒáƒ­áƒ˜áƒ áƒáƒ მულტი ფáƒáƒ˜áƒš áƒáƒœ სáƒáƒ¥áƒáƒ¦áƒáƒšáƒ“ის ჩáƒáƒ›áƒáƒ¢áƒ•ირთვáƒ."
-#: templates/admin.php:14
+#: templates/admin.php:17
msgid "Enable ZIP-download"
msgstr "ZIP-Download–ის ჩáƒáƒ áƒ—ვáƒ"
-#: templates/admin.php:17
+#: templates/admin.php:20
msgid "0 is unlimited"
msgstr "0 is unlimited"
-#: templates/admin.php:19
+#: templates/admin.php:22
msgid "Maximum input size for ZIP files"
msgstr "ZIP ფáƒáƒ˜áƒšáƒ”ბის მáƒáƒ¥áƒ¡áƒ˜áƒ›áƒ£áƒ› დáƒáƒ¡áƒáƒ¨áƒ•ები ზáƒáƒ›áƒ"
-#: templates/admin.php:23
+#: templates/admin.php:26
msgid "Save"
msgstr "შენáƒáƒ®áƒ•áƒ"
@@ -232,36 +277,32 @@ msgstr "სáƒáƒ¥áƒáƒ¦áƒáƒšáƒ“ე"
msgid "From link"
msgstr ""
-#: templates/index.php:35
-msgid "Upload"
-msgstr "áƒáƒ¢áƒ•ირთვáƒ"
-
-#: templates/index.php:43
+#: templates/index.php:41
msgid "Cancel upload"
msgstr "áƒáƒ¢áƒ•ირთვის გáƒáƒ£áƒ¥áƒ›áƒ”ბáƒ"
-#: templates/index.php:57
+#: templates/index.php:56
msgid "Nothing in here. Upload something!"
msgstr "áƒáƒ¥ áƒáƒ áƒáƒ¤áƒ”რი áƒáƒ  áƒáƒ áƒ˜áƒ¡. áƒáƒ¢áƒ•ირთე რáƒáƒ›áƒ”!"
-#: templates/index.php:71
+#: templates/index.php:70
msgid "Download"
msgstr "ჩáƒáƒ›áƒáƒ¢áƒ•ირთვáƒ"
-#: templates/index.php:103
+#: templates/index.php:102
msgid "Upload too large"
msgstr "áƒáƒ¡áƒáƒ¢áƒ•ირთი ფáƒáƒ˜áƒšáƒ˜ ძáƒáƒšáƒ˜áƒáƒœ დიდიáƒ"
-#: templates/index.php:105
+#: templates/index.php:104
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "ფáƒáƒ˜áƒšáƒ˜áƒ¡ ზáƒáƒ›áƒ რáƒáƒ›áƒšáƒ˜áƒ¡ áƒáƒ¢áƒ•ირთვáƒáƒ¡áƒáƒª თქვენ áƒáƒžáƒ˜áƒ áƒ”ბთ, áƒáƒ­áƒáƒ áƒ‘ებს სერვერზე დáƒáƒ¨áƒ•ებულ მáƒáƒ¥áƒ¡áƒ˜áƒ›áƒ£áƒ›áƒ¡."
-#: templates/index.php:110
+#: templates/index.php:109
msgid "Files are being scanned, please wait."
msgstr "მიმდინáƒáƒ áƒ”áƒáƒ‘ს ფáƒáƒ˜áƒšáƒ”ბის სკáƒáƒœáƒ˜áƒ áƒ”ბáƒ, გთხáƒáƒ•თ დáƒáƒ”ლáƒáƒ“áƒáƒ—."
-#: templates/index.php:113
+#: templates/index.php:112
msgid "Current scanning"
msgstr "მიმდინáƒáƒ áƒ” სკáƒáƒœáƒ˜áƒ áƒ”ბáƒ"
diff --git a/l10n/ka_GE/files_encryption.po b/l10n/ka_GE/files_encryption.po
index 3cdf3ae4e91..f0cc786850b 100644
--- a/l10n/ka_GE/files_encryption.po
+++ b/l10n/ka_GE/files_encryption.po
@@ -7,9 +7,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-10-22 02:02+0200\n"
-"PO-Revision-Date: 2012-08-12 22:33+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -17,18 +17,66 @@ msgstr ""
"Language: ka_GE\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: templates/settings.php:3
-msgid "Encryption"
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
msgstr ""
-#: templates/settings.php:4
-msgid "Exclude the following file types from encryption"
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
msgstr ""
-#: templates/settings.php:5
-msgid "None"
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
msgstr ""
#: templates/settings.php:10
-msgid "Enable Encryption"
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
+msgid "Encryption"
+msgstr ""
+
+#: templates/settings.php:67
+msgid "Exclude the following file types from encryption"
+msgstr ""
+
+#: templates/settings.php:71
+msgid "None"
msgstr ""
diff --git a/l10n/ka_GE/files_versions.po b/l10n/ka_GE/files_versions.po
index 8d38b072b0f..aafddd05a3c 100644
--- a/l10n/ka_GE/files_versions.po
+++ b/l10n/ka_GE/files_versions.po
@@ -7,9 +7,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-10-22 02:02+0200\n"
-"PO-Revision-Date: 2012-08-12 22:37+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -17,22 +17,10 @@ msgstr ""
"Language: ka_GE\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: js/settings-personal.js:31 templates/settings-personal.php:10
-msgid "Expire all versions"
-msgstr ""
-
#: js/versions.js:16
msgid "History"
msgstr ""
-#: templates/settings-personal.php:4
-msgid "Versions"
-msgstr ""
-
-#: templates/settings-personal.php:7
-msgid "This will delete all existing backup versions of your files"
-msgstr ""
-
#: templates/settings.php:3
msgid "Files Versioning"
msgstr ""
diff --git a/l10n/ka_GE/lib.po b/l10n/ka_GE/lib.po
index 3011c8854f7..f43fa26c139 100644
--- a/l10n/ka_GE/lib.po
+++ b/l10n/ka_GE/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: 2012-11-16 00:02+0100\n"
-"PO-Revision-Date: 2012-11-14 23:13+0000\n"
+"POT-Creation-Date: 2013-01-17 00:26+0100\n"
+"PO-Revision-Date: 2013-01-16 23:26+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"
@@ -18,51 +18,55 @@ msgstr ""
"Language: ka_GE\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: app.php:285
+#: app.php:301
msgid "Help"
msgstr "დáƒáƒ®áƒ›áƒáƒ áƒ”ბáƒ"
-#: app.php:292
+#: app.php:308
msgid "Personal"
msgstr "პირáƒáƒ“ი"
-#: app.php:297
+#: app.php:313
msgid "Settings"
msgstr "პáƒáƒ áƒáƒ›áƒ”ტრები"
-#: app.php:302
+#: app.php:318
msgid "Users"
msgstr "მáƒáƒ›áƒ®áƒ›áƒáƒ áƒ”ბელი"
-#: app.php:309
+#: app.php:325
msgid "Apps"
msgstr "áƒáƒžáƒšáƒ˜áƒ™áƒáƒªáƒ˜áƒ”ბი"
-#: app.php:311
+#: app.php:327
msgid "Admin"
msgstr "áƒáƒ“მინისტრáƒáƒ¢áƒáƒ áƒ˜"
-#: files.php:332
+#: files.php:365
msgid "ZIP download is turned off."
msgstr ""
-#: files.php:333
+#: files.php:366
msgid "Files need to be downloaded one by one."
msgstr ""
-#: files.php:333 files.php:358
+#: files.php:366 files.php:391
msgid "Back to Files"
msgstr ""
-#: files.php:357
+#: files.php:390
msgid "Selected files too large to generate zip file."
msgstr ""
+#: helper.php:228
+msgid "couldn't be determined"
+msgstr ""
+
#: json.php:28
msgid "Application is not enabled"
msgstr ""
-#: json.php:39 json.php:64 json.php:77 json.php:89
+#: json.php:39 json.php:62 json.php:73
msgid "Authentication error"
msgstr "áƒáƒ•თენტიფიკáƒáƒªáƒ˜áƒ˜áƒ¡ შეცდáƒáƒ›áƒ"
@@ -82,55 +86,55 @@ msgstr "ტექსტი"
msgid "Images"
msgstr ""
-#: template.php:103
+#: template.php:113
msgid "seconds ago"
msgstr "წáƒáƒ›áƒ˜áƒ¡ წინ"
-#: template.php:104
+#: template.php:114
msgid "1 minute ago"
msgstr "1 წუთის წინ"
-#: template.php:105
+#: template.php:115
#, php-format
msgid "%d minutes ago"
msgstr ""
-#: template.php:106
+#: template.php:116
msgid "1 hour ago"
msgstr ""
-#: template.php:107
+#: template.php:117
#, php-format
msgid "%d hours ago"
msgstr ""
-#: template.php:108
+#: template.php:118
msgid "today"
msgstr "დღეს"
-#: template.php:109
+#: template.php:119
msgid "yesterday"
msgstr "გუშინ"
-#: template.php:110
+#: template.php:120
#, php-format
msgid "%d days ago"
msgstr ""
-#: template.php:111
+#: template.php:121
msgid "last month"
msgstr "გáƒáƒ¡áƒ£áƒš თვეში"
-#: template.php:112
+#: template.php:122
#, php-format
msgid "%d months ago"
msgstr ""
-#: template.php:113
+#: template.php:123
msgid "last year"
msgstr "ბáƒáƒšáƒ წელს"
-#: template.php:114
+#: template.php:124
msgid "years ago"
msgstr "წლის წინ"
diff --git a/l10n/ka_GE/settings.po b/l10n/ka_GE/settings.po
index 363ba8a6bd4..4fe1200ec3c 100644
--- a/l10n/ka_GE/settings.po
+++ b/l10n/ka_GE/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: 2012-12-21 00:10+0100\n"
-"PO-Revision-Date: 2012-12-19 23:20+0000\n"
+"POT-Creation-Date: 2013-01-12 00:09+0100\n"
+"PO-Revision-Date: 2013-01-11 23:09+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"
@@ -30,7 +30,7 @@ msgstr "ჯგუფი უკვე áƒáƒ áƒ¡áƒ”ბáƒáƒ‘ს"
msgid "Unable to add group"
msgstr "ჯგუფის დáƒáƒ›áƒáƒ¢áƒ”ბრვერ მáƒáƒ®áƒ”რხდáƒ"
-#: ajax/enableapp.php:12
+#: ajax/enableapp.php:11
msgid "Could not enable app. "
msgstr "ვერ მáƒáƒ®áƒ”რხდრáƒáƒžáƒšáƒ˜áƒ™áƒáƒªáƒ˜áƒ˜áƒ¡ ჩáƒáƒ áƒ—ვáƒ."
@@ -42,14 +42,6 @@ msgstr "იმეილი შენáƒáƒ®áƒ£áƒšáƒ˜áƒ"
msgid "Invalid email"
msgstr "áƒáƒ áƒáƒ¡áƒ¬áƒáƒ áƒ˜ იმეილი"
-#: ajax/openid.php:13
-msgid "OpenID Changed"
-msgstr "OpenID შეცვლილიáƒ"
-
-#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20
-msgid "Invalid request"
-msgstr "áƒáƒ áƒáƒ¡áƒ¬áƒáƒ áƒ˜ მáƒáƒ—ხáƒáƒ•ნáƒ"
-
#: ajax/removegroup.php:13
msgid "Unable to delete group"
msgstr "ჯგუფის წáƒáƒ¨áƒšáƒ ვერ მáƒáƒ®áƒ”რხდáƒ"
@@ -66,6 +58,10 @@ msgstr "მáƒáƒ›áƒ®áƒ›áƒáƒ áƒ”ბლის წáƒáƒ¨áƒšáƒ ვერ მáƒáƒ®
msgid "Language changed"
msgstr "ენრშეცვლილიáƒ"
+#: ajax/setlanguage.php:17 ajax/setlanguage.php:20
+msgid "Invalid request"
+msgstr "áƒáƒ áƒáƒ¡áƒ¬áƒáƒ áƒ˜ მáƒáƒ—ხáƒáƒ•ნáƒ"
+
#: ajax/togglegroups.php:12
msgid "Admins can't remove themself from the admin group"
msgstr ""
@@ -161,7 +157,7 @@ msgstr ""
msgid "Download iOS Client"
msgstr ""
-#: templates/personal.php:21 templates/users.php:23 templates/users.php:77
+#: templates/personal.php:21 templates/users.php:23 templates/users.php:82
msgid "Password"
msgstr "პáƒáƒ áƒáƒšáƒ˜"
@@ -231,11 +227,11 @@ msgid ""
"License\">AGPL</abbr></a>."
msgstr ""
-#: templates/users.php:21 templates/users.php:76
+#: templates/users.php:21 templates/users.php:81
msgid "Name"
msgstr "სáƒáƒ®áƒ”ლი"
-#: templates/users.php:26 templates/users.php:78 templates/users.php:98
+#: templates/users.php:26 templates/users.php:83 templates/users.php:103
msgid "Groups"
msgstr "ჯგუფი"
@@ -244,21 +240,29 @@ msgid "Create"
msgstr "შექმნáƒ"
#: templates/users.php:35
-msgid "Default Quota"
-msgstr "სáƒáƒ¬áƒ§áƒ˜áƒ¡áƒ˜ ქვáƒáƒ¢áƒ"
+msgid "Default Storage"
+msgstr ""
+
+#: templates/users.php:42 templates/users.php:138
+msgid "Unlimited"
+msgstr ""
-#: templates/users.php:55 templates/users.php:138
+#: templates/users.php:60 templates/users.php:153
msgid "Other"
msgstr "სხვáƒ"
-#: templates/users.php:80 templates/users.php:112
+#: templates/users.php:85 templates/users.php:117
msgid "Group Admin"
msgstr "ჯგუფის áƒáƒ“მინისტრáƒáƒ¢áƒáƒ áƒ˜"
-#: templates/users.php:82
-msgid "Quota"
-msgstr "ქვáƒáƒ¢áƒ"
+#: templates/users.php:87
+msgid "Storage"
+msgstr ""
+
+#: templates/users.php:133
+msgid "Default"
+msgstr ""
-#: templates/users.php:146
+#: templates/users.php:161
msgid "Delete"
msgstr "წáƒáƒ¨áƒšáƒ"
diff --git a/l10n/ka_GE/user_ldap.po b/l10n/ka_GE/user_ldap.po
index 0df8aa5b1a4..14dbca3fc68 100644
--- a/l10n/ka_GE/user_ldap.po
+++ b/l10n/ka_GE/user_ldap.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-15 00:11+0100\n"
-"PO-Revision-Date: 2012-12-14 23:11+0000\n"
+"POT-Creation-Date: 2013-01-18 00:03+0100\n"
+"PO-Revision-Date: 2013-01-17 21:57+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"
@@ -26,8 +26,8 @@ msgstr ""
#: templates/settings.php:11
msgid ""
-"<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will"
-" not work. Please ask your system administrator to install it."
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not "
+"work. Please ask your system administrator to install it."
msgstr ""
#: templates/settings.php:15
@@ -44,6 +44,10 @@ msgid "Base DN"
msgstr ""
#: templates/settings.php:16
+msgid "One Base DN per line"
+msgstr ""
+
+#: templates/settings.php:16
msgid "You can specify Base DN for users and groups in the Advanced tab"
msgstr ""
@@ -114,10 +118,18 @@ msgstr ""
msgid "Base User Tree"
msgstr ""
+#: templates/settings.php:25
+msgid "One User Base DN per line"
+msgstr ""
+
#: templates/settings.php:26
msgid "Base Group Tree"
msgstr ""
+#: templates/settings.php:26
+msgid "One Group Base DN per line"
+msgstr ""
+
#: templates/settings.php:27
msgid "Group-Member association"
msgstr ""
@@ -180,4 +192,4 @@ msgstr ""
#: templates/settings.php:39
msgid "Help"
-msgstr ""
+msgstr "დáƒáƒ®áƒ›áƒáƒ áƒ”ბáƒ"
diff --git a/l10n/ka_GE/user_webdavauth.po b/l10n/ka_GE/user_webdavauth.po
index 4582092b83e..b7a0b557630 100644
--- a/l10n/ka_GE/user_webdavauth.po
+++ b/l10n/ka_GE/user_webdavauth.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-20 00:11+0100\n"
-"PO-Revision-Date: 2012-12-19 23:12+0000\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+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"
@@ -17,13 +17,17 @@ msgstr ""
"Language: ka_GE\n"
"Plural-Forms: nplurals=1; plural=0;\n"
+#: templates/settings.php:3
+msgid "WebDAV Authentication"
+msgstr ""
+
#: templates/settings.php:4
msgid "URL: http://"
msgstr ""
#: templates/settings.php:6
msgid ""
-"ownCloud will send the user credentials to this URL is interpret http 401 "
-"and http 403 as credentials wrong and all other codes as credentials "
-"correct."
+"ownCloud will send the user credentials to this URL. 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 ""
diff --git a/l10n/ko/core.po b/l10n/ko/core.po
index 1f24c97277d..5e2b5617dd6 100644
--- a/l10n/ko/core.po
+++ b/l10n/ko/core.po
@@ -3,6 +3,7 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# <aoiob4305@gmail.com>, 2013.
# 남ìžì‚¬ëžŒ <cessnagi@gmail.com>, 2012.
# <limonade83@gmail.com>, 2012.
# Shinjo Park <kde@peremen.name>, 2012.
@@ -10,8 +11,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-13 00:17+0100\n"
-"PO-Revision-Date: 2012-12-12 23:17+0000\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:03+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"
@@ -23,26 +24,26 @@ msgstr ""
#: ajax/share.php:84
#, php-format
msgid "User %s shared a file with you"
-msgstr ""
+msgstr "User %s ê°€ 당신과 파ì¼ì„ 공유하였습니다."
#: ajax/share.php:86
#, php-format
msgid "User %s shared a folder with you"
-msgstr ""
+msgstr "User %s ê°€ 당신과 í´ë”를 공유하였습니다."
#: ajax/share.php:88
#, php-format
msgid ""
"User %s shared the file \"%s\" with you. It is available for download here: "
"%s"
-msgstr ""
+msgstr "User %s ê°€ íŒŒì¼ \"%s\"를 당신과 공유하였습니다. 다운로드는 여기서 %s í•  수 있습니다."
#: ajax/share.php:90
#, php-format
msgid ""
"User %s shared the folder \"%s\" with you. It is available for download "
"here: %s"
-msgstr ""
+msgstr "User %s ê°€ í´ë” \"%s\"를 당신과 공유하였습니다. 다운로드는 여기서 %s í•  수 있습니다."
#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25
msgid "Category type not provided."
@@ -86,55 +87,55 @@ msgstr "책갈피ì—서 %sì„(를) 삭제할 수 없었습니다."
msgid "Settings"
msgstr "설정"
-#: js/js.js:704
+#: js/js.js:711
msgid "seconds ago"
msgstr "ì´ˆ ì „"
-#: js/js.js:705
+#: js/js.js:712
msgid "1 minute ago"
msgstr "1ë¶„ ì „"
-#: js/js.js:706
+#: js/js.js:713
msgid "{minutes} minutes ago"
msgstr "{minutes}ë¶„ ì „"
-#: js/js.js:707
+#: js/js.js:714
msgid "1 hour ago"
msgstr "1시간 전"
-#: js/js.js:708
+#: js/js.js:715
msgid "{hours} hours ago"
msgstr "{hours}시간 전"
-#: js/js.js:709
+#: js/js.js:716
msgid "today"
msgstr "오늘"
-#: js/js.js:710
+#: js/js.js:717
msgid "yesterday"
msgstr "어제"
-#: js/js.js:711
+#: js/js.js:718
msgid "{days} days ago"
msgstr "{days}ì¼ ì „"
-#: js/js.js:712
+#: js/js.js:719
msgid "last month"
msgstr "지난 달"
-#: js/js.js:713
+#: js/js.js:720
msgid "{months} months ago"
msgstr "{months}개월 전"
-#: js/js.js:714
+#: js/js.js:721
msgid "months ago"
msgstr "개월 전"
-#: js/js.js:715
+#: js/js.js:722
msgid "last year"
msgstr "작년"
-#: js/js.js:716
+#: js/js.js:723
msgid "years ago"
msgstr "ë…„ ì „"
@@ -164,8 +165,8 @@ msgid "The object type is not specified."
msgstr "ê°ì²´ ìœ í˜•ì´ ì§€ì •ë˜ì§€ 않았습니다."
#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136
-#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:541
-#: js/share.js:553
+#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:554
+#: js/share.js:566
msgid "Error"
msgstr "오류"
@@ -177,7 +178,7 @@ msgstr "앱 ì´ë¦„ì´ ì§€ì •ë˜ì§€ 않았습니다."
msgid "The required file {file} is not installed!"
msgstr "필요한 íŒŒì¼ {file}ì´(ê°€) 설치ë˜ì§€ 않았습니다!"
-#: js/share.js:124 js/share.js:581
+#: js/share.js:124 js/share.js:594
msgid "Error while sharing"
msgstr "공유하는 중 오류 ë°œìƒ"
@@ -205,22 +206,21 @@ msgstr "다ìŒìœ¼ë¡œ 공유"
msgid "Share with link"
msgstr "URL ë§í¬ë¡œ 공유"
-#: js/share.js:164
+#: js/share.js:166
msgid "Password protect"
msgstr "암호 보호"
-#: js/share.js:168 templates/installation.php:42 templates/login.php:24
-#: templates/verify.php:13
+#: js/share.js:168 templates/installation.php:44 templates/login.php:35
msgid "Password"
msgstr "암호"
#: js/share.js:172
msgid "Email link to person"
-msgstr ""
+msgstr "ì´ë©”ì¼ ì£¼ì†Œ"
#: js/share.js:173
msgid "Send"
-msgstr ""
+msgstr "전송"
#: js/share.js:177
msgid "Set expiration date"
@@ -274,25 +274,25 @@ msgstr "삭제"
msgid "share"
msgstr "공유"
-#: js/share.js:353 js/share.js:528 js/share.js:530
+#: js/share.js:356 js/share.js:541
msgid "Password protected"
msgstr "암호로 보호ë¨"
-#: js/share.js:541
+#: js/share.js:554
msgid "Error unsetting expiration date"
msgstr "만료 날짜 해제 오류"
-#: js/share.js:553
+#: js/share.js:566
msgid "Error setting expiration date"
msgstr "만료 날짜 설정 오류"
-#: js/share.js:568
+#: js/share.js:581
msgid "Sending ..."
-msgstr ""
+msgstr "전송 중..."
-#: js/share.js:579
+#: js/share.js:592
msgid "Email sent"
-msgstr ""
+msgstr "ì´ë©”ì¼ ë°œì†¡ë¨"
#: lostpassword/controller.php:47
msgid "ownCloud password reset"
@@ -314,8 +314,8 @@ msgstr "초기화 ì´ë©”ì¼ì„ 보냈습니다."
msgid "Request failed!"
msgstr "ìš”ì²­ì´ ì‹¤íŒ¨í–ˆìŠµë‹ˆë‹¤!"
-#: lostpassword/templates/lostpassword.php:11 templates/installation.php:38
-#: templates/login.php:20
+#: lostpassword/templates/lostpassword.php:11 templates/installation.php:39
+#: templates/login.php:28
msgid "Username"
msgstr "ì‚¬ìš©ìž ì´ë¦„"
@@ -404,44 +404,44 @@ msgstr "ë°ì´í„° 디렉터리와 파ì¼ì„ ì¸í„°ë„·ì—서 접근할 수 있는
msgid "Create an <strong>admin account</strong>"
msgstr "<strong>ê´€ë¦¬ìž ê³„ì •</strong> 만들기"
-#: templates/installation.php:48
+#: templates/installation.php:50
msgid "Advanced"
msgstr "고급"
-#: templates/installation.php:50
+#: templates/installation.php:52
msgid "Data folder"
msgstr "ë°ì´í„° í´ë”"
-#: templates/installation.php:57
+#: templates/installation.php:59
msgid "Configure the database"
msgstr "ë°ì´í„°ë² ì´ìФ 설정"
-#: templates/installation.php:62 templates/installation.php:73
-#: templates/installation.php:83 templates/installation.php:93
+#: templates/installation.php:64 templates/installation.php:75
+#: templates/installation.php:85 templates/installation.php:95
msgid "will be used"
msgstr "ì‚¬ìš©ë  ì˜ˆì •"
-#: templates/installation.php:105
+#: templates/installation.php:107
msgid "Database user"
msgstr "ë°ì´í„°ë² ì´ìФ 사용ìž"
-#: templates/installation.php:109
+#: templates/installation.php:111
msgid "Database password"
msgstr "ë°ì´í„°ë² ì´ìФ 암호"
-#: templates/installation.php:113
+#: templates/installation.php:115
msgid "Database name"
msgstr "ë°ì´í„°ë² ì´ìФ ì´ë¦„"
-#: templates/installation.php:121
+#: templates/installation.php:123
msgid "Database tablespace"
msgstr "ë°ì´í„°ë² ì´ìФ í…Œì´ë¸” 공간"
-#: templates/installation.php:127
+#: templates/installation.php:129
msgid "Database host"
msgstr "ë°ì´í„°ë² ì´ìФ 호스트"
-#: templates/installation.php:132
+#: templates/installation.php:134
msgid "Finish setup"
msgstr "설치 완료"
@@ -529,36 +529,32 @@ msgstr "내가 관리하는 웹 서비스"
msgid "Log out"
msgstr "로그아웃"
-#: templates/login.php:8
+#: templates/login.php:10
msgid "Automatic logon rejected!"
msgstr "ìžë™ 로그ì¸ì´ ê±°ë¶€ë˜ì—ˆìŠµë‹ˆë‹¤!"
-#: templates/login.php:9
+#: templates/login.php:11
msgid ""
"If you did not change your password recently, your account may be "
"compromised!"
msgstr "ìµœê·¼ì— ì•”í˜¸ë¥¼ 변경하지 않았다면 ê³„ì •ì´ íƒˆì·¨ë˜ì—ˆì„ ìˆ˜ë„ ìžˆìŠµë‹ˆë‹¤!"
-#: templates/login.php:10
+#: templates/login.php:13
msgid "Please change your password to secure your account again."
msgstr "ê³„ì •ì˜ ì•ˆì „ì„ ìœ„í•˜ì—¬ 암호를 변경하십시오."
-#: templates/login.php:15
+#: templates/login.php:19
msgid "Lost your password?"
msgstr "암호를 잊으셨습니까?"
-#: templates/login.php:27
+#: templates/login.php:39
msgid "remember"
msgstr "기억하기"
-#: templates/login.php:28
+#: templates/login.php:41
msgid "Log in"
msgstr "로그ì¸"
-#: templates/logout.php:1
-msgid "You are logged out."
-msgstr "로그아웃ë˜ì—ˆìŠµë‹ˆë‹¤."
-
#: templates/part.pagenavi.php:3
msgid "prev"
msgstr "ì´ì „"
@@ -567,16 +563,7 @@ msgstr "ì´ì „"
msgid "next"
msgstr "다ìŒ"
-#: templates/verify.php:5
-msgid "Security Warning!"
-msgstr "보안 경고!"
-
-#: templates/verify.php:6
-msgid ""
-"Please verify your password. <br/>For security reasons you may be "
-"occasionally asked to enter your password again."
-msgstr "암호를 확ì¸í•´ 주십시오.<br/>보안ìƒì˜ ì´ìœ ë¡œ 종종 암호를 물어볼 것입니다."
-
-#: templates/verify.php:16
-msgid "Verify"
-msgstr "확ì¸"
+#: templates/update.php:3
+#, php-format
+msgid "Updating ownCloud to version %s, this may take a while."
+msgstr "ownCloud 를 버젼 %s로 ì—…ë°ì´íЏ 하는 중, ì‹œê°„ì´ ì†Œìš”ë©ë‹ˆë‹¤."
diff --git a/l10n/ko/files.po b/l10n/ko/files.po
index 0fcb15b44b4..5678e11882d 100644
--- a/l10n/ko/files.po
+++ b/l10n/ko/files.po
@@ -3,16 +3,18 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# <aoiob4305@gmail.com>, 2013.
# 남ìžì‚¬ëžŒ <cessnagi@gmail.com>, 2012.
+# Harim Park <fofwisdom@gmail.com>, 2013.
# <limonade83@gmail.com>, 2012.
# Shinjo Park <kde@peremen.name>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-10 00:11+0100\n"
-"PO-Revision-Date: 2012-12-09 05:40+0000\n"
-"Last-Translator: Shinjo Park <kde@peremen.name>\n"
+"POT-Creation-Date: 2013-01-20 00:05+0100\n"
+"PO-Revision-Date: 2013-01-19 23:05+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -20,46 +22,77 @@ msgstr ""
"Language: ko\n"
"Plural-Forms: nplurals=1; plural=0;\n"
+#: ajax/delete.php:28 ajax/getstoragestats.php:11 ajax/upload.php:17
+#: ajax/upload.php:76 templates/index.php:18
+msgid "Upload"
+msgstr "업로드"
+
+#: ajax/move.php:17
+#, php-format
+msgid "Could not move %s - File with this name already exists"
+msgstr "%s í•­ëª©ì„ ì´ë™ì‹œí‚¤ì§€ ëª»í•˜ì˜€ìŒ - íŒŒì¼ ì´ë¦„ì´ ì´ë¯¸ 존재함"
+
+#: ajax/move.php:24
+#, php-format
+msgid "Could not move %s"
+msgstr "%s í•­ëª©ì„ ì´ë”©ì‹œí‚¤ì§€ 못하였ìŒ"
+
+#: ajax/rename.php:19
+msgid "Unable to rename file"
+msgstr "íŒŒì¼ ì´ë¦„바꾸기 í•  수 ì—†ìŒ"
+
#: ajax/upload.php:20
+msgid "No file was uploaded. Unknown error"
+msgstr "파ì¼ì´ 업로드ë˜ì§€ 않았습니다. 알 수 없는 오류입니다"
+
+#: ajax/upload.php:30
msgid "There is no error, the file uploaded with success"
msgstr "ì—…ë¡œë“œì— ì„±ê³µí•˜ì˜€ìŠµë‹ˆë‹¤."
-#: ajax/upload.php:21
+#: ajax/upload.php:31
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr "업로드한 파ì¼ì´ php.iniì˜ upload_max_filesize보다 í½ë‹ˆë‹¤:"
-#: ajax/upload.php:23
+#: ajax/upload.php:33
msgid ""
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
"the HTML form"
msgstr "업로드한 파ì¼ì´ HTML ë¬¸ì„œì— ì§€ì •í•œ MAX_FILE_SIZE보다 ë” í¼"
-#: ajax/upload.php:25
+#: ajax/upload.php:35
msgid "The uploaded file was only partially uploaded"
msgstr "파ì¼ì´ 부분ì ìœ¼ë¡œ 업로드ë¨"
-#: ajax/upload.php:26
+#: ajax/upload.php:36
msgid "No file was uploaded"
msgstr "ì—…ë¡œë“œëœ íŒŒì¼ ì—†ìŒ"
-#: ajax/upload.php:27
+#: ajax/upload.php:37
msgid "Missing a temporary folder"
msgstr "임시 í´ë”ê°€ 사ë¼ì§"
-#: ajax/upload.php:28
+#: ajax/upload.php:38
msgid "Failed to write to disk"
msgstr "디스í¬ì— ì“°ì§€ 못했습니다"
+#: ajax/upload.php:57
+msgid "Not enough space available"
+msgstr "ì—¬ìœ ê³µê°„ì´ ë¶€ì¡±í•©ë‹ˆë‹¤"
+
+#: ajax/upload.php:91
+msgid "Invalid directory."
+msgstr "올바르지 ì•Šì€ ë””ë ‰í† ë¦¬ìž…ë‹ˆë‹¤."
+
#: appinfo/app.php:10
msgid "Files"
msgstr "파ì¼"
-#: js/fileactions.js:117 templates/index.php:84 templates/index.php:85
+#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
msgid "Unshare"
msgstr "공유 해제"
-#: js/fileactions.js:119 templates/index.php:90 templates/index.php:91
+#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
msgid "Delete"
msgstr "삭제"
@@ -67,122 +100,136 @@ msgstr "삭제"
msgid "Rename"
msgstr "ì´ë¦„ 바꾸기"
-#: js/filelist.js:199 js/filelist.js:201
+#: js/filelist.js:205 js/filelist.js:207
msgid "{new_name} already exists"
msgstr "{new_name}ì´(ê°€) ì´ë¯¸ 존재함"
-#: js/filelist.js:199 js/filelist.js:201
+#: js/filelist.js:205 js/filelist.js:207
msgid "replace"
msgstr "바꾸기"
-#: js/filelist.js:199
+#: js/filelist.js:205
msgid "suggest name"
msgstr "ì´ë¦„ 제안"
-#: js/filelist.js:199 js/filelist.js:201
+#: js/filelist.js:205 js/filelist.js:207
msgid "cancel"
msgstr "취소"
-#: js/filelist.js:248
+#: js/filelist.js:254
msgid "replaced {new_name}"
msgstr "{new_name}ì„(를) 대체함"
-#: js/filelist.js:248 js/filelist.js:250 js/filelist.js:282 js/filelist.js:284
+#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
msgid "undo"
msgstr "실행 취소"
-#: js/filelist.js:250
+#: js/filelist.js:256
msgid "replaced {new_name} with {old_name}"
msgstr "{old_name}ì´(ê°€) {new_name}(으)로 대체ë¨"
-#: js/filelist.js:282
+#: js/filelist.js:288
msgid "unshared {files}"
msgstr "{files} 공유 í•´ì œë¨"
-#: js/filelist.js:284
+#: js/filelist.js:290
msgid "deleted {files}"
msgstr "{files} ì‚­ì œë¨"
-#: js/files.js:33
+#: js/files.js:48
+msgid "'.' is an invalid file name."
+msgstr "'.' 는 올바르지 ì•Šì€ íŒŒì¼ ì´ë¦„ 입니다."
+
+#: js/files.js:53
+msgid "File name cannot be empty."
+msgstr "파ì¼ì´ë¦„ì€ ê³µëž€ì´ ë  ìˆ˜ 없습니다."
+
+#: js/files.js:62
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr "í´ë” ì´ë¦„ì´ ì˜¬ë°”ë¥´ì§€ 않습니다. ì´ë¦„ì— ë¬¸ìž '\\', '/', '<', '>', ':', '\"', '|', '? ', '*'는 사용할 수 없습니다."
-#: js/files.js:174
-msgid "generating ZIP-file, it may take some time."
-msgstr "ZIP 파ì¼ì„ ìƒì„±í•˜ê³  있습니다. ì‹œê°„ì´ ê±¸ë¦´ ìˆ˜ë„ ìžˆìŠµë‹ˆë‹¤."
+#: js/files.js:204
+msgid ""
+"Your download is being prepared. This might take some time if the files are "
+"big."
+msgstr ""
-#: js/files.js:209
+#: js/files.js:242
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr "ì´ íŒŒì¼ì€ 디렉터리ì´ê±°ë‚˜ 비어 있기 ë•Œë¬¸ì— ì—…ë¡œë“œí•  수 없습니다"
-#: js/files.js:209
+#: js/files.js:242
msgid "Upload Error"
msgstr "업로드 오류"
-#: js/files.js:226
+#: js/files.js:259
msgid "Close"
msgstr "닫기"
-#: js/files.js:245 js/files.js:359 js/files.js:389
+#: js/files.js:278 js/files.js:397 js/files.js:431
msgid "Pending"
msgstr "보류 중"
-#: js/files.js:265
+#: js/files.js:298
msgid "1 file uploading"
msgstr "íŒŒì¼ 1ê°œ 업로드 중"
-#: js/files.js:268 js/files.js:322 js/files.js:337
+#: js/files.js:301 js/files.js:357 js/files.js:372
msgid "{count} files uploading"
msgstr "íŒŒì¼ {count}ê°œ 업로드 중"
-#: js/files.js:340 js/files.js:373
+#: js/files.js:376 js/files.js:414
msgid "Upload cancelled."
msgstr "업로드가 취소ë˜ì—ˆìŠµë‹ˆë‹¤."
-#: js/files.js:442
+#: js/files.js:486
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr "íŒŒì¼ ì—…ë¡œë“œê°€ ì§„í–‰ 중입니다. ì´ íŽ˜ì´ì§€ë¥¼ 벗어나면 업로드가 취소ë©ë‹ˆë‹¤."
-#: js/files.js:512
-msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud"
-msgstr "í´ë” ì´ë¦„ì´ ì˜¬ë°”ë¥´ì§€ 않습니다. \"Shared\" í´ë”는 ownCloudì—서 예약ë˜ì—ˆìŠµë‹ˆë‹¤."
+#: js/files.js:559
+msgid "URL cannot be empty."
+msgstr "URLì„ ìž…ë ¥í•´ì•¼ 합니다."
+
+#: js/files.js:565
+msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
+msgstr "í´ë” ì´ë¦„ì´ ìœ íš¨í•˜ì§€ 않습니다. "
-#: js/files.js:693
+#: js/files.js:775
msgid "{count} files scanned"
msgstr "íŒŒì¼ {count}ê°œ 검색ë¨"
-#: js/files.js:701
+#: js/files.js:783
msgid "error while scanning"
msgstr "검색 중 오류 ë°œìƒ"
-#: js/files.js:774 templates/index.php:66
+#: js/files.js:857 templates/index.php:64
msgid "Name"
msgstr "ì´ë¦„"
-#: js/files.js:775 templates/index.php:77
+#: js/files.js:858 templates/index.php:75
msgid "Size"
msgstr "í¬ê¸°"
-#: js/files.js:776 templates/index.php:79
+#: js/files.js:859 templates/index.php:77
msgid "Modified"
msgstr "수정ë¨"
-#: js/files.js:803
+#: js/files.js:878
msgid "1 folder"
msgstr "í´ë” 1ê°œ"
-#: js/files.js:805
+#: js/files.js:880
msgid "{count} folders"
msgstr "í´ë” {count}ê°œ"
-#: js/files.js:813
+#: js/files.js:888
msgid "1 file"
msgstr "íŒŒì¼ 1ê°œ"
-#: js/files.js:815
+#: js/files.js:890
msgid "{count} files"
msgstr "íŒŒì¼ {count}ê°œ"
@@ -194,27 +241,27 @@ msgstr "íŒŒì¼ ì²˜ë¦¬"
msgid "Maximum upload size"
msgstr "최대 업로드 í¬ê¸°"
-#: templates/admin.php:9
+#: templates/admin.php:10
msgid "max. possible: "
msgstr "최대 가능:"
-#: templates/admin.php:12
+#: templates/admin.php:15
msgid "Needed for multi-file and folder downloads."
msgstr "다중 íŒŒì¼ ë° í´ë” ë‹¤ìš´ë¡œë“œì— í•„ìš”í•©ë‹ˆë‹¤."
-#: templates/admin.php:14
+#: templates/admin.php:17
msgid "Enable ZIP-download"
msgstr "ZIP 다운로드 허용"
-#: templates/admin.php:17
+#: templates/admin.php:20
msgid "0 is unlimited"
msgstr "0ì€ ë¬´ì œí•œìž…ë‹ˆë‹¤"
-#: templates/admin.php:19
+#: templates/admin.php:22
msgid "Maximum input size for ZIP files"
msgstr "ZIP íŒŒì¼ ìµœëŒ€ í¬ê¸°"
-#: templates/admin.php:23
+#: templates/admin.php:26
msgid "Save"
msgstr "저장"
@@ -234,36 +281,32 @@ msgstr "í´ë”"
msgid "From link"
msgstr "ë§í¬ì—서"
-#: templates/index.php:35
-msgid "Upload"
-msgstr "업로드"
-
-#: templates/index.php:43
+#: templates/index.php:41
msgid "Cancel upload"
msgstr "업로드 취소"
-#: templates/index.php:58
+#: templates/index.php:56
msgid "Nothing in here. Upload something!"
msgstr "ë‚´ìš©ì´ ì—†ìŠµë‹ˆë‹¤. 업로드할 수 있습니다!"
-#: templates/index.php:72
+#: templates/index.php:70
msgid "Download"
msgstr "다운로드"
-#: templates/index.php:104
+#: templates/index.php:102
msgid "Upload too large"
msgstr "업로드 용량 초과"
-#: templates/index.php:106
+#: templates/index.php:104
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "ì´ íŒŒì¼ì´ 서버ì—서 허용하는 최대 업로드 가능 용량보다 í½ë‹ˆë‹¤."
-#: templates/index.php:111
+#: templates/index.php:109
msgid "Files are being scanned, please wait."
msgstr "파ì¼ì„ 검색하고 있습니다. 기다려 주십시오."
-#: templates/index.php:114
+#: templates/index.php:112
msgid "Current scanning"
msgstr "현재 검색"
diff --git a/l10n/ko/files_encryption.po b/l10n/ko/files_encryption.po
index 7317bd55f1d..441ba8cec4b 100644
--- a/l10n/ko/files_encryption.po
+++ b/l10n/ko/files_encryption.po
@@ -9,9 +9,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-10 00:11+0100\n"
-"PO-Revision-Date: 2012-12-09 06:13+0000\n"
-"Last-Translator: Shinjo Park <kde@peremen.name>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -19,18 +19,66 @@ msgstr ""
"Language: ko\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "암호화"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "ë‹¤ìŒ íŒŒì¼ í˜•ì‹ì€ 암호화하지 않ìŒ"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "ì—†ìŒ"
-
-#: templates/settings.php:12
-msgid "Enable Encryption"
-msgstr "암호화 사용"
diff --git a/l10n/ko/files_external.po b/l10n/ko/files_external.po
index 70d697575d8..f43b8963773 100644
--- a/l10n/ko/files_external.po
+++ b/l10n/ko/files_external.po
@@ -3,15 +3,16 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# <aoiob4305@gmail.com>, 2013.
# 남ìžì‚¬ëžŒ <cessnagi@gmail.com>, 2012.
# Shinjo Park <kde@peremen.name>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-13 00:17+0100\n"
-"PO-Revision-Date: 2012-12-11 23:22+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-08 00:30+0100\n"
+"PO-Revision-Date: 2013-01-07 10:07+0000\n"
+"Last-Translator: aoiob4305 <aoiob4305@gmail.com>\n"
"Language-Team: Korean (http://www.transifex.com/projects/p/owncloud/language/ko/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -47,14 +48,14 @@ msgstr "Google 드ë¼ì´ë¸Œ 저장소 설정 오류"
msgid ""
"<b>Warning:</b> \"smbclient\" is not installed. Mounting of CIFS/SMB shares "
"is not possible. Please ask your system administrator to install it."
-msgstr ""
+msgstr "<b>경고</b>\"smbclient\"ê°€ 설치ë˜ì§€ 않았습니다. CIFS/SMB 공유애 ì—°ê²°ì´ ë¶ˆê°€ëŠ¥ 합니다.. 시스템 관리ìžì—게 요청하여 설치하시기 ë°”ëžë‹ˆë‹¤."
#: lib/config.php:435
msgid ""
"<b>Warning:</b> The FTP support in PHP is not enabled or installed. Mounting"
" of FTP shares is not possible. Please ask your system administrator to "
"install it."
-msgstr ""
+msgstr "<b>경고</b>PHPìš© FTP ì§€ì›ì´ 사용 불가능 하거나 설치ë˜ì§€ 않았습니다. FTP ê³µìœ ì— ì—°ê²°ì´ ë¶ˆê°€ëŠ¥ 합니다. 시스템 관리ìžì—게 요청하여 설치하시기 ë°”ëžë‹ˆë‹¤. "
#: templates/settings.php:3
msgid "External Storage"
@@ -101,7 +102,7 @@ msgid "Users"
msgstr "사용ìž"
#: templates/settings.php:108 templates/settings.php:109
-#: templates/settings.php:149 templates/settings.php:150
+#: templates/settings.php:144 templates/settings.php:145
msgid "Delete"
msgstr "삭제"
@@ -113,10 +114,10 @@ msgstr "ì‚¬ìš©ìž ì™¸ë¶€ 저장소 사용"
msgid "Allow users to mount their own external storage"
msgstr "사용ìžë³„ 외부 저장소 마운트 허용"
-#: templates/settings.php:139
+#: templates/settings.php:136
msgid "SSL root certificates"
msgstr "SSL 루트 ì¸ì¦ì„œ"
-#: templates/settings.php:158
+#: templates/settings.php:153
msgid "Import Root Certificate"
msgstr "루트 ì¸ì¦ì„œ 가져오기"
diff --git a/l10n/ko/files_versions.po b/l10n/ko/files_versions.po
index 20d3071b548..0fe524b7701 100644
--- a/l10n/ko/files_versions.po
+++ b/l10n/ko/files_versions.po
@@ -9,9 +9,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-10 00:11+0100\n"
-"PO-Revision-Date: 2012-12-09 06:11+0000\n"
-"Last-Translator: Shinjo Park <kde@peremen.name>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -19,22 +19,10 @@ msgstr ""
"Language: ko\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: js/settings-personal.js:31 templates/settings-personal.php:10
-msgid "Expire all versions"
-msgstr "모든 버전 삭제"
-
#: js/versions.js:16
msgid "History"
msgstr "역사"
-#: templates/settings-personal.php:4
-msgid "Versions"
-msgstr "버전"
-
-#: templates/settings-personal.php:7
-msgid "This will delete all existing backup versions of your files"
-msgstr "ì´ íŒŒì¼ì˜ 모든 백업 ë²„ì „ì„ ì‚­ì œí•©ë‹ˆë‹¤"
-
#: templates/settings.php:3
msgid "Files Versioning"
msgstr "íŒŒì¼ ë²„ì „ 관리"
diff --git a/l10n/ko/lib.po b/l10n/ko/lib.po
index 3870ebda87f..c759d43ece3 100644
--- a/l10n/ko/lib.po
+++ b/l10n/ko/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: 2012-12-10 00:11+0100\n"
-"PO-Revision-Date: 2012-12-09 06:06+0000\n"
-"Last-Translator: Shinjo Park <kde@peremen.name>\n"
+"POT-Creation-Date: 2013-01-17 00:26+0100\n"
+"PO-Revision-Date: 2013-01-16 23:26+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -19,51 +19,55 @@ msgstr ""
"Language: ko\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: app.php:287
+#: app.php:301
msgid "Help"
msgstr "ë„움ë§"
-#: app.php:294
+#: app.php:308
msgid "Personal"
msgstr "ê°œì¸"
-#: app.php:299
+#: app.php:313
msgid "Settings"
msgstr "설정"
-#: app.php:304
+#: app.php:318
msgid "Users"
msgstr "사용ìž"
-#: app.php:311
+#: app.php:325
msgid "Apps"
msgstr "앱"
-#: app.php:313
+#: app.php:327
msgid "Admin"
msgstr "관리ìž"
-#: files.php:361
+#: files.php:365
msgid "ZIP download is turned off."
msgstr "ZIP 다운로드가 비활성화ë˜ì—ˆìŠµë‹ˆë‹¤."
-#: files.php:362
+#: files.php:366
msgid "Files need to be downloaded one by one."
msgstr "파ì¼ì„ 개별ì ìœ¼ë¡œ 다운로드해야 합니다."
-#: files.php:362 files.php:387
+#: files.php:366 files.php:391
msgid "Back to Files"
msgstr "파ì¼ë¡œ ëŒì•„가기"
-#: files.php:386
+#: files.php:390
msgid "Selected files too large to generate zip file."
msgstr "ì„ íƒí•œ 파ì¼ë“¤ì€ ZIP 파ì¼ì„ ìƒì„±í•˜ê¸°ì— 너무 í½ë‹ˆë‹¤."
+#: helper.php:228
+msgid "couldn't be determined"
+msgstr ""
+
#: json.php:28
msgid "Application is not enabled"
msgstr "ì•±ì´ í™œì„±í™”ë˜ì§€ 않았습니다"
-#: json.php:39 json.php:64 json.php:77 json.php:89
+#: json.php:39 json.php:62 json.php:73
msgid "Authentication error"
msgstr "ì¸ì¦ 오류"
@@ -83,55 +87,55 @@ msgstr "í…스트"
msgid "Images"
msgstr "그림"
-#: template.php:103
+#: template.php:113
msgid "seconds ago"
msgstr "ì´ˆ ì „"
-#: template.php:104
+#: template.php:114
msgid "1 minute ago"
msgstr "1ë¶„ ì „"
-#: template.php:105
+#: template.php:115
#, php-format
msgid "%d minutes ago"
msgstr "%dë¶„ ì „"
-#: template.php:106
+#: template.php:116
msgid "1 hour ago"
msgstr "1시간 전"
-#: template.php:107
+#: template.php:117
#, php-format
msgid "%d hours ago"
msgstr "%d시간 전"
-#: template.php:108
+#: template.php:118
msgid "today"
msgstr "오늘"
-#: template.php:109
+#: template.php:119
msgid "yesterday"
msgstr "어제"
-#: template.php:110
+#: template.php:120
#, php-format
msgid "%d days ago"
msgstr "%dì¼ ì „"
-#: template.php:111
+#: template.php:121
msgid "last month"
msgstr "지난 달"
-#: template.php:112
+#: template.php:122
#, php-format
msgid "%d months ago"
msgstr "%d개월 전"
-#: template.php:113
+#: template.php:123
msgid "last year"
msgstr "작년"
-#: template.php:114
+#: template.php:124
msgid "years ago"
msgstr "ë…„ ì „"
diff --git a/l10n/ko/settings.po b/l10n/ko/settings.po
index 7e948772a38..cf07cd95284 100644
--- a/l10n/ko/settings.po
+++ b/l10n/ko/settings.po
@@ -3,15 +3,17 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# <aoiob4305@gmail.com>, 2013.
# 남ìžì‚¬ëžŒ <cessnagi@gmail.com>, 2012.
+# Harim Park <fofwisdom@gmail.com>, 2013.
# <limonade83@gmail.com>, 2012.
# Shinjo Park <kde@peremen.name>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-21 00:10+0100\n"
-"PO-Revision-Date: 2012-12-19 23:20+0000\n"
+"POT-Creation-Date: 2013-01-12 00:09+0100\n"
+"PO-Revision-Date: 2013-01-11 23:09+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"
@@ -32,7 +34,7 @@ msgstr "ê·¸ë£¹ì´ ì´ë¯¸ 존재합니다."
msgid "Unable to add group"
msgstr "ê·¸ë£¹ì„ ì¶”ê°€í•  수 없습니다."
-#: ajax/enableapp.php:12
+#: ajax/enableapp.php:11
msgid "Could not enable app. "
msgstr "ì•±ì„ í™œì„±í™”í•  수 없습니다."
@@ -44,14 +46,6 @@ msgstr "ì´ë©”ì¼ ì €ìž¥ë¨"
msgid "Invalid email"
msgstr "ìž˜ëª»ëœ ì´ë©”ì¼ ì£¼ì†Œ"
-#: ajax/openid.php:13
-msgid "OpenID Changed"
-msgstr "OpenID 변경ë¨"
-
-#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20
-msgid "Invalid request"
-msgstr "ìž˜ëª»ëœ ìš”ì²­"
-
#: ajax/removegroup.php:13
msgid "Unable to delete group"
msgstr "ê·¸ë£¹ì„ ì‚­ì œí•  수 없습니다."
@@ -68,6 +62,10 @@ msgstr "사용ìžë¥¼ 삭제할 수 없습니다."
msgid "Language changed"
msgstr "언어가 변경ë˜ì—ˆìŠµë‹ˆë‹¤"
+#: ajax/setlanguage.php:17 ajax/setlanguage.php:20
+msgid "Invalid request"
+msgstr "ìž˜ëª»ëœ ìš”ì²­"
+
#: ajax/togglegroups.php:12
msgid "Admins can't remove themself from the admin group"
msgstr "ê´€ë¦¬ìž ìžì‹ ì„ ê´€ë¦¬ìž ê·¸ë£¹ì—서 삭제할 수 없습니다"
@@ -120,27 +118,27 @@ msgstr "<span class=\"licence\"></span>-ë¼ì´ì„ ìФ ë³´ìœ ìž <span class=\"aut
#: templates/help.php:3
msgid "User Documentation"
-msgstr ""
+msgstr "유저 문서"
#: templates/help.php:4
msgid "Administrator Documentation"
-msgstr ""
+msgstr "ê´€ë¦¬ìž ë¬¸ì„œ"
#: templates/help.php:6
msgid "Online Documentation"
-msgstr ""
+msgstr "온ë¼ì¸ 문서"
#: templates/help.php:7
msgid "Forum"
-msgstr ""
+msgstr "í¬ëŸ¼"
#: templates/help.php:9
msgid "Bugtracker"
-msgstr ""
+msgstr "버그트래커"
#: templates/help.php:11
msgid "Commercial Support"
-msgstr ""
+msgstr "ìƒì—…ìš© ì§€ì›"
#: templates/personal.php:8
#, php-format
@@ -153,17 +151,17 @@ msgstr "ê³ ê°"
#: templates/personal.php:13
msgid "Download Desktop Clients"
-msgstr ""
+msgstr "ë°ìФí¬íƒ‘ í´ë¼ì´ì–¸íЏ 다운로드"
#: templates/personal.php:14
msgid "Download Android Client"
-msgstr ""
+msgstr "안드로ì´ë“œ í´ë¼ì´ì–¸íЏ 다운로드"
#: templates/personal.php:15
msgid "Download iOS Client"
-msgstr ""
+msgstr "iOS í´ë¼ì´ì–¸íЏ 다운로드"
-#: templates/personal.php:21 templates/users.php:23 templates/users.php:77
+#: templates/personal.php:21 templates/users.php:23 templates/users.php:82
msgid "Password"
msgstr "암호"
@@ -213,15 +211,15 @@ msgstr "번역 ë•기"
#: templates/personal.php:52
msgid "WebDAV"
-msgstr ""
+msgstr "WebDAV"
#: templates/personal.php:54
msgid "Use this address to connect to your ownCloud in your file manager"
-msgstr ""
+msgstr "íŒŒì¼ ë§¤ë‹ˆì €ì—서 사용ìžì˜ ownCloudì— ì ‘ì†í•˜ê¸° 위해 ì´ ì£¼ì†Œë¥¼ 사용하십시요."
#: templates/personal.php:63
msgid "Version"
-msgstr ""
+msgstr "버젼"
#: templates/personal.php:65
msgid ""
@@ -233,11 +231,11 @@ msgid ""
"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/users.php:21 templates/users.php:76
+#: templates/users.php:21 templates/users.php:81
msgid "Name"
msgstr "ì´ë¦„"
-#: templates/users.php:26 templates/users.php:78 templates/users.php:98
+#: templates/users.php:26 templates/users.php:83 templates/users.php:103
msgid "Groups"
msgstr "그룹"
@@ -246,21 +244,29 @@ msgid "Create"
msgstr "만들기"
#: templates/users.php:35
-msgid "Default Quota"
-msgstr "기본 할당량"
+msgid "Default Storage"
+msgstr "기본 저장소"
-#: templates/users.php:55 templates/users.php:138
+#: templates/users.php:42 templates/users.php:138
+msgid "Unlimited"
+msgstr "무제한"
+
+#: templates/users.php:60 templates/users.php:153
msgid "Other"
msgstr "기타"
-#: templates/users.php:80 templates/users.php:112
+#: templates/users.php:85 templates/users.php:117
msgid "Group Admin"
msgstr "그룹 관리ìž"
-#: templates/users.php:82
-msgid "Quota"
-msgstr "할당량"
+#: templates/users.php:87
+msgid "Storage"
+msgstr "저장소"
+
+#: templates/users.php:133
+msgid "Default"
+msgstr "기본값"
-#: templates/users.php:146
+#: templates/users.php:161
msgid "Delete"
msgstr "삭제"
diff --git a/l10n/ko/user_ldap.po b/l10n/ko/user_ldap.po
index b10823d7147..53b9f3b081f 100644
--- a/l10n/ko/user_ldap.po
+++ b/l10n/ko/user_ldap.po
@@ -3,14 +3,15 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# <aoiob4305@gmail.com>, 2013.
# 남ìžì‚¬ëžŒ <cessnagi@gmail.com>, 2012.
# Shinjo Park <kde@peremen.name>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-15 00:11+0100\n"
-"PO-Revision-Date: 2012-12-14 23:11+0000\n"
+"POT-Creation-Date: 2013-01-16 00:19+0100\n"
+"PO-Revision-Date: 2013-01-15 23:20+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"
@@ -24,12 +25,12 @@ msgid ""
"<b>Warning:</b> Apps user_ldap and user_webdavauth are incompatible. You may"
" experience unexpected behaviour. Please ask your system administrator to "
"disable one of them."
-msgstr ""
+msgstr "<b>경고</b>user_ldap 앱과 user_webdavauth ì•±ì€ í˜¸í™˜ë˜ì§€ 않습니다. 오ë™ìž‘ì„ ì¼ìœ¼í‚¬ 수 있으므로, 시스템 관리ìžì—게 요청하여, 둘 중 하나를 비활성화 하시기 ë°”ëžë‹ˆë‹¤."
#: templates/settings.php:11
msgid ""
-"<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will"
-" not work. Please ask your system administrator to install it."
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not "
+"work. Please ask your system administrator to install it."
msgstr ""
#: templates/settings.php:15
@@ -46,6 +47,10 @@ msgid "Base DN"
msgstr "기본 DN"
#: templates/settings.php:16
+msgid "One Base DN per line"
+msgstr ""
+
+#: templates/settings.php:16
msgid "You can specify Base DN for users and groups in the Advanced tab"
msgstr "고급 탭ì—서 ì‚¬ìš©ìž ë° ê·¸ë£¹ì— ëŒ€í•œ 기본 DNì„ ì§€ì •í•  수 있습니다."
@@ -116,10 +121,18 @@ msgstr "í¬íЏ"
msgid "Base User Tree"
msgstr "기본 ì‚¬ìš©ìž íŠ¸ë¦¬"
+#: templates/settings.php:25
+msgid "One User Base DN per line"
+msgstr ""
+
#: templates/settings.php:26
msgid "Base Group Tree"
msgstr "기본 그룹 트리"
+#: templates/settings.php:26
+msgid "One Group Base DN per line"
+msgstr ""
+
#: templates/settings.php:27
msgid "Group-Member association"
msgstr "그룹-íšŒì› ì—°ê²°"
diff --git a/l10n/ko/user_webdavauth.po b/l10n/ko/user_webdavauth.po
index 621bee70462..bd135598c7f 100644
--- a/l10n/ko/user_webdavauth.po
+++ b/l10n/ko/user_webdavauth.po
@@ -3,13 +3,14 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# <aoiob4305@gmail.com>, 2013.
# 남ìžì‚¬ëžŒ <cessnagi@gmail.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-20 00:11+0100\n"
-"PO-Revision-Date: 2012-12-19 23:12+0000\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+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"
@@ -18,13 +19,17 @@ msgstr ""
"Language: ko\n"
"Plural-Forms: nplurals=1; plural=0;\n"
+#: templates/settings.php:3
+msgid "WebDAV Authentication"
+msgstr ""
+
#: templates/settings.php:4
msgid "URL: http://"
-msgstr ""
+msgstr "URL: http://"
#: templates/settings.php:6
msgid ""
-"ownCloud will send the user credentials to this URL is interpret http 401 "
-"and http 403 as credentials wrong and all other codes as credentials "
-"correct."
+"ownCloud will send the user credentials to this URL. 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 ""
diff --git a/l10n/ku_IQ/core.po b/l10n/ku_IQ/core.po
index 3917e9409cc..66155fca436 100644
--- a/l10n/ku_IQ/core.po
+++ b/l10n/ku_IQ/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: 2012-12-13 00:17+0100\n"
-"PO-Revision-Date: 2012-12-12 23:17+0000\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:03+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Kurdish (Iraq) (http://www.transifex.com/projects/p/owncloud/language/ku_IQ/)\n"
"MIME-Version: 1.0\n"
@@ -84,55 +84,55 @@ msgstr ""
msgid "Settings"
msgstr "ده‌ستكاری"
-#: js/js.js:704
+#: js/js.js:711
msgid "seconds ago"
msgstr ""
-#: js/js.js:705
+#: js/js.js:712
msgid "1 minute ago"
msgstr ""
-#: js/js.js:706
+#: js/js.js:713
msgid "{minutes} minutes ago"
msgstr ""
-#: js/js.js:707
+#: js/js.js:714
msgid "1 hour ago"
msgstr ""
-#: js/js.js:708
+#: js/js.js:715
msgid "{hours} hours ago"
msgstr ""
-#: js/js.js:709
+#: js/js.js:716
msgid "today"
msgstr ""
-#: js/js.js:710
+#: js/js.js:717
msgid "yesterday"
msgstr ""
-#: js/js.js:711
+#: js/js.js:718
msgid "{days} days ago"
msgstr ""
-#: js/js.js:712
+#: js/js.js:719
msgid "last month"
msgstr ""
-#: js/js.js:713
+#: js/js.js:720
msgid "{months} months ago"
msgstr ""
-#: js/js.js:714
+#: js/js.js:721
msgid "months ago"
msgstr ""
-#: js/js.js:715
+#: js/js.js:722
msgid "last year"
msgstr ""
-#: js/js.js:716
+#: js/js.js:723
msgid "years ago"
msgstr ""
@@ -162,8 +162,8 @@ msgid "The object type is not specified."
msgstr ""
#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136
-#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:541
-#: js/share.js:553
+#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:554
+#: js/share.js:566
msgid "Error"
msgstr "هه‌ڵه"
@@ -175,7 +175,7 @@ msgstr ""
msgid "The required file {file} is not installed!"
msgstr ""
-#: js/share.js:124 js/share.js:581
+#: js/share.js:124 js/share.js:594
msgid "Error while sharing"
msgstr ""
@@ -203,12 +203,11 @@ msgstr ""
msgid "Share with link"
msgstr ""
-#: js/share.js:164
+#: js/share.js:166
msgid "Password protect"
msgstr ""
-#: js/share.js:168 templates/installation.php:42 templates/login.php:24
-#: templates/verify.php:13
+#: js/share.js:168 templates/installation.php:44 templates/login.php:35
msgid "Password"
msgstr "وشەی تێپەربو"
@@ -272,23 +271,23 @@ msgstr ""
msgid "share"
msgstr ""
-#: js/share.js:353 js/share.js:528 js/share.js:530
+#: js/share.js:356 js/share.js:541
msgid "Password protected"
msgstr ""
-#: js/share.js:541
+#: js/share.js:554
msgid "Error unsetting expiration date"
msgstr ""
-#: js/share.js:553
+#: js/share.js:566
msgid "Error setting expiration date"
msgstr ""
-#: js/share.js:568
+#: js/share.js:581
msgid "Sending ..."
msgstr ""
-#: js/share.js:579
+#: js/share.js:592
msgid "Email sent"
msgstr ""
@@ -312,8 +311,8 @@ msgstr ""
msgid "Request failed!"
msgstr ""
-#: lostpassword/templates/lostpassword.php:11 templates/installation.php:38
-#: templates/login.php:20
+#: lostpassword/templates/lostpassword.php:11 templates/installation.php:39
+#: templates/login.php:28
msgid "Username"
msgstr "ناوی به‌کارهێنه‌ر"
@@ -402,44 +401,44 @@ msgstr ""
msgid "Create an <strong>admin account</strong>"
msgstr ""
-#: templates/installation.php:48
+#: templates/installation.php:50
msgid "Advanced"
msgstr "هه‌ڵبژاردنی پیشكه‌وتوو"
-#: templates/installation.php:50
+#: templates/installation.php:52
msgid "Data folder"
msgstr "زانیاری Ùۆڵده‌ر"
-#: templates/installation.php:57
+#: templates/installation.php:59
msgid "Configure the database"
msgstr ""
-#: templates/installation.php:62 templates/installation.php:73
-#: templates/installation.php:83 templates/installation.php:93
+#: templates/installation.php:64 templates/installation.php:75
+#: templates/installation.php:85 templates/installation.php:95
msgid "will be used"
msgstr ""
-#: templates/installation.php:105
+#: templates/installation.php:107
msgid "Database user"
msgstr "به‌كارهێنه‌ری داتابه‌یس"
-#: templates/installation.php:109
+#: templates/installation.php:111
msgid "Database password"
msgstr "وشه‌ی نهێنی داتا به‌یس"
-#: templates/installation.php:113
+#: templates/installation.php:115
msgid "Database name"
msgstr "ناوی داتابه‌یس"
-#: templates/installation.php:121
+#: templates/installation.php:123
msgid "Database tablespace"
msgstr ""
-#: templates/installation.php:127
+#: templates/installation.php:129
msgid "Database host"
msgstr "هۆستی داتابه‌یس"
-#: templates/installation.php:132
+#: templates/installation.php:134
msgid "Finish setup"
msgstr "كۆتایی هات ده‌ستكاریه‌كان"
@@ -527,36 +526,32 @@ msgstr "ڕاژه‌ی وێب له‌ژێر چاودێریت دایه"
msgid "Log out"
msgstr "چوونەدەرەوە"
-#: templates/login.php:8
+#: templates/login.php:10
msgid "Automatic logon rejected!"
msgstr ""
-#: templates/login.php:9
+#: templates/login.php:11
msgid ""
"If you did not change your password recently, your account may be "
"compromised!"
msgstr ""
-#: templates/login.php:10
+#: templates/login.php:13
msgid "Please change your password to secure your account again."
msgstr ""
-#: templates/login.php:15
+#: templates/login.php:19
msgid "Lost your password?"
msgstr ""
-#: templates/login.php:27
+#: templates/login.php:39
msgid "remember"
msgstr ""
-#: templates/login.php:28
+#: templates/login.php:41
msgid "Log in"
msgstr ""
-#: templates/logout.php:1
-msgid "You are logged out."
-msgstr ""
-
#: templates/part.pagenavi.php:3
msgid "prev"
msgstr "پێشتر"
@@ -565,16 +560,7 @@ msgstr "پێشتر"
msgid "next"
msgstr "دواتر"
-#: templates/verify.php:5
-msgid "Security Warning!"
-msgstr ""
-
-#: templates/verify.php:6
-msgid ""
-"Please verify your password. <br/>For security reasons you may be "
-"occasionally asked to enter your password again."
-msgstr ""
-
-#: templates/verify.php:16
-msgid "Verify"
+#: templates/update.php:3
+#, php-format
+msgid "Updating ownCloud to version %s, this may take a while."
msgstr ""
diff --git a/l10n/ku_IQ/files.po b/l10n/ku_IQ/files.po
index 749a057b1c1..abd2fbccd88 100644
--- a/l10n/ku_IQ/files.po
+++ b/l10n/ku_IQ/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: 2012-12-01 00:01+0100\n"
-"PO-Revision-Date: 2012-11-30 23:02+0000\n"
+"POT-Creation-Date: 2013-01-20 00:05+0100\n"
+"PO-Revision-Date: 2013-01-19 23:05+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Kurdish (Iraq) (http://www.transifex.com/projects/p/owncloud/language/ku_IQ/)\n"
"MIME-Version: 1.0\n"
@@ -17,46 +17,77 @@ msgstr ""
"Language: ku_IQ\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+#: ajax/delete.php:28 ajax/getstoragestats.php:11 ajax/upload.php:17
+#: ajax/upload.php:76 templates/index.php:18
+msgid "Upload"
+msgstr "بارکردن"
+
+#: ajax/move.php:17
+#, php-format
+msgid "Could not move %s - File with this name already exists"
+msgstr ""
+
+#: ajax/move.php:24
+#, php-format
+msgid "Could not move %s"
+msgstr ""
+
+#: ajax/rename.php:19
+msgid "Unable to rename file"
+msgstr ""
+
#: ajax/upload.php:20
+msgid "No file was uploaded. Unknown error"
+msgstr ""
+
+#: ajax/upload.php:30
msgid "There is no error, the file uploaded with success"
msgstr ""
-#: ajax/upload.php:21
+#: ajax/upload.php:31
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr ""
-#: ajax/upload.php:23
+#: ajax/upload.php:33
msgid ""
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
"the HTML form"
msgstr ""
-#: ajax/upload.php:25
+#: ajax/upload.php:35
msgid "The uploaded file was only partially uploaded"
msgstr ""
-#: ajax/upload.php:26
+#: ajax/upload.php:36
msgid "No file was uploaded"
msgstr ""
-#: ajax/upload.php:27
+#: ajax/upload.php:37
msgid "Missing a temporary folder"
msgstr ""
-#: ajax/upload.php:28
+#: ajax/upload.php:38
msgid "Failed to write to disk"
msgstr ""
+#: ajax/upload.php:57
+msgid "Not enough space available"
+msgstr ""
+
+#: ajax/upload.php:91
+msgid "Invalid directory."
+msgstr ""
+
#: appinfo/app.php:10
msgid "Files"
msgstr ""
-#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84
+#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
msgid "Unshare"
msgstr ""
-#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90
+#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
msgid "Delete"
msgstr ""
@@ -64,122 +95,136 @@ msgstr ""
msgid "Rename"
msgstr ""
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "{new_name} already exists"
msgstr ""
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "replace"
msgstr ""
-#: js/filelist.js:201
+#: js/filelist.js:205
msgid "suggest name"
msgstr ""
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "cancel"
msgstr ""
-#: js/filelist.js:250
+#: js/filelist.js:254
msgid "replaced {new_name}"
msgstr ""
-#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286
+#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
msgid "undo"
msgstr ""
-#: js/filelist.js:252
+#: js/filelist.js:256
msgid "replaced {new_name} with {old_name}"
msgstr ""
-#: js/filelist.js:284
+#: js/filelist.js:288
msgid "unshared {files}"
msgstr ""
-#: js/filelist.js:286
+#: js/filelist.js:290
msgid "deleted {files}"
msgstr ""
-#: js/files.js:33
+#: js/files.js:48
+msgid "'.' is an invalid file name."
+msgstr ""
+
+#: js/files.js:53
+msgid "File name cannot be empty."
+msgstr ""
+
+#: js/files.js:62
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr ""
-#: js/files.js:183
-msgid "generating ZIP-file, it may take some time."
+#: js/files.js:204
+msgid ""
+"Your download is being prepared. This might take some time if the files are "
+"big."
msgstr ""
-#: js/files.js:218
+#: js/files.js:242
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr ""
-#: js/files.js:218
+#: js/files.js:242
msgid "Upload Error"
msgstr ""
-#: js/files.js:235
+#: js/files.js:259
msgid "Close"
msgstr "داخستن"
-#: js/files.js:254 js/files.js:368 js/files.js:398
+#: js/files.js:278 js/files.js:397 js/files.js:431
msgid "Pending"
msgstr ""
-#: js/files.js:274
+#: js/files.js:298
msgid "1 file uploading"
msgstr ""
-#: js/files.js:277 js/files.js:331 js/files.js:346
+#: js/files.js:301 js/files.js:357 js/files.js:372
msgid "{count} files uploading"
msgstr ""
-#: js/files.js:349 js/files.js:382
+#: js/files.js:376 js/files.js:414
msgid "Upload cancelled."
msgstr ""
-#: js/files.js:451
+#: js/files.js:486
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr ""
-#: js/files.js:523
-msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud"
+#: js/files.js:559
+msgid "URL cannot be empty."
+msgstr "ناونیشانی به‌سته‌ر نابێت به‌تاڵ بێت."
+
+#: js/files.js:565
+msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
msgstr ""
-#: js/files.js:704
+#: js/files.js:775
msgid "{count} files scanned"
msgstr ""
-#: js/files.js:712
+#: js/files.js:783
msgid "error while scanning"
msgstr ""
-#: js/files.js:785 templates/index.php:65
+#: js/files.js:857 templates/index.php:64
msgid "Name"
msgstr "ناو"
-#: js/files.js:786 templates/index.php:76
+#: js/files.js:858 templates/index.php:75
msgid "Size"
msgstr ""
-#: js/files.js:787 templates/index.php:78
+#: js/files.js:859 templates/index.php:77
msgid "Modified"
msgstr ""
-#: js/files.js:814
+#: js/files.js:878
msgid "1 folder"
msgstr ""
-#: js/files.js:816
+#: js/files.js:880
msgid "{count} folders"
msgstr ""
-#: js/files.js:824
+#: js/files.js:888
msgid "1 file"
msgstr ""
-#: js/files.js:826
+#: js/files.js:890
msgid "{count} files"
msgstr ""
@@ -191,27 +236,27 @@ msgstr ""
msgid "Maximum upload size"
msgstr ""
-#: templates/admin.php:9
+#: templates/admin.php:10
msgid "max. possible: "
msgstr ""
-#: templates/admin.php:12
+#: templates/admin.php:15
msgid "Needed for multi-file and folder downloads."
msgstr ""
-#: templates/admin.php:14
+#: templates/admin.php:17
msgid "Enable ZIP-download"
msgstr ""
-#: templates/admin.php:17
+#: templates/admin.php:20
msgid "0 is unlimited"
msgstr ""
-#: templates/admin.php:19
+#: templates/admin.php:22
msgid "Maximum input size for ZIP files"
msgstr ""
-#: templates/admin.php:23
+#: templates/admin.php:26
msgid "Save"
msgstr "پاشکه‌وتکردن"
@@ -231,36 +276,32 @@ msgstr "بوخچه"
msgid "From link"
msgstr ""
-#: templates/index.php:35
-msgid "Upload"
-msgstr "بارکردن"
-
-#: templates/index.php:43
+#: templates/index.php:41
msgid "Cancel upload"
msgstr ""
-#: templates/index.php:57
+#: templates/index.php:56
msgid "Nothing in here. Upload something!"
msgstr ""
-#: templates/index.php:71
+#: templates/index.php:70
msgid "Download"
msgstr "داگرتن"
-#: templates/index.php:103
+#: templates/index.php:102
msgid "Upload too large"
msgstr ""
-#: templates/index.php:105
+#: templates/index.php:104
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr ""
-#: templates/index.php:110
+#: templates/index.php:109
msgid "Files are being scanned, please wait."
msgstr ""
-#: templates/index.php:113
+#: templates/index.php:112
msgid "Current scanning"
msgstr ""
diff --git a/l10n/ku_IQ/files_encryption.po b/l10n/ku_IQ/files_encryption.po
index ebb1c844374..d372d58b033 100644
--- a/l10n/ku_IQ/files_encryption.po
+++ b/l10n/ku_IQ/files_encryption.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-10-08 02:02+0200\n"
-"PO-Revision-Date: 2012-10-07 00:06+0000\n"
-"Last-Translator: Hozha Koyi <hozhan@gmail.com>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Kurdish (Iraq) (http://www.transifex.com/projects/p/owncloud/language/ku_IQ/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,18 +18,66 @@ msgstr ""
"Language: ku_IQ\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "نهێنیکردن"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "به‌ربه‌ست کردنی ئه‌م جۆره‌ په‌ڕگانه له‌ نهێنیکردن"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "هیچ"
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "چالاکردنی نهێنیکردن"
diff --git a/l10n/ku_IQ/files_versions.po b/l10n/ku_IQ/files_versions.po
index 89832609b9c..b3fa1af6357 100644
--- a/l10n/ku_IQ/files_versions.po
+++ b/l10n/ku_IQ/files_versions.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-10-07 02:03+0200\n"
-"PO-Revision-Date: 2012-10-07 00:02+0000\n"
-"Last-Translator: Hozha Koyi <hozhan@gmail.com>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Kurdish (Iraq) (http://www.transifex.com/projects/p/owncloud/language/ku_IQ/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,22 +18,10 @@ msgstr ""
"Language: ku_IQ\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: js/settings-personal.js:31 templates/settings-personal.php:10
-msgid "Expire all versions"
-msgstr "وه‌شانه‌کان گشتیان به‌سه‌رده‌چن"
-
#: js/versions.js:16
msgid "History"
msgstr "مێژوو"
-#: templates/settings-personal.php:4
-msgid "Versions"
-msgstr "وه‌شان"
-
-#: templates/settings-personal.php:7
-msgid "This will delete all existing backup versions of your files"
-msgstr "ئه‌مه‌ سه‌رجه‌م پاڵپشتی وه‌شانه‌ هه‌بووه‌کانی په‌ڕگه‌کانت ده‌سڕینته‌وه"
-
#: templates/settings.php:3
msgid "Files Versioning"
msgstr "وه‌شانی په‌ڕگه"
diff --git a/l10n/ku_IQ/lib.po b/l10n/ku_IQ/lib.po
index ab5cb3ada24..64ee0185d35 100644
--- a/l10n/ku_IQ/lib.po
+++ b/l10n/ku_IQ/lib.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-11-16 00:02+0100\n"
-"PO-Revision-Date: 2012-11-14 23:13+0000\n"
+"POT-Creation-Date: 2013-01-17 00:26+0100\n"
+"PO-Revision-Date: 2013-01-16 23:26+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Kurdish (Iraq) (http://www.transifex.com/projects/p/owncloud/language/ku_IQ/)\n"
"MIME-Version: 1.0\n"
@@ -17,51 +17,55 @@ msgstr ""
"Language: ku_IQ\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: app.php:285
+#: app.php:301
msgid "Help"
msgstr "یارمەتی"
-#: app.php:292
+#: app.php:308
msgid "Personal"
msgstr ""
-#: app.php:297
+#: app.php:313
msgid "Settings"
msgstr "ده‌ستكاری"
-#: app.php:302
+#: app.php:318
msgid "Users"
msgstr "به‌كارهێنه‌ر"
-#: app.php:309
+#: app.php:325
msgid "Apps"
msgstr ""
-#: app.php:311
+#: app.php:327
msgid "Admin"
msgstr ""
-#: files.php:332
+#: files.php:365
msgid "ZIP download is turned off."
msgstr ""
-#: files.php:333
+#: files.php:366
msgid "Files need to be downloaded one by one."
msgstr ""
-#: files.php:333 files.php:358
+#: files.php:366 files.php:391
msgid "Back to Files"
msgstr ""
-#: files.php:357
+#: files.php:390
msgid "Selected files too large to generate zip file."
msgstr ""
+#: helper.php:228
+msgid "couldn't be determined"
+msgstr ""
+
#: json.php:28
msgid "Application is not enabled"
msgstr ""
-#: json.php:39 json.php:64 json.php:77 json.php:89
+#: json.php:39 json.php:62 json.php:73
msgid "Authentication error"
msgstr ""
@@ -81,55 +85,55 @@ msgstr ""
msgid "Images"
msgstr ""
-#: template.php:103
+#: template.php:113
msgid "seconds ago"
msgstr ""
-#: template.php:104
+#: template.php:114
msgid "1 minute ago"
msgstr ""
-#: template.php:105
+#: template.php:115
#, php-format
msgid "%d minutes ago"
msgstr ""
-#: template.php:106
+#: template.php:116
msgid "1 hour ago"
msgstr ""
-#: template.php:107
+#: template.php:117
#, php-format
msgid "%d hours ago"
msgstr ""
-#: template.php:108
+#: template.php:118
msgid "today"
msgstr ""
-#: template.php:109
+#: template.php:119
msgid "yesterday"
msgstr ""
-#: template.php:110
+#: template.php:120
#, php-format
msgid "%d days ago"
msgstr ""
-#: template.php:111
+#: template.php:121
msgid "last month"
msgstr ""
-#: template.php:112
+#: template.php:122
#, php-format
msgid "%d months ago"
msgstr ""
-#: template.php:113
+#: template.php:123
msgid "last year"
msgstr ""
-#: template.php:114
+#: template.php:124
msgid "years ago"
msgstr ""
diff --git a/l10n/ku_IQ/settings.po b/l10n/ku_IQ/settings.po
index 535d2af3759..75dbd11b7bc 100644
--- a/l10n/ku_IQ/settings.po
+++ b/l10n/ku_IQ/settings.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-20 00:11+0100\n"
-"PO-Revision-Date: 2012-12-19 23:11+0000\n"
+"POT-Creation-Date: 2013-01-12 00:09+0100\n"
+"PO-Revision-Date: 2013-01-11 23:09+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Kurdish (Iraq) (http://www.transifex.com/projects/p/owncloud/language/ku_IQ/)\n"
"MIME-Version: 1.0\n"
@@ -29,7 +29,7 @@ msgstr ""
msgid "Unable to add group"
msgstr ""
-#: ajax/enableapp.php:12
+#: ajax/enableapp.php:11
msgid "Could not enable app. "
msgstr ""
@@ -41,14 +41,6 @@ msgstr ""
msgid "Invalid email"
msgstr ""
-#: ajax/openid.php:13
-msgid "OpenID Changed"
-msgstr ""
-
-#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20
-msgid "Invalid request"
-msgstr ""
-
#: ajax/removegroup.php:13
msgid "Unable to delete group"
msgstr ""
@@ -65,6 +57,10 @@ msgstr ""
msgid "Language changed"
msgstr ""
+#: ajax/setlanguage.php:17 ajax/setlanguage.php:20
+msgid "Invalid request"
+msgstr ""
+
#: ajax/togglegroups.php:12
msgid "Admins can't remove themself from the admin group"
msgstr ""
@@ -160,7 +156,7 @@ msgstr ""
msgid "Download iOS Client"
msgstr ""
-#: templates/personal.php:21 templates/users.php:23 templates/users.php:77
+#: templates/personal.php:21 templates/users.php:23 templates/users.php:82
msgid "Password"
msgstr "وشەی تێپەربو"
@@ -230,11 +226,11 @@ msgid ""
"License\">AGPL</abbr></a>."
msgstr ""
-#: templates/users.php:21 templates/users.php:76
+#: templates/users.php:21 templates/users.php:81
msgid "Name"
msgstr "ناو"
-#: templates/users.php:26 templates/users.php:78 templates/users.php:98
+#: templates/users.php:26 templates/users.php:83 templates/users.php:103
msgid "Groups"
msgstr ""
@@ -243,21 +239,29 @@ msgid "Create"
msgstr ""
#: templates/users.php:35
-msgid "Default Quota"
+msgid "Default Storage"
+msgstr ""
+
+#: templates/users.php:42 templates/users.php:138
+msgid "Unlimited"
msgstr ""
-#: templates/users.php:55 templates/users.php:138
+#: templates/users.php:60 templates/users.php:153
msgid "Other"
msgstr ""
-#: templates/users.php:80 templates/users.php:112
+#: templates/users.php:85 templates/users.php:117
msgid "Group Admin"
msgstr ""
-#: templates/users.php:82
-msgid "Quota"
+#: templates/users.php:87
+msgid "Storage"
+msgstr ""
+
+#: templates/users.php:133
+msgid "Default"
msgstr ""
-#: templates/users.php:146
+#: templates/users.php:161
msgid "Delete"
msgstr ""
diff --git a/l10n/ku_IQ/user_ldap.po b/l10n/ku_IQ/user_ldap.po
index f4e484f84f7..a6c60224118 100644
--- a/l10n/ku_IQ/user_ldap.po
+++ b/l10n/ku_IQ/user_ldap.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-15 00:11+0100\n"
-"PO-Revision-Date: 2012-12-14 23:11+0000\n"
+"POT-Creation-Date: 2013-01-18 00:03+0100\n"
+"PO-Revision-Date: 2013-01-17 21:57+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Kurdish (Iraq) (http://www.transifex.com/projects/p/owncloud/language/ku_IQ/)\n"
"MIME-Version: 1.0\n"
@@ -26,8 +26,8 @@ msgstr ""
#: templates/settings.php:11
msgid ""
-"<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will"
-" not work. Please ask your system administrator to install it."
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not "
+"work. Please ask your system administrator to install it."
msgstr ""
#: templates/settings.php:15
@@ -44,6 +44,10 @@ msgid "Base DN"
msgstr ""
#: templates/settings.php:16
+msgid "One Base DN per line"
+msgstr ""
+
+#: templates/settings.php:16
msgid "You can specify Base DN for users and groups in the Advanced tab"
msgstr ""
@@ -114,10 +118,18 @@ msgstr ""
msgid "Base User Tree"
msgstr ""
+#: templates/settings.php:25
+msgid "One User Base DN per line"
+msgstr ""
+
#: templates/settings.php:26
msgid "Base Group Tree"
msgstr ""
+#: templates/settings.php:26
+msgid "One Group Base DN per line"
+msgstr ""
+
#: templates/settings.php:27
msgid "Group-Member association"
msgstr ""
@@ -180,4 +192,4 @@ msgstr ""
#: templates/settings.php:39
msgid "Help"
-msgstr ""
+msgstr "یارمەتی"
diff --git a/l10n/ku_IQ/user_webdavauth.po b/l10n/ku_IQ/user_webdavauth.po
index 57ded88a09b..313845a14b2 100644
--- a/l10n/ku_IQ/user_webdavauth.po
+++ b/l10n/ku_IQ/user_webdavauth.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-20 00:11+0100\n"
-"PO-Revision-Date: 2012-12-19 23:12+0000\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Kurdish (Iraq) (http://www.transifex.com/projects/p/owncloud/language/ku_IQ/)\n"
"MIME-Version: 1.0\n"
@@ -17,13 +17,17 @@ msgstr ""
"Language: ku_IQ\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+#: templates/settings.php:3
+msgid "WebDAV Authentication"
+msgstr ""
+
#: templates/settings.php:4
msgid "URL: http://"
msgstr ""
#: templates/settings.php:6
msgid ""
-"ownCloud will send the user credentials to this URL is interpret http 401 "
-"and http 403 as credentials wrong and all other codes as credentials "
-"correct."
+"ownCloud will send the user credentials to this URL. 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 ""
diff --git a/l10n/lb/core.po b/l10n/lb/core.po
index eacbddee62c..d51bf81245a 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: 2012-12-13 00:17+0100\n"
-"PO-Revision-Date: 2012-12-12 23:17+0000\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:03+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"
@@ -84,55 +84,55 @@ msgstr ""
msgid "Settings"
msgstr "Astellungen"
-#: js/js.js:704
+#: js/js.js:711
msgid "seconds ago"
msgstr ""
-#: js/js.js:705
+#: js/js.js:712
msgid "1 minute ago"
msgstr ""
-#: js/js.js:706
+#: js/js.js:713
msgid "{minutes} minutes ago"
msgstr ""
-#: js/js.js:707
+#: js/js.js:714
msgid "1 hour ago"
msgstr ""
-#: js/js.js:708
+#: js/js.js:715
msgid "{hours} hours ago"
msgstr ""
-#: js/js.js:709
+#: js/js.js:716
msgid "today"
msgstr ""
-#: js/js.js:710
+#: js/js.js:717
msgid "yesterday"
msgstr ""
-#: js/js.js:711
+#: js/js.js:718
msgid "{days} days ago"
msgstr ""
-#: js/js.js:712
+#: js/js.js:719
msgid "last month"
msgstr ""
-#: js/js.js:713
+#: js/js.js:720
msgid "{months} months ago"
msgstr ""
-#: js/js.js:714
+#: js/js.js:721
msgid "months ago"
msgstr ""
-#: js/js.js:715
+#: js/js.js:722
msgid "last year"
msgstr ""
-#: js/js.js:716
+#: js/js.js:723
msgid "years ago"
msgstr ""
@@ -162,8 +162,8 @@ msgid "The object type is not specified."
msgstr ""
#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136
-#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:541
-#: js/share.js:553
+#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:554
+#: js/share.js:566
msgid "Error"
msgstr "Fehler"
@@ -175,7 +175,7 @@ msgstr ""
msgid "The required file {file} is not installed!"
msgstr ""
-#: js/share.js:124 js/share.js:581
+#: js/share.js:124 js/share.js:594
msgid "Error while sharing"
msgstr ""
@@ -203,12 +203,11 @@ msgstr ""
msgid "Share with link"
msgstr ""
-#: js/share.js:164
+#: js/share.js:166
msgid "Password protect"
msgstr ""
-#: js/share.js:168 templates/installation.php:42 templates/login.php:24
-#: templates/verify.php:13
+#: js/share.js:168 templates/installation.php:44 templates/login.php:35
msgid "Password"
msgstr "Passwuert"
@@ -272,23 +271,23 @@ msgstr ""
msgid "share"
msgstr ""
-#: js/share.js:353 js/share.js:528 js/share.js:530
+#: js/share.js:356 js/share.js:541
msgid "Password protected"
msgstr ""
-#: js/share.js:541
+#: js/share.js:554
msgid "Error unsetting expiration date"
msgstr ""
-#: js/share.js:553
+#: js/share.js:566
msgid "Error setting expiration date"
msgstr ""
-#: js/share.js:568
+#: js/share.js:581
msgid "Sending ..."
msgstr ""
-#: js/share.js:579
+#: js/share.js:592
msgid "Email sent"
msgstr ""
@@ -312,8 +311,8 @@ msgstr ""
msgid "Request failed!"
msgstr ""
-#: lostpassword/templates/lostpassword.php:11 templates/installation.php:38
-#: templates/login.php:20
+#: lostpassword/templates/lostpassword.php:11 templates/installation.php:39
+#: templates/login.php:28
msgid "Username"
msgstr "Benotzernumm"
@@ -402,44 +401,44 @@ msgstr ""
msgid "Create an <strong>admin account</strong>"
msgstr "En <strong>Admin Account</strong> uleeën"
-#: templates/installation.php:48
+#: templates/installation.php:50
msgid "Advanced"
msgstr "Advanced"
-#: templates/installation.php:50
+#: templates/installation.php:52
msgid "Data folder"
msgstr "Daten Dossier"
-#: templates/installation.php:57
+#: templates/installation.php:59
msgid "Configure the database"
msgstr "Datebank konfiguréieren"
-#: templates/installation.php:62 templates/installation.php:73
-#: templates/installation.php:83 templates/installation.php:93
+#: templates/installation.php:64 templates/installation.php:75
+#: templates/installation.php:85 templates/installation.php:95
msgid "will be used"
msgstr "wärt benotzt ginn"
-#: templates/installation.php:105
+#: templates/installation.php:107
msgid "Database user"
msgstr "Datebank Benotzer"
-#: templates/installation.php:109
+#: templates/installation.php:111
msgid "Database password"
msgstr "Datebank Passwuert"
-#: templates/installation.php:113
+#: templates/installation.php:115
msgid "Database name"
msgstr "Datebank Numm"
-#: templates/installation.php:121
+#: templates/installation.php:123
msgid "Database tablespace"
msgstr "Datebank Tabelle-Gréisst"
-#: templates/installation.php:127
+#: templates/installation.php:129
msgid "Database host"
msgstr "Datebank Server"
-#: templates/installation.php:132
+#: templates/installation.php:134
msgid "Finish setup"
msgstr "Installatioun ofschléissen"
@@ -527,36 +526,32 @@ msgstr "Web Servicer ënnert denger Kontroll"
msgid "Log out"
msgstr "Ausloggen"
-#: templates/login.php:8
+#: templates/login.php:10
msgid "Automatic logon rejected!"
msgstr ""
-#: templates/login.php:9
+#: templates/login.php:11
msgid ""
"If you did not change your password recently, your account may be "
"compromised!"
msgstr ""
-#: templates/login.php:10
+#: templates/login.php:13
msgid "Please change your password to secure your account again."
msgstr ""
-#: templates/login.php:15
+#: templates/login.php:19
msgid "Lost your password?"
msgstr "Passwuert vergiess?"
-#: templates/login.php:27
+#: templates/login.php:39
msgid "remember"
msgstr "verhalen"
-#: templates/login.php:28
+#: templates/login.php:41
msgid "Log in"
msgstr "Log dech an"
-#: templates/logout.php:1
-msgid "You are logged out."
-msgstr "Du bass ausgeloggt."
-
#: templates/part.pagenavi.php:3
msgid "prev"
msgstr "zeréck"
@@ -565,16 +560,7 @@ msgstr "zeréck"
msgid "next"
msgstr "weider"
-#: templates/verify.php:5
-msgid "Security Warning!"
-msgstr ""
-
-#: templates/verify.php:6
-msgid ""
-"Please verify your password. <br/>For security reasons you may be "
-"occasionally asked to enter your password again."
-msgstr ""
-
-#: templates/verify.php:16
-msgid "Verify"
+#: templates/update.php:3
+#, php-format
+msgid "Updating ownCloud to version %s, this may take a while."
msgstr ""
diff --git a/l10n/lb/files.po b/l10n/lb/files.po
index d4f89d14eac..61b45edafd4 100644
--- a/l10n/lb/files.po
+++ b/l10n/lb/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: 2012-12-01 00:01+0100\n"
-"PO-Revision-Date: 2012-11-30 23:02+0000\n"
+"POT-Creation-Date: 2013-01-20 00:05+0100\n"
+"PO-Revision-Date: 2013-01-19 23:05+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"
@@ -18,46 +18,77 @@ msgstr ""
"Language: lb\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+#: ajax/delete.php:28 ajax/getstoragestats.php:11 ajax/upload.php:17
+#: ajax/upload.php:76 templates/index.php:18
+msgid "Upload"
+msgstr "Eroplueden"
+
+#: ajax/move.php:17
+#, php-format
+msgid "Could not move %s - File with this name already exists"
+msgstr ""
+
+#: ajax/move.php:24
+#, php-format
+msgid "Could not move %s"
+msgstr ""
+
+#: ajax/rename.php:19
+msgid "Unable to rename file"
+msgstr ""
+
#: ajax/upload.php:20
+msgid "No file was uploaded. Unknown error"
+msgstr ""
+
+#: ajax/upload.php:30
msgid "There is no error, the file uploaded with success"
msgstr "Keen Feeler, Datei ass komplett ropgelueden ginn"
-#: ajax/upload.php:21
+#: ajax/upload.php:31
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr ""
-#: ajax/upload.php:23
+#: ajax/upload.php:33
msgid ""
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
"the HTML form"
msgstr "Déi ropgelueden Datei ass méi grouss wei d'MAX_FILE_SIZE Eegenschaft déi an der HTML form uginn ass"
-#: ajax/upload.php:25
+#: ajax/upload.php:35
msgid "The uploaded file was only partially uploaded"
msgstr "Déi ropgelueden Datei ass nëmmen hallef ropgelueden ginn"
-#: ajax/upload.php:26
+#: ajax/upload.php:36
msgid "No file was uploaded"
msgstr "Et ass keng Datei ropgelueden ginn"
-#: ajax/upload.php:27
+#: ajax/upload.php:37
msgid "Missing a temporary folder"
msgstr "Et feelt en temporären Dossier"
-#: ajax/upload.php:28
+#: ajax/upload.php:38
msgid "Failed to write to disk"
msgstr "Konnt net op den Disk schreiwen"
+#: ajax/upload.php:57
+msgid "Not enough space available"
+msgstr ""
+
+#: ajax/upload.php:91
+msgid "Invalid directory."
+msgstr ""
+
#: appinfo/app.php:10
msgid "Files"
msgstr "Dateien"
-#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84
+#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
msgid "Unshare"
msgstr ""
-#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90
+#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
msgid "Delete"
msgstr "Läschen"
@@ -65,122 +96,136 @@ msgstr "Läschen"
msgid "Rename"
msgstr ""
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "{new_name} already exists"
msgstr ""
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "replace"
msgstr "ersetzen"
-#: js/filelist.js:201
+#: js/filelist.js:205
msgid "suggest name"
msgstr ""
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "cancel"
msgstr "ofbriechen"
-#: js/filelist.js:250
+#: js/filelist.js:254
msgid "replaced {new_name}"
msgstr ""
-#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286
+#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
msgid "undo"
msgstr "réckgängeg man"
-#: js/filelist.js:252
+#: js/filelist.js:256
msgid "replaced {new_name} with {old_name}"
msgstr ""
-#: js/filelist.js:284
+#: js/filelist.js:288
msgid "unshared {files}"
msgstr ""
-#: js/filelist.js:286
+#: js/filelist.js:290
msgid "deleted {files}"
msgstr ""
-#: js/files.js:33
+#: js/files.js:48
+msgid "'.' is an invalid file name."
+msgstr ""
+
+#: js/files.js:53
+msgid "File name cannot be empty."
+msgstr ""
+
+#: js/files.js:62
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr ""
-#: js/files.js:183
-msgid "generating ZIP-file, it may take some time."
-msgstr "Et gëtt eng ZIP-File generéiert, dëst ka bëssen daueren."
+#: js/files.js:204
+msgid ""
+"Your download is being prepared. This might take some time if the files are "
+"big."
+msgstr ""
-#: js/files.js:218
+#: js/files.js:242
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr "Kann deng Datei net eroplueden well et en Dossier ass oder 0 byte grouss ass."
-#: js/files.js:218
+#: js/files.js:242
msgid "Upload Error"
msgstr "Fehler beim eroplueden"
-#: js/files.js:235
+#: js/files.js:259
msgid "Close"
msgstr "Zoumaachen"
-#: js/files.js:254 js/files.js:368 js/files.js:398
+#: js/files.js:278 js/files.js:397 js/files.js:431
msgid "Pending"
msgstr ""
-#: js/files.js:274
+#: js/files.js:298
msgid "1 file uploading"
msgstr ""
-#: js/files.js:277 js/files.js:331 js/files.js:346
+#: js/files.js:301 js/files.js:357 js/files.js:372
msgid "{count} files uploading"
msgstr ""
-#: js/files.js:349 js/files.js:382
+#: js/files.js:376 js/files.js:414
msgid "Upload cancelled."
msgstr "Upload ofgebrach."
-#: js/files.js:451
+#: js/files.js:486
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr "File Upload am gaang. Wann's de des Säit verléiss gëtt den Upload ofgebrach."
-#: js/files.js:523
-msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud"
+#: js/files.js:559
+msgid "URL cannot be empty."
msgstr ""
-#: js/files.js:704
+#: js/files.js:565
+msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
+msgstr ""
+
+#: js/files.js:775
msgid "{count} files scanned"
msgstr ""
-#: js/files.js:712
+#: js/files.js:783
msgid "error while scanning"
msgstr ""
-#: js/files.js:785 templates/index.php:65
+#: js/files.js:857 templates/index.php:64
msgid "Name"
msgstr "Numm"
-#: js/files.js:786 templates/index.php:76
+#: js/files.js:858 templates/index.php:75
msgid "Size"
msgstr "Gréisst"
-#: js/files.js:787 templates/index.php:78
+#: js/files.js:859 templates/index.php:77
msgid "Modified"
msgstr "Geännert"
-#: js/files.js:814
+#: js/files.js:878
msgid "1 folder"
msgstr ""
-#: js/files.js:816
+#: js/files.js:880
msgid "{count} folders"
msgstr ""
-#: js/files.js:824
+#: js/files.js:888
msgid "1 file"
msgstr ""
-#: js/files.js:826
+#: js/files.js:890
msgid "{count} files"
msgstr ""
@@ -192,27 +237,27 @@ msgstr "Fichier handling"
msgid "Maximum upload size"
msgstr "Maximum Upload Gréisst "
-#: templates/admin.php:9
+#: templates/admin.php:10
msgid "max. possible: "
msgstr "max. méiglech:"
-#: templates/admin.php:12
+#: templates/admin.php:15
msgid "Needed for multi-file and folder downloads."
msgstr "Gett gebraucht fir multi-Fichier an Dossier Downloads."
-#: templates/admin.php:14
+#: templates/admin.php:17
msgid "Enable ZIP-download"
msgstr "ZIP-download erlaben"
-#: templates/admin.php:17
+#: templates/admin.php:20
msgid "0 is unlimited"
msgstr "0 ass onlimitéiert"
-#: templates/admin.php:19
+#: templates/admin.php:22
msgid "Maximum input size for ZIP files"
msgstr "Maximal Gréisst fir ZIP Fichieren"
-#: templates/admin.php:23
+#: templates/admin.php:26
msgid "Save"
msgstr "Späicheren"
@@ -232,36 +277,32 @@ msgstr "Dossier"
msgid "From link"
msgstr ""
-#: templates/index.php:35
-msgid "Upload"
-msgstr "Eroplueden"
-
-#: templates/index.php:43
+#: templates/index.php:41
msgid "Cancel upload"
msgstr "Upload ofbriechen"
-#: templates/index.php:57
+#: templates/index.php:56
msgid "Nothing in here. Upload something!"
msgstr "Hei ass näischt. Lued eppes rop!"
-#: templates/index.php:71
+#: templates/index.php:70
msgid "Download"
msgstr "Eroflueden"
-#: templates/index.php:103
+#: templates/index.php:102
msgid "Upload too large"
msgstr "Upload ze grouss"
-#: templates/index.php:105
+#: templates/index.php:104
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "Déi Dateien déi Dir probéiert erop ze lueden sinn méi grouss wei déi Maximal Gréisst déi op dësem Server erlaabt ass."
-#: templates/index.php:110
+#: templates/index.php:109
msgid "Files are being scanned, please wait."
msgstr "Fichieren gi gescannt, war weg."
-#: templates/index.php:113
+#: templates/index.php:112
msgid "Current scanning"
msgstr "Momentane Scan"
diff --git a/l10n/lb/files_encryption.po b/l10n/lb/files_encryption.po
index 5446d2366b4..f88e884164b 100644
--- a/l10n/lb/files_encryption.po
+++ b/l10n/lb/files_encryption.po
@@ -7,28 +7,76 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-08-13 23:12+0200\n"
-"PO-Revision-Date: 2012-08-12 22:33+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+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"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: lb\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: templates/settings.php:3
-msgid "Encryption"
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
msgstr ""
-#: templates/settings.php:4
-msgid "Exclude the following file types from encryption"
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
msgstr ""
-#: templates/settings.php:5
-msgid "None"
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
msgstr ""
#: templates/settings.php:10
-msgid "Enable Encryption"
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
+msgid "Encryption"
+msgstr ""
+
+#: templates/settings.php:67
+msgid "Exclude the following file types from encryption"
+msgstr ""
+
+#: templates/settings.php:71
+msgid "None"
msgstr ""
diff --git a/l10n/lb/files_versions.po b/l10n/lb/files_versions.po
index 9f3294d11f6..3c50ece48e4 100644
--- a/l10n/lb/files_versions.po
+++ b/l10n/lb/files_versions.po
@@ -7,9 +7,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-09-22 01:14+0200\n"
-"PO-Revision-Date: 2012-09-21 23:15+0000\n"
-"Last-Translator: I Robot <thomas.mueller@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:03+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -17,22 +17,10 @@ msgstr ""
"Language: lb\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: js/settings-personal.js:31 templates/settings-personal.php:10
-msgid "Expire all versions"
-msgstr ""
-
#: js/versions.js:16
msgid "History"
msgstr ""
-#: templates/settings-personal.php:4
-msgid "Versions"
-msgstr ""
-
-#: templates/settings-personal.php:7
-msgid "This will delete all existing backup versions of your files"
-msgstr ""
-
#: templates/settings.php:3
msgid "Files Versioning"
msgstr ""
diff --git a/l10n/lb/lib.po b/l10n/lb/lib.po
index b164e98f222..09aea026773 100644
--- a/l10n/lb/lib.po
+++ b/l10n/lb/lib.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-11-16 00:02+0100\n"
-"PO-Revision-Date: 2012-11-14 23:13+0000\n"
+"POT-Creation-Date: 2013-01-18 00:03+0100\n"
+"PO-Revision-Date: 2013-01-17 21:57+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"
@@ -17,51 +17,55 @@ msgstr ""
"Language: lb\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: app.php:285
+#: app.php:301
msgid "Help"
-msgstr ""
+msgstr "Hëllef"
-#: app.php:292
+#: app.php:308
msgid "Personal"
msgstr "Perséinlech"
-#: app.php:297
+#: app.php:313
msgid "Settings"
msgstr "Astellungen"
-#: app.php:302
+#: app.php:318
msgid "Users"
msgstr ""
-#: app.php:309
+#: app.php:325
msgid "Apps"
msgstr ""
-#: app.php:311
+#: app.php:327
msgid "Admin"
msgstr ""
-#: files.php:332
+#: files.php:365
msgid "ZIP download is turned off."
msgstr ""
-#: files.php:333
+#: files.php:366
msgid "Files need to be downloaded one by one."
msgstr ""
-#: files.php:333 files.php:358
+#: files.php:366 files.php:391
msgid "Back to Files"
msgstr ""
-#: files.php:357
+#: files.php:390
msgid "Selected files too large to generate zip file."
msgstr ""
+#: helper.php:228
+msgid "couldn't be determined"
+msgstr ""
+
#: json.php:28
msgid "Application is not enabled"
msgstr ""
-#: json.php:39 json.php:64 json.php:77 json.php:89
+#: json.php:39 json.php:62 json.php:73
msgid "Authentication error"
msgstr "Authentifikatioun's Fehler"
@@ -71,7 +75,7 @@ msgstr ""
#: search/provider/file.php:17 search/provider/file.php:35
msgid "Files"
-msgstr ""
+msgstr "Dateien"
#: search/provider/file.php:26 search/provider/file.php:33
msgid "Text"
@@ -81,55 +85,55 @@ msgstr "SMS"
msgid "Images"
msgstr ""
-#: template.php:103
+#: template.php:113
msgid "seconds ago"
msgstr ""
-#: template.php:104
+#: template.php:114
msgid "1 minute ago"
msgstr ""
-#: template.php:105
+#: template.php:115
#, php-format
msgid "%d minutes ago"
msgstr ""
-#: template.php:106
+#: template.php:116
msgid "1 hour ago"
msgstr ""
-#: template.php:107
+#: template.php:117
#, php-format
msgid "%d hours ago"
msgstr ""
-#: template.php:108
+#: template.php:118
msgid "today"
msgstr ""
-#: template.php:109
+#: template.php:119
msgid "yesterday"
msgstr ""
-#: template.php:110
+#: template.php:120
#, php-format
msgid "%d days ago"
msgstr ""
-#: template.php:111
+#: template.php:121
msgid "last month"
msgstr ""
-#: template.php:112
+#: template.php:122
#, php-format
msgid "%d months ago"
msgstr ""
-#: template.php:113
+#: template.php:123
msgid "last year"
msgstr ""
-#: template.php:114
+#: template.php:124
msgid "years ago"
msgstr ""
diff --git a/l10n/lb/settings.po b/l10n/lb/settings.po
index 90bde23fab6..2bb5692c231 100644
--- a/l10n/lb/settings.po
+++ b/l10n/lb/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: 2012-12-21 00:10+0100\n"
-"PO-Revision-Date: 2012-12-19 23:20+0000\n"
+"POT-Creation-Date: 2013-01-12 00:09+0100\n"
+"PO-Revision-Date: 2013-01-11 23:09+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"
@@ -30,7 +30,7 @@ msgstr ""
msgid "Unable to add group"
msgstr ""
-#: ajax/enableapp.php:12
+#: ajax/enableapp.php:11
msgid "Could not enable app. "
msgstr ""
@@ -42,14 +42,6 @@ msgstr "E-mail gespäichert"
msgid "Invalid email"
msgstr "Ongülteg e-mail"
-#: ajax/openid.php:13
-msgid "OpenID Changed"
-msgstr "OpenID huet geännert"
-
-#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20
-msgid "Invalid request"
-msgstr "Ongülteg Requête"
-
#: ajax/removegroup.php:13
msgid "Unable to delete group"
msgstr ""
@@ -66,6 +58,10 @@ msgstr ""
msgid "Language changed"
msgstr "Sprooch huet geännert"
+#: ajax/setlanguage.php:17 ajax/setlanguage.php:20
+msgid "Invalid request"
+msgstr "Ongülteg Requête"
+
#: ajax/togglegroups.php:12
msgid "Admins can't remove themself from the admin group"
msgstr ""
@@ -161,7 +157,7 @@ msgstr ""
msgid "Download iOS Client"
msgstr ""
-#: templates/personal.php:21 templates/users.php:23 templates/users.php:77
+#: templates/personal.php:21 templates/users.php:23 templates/users.php:82
msgid "Password"
msgstr "Passwuert"
@@ -231,11 +227,11 @@ msgid ""
"License\">AGPL</abbr></a>."
msgstr ""
-#: templates/users.php:21 templates/users.php:76
+#: templates/users.php:21 templates/users.php:81
msgid "Name"
msgstr "Numm"
-#: templates/users.php:26 templates/users.php:78 templates/users.php:98
+#: templates/users.php:26 templates/users.php:83 templates/users.php:103
msgid "Groups"
msgstr "Gruppen"
@@ -244,21 +240,29 @@ msgid "Create"
msgstr "Erstellen"
#: templates/users.php:35
-msgid "Default Quota"
-msgstr "Standard Quota"
+msgid "Default Storage"
+msgstr ""
+
+#: templates/users.php:42 templates/users.php:138
+msgid "Unlimited"
+msgstr ""
-#: templates/users.php:55 templates/users.php:138
+#: templates/users.php:60 templates/users.php:153
msgid "Other"
msgstr "Aner"
-#: templates/users.php:80 templates/users.php:112
+#: templates/users.php:85 templates/users.php:117
msgid "Group Admin"
msgstr "Gruppen Admin"
-#: templates/users.php:82
-msgid "Quota"
-msgstr "Quota"
+#: templates/users.php:87
+msgid "Storage"
+msgstr ""
+
+#: templates/users.php:133
+msgid "Default"
+msgstr ""
-#: templates/users.php:146
+#: templates/users.php:161
msgid "Delete"
msgstr "Läschen"
diff --git a/l10n/lb/user_ldap.po b/l10n/lb/user_ldap.po
index be1657cb3d3..a12e3f905ee 100644
--- a/l10n/lb/user_ldap.po
+++ b/l10n/lb/user_ldap.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-15 00:11+0100\n"
-"PO-Revision-Date: 2012-12-14 23:11+0000\n"
+"POT-Creation-Date: 2013-01-18 00:03+0100\n"
+"PO-Revision-Date: 2013-01-17 21:57+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"
@@ -26,8 +26,8 @@ msgstr ""
#: templates/settings.php:11
msgid ""
-"<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will"
-" not work. Please ask your system administrator to install it."
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not "
+"work. Please ask your system administrator to install it."
msgstr ""
#: templates/settings.php:15
@@ -44,6 +44,10 @@ msgid "Base DN"
msgstr ""
#: templates/settings.php:16
+msgid "One Base DN per line"
+msgstr ""
+
+#: templates/settings.php:16
msgid "You can specify Base DN for users and groups in the Advanced tab"
msgstr ""
@@ -114,10 +118,18 @@ msgstr ""
msgid "Base User Tree"
msgstr ""
+#: templates/settings.php:25
+msgid "One User Base DN per line"
+msgstr ""
+
#: templates/settings.php:26
msgid "Base Group Tree"
msgstr ""
+#: templates/settings.php:26
+msgid "One Group Base DN per line"
+msgstr ""
+
#: templates/settings.php:27
msgid "Group-Member association"
msgstr ""
@@ -180,4 +192,4 @@ msgstr ""
#: templates/settings.php:39
msgid "Help"
-msgstr ""
+msgstr "Hëllef"
diff --git a/l10n/lb/user_webdavauth.po b/l10n/lb/user_webdavauth.po
index 626112fb833..fb53f7bcb24 100644
--- a/l10n/lb/user_webdavauth.po
+++ b/l10n/lb/user_webdavauth.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-20 00:11+0100\n"
-"PO-Revision-Date: 2012-12-19 23:12+0000\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+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"
@@ -17,13 +17,17 @@ msgstr ""
"Language: lb\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+#: templates/settings.php:3
+msgid "WebDAV Authentication"
+msgstr ""
+
#: templates/settings.php:4
msgid "URL: http://"
msgstr ""
#: templates/settings.php:6
msgid ""
-"ownCloud will send the user credentials to this URL is interpret http 401 "
-"and http 403 as credentials wrong and all other codes as credentials "
-"correct."
+"ownCloud will send the user credentials to this URL. 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 ""
diff --git a/l10n/lt_LT/core.po b/l10n/lt_LT/core.po
index ecc372bdfea..bdc20a2384a 100644
--- a/l10n/lt_LT/core.po
+++ b/l10n/lt_LT/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: 2012-12-13 00:17+0100\n"
-"PO-Revision-Date: 2012-12-12 23:17+0000\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:03+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"
@@ -85,55 +85,55 @@ msgstr ""
msgid "Settings"
msgstr "Nustatymai"
-#: js/js.js:704
+#: js/js.js:711
msgid "seconds ago"
msgstr "prieš sekundę"
-#: js/js.js:705
+#: js/js.js:712
msgid "1 minute ago"
msgstr "Prieš 1 minutę"
-#: js/js.js:706
+#: js/js.js:713
msgid "{minutes} minutes ago"
msgstr "Prieš {count} minutes"
-#: js/js.js:707
+#: js/js.js:714
msgid "1 hour ago"
msgstr ""
-#: js/js.js:708
+#: js/js.js:715
msgid "{hours} hours ago"
msgstr ""
-#: js/js.js:709
+#: js/js.js:716
msgid "today"
msgstr "šiandien"
-#: js/js.js:710
+#: js/js.js:717
msgid "yesterday"
msgstr "vakar"
-#: js/js.js:711
+#: js/js.js:718
msgid "{days} days ago"
msgstr "Prieš {days} dienas"
-#: js/js.js:712
+#: js/js.js:719
msgid "last month"
msgstr "praeitą mėnesį"
-#: js/js.js:713
+#: js/js.js:720
msgid "{months} months ago"
msgstr ""
-#: js/js.js:714
+#: js/js.js:721
msgid "months ago"
msgstr "prieš mėnesį"
-#: js/js.js:715
+#: js/js.js:722
msgid "last year"
msgstr "praeitais metais"
-#: js/js.js:716
+#: js/js.js:723
msgid "years ago"
msgstr "prieš metus"
@@ -163,8 +163,8 @@ msgid "The object type is not specified."
msgstr ""
#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136
-#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:541
-#: js/share.js:553
+#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:554
+#: js/share.js:566
msgid "Error"
msgstr "Klaida"
@@ -176,7 +176,7 @@ msgstr ""
msgid "The required file {file} is not installed!"
msgstr ""
-#: js/share.js:124 js/share.js:581
+#: js/share.js:124 js/share.js:594
msgid "Error while sharing"
msgstr "Klaida, dalijimosi metu"
@@ -204,12 +204,11 @@ msgstr "Dalintis su"
msgid "Share with link"
msgstr "Dalintis nuoroda"
-#: js/share.js:164
+#: js/share.js:166
msgid "Password protect"
msgstr "Apsaugotas slaptažodžiu"
-#: js/share.js:168 templates/installation.php:42 templates/login.php:24
-#: templates/verify.php:13
+#: js/share.js:168 templates/installation.php:44 templates/login.php:35
msgid "Password"
msgstr "Slaptažodis"
@@ -273,23 +272,23 @@ msgstr "ištrinti"
msgid "share"
msgstr "dalintis"
-#: js/share.js:353 js/share.js:528 js/share.js:530
+#: js/share.js:356 js/share.js:541
msgid "Password protected"
msgstr "Apsaugota slaptažodžiu"
-#: js/share.js:541
+#: js/share.js:554
msgid "Error unsetting expiration date"
msgstr "Klaida nuimant galiojimo laikÄ…"
-#: js/share.js:553
+#: js/share.js:566
msgid "Error setting expiration date"
msgstr "Klaida nustatant galiojimo laikÄ…"
-#: js/share.js:568
+#: js/share.js:581
msgid "Sending ..."
msgstr ""
-#: js/share.js:579
+#: js/share.js:592
msgid "Email sent"
msgstr ""
@@ -313,8 +312,8 @@ msgstr ""
msgid "Request failed!"
msgstr ""
-#: lostpassword/templates/lostpassword.php:11 templates/installation.php:38
-#: templates/login.php:20
+#: lostpassword/templates/lostpassword.php:11 templates/installation.php:39
+#: templates/login.php:28
msgid "Username"
msgstr "Prisijungimo vardas"
@@ -403,44 +402,44 @@ msgstr "Jūsų duomenų aplankalas ir Jūsų failai turbūt yra pasiekiami per i
msgid "Create an <strong>admin account</strong>"
msgstr "Sukurti <strong>administratoriaus paskyrÄ…</strong>"
-#: templates/installation.php:48
+#: templates/installation.php:50
msgid "Advanced"
msgstr "Išplėstiniai"
-#: templates/installation.php:50
+#: templates/installation.php:52
msgid "Data folder"
msgstr "Duomenų katalogas"
-#: templates/installation.php:57
+#: templates/installation.php:59
msgid "Configure the database"
msgstr "Nustatyti duomenų bazę"
-#: templates/installation.php:62 templates/installation.php:73
-#: templates/installation.php:83 templates/installation.php:93
+#: templates/installation.php:64 templates/installation.php:75
+#: templates/installation.php:85 templates/installation.php:95
msgid "will be used"
msgstr "bus naudojama"
-#: templates/installation.php:105
+#: templates/installation.php:107
msgid "Database user"
msgstr "Duomenų bazės vartotojas"
-#: templates/installation.php:109
+#: templates/installation.php:111
msgid "Database password"
msgstr "Duomenų bazės slaptažodis"
-#: templates/installation.php:113
+#: templates/installation.php:115
msgid "Database name"
msgstr "Duomenų bazės pavadinimas"
-#: templates/installation.php:121
+#: templates/installation.php:123
msgid "Database tablespace"
msgstr "Duomenų bazės loginis saugojimas"
-#: templates/installation.php:127
+#: templates/installation.php:129
msgid "Database host"
msgstr "Duomenų bazės serveris"
-#: templates/installation.php:132
+#: templates/installation.php:134
msgid "Finish setup"
msgstr "Baigti diegimÄ…"
@@ -528,36 +527,32 @@ msgstr "jūsų valdomos web paslaugos"
msgid "Log out"
msgstr "Atsijungti"
-#: templates/login.php:8
+#: templates/login.php:10
msgid "Automatic logon rejected!"
msgstr "Automatinis prisijungimas atmestas!"
-#: templates/login.php:9
+#: templates/login.php:11
msgid ""
"If you did not change your password recently, your account may be "
"compromised!"
msgstr "Jei paskutinių metu nekeitėte savo slaptažodžio, Jūsų paskyra gali būti pavojuje!"
-#: templates/login.php:10
+#: templates/login.php:13
msgid "Please change your password to secure your account again."
msgstr "Prašome pasikeisti slaptažodį dar kartą, dėl paskyros saugumo."
-#: templates/login.php:15
+#: templates/login.php:19
msgid "Lost your password?"
msgstr "Pamiršote slaptažodį?"
-#: templates/login.php:27
+#: templates/login.php:39
msgid "remember"
msgstr "prisiminti"
-#: templates/login.php:28
+#: templates/login.php:41
msgid "Log in"
msgstr "Prisijungti"
-#: templates/logout.php:1
-msgid "You are logged out."
-msgstr "Jūs atsijungėte."
-
#: templates/part.pagenavi.php:3
msgid "prev"
msgstr "atgal"
@@ -566,16 +561,7 @@ msgstr "atgal"
msgid "next"
msgstr "kitas"
-#: templates/verify.php:5
-msgid "Security Warning!"
-msgstr "Saugumo pranešimas!"
-
-#: templates/verify.php:6
-msgid ""
-"Please verify your password. <br/>For security reasons you may be "
-"occasionally asked to enter your password again."
-msgstr "Prašome patvirtinti savo vartotoją.<br/>Dėl saugumo, slaptažodžio patvirtinimas bus reikalaujamas įvesti kas kiek laiko."
-
-#: templates/verify.php:16
-msgid "Verify"
-msgstr "Patvirtinti"
+#: templates/update.php:3
+#, php-format
+msgid "Updating ownCloud to version %s, this may take a while."
+msgstr ""
diff --git a/l10n/lt_LT/files.po b/l10n/lt_LT/files.po
index ef30d7726ce..bae5e238b17 100644
--- a/l10n/lt_LT/files.po
+++ b/l10n/lt_LT/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: 2012-12-01 00:01+0100\n"
-"PO-Revision-Date: 2012-11-30 23:02+0000\n"
+"POT-Creation-Date: 2013-01-20 00:05+0100\n"
+"PO-Revision-Date: 2013-01-19 23:05+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"
@@ -20,46 +20,77 @@ msgstr ""
"Language: lt_LT\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+#: ajax/delete.php:28 ajax/getstoragestats.php:11 ajax/upload.php:17
+#: ajax/upload.php:76 templates/index.php:18
+msgid "Upload"
+msgstr "Įkelti"
+
+#: ajax/move.php:17
+#, php-format
+msgid "Could not move %s - File with this name already exists"
+msgstr ""
+
+#: ajax/move.php:24
+#, php-format
+msgid "Could not move %s"
+msgstr ""
+
+#: ajax/rename.php:19
+msgid "Unable to rename file"
+msgstr ""
+
#: ajax/upload.php:20
+msgid "No file was uploaded. Unknown error"
+msgstr ""
+
+#: ajax/upload.php:30
msgid "There is no error, the file uploaded with success"
msgstr "Klaidų nėra, failas įkeltas sėkmingai"
-#: ajax/upload.php:21
+#: ajax/upload.php:31
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr ""
-#: ajax/upload.php:23
+#: ajax/upload.php:33
msgid ""
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
"the HTML form"
msgstr "Įkeliamo failo dydis viršija MAX_FILE_SIZE parametrą, kuris yra nustatytas HTML formoje"
-#: ajax/upload.php:25
+#: ajax/upload.php:35
msgid "The uploaded file was only partially uploaded"
msgstr "Failas buvo įkeltas tik dalinai"
-#: ajax/upload.php:26
+#: ajax/upload.php:36
msgid "No file was uploaded"
msgstr "Nebuvo įkeltas nė vienas failas"
-#: ajax/upload.php:27
+#: ajax/upload.php:37
msgid "Missing a temporary folder"
msgstr "NÄ—ra laikinojo katalogo"
-#: ajax/upload.php:28
+#: ajax/upload.php:38
msgid "Failed to write to disk"
msgstr "Nepavyko įrašyti į diską"
+#: ajax/upload.php:57
+msgid "Not enough space available"
+msgstr ""
+
+#: ajax/upload.php:91
+msgid "Invalid directory."
+msgstr ""
+
#: appinfo/app.php:10
msgid "Files"
msgstr "Failai"
-#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84
+#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
msgid "Unshare"
msgstr "Nebesidalinti"
-#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90
+#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
msgid "Delete"
msgstr "Ištrinti"
@@ -67,122 +98,136 @@ msgstr "Ištrinti"
msgid "Rename"
msgstr "Pervadinti"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "{new_name} already exists"
msgstr "{new_name} jau egzistuoja"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "replace"
msgstr "pakeisti"
-#: js/filelist.js:201
+#: js/filelist.js:205
msgid "suggest name"
msgstr "pasiūlyti pavadinimą"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "cancel"
msgstr "atšaukti"
-#: js/filelist.js:250
+#: js/filelist.js:254
msgid "replaced {new_name}"
msgstr "pakeiskite {new_name}"
-#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286
+#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
msgid "undo"
msgstr "anuliuoti"
-#: js/filelist.js:252
+#: js/filelist.js:256
msgid "replaced {new_name} with {old_name}"
msgstr "pakeiskite {new_name} į {old_name}"
-#: js/filelist.js:284
+#: js/filelist.js:288
msgid "unshared {files}"
msgstr "nebesidalinti {files}"
-#: js/filelist.js:286
+#: js/filelist.js:290
msgid "deleted {files}"
msgstr "ištrinti {files}"
-#: js/files.js:33
+#: js/files.js:48
+msgid "'.' is an invalid file name."
+msgstr ""
+
+#: js/files.js:53
+msgid "File name cannot be empty."
+msgstr ""
+
+#: js/files.js:62
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr ""
-#: js/files.js:183
-msgid "generating ZIP-file, it may take some time."
-msgstr "kuriamas ZIP archyvas, tai gali užtrukti šiek tiek laiko."
+#: js/files.js:204
+msgid ""
+"Your download is being prepared. This might take some time if the files are "
+"big."
+msgstr ""
-#: js/files.js:218
+#: js/files.js:242
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr "Neįmanoma įkelti failo - jo dydis gali būti 0 bitų arba tai katalogas"
-#: js/files.js:218
+#: js/files.js:242
msgid "Upload Error"
msgstr "Įkėlimo klaida"
-#: js/files.js:235
+#: js/files.js:259
msgid "Close"
msgstr "Užverti"
-#: js/files.js:254 js/files.js:368 js/files.js:398
+#: js/files.js:278 js/files.js:397 js/files.js:431
msgid "Pending"
msgstr "Laukiantis"
-#: js/files.js:274
+#: js/files.js:298
msgid "1 file uploading"
msgstr "įkeliamas 1 failas"
-#: js/files.js:277 js/files.js:331 js/files.js:346
+#: js/files.js:301 js/files.js:357 js/files.js:372
msgid "{count} files uploading"
msgstr "{count} įkeliami failai"
-#: js/files.js:349 js/files.js:382
+#: js/files.js:376 js/files.js:414
msgid "Upload cancelled."
msgstr "Įkėlimas atšauktas."
-#: js/files.js:451
+#: js/files.js:486
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr "Failo įkėlimas pradėtas. Jei paliksite šį puslapį, įkėlimas nutrūks."
-#: js/files.js:523
-msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud"
+#: js/files.js:559
+msgid "URL cannot be empty."
msgstr ""
-#: js/files.js:704
+#: js/files.js:565
+msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
+msgstr ""
+
+#: js/files.js:775
msgid "{count} files scanned"
msgstr "{count} praskanuoti failai"
-#: js/files.js:712
+#: js/files.js:783
msgid "error while scanning"
msgstr "klaida skanuojant"
-#: js/files.js:785 templates/index.php:65
+#: js/files.js:857 templates/index.php:64
msgid "Name"
msgstr "Pavadinimas"
-#: js/files.js:786 templates/index.php:76
+#: js/files.js:858 templates/index.php:75
msgid "Size"
msgstr "Dydis"
-#: js/files.js:787 templates/index.php:78
+#: js/files.js:859 templates/index.php:77
msgid "Modified"
msgstr "Pakeista"
-#: js/files.js:814
+#: js/files.js:878
msgid "1 folder"
msgstr "1 aplankalas"
-#: js/files.js:816
+#: js/files.js:880
msgid "{count} folders"
msgstr "{count} aplankalai"
-#: js/files.js:824
+#: js/files.js:888
msgid "1 file"
msgstr "1 failas"
-#: js/files.js:826
+#: js/files.js:890
msgid "{count} files"
msgstr "{count} failai"
@@ -194,27 +239,27 @@ msgstr "Failų tvarkymas"
msgid "Maximum upload size"
msgstr "Maksimalus įkeliamo failo dydis"
-#: templates/admin.php:9
+#: templates/admin.php:10
msgid "max. possible: "
msgstr "maks. galima:"
-#: templates/admin.php:12
+#: templates/admin.php:15
msgid "Needed for multi-file and folder downloads."
msgstr "Reikalinga daugybinui failų ir aplankalų atsisiuntimui."
-#: templates/admin.php:14
+#: templates/admin.php:17
msgid "Enable ZIP-download"
msgstr "Įjungti atsisiuntimą ZIP archyvu"
-#: templates/admin.php:17
+#: templates/admin.php:20
msgid "0 is unlimited"
msgstr "0 yra neribotas"
-#: templates/admin.php:19
+#: templates/admin.php:22
msgid "Maximum input size for ZIP files"
msgstr "Maksimalus ZIP archyvo failo dydis"
-#: templates/admin.php:23
+#: templates/admin.php:26
msgid "Save"
msgstr "Išsaugoti"
@@ -234,36 +279,32 @@ msgstr "Katalogas"
msgid "From link"
msgstr ""
-#: templates/index.php:35
-msgid "Upload"
-msgstr "Įkelti"
-
-#: templates/index.php:43
+#: templates/index.php:41
msgid "Cancel upload"
msgstr "Atšaukti siuntimą"
-#: templates/index.php:57
+#: templates/index.php:56
msgid "Nothing in here. Upload something!"
msgstr "ÄŒia tuÅ¡Äia. Ä®kelkite kÄ… nors!"
-#: templates/index.php:71
+#: templates/index.php:70
msgid "Download"
msgstr "Atsisiųsti"
-#: templates/index.php:103
+#: templates/index.php:102
msgid "Upload too large"
msgstr "Įkėlimui failas per didelis"
-#: templates/index.php:105
+#: templates/index.php:104
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ų leidžiamą šiame serveryje"
-#: templates/index.php:110
+#: templates/index.php:109
msgid "Files are being scanned, please wait."
msgstr "Skenuojami failai, prašome palaukti."
-#: templates/index.php:113
+#: templates/index.php:112
msgid "Current scanning"
msgstr "Å iuo metu skenuojama"
diff --git a/l10n/lt_LT/files_encryption.po b/l10n/lt_LT/files_encryption.po
index 41529366d31..152f3677f83 100644
--- a/l10n/lt_LT/files_encryption.po
+++ b/l10n/lt_LT/files_encryption.po
@@ -8,28 +8,76 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-08-23 02:03+0200\n"
-"PO-Revision-Date: 2012-08-22 12:29+0000\n"
-"Last-Translator: Dr. ROX <to.dr.rox@gmail.com>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+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"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: lt_LT\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2)\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "Å ifravimas"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "Nešifruoti pasirinkto tipo failų"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "Nieko"
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "Įjungti šifravimą"
diff --git a/l10n/lt_LT/files_versions.po b/l10n/lt_LT/files_versions.po
index 2e5b37e12fc..b3cf7ff9e97 100644
--- a/l10n/lt_LT/files_versions.po
+++ b/l10n/lt_LT/files_versions.po
@@ -9,9 +9,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-10-23 02:02+0200\n"
-"PO-Revision-Date: 2012-10-22 16:56+0000\n"
-"Last-Translator: andrejuseu <andrejuszl@gmail.com>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:03+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -19,22 +19,10 @@ msgstr ""
"Language: lt_LT\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-#: js/settings-personal.js:31 templates/settings-personal.php:10
-msgid "Expire all versions"
-msgstr "Panaikinti visų versijų galiojimą"
-
#: js/versions.js:16
msgid "History"
msgstr "Istorija"
-#: templates/settings-personal.php:4
-msgid "Versions"
-msgstr "Versijos"
-
-#: templates/settings-personal.php:7
-msgid "This will delete all existing backup versions of your files"
-msgstr "Tai ištrins visas esamas failo versijas"
-
#: templates/settings.php:3
msgid "Files Versioning"
msgstr "Failų versijos"
diff --git a/l10n/lt_LT/lib.po b/l10n/lt_LT/lib.po
index 8ef5110cd74..1f676fdd4ec 100644
--- a/l10n/lt_LT/lib.po
+++ b/l10n/lt_LT/lib.po
@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-11-16 00:02+0100\n"
-"PO-Revision-Date: 2012-11-14 23:13+0000\n"
+"POT-Creation-Date: 2013-01-17 00:26+0100\n"
+"PO-Revision-Date: 2013-01-16 23:26+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"
@@ -19,51 +19,55 @@ msgstr ""
"Language: lt_LT\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-#: app.php:285
+#: app.php:301
msgid "Help"
msgstr "Pagalba"
-#: app.php:292
+#: app.php:308
msgid "Personal"
msgstr "Asmeniniai"
-#: app.php:297
+#: app.php:313
msgid "Settings"
msgstr "Nustatymai"
-#: app.php:302
+#: app.php:318
msgid "Users"
msgstr "Vartotojai"
-#: app.php:309
+#: app.php:325
msgid "Apps"
msgstr "Programos"
-#: app.php:311
+#: app.php:327
msgid "Admin"
msgstr "Administravimas"
-#: files.php:332
+#: files.php:365
msgid "ZIP download is turned off."
msgstr "ZIP atsisiuntimo galimybė yra išjungta."
-#: files.php:333
+#: files.php:366
msgid "Files need to be downloaded one by one."
msgstr "Failai turi bÅ«ti parsiunÄiami vienas po kito."
-#: files.php:333 files.php:358
+#: files.php:366 files.php:391
msgid "Back to Files"
msgstr "Atgal į Failus"
-#: files.php:357
+#: files.php:390
msgid "Selected files too large to generate zip file."
msgstr "Pasirinkti failai per dideli archyvavimui į ZIP."
+#: helper.php:228
+msgid "couldn't be determined"
+msgstr ""
+
#: json.php:28
msgid "Application is not enabled"
msgstr "Programa neįjungta"
-#: json.php:39 json.php:64 json.php:77 json.php:89
+#: json.php:39 json.php:62 json.php:73
msgid "Authentication error"
msgstr "Autentikacijos klaida"
@@ -83,55 +87,55 @@ msgstr "ŽinuÄių"
msgid "Images"
msgstr ""
-#: template.php:103
+#: template.php:113
msgid "seconds ago"
msgstr "prieš kelias sekundes"
-#: template.php:104
+#: template.php:114
msgid "1 minute ago"
msgstr "prieš 1 minutę"
-#: template.php:105
+#: template.php:115
#, php-format
msgid "%d minutes ago"
msgstr "prieÅ¡ %d minuÄių"
-#: template.php:106
+#: template.php:116
msgid "1 hour ago"
msgstr ""
-#: template.php:107
+#: template.php:117
#, php-format
msgid "%d hours ago"
msgstr ""
-#: template.php:108
+#: template.php:118
msgid "today"
msgstr "šiandien"
-#: template.php:109
+#: template.php:119
msgid "yesterday"
msgstr "vakar"
-#: template.php:110
+#: template.php:120
#, php-format
msgid "%d days ago"
msgstr "prieš %d dienų"
-#: template.php:111
+#: template.php:121
msgid "last month"
msgstr "praėjusį mėnesį"
-#: template.php:112
+#: template.php:122
#, php-format
msgid "%d months ago"
msgstr ""
-#: template.php:113
+#: template.php:123
msgid "last year"
msgstr "pereitais metais"
-#: template.php:114
+#: template.php:124
msgid "years ago"
msgstr "prieš metus"
diff --git a/l10n/lt_LT/settings.po b/l10n/lt_LT/settings.po
index 34f05c7c008..91d9a303f5e 100644
--- a/l10n/lt_LT/settings.po
+++ b/l10n/lt_LT/settings.po
@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-21 00:10+0100\n"
-"PO-Revision-Date: 2012-12-19 23:20+0000\n"
+"POT-Creation-Date: 2013-01-12 00:09+0100\n"
+"PO-Revision-Date: 2013-01-11 23:09+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"
@@ -31,7 +31,7 @@ msgstr ""
msgid "Unable to add group"
msgstr ""
-#: ajax/enableapp.php:12
+#: ajax/enableapp.php:11
msgid "Could not enable app. "
msgstr "Nepavyksta įjungti aplikacijos."
@@ -43,14 +43,6 @@ msgstr "El. paštas išsaugotas"
msgid "Invalid email"
msgstr "Netinkamas el. paštas"
-#: ajax/openid.php:13
-msgid "OpenID Changed"
-msgstr "OpenID pakeistas"
-
-#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20
-msgid "Invalid request"
-msgstr "Klaidinga užklausa"
-
#: ajax/removegroup.php:13
msgid "Unable to delete group"
msgstr ""
@@ -67,6 +59,10 @@ msgstr ""
msgid "Language changed"
msgstr "Kalba pakeista"
+#: ajax/setlanguage.php:17 ajax/setlanguage.php:20
+msgid "Invalid request"
+msgstr "Klaidinga užklausa"
+
#: ajax/togglegroups.php:12
msgid "Admins can't remove themself from the admin group"
msgstr ""
@@ -162,7 +158,7 @@ msgstr ""
msgid "Download iOS Client"
msgstr ""
-#: templates/personal.php:21 templates/users.php:23 templates/users.php:77
+#: templates/personal.php:21 templates/users.php:23 templates/users.php:82
msgid "Password"
msgstr "Slaptažodis"
@@ -232,11 +228,11 @@ msgid ""
"License\">AGPL</abbr></a>."
msgstr ""
-#: templates/users.php:21 templates/users.php:76
+#: templates/users.php:21 templates/users.php:81
msgid "Name"
msgstr "Vardas"
-#: templates/users.php:26 templates/users.php:78 templates/users.php:98
+#: templates/users.php:26 templates/users.php:83 templates/users.php:103
msgid "Groups"
msgstr "GrupÄ—s"
@@ -245,21 +241,29 @@ msgid "Create"
msgstr "Sukurti"
#: templates/users.php:35
-msgid "Default Quota"
-msgstr "Numatytoji kvota"
+msgid "Default Storage"
+msgstr ""
+
+#: templates/users.php:42 templates/users.php:138
+msgid "Unlimited"
+msgstr ""
-#: templates/users.php:55 templates/users.php:138
+#: templates/users.php:60 templates/users.php:153
msgid "Other"
msgstr "Kita"
-#: templates/users.php:80 templates/users.php:112
+#: templates/users.php:85 templates/users.php:117
msgid "Group Admin"
msgstr ""
-#: templates/users.php:82
-msgid "Quota"
-msgstr "Limitas"
+#: templates/users.php:87
+msgid "Storage"
+msgstr ""
+
+#: templates/users.php:133
+msgid "Default"
+msgstr ""
-#: templates/users.php:146
+#: templates/users.php:161
msgid "Delete"
msgstr "Ištrinti"
diff --git a/l10n/lt_LT/user_ldap.po b/l10n/lt_LT/user_ldap.po
index 9891d24f372..0abf2d8c2fd 100644
--- a/l10n/lt_LT/user_ldap.po
+++ b/l10n/lt_LT/user_ldap.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-15 00:11+0100\n"
-"PO-Revision-Date: 2012-12-14 23:11+0000\n"
+"POT-Creation-Date: 2013-01-16 00:19+0100\n"
+"PO-Revision-Date: 2013-01-15 23:19+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,8 +27,8 @@ msgstr ""
#: templates/settings.php:11
msgid ""
-"<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will"
-" not work. Please ask your system administrator to install it."
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not "
+"work. Please ask your system administrator to install it."
msgstr ""
#: templates/settings.php:15
@@ -45,6 +45,10 @@ msgid "Base DN"
msgstr ""
#: templates/settings.php:16
+msgid "One Base DN per line"
+msgstr ""
+
+#: templates/settings.php:16
msgid "You can specify Base DN for users and groups in the Advanced tab"
msgstr ""
@@ -115,10 +119,18 @@ msgstr "Prievadas"
msgid "Base User Tree"
msgstr ""
+#: templates/settings.php:25
+msgid "One User Base DN per line"
+msgstr ""
+
#: templates/settings.php:26
msgid "Base Group Tree"
msgstr ""
+#: templates/settings.php:26
+msgid "One Group Base DN per line"
+msgstr ""
+
#: templates/settings.php:27
msgid "Group-Member association"
msgstr ""
diff --git a/l10n/lt_LT/user_webdavauth.po b/l10n/lt_LT/user_webdavauth.po
index d4919105187..f8bc059ae29 100644
--- a/l10n/lt_LT/user_webdavauth.po
+++ b/l10n/lt_LT/user_webdavauth.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-20 00:11+0100\n"
-"PO-Revision-Date: 2012-12-19 23:12+0000\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+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"
@@ -17,13 +17,17 @@ msgstr ""
"Language: lt_LT\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+#: templates/settings.php:3
+msgid "WebDAV Authentication"
+msgstr ""
+
#: templates/settings.php:4
msgid "URL: http://"
msgstr ""
#: templates/settings.php:6
msgid ""
-"ownCloud will send the user credentials to this URL is interpret http 401 "
-"and http 403 as credentials wrong and all other codes as credentials "
-"correct."
+"ownCloud will send the user credentials to this URL. 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 ""
diff --git a/l10n/lv/core.po b/l10n/lv/core.po
index 404800bf2bf..af275975955 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: 2012-12-13 00:17+0100\n"
-"PO-Revision-Date: 2012-12-12 23:17+0000\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:03+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"
@@ -84,55 +84,55 @@ msgstr ""
msgid "Settings"
msgstr "Iestatījumi"
-#: js/js.js:704
+#: js/js.js:711
msgid "seconds ago"
msgstr ""
-#: js/js.js:705
+#: js/js.js:712
msgid "1 minute ago"
msgstr ""
-#: js/js.js:706
+#: js/js.js:713
msgid "{minutes} minutes ago"
msgstr ""
-#: js/js.js:707
+#: js/js.js:714
msgid "1 hour ago"
msgstr ""
-#: js/js.js:708
+#: js/js.js:715
msgid "{hours} hours ago"
msgstr ""
-#: js/js.js:709
+#: js/js.js:716
msgid "today"
msgstr ""
-#: js/js.js:710
+#: js/js.js:717
msgid "yesterday"
msgstr ""
-#: js/js.js:711
+#: js/js.js:718
msgid "{days} days ago"
msgstr ""
-#: js/js.js:712
+#: js/js.js:719
msgid "last month"
msgstr ""
-#: js/js.js:713
+#: js/js.js:720
msgid "{months} months ago"
msgstr ""
-#: js/js.js:714
+#: js/js.js:721
msgid "months ago"
msgstr ""
-#: js/js.js:715
+#: js/js.js:722
msgid "last year"
msgstr ""
-#: js/js.js:716
+#: js/js.js:723
msgid "years ago"
msgstr ""
@@ -162,8 +162,8 @@ msgid "The object type is not specified."
msgstr ""
#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136
-#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:541
-#: js/share.js:553
+#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:554
+#: js/share.js:566
msgid "Error"
msgstr "Kļūme"
@@ -175,7 +175,7 @@ msgstr ""
msgid "The required file {file} is not installed!"
msgstr ""
-#: js/share.js:124 js/share.js:581
+#: js/share.js:124 js/share.js:594
msgid "Error while sharing"
msgstr ""
@@ -203,12 +203,11 @@ msgstr ""
msgid "Share with link"
msgstr ""
-#: js/share.js:164
+#: js/share.js:166
msgid "Password protect"
msgstr ""
-#: js/share.js:168 templates/installation.php:42 templates/login.php:24
-#: templates/verify.php:13
+#: js/share.js:168 templates/installation.php:44 templates/login.php:35
msgid "Password"
msgstr "Parole"
@@ -272,23 +271,23 @@ msgstr ""
msgid "share"
msgstr ""
-#: js/share.js:353 js/share.js:528 js/share.js:530
+#: js/share.js:356 js/share.js:541
msgid "Password protected"
msgstr ""
-#: js/share.js:541
+#: js/share.js:554
msgid "Error unsetting expiration date"
msgstr ""
-#: js/share.js:553
+#: js/share.js:566
msgid "Error setting expiration date"
msgstr ""
-#: js/share.js:568
+#: js/share.js:581
msgid "Sending ..."
msgstr ""
-#: js/share.js:579
+#: js/share.js:592
msgid "Email sent"
msgstr ""
@@ -312,8 +311,8 @@ msgstr ""
msgid "Request failed!"
msgstr ""
-#: lostpassword/templates/lostpassword.php:11 templates/installation.php:38
-#: templates/login.php:20
+#: lostpassword/templates/lostpassword.php:11 templates/installation.php:39
+#: templates/login.php:28
msgid "Username"
msgstr "LietotÄjvÄrds"
@@ -402,44 +401,44 @@ msgstr ""
msgid "Create an <strong>admin account</strong>"
msgstr ""
-#: templates/installation.php:48
+#: templates/installation.php:50
msgid "Advanced"
msgstr ""
-#: templates/installation.php:50
+#: templates/installation.php:52
msgid "Data folder"
msgstr "Datu mape"
-#: templates/installation.php:57
+#: templates/installation.php:59
msgid "Configure the database"
msgstr "NokonfigurÄ“t datubÄzi"
-#: templates/installation.php:62 templates/installation.php:73
-#: templates/installation.php:83 templates/installation.php:93
+#: templates/installation.php:64 templates/installation.php:75
+#: templates/installation.php:85 templates/installation.php:95
msgid "will be used"
msgstr "tiks izmantots"
-#: templates/installation.php:105
+#: templates/installation.php:107
msgid "Database user"
msgstr "DatubÄzes lietotÄjs"
-#: templates/installation.php:109
+#: templates/installation.php:111
msgid "Database password"
msgstr "DatubÄzes parole"
-#: templates/installation.php:113
+#: templates/installation.php:115
msgid "Database name"
msgstr "DatubÄzes nosaukums"
-#: templates/installation.php:121
+#: templates/installation.php:123
msgid "Database tablespace"
msgstr ""
-#: templates/installation.php:127
+#: templates/installation.php:129
msgid "Database host"
msgstr "DatubÄzes mÄjvieta"
-#: templates/installation.php:132
+#: templates/installation.php:134
msgid "Finish setup"
msgstr "Pabeigt uzstÄdÄ«jumus"
@@ -527,36 +526,32 @@ msgstr ""
msgid "Log out"
msgstr "Izlogoties"
-#: templates/login.php:8
+#: templates/login.php:10
msgid "Automatic logon rejected!"
msgstr ""
-#: templates/login.php:9
+#: templates/login.php:11
msgid ""
"If you did not change your password recently, your account may be "
"compromised!"
msgstr ""
-#: templates/login.php:10
+#: templates/login.php:13
msgid "Please change your password to secure your account again."
msgstr ""
-#: templates/login.php:15
+#: templates/login.php:19
msgid "Lost your password?"
msgstr "AizmirsÄt paroli?"
-#: templates/login.php:27
+#: templates/login.php:39
msgid "remember"
msgstr "atcerēties"
-#: templates/login.php:28
+#: templates/login.php:41
msgid "Log in"
msgstr "Ielogoties"
-#: templates/logout.php:1
-msgid "You are logged out."
-msgstr "Jūs esat veiksmīgi izlogojies."
-
#: templates/part.pagenavi.php:3
msgid "prev"
msgstr "iepriekšējÄ"
@@ -565,16 +560,7 @@ msgstr "iepriekšējÄ"
msgid "next"
msgstr "nÄkamÄ"
-#: templates/verify.php:5
-msgid "Security Warning!"
-msgstr ""
-
-#: templates/verify.php:6
-msgid ""
-"Please verify your password. <br/>For security reasons you may be "
-"occasionally asked to enter your password again."
-msgstr ""
-
-#: templates/verify.php:16
-msgid "Verify"
+#: templates/update.php:3
+#, php-format
+msgid "Updating ownCloud to version %s, this may take a while."
msgstr ""
diff --git a/l10n/lv/files.po b/l10n/lv/files.po
index 09760c280aa..0d45b08c187 100644
--- a/l10n/lv/files.po
+++ b/l10n/lv/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: 2012-12-01 00:01+0100\n"
-"PO-Revision-Date: 2012-11-30 23:02+0000\n"
+"POT-Creation-Date: 2013-01-20 00:05+0100\n"
+"PO-Revision-Date: 2013-01-19 23:05+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"
@@ -19,46 +19,77 @@ msgstr ""
"Language: lv\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);\n"
+#: ajax/delete.php:28 ajax/getstoragestats.php:11 ajax/upload.php:17
+#: ajax/upload.php:76 templates/index.php:18
+msgid "Upload"
+msgstr "AugÅ¡uplÄdet"
+
+#: ajax/move.php:17
+#, php-format
+msgid "Could not move %s - File with this name already exists"
+msgstr ""
+
+#: ajax/move.php:24
+#, php-format
+msgid "Could not move %s"
+msgstr ""
+
+#: ajax/rename.php:19
+msgid "Unable to rename file"
+msgstr ""
+
#: ajax/upload.php:20
+msgid "No file was uploaded. Unknown error"
+msgstr ""
+
+#: ajax/upload.php:30
msgid "There is no error, the file uploaded with success"
msgstr "Viss kÄrtÄ«bÄ, augÅ¡upielÄde veiksmÄ«ga"
-#: ajax/upload.php:21
+#: ajax/upload.php:31
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr ""
-#: ajax/upload.php:23
+#: ajax/upload.php:33
msgid ""
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
"the HTML form"
msgstr ""
-#: ajax/upload.php:25
+#: ajax/upload.php:35
msgid "The uploaded file was only partially uploaded"
msgstr ""
-#: ajax/upload.php:26
+#: ajax/upload.php:36
msgid "No file was uploaded"
msgstr "Neviens fails netika augÅ¡uplÄdÄ“ts"
-#: ajax/upload.php:27
+#: ajax/upload.php:37
msgid "Missing a temporary folder"
msgstr "Trūkst pagaidu mapes"
-#: ajax/upload.php:28
+#: ajax/upload.php:38
msgid "Failed to write to disk"
msgstr "Nav iespÄ“jams saglabÄt"
+#: ajax/upload.php:57
+msgid "Not enough space available"
+msgstr ""
+
+#: ajax/upload.php:91
+msgid "Invalid directory."
+msgstr ""
+
#: appinfo/app.php:10
msgid "Files"
msgstr "Faili"
-#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84
+#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
msgid "Unshare"
msgstr "PÄrtraukt lÄ«dzdalīšanu"
-#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90
+#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
msgid "Delete"
msgstr "Izdzēst"
@@ -66,122 +97,136 @@ msgstr "Izdzēst"
msgid "Rename"
msgstr "PÄrdÄ“vÄ“t"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "{new_name} already exists"
msgstr ""
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "replace"
msgstr "aizvietot"
-#: js/filelist.js:201
+#: js/filelist.js:205
msgid "suggest name"
msgstr "Ieteiktais nosaukums"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "cancel"
msgstr "atcelt"
-#: js/filelist.js:250
+#: js/filelist.js:254
msgid "replaced {new_name}"
msgstr ""
-#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286
+#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
msgid "undo"
msgstr "vienu soli atpakaļ"
-#: js/filelist.js:252
+#: js/filelist.js:256
msgid "replaced {new_name} with {old_name}"
msgstr ""
-#: js/filelist.js:284
+#: js/filelist.js:288
msgid "unshared {files}"
msgstr ""
-#: js/filelist.js:286
+#: js/filelist.js:290
msgid "deleted {files}"
msgstr ""
-#: js/files.js:33
+#: js/files.js:48
+msgid "'.' is an invalid file name."
+msgstr ""
+
+#: js/files.js:53
+msgid "File name cannot be empty."
+msgstr ""
+
+#: js/files.js:62
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr ""
-#: js/files.js:183
-msgid "generating ZIP-file, it may take some time."
-msgstr "lai uzÄ£enerÄ“tu ZIP failu, kÄds brÄ«dis ir jÄpagaida"
+#: js/files.js:204
+msgid ""
+"Your download is being prepared. This might take some time if the files are "
+"big."
+msgstr ""
-#: js/files.js:218
+#: js/files.js:242
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr "Nav iespÄ“jams augÅ¡uplÄdÄ“t jÅ«su failu, jo tÄds jau eksistÄ“ vai arÄ« failam nav izmÄ“ra (0 baiti)"
-#: js/files.js:218
+#: js/files.js:242
msgid "Upload Error"
msgstr "AugÅ¡uplÄdēšanas laikÄ radÄs kļūda"
-#: js/files.js:235
+#: js/files.js:259
msgid "Close"
msgstr ""
-#: js/files.js:254 js/files.js:368 js/files.js:398
+#: js/files.js:278 js/files.js:397 js/files.js:431
msgid "Pending"
msgstr "Gaida savu kÄrtu"
-#: js/files.js:274
+#: js/files.js:298
msgid "1 file uploading"
msgstr ""
-#: js/files.js:277 js/files.js:331 js/files.js:346
+#: js/files.js:301 js/files.js:357 js/files.js:372
msgid "{count} files uploading"
msgstr ""
-#: js/files.js:349 js/files.js:382
+#: js/files.js:376 js/files.js:414
msgid "Upload cancelled."
msgstr "AugÅ¡uplÄde ir atcelta"
-#: js/files.js:451
+#: js/files.js:486
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr "Notiek augÅ¡upielÄde. Pametot lapu tagad, tiks atcelta augÅ¡upielÄde."
-#: js/files.js:523
-msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud"
+#: js/files.js:559
+msgid "URL cannot be empty."
msgstr ""
-#: js/files.js:704
+#: js/files.js:565
+msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
+msgstr ""
+
+#: js/files.js:775
msgid "{count} files scanned"
msgstr ""
-#: js/files.js:712
+#: js/files.js:783
msgid "error while scanning"
msgstr ""
-#: js/files.js:785 templates/index.php:65
+#: js/files.js:857 templates/index.php:64
msgid "Name"
msgstr "Nosaukums"
-#: js/files.js:786 templates/index.php:76
+#: js/files.js:858 templates/index.php:75
msgid "Size"
msgstr "Izmērs"
-#: js/files.js:787 templates/index.php:78
+#: js/files.js:859 templates/index.php:77
msgid "Modified"
msgstr "Izmainīts"
-#: js/files.js:814
+#: js/files.js:878
msgid "1 folder"
msgstr ""
-#: js/files.js:816
+#: js/files.js:880
msgid "{count} folders"
msgstr ""
-#: js/files.js:824
+#: js/files.js:888
msgid "1 file"
msgstr ""
-#: js/files.js:826
+#: js/files.js:890
msgid "{count} files"
msgstr ""
@@ -193,27 +238,27 @@ msgstr "Failu pÄrvaldÄ«ba"
msgid "Maximum upload size"
msgstr "MaksimÄlais failu augÅ¡uplÄdes apjoms"
-#: templates/admin.php:9
+#: templates/admin.php:10
msgid "max. possible: "
msgstr "maksÄ«mÄlais iespÄ“jamais:"
-#: templates/admin.php:12
+#: templates/admin.php:15
msgid "Needed for multi-file and folder downloads."
msgstr "VajadzÄ«gs vairÄku failu un mapju lejuplÄdei"
-#: templates/admin.php:14
+#: templates/admin.php:17
msgid "Enable ZIP-download"
msgstr "IespÄ“jot ZIP lejuplÄdi"
-#: templates/admin.php:17
+#: templates/admin.php:20
msgid "0 is unlimited"
msgstr "0 ir neierobežots"
-#: templates/admin.php:19
+#: templates/admin.php:22
msgid "Maximum input size for ZIP files"
msgstr ""
-#: templates/admin.php:23
+#: templates/admin.php:26
msgid "Save"
msgstr "SaglabÄt"
@@ -233,36 +278,32 @@ msgstr "Mape"
msgid "From link"
msgstr ""
-#: templates/index.php:35
-msgid "Upload"
-msgstr "AugÅ¡uplÄdet"
-
-#: templates/index.php:43
+#: templates/index.php:41
msgid "Cancel upload"
msgstr "Atcelt augÅ¡uplÄdi"
-#: templates/index.php:57
+#: templates/index.php:56
msgid "Nothing in here. Upload something!"
msgstr "Te vÄ“l nekas nav. RÄ«kojies, sÄc augÅ¡uplÄdÄ“t"
-#: templates/index.php:71
+#: templates/index.php:70
msgid "Download"
msgstr "LejuplÄdÄ“t"
-#: templates/index.php:103
+#: templates/index.php:102
msgid "Upload too large"
msgstr "Fails ir par lielu lai to augÅ¡uplÄdetu"
-#: templates/index.php:105
+#: templates/index.php:104
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "JÅ«su augÅ¡uplÄdÄ“jamie faili pÄrsniedz servera pieļaujamo failu augÅ¡upielÄdes apjomu"
-#: templates/index.php:110
+#: templates/index.php:109
msgid "Files are being scanned, please wait."
msgstr "Faili Å¡obrÄ«d tiek caurskatÄ«ti, nedaudz jÄpagaida."
-#: templates/index.php:113
+#: templates/index.php:112
msgid "Current scanning"
msgstr "Å obrÄ«d tiek pÄrbaudÄ«ti"
diff --git a/l10n/lv/files_encryption.po b/l10n/lv/files_encryption.po
index 6b2dc7673d7..9ceadebe30c 100644
--- a/l10n/lv/files_encryption.po
+++ b/l10n/lv/files_encryption.po
@@ -7,28 +7,76 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-08-13 23:12+0200\n"
-"PO-Revision-Date: 2012-08-12 22:33+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+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"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: lv\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2)\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);\n"
-#: templates/settings.php:3
-msgid "Encryption"
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
msgstr ""
-#: templates/settings.php:4
-msgid "Exclude the following file types from encryption"
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
msgstr ""
-#: templates/settings.php:5
-msgid "None"
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
msgstr ""
#: templates/settings.php:10
-msgid "Enable Encryption"
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
+msgid "Encryption"
+msgstr ""
+
+#: templates/settings.php:67
+msgid "Exclude the following file types from encryption"
+msgstr ""
+
+#: templates/settings.php:71
+msgid "None"
msgstr ""
diff --git a/l10n/lv/files_versions.po b/l10n/lv/files_versions.po
index 8f4cc2911f8..399b82e06fc 100644
--- a/l10n/lv/files_versions.po
+++ b/l10n/lv/files_versions.po
@@ -7,9 +7,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-09-22 01:14+0200\n"
-"PO-Revision-Date: 2012-09-21 23:15+0000\n"
-"Last-Translator: I Robot <thomas.mueller@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:03+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -17,22 +17,10 @@ msgstr ""
"Language: lv\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);\n"
-#: js/settings-personal.js:31 templates/settings-personal.php:10
-msgid "Expire all versions"
-msgstr ""
-
#: js/versions.js:16
msgid "History"
msgstr ""
-#: templates/settings-personal.php:4
-msgid "Versions"
-msgstr ""
-
-#: templates/settings-personal.php:7
-msgid "This will delete all existing backup versions of your files"
-msgstr ""
-
#: templates/settings.php:3
msgid "Files Versioning"
msgstr ""
diff --git a/l10n/lv/lib.po b/l10n/lv/lib.po
index 8ef8b7d5060..03dc8d418c3 100644
--- a/l10n/lv/lib.po
+++ b/l10n/lv/lib.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-11-16 00:02+0100\n"
-"PO-Revision-Date: 2012-11-14 23:13+0000\n"
+"POT-Creation-Date: 2013-01-17 00:26+0100\n"
+"PO-Revision-Date: 2013-01-16 23:26+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"
@@ -17,51 +17,55 @@ msgstr ""
"Language: lv\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);\n"
-#: app.php:285
+#: app.php:301
msgid "Help"
msgstr "Palīdzība"
-#: app.php:292
+#: app.php:308
msgid "Personal"
msgstr "Personīgi"
-#: app.php:297
+#: app.php:313
msgid "Settings"
msgstr "Iestatījumi"
-#: app.php:302
+#: app.php:318
msgid "Users"
msgstr "LietotÄji"
-#: app.php:309
+#: app.php:325
msgid "Apps"
msgstr ""
-#: app.php:311
+#: app.php:327
msgid "Admin"
msgstr ""
-#: files.php:332
+#: files.php:365
msgid "ZIP download is turned off."
msgstr ""
-#: files.php:333
+#: files.php:366
msgid "Files need to be downloaded one by one."
msgstr ""
-#: files.php:333 files.php:358
+#: files.php:366 files.php:391
msgid "Back to Files"
msgstr ""
-#: files.php:357
+#: files.php:390
msgid "Selected files too large to generate zip file."
msgstr ""
+#: helper.php:228
+msgid "couldn't be determined"
+msgstr ""
+
#: json.php:28
msgid "Application is not enabled"
msgstr ""
-#: json.php:39 json.php:64 json.php:77 json.php:89
+#: json.php:39 json.php:62 json.php:73
msgid "Authentication error"
msgstr "IelogoÅ¡anÄs kļūme"
@@ -81,55 +85,55 @@ msgstr ""
msgid "Images"
msgstr ""
-#: template.php:103
+#: template.php:113
msgid "seconds ago"
msgstr ""
-#: template.php:104
+#: template.php:114
msgid "1 minute ago"
msgstr ""
-#: template.php:105
+#: template.php:115
#, php-format
msgid "%d minutes ago"
msgstr ""
-#: template.php:106
+#: template.php:116
msgid "1 hour ago"
msgstr ""
-#: template.php:107
+#: template.php:117
#, php-format
msgid "%d hours ago"
msgstr ""
-#: template.php:108
+#: template.php:118
msgid "today"
msgstr ""
-#: template.php:109
+#: template.php:119
msgid "yesterday"
msgstr ""
-#: template.php:110
+#: template.php:120
#, php-format
msgid "%d days ago"
msgstr ""
-#: template.php:111
+#: template.php:121
msgid "last month"
msgstr ""
-#: template.php:112
+#: template.php:122
#, php-format
msgid "%d months ago"
msgstr ""
-#: template.php:113
+#: template.php:123
msgid "last year"
msgstr ""
-#: template.php:114
+#: template.php:124
msgid "years ago"
msgstr ""
diff --git a/l10n/lv/settings.po b/l10n/lv/settings.po
index 22fd0c4bb2e..796d46f705e 100644
--- a/l10n/lv/settings.po
+++ b/l10n/lv/settings.po
@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-20 00:11+0100\n"
-"PO-Revision-Date: 2012-12-19 23:11+0000\n"
+"POT-Creation-Date: 2013-01-12 00:09+0100\n"
+"PO-Revision-Date: 2013-01-11 23:09+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"
@@ -31,7 +31,7 @@ msgstr "Grupa jau eksistē"
msgid "Unable to add group"
msgstr "Nevar pievienot grupu"
-#: ajax/enableapp.php:12
+#: ajax/enableapp.php:11
msgid "Could not enable app. "
msgstr "Nevar ieslÄ“gt aplikÄciju."
@@ -43,14 +43,6 @@ msgstr "Epasts tika saglabÄts"
msgid "Invalid email"
msgstr "Nepareizs epasts"
-#: ajax/openid.php:13
-msgid "OpenID Changed"
-msgstr "OpenID nomainīts"
-
-#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20
-msgid "Invalid request"
-msgstr "Nepareizs vaicÄjums"
-
#: ajax/removegroup.php:13
msgid "Unable to delete group"
msgstr "Nevar izdzēst grupu"
@@ -67,6 +59,10 @@ msgstr "Nevar izdzÄ“st lietotÄju"
msgid "Language changed"
msgstr "Valoda tika nomainīta"
+#: ajax/setlanguage.php:17 ajax/setlanguage.php:20
+msgid "Invalid request"
+msgstr "Nepareizs vaicÄjums"
+
#: ajax/togglegroups.php:12
msgid "Admins can't remove themself from the admin group"
msgstr ""
@@ -162,7 +158,7 @@ msgstr ""
msgid "Download iOS Client"
msgstr ""
-#: templates/personal.php:21 templates/users.php:23 templates/users.php:77
+#: templates/personal.php:21 templates/users.php:23 templates/users.php:82
msgid "Password"
msgstr "Parole"
@@ -232,11 +228,11 @@ msgid ""
"License\">AGPL</abbr></a>."
msgstr "IzstrÄdÄjusi<a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud kopiena</a>,<a href=\"https://github.com/owncloud\" target=\"_blank\">pirmkodu</a>kurÅ¡ ir licencÄ“ts zem <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>."
-#: templates/users.php:21 templates/users.php:76
+#: templates/users.php:21 templates/users.php:81
msgid "Name"
msgstr "VÄrds"
-#: templates/users.php:26 templates/users.php:78 templates/users.php:98
+#: templates/users.php:26 templates/users.php:83 templates/users.php:103
msgid "Groups"
msgstr "Grupas"
@@ -245,21 +241,29 @@ msgid "Create"
msgstr "Izveidot"
#: templates/users.php:35
-msgid "Default Quota"
-msgstr "Apjoms pēc noklusējuma"
+msgid "Default Storage"
+msgstr ""
+
+#: templates/users.php:42 templates/users.php:138
+msgid "Unlimited"
+msgstr ""
-#: templates/users.php:55 templates/users.php:138
+#: templates/users.php:60 templates/users.php:153
msgid "Other"
msgstr "Cits"
-#: templates/users.php:80 templates/users.php:112
+#: templates/users.php:85 templates/users.php:117
msgid "Group Admin"
msgstr "Grupas administrators"
-#: templates/users.php:82
-msgid "Quota"
-msgstr "Apjoms"
+#: templates/users.php:87
+msgid "Storage"
+msgstr ""
+
+#: templates/users.php:133
+msgid "Default"
+msgstr ""
-#: templates/users.php:146
+#: templates/users.php:161
msgid "Delete"
msgstr "Izdzēst"
diff --git a/l10n/lv/user_ldap.po b/l10n/lv/user_ldap.po
index b0d8f36bed3..737869b743e 100644
--- a/l10n/lv/user_ldap.po
+++ b/l10n/lv/user_ldap.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-15 00:11+0100\n"
-"PO-Revision-Date: 2012-12-14 23:11+0000\n"
+"POT-Creation-Date: 2013-01-18 00:03+0100\n"
+"PO-Revision-Date: 2013-01-17 21:57+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"
@@ -26,8 +26,8 @@ msgstr ""
#: templates/settings.php:11
msgid ""
-"<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will"
-" not work. Please ask your system administrator to install it."
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not "
+"work. Please ask your system administrator to install it."
msgstr ""
#: templates/settings.php:15
@@ -44,6 +44,10 @@ msgid "Base DN"
msgstr ""
#: templates/settings.php:16
+msgid "One Base DN per line"
+msgstr ""
+
+#: templates/settings.php:16
msgid "You can specify Base DN for users and groups in the Advanced tab"
msgstr ""
@@ -114,10 +118,18 @@ msgstr ""
msgid "Base User Tree"
msgstr ""
+#: templates/settings.php:25
+msgid "One User Base DN per line"
+msgstr ""
+
#: templates/settings.php:26
msgid "Base Group Tree"
msgstr ""
+#: templates/settings.php:26
+msgid "One Group Base DN per line"
+msgstr ""
+
#: templates/settings.php:27
msgid "Group-Member association"
msgstr ""
@@ -180,4 +192,4 @@ msgstr ""
#: templates/settings.php:39
msgid "Help"
-msgstr ""
+msgstr "Palīdzība"
diff --git a/l10n/lv/user_webdavauth.po b/l10n/lv/user_webdavauth.po
index c2af7da931a..6d3874a0c53 100644
--- a/l10n/lv/user_webdavauth.po
+++ b/l10n/lv/user_webdavauth.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-20 00:11+0100\n"
-"PO-Revision-Date: 2012-12-19 23:12+0000\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+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"
@@ -17,13 +17,17 @@ msgstr ""
"Language: lv\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);\n"
+#: templates/settings.php:3
+msgid "WebDAV Authentication"
+msgstr ""
+
#: templates/settings.php:4
msgid "URL: http://"
msgstr ""
#: templates/settings.php:6
msgid ""
-"ownCloud will send the user credentials to this URL is interpret http 401 "
-"and http 403 as credentials wrong and all other codes as credentials "
-"correct."
+"ownCloud will send the user credentials to this URL. 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 ""
diff --git a/l10n/mk/core.po b/l10n/mk/core.po
index 6fd1d14dd61..2442222918c 100644
--- a/l10n/mk/core.po
+++ b/l10n/mk/core.po
@@ -10,9 +10,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-18 00:13+0100\n"
-"PO-Revision-Date: 2012-12-17 12:49+0000\n"
-"Last-Translator: Georgi Stanojevski <glisha@gmail.com>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:03+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -86,55 +86,55 @@ msgstr "Грешка при бришење на %s од омилени."
msgid "Settings"
msgstr "ПоÑтавки"
-#: js/js.js:704
+#: js/js.js:711
msgid "seconds ago"
msgstr "пред Ñекунди"
-#: js/js.js:705
+#: js/js.js:712
msgid "1 minute ago"
msgstr "пред 1 минута"
-#: js/js.js:706
+#: js/js.js:713
msgid "{minutes} minutes ago"
msgstr "пред {minutes} минути"
-#: js/js.js:707
+#: js/js.js:714
msgid "1 hour ago"
msgstr "пред 1 чаÑ"
-#: js/js.js:708
+#: js/js.js:715
msgid "{hours} hours ago"
msgstr "пред {hours} чаÑови"
-#: js/js.js:709
+#: js/js.js:716
msgid "today"
msgstr "денеÑка"
-#: js/js.js:710
+#: js/js.js:717
msgid "yesterday"
msgstr "вчера"
-#: js/js.js:711
+#: js/js.js:718
msgid "{days} days ago"
msgstr "пред {days} денови"
-#: js/js.js:712
+#: js/js.js:719
msgid "last month"
msgstr "минатиот меÑец"
-#: js/js.js:713
+#: js/js.js:720
msgid "{months} months ago"
msgstr "пред {months} меÑеци"
-#: js/js.js:714
+#: js/js.js:721
msgid "months ago"
msgstr "пред меÑеци"
-#: js/js.js:715
+#: js/js.js:722
msgid "last year"
msgstr "минатата година"
-#: js/js.js:716
+#: js/js.js:723
msgid "years ago"
msgstr "пред години"
@@ -164,8 +164,8 @@ msgid "The object type is not specified."
msgstr "Ðе е Ñпецифициран типот на објект."
#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136
-#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:541
-#: js/share.js:553
+#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:554
+#: js/share.js:566
msgid "Error"
msgstr "Грешка"
@@ -177,7 +177,7 @@ msgstr "Името на апликацијата не е ÑпецифицираÐ
msgid "The required file {file} is not installed!"
msgstr "Задолжителната датотека {file} не е инÑталирана!"
-#: js/share.js:124 js/share.js:581
+#: js/share.js:124 js/share.js:594
msgid "Error while sharing"
msgstr "Грешка при Ñподелување"
@@ -205,12 +205,11 @@ msgstr "Сподели Ñо"
msgid "Share with link"
msgstr "Сподели Ñо врÑка"
-#: js/share.js:164
+#: js/share.js:166
msgid "Password protect"
msgstr "Заштити Ñо лозинка"
-#: js/share.js:168 templates/installation.php:44 templates/login.php:26
-#: templates/verify.php:13
+#: js/share.js:168 templates/installation.php:44 templates/login.php:35
msgid "Password"
msgstr "Лозинка"
@@ -274,23 +273,23 @@ msgstr "избриши"
msgid "share"
msgstr "Ñподели"
-#: js/share.js:353 js/share.js:528 js/share.js:530
+#: js/share.js:356 js/share.js:541
msgid "Password protected"
msgstr "Заштитено Ñо лозинка"
-#: js/share.js:541
+#: js/share.js:554
msgid "Error unsetting expiration date"
msgstr "Грешка при тргање на рокот на траење"
-#: js/share.js:553
+#: js/share.js:566
msgid "Error setting expiration date"
msgstr "Грешка при поÑтавување на рок на траење"
-#: js/share.js:568
+#: js/share.js:581
msgid "Sending ..."
msgstr "Праќање..."
-#: js/share.js:579
+#: js/share.js:592
msgid "Email sent"
msgstr "Е-порака пратена"
@@ -315,7 +314,7 @@ msgid "Request failed!"
msgstr "Барањето не уÑпеа!"
#: lostpassword/templates/lostpassword.php:11 templates/installation.php:39
-#: templates/login.php:21
+#: templates/login.php:28
msgid "Username"
msgstr "КориÑничко име"
@@ -529,36 +528,32 @@ msgstr "веб ÑервиÑи под Ваша контрола"
msgid "Log out"
msgstr "Одјава"
-#: templates/login.php:8
+#: templates/login.php:10
msgid "Automatic logon rejected!"
msgstr "Одбиена автоматÑка најава!"
-#: templates/login.php:9
+#: templates/login.php:11
msgid ""
"If you did not change your password recently, your account may be "
"compromised!"
msgstr "Ðко не Ñте ја промениле лозинката во Ñкоро време, вашата Ñметка може да е компромитирана"
-#: templates/login.php:10
+#: templates/login.php:13
msgid "Please change your password to secure your account again."
msgstr "Ве молам Ñменете ја лозинката да ја обезбедите вашата Ñметка повторно."
-#: templates/login.php:15
+#: templates/login.php:19
msgid "Lost your password?"
msgstr "Ја заборавивте лозинката?"
-#: templates/login.php:29
+#: templates/login.php:39
msgid "remember"
msgstr "запамти"
-#: templates/login.php:30
+#: templates/login.php:41
msgid "Log in"
msgstr "Ðајава"
-#: templates/logout.php:1
-msgid "You are logged out."
-msgstr "Одјавени Ñте."
-
#: templates/part.pagenavi.php:3
msgid "prev"
msgstr "претходно"
@@ -567,16 +562,7 @@ msgstr "претходно"
msgid "next"
msgstr "Ñледно"
-#: templates/verify.php:5
-msgid "Security Warning!"
-msgstr "БезбедноÑно предупредување."
-
-#: templates/verify.php:6
-msgid ""
-"Please verify your password. <br/>For security reasons you may be "
-"occasionally asked to enter your password again."
-msgstr "Ве молам потврдете ја вашата лозинка. <br />Од безбедноÑни причини од време на време може да биде побарано да ја внеÑете вашата лозинка повторно."
-
-#: templates/verify.php:16
-msgid "Verify"
-msgstr "Потврди"
+#: templates/update.php:3
+#, php-format
+msgid "Updating ownCloud to version %s, this may take a while."
+msgstr ""
diff --git a/l10n/mk/files.po b/l10n/mk/files.po
index 778f65fd741..4bd4be8d532 100644
--- a/l10n/mk/files.po
+++ b/l10n/mk/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: 2012-12-18 00:13+0100\n"
-"PO-Revision-Date: 2012-12-17 12:18+0000\n"
-"Last-Translator: Georgi Stanojevski <glisha@gmail.com>\n"
+"POT-Creation-Date: 2013-01-20 00:05+0100\n"
+"PO-Revision-Date: 2013-01-19 23:05+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -20,46 +20,77 @@ msgstr ""
"Language: mk\n"
"Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n"
+#: ajax/delete.php:28 ajax/getstoragestats.php:11 ajax/upload.php:17
+#: ajax/upload.php:76 templates/index.php:18
+msgid "Upload"
+msgstr "Подигни"
+
+#: ajax/move.php:17
+#, php-format
+msgid "Could not move %s - File with this name already exists"
+msgstr ""
+
+#: ajax/move.php:24
+#, php-format
+msgid "Could not move %s"
+msgstr ""
+
+#: ajax/rename.php:19
+msgid "Unable to rename file"
+msgstr ""
+
#: ajax/upload.php:20
+msgid "No file was uploaded. Unknown error"
+msgstr "Ðиту еден фајл не Ñе вчита. Ðепозната грешка"
+
+#: ajax/upload.php:30
msgid "There is no error, the file uploaded with success"
msgstr "Ðема грешка, датотеката беше подигната уÑпешно"
-#: ajax/upload.php:21
+#: ajax/upload.php:31
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr "Подигнатата датотека ја надминува upload_max_filesize директивата во php.ini:"
-#: ajax/upload.php:23
+#: ajax/upload.php:33
msgid ""
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
"the HTML form"
msgstr "Подигнатата датотеката ја надминува MAX_FILE_SIZE директивата која беше поÑтавена во HTML формата"
-#: ajax/upload.php:25
+#: ajax/upload.php:35
msgid "The uploaded file was only partially uploaded"
msgstr "Датотеката беше Ñамо делумно подигната."
-#: ajax/upload.php:26
+#: ajax/upload.php:36
msgid "No file was uploaded"
msgstr "Ðе беше подигната датотека"
-#: ajax/upload.php:27
+#: ajax/upload.php:37
msgid "Missing a temporary folder"
msgstr "Ðе поÑтои привремена папка"
-#: ajax/upload.php:28
+#: ajax/upload.php:38
msgid "Failed to write to disk"
msgstr "ÐеуÑпеав да запишам на диÑк"
+#: ajax/upload.php:57
+msgid "Not enough space available"
+msgstr ""
+
+#: ajax/upload.php:91
+msgid "Invalid directory."
+msgstr ""
+
#: appinfo/app.php:10
msgid "Files"
msgstr "Датотеки"
-#: js/fileactions.js:117 templates/index.php:84 templates/index.php:85
+#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
msgid "Unshare"
msgstr "Ðе Ñподелувај"
-#: js/fileactions.js:119 templates/index.php:90 templates/index.php:91
+#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
msgid "Delete"
msgstr "Избриши"
@@ -67,122 +98,136 @@ msgstr "Избриши"
msgid "Rename"
msgstr "Преименувај"
-#: js/filelist.js:199 js/filelist.js:201
+#: js/filelist.js:205 js/filelist.js:207
msgid "{new_name} already exists"
msgstr "{new_name} веќе поÑтои"
-#: js/filelist.js:199 js/filelist.js:201
+#: js/filelist.js:205 js/filelist.js:207
msgid "replace"
msgstr "замени"
-#: js/filelist.js:199
+#: js/filelist.js:205
msgid "suggest name"
msgstr "предложи име"
-#: js/filelist.js:199 js/filelist.js:201
+#: js/filelist.js:205 js/filelist.js:207
msgid "cancel"
msgstr "откажи"
-#: js/filelist.js:248
+#: js/filelist.js:254
msgid "replaced {new_name}"
msgstr "земенета {new_name}"
-#: js/filelist.js:248 js/filelist.js:250 js/filelist.js:282 js/filelist.js:284
+#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
msgid "undo"
msgstr "врати"
-#: js/filelist.js:250
+#: js/filelist.js:256
msgid "replaced {new_name} with {old_name}"
msgstr "заменета {new_name} Ñо {old_name}"
-#: js/filelist.js:282
+#: js/filelist.js:288
msgid "unshared {files}"
msgstr "без Ñподелување {files}"
-#: js/filelist.js:284
+#: js/filelist.js:290
msgid "deleted {files}"
msgstr "избришани {files}"
-#: js/files.js:33
+#: js/files.js:48
+msgid "'.' is an invalid file name."
+msgstr ""
+
+#: js/files.js:53
+msgid "File name cannot be empty."
+msgstr ""
+
+#: js/files.js:62
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr "Ðеправилно име. , '\\', '/', '<', '>', ':', '\"', '|', '?' и '*' не Ñе дозволени."
-#: js/files.js:174
-msgid "generating ZIP-file, it may take some time."
-msgstr "Се генерира ZIP фајлот, ќе треба извеÑно време."
+#: js/files.js:204
+msgid ""
+"Your download is being prepared. This might take some time if the files are "
+"big."
+msgstr ""
-#: js/files.js:209
+#: js/files.js:242
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr "Ðе може да Ñе преземе вашата датотека бидејќи фолдерот во кој Ñе наоѓа фајлот има големина од 0 бајти"
-#: js/files.js:209
+#: js/files.js:242
msgid "Upload Error"
msgstr "Грешка при преземање"
-#: js/files.js:226
+#: js/files.js:259
msgid "Close"
msgstr "Затвои"
-#: js/files.js:245 js/files.js:359 js/files.js:389
+#: js/files.js:278 js/files.js:397 js/files.js:431
msgid "Pending"
msgstr "Чека"
-#: js/files.js:265
+#: js/files.js:298
msgid "1 file uploading"
msgstr "1 датотека Ñе подига"
-#: js/files.js:268 js/files.js:322 js/files.js:337
+#: js/files.js:301 js/files.js:357 js/files.js:372
msgid "{count} files uploading"
msgstr "{count} датотеки Ñе подигаат"
-#: js/files.js:340 js/files.js:373
+#: js/files.js:376 js/files.js:414
msgid "Upload cancelled."
msgstr "Преземањето е прекинато."
-#: js/files.js:442
+#: js/files.js:486
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr "Подигање на датотека е во тек. Ðапуштење на Ñтраницата ќе го прекине."
-#: js/files.js:512
-msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud"
-msgstr "Ðеправилно име на папка. КориÑтењето на „Shared“ е резервирано за Owncloud"
+#: js/files.js:559
+msgid "URL cannot be empty."
+msgstr "ÐдреÑата неможе да биде празна."
+
+#: js/files.js:565
+msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
+msgstr ""
-#: js/files.js:693
+#: js/files.js:775
msgid "{count} files scanned"
msgstr "{count} датотеки Ñкенирани"
-#: js/files.js:701
+#: js/files.js:783
msgid "error while scanning"
msgstr "грешка при Ñкенирање"
-#: js/files.js:774 templates/index.php:66
+#: js/files.js:857 templates/index.php:64
msgid "Name"
msgstr "Име"
-#: js/files.js:775 templates/index.php:77
+#: js/files.js:858 templates/index.php:75
msgid "Size"
msgstr "Големина"
-#: js/files.js:776 templates/index.php:79
+#: js/files.js:859 templates/index.php:77
msgid "Modified"
msgstr "Променето"
-#: js/files.js:803
+#: js/files.js:878
msgid "1 folder"
msgstr "1 папка"
-#: js/files.js:805
+#: js/files.js:880
msgid "{count} folders"
msgstr "{count} папки"
-#: js/files.js:813
+#: js/files.js:888
msgid "1 file"
msgstr "1 датотека"
-#: js/files.js:815
+#: js/files.js:890
msgid "{count} files"
msgstr "{count} датотеки"
@@ -194,27 +239,27 @@ msgstr "Ракување Ñо датотеки"
msgid "Maximum upload size"
msgstr "МакÑимална големина за подигање"
-#: templates/admin.php:9
+#: templates/admin.php:10
msgid "max. possible: "
msgstr "макÑ. можно:"
-#: templates/admin.php:12
+#: templates/admin.php:15
msgid "Needed for multi-file and folder downloads."
msgstr "Потребно за Ñимнување повеќе-датотеки и папки."
-#: templates/admin.php:14
+#: templates/admin.php:17
msgid "Enable ZIP-download"
msgstr "Овозможи ZIP Ñимнување "
-#: templates/admin.php:17
+#: templates/admin.php:20
msgid "0 is unlimited"
msgstr "0 е неограничено"
-#: templates/admin.php:19
+#: templates/admin.php:22
msgid "Maximum input size for ZIP files"
msgstr "МакÑимална големина за Ð²Ð½ÐµÑ Ð½Ð° ZIP датотеки"
-#: templates/admin.php:23
+#: templates/admin.php:26
msgid "Save"
msgstr "Сними"
@@ -234,36 +279,32 @@ msgstr "Папка"
msgid "From link"
msgstr "Од врÑка"
-#: templates/index.php:35
-msgid "Upload"
-msgstr "Подигни"
-
-#: templates/index.php:43
+#: templates/index.php:41
msgid "Cancel upload"
msgstr "Откажи прикачување"
-#: templates/index.php:58
+#: templates/index.php:56
msgid "Nothing in here. Upload something!"
msgstr "Тука нема ништо. Снимете нешто!"
-#: templates/index.php:72
+#: templates/index.php:70
msgid "Download"
msgstr "Преземи"
-#: templates/index.php:104
+#: templates/index.php:102
msgid "Upload too large"
msgstr "Датотеката е премногу голема"
-#: templates/index.php:106
+#: templates/index.php:104
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "Датотеките кои Ñе обидувате да ги подигнете ја надминуваат макÑималната големина за подигнување датотеки на овој Ñервер."
-#: templates/index.php:111
+#: templates/index.php:109
msgid "Files are being scanned, please wait."
msgstr "Се Ñкенираат датотеки, ве молам почекајте."
-#: templates/index.php:114
+#: templates/index.php:112
msgid "Current scanning"
msgstr "Моментално Ñкенирам"
diff --git a/l10n/mk/files_encryption.po b/l10n/mk/files_encryption.po
index 2b4f5dfb57a..b34192fc864 100644
--- a/l10n/mk/files_encryption.po
+++ b/l10n/mk/files_encryption.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-18 00:13+0100\n"
-"PO-Revision-Date: 2012-12-17 13:14+0000\n"
-"Last-Translator: Georgi Stanojevski <glisha@gmail.com>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,18 +18,66 @@ msgstr ""
"Language: mk\n"
"Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "Енкрипција"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "ИÑклучи ги Ñледните типови на датотеки од енкрипција"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "Ðишто"
-
-#: templates/settings.php:12
-msgid "Enable Encryption"
-msgstr "Овозможи енкрипција"
diff --git a/l10n/mk/files_external.po b/l10n/mk/files_external.po
index 6fcaf65d89d..586863c6b16 100644
--- a/l10n/mk/files_external.po
+++ b/l10n/mk/files_external.po
@@ -3,13 +3,14 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# Georgi Stanojevski <glisha@gmail.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-18 00:13+0100\n"
-"PO-Revision-Date: 2012-12-17 13:00+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2012-12-29 00:07+0100\n"
+"PO-Revision-Date: 2012-12-28 09:20+0000\n"
+"Last-Translator: Georgi Stanojevski <glisha@gmail.com>\n"
"Language-Team: Macedonian (http://www.transifex.com/projects/p/owncloud/language/mk/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -19,48 +20,48 @@ msgstr ""
#: js/dropbox.js:7 js/dropbox.js:25 js/google.js:7 js/google.js:23
msgid "Access granted"
-msgstr ""
+msgstr "ПриÑтапот е дозволен"
#: js/dropbox.js:28 js/dropbox.js:74 js/dropbox.js:79 js/dropbox.js:86
msgid "Error configuring Dropbox storage"
-msgstr ""
+msgstr "Грешка при конфигурација на Dropbox"
#: js/dropbox.js:34 js/dropbox.js:45 js/google.js:31 js/google.js:40
msgid "Grant access"
-msgstr ""
+msgstr "Дозволи приÑтап"
#: js/dropbox.js:73 js/google.js:72
msgid "Fill out all required fields"
-msgstr ""
+msgstr "Пополни ги Ñите задолжителни полиња"
#: js/dropbox.js:85
msgid "Please provide a valid Dropbox app key and secret."
-msgstr ""
+msgstr "Ве молам доÑтавите валиден Dropbox клуч и тајна лозинка."
#: js/google.js:26 js/google.js:73 js/google.js:78
msgid "Error configuring Google Drive storage"
-msgstr ""
+msgstr "Грешка при конфигурација на Google Drive"
#: lib/config.php:434
msgid ""
"<b>Warning:</b> \"smbclient\" is not installed. Mounting of CIFS/SMB shares "
"is not possible. Please ask your system administrator to install it."
-msgstr ""
+msgstr "<b>Внимание:</b> \"smbclient\" не е инÑталиран. Ðе е можно монтирање на CIFS/SMB диÑкови. Замолете го Вашиот ÑиÑтем админиÑтратор да го инÑталира."
#: lib/config.php:435
msgid ""
"<b>Warning:</b> The FTP support in PHP is not enabled or installed. Mounting"
" of FTP shares is not possible. Please ask your system administrator to "
"install it."
-msgstr ""
+msgstr "<b>Внимание:</b> Ðе е овозможена или инÑталирани FTP подршка во PHP. Ðе е можно монтирање на FTP диÑкови. Замолете го Вашиот ÑиÑтем админиÑтратор да го инÑталира."
#: templates/settings.php:3
msgid "External Storage"
-msgstr ""
+msgstr "Ðадворешно Ñкладиште"
#: templates/settings.php:8 templates/settings.php:22
msgid "Mount point"
-msgstr ""
+msgstr "Точка на монтирање"
#: templates/settings.php:9
msgid "Backend"
@@ -68,27 +69,27 @@ msgstr "Ðдмин"
#: templates/settings.php:10
msgid "Configuration"
-msgstr ""
+msgstr "Конфигурација"
#: templates/settings.php:11
msgid "Options"
-msgstr ""
+msgstr "Опции"
#: templates/settings.php:12
msgid "Applicable"
-msgstr ""
+msgstr "Применливо"
#: templates/settings.php:27
msgid "Add mount point"
-msgstr ""
+msgstr "Додади точка на монтирање"
#: templates/settings.php:85
msgid "None set"
-msgstr ""
+msgstr "Ðишто поÑтавено"
#: templates/settings.php:86
msgid "All Users"
-msgstr ""
+msgstr "Сите кориÑници"
#: templates/settings.php:87
msgid "Groups"
@@ -99,22 +100,22 @@ msgid "Users"
msgstr "КориÑници"
#: templates/settings.php:108 templates/settings.php:109
-#: templates/settings.php:149 templates/settings.php:150
+#: templates/settings.php:144 templates/settings.php:145
msgid "Delete"
msgstr "Избриши"
#: templates/settings.php:124
msgid "Enable User External Storage"
-msgstr ""
+msgstr "Овозможи надворешни за кориÑници"
#: templates/settings.php:125
msgid "Allow users to mount their own external storage"
-msgstr ""
+msgstr "Дозволи им на кориÑниците да монтираат Ñвои надворешни диÑкови"
-#: templates/settings.php:139
+#: templates/settings.php:136
msgid "SSL root certificates"
-msgstr ""
+msgstr "SSL root Ñертификати"
-#: templates/settings.php:158
+#: templates/settings.php:153
msgid "Import Root Certificate"
-msgstr ""
+msgstr "Увези"
diff --git a/l10n/mk/files_versions.po b/l10n/mk/files_versions.po
index bbe751713aa..3f4e68131e3 100644
--- a/l10n/mk/files_versions.po
+++ b/l10n/mk/files_versions.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-18 00:13+0100\n"
-"PO-Revision-Date: 2012-12-17 13:19+0000\n"
-"Last-Translator: Georgi Stanojevski <glisha@gmail.com>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,22 +18,10 @@ msgstr ""
"Language: mk\n"
"Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n"
-#: js/settings-personal.js:31 templates/settings-personal.php:10
-msgid "Expire all versions"
-msgstr "ИÑтечи ги Ñите верзии"
-
#: js/versions.js:16
msgid "History"
msgstr "ИÑторија"
-#: templates/settings-personal.php:4
-msgid "Versions"
-msgstr "ВерÑии"
-
-#: templates/settings-personal.php:7
-msgid "This will delete all existing backup versions of your files"
-msgstr "Ова ќе ги избрише Ñите поÑтоечки резервни копии од вашите датотеки"
-
#: templates/settings.php:3
msgid "Files Versioning"
msgstr "Верзии на датотеки"
diff --git a/l10n/mk/lib.po b/l10n/mk/lib.po
index a315a725a96..ada37660729 100644
--- a/l10n/mk/lib.po
+++ b/l10n/mk/lib.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-18 00:13+0100\n"
-"PO-Revision-Date: 2012-12-17 13:04+0000\n"
-"Last-Translator: Georgi Stanojevski <glisha@gmail.com>\n"
+"POT-Creation-Date: 2013-01-17 00:26+0100\n"
+"PO-Revision-Date: 2013-01-16 23:26+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,51 +18,55 @@ msgstr ""
"Language: mk\n"
"Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n"
-#: app.php:287
+#: app.php:301
msgid "Help"
msgstr "Помош"
-#: app.php:294
+#: app.php:308
msgid "Personal"
msgstr "Лично"
-#: app.php:299
+#: app.php:313
msgid "Settings"
msgstr "Параметри"
-#: app.php:304
+#: app.php:318
msgid "Users"
msgstr "КориÑници"
-#: app.php:311
+#: app.php:325
msgid "Apps"
msgstr "Ðппликации"
-#: app.php:313
+#: app.php:327
msgid "Admin"
msgstr "Ðдмин"
-#: files.php:366
+#: files.php:365
msgid "ZIP download is turned off."
msgstr "Преземање во ZIP е иÑклучено"
-#: files.php:367
+#: files.php:366
msgid "Files need to be downloaded one by one."
msgstr "Датотеките треба да Ñе Ñимнат една по една."
-#: files.php:367 files.php:392
+#: files.php:366 files.php:391
msgid "Back to Files"
msgstr "Ðазад кон датотеки"
-#: files.php:391
+#: files.php:390
msgid "Selected files too large to generate zip file."
msgstr "Избраните датотеки Ñе преголеми за да Ñе генерира zip."
+#: helper.php:228
+msgid "couldn't be determined"
+msgstr ""
+
#: json.php:28
msgid "Application is not enabled"
msgstr "Ðпликацијата не е овозможена"
-#: json.php:39 json.php:64 json.php:77 json.php:89
+#: json.php:39 json.php:62 json.php:73
msgid "Authentication error"
msgstr "Грешка во автентикација"
@@ -82,55 +86,55 @@ msgstr "ТекÑÑ‚"
msgid "Images"
msgstr "Слики"
-#: template.php:103
+#: template.php:113
msgid "seconds ago"
msgstr "пред Ñекунди"
-#: template.php:104
+#: template.php:114
msgid "1 minute ago"
msgstr "пред 1 минута"
-#: template.php:105
+#: template.php:115
#, php-format
msgid "%d minutes ago"
msgstr "пред %d минути"
-#: template.php:106
+#: template.php:116
msgid "1 hour ago"
msgstr "пред 1 чаÑ"
-#: template.php:107
+#: template.php:117
#, php-format
msgid "%d hours ago"
msgstr "пред %d чаÑови"
-#: template.php:108
+#: template.php:118
msgid "today"
msgstr "денеÑка"
-#: template.php:109
+#: template.php:119
msgid "yesterday"
msgstr "вчера"
-#: template.php:110
+#: template.php:120
#, php-format
msgid "%d days ago"
msgstr "пред %d денови"
-#: template.php:111
+#: template.php:121
msgid "last month"
msgstr "минатиот меÑец"
-#: template.php:112
+#: template.php:122
#, php-format
msgid "%d months ago"
msgstr "пред %d меÑеци"
-#: template.php:113
+#: template.php:123
msgid "last year"
msgstr "минатата година"
-#: template.php:114
+#: template.php:124
msgid "years ago"
msgstr "пред години"
diff --git a/l10n/mk/settings.po b/l10n/mk/settings.po
index 3195e2e0539..4a9325a5666 100644
--- a/l10n/mk/settings.po
+++ b/l10n/mk/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: 2012-12-22 00:24+0100\n"
-"PO-Revision-Date: 2012-12-21 13:39+0000\n"
-"Last-Translator: Georgi Stanojevski <glisha@gmail.com>\n"
+"POT-Creation-Date: 2013-01-12 00:09+0100\n"
+"PO-Revision-Date: 2013-01-11 23:09+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -32,7 +32,7 @@ msgstr "Групата веќе поÑтои"
msgid "Unable to add group"
msgstr "Ðеможе да додадам група"
-#: ajax/enableapp.php:12
+#: ajax/enableapp.php:11
msgid "Could not enable app. "
msgstr "Ðеможе да овозможам апликација."
@@ -44,14 +44,6 @@ msgstr "ЕлектронÑката пошта е Ñнимена"
msgid "Invalid email"
msgstr "ÐеиÑправна електронÑка пошта"
-#: ajax/openid.php:13
-msgid "OpenID Changed"
-msgstr "OpenID Ñменето"
-
-#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20
-msgid "Invalid request"
-msgstr "неправилно барање"
-
#: ajax/removegroup.php:13
msgid "Unable to delete group"
msgstr "Ðеможе да избришам група"
@@ -68,6 +60,10 @@ msgstr "Ðеможам да избришам кориÑник"
msgid "Language changed"
msgstr "Јазикот е Ñменет"
+#: ajax/setlanguage.php:17 ajax/setlanguage.php:20
+msgid "Invalid request"
+msgstr "неправилно барање"
+
#: ajax/togglegroups.php:12
msgid "Admins can't remove themself from the admin group"
msgstr "ÐдминиÑтраторите неможе да Ñе избришат ÑебеÑи од админ групата"
@@ -163,7 +159,7 @@ msgstr "Преземи клиент за Ðндроид"
msgid "Download iOS Client"
msgstr "Преземи iOS клиент"
-#: templates/personal.php:21 templates/users.php:23 templates/users.php:77
+#: templates/personal.php:21 templates/users.php:23 templates/users.php:82
msgid "Password"
msgstr "Лозинка"
@@ -233,11 +229,11 @@ msgid ""
"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/users.php:21 templates/users.php:76
+#: templates/users.php:21 templates/users.php:81
msgid "Name"
msgstr "Име"
-#: templates/users.php:26 templates/users.php:78 templates/users.php:98
+#: templates/users.php:26 templates/users.php:83 templates/users.php:103
msgid "Groups"
msgstr "Групи"
@@ -246,21 +242,29 @@ msgid "Create"
msgstr "Создај"
#: templates/users.php:35
-msgid "Default Quota"
-msgstr "Предефинирана квота"
+msgid "Default Storage"
+msgstr ""
+
+#: templates/users.php:42 templates/users.php:138
+msgid "Unlimited"
+msgstr ""
-#: templates/users.php:55 templates/users.php:138
+#: templates/users.php:60 templates/users.php:153
msgid "Other"
msgstr "ОÑтанато"
-#: templates/users.php:80 templates/users.php:112
+#: templates/users.php:85 templates/users.php:117
msgid "Group Admin"
msgstr "ÐдминиÑтратор на група"
-#: templates/users.php:82
-msgid "Quota"
-msgstr "Квота"
+#: templates/users.php:87
+msgid "Storage"
+msgstr ""
+
+#: templates/users.php:133
+msgid "Default"
+msgstr ""
-#: templates/users.php:146
+#: templates/users.php:161
msgid "Delete"
msgstr "Избриши"
diff --git a/l10n/mk/user_ldap.po b/l10n/mk/user_ldap.po
index 206aa2878d7..c80a334455b 100644
--- a/l10n/mk/user_ldap.po
+++ b/l10n/mk/user_ldap.po
@@ -3,12 +3,13 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# Georgi Stanojevski <glisha@gmail.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-18 00:13+0100\n"
-"PO-Revision-Date: 2012-12-17 13:32+0000\n"
+"POT-Creation-Date: 2013-01-18 00:03+0100\n"
+"PO-Revision-Date: 2013-01-17 21:57+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"
@@ -26,24 +27,28 @@ msgstr ""
#: templates/settings.php:11
msgid ""
-"<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will"
-" not work. Please ask your system administrator to install it."
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not "
+"work. Please ask your system administrator to install it."
msgstr ""
#: templates/settings.php:15
msgid "Host"
-msgstr ""
+msgstr "Домаќин"
#: templates/settings.php:15
msgid ""
"You can omit the protocol, except you require SSL. Then start with ldaps://"
-msgstr ""
+msgstr "Може да го Ñкокнете протколот оÑвен ако не ви треба SSL. Тогаш Ñтавете ldaps://"
#: templates/settings.php:16
msgid "Base DN"
msgstr ""
#: templates/settings.php:16
+msgid "One Base DN per line"
+msgstr ""
+
+#: templates/settings.php:16
msgid "You can specify Base DN for users and groups in the Advanced tab"
msgstr ""
@@ -114,10 +119,18 @@ msgstr ""
msgid "Base User Tree"
msgstr ""
+#: templates/settings.php:25
+msgid "One User Base DN per line"
+msgstr ""
+
#: templates/settings.php:26
msgid "Base Group Tree"
msgstr ""
+#: templates/settings.php:26
+msgid "One Group Base DN per line"
+msgstr ""
+
#: templates/settings.php:27
msgid "Group-Member association"
msgstr ""
@@ -180,4 +193,4 @@ msgstr ""
#: templates/settings.php:39
msgid "Help"
-msgstr ""
+msgstr "Помош"
diff --git a/l10n/mk/user_webdavauth.po b/l10n/mk/user_webdavauth.po
index cdbba67dc8b..19b5d3df58e 100644
--- a/l10n/mk/user_webdavauth.po
+++ b/l10n/mk/user_webdavauth.po
@@ -3,12 +3,13 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# Georgi Stanojevski <glisha@gmail.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-20 00:11+0100\n"
-"PO-Revision-Date: 2012-12-19 23:12+0000\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+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"
@@ -17,13 +18,17 @@ msgstr ""
"Language: mk\n"
"Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n"
+#: templates/settings.php:3
+msgid "WebDAV Authentication"
+msgstr ""
+
#: templates/settings.php:4
msgid "URL: http://"
-msgstr ""
+msgstr "URL: http://"
#: templates/settings.php:6
msgid ""
-"ownCloud will send the user credentials to this URL is interpret http 401 "
-"and http 403 as credentials wrong and all other codes as credentials "
-"correct."
+"ownCloud will send the user credentials to this URL. 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 ""
diff --git a/l10n/ms_MY/core.po b/l10n/ms_MY/core.po
index 8c3a71a0205..d3e6303e112 100644
--- a/l10n/ms_MY/core.po
+++ b/l10n/ms_MY/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: 2012-12-13 00:17+0100\n"
-"PO-Revision-Date: 2012-12-12 23:17+0000\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:03+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Malay (Malaysia) (http://www.transifex.com/projects/p/owncloud/language/ms_MY/)\n"
"MIME-Version: 1.0\n"
@@ -86,55 +86,55 @@ msgstr ""
msgid "Settings"
msgstr "Tetapan"
-#: js/js.js:704
+#: js/js.js:711
msgid "seconds ago"
msgstr ""
-#: js/js.js:705
+#: js/js.js:712
msgid "1 minute ago"
msgstr ""
-#: js/js.js:706
+#: js/js.js:713
msgid "{minutes} minutes ago"
msgstr ""
-#: js/js.js:707
+#: js/js.js:714
msgid "1 hour ago"
msgstr ""
-#: js/js.js:708
+#: js/js.js:715
msgid "{hours} hours ago"
msgstr ""
-#: js/js.js:709
+#: js/js.js:716
msgid "today"
msgstr ""
-#: js/js.js:710
+#: js/js.js:717
msgid "yesterday"
msgstr ""
-#: js/js.js:711
+#: js/js.js:718
msgid "{days} days ago"
msgstr ""
-#: js/js.js:712
+#: js/js.js:719
msgid "last month"
msgstr ""
-#: js/js.js:713
+#: js/js.js:720
msgid "{months} months ago"
msgstr ""
-#: js/js.js:714
+#: js/js.js:721
msgid "months ago"
msgstr ""
-#: js/js.js:715
+#: js/js.js:722
msgid "last year"
msgstr ""
-#: js/js.js:716
+#: js/js.js:723
msgid "years ago"
msgstr ""
@@ -164,8 +164,8 @@ msgid "The object type is not specified."
msgstr ""
#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136
-#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:541
-#: js/share.js:553
+#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:554
+#: js/share.js:566
msgid "Error"
msgstr "Ralat"
@@ -177,7 +177,7 @@ msgstr ""
msgid "The required file {file} is not installed!"
msgstr ""
-#: js/share.js:124 js/share.js:581
+#: js/share.js:124 js/share.js:594
msgid "Error while sharing"
msgstr ""
@@ -205,12 +205,11 @@ msgstr ""
msgid "Share with link"
msgstr ""
-#: js/share.js:164
+#: js/share.js:166
msgid "Password protect"
msgstr ""
-#: js/share.js:168 templates/installation.php:42 templates/login.php:24
-#: templates/verify.php:13
+#: js/share.js:168 templates/installation.php:44 templates/login.php:35
msgid "Password"
msgstr "Kata laluan"
@@ -274,23 +273,23 @@ msgstr ""
msgid "share"
msgstr ""
-#: js/share.js:353 js/share.js:528 js/share.js:530
+#: js/share.js:356 js/share.js:541
msgid "Password protected"
msgstr ""
-#: js/share.js:541
+#: js/share.js:554
msgid "Error unsetting expiration date"
msgstr ""
-#: js/share.js:553
+#: js/share.js:566
msgid "Error setting expiration date"
msgstr ""
-#: js/share.js:568
+#: js/share.js:581
msgid "Sending ..."
msgstr ""
-#: js/share.js:579
+#: js/share.js:592
msgid "Email sent"
msgstr ""
@@ -314,8 +313,8 @@ msgstr ""
msgid "Request failed!"
msgstr ""
-#: lostpassword/templates/lostpassword.php:11 templates/installation.php:38
-#: templates/login.php:20
+#: lostpassword/templates/lostpassword.php:11 templates/installation.php:39
+#: templates/login.php:28
msgid "Username"
msgstr "Nama pengguna"
@@ -404,44 +403,44 @@ msgstr ""
msgid "Create an <strong>admin account</strong>"
msgstr "buat <strong>akaun admin</strong>"
-#: templates/installation.php:48
+#: templates/installation.php:50
msgid "Advanced"
msgstr "Maju"
-#: templates/installation.php:50
+#: templates/installation.php:52
msgid "Data folder"
msgstr "Fail data"
-#: templates/installation.php:57
+#: templates/installation.php:59
msgid "Configure the database"
msgstr "Konfigurasi pangkalan data"
-#: templates/installation.php:62 templates/installation.php:73
-#: templates/installation.php:83 templates/installation.php:93
+#: templates/installation.php:64 templates/installation.php:75
+#: templates/installation.php:85 templates/installation.php:95
msgid "will be used"
msgstr "akan digunakan"
-#: templates/installation.php:105
+#: templates/installation.php:107
msgid "Database user"
msgstr "Nama pengguna pangkalan data"
-#: templates/installation.php:109
+#: templates/installation.php:111
msgid "Database password"
msgstr "Kata laluan pangkalan data"
-#: templates/installation.php:113
+#: templates/installation.php:115
msgid "Database name"
msgstr "Nama pangkalan data"
-#: templates/installation.php:121
+#: templates/installation.php:123
msgid "Database tablespace"
msgstr ""
-#: templates/installation.php:127
+#: templates/installation.php:129
msgid "Database host"
msgstr "Hos pangkalan data"
-#: templates/installation.php:132
+#: templates/installation.php:134
msgid "Finish setup"
msgstr "Setup selesai"
@@ -529,36 +528,32 @@ msgstr "Perkhidmatan web di bawah kawalan anda"
msgid "Log out"
msgstr "Log keluar"
-#: templates/login.php:8
+#: templates/login.php:10
msgid "Automatic logon rejected!"
msgstr ""
-#: templates/login.php:9
+#: templates/login.php:11
msgid ""
"If you did not change your password recently, your account may be "
"compromised!"
msgstr ""
-#: templates/login.php:10
+#: templates/login.php:13
msgid "Please change your password to secure your account again."
msgstr ""
-#: templates/login.php:15
+#: templates/login.php:19
msgid "Lost your password?"
msgstr "Hilang kata laluan?"
-#: templates/login.php:27
+#: templates/login.php:39
msgid "remember"
msgstr "ingat"
-#: templates/login.php:28
+#: templates/login.php:41
msgid "Log in"
msgstr "Log masuk"
-#: templates/logout.php:1
-msgid "You are logged out."
-msgstr "Anda telah log keluar."
-
#: templates/part.pagenavi.php:3
msgid "prev"
msgstr "sebelum"
@@ -567,16 +562,7 @@ msgstr "sebelum"
msgid "next"
msgstr "seterus"
-#: templates/verify.php:5
-msgid "Security Warning!"
-msgstr ""
-
-#: templates/verify.php:6
-msgid ""
-"Please verify your password. <br/>For security reasons you may be "
-"occasionally asked to enter your password again."
-msgstr ""
-
-#: templates/verify.php:16
-msgid "Verify"
+#: templates/update.php:3
+#, php-format
+msgid "Updating ownCloud to version %s, this may take a while."
msgstr ""
diff --git a/l10n/ms_MY/files.po b/l10n/ms_MY/files.po
index 02844fd34d3..aa3c0c9f0c5 100644
--- a/l10n/ms_MY/files.po
+++ b/l10n/ms_MY/files.po
@@ -11,8 +11,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-01 00:01+0100\n"
-"PO-Revision-Date: 2012-11-30 23:02+0000\n"
+"POT-Creation-Date: 2013-01-20 00:05+0100\n"
+"PO-Revision-Date: 2013-01-19 23:05+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Malay (Malaysia) (http://www.transifex.com/projects/p/owncloud/language/ms_MY/)\n"
"MIME-Version: 1.0\n"
@@ -21,46 +21,77 @@ msgstr ""
"Language: ms_MY\n"
"Plural-Forms: nplurals=1; plural=0;\n"
+#: ajax/delete.php:28 ajax/getstoragestats.php:11 ajax/upload.php:17
+#: ajax/upload.php:76 templates/index.php:18
+msgid "Upload"
+msgstr "Muat naik"
+
+#: ajax/move.php:17
+#, php-format
+msgid "Could not move %s - File with this name already exists"
+msgstr ""
+
+#: ajax/move.php:24
+#, php-format
+msgid "Could not move %s"
+msgstr ""
+
+#: ajax/rename.php:19
+msgid "Unable to rename file"
+msgstr ""
+
#: ajax/upload.php:20
+msgid "No file was uploaded. Unknown error"
+msgstr "Tiada fail dimuatnaik. Ralat tidak diketahui."
+
+#: ajax/upload.php:30
msgid "There is no error, the file uploaded with success"
msgstr "Tiada ralat, fail berjaya dimuat naik."
-#: ajax/upload.php:21
+#: ajax/upload.php:31
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr ""
-#: ajax/upload.php:23
+#: ajax/upload.php:33
msgid ""
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
"the HTML form"
msgstr "Fail yang dimuat naik melebihi MAX_FILE_SIZE yang dinyatakan dalam form HTML "
-#: ajax/upload.php:25
+#: ajax/upload.php:35
msgid "The uploaded file was only partially uploaded"
msgstr "Sebahagian daripada fail telah dimuat naik. "
-#: ajax/upload.php:26
+#: ajax/upload.php:36
msgid "No file was uploaded"
msgstr "Tiada fail yang dimuat naik"
-#: ajax/upload.php:27
+#: ajax/upload.php:37
msgid "Missing a temporary folder"
msgstr "Folder sementara hilang"
-#: ajax/upload.php:28
+#: ajax/upload.php:38
msgid "Failed to write to disk"
msgstr "Gagal untuk disimpan"
+#: ajax/upload.php:57
+msgid "Not enough space available"
+msgstr ""
+
+#: ajax/upload.php:91
+msgid "Invalid directory."
+msgstr ""
+
#: appinfo/app.php:10
msgid "Files"
msgstr "fail"
-#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84
+#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
msgid "Unshare"
msgstr ""
-#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90
+#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
msgid "Delete"
msgstr "Padam"
@@ -68,122 +99,136 @@ msgstr "Padam"
msgid "Rename"
msgstr ""
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "{new_name} already exists"
msgstr ""
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "replace"
msgstr "ganti"
-#: js/filelist.js:201
+#: js/filelist.js:205
msgid "suggest name"
msgstr ""
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "cancel"
msgstr "Batal"
-#: js/filelist.js:250
+#: js/filelist.js:254
msgid "replaced {new_name}"
msgstr ""
-#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286
+#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
msgid "undo"
msgstr ""
-#: js/filelist.js:252
+#: js/filelist.js:256
msgid "replaced {new_name} with {old_name}"
msgstr ""
-#: js/filelist.js:284
+#: js/filelist.js:288
msgid "unshared {files}"
msgstr ""
-#: js/filelist.js:286
+#: js/filelist.js:290
msgid "deleted {files}"
msgstr ""
-#: js/files.js:33
+#: js/files.js:48
+msgid "'.' is an invalid file name."
+msgstr ""
+
+#: js/files.js:53
+msgid "File name cannot be empty."
+msgstr ""
+
+#: js/files.js:62
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr ""
-#: js/files.js:183
-msgid "generating ZIP-file, it may take some time."
-msgstr "sedang menghasilkan fail ZIP, mungkin mengambil sedikit masa."
+#: js/files.js:204
+msgid ""
+"Your download is being prepared. This might take some time if the files are "
+"big."
+msgstr ""
-#: js/files.js:218
+#: js/files.js:242
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr "Tidak boleh memuatnaik fail anda kerana mungkin ianya direktori atau saiz fail 0 bytes"
-#: js/files.js:218
+#: js/files.js:242
msgid "Upload Error"
msgstr "Muat naik ralat"
-#: js/files.js:235
+#: js/files.js:259
msgid "Close"
msgstr "Tutup"
-#: js/files.js:254 js/files.js:368 js/files.js:398
+#: js/files.js:278 js/files.js:397 js/files.js:431
msgid "Pending"
msgstr "Dalam proses"
-#: js/files.js:274
+#: js/files.js:298
msgid "1 file uploading"
msgstr ""
-#: js/files.js:277 js/files.js:331 js/files.js:346
+#: js/files.js:301 js/files.js:357 js/files.js:372
msgid "{count} files uploading"
msgstr ""
-#: js/files.js:349 js/files.js:382
+#: js/files.js:376 js/files.js:414
msgid "Upload cancelled."
msgstr "Muatnaik dibatalkan."
-#: js/files.js:451
+#: js/files.js:486
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr ""
-#: js/files.js:523
-msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud"
+#: js/files.js:559
+msgid "URL cannot be empty."
msgstr ""
-#: js/files.js:704
+#: js/files.js:565
+msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
+msgstr ""
+
+#: js/files.js:775
msgid "{count} files scanned"
msgstr ""
-#: js/files.js:712
+#: js/files.js:783
msgid "error while scanning"
msgstr ""
-#: js/files.js:785 templates/index.php:65
+#: js/files.js:857 templates/index.php:64
msgid "Name"
msgstr "Nama "
-#: js/files.js:786 templates/index.php:76
+#: js/files.js:858 templates/index.php:75
msgid "Size"
msgstr "Saiz"
-#: js/files.js:787 templates/index.php:78
+#: js/files.js:859 templates/index.php:77
msgid "Modified"
msgstr "Dimodifikasi"
-#: js/files.js:814
+#: js/files.js:878
msgid "1 folder"
msgstr ""
-#: js/files.js:816
+#: js/files.js:880
msgid "{count} folders"
msgstr ""
-#: js/files.js:824
+#: js/files.js:888
msgid "1 file"
msgstr ""
-#: js/files.js:826
+#: js/files.js:890
msgid "{count} files"
msgstr ""
@@ -195,27 +240,27 @@ msgstr "Pengendalian fail"
msgid "Maximum upload size"
msgstr "Saiz maksimum muat naik"
-#: templates/admin.php:9
+#: templates/admin.php:10
msgid "max. possible: "
msgstr "maksimum:"
-#: templates/admin.php:12
+#: templates/admin.php:15
msgid "Needed for multi-file and folder downloads."
msgstr "Diperlukan untuk muatturun fail pelbagai "
-#: templates/admin.php:14
+#: templates/admin.php:17
msgid "Enable ZIP-download"
msgstr "Aktifkan muatturun ZIP"
-#: templates/admin.php:17
+#: templates/admin.php:20
msgid "0 is unlimited"
msgstr "0 adalah tanpa had"
-#: templates/admin.php:19
+#: templates/admin.php:22
msgid "Maximum input size for ZIP files"
msgstr "Saiz maksimum input untuk fail ZIP"
-#: templates/admin.php:23
+#: templates/admin.php:26
msgid "Save"
msgstr "Simpan"
@@ -235,36 +280,32 @@ msgstr "Folder"
msgid "From link"
msgstr ""
-#: templates/index.php:35
-msgid "Upload"
-msgstr "Muat naik"
-
-#: templates/index.php:43
+#: templates/index.php:41
msgid "Cancel upload"
msgstr "Batal muat naik"
-#: templates/index.php:57
+#: templates/index.php:56
msgid "Nothing in here. Upload something!"
msgstr "Tiada apa-apa di sini. Muat naik sesuatu!"
-#: templates/index.php:71
+#: templates/index.php:70
msgid "Download"
msgstr "Muat turun"
-#: templates/index.php:103
+#: templates/index.php:102
msgid "Upload too large"
msgstr "Muat naik terlalu besar"
-#: templates/index.php:105
+#: templates/index.php:104
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "Fail yang cuba dimuat naik melebihi saiz maksimum fail upload server"
-#: templates/index.php:110
+#: templates/index.php:109
msgid "Files are being scanned, please wait."
msgstr "Fail sedang diimbas, harap bersabar."
-#: templates/index.php:113
+#: templates/index.php:112
msgid "Current scanning"
msgstr "Imbasan semasa"
diff --git a/l10n/ms_MY/files_encryption.po b/l10n/ms_MY/files_encryption.po
index 33de1d365d7..65777823e5b 100644
--- a/l10n/ms_MY/files_encryption.po
+++ b/l10n/ms_MY/files_encryption.po
@@ -7,28 +7,76 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-08-13 23:12+0200\n"
-"PO-Revision-Date: 2012-08-12 22:33+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Malay (Malaysia) (http://www.transifex.com/projects/p/owncloud/language/ms_MY/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: ms_MY\n"
-"Plural-Forms: nplurals=1; plural=0\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
-#: templates/settings.php:3
-msgid "Encryption"
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
msgstr ""
-#: templates/settings.php:4
-msgid "Exclude the following file types from encryption"
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
msgstr ""
-#: templates/settings.php:5
-msgid "None"
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
msgstr ""
#: templates/settings.php:10
-msgid "Enable Encryption"
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
+msgid "Encryption"
+msgstr ""
+
+#: templates/settings.php:67
+msgid "Exclude the following file types from encryption"
+msgstr ""
+
+#: templates/settings.php:71
+msgid "None"
msgstr ""
diff --git a/l10n/ms_MY/files_versions.po b/l10n/ms_MY/files_versions.po
index 46f3f7ed90f..389afec231e 100644
--- a/l10n/ms_MY/files_versions.po
+++ b/l10n/ms_MY/files_versions.po
@@ -7,9 +7,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-09-22 01:14+0200\n"
-"PO-Revision-Date: 2012-09-21 23:15+0000\n"
-"Last-Translator: I Robot <thomas.mueller@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Malay (Malaysia) (http://www.transifex.com/projects/p/owncloud/language/ms_MY/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -17,22 +17,10 @@ msgstr ""
"Language: ms_MY\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: js/settings-personal.js:31 templates/settings-personal.php:10
-msgid "Expire all versions"
-msgstr ""
-
#: js/versions.js:16
msgid "History"
msgstr ""
-#: templates/settings-personal.php:4
-msgid "Versions"
-msgstr ""
-
-#: templates/settings-personal.php:7
-msgid "This will delete all existing backup versions of your files"
-msgstr ""
-
#: templates/settings.php:3
msgid "Files Versioning"
msgstr ""
diff --git a/l10n/ms_MY/lib.po b/l10n/ms_MY/lib.po
index 57990c29b6b..5365e602ba1 100644
--- a/l10n/ms_MY/lib.po
+++ b/l10n/ms_MY/lib.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-11-16 00:02+0100\n"
-"PO-Revision-Date: 2012-11-14 23:13+0000\n"
+"POT-Creation-Date: 2013-01-18 00:03+0100\n"
+"PO-Revision-Date: 2013-01-17 21:57+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Malay (Malaysia) (http://www.transifex.com/projects/p/owncloud/language/ms_MY/)\n"
"MIME-Version: 1.0\n"
@@ -17,51 +17,55 @@ msgstr ""
"Language: ms_MY\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: app.php:285
+#: app.php:301
msgid "Help"
-msgstr ""
+msgstr "Bantuan"
-#: app.php:292
+#: app.php:308
msgid "Personal"
msgstr "Peribadi"
-#: app.php:297
+#: app.php:313
msgid "Settings"
msgstr "Tetapan"
-#: app.php:302
+#: app.php:318
msgid "Users"
msgstr "Pengguna"
-#: app.php:309
+#: app.php:325
msgid "Apps"
msgstr ""
-#: app.php:311
+#: app.php:327
msgid "Admin"
msgstr ""
-#: files.php:332
+#: files.php:365
msgid "ZIP download is turned off."
msgstr ""
-#: files.php:333
+#: files.php:366
msgid "Files need to be downloaded one by one."
msgstr ""
-#: files.php:333 files.php:358
+#: files.php:366 files.php:391
msgid "Back to Files"
msgstr ""
-#: files.php:357
+#: files.php:390
msgid "Selected files too large to generate zip file."
msgstr ""
+#: helper.php:228
+msgid "couldn't be determined"
+msgstr ""
+
#: json.php:28
msgid "Application is not enabled"
msgstr ""
-#: json.php:39 json.php:64 json.php:77 json.php:89
+#: json.php:39 json.php:62 json.php:73
msgid "Authentication error"
msgstr "Ralat pengesahan"
@@ -81,55 +85,55 @@ msgstr "Teks"
msgid "Images"
msgstr ""
-#: template.php:103
+#: template.php:113
msgid "seconds ago"
msgstr ""
-#: template.php:104
+#: template.php:114
msgid "1 minute ago"
msgstr ""
-#: template.php:105
+#: template.php:115
#, php-format
msgid "%d minutes ago"
msgstr ""
-#: template.php:106
+#: template.php:116
msgid "1 hour ago"
msgstr ""
-#: template.php:107
+#: template.php:117
#, php-format
msgid "%d hours ago"
msgstr ""
-#: template.php:108
+#: template.php:118
msgid "today"
msgstr ""
-#: template.php:109
+#: template.php:119
msgid "yesterday"
msgstr ""
-#: template.php:110
+#: template.php:120
#, php-format
msgid "%d days ago"
msgstr ""
-#: template.php:111
+#: template.php:121
msgid "last month"
msgstr ""
-#: template.php:112
+#: template.php:122
#, php-format
msgid "%d months ago"
msgstr ""
-#: template.php:113
+#: template.php:123
msgid "last year"
msgstr ""
-#: template.php:114
+#: template.php:124
msgid "years ago"
msgstr ""
diff --git a/l10n/ms_MY/settings.po b/l10n/ms_MY/settings.po
index f4c24535347..72694ffcb9c 100644
--- a/l10n/ms_MY/settings.po
+++ b/l10n/ms_MY/settings.po
@@ -11,8 +11,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-21 00:10+0100\n"
-"PO-Revision-Date: 2012-12-19 23:20+0000\n"
+"POT-Creation-Date: 2013-01-12 00:09+0100\n"
+"PO-Revision-Date: 2013-01-11 23:09+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Malay (Malaysia) (http://www.transifex.com/projects/p/owncloud/language/ms_MY/)\n"
"MIME-Version: 1.0\n"
@@ -33,7 +33,7 @@ msgstr ""
msgid "Unable to add group"
msgstr ""
-#: ajax/enableapp.php:12
+#: ajax/enableapp.php:11
msgid "Could not enable app. "
msgstr ""
@@ -45,14 +45,6 @@ msgstr "Emel disimpan"
msgid "Invalid email"
msgstr "Emel tidak sah"
-#: ajax/openid.php:13
-msgid "OpenID Changed"
-msgstr "OpenID diubah"
-
-#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20
-msgid "Invalid request"
-msgstr "Permintaan tidak sah"
-
#: ajax/removegroup.php:13
msgid "Unable to delete group"
msgstr ""
@@ -69,6 +61,10 @@ msgstr ""
msgid "Language changed"
msgstr "Bahasa diubah"
+#: ajax/setlanguage.php:17 ajax/setlanguage.php:20
+msgid "Invalid request"
+msgstr "Permintaan tidak sah"
+
#: ajax/togglegroups.php:12
msgid "Admins can't remove themself from the admin group"
msgstr ""
@@ -164,7 +160,7 @@ msgstr ""
msgid "Download iOS Client"
msgstr ""
-#: templates/personal.php:21 templates/users.php:23 templates/users.php:77
+#: templates/personal.php:21 templates/users.php:23 templates/users.php:82
msgid "Password"
msgstr "Kata laluan "
@@ -234,11 +230,11 @@ msgid ""
"License\">AGPL</abbr></a>."
msgstr ""
-#: templates/users.php:21 templates/users.php:76
+#: templates/users.php:21 templates/users.php:81
msgid "Name"
msgstr "Nama"
-#: templates/users.php:26 templates/users.php:78 templates/users.php:98
+#: templates/users.php:26 templates/users.php:83 templates/users.php:103
msgid "Groups"
msgstr "Kumpulan"
@@ -247,21 +243,29 @@ msgid "Create"
msgstr "Buat"
#: templates/users.php:35
-msgid "Default Quota"
-msgstr "Kuota Lalai"
+msgid "Default Storage"
+msgstr ""
+
+#: templates/users.php:42 templates/users.php:138
+msgid "Unlimited"
+msgstr ""
-#: templates/users.php:55 templates/users.php:138
+#: templates/users.php:60 templates/users.php:153
msgid "Other"
msgstr "Lain"
-#: templates/users.php:80 templates/users.php:112
+#: templates/users.php:85 templates/users.php:117
msgid "Group Admin"
msgstr ""
-#: templates/users.php:82
-msgid "Quota"
-msgstr "Kuota"
+#: templates/users.php:87
+msgid "Storage"
+msgstr ""
+
+#: templates/users.php:133
+msgid "Default"
+msgstr ""
-#: templates/users.php:146
+#: templates/users.php:161
msgid "Delete"
msgstr "Padam"
diff --git a/l10n/ms_MY/user_ldap.po b/l10n/ms_MY/user_ldap.po
index 4509f10da64..3c7e352259a 100644
--- a/l10n/ms_MY/user_ldap.po
+++ b/l10n/ms_MY/user_ldap.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-15 00:11+0100\n"
-"PO-Revision-Date: 2012-12-14 23:11+0000\n"
+"POT-Creation-Date: 2013-01-18 00:03+0100\n"
+"PO-Revision-Date: 2013-01-17 21:57+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Malay (Malaysia) (http://www.transifex.com/projects/p/owncloud/language/ms_MY/)\n"
"MIME-Version: 1.0\n"
@@ -26,8 +26,8 @@ msgstr ""
#: templates/settings.php:11
msgid ""
-"<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will"
-" not work. Please ask your system administrator to install it."
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not "
+"work. Please ask your system administrator to install it."
msgstr ""
#: templates/settings.php:15
@@ -44,6 +44,10 @@ msgid "Base DN"
msgstr ""
#: templates/settings.php:16
+msgid "One Base DN per line"
+msgstr ""
+
+#: templates/settings.php:16
msgid "You can specify Base DN for users and groups in the Advanced tab"
msgstr ""
@@ -114,10 +118,18 @@ msgstr ""
msgid "Base User Tree"
msgstr ""
+#: templates/settings.php:25
+msgid "One User Base DN per line"
+msgstr ""
+
#: templates/settings.php:26
msgid "Base Group Tree"
msgstr ""
+#: templates/settings.php:26
+msgid "One Group Base DN per line"
+msgstr ""
+
#: templates/settings.php:27
msgid "Group-Member association"
msgstr ""
@@ -180,4 +192,4 @@ msgstr ""
#: templates/settings.php:39
msgid "Help"
-msgstr ""
+msgstr "Bantuan"
diff --git a/l10n/ms_MY/user_webdavauth.po b/l10n/ms_MY/user_webdavauth.po
index 2974263352c..8e8f74d0a70 100644
--- a/l10n/ms_MY/user_webdavauth.po
+++ b/l10n/ms_MY/user_webdavauth.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-20 00:11+0100\n"
-"PO-Revision-Date: 2012-12-19 23:12+0000\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Malay (Malaysia) (http://www.transifex.com/projects/p/owncloud/language/ms_MY/)\n"
"MIME-Version: 1.0\n"
@@ -17,13 +17,17 @@ msgstr ""
"Language: ms_MY\n"
"Plural-Forms: nplurals=1; plural=0;\n"
+#: templates/settings.php:3
+msgid "WebDAV Authentication"
+msgstr ""
+
#: templates/settings.php:4
msgid "URL: http://"
msgstr ""
#: templates/settings.php:6
msgid ""
-"ownCloud will send the user credentials to this URL is interpret http 401 "
-"and http 403 as credentials wrong and all other codes as credentials "
-"correct."
+"ownCloud will send the user credentials to this URL. 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 ""
diff --git a/l10n/nb_NO/core.po b/l10n/nb_NO/core.po
index 7354a7de4ce..6a652e8cea5 100644
--- a/l10n/nb_NO/core.po
+++ b/l10n/nb_NO/core.po
@@ -6,6 +6,7 @@
# <ajarmund@gmail.com>, 2011, 2012.
# Christer Eriksson <post@hc3web.com>, 2012.
# Daniel <i18n@daniel.priv.no>, 2012.
+# <espenbye@me.com>, 2012.
# <hdalgrav@gmail.com>, 2012.
# <itssmail@yahoo.no>, 2012.
# <runesudden@gmail.com>, 2012.
@@ -13,8 +14,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-13 00:17+0100\n"
-"PO-Revision-Date: 2012-12-12 23:17+0000\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:03+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"
@@ -89,55 +90,55 @@ msgstr ""
msgid "Settings"
msgstr "Innstillinger"
-#: js/js.js:704
+#: js/js.js:711
msgid "seconds ago"
msgstr "sekunder siden"
-#: js/js.js:705
+#: js/js.js:712
msgid "1 minute ago"
msgstr "1 minutt siden"
-#: js/js.js:706
+#: js/js.js:713
msgid "{minutes} minutes ago"
msgstr "{minutes} minutter siden"
-#: js/js.js:707
+#: js/js.js:714
msgid "1 hour ago"
-msgstr ""
+msgstr "1 time siden"
-#: js/js.js:708
+#: js/js.js:715
msgid "{hours} hours ago"
-msgstr ""
+msgstr "{hours} timer siden"
-#: js/js.js:709
+#: js/js.js:716
msgid "today"
msgstr "i dag"
-#: js/js.js:710
+#: js/js.js:717
msgid "yesterday"
msgstr "i går"
-#: js/js.js:711
+#: js/js.js:718
msgid "{days} days ago"
msgstr "{days} dager siden"
-#: js/js.js:712
+#: js/js.js:719
msgid "last month"
msgstr "forrige måned"
-#: js/js.js:713
+#: js/js.js:720
msgid "{months} months ago"
-msgstr ""
+msgstr "{months} måneder siden"
-#: js/js.js:714
+#: js/js.js:721
msgid "months ago"
msgstr "måneder siden"
-#: js/js.js:715
+#: js/js.js:722
msgid "last year"
msgstr "forrige år"
-#: js/js.js:716
+#: js/js.js:723
msgid "years ago"
msgstr "Ã¥r siden"
@@ -167,8 +168,8 @@ msgid "The object type is not specified."
msgstr ""
#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136
-#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:541
-#: js/share.js:553
+#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:554
+#: js/share.js:566
msgid "Error"
msgstr "Feil"
@@ -180,7 +181,7 @@ msgstr ""
msgid "The required file {file} is not installed!"
msgstr ""
-#: js/share.js:124 js/share.js:581
+#: js/share.js:124 js/share.js:594
msgid "Error while sharing"
msgstr "Feil under deling"
@@ -208,12 +209,11 @@ msgstr "Del med"
msgid "Share with link"
msgstr "Del med link"
-#: js/share.js:164
+#: js/share.js:166
msgid "Password protect"
msgstr "Passordbeskyttet"
-#: js/share.js:168 templates/installation.php:42 templates/login.php:24
-#: templates/verify.php:13
+#: js/share.js:168 templates/installation.php:44 templates/login.php:35
msgid "Password"
msgstr "Passord"
@@ -223,7 +223,7 @@ msgstr ""
#: js/share.js:173
msgid "Send"
-msgstr ""
+msgstr "Send"
#: js/share.js:177
msgid "Set expiration date"
@@ -277,25 +277,25 @@ msgstr "slett"
msgid "share"
msgstr "del"
-#: js/share.js:353 js/share.js:528 js/share.js:530
+#: js/share.js:356 js/share.js:541
msgid "Password protected"
msgstr "Passordbeskyttet"
-#: js/share.js:541
+#: js/share.js:554
msgid "Error unsetting expiration date"
msgstr ""
-#: js/share.js:553
+#: js/share.js:566
msgid "Error setting expiration date"
msgstr "Kan ikke sette utløpsdato"
-#: js/share.js:568
+#: js/share.js:581
msgid "Sending ..."
-msgstr ""
+msgstr "Sender..."
-#: js/share.js:579
+#: js/share.js:592
msgid "Email sent"
-msgstr ""
+msgstr "E-post sendt"
#: lostpassword/controller.php:47
msgid "ownCloud password reset"
@@ -317,8 +317,8 @@ msgstr ""
msgid "Request failed!"
msgstr ""
-#: lostpassword/templates/lostpassword.php:11 templates/installation.php:38
-#: templates/login.php:20
+#: lostpassword/templates/lostpassword.php:11 templates/installation.php:39
+#: templates/login.php:28
msgid "Username"
msgstr "Brukernavn"
@@ -407,44 +407,44 @@ msgstr ""
msgid "Create an <strong>admin account</strong>"
msgstr "opprett en <strong>administrator-konto</strong>"
-#: templates/installation.php:48
+#: templates/installation.php:50
msgid "Advanced"
msgstr "Avansert"
-#: templates/installation.php:50
+#: templates/installation.php:52
msgid "Data folder"
msgstr "Datamappe"
-#: templates/installation.php:57
+#: templates/installation.php:59
msgid "Configure the database"
msgstr "Konfigurer databasen"
-#: templates/installation.php:62 templates/installation.php:73
-#: templates/installation.php:83 templates/installation.php:93
+#: templates/installation.php:64 templates/installation.php:75
+#: templates/installation.php:85 templates/installation.php:95
msgid "will be used"
msgstr "vil bli brukt"
-#: templates/installation.php:105
+#: templates/installation.php:107
msgid "Database user"
msgstr "Databasebruker"
-#: templates/installation.php:109
+#: templates/installation.php:111
msgid "Database password"
msgstr "Databasepassord"
-#: templates/installation.php:113
+#: templates/installation.php:115
msgid "Database name"
msgstr "Databasenavn"
-#: templates/installation.php:121
+#: templates/installation.php:123
msgid "Database tablespace"
msgstr "Database tabellområde"
-#: templates/installation.php:127
+#: templates/installation.php:129
msgid "Database host"
msgstr "Databasevert"
-#: templates/installation.php:132
+#: templates/installation.php:134
msgid "Finish setup"
msgstr "Fullfør oppsetting"
@@ -532,36 +532,32 @@ msgstr "nettjenester under din kontroll"
msgid "Log out"
msgstr "Logg ut"
-#: templates/login.php:8
+#: templates/login.php:10
msgid "Automatic logon rejected!"
msgstr "Automatisk pålogging avvist!"
-#: templates/login.php:9
+#: templates/login.php:11
msgid ""
"If you did not change your password recently, your account may be "
"compromised!"
msgstr "Hvis du ikke har endret passordet ditt nylig kan kontoen din være kompromitert"
-#: templates/login.php:10
+#: templates/login.php:13
msgid "Please change your password to secure your account again."
msgstr "Vennligst skift passord for å gjøre kontoen din sikker igjen."
-#: templates/login.php:15
+#: templates/login.php:19
msgid "Lost your password?"
msgstr "Mistet passordet ditt?"
-#: templates/login.php:27
+#: templates/login.php:39
msgid "remember"
msgstr "husk"
-#: templates/login.php:28
+#: templates/login.php:41
msgid "Log in"
msgstr "Logg inn"
-#: templates/logout.php:1
-msgid "You are logged out."
-msgstr "Du er logget ut"
-
#: templates/part.pagenavi.php:3
msgid "prev"
msgstr "forrige"
@@ -570,16 +566,7 @@ msgstr "forrige"
msgid "next"
msgstr "neste"
-#: templates/verify.php:5
-msgid "Security Warning!"
-msgstr "Sikkerhetsadvarsel!"
-
-#: templates/verify.php:6
-msgid ""
-"Please verify your password. <br/>For security reasons you may be "
-"occasionally asked to enter your password again."
+#: templates/update.php:3
+#, php-format
+msgid "Updating ownCloud to version %s, this may take a while."
msgstr ""
-
-#: templates/verify.php:16
-msgid "Verify"
-msgstr "Verifiser"
diff --git a/l10n/nb_NO/files.po b/l10n/nb_NO/files.po
index ad0cf919ea0..4ca3bc26a60 100644
--- a/l10n/nb_NO/files.po
+++ b/l10n/nb_NO/files.po
@@ -7,6 +7,7 @@
# Arvid Nornes <arvid.nornes@gmail.com>, 2012.
# Christer Eriksson <post@hc3web.com>, 2012.
# Daniel <i18n@daniel.priv.no>, 2012.
+# <espenbye@me.com>, 2012.
# <hdalgrav@gmail.com>, 2012.
# <olamaekle@gmail.com>, 2012.
# <runesudden@gmail.com>, 2012.
@@ -15,8 +16,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-01 00:01+0100\n"
-"PO-Revision-Date: 2012-11-30 23:02+0000\n"
+"POT-Creation-Date: 2013-01-20 00:05+0100\n"
+"PO-Revision-Date: 2013-01-19 23:05+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,46 +26,77 @@ msgstr ""
"Language: nb_NO\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+#: ajax/delete.php:28 ajax/getstoragestats.php:11 ajax/upload.php:17
+#: ajax/upload.php:76 templates/index.php:18
+msgid "Upload"
+msgstr "Last opp"
+
+#: ajax/move.php:17
+#, php-format
+msgid "Could not move %s - File with this name already exists"
+msgstr ""
+
+#: ajax/move.php:24
+#, php-format
+msgid "Could not move %s"
+msgstr ""
+
+#: ajax/rename.php:19
+msgid "Unable to rename file"
+msgstr ""
+
#: ajax/upload.php:20
+msgid "No file was uploaded. Unknown error"
+msgstr "Ingen filer ble lastet opp. Ukjent feil."
+
+#: ajax/upload.php:30
msgid "There is no error, the file uploaded with success"
msgstr "Det er ingen feil. Filen ble lastet opp."
-#: ajax/upload.php:21
+#: ajax/upload.php:31
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr ""
-#: ajax/upload.php:23
+#: ajax/upload.php:33
msgid ""
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
"the HTML form"
msgstr "Filstørrelsen overskrider maksgrensen på MAX_FILE_SIZE som ble oppgitt i HTML-skjemaet"
-#: ajax/upload.php:25
+#: ajax/upload.php:35
msgid "The uploaded file was only partially uploaded"
msgstr "Filopplastningen ble bare delvis gjennomført"
-#: ajax/upload.php:26
+#: ajax/upload.php:36
msgid "No file was uploaded"
msgstr "Ingen fil ble lastet opp"
-#: ajax/upload.php:27
+#: ajax/upload.php:37
msgid "Missing a temporary folder"
msgstr "Mangler en midlertidig mappe"
-#: ajax/upload.php:28
+#: ajax/upload.php:38
msgid "Failed to write to disk"
msgstr "Klarte ikke å skrive til disk"
+#: ajax/upload.php:57
+msgid "Not enough space available"
+msgstr ""
+
+#: ajax/upload.php:91
+msgid "Invalid directory."
+msgstr ""
+
#: appinfo/app.php:10
msgid "Files"
msgstr "Filer"
-#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84
+#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
msgid "Unshare"
msgstr "Avslutt deling"
-#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90
+#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
msgid "Delete"
msgstr "Slett"
@@ -72,122 +104,136 @@ msgstr "Slett"
msgid "Rename"
msgstr "Omdøp"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "{new_name} already exists"
msgstr "{new_name} finnes allerede"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "replace"
msgstr "erstatt"
-#: js/filelist.js:201
+#: js/filelist.js:205
msgid "suggest name"
msgstr "foreslå navn"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "cancel"
msgstr "avbryt"
-#: js/filelist.js:250
+#: js/filelist.js:254
msgid "replaced {new_name}"
msgstr "erstatt {new_name}"
-#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286
+#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
msgid "undo"
msgstr "angre"
-#: js/filelist.js:252
+#: js/filelist.js:256
msgid "replaced {new_name} with {old_name}"
msgstr "erstatt {new_name} med {old_name}"
-#: js/filelist.js:284
+#: js/filelist.js:288
msgid "unshared {files}"
msgstr ""
-#: js/filelist.js:286
+#: js/filelist.js:290
msgid "deleted {files}"
msgstr "slettet {files}"
-#: js/files.js:33
+#: js/files.js:48
+msgid "'.' is an invalid file name."
+msgstr ""
+
+#: js/files.js:53
+msgid "File name cannot be empty."
+msgstr ""
+
+#: js/files.js:62
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
-msgstr ""
+msgstr "Ugyldig navn, '\\', '/', '<', '>', ':', '\"', '|', '?' og '*' er ikke tillatt."
-#: js/files.js:183
-msgid "generating ZIP-file, it may take some time."
-msgstr "opprettet ZIP-fil, dette kan ta litt tid"
+#: js/files.js:204
+msgid ""
+"Your download is being prepared. This might take some time if the files are "
+"big."
+msgstr ""
-#: js/files.js:218
+#: js/files.js:242
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr "Kan ikke laste opp filen din siden det er en mappe eller den har 0 bytes"
-#: js/files.js:218
+#: js/files.js:242
msgid "Upload Error"
msgstr "Opplasting feilet"
-#: js/files.js:235
+#: js/files.js:259
msgid "Close"
msgstr "Lukk"
-#: js/files.js:254 js/files.js:368 js/files.js:398
+#: js/files.js:278 js/files.js:397 js/files.js:431
msgid "Pending"
msgstr "Ventende"
-#: js/files.js:274
+#: js/files.js:298
msgid "1 file uploading"
msgstr "1 fil lastes opp"
-#: js/files.js:277 js/files.js:331 js/files.js:346
+#: js/files.js:301 js/files.js:357 js/files.js:372
msgid "{count} files uploading"
msgstr "{count} filer laster opp"
-#: js/files.js:349 js/files.js:382
+#: js/files.js:376 js/files.js:414
msgid "Upload cancelled."
msgstr "Opplasting avbrutt."
-#: js/files.js:451
+#: js/files.js:486
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr "Filopplasting pågår. Forlater du siden nå avbrytes opplastingen."
-#: js/files.js:523
-msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud"
+#: js/files.js:559
+msgid "URL cannot be empty."
+msgstr "URL-en kan ikke være tom."
+
+#: js/files.js:565
+msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
msgstr ""
-#: js/files.js:704
+#: js/files.js:775
msgid "{count} files scanned"
msgstr "{count} filer lest inn"
-#: js/files.js:712
+#: js/files.js:783
msgid "error while scanning"
msgstr "feil under skanning"
-#: js/files.js:785 templates/index.php:65
+#: js/files.js:857 templates/index.php:64
msgid "Name"
msgstr "Navn"
-#: js/files.js:786 templates/index.php:76
+#: js/files.js:858 templates/index.php:75
msgid "Size"
msgstr "Størrelse"
-#: js/files.js:787 templates/index.php:78
+#: js/files.js:859 templates/index.php:77
msgid "Modified"
msgstr "Endret"
-#: js/files.js:814
+#: js/files.js:878
msgid "1 folder"
msgstr "1 mappe"
-#: js/files.js:816
+#: js/files.js:880
msgid "{count} folders"
msgstr "{count} mapper"
-#: js/files.js:824
+#: js/files.js:888
msgid "1 file"
msgstr "1 fil"
-#: js/files.js:826
+#: js/files.js:890
msgid "{count} files"
msgstr "{count} filer"
@@ -199,27 +245,27 @@ msgstr "Filhåndtering"
msgid "Maximum upload size"
msgstr "Maksimum opplastingsstørrelse"
-#: templates/admin.php:9
+#: templates/admin.php:10
msgid "max. possible: "
msgstr "max. mulige:"
-#: templates/admin.php:12
+#: templates/admin.php:15
msgid "Needed for multi-file and folder downloads."
msgstr "Nødvendig for å laste ned mapper og mer enn én fil om gangen."
-#: templates/admin.php:14
+#: templates/admin.php:17
msgid "Enable ZIP-download"
msgstr "Aktiver nedlasting av ZIP"
-#: templates/admin.php:17
+#: templates/admin.php:20
msgid "0 is unlimited"
msgstr "0 er ubegrenset"
-#: templates/admin.php:19
+#: templates/admin.php:22
msgid "Maximum input size for ZIP files"
msgstr "Maksimal størrelse på ZIP-filer"
-#: templates/admin.php:23
+#: templates/admin.php:26
msgid "Save"
msgstr "Lagre"
@@ -237,38 +283,34 @@ msgstr "Mappe"
#: templates/index.php:14
msgid "From link"
-msgstr ""
-
-#: templates/index.php:35
-msgid "Upload"
-msgstr "Last opp"
+msgstr "Fra link"
-#: templates/index.php:43
+#: templates/index.php:41
msgid "Cancel upload"
msgstr "Avbryt opplasting"
-#: templates/index.php:57
+#: templates/index.php:56
msgid "Nothing in here. Upload something!"
msgstr "Ingenting her. Last opp noe!"
-#: templates/index.php:71
+#: templates/index.php:70
msgid "Download"
msgstr "Last ned"
-#: templates/index.php:103
+#: templates/index.php:102
msgid "Upload too large"
msgstr "Opplasting for stor"
-#: templates/index.php:105
+#: templates/index.php:104
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:110
+#: templates/index.php:109
msgid "Files are being scanned, please wait."
msgstr "Skanner etter filer, vennligst vent."
-#: templates/index.php:113
+#: templates/index.php:112
msgid "Current scanning"
msgstr "Pågående skanning"
diff --git a/l10n/nb_NO/files_encryption.po b/l10n/nb_NO/files_encryption.po
index a74d1bacc7e..5e2f1a4cf99 100644
--- a/l10n/nb_NO/files_encryption.po
+++ b/l10n/nb_NO/files_encryption.po
@@ -8,28 +8,76 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-08-24 02:02+0200\n"
-"PO-Revision-Date: 2012-08-23 17:13+0000\n"
-"Last-Translator: Arvid Nornes <arvid.nornes@gmail.com>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+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"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: nb_NO\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "Kryptering"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "Ekskluder følgende filer fra kryptering"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "Ingen"
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "Slå på kryptering"
diff --git a/l10n/nb_NO/files_versions.po b/l10n/nb_NO/files_versions.po
index bd8d0fed59e..38f8fbe36fe 100644
--- a/l10n/nb_NO/files_versions.po
+++ b/l10n/nb_NO/files_versions.po
@@ -9,9 +9,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-10-31 00:01+0100\n"
-"PO-Revision-Date: 2012-10-30 12:48+0000\n"
-"Last-Translator: hdalgrav <hdalgrav@gmail.com>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -19,22 +19,10 @@ msgstr ""
"Language: nb_NO\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: js/settings-personal.js:31 templates/settings-personal.php:10
-msgid "Expire all versions"
-msgstr ""
-
#: js/versions.js:16
msgid "History"
msgstr "Historie"
-#: templates/settings-personal.php:4
-msgid "Versions"
-msgstr "Versjoner"
-
-#: templates/settings-personal.php:7
-msgid "This will delete all existing backup versions of your files"
-msgstr "Dette vil slette alle tidligere versjoner av alle filene dine"
-
#: templates/settings.php:3
msgid "Files Versioning"
msgstr "Fil versjonering"
diff --git a/l10n/nb_NO/lib.po b/l10n/nb_NO/lib.po
index 266ba36b069..4de87004856 100644
--- a/l10n/nb_NO/lib.po
+++ b/l10n/nb_NO/lib.po
@@ -4,6 +4,7 @@
#
# Translators:
# Arvid Nornes <arvid.nornes@gmail.com>, 2012.
+# <espenbye@me.com>, 2012.
# <hdalgrav@gmail.com>, 2012.
# <runesudden@gmail.com>, 2012.
# <sindre@haverstad.com>, 2012.
@@ -11,8 +12,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-11-16 00:02+0100\n"
-"PO-Revision-Date: 2012-11-14 23:13+0000\n"
+"POT-Creation-Date: 2013-01-17 00:26+0100\n"
+"PO-Revision-Date: 2013-01-16 23:26+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"
@@ -21,51 +22,55 @@ msgstr ""
"Language: nb_NO\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: app.php:285
+#: app.php:301
msgid "Help"
msgstr "Hjelp"
-#: app.php:292
+#: app.php:308
msgid "Personal"
msgstr "Personlig"
-#: app.php:297
+#: app.php:313
msgid "Settings"
msgstr "Innstillinger"
-#: app.php:302
+#: app.php:318
msgid "Users"
msgstr "Brukere"
-#: app.php:309
+#: app.php:325
msgid "Apps"
msgstr "Apper"
-#: app.php:311
+#: app.php:327
msgid "Admin"
msgstr "Admin"
-#: files.php:332
+#: files.php:365
msgid "ZIP download is turned off."
msgstr "ZIP-nedlasting av avslått"
-#: files.php:333
+#: files.php:366
msgid "Files need to be downloaded one by one."
msgstr "Filene må lastes ned en om gangen"
-#: files.php:333 files.php:358
+#: files.php:366 files.php:391
msgid "Back to Files"
msgstr "Tilbake til filer"
-#: files.php:357
+#: files.php:390
msgid "Selected files too large to generate zip file."
msgstr "De valgte filene er for store til å kunne generere ZIP-fil"
+#: helper.php:228
+msgid "couldn't be determined"
+msgstr ""
+
#: json.php:28
msgid "Application is not enabled"
msgstr "Applikasjon er ikke påslått"
-#: json.php:39 json.php:64 json.php:77 json.php:89
+#: json.php:39 json.php:62 json.php:73
msgid "Authentication error"
msgstr "Autentiseringsfeil"
@@ -85,55 +90,55 @@ msgstr "Tekst"
msgid "Images"
msgstr "Bilder"
-#: template.php:103
+#: template.php:113
msgid "seconds ago"
msgstr "sekunder siden"
-#: template.php:104
+#: template.php:114
msgid "1 minute ago"
-msgstr "1 minuitt siden"
+msgstr "1 minutt siden"
-#: template.php:105
+#: template.php:115
#, php-format
msgid "%d minutes ago"
msgstr "%d minutter siden"
-#: template.php:106
+#: template.php:116
msgid "1 hour ago"
-msgstr ""
+msgstr "1 time siden"
-#: template.php:107
+#: template.php:117
#, php-format
msgid "%d hours ago"
-msgstr ""
+msgstr "%d timer siden"
-#: template.php:108
+#: template.php:118
msgid "today"
msgstr "i dag"
-#: template.php:109
+#: template.php:119
msgid "yesterday"
msgstr "i går"
-#: template.php:110
+#: template.php:120
#, php-format
msgid "%d days ago"
msgstr "%d dager siden"
-#: template.php:111
+#: template.php:121
msgid "last month"
msgstr "forrige måned"
-#: template.php:112
+#: template.php:122
#, php-format
msgid "%d months ago"
-msgstr ""
+msgstr "%d måneder siden"
-#: template.php:113
+#: template.php:123
msgid "last year"
msgstr "i fjor"
-#: template.php:114
+#: template.php:124
msgid "years ago"
msgstr "Ã¥r siden"
@@ -153,4 +158,4 @@ msgstr "versjonssjekk er avslått"
#: vcategories.php:188 vcategories.php:249
#, php-format
msgid "Could not find category \"%s\""
-msgstr ""
+msgstr "Kunne ikke finne kategori \"%s\""
diff --git a/l10n/nb_NO/settings.po b/l10n/nb_NO/settings.po
index 96e64f4b1a8..90871dc3820 100644
--- a/l10n/nb_NO/settings.po
+++ b/l10n/nb_NO/settings.po
@@ -7,6 +7,7 @@
# Arvid Nornes <arvid.nornes@gmail.com>, 2012.
# Christer Eriksson <post@hc3web.com>, 2012.
# Daniel <i18n@daniel.priv.no>, 2012.
+# <espenbye@me.com>, 2012.
# <hdalgrav@gmail.com>, 2012.
# <itssmail@yahoo.no>, 2012.
# <runesudden@gmail.com>, 2012.
@@ -14,8 +15,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-21 00:10+0100\n"
-"PO-Revision-Date: 2012-12-19 23:20+0000\n"
+"POT-Creation-Date: 2013-01-12 00:09+0100\n"
+"PO-Revision-Date: 2013-01-11 23:09+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"
@@ -36,7 +37,7 @@ msgstr "Gruppen finnes allerede"
msgid "Unable to add group"
msgstr "Kan ikke legge til gruppe"
-#: ajax/enableapp.php:12
+#: ajax/enableapp.php:11
msgid "Could not enable app. "
msgstr "Kan ikke aktivere app."
@@ -48,14 +49,6 @@ msgstr "Epost lagret"
msgid "Invalid email"
msgstr "Ugyldig epost"
-#: ajax/openid.php:13
-msgid "OpenID Changed"
-msgstr "OpenID endret"
-
-#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20
-msgid "Invalid request"
-msgstr "Ugyldig forespørsel"
-
#: ajax/removegroup.php:13
msgid "Unable to delete group"
msgstr "Kan ikke slette gruppe"
@@ -72,6 +65,10 @@ msgstr "Kan ikke slette bruker"
msgid "Language changed"
msgstr "Språk endret"
+#: ajax/setlanguage.php:17 ajax/setlanguage.php:20
+msgid "Invalid request"
+msgstr "Ugyldig forespørsel"
+
#: ajax/togglegroups.php:12
msgid "Admins can't remove themself from the admin group"
msgstr ""
@@ -124,11 +121,11 @@ msgstr ""
#: templates/help.php:3
msgid "User Documentation"
-msgstr ""
+msgstr "Brukerdokumentasjon"
#: templates/help.php:4
msgid "Administrator Documentation"
-msgstr ""
+msgstr "Administratordokumentasjon"
#: templates/help.php:6
msgid "Online Documentation"
@@ -144,12 +141,12 @@ msgstr ""
#: templates/help.php:11
msgid "Commercial Support"
-msgstr ""
+msgstr "Kommersiell støtte"
#: templates/personal.php:8
#, php-format
msgid "You have used <strong>%s</strong> of the available <strong>%s</strong>"
-msgstr ""
+msgstr "Du har brukt <strong>%s</strong> av tilgjengelig <strong>%s</strong>"
#: templates/personal.php:12
msgid "Clients"
@@ -157,17 +154,17 @@ msgstr "Klienter"
#: templates/personal.php:13
msgid "Download Desktop Clients"
-msgstr ""
+msgstr "Last ned skrivebordsklienter"
#: templates/personal.php:14
msgid "Download Android Client"
-msgstr ""
+msgstr "Last ned Android-klient"
#: templates/personal.php:15
msgid "Download iOS Client"
-msgstr ""
+msgstr "Last ned iOS-klient"
-#: templates/personal.php:21 templates/users.php:23 templates/users.php:77
+#: templates/personal.php:21 templates/users.php:23 templates/users.php:82
msgid "Password"
msgstr "Passord"
@@ -217,7 +214,7 @@ msgstr "Bidra til oversettelsen"
#: templates/personal.php:52
msgid "WebDAV"
-msgstr ""
+msgstr "WebDAV"
#: templates/personal.php:54
msgid "Use this address to connect to your ownCloud in your file manager"
@@ -225,7 +222,7 @@ msgstr ""
#: templates/personal.php:63
msgid "Version"
-msgstr ""
+msgstr "Versjon"
#: templates/personal.php:65
msgid ""
@@ -237,11 +234,11 @@ msgid ""
"License\">AGPL</abbr></a>."
msgstr ""
-#: templates/users.php:21 templates/users.php:76
+#: templates/users.php:21 templates/users.php:81
msgid "Name"
msgstr "Navn"
-#: templates/users.php:26 templates/users.php:78 templates/users.php:98
+#: templates/users.php:26 templates/users.php:83 templates/users.php:103
msgid "Groups"
msgstr "Grupper"
@@ -250,21 +247,29 @@ msgid "Create"
msgstr "Opprett"
#: templates/users.php:35
-msgid "Default Quota"
-msgstr "Standard Kvote"
+msgid "Default Storage"
+msgstr ""
-#: templates/users.php:55 templates/users.php:138
+#: templates/users.php:42 templates/users.php:138
+msgid "Unlimited"
+msgstr ""
+
+#: templates/users.php:60 templates/users.php:153
msgid "Other"
msgstr "Annet"
-#: templates/users.php:80 templates/users.php:112
+#: templates/users.php:85 templates/users.php:117
msgid "Group Admin"
msgstr "Gruppeadministrator"
-#: templates/users.php:82
-msgid "Quota"
-msgstr "Kvote"
+#: templates/users.php:87
+msgid "Storage"
+msgstr ""
+
+#: templates/users.php:133
+msgid "Default"
+msgstr ""
-#: templates/users.php:146
+#: templates/users.php:161
msgid "Delete"
msgstr "Slett"
diff --git a/l10n/nb_NO/user_ldap.po b/l10n/nb_NO/user_ldap.po
index b415afa31aa..b7660396ac4 100644
--- a/l10n/nb_NO/user_ldap.po
+++ b/l10n/nb_NO/user_ldap.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-15 00:11+0100\n"
-"PO-Revision-Date: 2012-12-14 23:11+0000\n"
+"POT-Creation-Date: 2013-01-16 00:19+0100\n"
+"PO-Revision-Date: 2013-01-15 23:20+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"
@@ -27,8 +27,8 @@ msgstr ""
#: templates/settings.php:11
msgid ""
-"<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will"
-" not work. Please ask your system administrator to install it."
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not "
+"work. Please ask your system administrator to install it."
msgstr ""
#: templates/settings.php:15
@@ -45,6 +45,10 @@ msgid "Base DN"
msgstr ""
#: templates/settings.php:16
+msgid "One Base DN per line"
+msgstr ""
+
+#: templates/settings.php:16
msgid "You can specify Base DN for users and groups in the Advanced tab"
msgstr ""
@@ -115,10 +119,18 @@ msgstr "Port"
msgid "Base User Tree"
msgstr ""
+#: templates/settings.php:25
+msgid "One User Base DN per line"
+msgstr ""
+
#: templates/settings.php:26
msgid "Base Group Tree"
msgstr ""
+#: templates/settings.php:26
+msgid "One Group Base DN per line"
+msgstr ""
+
#: templates/settings.php:27
msgid "Group-Member association"
msgstr ""
diff --git a/l10n/nb_NO/user_webdavauth.po b/l10n/nb_NO/user_webdavauth.po
index c3f368c7777..915d27dae8f 100644
--- a/l10n/nb_NO/user_webdavauth.po
+++ b/l10n/nb_NO/user_webdavauth.po
@@ -3,12 +3,13 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# <espenbye@me.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-20 00:11+0100\n"
-"PO-Revision-Date: 2012-12-19 23:12+0000\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+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"
@@ -17,13 +18,17 @@ msgstr ""
"Language: nb_NO\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+#: templates/settings.php:3
+msgid "WebDAV Authentication"
+msgstr ""
+
#: templates/settings.php:4
msgid "URL: http://"
-msgstr ""
+msgstr "URL: http://"
#: templates/settings.php:6
msgid ""
-"ownCloud will send the user credentials to this URL is interpret http 401 "
-"and http 403 as credentials wrong and all other codes as credentials "
-"correct."
+"ownCloud will send the user credentials to this URL. 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 ""
diff --git a/l10n/nl/core.po b/l10n/nl/core.po
index 322c4e3bbf4..bc83b48cd57 100644
--- a/l10n/nl/core.po
+++ b/l10n/nl/core.po
@@ -3,7 +3,7 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
-# André Koot <meneer@tken.net>, 2012.
+# André Koot <meneer@tken.net>, 2012-2013.
# <bart.formosus@gmail.com>, 2011.
# <didi.debian@cknow.org>, 2012.
# Erik Bent <hj.bent.60@gmail.com>, 2012.
@@ -21,9 +21,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-21 00:10+0100\n"
-"PO-Revision-Date: 2012-12-20 17:28+0000\n"
-"Last-Translator: André Koot <meneer@tken.net>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:03+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -97,55 +97,55 @@ msgstr "Verwijderen %s van favorieten is mislukt."
msgid "Settings"
msgstr "Instellingen"
-#: js/js.js:704
+#: js/js.js:711
msgid "seconds ago"
msgstr "seconden geleden"
-#: js/js.js:705
+#: js/js.js:712
msgid "1 minute ago"
msgstr "1 minuut geleden"
-#: js/js.js:706
+#: js/js.js:713
msgid "{minutes} minutes ago"
msgstr "{minutes} minuten geleden"
-#: js/js.js:707
+#: js/js.js:714
msgid "1 hour ago"
msgstr "1 uur geleden"
-#: js/js.js:708
+#: js/js.js:715
msgid "{hours} hours ago"
msgstr "{hours} uren geleden"
-#: js/js.js:709
+#: js/js.js:716
msgid "today"
msgstr "vandaag"
-#: js/js.js:710
+#: js/js.js:717
msgid "yesterday"
msgstr "gisteren"
-#: js/js.js:711
+#: js/js.js:718
msgid "{days} days ago"
msgstr "{days} dagen geleden"
-#: js/js.js:712
+#: js/js.js:719
msgid "last month"
msgstr "vorige maand"
-#: js/js.js:713
+#: js/js.js:720
msgid "{months} months ago"
msgstr "{months} maanden geleden"
-#: js/js.js:714
+#: js/js.js:721
msgid "months ago"
msgstr "maanden geleden"
-#: js/js.js:715
+#: js/js.js:722
msgid "last year"
msgstr "vorig jaar"
-#: js/js.js:716
+#: js/js.js:723
msgid "years ago"
msgstr "jaar geleden"
@@ -221,7 +221,6 @@ msgid "Password protect"
msgstr "Wachtwoord beveiliging"
#: js/share.js:168 templates/installation.php:44 templates/login.php:35
-#: templates/verify.php:13
msgid "Password"
msgstr "Wachtwoord"
@@ -566,10 +565,6 @@ msgstr "onthoud gegevens"
msgid "Log in"
msgstr "Meld je aan"
-#: templates/logout.php:1
-msgid "You are logged out."
-msgstr "U bent afgemeld."
-
#: templates/part.pagenavi.php:3
msgid "prev"
msgstr "vorige"
@@ -578,16 +573,7 @@ msgstr "vorige"
msgid "next"
msgstr "volgende"
-#: templates/verify.php:5
-msgid "Security Warning!"
-msgstr "Beveiligingswaarschuwing!"
-
-#: templates/verify.php:6
-msgid ""
-"Please verify your password. <br/>For security reasons you may be "
-"occasionally asked to enter your password again."
-msgstr "Verifieer uw wachtwoord!<br/>Om veiligheidsredenen wordt u regelmatig gevraagd uw wachtwoord in te geven."
-
-#: templates/verify.php:16
-msgid "Verify"
-msgstr "Verifieer"
+#: templates/update.php:3
+#, php-format
+msgid "Updating ownCloud to version %s, this may take a while."
+msgstr "Updaten ownCloud naar versie %s, dit kan even duren."
diff --git a/l10n/nl/files.po b/l10n/nl/files.po
index bb78a69078c..5482d64d4e4 100644
--- a/l10n/nl/files.po
+++ b/l10n/nl/files.po
@@ -3,7 +3,7 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
-# André Koot <meneer@tken.net>, 2012.
+# André Koot <meneer@tken.net>, 2012-2013.
# <bart.formosus@gmail.com>, 2011.
# <bartv@thisnet.nl>, 2011.
# <didi.debian@cknow.org>, 2012.
@@ -14,13 +14,14 @@
# <lenny@weijl.org>, 2012.
# <pietje8501@gmail.com>, 2012.
# Richard Bos <radoeka@gmail.com>, 2012.
+# Wilfred Dijksman <info@wdijksman.nl>, 2013.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-04 00:06+0100\n"
-"PO-Revision-Date: 2012-12-03 09:15+0000\n"
-"Last-Translator: Len <lenny@weijl.org>\n"
+"POT-Creation-Date: 2013-01-21 00:04+0100\n"
+"PO-Revision-Date: 2013-01-20 17:55+0000\n"
+"Last-Translator: Wilfred Dijksman <info@wdijksman.nl>\n"
"Language-Team: Dutch (http://www.transifex.com/projects/p/owncloud/language/nl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -28,46 +29,77 @@ msgstr ""
"Language: nl\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+#: ajax/delete.php:28 ajax/getstoragestats.php:11 ajax/upload.php:17
+#: ajax/upload.php:76 templates/index.php:18
+msgid "Upload"
+msgstr "Upload"
+
+#: ajax/move.php:17
+#, php-format
+msgid "Could not move %s - File with this name already exists"
+msgstr "Kon %s niet verplaatsen - Er bestaat al een bestand met deze naam"
+
+#: ajax/move.php:24
+#, php-format
+msgid "Could not move %s"
+msgstr "Kon %s niet verplaatsen"
+
+#: ajax/rename.php:19
+msgid "Unable to rename file"
+msgstr "Kan bestand niet hernoemen"
+
#: ajax/upload.php:20
+msgid "No file was uploaded. Unknown error"
+msgstr "Er was geen bestand geladen. Onbekende fout"
+
+#: ajax/upload.php:30
msgid "There is no error, the file uploaded with success"
msgstr "Geen fout opgetreden, bestand successvol geupload."
-#: ajax/upload.php:21
+#: ajax/upload.php:31
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr "Het geüploade bestand overscheidt de upload_max_filesize optie in php.ini:"
-#: ajax/upload.php:23
+#: ajax/upload.php:33
msgid ""
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
"the HTML form"
msgstr "Het geüploade bestand is groter dan de MAX_FILE_SIZE richtlijn die is opgegeven in de HTML-formulier"
-#: ajax/upload.php:25
+#: ajax/upload.php:35
msgid "The uploaded file was only partially uploaded"
msgstr "Het bestand is slechts gedeeltelijk geupload"
-#: ajax/upload.php:26
+#: ajax/upload.php:36
msgid "No file was uploaded"
msgstr "Geen bestand geüpload"
-#: ajax/upload.php:27
+#: ajax/upload.php:37
msgid "Missing a temporary folder"
msgstr "Een tijdelijke map mist"
-#: ajax/upload.php:28
+#: ajax/upload.php:38
msgid "Failed to write to disk"
msgstr "Schrijven naar schijf mislukt"
+#: ajax/upload.php:57
+msgid "Not enough space available"
+msgstr "Niet genoeg ruimte beschikbaar"
+
+#: ajax/upload.php:91
+msgid "Invalid directory."
+msgstr "Ongeldige directory."
+
#: appinfo/app.php:10
msgid "Files"
msgstr "Bestanden"
-#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84
+#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
msgid "Unshare"
msgstr "Stop delen"
-#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90
+#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
msgid "Delete"
msgstr "Verwijder"
@@ -75,122 +107,136 @@ msgstr "Verwijder"
msgid "Rename"
msgstr "Hernoem"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "{new_name} already exists"
msgstr "{new_name} bestaat al"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "replace"
msgstr "vervang"
-#: js/filelist.js:201
+#: js/filelist.js:205
msgid "suggest name"
msgstr "Stel een naam voor"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "cancel"
msgstr "annuleren"
-#: js/filelist.js:250
+#: js/filelist.js:254
msgid "replaced {new_name}"
msgstr "verving {new_name}"
-#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286
+#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
msgid "undo"
msgstr "ongedaan maken"
-#: js/filelist.js:252
+#: js/filelist.js:256
msgid "replaced {new_name} with {old_name}"
msgstr "verving {new_name} met {old_name}"
-#: js/filelist.js:284
+#: js/filelist.js:288
msgid "unshared {files}"
msgstr "delen gestopt {files}"
-#: js/filelist.js:286
+#: js/filelist.js:290
msgid "deleted {files}"
msgstr "verwijderde {files}"
-#: js/files.js:33
+#: js/files.js:48
+msgid "'.' is an invalid file name."
+msgstr "'.' is een ongeldige bestandsnaam."
+
+#: js/files.js:53
+msgid "File name cannot be empty."
+msgstr "Bestandsnaam kan niet leeg zijn."
+
+#: js/files.js:62
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr "Onjuiste naam; '\\', '/', '<', '>', ':', '\"', '|', '?' en '*' zijn niet toegestaan."
-#: js/files.js:183
-msgid "generating ZIP-file, it may take some time."
-msgstr "aanmaken ZIP-file, dit kan enige tijd duren."
+#: js/files.js:204
+msgid ""
+"Your download is being prepared. This might take some time if the files are "
+"big."
+msgstr "Uw download wordt voorbereid. Dit kan enige tijd duren bij grote bestanden."
-#: js/files.js:218
+#: js/files.js:242
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr "uploaden van de file mislukt, het is of een directory of de bestandsgrootte is 0 bytes"
-#: js/files.js:218
+#: js/files.js:242
msgid "Upload Error"
msgstr "Upload Fout"
-#: js/files.js:235
+#: js/files.js:259
msgid "Close"
msgstr "Sluit"
-#: js/files.js:254 js/files.js:368 js/files.js:398
+#: js/files.js:278 js/files.js:397 js/files.js:431
msgid "Pending"
msgstr "Wachten"
-#: js/files.js:274
+#: js/files.js:298
msgid "1 file uploading"
msgstr "1 bestand wordt ge-upload"
-#: js/files.js:277 js/files.js:331 js/files.js:346
+#: js/files.js:301 js/files.js:357 js/files.js:372
msgid "{count} files uploading"
msgstr "{count} bestanden aan het uploaden"
-#: js/files.js:349 js/files.js:382
+#: js/files.js:376 js/files.js:414
msgid "Upload cancelled."
msgstr "Uploaden geannuleerd."
-#: js/files.js:451
+#: js/files.js:486
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr "Bestandsupload is bezig. Wanneer de pagina nu verlaten wordt, stopt de upload."
-#: js/files.js:523
-msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud"
-msgstr "Folder naam niet toegestaan. Het gebruik van \"Shared\" is aan Owncloud voorbehouden"
+#: js/files.js:559
+msgid "URL cannot be empty."
+msgstr "URL kan niet leeg zijn."
-#: js/files.js:704
+#: js/files.js:565
+msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
+msgstr "Ongeldige mapnaam. Gebruik van'Gedeeld' is voorbehouden aan Owncloud"
+
+#: js/files.js:775
msgid "{count} files scanned"
msgstr "{count} bestanden gescanned"
-#: js/files.js:712
+#: js/files.js:783
msgid "error while scanning"
msgstr "Fout tijdens het scannen"
-#: js/files.js:785 templates/index.php:65
+#: js/files.js:857 templates/index.php:64
msgid "Name"
msgstr "Naam"
-#: js/files.js:786 templates/index.php:76
+#: js/files.js:858 templates/index.php:75
msgid "Size"
msgstr "Bestandsgrootte"
-#: js/files.js:787 templates/index.php:78
+#: js/files.js:859 templates/index.php:77
msgid "Modified"
msgstr "Laatst aangepast"
-#: js/files.js:814
+#: js/files.js:878
msgid "1 folder"
msgstr "1 map"
-#: js/files.js:816
+#: js/files.js:880
msgid "{count} folders"
msgstr "{count} mappen"
-#: js/files.js:824
+#: js/files.js:888
msgid "1 file"
msgstr "1 bestand"
-#: js/files.js:826
+#: js/files.js:890
msgid "{count} files"
msgstr "{count} bestanden"
@@ -202,27 +248,27 @@ msgstr "Bestand"
msgid "Maximum upload size"
msgstr "Maximale bestandsgrootte voor uploads"
-#: templates/admin.php:9
+#: templates/admin.php:10
msgid "max. possible: "
msgstr "max. mogelijk: "
-#: templates/admin.php:12
+#: templates/admin.php:15
msgid "Needed for multi-file and folder downloads."
msgstr "Nodig voor meerdere bestanden en mappen downloads."
-#: templates/admin.php:14
+#: templates/admin.php:17
msgid "Enable ZIP-download"
msgstr "Zet ZIP-download aan"
-#: templates/admin.php:17
+#: templates/admin.php:20
msgid "0 is unlimited"
msgstr "0 is ongelimiteerd"
-#: templates/admin.php:19
+#: templates/admin.php:22
msgid "Maximum input size for ZIP files"
msgstr "Maximale grootte voor ZIP bestanden"
-#: templates/admin.php:23
+#: templates/admin.php:26
msgid "Save"
msgstr "Opslaan"
@@ -242,36 +288,32 @@ msgstr "Map"
msgid "From link"
msgstr "Vanaf link"
-#: templates/index.php:35
-msgid "Upload"
-msgstr "Upload"
-
-#: templates/index.php:43
+#: templates/index.php:41
msgid "Cancel upload"
msgstr "Upload afbreken"
-#: templates/index.php:57
+#: templates/index.php:56
msgid "Nothing in here. Upload something!"
msgstr "Er bevindt zich hier niets. Upload een bestand!"
-#: templates/index.php:71
+#: templates/index.php:70
msgid "Download"
msgstr "Download"
-#: templates/index.php:103
+#: templates/index.php:102
msgid "Upload too large"
msgstr "Bestanden te groot"
-#: templates/index.php:105
+#: templates/index.php:104
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:110
+#: templates/index.php:109
msgid "Files are being scanned, please wait."
msgstr "Bestanden worden gescand, even wachten."
-#: templates/index.php:113
+#: templates/index.php:112
msgid "Current scanning"
msgstr "Er wordt gescand"
diff --git a/l10n/nl/files_encryption.po b/l10n/nl/files_encryption.po
index bd80bdcae78..b1ef07dc13e 100644
--- a/l10n/nl/files_encryption.po
+++ b/l10n/nl/files_encryption.po
@@ -8,28 +8,76 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-08-25 02:04+0200\n"
-"PO-Revision-Date: 2012-08-24 19:11+0000\n"
-"Last-Translator: Richard Bos <radoeka@gmail.com>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+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"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: nl\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "Versleuteling"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "Versleutel de volgende bestand types niet"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "Geen"
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "Zet versleuteling aan"
diff --git a/l10n/nl/files_versions.po b/l10n/nl/files_versions.po
index 0328e198c57..95169bacce0 100644
--- a/l10n/nl/files_versions.po
+++ b/l10n/nl/files_versions.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-10-28 00:01+0200\n"
-"PO-Revision-Date: 2012-10-27 08:43+0000\n"
-"Last-Translator: Richard Bos <radoeka@gmail.com>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,22 +18,10 @@ msgstr ""
"Language: nl\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: js/settings-personal.js:31 templates/settings-personal.php:10
-msgid "Expire all versions"
-msgstr "Alle versies laten verlopen"
-
#: js/versions.js:16
msgid "History"
msgstr "Geschiedenis"
-#: templates/settings-personal.php:4
-msgid "Versions"
-msgstr "Versies"
-
-#: templates/settings-personal.php:7
-msgid "This will delete all existing backup versions of your files"
-msgstr "Dit zal alle bestaande backup versies van uw bestanden verwijderen"
-
#: templates/settings.php:3
msgid "Files Versioning"
msgstr "Bestand versies"
diff --git a/l10n/nl/lib.po b/l10n/nl/lib.po
index f8ebea3c492..2ae038b9e40 100644
--- a/l10n/nl/lib.po
+++ b/l10n/nl/lib.po
@@ -3,6 +3,7 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# André Koot <meneer@tken.net>, 2013.
# <lenny@weijl.org>, 2012.
# Richard Bos <radoeka@gmail.com>, 2012.
# <transifex@thisnet.nl>, 2012.
@@ -10,9 +11,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-11-17 00:01+0100\n"
-"PO-Revision-Date: 2012-11-16 05:45+0000\n"
-"Last-Translator: Len <lenny@weijl.org>\n"
+"POT-Creation-Date: 2013-01-19 00:04+0100\n"
+"PO-Revision-Date: 2013-01-18 09:03+0000\n"
+"Last-Translator: André Koot <meneer@tken.net>\n"
"Language-Team: Dutch (http://www.transifex.com/projects/p/owncloud/language/nl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -20,51 +21,55 @@ msgstr ""
"Language: nl\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: app.php:285
+#: app.php:301
msgid "Help"
msgstr "Help"
-#: app.php:292
+#: app.php:308
msgid "Personal"
msgstr "Persoonlijk"
-#: app.php:297
+#: app.php:313
msgid "Settings"
msgstr "Instellingen"
-#: app.php:302
+#: app.php:318
msgid "Users"
msgstr "Gebruikers"
-#: app.php:309
+#: app.php:325
msgid "Apps"
msgstr "Apps"
-#: app.php:311
+#: app.php:327
msgid "Admin"
msgstr "Beheerder"
-#: files.php:332
+#: files.php:365
msgid "ZIP download is turned off."
msgstr "ZIP download is uitgeschakeld."
-#: files.php:333
+#: files.php:366
msgid "Files need to be downloaded one by one."
msgstr "Bestanden moeten één voor één worden gedownload."
-#: files.php:333 files.php:358
+#: files.php:366 files.php:391
msgid "Back to Files"
msgstr "Terug naar bestanden"
-#: files.php:357
+#: files.php:390
msgid "Selected files too large to generate zip file."
msgstr "De geselecteerde bestanden zijn te groot om een zip bestand te maken."
+#: helper.php:228
+msgid "couldn't be determined"
+msgstr "kon niet worden vastgesteld"
+
#: json.php:28
msgid "Application is not enabled"
msgstr "De applicatie is niet actief"
-#: json.php:39 json.php:64 json.php:77 json.php:89
+#: json.php:39 json.php:62 json.php:73
msgid "Authentication error"
msgstr "Authenticatie fout"
@@ -84,55 +89,55 @@ msgstr "Tekst"
msgid "Images"
msgstr "Afbeeldingen"
-#: template.php:103
+#: template.php:113
msgid "seconds ago"
msgstr "seconden geleden"
-#: template.php:104
+#: template.php:114
msgid "1 minute ago"
msgstr "1 minuut geleden"
-#: template.php:105
+#: template.php:115
#, php-format
msgid "%d minutes ago"
msgstr "%d minuten geleden"
-#: template.php:106
+#: template.php:116
msgid "1 hour ago"
msgstr "1 uur geleden"
-#: template.php:107
+#: template.php:117
#, php-format
msgid "%d hours ago"
msgstr "%d uren geleden"
-#: template.php:108
+#: template.php:118
msgid "today"
msgstr "vandaag"
-#: template.php:109
+#: template.php:119
msgid "yesterday"
msgstr "gisteren"
-#: template.php:110
+#: template.php:120
#, php-format
msgid "%d days ago"
msgstr "%d dagen geleden"
-#: template.php:111
+#: template.php:121
msgid "last month"
msgstr "vorige maand"
-#: template.php:112
+#: template.php:122
#, php-format
msgid "%d months ago"
msgstr "%d maanden geleden"
-#: template.php:113
+#: template.php:123
msgid "last year"
msgstr "vorig jaar"
-#: template.php:114
+#: template.php:124
msgid "years ago"
msgstr "jaar geleden"
diff --git a/l10n/nl/settings.po b/l10n/nl/settings.po
index 52bcdb4ed53..792081672ed 100644
--- a/l10n/nl/settings.po
+++ b/l10n/nl/settings.po
@@ -3,7 +3,7 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
-# André Koot <meneer@tken.net>, 2012.
+# André Koot <meneer@tken.net>, 2012-2013.
# <bart.formosus@gmail.com>, 2011.
# <bramdv@me.com>, 2012.
# <didi.debian@cknow.org>, 2012.
@@ -18,9 +18,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-21 00:10+0100\n"
-"PO-Revision-Date: 2012-12-20 17:37+0000\n"
-"Last-Translator: André Koot <meneer@tken.net>\n"
+"POT-Creation-Date: 2013-01-12 00:09+0100\n"
+"PO-Revision-Date: 2013-01-11 23:09+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -40,7 +40,7 @@ msgstr "Groep bestaat al"
msgid "Unable to add group"
msgstr "Niet in staat om groep toe te voegen"
-#: ajax/enableapp.php:12
+#: ajax/enableapp.php:11
msgid "Could not enable app. "
msgstr "Kan de app. niet activeren"
@@ -52,14 +52,6 @@ msgstr "E-mail bewaard"
msgid "Invalid email"
msgstr "Ongeldige e-mail"
-#: ajax/openid.php:13
-msgid "OpenID Changed"
-msgstr "OpenID is aangepast"
-
-#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20
-msgid "Invalid request"
-msgstr "Ongeldig verzoek"
-
#: ajax/removegroup.php:13
msgid "Unable to delete group"
msgstr "Niet in staat om groep te verwijderen"
@@ -76,6 +68,10 @@ msgstr "Niet in staat om gebruiker te verwijderen"
msgid "Language changed"
msgstr "Taal aangepast"
+#: ajax/setlanguage.php:17 ajax/setlanguage.php:20
+msgid "Invalid request"
+msgstr "Ongeldig verzoek"
+
#: ajax/togglegroups.php:12
msgid "Admins can't remove themself from the admin group"
msgstr "Admins kunnen zichzelf niet uit de admin groep verwijderen"
@@ -171,7 +167,7 @@ msgstr "Download Android Client"
msgid "Download iOS Client"
msgstr "Download iOS Client"
-#: templates/personal.php:21 templates/users.php:23 templates/users.php:77
+#: templates/personal.php:21 templates/users.php:23 templates/users.php:82
msgid "Password"
msgstr "Wachtwoord"
@@ -241,11 +237,11 @@ msgid ""
"License\">AGPL</abbr></a>."
msgstr "Ontwikkeld door de <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud gemeenschap</a>, de <a href=\"https://github.com/owncloud\" target=\"_blank\">bron code</a> is gelicenseerd onder de <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>."
-#: templates/users.php:21 templates/users.php:76
+#: templates/users.php:21 templates/users.php:81
msgid "Name"
msgstr "Naam"
-#: templates/users.php:26 templates/users.php:78 templates/users.php:98
+#: templates/users.php:26 templates/users.php:83 templates/users.php:103
msgid "Groups"
msgstr "Groepen"
@@ -254,21 +250,29 @@ msgid "Create"
msgstr "Creëer"
#: templates/users.php:35
-msgid "Default Quota"
-msgstr "Standaard limiet"
+msgid "Default Storage"
+msgstr "Default opslag"
-#: templates/users.php:55 templates/users.php:138
+#: templates/users.php:42 templates/users.php:138
+msgid "Unlimited"
+msgstr "Ongelimiteerd"
+
+#: templates/users.php:60 templates/users.php:153
msgid "Other"
msgstr "Andere"
-#: templates/users.php:80 templates/users.php:112
+#: templates/users.php:85 templates/users.php:117
msgid "Group Admin"
msgstr "Groep beheerder"
-#: templates/users.php:82
-msgid "Quota"
-msgstr "Limieten"
+#: templates/users.php:87
+msgid "Storage"
+msgstr "Opslag"
+
+#: templates/users.php:133
+msgid "Default"
+msgstr "Default"
-#: templates/users.php:146
+#: templates/users.php:161
msgid "Delete"
msgstr "verwijderen"
diff --git a/l10n/nl/user_ldap.po b/l10n/nl/user_ldap.po
index 840adfacc66..41b46e70ec4 100644
--- a/l10n/nl/user_ldap.po
+++ b/l10n/nl/user_ldap.po
@@ -3,14 +3,15 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
-# André Koot <meneer@tken.net>, 2012.
+# André Koot <meneer@tken.net>, 2012-2013.
+# <bart.formosus@gmail.com>, 2013.
# <lenny@weijl.org>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-21 00:10+0100\n"
-"PO-Revision-Date: 2012-12-20 17:25+0000\n"
+"POT-Creation-Date: 2013-01-17 00:26+0100\n"
+"PO-Revision-Date: 2013-01-16 15:38+0000\n"
"Last-Translator: André Koot <meneer@tken.net>\n"
"Language-Team: Dutch (http://www.transifex.com/projects/p/owncloud/language/nl/)\n"
"MIME-Version: 1.0\n"
@@ -28,9 +29,9 @@ msgstr "<b>Waarschuwing:</b> De Apps user_ldap en user_webdavauth zijn incompati
#: templates/settings.php:11
msgid ""
-"<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will"
-" not work. Please ask your system administrator to install it."
-msgstr "<b>Waarschuwing:</b> De PHP LDAP module is niet geïnstalleerd, de backend zal dus niet werken. Vraag uw beheerder de module te installeren."
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not "
+"work. Please ask your system administrator to install it."
+msgstr "<b>Waarschuwing:</b> De PHP LDAP module is niet geïnstalleerd, het backend zal niet werken. Vraag uw systeembeheerder om de module te installeren."
#: templates/settings.php:15
msgid "Host"
@@ -43,15 +44,19 @@ msgstr "Je kunt het protocol weglaten, tenzij je SSL vereist. Start in dat geval
#: templates/settings.php:16
msgid "Base DN"
-msgstr "Basis DN"
+msgstr "Base DN"
+
+#: templates/settings.php:16
+msgid "One Base DN per line"
+msgstr "Een Base DN per regel"
#: templates/settings.php:16
msgid "You can specify Base DN for users and groups in the Advanced tab"
-msgstr "Je kunt het standaard DN voor gebruikers en groepen specificeren in het tab Geavanceerd."
+msgstr "Je kunt het Base DN voor gebruikers en groepen specificeren in het tab Geavanceerd."
#: templates/settings.php:17
msgid "User DN"
-msgstr "Gebruikers DN"
+msgstr "User DN"
#: templates/settings.php:17
msgid ""
@@ -116,10 +121,18 @@ msgstr "Poort"
msgid "Base User Tree"
msgstr "Basis Gebruikers Structuur"
+#: templates/settings.php:25
+msgid "One User Base DN per line"
+msgstr "Een User Base DN per regel"
+
#: templates/settings.php:26
msgid "Base Group Tree"
msgstr "Basis Groupen Structuur"
+#: templates/settings.php:26
+msgid "One Group Base DN per line"
+msgstr "Een Group Base DN per regel"
+
#: templates/settings.php:27
msgid "Group-Member association"
msgstr "Groepslid associatie"
diff --git a/l10n/nl/user_webdavauth.po b/l10n/nl/user_webdavauth.po
index 81dd911eef5..8606d6f3164 100644
--- a/l10n/nl/user_webdavauth.po
+++ b/l10n/nl/user_webdavauth.po
@@ -3,14 +3,14 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
-# André Koot <meneer@tken.net>, 2012.
+# André Koot <meneer@tken.net>, 2012-2013.
# Richard Bos <radoeka@gmail.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-21 00:10+0100\n"
-"PO-Revision-Date: 2012-12-20 17:23+0000\n"
+"POT-Creation-Date: 2013-01-16 00:19+0100\n"
+"PO-Revision-Date: 2013-01-15 09:56+0000\n"
"Last-Translator: André Koot <meneer@tken.net>\n"
"Language-Team: Dutch (http://www.transifex.com/projects/p/owncloud/language/nl/)\n"
"MIME-Version: 1.0\n"
@@ -19,13 +19,17 @@ msgstr ""
"Language: nl\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+#: templates/settings.php:3
+msgid "WebDAV Authentication"
+msgstr "WebDAV authenticatie"
+
#: templates/settings.php:4
msgid "URL: http://"
msgstr "URL: http://"
#: templates/settings.php:6
msgid ""
-"ownCloud will send the user credentials to this URL is interpret http 401 "
-"and http 403 as credentials wrong and all other codes as credentials "
-"correct."
-msgstr "ownCloud zal de inloggegevens naar deze URL als geïnterpreteerde http 401 en http 403 als de inloggegevens onjuist zijn. Andere codes als de inloggegevens correct zijn."
+"ownCloud will send the user credentials to this URL. 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 "ownCloud stuurt de inloggegevens naar deze URL. Deze plugin controleert het antwoord en interpreteert de HTTP statuscodes 401 als 403 als ongeldige inloggegevens, maar alle andere antwoorden als geldige inloggegevens."
diff --git a/l10n/nn_NO/core.po b/l10n/nn_NO/core.po
index dad899207ea..2bec4e1cdc3 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: 2012-12-13 00:17+0100\n"
-"PO-Revision-Date: 2012-12-12 23:17+0000\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:03+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"
@@ -85,55 +85,55 @@ msgstr ""
msgid "Settings"
msgstr "Innstillingar"
-#: js/js.js:704
+#: js/js.js:711
msgid "seconds ago"
msgstr ""
-#: js/js.js:705
+#: js/js.js:712
msgid "1 minute ago"
msgstr ""
-#: js/js.js:706
+#: js/js.js:713
msgid "{minutes} minutes ago"
msgstr ""
-#: js/js.js:707
+#: js/js.js:714
msgid "1 hour ago"
msgstr ""
-#: js/js.js:708
+#: js/js.js:715
msgid "{hours} hours ago"
msgstr ""
-#: js/js.js:709
+#: js/js.js:716
msgid "today"
msgstr ""
-#: js/js.js:710
+#: js/js.js:717
msgid "yesterday"
msgstr ""
-#: js/js.js:711
+#: js/js.js:718
msgid "{days} days ago"
msgstr ""
-#: js/js.js:712
+#: js/js.js:719
msgid "last month"
msgstr ""
-#: js/js.js:713
+#: js/js.js:720
msgid "{months} months ago"
msgstr ""
-#: js/js.js:714
+#: js/js.js:721
msgid "months ago"
msgstr ""
-#: js/js.js:715
+#: js/js.js:722
msgid "last year"
msgstr ""
-#: js/js.js:716
+#: js/js.js:723
msgid "years ago"
msgstr ""
@@ -163,8 +163,8 @@ msgid "The object type is not specified."
msgstr ""
#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136
-#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:541
-#: js/share.js:553
+#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:554
+#: js/share.js:566
msgid "Error"
msgstr "Feil"
@@ -176,7 +176,7 @@ msgstr ""
msgid "The required file {file} is not installed!"
msgstr ""
-#: js/share.js:124 js/share.js:581
+#: js/share.js:124 js/share.js:594
msgid "Error while sharing"
msgstr ""
@@ -204,12 +204,11 @@ msgstr ""
msgid "Share with link"
msgstr ""
-#: js/share.js:164
+#: js/share.js:166
msgid "Password protect"
msgstr ""
-#: js/share.js:168 templates/installation.php:42 templates/login.php:24
-#: templates/verify.php:13
+#: js/share.js:168 templates/installation.php:44 templates/login.php:35
msgid "Password"
msgstr "Passord"
@@ -273,23 +272,23 @@ msgstr ""
msgid "share"
msgstr ""
-#: js/share.js:353 js/share.js:528 js/share.js:530
+#: js/share.js:356 js/share.js:541
msgid "Password protected"
msgstr ""
-#: js/share.js:541
+#: js/share.js:554
msgid "Error unsetting expiration date"
msgstr ""
-#: js/share.js:553
+#: js/share.js:566
msgid "Error setting expiration date"
msgstr ""
-#: js/share.js:568
+#: js/share.js:581
msgid "Sending ..."
msgstr ""
-#: js/share.js:579
+#: js/share.js:592
msgid "Email sent"
msgstr ""
@@ -313,8 +312,8 @@ msgstr ""
msgid "Request failed!"
msgstr ""
-#: lostpassword/templates/lostpassword.php:11 templates/installation.php:38
-#: templates/login.php:20
+#: lostpassword/templates/lostpassword.php:11 templates/installation.php:39
+#: templates/login.php:28
msgid "Username"
msgstr "Brukarnamn"
@@ -403,44 +402,44 @@ msgstr ""
msgid "Create an <strong>admin account</strong>"
msgstr "Lag ein <strong>admin-konto</strong>"
-#: templates/installation.php:48
+#: templates/installation.php:50
msgid "Advanced"
msgstr "Avansert"
-#: templates/installation.php:50
+#: templates/installation.php:52
msgid "Data folder"
msgstr "Datamappe"
-#: templates/installation.php:57
+#: templates/installation.php:59
msgid "Configure the database"
msgstr "Konfigurer databasen"
-#: templates/installation.php:62 templates/installation.php:73
-#: templates/installation.php:83 templates/installation.php:93
+#: templates/installation.php:64 templates/installation.php:75
+#: templates/installation.php:85 templates/installation.php:95
msgid "will be used"
msgstr "vil bli nytta"
-#: templates/installation.php:105
+#: templates/installation.php:107
msgid "Database user"
msgstr "Databasebrukar"
-#: templates/installation.php:109
+#: templates/installation.php:111
msgid "Database password"
msgstr "Databasepassord"
-#: templates/installation.php:113
+#: templates/installation.php:115
msgid "Database name"
msgstr "Databasenamn"
-#: templates/installation.php:121
+#: templates/installation.php:123
msgid "Database tablespace"
msgstr ""
-#: templates/installation.php:127
+#: templates/installation.php:129
msgid "Database host"
msgstr "Databasetenar"
-#: templates/installation.php:132
+#: templates/installation.php:134
msgid "Finish setup"
msgstr "Fullfør oppsettet"
@@ -528,36 +527,32 @@ msgstr "Vev tjenester under din kontroll"
msgid "Log out"
msgstr "Logg ut"
-#: templates/login.php:8
+#: templates/login.php:10
msgid "Automatic logon rejected!"
msgstr ""
-#: templates/login.php:9
+#: templates/login.php:11
msgid ""
"If you did not change your password recently, your account may be "
"compromised!"
msgstr ""
-#: templates/login.php:10
+#: templates/login.php:13
msgid "Please change your password to secure your account again."
msgstr ""
-#: templates/login.php:15
+#: templates/login.php:19
msgid "Lost your password?"
msgstr "Gløymt passordet?"
-#: templates/login.php:27
+#: templates/login.php:39
msgid "remember"
msgstr "hugs"
-#: templates/login.php:28
+#: templates/login.php:41
msgid "Log in"
msgstr "Logg inn"
-#: templates/logout.php:1
-msgid "You are logged out."
-msgstr "Du er logga ut."
-
#: templates/part.pagenavi.php:3
msgid "prev"
msgstr "førre"
@@ -566,16 +561,7 @@ msgstr "førre"
msgid "next"
msgstr "neste"
-#: templates/verify.php:5
-msgid "Security Warning!"
-msgstr ""
-
-#: templates/verify.php:6
-msgid ""
-"Please verify your password. <br/>For security reasons you may be "
-"occasionally asked to enter your password again."
-msgstr ""
-
-#: templates/verify.php:16
-msgid "Verify"
+#: templates/update.php:3
+#, php-format
+msgid "Updating ownCloud to version %s, this may take a while."
msgstr ""
diff --git a/l10n/nn_NO/files.po b/l10n/nn_NO/files.po
index 4fb42612d82..20c27a56323 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: 2012-12-01 00:01+0100\n"
-"PO-Revision-Date: 2012-11-30 23:02+0000\n"
+"POT-Creation-Date: 2013-01-20 00:05+0100\n"
+"PO-Revision-Date: 2013-01-19 23:05+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"
@@ -19,46 +19,77 @@ msgstr ""
"Language: nn_NO\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+#: ajax/delete.php:28 ajax/getstoragestats.php:11 ajax/upload.php:17
+#: ajax/upload.php:76 templates/index.php:18
+msgid "Upload"
+msgstr "Last opp"
+
+#: ajax/move.php:17
+#, php-format
+msgid "Could not move %s - File with this name already exists"
+msgstr ""
+
+#: ajax/move.php:24
+#, php-format
+msgid "Could not move %s"
+msgstr ""
+
+#: ajax/rename.php:19
+msgid "Unable to rename file"
+msgstr ""
+
#: ajax/upload.php:20
+msgid "No file was uploaded. Unknown error"
+msgstr ""
+
+#: ajax/upload.php:30
msgid "There is no error, the file uploaded with success"
msgstr "Ingen feil, fila vart lasta opp"
-#: ajax/upload.php:21
+#: ajax/upload.php:31
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr ""
-#: ajax/upload.php:23
+#: ajax/upload.php:33
msgid ""
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
"the HTML form"
msgstr "Den opplasta fila er større enn variabelen MAX_FILE_SIZE i HTML-skjemaet"
-#: ajax/upload.php:25
+#: ajax/upload.php:35
msgid "The uploaded file was only partially uploaded"
msgstr "Fila vart berre delvis lasta opp"
-#: ajax/upload.php:26
+#: ajax/upload.php:36
msgid "No file was uploaded"
msgstr "Ingen filer vart lasta opp"
-#: ajax/upload.php:27
+#: ajax/upload.php:37
msgid "Missing a temporary folder"
msgstr "Manglar ei mellombels mappe"
-#: ajax/upload.php:28
+#: ajax/upload.php:38
msgid "Failed to write to disk"
msgstr ""
+#: ajax/upload.php:57
+msgid "Not enough space available"
+msgstr ""
+
+#: ajax/upload.php:91
+msgid "Invalid directory."
+msgstr ""
+
#: appinfo/app.php:10
msgid "Files"
msgstr "Filer"
-#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84
+#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
msgid "Unshare"
msgstr ""
-#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90
+#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
msgid "Delete"
msgstr "Slett"
@@ -66,122 +97,136 @@ msgstr "Slett"
msgid "Rename"
msgstr ""
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "{new_name} already exists"
msgstr ""
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "replace"
msgstr ""
-#: js/filelist.js:201
+#: js/filelist.js:205
msgid "suggest name"
msgstr ""
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "cancel"
msgstr ""
-#: js/filelist.js:250
+#: js/filelist.js:254
msgid "replaced {new_name}"
msgstr ""
-#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286
+#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
msgid "undo"
msgstr ""
-#: js/filelist.js:252
+#: js/filelist.js:256
msgid "replaced {new_name} with {old_name}"
msgstr ""
-#: js/filelist.js:284
+#: js/filelist.js:288
msgid "unshared {files}"
msgstr ""
-#: js/filelist.js:286
+#: js/filelist.js:290
msgid "deleted {files}"
msgstr ""
-#: js/files.js:33
+#: js/files.js:48
+msgid "'.' is an invalid file name."
+msgstr ""
+
+#: js/files.js:53
+msgid "File name cannot be empty."
+msgstr ""
+
+#: js/files.js:62
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr ""
-#: js/files.js:183
-msgid "generating ZIP-file, it may take some time."
+#: js/files.js:204
+msgid ""
+"Your download is being prepared. This might take some time if the files are "
+"big."
msgstr ""
-#: js/files.js:218
+#: js/files.js:242
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr ""
-#: js/files.js:218
+#: js/files.js:242
msgid "Upload Error"
msgstr ""
-#: js/files.js:235
+#: js/files.js:259
msgid "Close"
msgstr "Lukk"
-#: js/files.js:254 js/files.js:368 js/files.js:398
+#: js/files.js:278 js/files.js:397 js/files.js:431
msgid "Pending"
msgstr ""
-#: js/files.js:274
+#: js/files.js:298
msgid "1 file uploading"
msgstr ""
-#: js/files.js:277 js/files.js:331 js/files.js:346
+#: js/files.js:301 js/files.js:357 js/files.js:372
msgid "{count} files uploading"
msgstr ""
-#: js/files.js:349 js/files.js:382
+#: js/files.js:376 js/files.js:414
msgid "Upload cancelled."
msgstr ""
-#: js/files.js:451
+#: js/files.js:486
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr ""
-#: js/files.js:523
-msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud"
+#: js/files.js:559
+msgid "URL cannot be empty."
msgstr ""
-#: js/files.js:704
+#: js/files.js:565
+msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
+msgstr ""
+
+#: js/files.js:775
msgid "{count} files scanned"
msgstr ""
-#: js/files.js:712
+#: js/files.js:783
msgid "error while scanning"
msgstr ""
-#: js/files.js:785 templates/index.php:65
+#: js/files.js:857 templates/index.php:64
msgid "Name"
msgstr "Namn"
-#: js/files.js:786 templates/index.php:76
+#: js/files.js:858 templates/index.php:75
msgid "Size"
msgstr "Storleik"
-#: js/files.js:787 templates/index.php:78
+#: js/files.js:859 templates/index.php:77
msgid "Modified"
msgstr "Endra"
-#: js/files.js:814
+#: js/files.js:878
msgid "1 folder"
msgstr ""
-#: js/files.js:816
+#: js/files.js:880
msgid "{count} folders"
msgstr ""
-#: js/files.js:824
+#: js/files.js:888
msgid "1 file"
msgstr ""
-#: js/files.js:826
+#: js/files.js:890
msgid "{count} files"
msgstr ""
@@ -193,27 +238,27 @@ msgstr ""
msgid "Maximum upload size"
msgstr "Maksimal opplastingsstorleik"
-#: templates/admin.php:9
+#: templates/admin.php:10
msgid "max. possible: "
msgstr ""
-#: templates/admin.php:12
+#: templates/admin.php:15
msgid "Needed for multi-file and folder downloads."
msgstr ""
-#: templates/admin.php:14
+#: templates/admin.php:17
msgid "Enable ZIP-download"
msgstr ""
-#: templates/admin.php:17
+#: templates/admin.php:20
msgid "0 is unlimited"
msgstr ""
-#: templates/admin.php:19
+#: templates/admin.php:22
msgid "Maximum input size for ZIP files"
msgstr ""
-#: templates/admin.php:23
+#: templates/admin.php:26
msgid "Save"
msgstr "Lagre"
@@ -233,36 +278,32 @@ msgstr "Mappe"
msgid "From link"
msgstr ""
-#: templates/index.php:35
-msgid "Upload"
-msgstr "Last opp"
-
-#: templates/index.php:43
+#: templates/index.php:41
msgid "Cancel upload"
msgstr ""
-#: templates/index.php:57
+#: templates/index.php:56
msgid "Nothing in here. Upload something!"
msgstr "Ingenting her. Last noko opp!"
-#: templates/index.php:71
+#: templates/index.php:70
msgid "Download"
msgstr "Last ned"
-#: templates/index.php:103
+#: templates/index.php:102
msgid "Upload too large"
msgstr "For stor opplasting"
-#: templates/index.php:105
+#: templates/index.php:104
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 større enn maksgrensa til denne tenaren."
-#: templates/index.php:110
+#: templates/index.php:109
msgid "Files are being scanned, please wait."
msgstr ""
-#: templates/index.php:113
+#: templates/index.php:112
msgid "Current scanning"
msgstr ""
diff --git a/l10n/nn_NO/files_encryption.po b/l10n/nn_NO/files_encryption.po
index 8ad39e5cbfb..f821638fbcd 100644
--- a/l10n/nn_NO/files_encryption.po
+++ b/l10n/nn_NO/files_encryption.po
@@ -7,28 +7,76 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-08-13 23:12+0200\n"
-"PO-Revision-Date: 2012-08-12 22:33+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+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"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: nn_NO\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: templates/settings.php:3
-msgid "Encryption"
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
msgstr ""
-#: templates/settings.php:4
-msgid "Exclude the following file types from encryption"
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
msgstr ""
-#: templates/settings.php:5
-msgid "None"
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
msgstr ""
#: templates/settings.php:10
-msgid "Enable Encryption"
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
+msgid "Encryption"
+msgstr ""
+
+#: templates/settings.php:67
+msgid "Exclude the following file types from encryption"
+msgstr ""
+
+#: templates/settings.php:71
+msgid "None"
msgstr ""
diff --git a/l10n/nn_NO/files_versions.po b/l10n/nn_NO/files_versions.po
index 4e0539875ac..3d20ded946a 100644
--- a/l10n/nn_NO/files_versions.po
+++ b/l10n/nn_NO/files_versions.po
@@ -7,9 +7,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-09-22 01:14+0200\n"
-"PO-Revision-Date: 2012-09-21 23:15+0000\n"
-"Last-Translator: I Robot <thomas.mueller@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:03+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -17,22 +17,10 @@ msgstr ""
"Language: nn_NO\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: js/settings-personal.js:31 templates/settings-personal.php:10
-msgid "Expire all versions"
-msgstr ""
-
#: js/versions.js:16
msgid "History"
msgstr ""
-#: templates/settings-personal.php:4
-msgid "Versions"
-msgstr ""
-
-#: templates/settings-personal.php:7
-msgid "This will delete all existing backup versions of your files"
-msgstr ""
-
#: templates/settings.php:3
msgid "Files Versioning"
msgstr ""
diff --git a/l10n/nn_NO/lib.po b/l10n/nn_NO/lib.po
index ee2fd61fe02..5d33fc1e808 100644
--- a/l10n/nn_NO/lib.po
+++ b/l10n/nn_NO/lib.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-11-16 00:02+0100\n"
-"PO-Revision-Date: 2012-11-14 23:13+0000\n"
+"POT-Creation-Date: 2013-01-17 00:26+0100\n"
+"PO-Revision-Date: 2013-01-16 23:26+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"
@@ -17,51 +17,55 @@ msgstr ""
"Language: nn_NO\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: app.php:285
+#: app.php:301
msgid "Help"
msgstr "Hjelp"
-#: app.php:292
+#: app.php:308
msgid "Personal"
msgstr "Personleg"
-#: app.php:297
+#: app.php:313
msgid "Settings"
msgstr "Innstillingar"
-#: app.php:302
+#: app.php:318
msgid "Users"
msgstr "Brukarar"
-#: app.php:309
+#: app.php:325
msgid "Apps"
msgstr ""
-#: app.php:311
+#: app.php:327
msgid "Admin"
msgstr ""
-#: files.php:332
+#: files.php:365
msgid "ZIP download is turned off."
msgstr ""
-#: files.php:333
+#: files.php:366
msgid "Files need to be downloaded one by one."
msgstr ""
-#: files.php:333 files.php:358
+#: files.php:366 files.php:391
msgid "Back to Files"
msgstr ""
-#: files.php:357
+#: files.php:390
msgid "Selected files too large to generate zip file."
msgstr ""
+#: helper.php:228
+msgid "couldn't be determined"
+msgstr ""
+
#: json.php:28
msgid "Application is not enabled"
msgstr ""
-#: json.php:39 json.php:64 json.php:77 json.php:89
+#: json.php:39 json.php:62 json.php:73
msgid "Authentication error"
msgstr "Feil i autentisering"
@@ -81,55 +85,55 @@ msgstr "Tekst"
msgid "Images"
msgstr ""
-#: template.php:103
+#: template.php:113
msgid "seconds ago"
msgstr ""
-#: template.php:104
+#: template.php:114
msgid "1 minute ago"
msgstr ""
-#: template.php:105
+#: template.php:115
#, php-format
msgid "%d minutes ago"
msgstr ""
-#: template.php:106
+#: template.php:116
msgid "1 hour ago"
msgstr ""
-#: template.php:107
+#: template.php:117
#, php-format
msgid "%d hours ago"
msgstr ""
-#: template.php:108
+#: template.php:118
msgid "today"
msgstr ""
-#: template.php:109
+#: template.php:119
msgid "yesterday"
msgstr ""
-#: template.php:110
+#: template.php:120
#, php-format
msgid "%d days ago"
msgstr ""
-#: template.php:111
+#: template.php:121
msgid "last month"
msgstr ""
-#: template.php:112
+#: template.php:122
#, php-format
msgid "%d months ago"
msgstr ""
-#: template.php:113
+#: template.php:123
msgid "last year"
msgstr ""
-#: template.php:114
+#: template.php:124
msgid "years ago"
msgstr ""
diff --git a/l10n/nn_NO/settings.po b/l10n/nn_NO/settings.po
index b62189d236d..3eb12c318ad 100644
--- a/l10n/nn_NO/settings.po
+++ b/l10n/nn_NO/settings.po
@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-21 00:10+0100\n"
-"PO-Revision-Date: 2012-12-19 23:20+0000\n"
+"POT-Creation-Date: 2013-01-12 00:09+0100\n"
+"PO-Revision-Date: 2013-01-11 23:09+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"
@@ -31,7 +31,7 @@ msgstr ""
msgid "Unable to add group"
msgstr ""
-#: ajax/enableapp.php:12
+#: ajax/enableapp.php:11
msgid "Could not enable app. "
msgstr ""
@@ -43,14 +43,6 @@ msgstr "E-postadresse lagra"
msgid "Invalid email"
msgstr "Ugyldig e-postadresse"
-#: ajax/openid.php:13
-msgid "OpenID Changed"
-msgstr "OpenID endra"
-
-#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20
-msgid "Invalid request"
-msgstr "Ugyldig førespurnad"
-
#: ajax/removegroup.php:13
msgid "Unable to delete group"
msgstr ""
@@ -67,6 +59,10 @@ msgstr ""
msgid "Language changed"
msgstr "Språk endra"
+#: ajax/setlanguage.php:17 ajax/setlanguage.php:20
+msgid "Invalid request"
+msgstr "Ugyldig førespurnad"
+
#: ajax/togglegroups.php:12
msgid "Admins can't remove themself from the admin group"
msgstr ""
@@ -162,7 +158,7 @@ msgstr ""
msgid "Download iOS Client"
msgstr ""
-#: templates/personal.php:21 templates/users.php:23 templates/users.php:77
+#: templates/personal.php:21 templates/users.php:23 templates/users.php:82
msgid "Password"
msgstr "Passord"
@@ -232,11 +228,11 @@ msgid ""
"License\">AGPL</abbr></a>."
msgstr ""
-#: templates/users.php:21 templates/users.php:76
+#: templates/users.php:21 templates/users.php:81
msgid "Name"
msgstr "Namn"
-#: templates/users.php:26 templates/users.php:78 templates/users.php:98
+#: templates/users.php:26 templates/users.php:83 templates/users.php:103
msgid "Groups"
msgstr "Grupper"
@@ -245,21 +241,29 @@ msgid "Create"
msgstr "Lag"
#: templates/users.php:35
-msgid "Default Quota"
+msgid "Default Storage"
+msgstr ""
+
+#: templates/users.php:42 templates/users.php:138
+msgid "Unlimited"
msgstr ""
-#: templates/users.php:55 templates/users.php:138
+#: templates/users.php:60 templates/users.php:153
msgid "Other"
msgstr "Anna"
-#: templates/users.php:80 templates/users.php:112
+#: templates/users.php:85 templates/users.php:117
msgid "Group Admin"
msgstr ""
-#: templates/users.php:82
-msgid "Quota"
-msgstr "Kvote"
+#: templates/users.php:87
+msgid "Storage"
+msgstr ""
+
+#: templates/users.php:133
+msgid "Default"
+msgstr ""
-#: templates/users.php:146
+#: templates/users.php:161
msgid "Delete"
msgstr "Slett"
diff --git a/l10n/nn_NO/user_ldap.po b/l10n/nn_NO/user_ldap.po
index 7f064cb1e25..0046c6c622c 100644
--- a/l10n/nn_NO/user_ldap.po
+++ b/l10n/nn_NO/user_ldap.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-15 00:11+0100\n"
-"PO-Revision-Date: 2012-12-14 23:11+0000\n"
+"POT-Creation-Date: 2013-01-18 00:03+0100\n"
+"PO-Revision-Date: 2013-01-17 21:57+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,8 +26,8 @@ msgstr ""
#: templates/settings.php:11
msgid ""
-"<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will"
-" not work. Please ask your system administrator to install it."
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not "
+"work. Please ask your system administrator to install it."
msgstr ""
#: templates/settings.php:15
@@ -44,6 +44,10 @@ msgid "Base DN"
msgstr ""
#: templates/settings.php:16
+msgid "One Base DN per line"
+msgstr ""
+
+#: templates/settings.php:16
msgid "You can specify Base DN for users and groups in the Advanced tab"
msgstr ""
@@ -114,10 +118,18 @@ msgstr ""
msgid "Base User Tree"
msgstr ""
+#: templates/settings.php:25
+msgid "One User Base DN per line"
+msgstr ""
+
#: templates/settings.php:26
msgid "Base Group Tree"
msgstr ""
+#: templates/settings.php:26
+msgid "One Group Base DN per line"
+msgstr ""
+
#: templates/settings.php:27
msgid "Group-Member association"
msgstr ""
@@ -180,4 +192,4 @@ msgstr ""
#: templates/settings.php:39
msgid "Help"
-msgstr ""
+msgstr "Hjelp"
diff --git a/l10n/nn_NO/user_webdavauth.po b/l10n/nn_NO/user_webdavauth.po
index 0c942635476..42c4c7ed976 100644
--- a/l10n/nn_NO/user_webdavauth.po
+++ b/l10n/nn_NO/user_webdavauth.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-20 00:11+0100\n"
-"PO-Revision-Date: 2012-12-19 23:12+0000\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+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"
@@ -17,13 +17,17 @@ msgstr ""
"Language: nn_NO\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+#: templates/settings.php:3
+msgid "WebDAV Authentication"
+msgstr ""
+
#: templates/settings.php:4
msgid "URL: http://"
msgstr ""
#: templates/settings.php:6
msgid ""
-"ownCloud will send the user credentials to this URL is interpret http 401 "
-"and http 403 as credentials wrong and all other codes as credentials "
-"correct."
+"ownCloud will send the user credentials to this URL. 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 ""
diff --git a/l10n/oc/core.po b/l10n/oc/core.po
index 696e6808a5d..17e293699e2 100644
--- a/l10n/oc/core.po
+++ b/l10n/oc/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: 2012-12-13 00:17+0100\n"
-"PO-Revision-Date: 2012-12-12 23:17+0000\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:03+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"
@@ -84,55 +84,55 @@ msgstr ""
msgid "Settings"
msgstr "Configuracion"
-#: js/js.js:704
+#: js/js.js:711
msgid "seconds ago"
msgstr "segonda a"
-#: js/js.js:705
+#: js/js.js:712
msgid "1 minute ago"
msgstr "1 minuta a"
-#: js/js.js:706
+#: js/js.js:713
msgid "{minutes} minutes ago"
msgstr ""
-#: js/js.js:707
+#: js/js.js:714
msgid "1 hour ago"
msgstr ""
-#: js/js.js:708
+#: js/js.js:715
msgid "{hours} hours ago"
msgstr ""
-#: js/js.js:709
+#: js/js.js:716
msgid "today"
msgstr "uèi"
-#: js/js.js:710
+#: js/js.js:717
msgid "yesterday"
msgstr "ièr"
-#: js/js.js:711
+#: js/js.js:718
msgid "{days} days ago"
msgstr ""
-#: js/js.js:712
+#: js/js.js:719
msgid "last month"
msgstr "mes passat"
-#: js/js.js:713
+#: js/js.js:720
msgid "{months} months ago"
msgstr ""
-#: js/js.js:714
+#: js/js.js:721
msgid "months ago"
msgstr "meses a"
-#: js/js.js:715
+#: js/js.js:722
msgid "last year"
msgstr "an passat"
-#: js/js.js:716
+#: js/js.js:723
msgid "years ago"
msgstr "ans a"
@@ -162,8 +162,8 @@ msgid "The object type is not specified."
msgstr ""
#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136
-#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:541
-#: js/share.js:553
+#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:554
+#: js/share.js:566
msgid "Error"
msgstr "Error"
@@ -175,7 +175,7 @@ msgstr ""
msgid "The required file {file} is not installed!"
msgstr ""
-#: js/share.js:124 js/share.js:581
+#: js/share.js:124 js/share.js:594
msgid "Error while sharing"
msgstr "Error al partejar"
@@ -203,12 +203,11 @@ msgstr "Parteja amb"
msgid "Share with link"
msgstr "Parteja amb lo ligam"
-#: js/share.js:164
+#: js/share.js:166
msgid "Password protect"
msgstr "Parat per senhal"
-#: js/share.js:168 templates/installation.php:42 templates/login.php:24
-#: templates/verify.php:13
+#: js/share.js:168 templates/installation.php:44 templates/login.php:35
msgid "Password"
msgstr "Senhal"
@@ -272,23 +271,23 @@ msgstr "escafa"
msgid "share"
msgstr "parteja"
-#: js/share.js:353 js/share.js:528 js/share.js:530
+#: js/share.js:356 js/share.js:541
msgid "Password protected"
msgstr "Parat per senhal"
-#: js/share.js:541
+#: js/share.js:554
msgid "Error unsetting expiration date"
msgstr "Error al metre de la data d'expiracion"
-#: js/share.js:553
+#: js/share.js:566
msgid "Error setting expiration date"
msgstr "Error setting expiration date"
-#: js/share.js:568
+#: js/share.js:581
msgid "Sending ..."
msgstr ""
-#: js/share.js:579
+#: js/share.js:592
msgid "Email sent"
msgstr ""
@@ -312,8 +311,8 @@ msgstr ""
msgid "Request failed!"
msgstr ""
-#: lostpassword/templates/lostpassword.php:11 templates/installation.php:38
-#: templates/login.php:20
+#: lostpassword/templates/lostpassword.php:11 templates/installation.php:39
+#: templates/login.php:28
msgid "Username"
msgstr "Nom d'usancièr"
@@ -402,44 +401,44 @@ msgstr ""
msgid "Create an <strong>admin account</strong>"
msgstr "Crea un <strong>compte admin</strong>"
-#: templates/installation.php:48
+#: templates/installation.php:50
msgid "Advanced"
msgstr "Avançat"
-#: templates/installation.php:50
+#: templates/installation.php:52
msgid "Data folder"
msgstr "Dorsièr de donadas"
-#: templates/installation.php:57
+#: templates/installation.php:59
msgid "Configure the database"
msgstr "Configura la basa de donadas"
-#: templates/installation.php:62 templates/installation.php:73
-#: templates/installation.php:83 templates/installation.php:93
+#: templates/installation.php:64 templates/installation.php:75
+#: templates/installation.php:85 templates/installation.php:95
msgid "will be used"
msgstr "serà utilizat"
-#: templates/installation.php:105
+#: templates/installation.php:107
msgid "Database user"
msgstr "Usancièr de la basa de donadas"
-#: templates/installation.php:109
+#: templates/installation.php:111
msgid "Database password"
msgstr "Senhal de la basa de donadas"
-#: templates/installation.php:113
+#: templates/installation.php:115
msgid "Database name"
msgstr "Nom de la basa de donadas"
-#: templates/installation.php:121
+#: templates/installation.php:123
msgid "Database tablespace"
msgstr "Espandi de taula de basa de donadas"
-#: templates/installation.php:127
+#: templates/installation.php:129
msgid "Database host"
msgstr "Ã’ste de basa de donadas"
-#: templates/installation.php:132
+#: templates/installation.php:134
msgid "Finish setup"
msgstr "Configuracion acabada"
@@ -527,36 +526,32 @@ msgstr "Services web jos ton contraròtle"
msgid "Log out"
msgstr "Sortida"
-#: templates/login.php:8
+#: templates/login.php:10
msgid "Automatic logon rejected!"
msgstr ""
-#: templates/login.php:9
+#: templates/login.php:11
msgid ""
"If you did not change your password recently, your account may be "
"compromised!"
msgstr ""
-#: templates/login.php:10
+#: templates/login.php:13
msgid "Please change your password to secure your account again."
msgstr ""
-#: templates/login.php:15
+#: templates/login.php:19
msgid "Lost your password?"
msgstr "L'as perdut lo senhal ?"
-#: templates/login.php:27
+#: templates/login.php:39
msgid "remember"
msgstr "bremba-te"
-#: templates/login.php:28
+#: templates/login.php:41
msgid "Log in"
msgstr "Dintrada"
-#: templates/logout.php:1
-msgid "You are logged out."
-msgstr "Sias pas dintra (t/ada)"
-
#: templates/part.pagenavi.php:3
msgid "prev"
msgstr "dariièr"
@@ -565,16 +560,7 @@ msgstr "dariièr"
msgid "next"
msgstr "venent"
-#: templates/verify.php:5
-msgid "Security Warning!"
-msgstr ""
-
-#: templates/verify.php:6
-msgid ""
-"Please verify your password. <br/>For security reasons you may be "
-"occasionally asked to enter your password again."
-msgstr ""
-
-#: templates/verify.php:16
-msgid "Verify"
+#: templates/update.php:3
+#, php-format
+msgid "Updating ownCloud to version %s, this may take a while."
msgstr ""
diff --git a/l10n/oc/files.po b/l10n/oc/files.po
index a433382c7ce..98f3014e02e 100644
--- a/l10n/oc/files.po
+++ b/l10n/oc/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: 2012-12-01 00:01+0100\n"
-"PO-Revision-Date: 2012-11-30 23:02+0000\n"
+"POT-Creation-Date: 2013-01-20 00:05+0100\n"
+"PO-Revision-Date: 2013-01-19 23:05+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"
@@ -18,46 +18,77 @@ msgstr ""
"Language: oc\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+#: ajax/delete.php:28 ajax/getstoragestats.php:11 ajax/upload.php:17
+#: ajax/upload.php:76 templates/index.php:18
+msgid "Upload"
+msgstr "Amontcarga"
+
+#: ajax/move.php:17
+#, php-format
+msgid "Could not move %s - File with this name already exists"
+msgstr ""
+
+#: ajax/move.php:24
+#, php-format
+msgid "Could not move %s"
+msgstr ""
+
+#: ajax/rename.php:19
+msgid "Unable to rename file"
+msgstr ""
+
#: ajax/upload.php:20
+msgid "No file was uploaded. Unknown error"
+msgstr ""
+
+#: ajax/upload.php:30
msgid "There is no error, the file uploaded with success"
msgstr "Amontcargament capitat, pas d'errors"
-#: ajax/upload.php:21
+#: ajax/upload.php:31
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr ""
-#: ajax/upload.php:23
+#: ajax/upload.php:33
msgid ""
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
"the HTML form"
msgstr "Lo fichièr amontcargat es mai gròs que la directiva «MAX_FILE_SIZE» especifiada dins lo formulari HTML"
-#: ajax/upload.php:25
+#: ajax/upload.php:35
msgid "The uploaded file was only partially uploaded"
msgstr "Lo fichièr foguèt pas completament amontcargat"
-#: ajax/upload.php:26
+#: ajax/upload.php:36
msgid "No file was uploaded"
msgstr "Cap de fichièrs son estats amontcargats"
-#: ajax/upload.php:27
+#: ajax/upload.php:37
msgid "Missing a temporary folder"
msgstr "Un dorsièr temporari manca"
-#: ajax/upload.php:28
+#: ajax/upload.php:38
msgid "Failed to write to disk"
msgstr "L'escriptura sul disc a fracassat"
+#: ajax/upload.php:57
+msgid "Not enough space available"
+msgstr ""
+
+#: ajax/upload.php:91
+msgid "Invalid directory."
+msgstr ""
+
#: appinfo/app.php:10
msgid "Files"
msgstr "Fichièrs"
-#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84
+#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
msgid "Unshare"
msgstr "Non parteja"
-#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90
+#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
msgid "Delete"
msgstr "Escafa"
@@ -65,122 +96,136 @@ msgstr "Escafa"
msgid "Rename"
msgstr "Torna nomenar"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "{new_name} already exists"
msgstr ""
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "replace"
msgstr "remplaça"
-#: js/filelist.js:201
+#: js/filelist.js:205
msgid "suggest name"
msgstr "nom prepausat"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "cancel"
msgstr "anulla"
-#: js/filelist.js:250
+#: js/filelist.js:254
msgid "replaced {new_name}"
msgstr ""
-#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286
+#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
msgid "undo"
msgstr "defar"
-#: js/filelist.js:252
+#: js/filelist.js:256
msgid "replaced {new_name} with {old_name}"
msgstr ""
-#: js/filelist.js:284
+#: js/filelist.js:288
msgid "unshared {files}"
msgstr ""
-#: js/filelist.js:286
+#: js/filelist.js:290
msgid "deleted {files}"
msgstr ""
-#: js/files.js:33
+#: js/files.js:48
+msgid "'.' is an invalid file name."
+msgstr ""
+
+#: js/files.js:53
+msgid "File name cannot be empty."
+msgstr ""
+
+#: js/files.js:62
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr ""
-#: js/files.js:183
-msgid "generating ZIP-file, it may take some time."
-msgstr "Fichièr ZIP a se far, aquò pòt trigar un briu."
+#: js/files.js:204
+msgid ""
+"Your download is being prepared. This might take some time if the files are "
+"big."
+msgstr ""
-#: js/files.js:218
+#: js/files.js:242
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr "Impossible d'amontcargar lo teu fichièr qu'es un repertòri o que ten pas que 0 octet."
-#: js/files.js:218
+#: js/files.js:242
msgid "Upload Error"
msgstr "Error d'amontcargar"
-#: js/files.js:235
+#: js/files.js:259
msgid "Close"
msgstr ""
-#: js/files.js:254 js/files.js:368 js/files.js:398
+#: js/files.js:278 js/files.js:397 js/files.js:431
msgid "Pending"
msgstr "Al esperar"
-#: js/files.js:274
+#: js/files.js:298
msgid "1 file uploading"
msgstr "1 fichièr al amontcargar"
-#: js/files.js:277 js/files.js:331 js/files.js:346
+#: js/files.js:301 js/files.js:357 js/files.js:372
msgid "{count} files uploading"
msgstr ""
-#: js/files.js:349 js/files.js:382
+#: js/files.js:376 js/files.js:414
msgid "Upload cancelled."
msgstr "Amontcargar anullat."
-#: js/files.js:451
+#: js/files.js:486
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr "Un amontcargar es a se far. Daissar aquesta pagina ara tamparà lo cargament. "
-#: js/files.js:523
-msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud"
+#: js/files.js:559
+msgid "URL cannot be empty."
msgstr ""
-#: js/files.js:704
+#: js/files.js:565
+msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
+msgstr ""
+
+#: js/files.js:775
msgid "{count} files scanned"
msgstr ""
-#: js/files.js:712
+#: js/files.js:783
msgid "error while scanning"
msgstr "error pendant l'exploracion"
-#: js/files.js:785 templates/index.php:65
+#: js/files.js:857 templates/index.php:64
msgid "Name"
msgstr "Nom"
-#: js/files.js:786 templates/index.php:76
+#: js/files.js:858 templates/index.php:75
msgid "Size"
msgstr "Talha"
-#: js/files.js:787 templates/index.php:78
+#: js/files.js:859 templates/index.php:77
msgid "Modified"
msgstr "Modificat"
-#: js/files.js:814
+#: js/files.js:878
msgid "1 folder"
msgstr ""
-#: js/files.js:816
+#: js/files.js:880
msgid "{count} folders"
msgstr ""
-#: js/files.js:824
+#: js/files.js:888
msgid "1 file"
msgstr ""
-#: js/files.js:826
+#: js/files.js:890
msgid "{count} files"
msgstr ""
@@ -192,27 +237,27 @@ msgstr "Manejament de fichièr"
msgid "Maximum upload size"
msgstr "Talha maximum d'amontcargament"
-#: templates/admin.php:9
+#: templates/admin.php:10
msgid "max. possible: "
msgstr "max. possible: "
-#: templates/admin.php:12
+#: templates/admin.php:15
msgid "Needed for multi-file and folder downloads."
msgstr "Requesit per avalcargar gropat de fichièrs e dorsièr"
-#: templates/admin.php:14
+#: templates/admin.php:17
msgid "Enable ZIP-download"
msgstr "Activa l'avalcargament de ZIP"
-#: templates/admin.php:17
+#: templates/admin.php:20
msgid "0 is unlimited"
msgstr "0 es pas limitat"
-#: templates/admin.php:19
+#: templates/admin.php:22
msgid "Maximum input size for ZIP files"
msgstr "Talha maximum de dintrada per fichièrs ZIP"
-#: templates/admin.php:23
+#: templates/admin.php:26
msgid "Save"
msgstr "Enregistra"
@@ -232,36 +277,32 @@ msgstr "Dorsièr"
msgid "From link"
msgstr ""
-#: templates/index.php:35
-msgid "Upload"
-msgstr "Amontcarga"
-
-#: templates/index.php:43
+#: templates/index.php:41
msgid "Cancel upload"
msgstr " Anulla l'amontcargar"
-#: templates/index.php:57
+#: templates/index.php:56
msgid "Nothing in here. Upload something!"
msgstr "Pas res dedins. Amontcarga qualquaren"
-#: templates/index.php:71
+#: templates/index.php:70
msgid "Download"
msgstr "Avalcarga"
-#: templates/index.php:103
+#: templates/index.php:102
msgid "Upload too large"
msgstr "Amontcargament tròp gròs"
-#: templates/index.php:105
+#: templates/index.php:104
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "Los fichièrs que sias a amontcargar son tròp pesucs per la talha maxi pel servidor."
-#: templates/index.php:110
+#: templates/index.php:109
msgid "Files are being scanned, please wait."
msgstr "Los fiichièrs son a èsser explorats, "
-#: templates/index.php:113
+#: templates/index.php:112
msgid "Current scanning"
msgstr "Exploracion en cors"
diff --git a/l10n/oc/files_encryption.po b/l10n/oc/files_encryption.po
index d6e0c7a83be..91f6f906aae 100644
--- a/l10n/oc/files_encryption.po
+++ b/l10n/oc/files_encryption.po
@@ -7,9 +7,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-09-08 02:01+0200\n"
-"PO-Revision-Date: 2012-08-12 22:33+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -17,18 +17,66 @@ msgstr ""
"Language: oc\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-#: templates/settings.php:3
-msgid "Encryption"
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
msgstr ""
-#: templates/settings.php:4
-msgid "Exclude the following file types from encryption"
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
msgstr ""
-#: templates/settings.php:5
-msgid "None"
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
msgstr ""
#: templates/settings.php:10
-msgid "Enable Encryption"
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
+msgid "Encryption"
+msgstr ""
+
+#: templates/settings.php:67
+msgid "Exclude the following file types from encryption"
+msgstr ""
+
+#: templates/settings.php:71
+msgid "None"
msgstr ""
diff --git a/l10n/oc/files_versions.po b/l10n/oc/files_versions.po
index 8ea27eb3243..e8848887184 100644
--- a/l10n/oc/files_versions.po
+++ b/l10n/oc/files_versions.po
@@ -7,9 +7,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-09-22 01:14+0200\n"
-"PO-Revision-Date: 2012-09-21 23:15+0000\n"
-"Last-Translator: I Robot <thomas.mueller@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -17,22 +17,10 @@ msgstr ""
"Language: oc\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-#: js/settings-personal.js:31 templates/settings-personal.php:10
-msgid "Expire all versions"
-msgstr ""
-
#: js/versions.js:16
msgid "History"
msgstr ""
-#: templates/settings-personal.php:4
-msgid "Versions"
-msgstr ""
-
-#: templates/settings-personal.php:7
-msgid "This will delete all existing backup versions of your files"
-msgstr ""
-
#: templates/settings.php:3
msgid "Files Versioning"
msgstr ""
diff --git a/l10n/oc/lib.po b/l10n/oc/lib.po
index 150704cd235..7a056315f6d 100644
--- a/l10n/oc/lib.po
+++ b/l10n/oc/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: 2012-11-16 00:02+0100\n"
-"PO-Revision-Date: 2012-11-14 23:13+0000\n"
+"POT-Creation-Date: 2013-01-17 00:26+0100\n"
+"PO-Revision-Date: 2013-01-16 23:26+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"
@@ -18,51 +18,55 @@ msgstr ""
"Language: oc\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-#: app.php:285
+#: app.php:301
msgid "Help"
msgstr "Ajuda"
-#: app.php:292
+#: app.php:308
msgid "Personal"
msgstr "Personal"
-#: app.php:297
+#: app.php:313
msgid "Settings"
msgstr "Configuracion"
-#: app.php:302
+#: app.php:318
msgid "Users"
msgstr "Usancièrs"
-#: app.php:309
+#: app.php:325
msgid "Apps"
msgstr "Apps"
-#: app.php:311
+#: app.php:327
msgid "Admin"
msgstr "Admin"
-#: files.php:332
+#: files.php:365
msgid "ZIP download is turned off."
msgstr "Avalcargar los ZIP es inactiu."
-#: files.php:333
+#: files.php:366
msgid "Files need to be downloaded one by one."
msgstr "Los fichièrs devan èsser avalcargats un per un."
-#: files.php:333 files.php:358
+#: files.php:366 files.php:391
msgid "Back to Files"
msgstr "Torna cap als fichièrs"
-#: files.php:357
+#: files.php:390
msgid "Selected files too large to generate zip file."
msgstr ""
+#: helper.php:228
+msgid "couldn't be determined"
+msgstr ""
+
#: json.php:28
msgid "Application is not enabled"
msgstr ""
-#: json.php:39 json.php:64 json.php:77 json.php:89
+#: json.php:39 json.php:62 json.php:73
msgid "Authentication error"
msgstr "Error d'autentificacion"
@@ -82,55 +86,55 @@ msgstr ""
msgid "Images"
msgstr ""
-#: template.php:103
+#: template.php:113
msgid "seconds ago"
msgstr "segonda a"
-#: template.php:104
+#: template.php:114
msgid "1 minute ago"
msgstr "1 minuta a"
-#: template.php:105
+#: template.php:115
#, php-format
msgid "%d minutes ago"
msgstr "%d minutas a"
-#: template.php:106
+#: template.php:116
msgid "1 hour ago"
msgstr ""
-#: template.php:107
+#: template.php:117
#, php-format
msgid "%d hours ago"
msgstr ""
-#: template.php:108
+#: template.php:118
msgid "today"
msgstr "uèi"
-#: template.php:109
+#: template.php:119
msgid "yesterday"
msgstr "ièr"
-#: template.php:110
+#: template.php:120
#, php-format
msgid "%d days ago"
msgstr "%d jorns a"
-#: template.php:111
+#: template.php:121
msgid "last month"
msgstr "mes passat"
-#: template.php:112
+#: template.php:122
#, php-format
msgid "%d months ago"
msgstr ""
-#: template.php:113
+#: template.php:123
msgid "last year"
msgstr "an passat"
-#: template.php:114
+#: template.php:124
msgid "years ago"
msgstr "ans a"
diff --git a/l10n/oc/settings.po b/l10n/oc/settings.po
index aa5ccaa9439..df76be9ca67 100644
--- a/l10n/oc/settings.po
+++ b/l10n/oc/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: 2012-12-21 00:10+0100\n"
-"PO-Revision-Date: 2012-12-19 23:20+0000\n"
+"POT-Creation-Date: 2013-01-12 00:09+0100\n"
+"PO-Revision-Date: 2013-01-11 23:09+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"
@@ -30,7 +30,7 @@ msgstr "Lo grop existís ja"
msgid "Unable to add group"
msgstr "Pas capable d'apondre un grop"
-#: ajax/enableapp.php:12
+#: ajax/enableapp.php:11
msgid "Could not enable app. "
msgstr "Pòt pas activar app. "
@@ -42,14 +42,6 @@ msgstr "Corrièl enregistrat"
msgid "Invalid email"
msgstr "Corrièl incorrècte"
-#: ajax/openid.php:13
-msgid "OpenID Changed"
-msgstr "OpenID cambiat"
-
-#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20
-msgid "Invalid request"
-msgstr "Demanda invalida"
-
#: ajax/removegroup.php:13
msgid "Unable to delete group"
msgstr "Pas capable d'escafar un grop"
@@ -66,6 +58,10 @@ msgstr "Pas capable d'escafar un usancièr"
msgid "Language changed"
msgstr "Lengas cambiadas"
+#: ajax/setlanguage.php:17 ajax/setlanguage.php:20
+msgid "Invalid request"
+msgstr "Demanda invalida"
+
#: ajax/togglegroups.php:12
msgid "Admins can't remove themself from the admin group"
msgstr ""
@@ -161,7 +157,7 @@ msgstr ""
msgid "Download iOS Client"
msgstr ""
-#: templates/personal.php:21 templates/users.php:23 templates/users.php:77
+#: templates/personal.php:21 templates/users.php:23 templates/users.php:82
msgid "Password"
msgstr "Senhal"
@@ -231,11 +227,11 @@ msgid ""
"License\">AGPL</abbr></a>."
msgstr ""
-#: templates/users.php:21 templates/users.php:76
+#: templates/users.php:21 templates/users.php:81
msgid "Name"
msgstr "Nom"
-#: templates/users.php:26 templates/users.php:78 templates/users.php:98
+#: templates/users.php:26 templates/users.php:83 templates/users.php:103
msgid "Groups"
msgstr "Grops"
@@ -244,21 +240,29 @@ msgid "Create"
msgstr "Crea"
#: templates/users.php:35
-msgid "Default Quota"
-msgstr "Quota per defaut"
+msgid "Default Storage"
+msgstr ""
+
+#: templates/users.php:42 templates/users.php:138
+msgid "Unlimited"
+msgstr ""
-#: templates/users.php:55 templates/users.php:138
+#: templates/users.php:60 templates/users.php:153
msgid "Other"
msgstr "Autres"
-#: templates/users.php:80 templates/users.php:112
+#: templates/users.php:85 templates/users.php:117
msgid "Group Admin"
msgstr "Grop Admin"
-#: templates/users.php:82
-msgid "Quota"
-msgstr "Quota"
+#: templates/users.php:87
+msgid "Storage"
+msgstr ""
+
+#: templates/users.php:133
+msgid "Default"
+msgstr ""
-#: templates/users.php:146
+#: templates/users.php:161
msgid "Delete"
msgstr "Escafa"
diff --git a/l10n/oc/user_ldap.po b/l10n/oc/user_ldap.po
index 29bd7864d7e..f3e7f309794 100644
--- a/l10n/oc/user_ldap.po
+++ b/l10n/oc/user_ldap.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-15 00:11+0100\n"
-"PO-Revision-Date: 2012-12-14 23:11+0000\n"
+"POT-Creation-Date: 2013-01-18 00:03+0100\n"
+"PO-Revision-Date: 2013-01-17 21:57+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"
@@ -26,8 +26,8 @@ msgstr ""
#: templates/settings.php:11
msgid ""
-"<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will"
-" not work. Please ask your system administrator to install it."
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not "
+"work. Please ask your system administrator to install it."
msgstr ""
#: templates/settings.php:15
@@ -44,6 +44,10 @@ msgid "Base DN"
msgstr ""
#: templates/settings.php:16
+msgid "One Base DN per line"
+msgstr ""
+
+#: templates/settings.php:16
msgid "You can specify Base DN for users and groups in the Advanced tab"
msgstr ""
@@ -114,10 +118,18 @@ msgstr ""
msgid "Base User Tree"
msgstr ""
+#: templates/settings.php:25
+msgid "One User Base DN per line"
+msgstr ""
+
#: templates/settings.php:26
msgid "Base Group Tree"
msgstr ""
+#: templates/settings.php:26
+msgid "One Group Base DN per line"
+msgstr ""
+
#: templates/settings.php:27
msgid "Group-Member association"
msgstr ""
@@ -180,4 +192,4 @@ msgstr ""
#: templates/settings.php:39
msgid "Help"
-msgstr ""
+msgstr "Ajuda"
diff --git a/l10n/oc/user_webdavauth.po b/l10n/oc/user_webdavauth.po
index 5d411e9dab1..03cdef79eb0 100644
--- a/l10n/oc/user_webdavauth.po
+++ b/l10n/oc/user_webdavauth.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-20 00:11+0100\n"
-"PO-Revision-Date: 2012-12-19 23:12+0000\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+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"
@@ -17,13 +17,17 @@ msgstr ""
"Language: oc\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+#: templates/settings.php:3
+msgid "WebDAV Authentication"
+msgstr ""
+
#: templates/settings.php:4
msgid "URL: http://"
msgstr ""
#: templates/settings.php:6
msgid ""
-"ownCloud will send the user credentials to this URL is interpret http 401 "
-"and http 403 as credentials wrong and all other codes as credentials "
-"correct."
+"ownCloud will send the user credentials to this URL. 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 ""
diff --git a/l10n/pl/core.po b/l10n/pl/core.po
index 494afd04759..4e0e383e612 100644
--- a/l10n/pl/core.po
+++ b/l10n/pl/core.po
@@ -4,7 +4,7 @@
#
# Translators:
# Cyryl Sochacki <>, 2012.
-# Cyryl Sochacki <cyrylsochacki@gmail.com>, 2012.
+# Cyryl Sochacki <cyrylsochacki@gmail.com>, 2012-2013.
# Kamil Domański <kdomanski@kdemail.net>, 2011.
# <koalamis0@gmail.com>, 2012.
# Marcin Małecki <gerber@tkdami.net>, 2011, 2012.
@@ -17,9 +17,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-18 00:13+0100\n"
-"PO-Revision-Date: 2012-12-17 09:39+0000\n"
-"Last-Translator: emc <mplichta@gmail.com>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:03+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -93,55 +93,55 @@ msgstr "Błąd usunięcia %s z ulubionych."
msgid "Settings"
msgstr "Ustawienia"
-#: js/js.js:704
+#: js/js.js:711
msgid "seconds ago"
msgstr "sekund temu"
-#: js/js.js:705
+#: js/js.js:712
msgid "1 minute ago"
msgstr "1 minute temu"
-#: js/js.js:706
+#: js/js.js:713
msgid "{minutes} minutes ago"
msgstr "{minutes} minut temu"
-#: js/js.js:707
+#: js/js.js:714
msgid "1 hour ago"
msgstr "1 godzine temu"
-#: js/js.js:708
+#: js/js.js:715
msgid "{hours} hours ago"
msgstr "{hours} godzin temu"
-#: js/js.js:709
+#: js/js.js:716
msgid "today"
msgstr "dziÅ›"
-#: js/js.js:710
+#: js/js.js:717
msgid "yesterday"
msgstr "wczoraj"
-#: js/js.js:711
+#: js/js.js:718
msgid "{days} days ago"
msgstr "{days} dni temu"
-#: js/js.js:712
+#: js/js.js:719
msgid "last month"
msgstr "ostani miesiÄ…c"
-#: js/js.js:713
+#: js/js.js:720
msgid "{months} months ago"
msgstr "{months} miesięcy temu"
-#: js/js.js:714
+#: js/js.js:721
msgid "months ago"
msgstr "miesięcy temu"
-#: js/js.js:715
+#: js/js.js:722
msgid "last year"
msgstr "ostatni rok"
-#: js/js.js:716
+#: js/js.js:723
msgid "years ago"
msgstr "lat temu"
@@ -171,8 +171,8 @@ msgid "The object type is not specified."
msgstr "Typ obiektu nie jest określony."
#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136
-#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:541
-#: js/share.js:553
+#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:554
+#: js/share.js:566
msgid "Error"
msgstr "Błąd"
@@ -184,7 +184,7 @@ msgstr "Nazwa aplikacji nie jest określona."
msgid "The required file {file} is not installed!"
msgstr "Żądany plik {file} nie jest zainstalowany!"
-#: js/share.js:124 js/share.js:581
+#: js/share.js:124 js/share.js:594
msgid "Error while sharing"
msgstr "Błąd podczas współdzielenia"
@@ -212,12 +212,11 @@ msgstr "Współdziel z"
msgid "Share with link"
msgstr "Współdziel z link"
-#: js/share.js:164
+#: js/share.js:166
msgid "Password protect"
msgstr "Zabezpieczone hasłem"
-#: js/share.js:168 templates/installation.php:44 templates/login.php:26
-#: templates/verify.php:13
+#: js/share.js:168 templates/installation.php:44 templates/login.php:35
msgid "Password"
msgstr "Hasło"
@@ -281,23 +280,23 @@ msgstr "usuń"
msgid "share"
msgstr "współdziel"
-#: js/share.js:353 js/share.js:528 js/share.js:530
+#: js/share.js:356 js/share.js:541
msgid "Password protected"
msgstr "Zabezpieczone hasłem"
-#: js/share.js:541
+#: js/share.js:554
msgid "Error unsetting expiration date"
msgstr "Błąd niszczenie daty wygaśnięcia"
-#: js/share.js:553
+#: js/share.js:566
msgid "Error setting expiration date"
msgstr "Błąd podczas ustawiania daty wygaśnięcia"
-#: js/share.js:568
+#: js/share.js:581
msgid "Sending ..."
msgstr "Wysyłanie..."
-#: js/share.js:579
+#: js/share.js:592
msgid "Email sent"
msgstr "Wyślij Email"
@@ -322,7 +321,7 @@ msgid "Request failed!"
msgstr "Próba nieudana!"
#: lostpassword/templates/lostpassword.php:11 templates/installation.php:39
-#: templates/login.php:21
+#: templates/login.php:28
msgid "Username"
msgstr "Nazwa użytkownika"
@@ -536,36 +535,32 @@ msgstr "usługi internetowe pod kontrolą"
msgid "Log out"
msgstr "Wylogowuje użytkownika"
-#: templates/login.php:8
+#: templates/login.php:10
msgid "Automatic logon rejected!"
msgstr "Automatyczne logowanie odrzucone!"
-#: templates/login.php:9
+#: templates/login.php:11
msgid ""
"If you did not change your password recently, your account may be "
"compromised!"
msgstr "Jeśli nie było zmianie niedawno hasło, Twoje konto może być zagrożone!"
-#: templates/login.php:10
+#: templates/login.php:13
msgid "Please change your password to secure your account again."
msgstr "Proszę zmienić swoje hasło, aby zabezpieczyć swoje konto ponownie."
-#: templates/login.php:15
+#: templates/login.php:19
msgid "Lost your password?"
msgstr "Nie pamiętasz hasła?"
-#: templates/login.php:29
+#: templates/login.php:39
msgid "remember"
msgstr "Zapamiętanie"
-#: templates/login.php:30
+#: templates/login.php:41
msgid "Log in"
msgstr "Zaloguj"
-#: templates/logout.php:1
-msgid "You are logged out."
-msgstr "Wylogowano użytkownika."
-
#: templates/part.pagenavi.php:3
msgid "prev"
msgstr "wstecz"
@@ -574,16 +569,7 @@ msgstr "wstecz"
msgid "next"
msgstr "naprzód"
-#: templates/verify.php:5
-msgid "Security Warning!"
-msgstr "Ostrzeżenie o zabezpieczeniach!"
-
-#: templates/verify.php:6
-msgid ""
-"Please verify your password. <br/>For security reasons you may be "
-"occasionally asked to enter your password again."
-msgstr "Sprawdź swoje hasło.<br/>Ze względów bezpieczeństwa możesz zostać czasami poproszony o wprowadzenie hasła ponownie."
-
-#: templates/verify.php:16
-msgid "Verify"
-msgstr "Zweryfikowane"
+#: templates/update.php:3
+#, php-format
+msgid "Updating ownCloud to version %s, this may take a while."
+msgstr "Aktualizowanie ownCloud do wersji %s, może to potrwać chwilę."
diff --git a/l10n/pl/files.po b/l10n/pl/files.po
index 8c9563a58e4..14c09603236 100644
--- a/l10n/pl/files.po
+++ b/l10n/pl/files.po
@@ -3,8 +3,9 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# <bbartlomiej@gmail.com>, 2013.
# Cyryl Sochacki <>, 2012.
-# Cyryl Sochacki <cyrylsochacki@gmail.com>, 2012.
+# Cyryl Sochacki <cyrylsochacki@gmail.com>, 2012-2013.
# Marcin Małecki <gerber@tkdami.net>, 2011-2012.
# <mosslar@gmail.com>, 2011.
# <mplichta@gmail.com>, 2012.
@@ -14,9 +15,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-04 00:06+0100\n"
-"PO-Revision-Date: 2012-12-03 10:15+0000\n"
-"Last-Translator: Thomasso <tomekde@gmail.com>\n"
+"POT-Creation-Date: 2013-01-20 00:05+0100\n"
+"PO-Revision-Date: 2013-01-19 23:05+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -24,46 +25,77 @@ msgstr ""
"Language: pl\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+#: ajax/delete.php:28 ajax/getstoragestats.php:11 ajax/upload.php:17
+#: ajax/upload.php:76 templates/index.php:18
+msgid "Upload"
+msgstr "Prześlij"
+
+#: ajax/move.php:17
+#, php-format
+msgid "Could not move %s - File with this name already exists"
+msgstr "Nie można było przenieść %s - Plik o takiej nazwie już istnieje"
+
+#: ajax/move.php:24
+#, php-format
+msgid "Could not move %s"
+msgstr "Nie można było przenieść %s"
+
+#: ajax/rename.php:19
+msgid "Unable to rename file"
+msgstr "Nie można zmienić nazwy pliku"
+
#: ajax/upload.php:20
+msgid "No file was uploaded. Unknown error"
+msgstr "Plik nie został załadowany. Nieznany błąd"
+
+#: ajax/upload.php:30
msgid "There is no error, the file uploaded with success"
msgstr "Przesłano plik"
-#: ajax/upload.php:21
+#: ajax/upload.php:31
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr "Wgrany plik przekracza wartość upload_max_filesize zdefiniowaną w php.ini: "
-#: ajax/upload.php:23
+#: ajax/upload.php:33
msgid ""
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
"the HTML form"
msgstr "Rozmiar przesłanego pliku przekracza maksymalną wartość dyrektywy upload_max_filesize, zawartą formularzu HTML"
-#: ajax/upload.php:25
+#: ajax/upload.php:35
msgid "The uploaded file was only partially uploaded"
msgstr "Plik przesłano tylko częściowo"
-#: ajax/upload.php:26
+#: ajax/upload.php:36
msgid "No file was uploaded"
msgstr "Nie przesłano żadnego pliku"
-#: ajax/upload.php:27
+#: ajax/upload.php:37
msgid "Missing a temporary folder"
msgstr "Brak katalogu tymczasowego"
-#: ajax/upload.php:28
+#: ajax/upload.php:38
msgid "Failed to write to disk"
msgstr "Błąd zapisu na dysk"
+#: ajax/upload.php:57
+msgid "Not enough space available"
+msgstr "Za mało miejsca"
+
+#: ajax/upload.php:91
+msgid "Invalid directory."
+msgstr "Zła ścieżka."
+
#: appinfo/app.php:10
msgid "Files"
msgstr "Pliki"
-#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84
+#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
msgid "Unshare"
msgstr "Nie udostępniaj"
-#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90
+#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
msgid "Delete"
msgstr "Usuwa element"
@@ -71,122 +103,136 @@ msgstr "Usuwa element"
msgid "Rename"
msgstr "Zmień nazwę"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "{new_name} already exists"
msgstr "{new_name} już istnieje"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "replace"
msgstr "zastap"
-#: js/filelist.js:201
+#: js/filelist.js:205
msgid "suggest name"
msgstr "zasugeruj nazwÄ™"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "cancel"
msgstr "anuluj"
-#: js/filelist.js:250
+#: js/filelist.js:254
msgid "replaced {new_name}"
msgstr "zastÄ…piony {new_name}"
-#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286
+#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
msgid "undo"
msgstr "wróć"
-#: js/filelist.js:252
+#: js/filelist.js:256
msgid "replaced {new_name} with {old_name}"
msgstr "zastÄ…piony {new_name} z {old_name}"
-#: js/filelist.js:284
+#: js/filelist.js:288
msgid "unshared {files}"
msgstr "Udostępniane wstrzymane {files}"
-#: js/filelist.js:286
+#: js/filelist.js:290
msgid "deleted {files}"
msgstr "usunięto {files}"
-#: js/files.js:33
+#: js/files.js:48
+msgid "'.' is an invalid file name."
+msgstr "'.' jest nieprawidłową nazwą pliku."
+
+#: js/files.js:53
+msgid "File name cannot be empty."
+msgstr "Nazwa pliku nie może być pusta."
+
+#: js/files.js:62
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr "Niepoprawna nazwa, Znaki '\\', '/', '<', '>', ':', '\"', '|', '?' oraz '*'sÄ… niedozwolone."
-#: js/files.js:183
-msgid "generating ZIP-file, it may take some time."
-msgstr "Generowanie pliku ZIP, może potrwać pewien czas."
+#: js/files.js:204
+msgid ""
+"Your download is being prepared. This might take some time if the files are "
+"big."
+msgstr ""
-#: js/files.js:218
+#: js/files.js:242
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr "Nie można wczytać pliku jeśli jest katalogiem lub ma 0 bajtów"
-#: js/files.js:218
+#: js/files.js:242
msgid "Upload Error"
msgstr "Błąd wczytywania"
-#: js/files.js:235
+#: js/files.js:259
msgid "Close"
msgstr "Zamknij"
-#: js/files.js:254 js/files.js:368 js/files.js:398
+#: js/files.js:278 js/files.js:397 js/files.js:431
msgid "Pending"
msgstr "OczekujÄ…ce"
-#: js/files.js:274
+#: js/files.js:298
msgid "1 file uploading"
msgstr "1 plik wczytany"
-#: js/files.js:277 js/files.js:331 js/files.js:346
+#: js/files.js:301 js/files.js:357 js/files.js:372
msgid "{count} files uploading"
msgstr "{count} przesyłanie plików"
-#: js/files.js:349 js/files.js:382
+#: js/files.js:376 js/files.js:414
msgid "Upload cancelled."
msgstr "Wczytywanie anulowane."
-#: js/files.js:451
+#: js/files.js:486
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr "Wysyłanie pliku jest w toku. Teraz opuszczając stronę wysyłanie zostanie anulowane."
-#: js/files.js:523
-msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud"
-msgstr "Błędna nazwa folderu. Nazwa \"Shared\" jest zarezerwowana dla Owncloud"
+#: js/files.js:559
+msgid "URL cannot be empty."
+msgstr "URL nie może być pusty."
-#: js/files.js:704
+#: js/files.js:565
+msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
+msgstr "Nazwa folderu nieprawidłowa. Wykorzystanie \"Shared\" jest zarezerwowane przez Owncloud"
+
+#: js/files.js:775
msgid "{count} files scanned"
msgstr "{count} pliki skanowane"
-#: js/files.js:712
+#: js/files.js:783
msgid "error while scanning"
msgstr "Wystąpił błąd podczas skanowania"
-#: js/files.js:785 templates/index.php:65
+#: js/files.js:857 templates/index.php:64
msgid "Name"
msgstr "Nazwa"
-#: js/files.js:786 templates/index.php:76
+#: js/files.js:858 templates/index.php:75
msgid "Size"
msgstr "Rozmiar"
-#: js/files.js:787 templates/index.php:78
+#: js/files.js:859 templates/index.php:77
msgid "Modified"
msgstr "Czas modyfikacji"
-#: js/files.js:814
+#: js/files.js:878
msgid "1 folder"
msgstr "1 folder"
-#: js/files.js:816
+#: js/files.js:880
msgid "{count} folders"
msgstr "{count} foldery"
-#: js/files.js:824
+#: js/files.js:888
msgid "1 file"
msgstr "1 plik"
-#: js/files.js:826
+#: js/files.js:890
msgid "{count} files"
msgstr "{count} pliki"
@@ -198,27 +244,27 @@ msgstr "ZarzÄ…dzanie plikami"
msgid "Maximum upload size"
msgstr "Maksymalny rozmiar wysyłanego pliku"
-#: templates/admin.php:9
+#: templates/admin.php:10
msgid "max. possible: "
msgstr "max. możliwych"
-#: templates/admin.php:12
+#: templates/admin.php:15
msgid "Needed for multi-file and folder downloads."
msgstr "Wymagany do pobierania wielu plików i folderów"
-#: templates/admin.php:14
+#: templates/admin.php:17
msgid "Enable ZIP-download"
msgstr "Włącz pobieranie ZIP-paczki"
-#: templates/admin.php:17
+#: templates/admin.php:20
msgid "0 is unlimited"
msgstr "0 jest nielimitowane"
-#: templates/admin.php:19
+#: templates/admin.php:22
msgid "Maximum input size for ZIP files"
msgstr "Maksymalna wielkość pliku wejściowego ZIP "
-#: templates/admin.php:23
+#: templates/admin.php:26
msgid "Save"
msgstr "Zapisz"
@@ -238,36 +284,32 @@ msgstr "Katalog"
msgid "From link"
msgstr "Z linku"
-#: templates/index.php:35
-msgid "Upload"
-msgstr "Prześlij"
-
-#: templates/index.php:43
+#: templates/index.php:41
msgid "Cancel upload"
msgstr "Przestań wysyłać"
-#: templates/index.php:57
+#: templates/index.php:56
msgid "Nothing in here. Upload something!"
msgstr "Brak zawartości. Proszę wysłać pliki!"
-#: templates/index.php:71
+#: templates/index.php:70
msgid "Download"
msgstr "Pobiera element"
-#: templates/index.php:103
+#: templates/index.php:102
msgid "Upload too large"
msgstr "Wysyłany plik ma za duży rozmiar"
-#: templates/index.php:105
+#: templates/index.php:104
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:110
+#: templates/index.php:109
msgid "Files are being scanned, please wait."
msgstr "Skanowanie plików, proszę czekać."
-#: templates/index.php:113
+#: templates/index.php:112
msgid "Current scanning"
msgstr "Aktualnie skanowane"
diff --git a/l10n/pl/files_encryption.po b/l10n/pl/files_encryption.po
index fbb12dbe1fb..21fa364ff19 100644
--- a/l10n/pl/files_encryption.po
+++ b/l10n/pl/files_encryption.po
@@ -8,28 +8,76 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-08-13 23:12+0200\n"
-"PO-Revision-Date: 2012-08-13 12:15+0000\n"
-"Last-Translator: Cyryl Sochacki <>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+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"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: pl\n"
-"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n"
+"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "Szyfrowanie"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "Wyłącz następujące typy plików z szyfrowania"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "Brak"
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "Włącz szyfrowanie"
diff --git a/l10n/pl/files_versions.po b/l10n/pl/files_versions.po
index adfdc97439a..a2020d78f2d 100644
--- a/l10n/pl/files_versions.po
+++ b/l10n/pl/files_versions.po
@@ -9,9 +9,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-09-26 13:19+0200\n"
-"PO-Revision-Date: 2012-09-26 10:42+0000\n"
-"Last-Translator: emc <mplichta@gmail.com>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -19,22 +19,10 @@ msgstr ""
"Language: pl\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-#: js/settings-personal.js:31 templates/settings-personal.php:10
-msgid "Expire all versions"
-msgstr "WygasajÄ… wszystkie wersje"
-
#: js/versions.js:16
msgid "History"
msgstr "Historia"
-#: templates/settings-personal.php:4
-msgid "Versions"
-msgstr "Wersje"
-
-#: templates/settings-personal.php:7
-msgid "This will delete all existing backup versions of your files"
-msgstr "Spowoduje to usunięcie wszystkich istniejących wersji kopii zapasowych plików"
-
#: templates/settings.php:3
msgid "Files Versioning"
msgstr "Wersjonowanie plików"
diff --git a/l10n/pl/lib.po b/l10n/pl/lib.po
index 0cebd731831..5d59857b1b6 100644
--- a/l10n/pl/lib.po
+++ b/l10n/pl/lib.po
@@ -10,9 +10,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-11-28 00:10+0100\n"
-"PO-Revision-Date: 2012-11-27 08:54+0000\n"
-"Last-Translator: Cyryl Sochacki <cyrylsochacki@gmail.com>\n"
+"POT-Creation-Date: 2013-01-17 00:26+0100\n"
+"PO-Revision-Date: 2013-01-16 23:26+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -20,51 +20,55 @@ msgstr ""
"Language: pl\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-#: app.php:285
+#: app.php:301
msgid "Help"
msgstr "Pomoc"
-#: app.php:292
+#: app.php:308
msgid "Personal"
msgstr "Osobiste"
-#: app.php:297
+#: app.php:313
msgid "Settings"
msgstr "Ustawienia"
-#: app.php:302
+#: app.php:318
msgid "Users"
msgstr "Użytkownicy"
-#: app.php:309
+#: app.php:325
msgid "Apps"
msgstr "Aplikacje"
-#: app.php:311
+#: app.php:327
msgid "Admin"
msgstr "Administrator"
-#: files.php:361
+#: files.php:365
msgid "ZIP download is turned off."
msgstr "Pobieranie ZIP jest wyłączone."
-#: files.php:362
+#: files.php:366
msgid "Files need to be downloaded one by one."
msgstr "Pliki muszą zostać pobrane pojedynczo."
-#: files.php:362 files.php:387
+#: files.php:366 files.php:391
msgid "Back to Files"
msgstr "Wróć do plików"
-#: files.php:386
+#: files.php:390
msgid "Selected files too large to generate zip file."
msgstr "Wybrane pliki są zbyt duże, aby wygenerować plik zip."
+#: helper.php:228
+msgid "couldn't be determined"
+msgstr ""
+
#: json.php:28
msgid "Application is not enabled"
msgstr "Aplikacja nie jest włączona"
-#: json.php:39 json.php:64 json.php:77 json.php:89
+#: json.php:39 json.php:62 json.php:73
msgid "Authentication error"
msgstr "Błąd uwierzytelniania"
@@ -84,55 +88,55 @@ msgstr "Połączenie tekstowe"
msgid "Images"
msgstr "Obrazy"
-#: template.php:103
+#: template.php:113
msgid "seconds ago"
msgstr "sekund temu"
-#: template.php:104
+#: template.php:114
msgid "1 minute ago"
msgstr "1 minutÄ™ temu"
-#: template.php:105
+#: template.php:115
#, php-format
msgid "%d minutes ago"
msgstr "%d minut temu"
-#: template.php:106
+#: template.php:116
msgid "1 hour ago"
msgstr "1 godzine temu"
-#: template.php:107
+#: template.php:117
#, php-format
msgid "%d hours ago"
msgstr "%d godzin temu"
-#: template.php:108
+#: template.php:118
msgid "today"
msgstr "dzisiaj"
-#: template.php:109
+#: template.php:119
msgid "yesterday"
msgstr "wczoraj"
-#: template.php:110
+#: template.php:120
#, php-format
msgid "%d days ago"
msgstr "%d dni temu"
-#: template.php:111
+#: template.php:121
msgid "last month"
msgstr "ostatni miesiÄ…c"
-#: template.php:112
+#: template.php:122
#, php-format
msgid "%d months ago"
msgstr "%d miesiecy temu"
-#: template.php:113
+#: template.php:123
msgid "last year"
msgstr "ostatni rok"
-#: template.php:114
+#: template.php:124
msgid "years ago"
msgstr "lat temu"
diff --git a/l10n/pl/settings.po b/l10n/pl/settings.po
index bd13e836e65..e54af3f5f75 100644
--- a/l10n/pl/settings.po
+++ b/l10n/pl/settings.po
@@ -3,8 +3,9 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# <b13n1u@gmail.com>, 2013.
# Cyryl Sochacki <>, 2012.
-# Cyryl Sochacki <cyrylsochacki@gmail.com>, 2012.
+# Cyryl Sochacki <cyrylsochacki@gmail.com>, 2012-2013.
# <icewind1991@gmail.com>, 2012.
# Kamil Domański <kdomanski@kdemail.net>, 2011.
# Marcin Małecki <gerber@tkdami.net>, 2011, 2012.
@@ -17,9 +18,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-21 00:10+0100\n"
-"PO-Revision-Date: 2012-12-19 23:20+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-21 00:04+0100\n"
+"PO-Revision-Date: 2013-01-20 19:42+0000\n"
+"Last-Translator: b13n1u <b13n1u@gmail.com>\n"
"Language-Team: Polish (http://www.transifex.com/projects/p/owncloud/language/pl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -39,7 +40,7 @@ msgstr "Grupa już istnieje"
msgid "Unable to add group"
msgstr "Nie można dodać grupy"
-#: ajax/enableapp.php:12
+#: ajax/enableapp.php:11
msgid "Could not enable app. "
msgstr "Nie można włączyć aplikacji."
@@ -51,14 +52,6 @@ msgstr "Email zapisany"
msgid "Invalid email"
msgstr "Niepoprawny email"
-#: ajax/openid.php:13
-msgid "OpenID Changed"
-msgstr "Zmieniono OpenID"
-
-#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20
-msgid "Invalid request"
-msgstr "Nieprawidłowe żądanie"
-
#: ajax/removegroup.php:13
msgid "Unable to delete group"
msgstr "Nie można usunąć grupy"
@@ -75,6 +68,10 @@ msgstr "Nie można usunąć użytkownika"
msgid "Language changed"
msgstr "Język zmieniony"
+#: ajax/setlanguage.php:17 ajax/setlanguage.php:20
+msgid "Invalid request"
+msgstr "Nieprawidłowe żądanie"
+
#: ajax/togglegroups.php:12
msgid "Admins can't remove themself from the admin group"
msgstr "Administratorzy nie mogą usunąć się sami z grupy administratorów."
@@ -127,27 +124,27 @@ msgstr "<span class=\"licence\"></span>-licencjonowane przez <span class=\"autho
#: templates/help.php:3
msgid "User Documentation"
-msgstr ""
+msgstr "Dokumentacja użytkownika"
#: templates/help.php:4
msgid "Administrator Documentation"
-msgstr ""
+msgstr "Dokumentacja Administratora"
#: templates/help.php:6
msgid "Online Documentation"
-msgstr ""
+msgstr "Dokumentacja Online"
#: templates/help.php:7
msgid "Forum"
-msgstr ""
+msgstr "Forum"
#: templates/help.php:9
msgid "Bugtracker"
-msgstr ""
+msgstr "Zgłaszanie błędów"
#: templates/help.php:11
msgid "Commercial Support"
-msgstr ""
+msgstr "Wsparcie komercyjne"
#: templates/personal.php:8
#, php-format
@@ -160,17 +157,17 @@ msgstr "Klienci"
#: templates/personal.php:13
msgid "Download Desktop Clients"
-msgstr ""
+msgstr "Pobierz klienta dla Komputera"
#: templates/personal.php:14
msgid "Download Android Client"
-msgstr ""
+msgstr "Pobierz klienta dla Androida"
#: templates/personal.php:15
msgid "Download iOS Client"
-msgstr ""
+msgstr "Pobierz klienta dla iOS"
-#: templates/personal.php:21 templates/users.php:23 templates/users.php:77
+#: templates/personal.php:21 templates/users.php:23 templates/users.php:82
msgid "Password"
msgstr "Hasło"
@@ -220,15 +217,15 @@ msgstr "Pomóż w tłumaczeniu"
#: templates/personal.php:52
msgid "WebDAV"
-msgstr ""
+msgstr "WebDAV"
#: templates/personal.php:54
msgid "Use this address to connect to your ownCloud in your file manager"
-msgstr ""
+msgstr "Użyj tego adresu aby podłączyć zasób ownCloud w menedżerze plików"
#: templates/personal.php:63
msgid "Version"
-msgstr ""
+msgstr "Wersja"
#: templates/personal.php:65
msgid ""
@@ -238,13 +235,13 @@ 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 "Stwirzone przez <a href=\"http://ownCloud.org/contact\" target=\"_blank\"> społeczność ownCloud</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">kod źródłowy</a> na licencji <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>."
+msgstr "Stworzone przez <a href=\"http://ownCloud.org/contact\" target=\"_blank\"> społeczność ownCloud</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">kod źródłowy</a> na licencji <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>."
-#: templates/users.php:21 templates/users.php:76
+#: templates/users.php:21 templates/users.php:81
msgid "Name"
msgstr "Nazwa"
-#: templates/users.php:26 templates/users.php:78 templates/users.php:98
+#: templates/users.php:26 templates/users.php:83 templates/users.php:103
msgid "Groups"
msgstr "Grupy"
@@ -253,21 +250,29 @@ msgid "Create"
msgstr "Utwórz"
#: templates/users.php:35
-msgid "Default Quota"
-msgstr "Domyślny udział"
+msgid "Default Storage"
+msgstr "Domyślny magazyn"
-#: templates/users.php:55 templates/users.php:138
+#: templates/users.php:42 templates/users.php:138
+msgid "Unlimited"
+msgstr "Bez limitu"
+
+#: templates/users.php:60 templates/users.php:153
msgid "Other"
msgstr "Inne"
-#: templates/users.php:80 templates/users.php:112
+#: templates/users.php:85 templates/users.php:117
msgid "Group Admin"
msgstr "Grupa Admin"
-#: templates/users.php:82
-msgid "Quota"
-msgstr "Udział"
+#: templates/users.php:87
+msgid "Storage"
+msgstr "Magazyn"
+
+#: templates/users.php:133
+msgid "Default"
+msgstr "Domyślny"
-#: templates/users.php:146
+#: templates/users.php:161
msgid "Delete"
msgstr "UsunÌ"
diff --git a/l10n/pl/user_ldap.po b/l10n/pl/user_ldap.po
index 25b35d770df..cd8904acc25 100644
--- a/l10n/pl/user_ldap.po
+++ b/l10n/pl/user_ldap.po
@@ -10,9 +10,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-19 00:03+0100\n"
-"PO-Revision-Date: 2012-12-18 18:12+0000\n"
-"Last-Translator: Marcin Małecki <gerber@tkdami.net>\n"
+"POT-Creation-Date: 2013-01-16 00:19+0100\n"
+"PO-Revision-Date: 2013-01-15 23:20+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -29,9 +29,9 @@ msgstr "<b>Ostrzeżenie:</b> Aplikacje user_ldap i user_webdavauth nie są komp
#: templates/settings.php:11
msgid ""
-"<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will"
-" not work. Please ask your system administrator to install it."
-msgstr "<b>Ostrzeżenie:</b> Moduł PHP LDAP nie jest zainstalowany i nie będzie działał. Poproś administratora o włączenie go."
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not "
+"work. Please ask your system administrator to install it."
+msgstr ""
#: templates/settings.php:15
msgid "Host"
@@ -47,6 +47,10 @@ msgid "Base DN"
msgstr "Baza DN"
#: templates/settings.php:16
+msgid "One Base DN per line"
+msgstr ""
+
+#: templates/settings.php:16
msgid "You can specify Base DN for users and groups in the Advanced tab"
msgstr "Bazę DN można określić dla użytkowników i grup w karcie Zaawansowane"
@@ -117,10 +121,18 @@ msgstr "Port"
msgid "Base User Tree"
msgstr "Drzewo bazy użytkowników"
+#: templates/settings.php:25
+msgid "One User Base DN per line"
+msgstr ""
+
#: templates/settings.php:26
msgid "Base Group Tree"
msgstr "Drzewo bazy grup"
+#: templates/settings.php:26
+msgid "One Group Base DN per line"
+msgstr ""
+
#: templates/settings.php:27
msgid "Group-Member association"
msgstr "Członek grupy stowarzyszenia"
diff --git a/l10n/pl/user_webdavauth.po b/l10n/pl/user_webdavauth.po
index f745f1f1320..44e963a5a43 100644
--- a/l10n/pl/user_webdavauth.po
+++ b/l10n/pl/user_webdavauth.po
@@ -3,15 +3,16 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# <bbartlomiej@gmail.com>, 2013.
# Cyryl Sochacki <cyrylsochacki@gmail.com>, 2012.
# Marcin Małecki <gerber@tkdami.net>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-21 00:10+0100\n"
-"PO-Revision-Date: 2012-12-20 11:39+0000\n"
-"Last-Translator: Marcin Małecki <gerber@tkdami.net>\n"
+"POT-Creation-Date: 2013-01-16 00:19+0100\n"
+"PO-Revision-Date: 2013-01-15 08:54+0000\n"
+"Last-Translator: bbartlomiej <bbartlomiej@gmail.com>\n"
"Language-Team: Polish (http://www.transifex.com/projects/p/owncloud/language/pl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -19,13 +20,17 @@ msgstr ""
"Language: pl\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+#: templates/settings.php:3
+msgid "WebDAV Authentication"
+msgstr "Uwierzytelnienie WebDAV"
+
#: templates/settings.php:4
msgid "URL: http://"
msgstr "URL: http://"
#: templates/settings.php:6
msgid ""
-"ownCloud will send the user credentials to this URL is interpret http 401 "
-"and http 403 as credentials wrong and all other codes as credentials "
-"correct."
-msgstr ""
+"ownCloud will send the user credentials to this URL. 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 "ownCloud wyśle dane uwierzytelniające do tego URL. Ten plugin sprawdza odpowiedź i zinterpretuje kody HTTP 401 oraz 403 jako nieprawidłowe dane uwierzytelniające, a każdy inny kod odpowiedzi jako poprawne dane."
diff --git a/l10n/pl_PL/core.po b/l10n/pl_PL/core.po
index fece08d3db8..d5e325117d9 100644
--- a/l10n/pl_PL/core.po
+++ b/l10n/pl_PL/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: 2012-12-13 00:17+0100\n"
-"PO-Revision-Date: 2012-12-12 23:17+0000\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:03+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Polish (Poland) (http://www.transifex.com/projects/p/owncloud/language/pl_PL/)\n"
"MIME-Version: 1.0\n"
@@ -83,55 +83,55 @@ msgstr ""
msgid "Settings"
msgstr "Ustawienia"
-#: js/js.js:704
+#: js/js.js:711
msgid "seconds ago"
msgstr ""
-#: js/js.js:705
+#: js/js.js:712
msgid "1 minute ago"
msgstr ""
-#: js/js.js:706
+#: js/js.js:713
msgid "{minutes} minutes ago"
msgstr ""
-#: js/js.js:707
+#: js/js.js:714
msgid "1 hour ago"
msgstr ""
-#: js/js.js:708
+#: js/js.js:715
msgid "{hours} hours ago"
msgstr ""
-#: js/js.js:709
+#: js/js.js:716
msgid "today"
msgstr ""
-#: js/js.js:710
+#: js/js.js:717
msgid "yesterday"
msgstr ""
-#: js/js.js:711
+#: js/js.js:718
msgid "{days} days ago"
msgstr ""
-#: js/js.js:712
+#: js/js.js:719
msgid "last month"
msgstr ""
-#: js/js.js:713
+#: js/js.js:720
msgid "{months} months ago"
msgstr ""
-#: js/js.js:714
+#: js/js.js:721
msgid "months ago"
msgstr ""
-#: js/js.js:715
+#: js/js.js:722
msgid "last year"
msgstr ""
-#: js/js.js:716
+#: js/js.js:723
msgid "years ago"
msgstr ""
@@ -161,8 +161,8 @@ msgid "The object type is not specified."
msgstr ""
#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136
-#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:541
-#: js/share.js:553
+#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:554
+#: js/share.js:566
msgid "Error"
msgstr ""
@@ -174,7 +174,7 @@ msgstr ""
msgid "The required file {file} is not installed!"
msgstr ""
-#: js/share.js:124 js/share.js:581
+#: js/share.js:124 js/share.js:594
msgid "Error while sharing"
msgstr ""
@@ -202,12 +202,11 @@ msgstr ""
msgid "Share with link"
msgstr ""
-#: js/share.js:164
+#: js/share.js:166
msgid "Password protect"
msgstr ""
-#: js/share.js:168 templates/installation.php:42 templates/login.php:24
-#: templates/verify.php:13
+#: js/share.js:168 templates/installation.php:44 templates/login.php:35
msgid "Password"
msgstr ""
@@ -271,23 +270,23 @@ msgstr ""
msgid "share"
msgstr ""
-#: js/share.js:353 js/share.js:528 js/share.js:530
+#: js/share.js:356 js/share.js:541
msgid "Password protected"
msgstr ""
-#: js/share.js:541
+#: js/share.js:554
msgid "Error unsetting expiration date"
msgstr ""
-#: js/share.js:553
+#: js/share.js:566
msgid "Error setting expiration date"
msgstr ""
-#: js/share.js:568
+#: js/share.js:581
msgid "Sending ..."
msgstr ""
-#: js/share.js:579
+#: js/share.js:592
msgid "Email sent"
msgstr ""
@@ -311,8 +310,8 @@ msgstr ""
msgid "Request failed!"
msgstr ""
-#: lostpassword/templates/lostpassword.php:11 templates/installation.php:38
-#: templates/login.php:20
+#: lostpassword/templates/lostpassword.php:11 templates/installation.php:39
+#: templates/login.php:28
msgid "Username"
msgstr "Nazwa użytkownika"
@@ -401,44 +400,44 @@ msgstr ""
msgid "Create an <strong>admin account</strong>"
msgstr ""
-#: templates/installation.php:48
+#: templates/installation.php:50
msgid "Advanced"
msgstr ""
-#: templates/installation.php:50
+#: templates/installation.php:52
msgid "Data folder"
msgstr ""
-#: templates/installation.php:57
+#: templates/installation.php:59
msgid "Configure the database"
msgstr ""
-#: templates/installation.php:62 templates/installation.php:73
-#: templates/installation.php:83 templates/installation.php:93
+#: templates/installation.php:64 templates/installation.php:75
+#: templates/installation.php:85 templates/installation.php:95
msgid "will be used"
msgstr ""
-#: templates/installation.php:105
+#: templates/installation.php:107
msgid "Database user"
msgstr ""
-#: templates/installation.php:109
+#: templates/installation.php:111
msgid "Database password"
msgstr ""
-#: templates/installation.php:113
+#: templates/installation.php:115
msgid "Database name"
msgstr ""
-#: templates/installation.php:121
+#: templates/installation.php:123
msgid "Database tablespace"
msgstr ""
-#: templates/installation.php:127
+#: templates/installation.php:129
msgid "Database host"
msgstr ""
-#: templates/installation.php:132
+#: templates/installation.php:134
msgid "Finish setup"
msgstr ""
@@ -526,36 +525,32 @@ msgstr ""
msgid "Log out"
msgstr ""
-#: templates/login.php:8
+#: templates/login.php:10
msgid "Automatic logon rejected!"
msgstr ""
-#: templates/login.php:9
+#: templates/login.php:11
msgid ""
"If you did not change your password recently, your account may be "
"compromised!"
msgstr ""
-#: templates/login.php:10
+#: templates/login.php:13
msgid "Please change your password to secure your account again."
msgstr ""
-#: templates/login.php:15
+#: templates/login.php:19
msgid "Lost your password?"
msgstr ""
-#: templates/login.php:27
+#: templates/login.php:39
msgid "remember"
msgstr ""
-#: templates/login.php:28
+#: templates/login.php:41
msgid "Log in"
msgstr ""
-#: templates/logout.php:1
-msgid "You are logged out."
-msgstr ""
-
#: templates/part.pagenavi.php:3
msgid "prev"
msgstr ""
@@ -564,16 +559,7 @@ msgstr ""
msgid "next"
msgstr ""
-#: templates/verify.php:5
-msgid "Security Warning!"
-msgstr ""
-
-#: templates/verify.php:6
-msgid ""
-"Please verify your password. <br/>For security reasons you may be "
-"occasionally asked to enter your password again."
-msgstr ""
-
-#: templates/verify.php:16
-msgid "Verify"
+#: templates/update.php:3
+#, php-format
+msgid "Updating ownCloud to version %s, this may take a while."
msgstr ""
diff --git a/l10n/pl_PL/files.po b/l10n/pl_PL/files.po
index 2e1909d5c9f..d76af487676 100644
--- a/l10n/pl_PL/files.po
+++ b/l10n/pl_PL/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: 2012-12-01 00:01+0100\n"
-"PO-Revision-Date: 2012-11-30 23:02+0000\n"
+"POT-Creation-Date: 2013-01-20 00:05+0100\n"
+"PO-Revision-Date: 2013-01-19 23:05+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Polish (Poland) (http://www.transifex.com/projects/p/owncloud/language/pl_PL/)\n"
"MIME-Version: 1.0\n"
@@ -17,46 +17,77 @@ msgstr ""
"Language: pl_PL\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+#: ajax/delete.php:28 ajax/getstoragestats.php:11 ajax/upload.php:17
+#: ajax/upload.php:76 templates/index.php:18
+msgid "Upload"
+msgstr ""
+
+#: ajax/move.php:17
+#, php-format
+msgid "Could not move %s - File with this name already exists"
+msgstr ""
+
+#: ajax/move.php:24
+#, php-format
+msgid "Could not move %s"
+msgstr ""
+
+#: ajax/rename.php:19
+msgid "Unable to rename file"
+msgstr ""
+
#: ajax/upload.php:20
+msgid "No file was uploaded. Unknown error"
+msgstr ""
+
+#: ajax/upload.php:30
msgid "There is no error, the file uploaded with success"
msgstr ""
-#: ajax/upload.php:21
+#: ajax/upload.php:31
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr ""
-#: ajax/upload.php:23
+#: ajax/upload.php:33
msgid ""
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
"the HTML form"
msgstr ""
-#: ajax/upload.php:25
+#: ajax/upload.php:35
msgid "The uploaded file was only partially uploaded"
msgstr ""
-#: ajax/upload.php:26
+#: ajax/upload.php:36
msgid "No file was uploaded"
msgstr ""
-#: ajax/upload.php:27
+#: ajax/upload.php:37
msgid "Missing a temporary folder"
msgstr ""
-#: ajax/upload.php:28
+#: ajax/upload.php:38
msgid "Failed to write to disk"
msgstr ""
+#: ajax/upload.php:57
+msgid "Not enough space available"
+msgstr ""
+
+#: ajax/upload.php:91
+msgid "Invalid directory."
+msgstr ""
+
#: appinfo/app.php:10
msgid "Files"
msgstr ""
-#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84
+#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
msgid "Unshare"
msgstr ""
-#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90
+#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
msgid "Delete"
msgstr ""
@@ -64,122 +95,136 @@ msgstr ""
msgid "Rename"
msgstr ""
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "{new_name} already exists"
msgstr ""
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "replace"
msgstr ""
-#: js/filelist.js:201
+#: js/filelist.js:205
msgid "suggest name"
msgstr ""
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "cancel"
msgstr ""
-#: js/filelist.js:250
+#: js/filelist.js:254
msgid "replaced {new_name}"
msgstr ""
-#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286
+#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
msgid "undo"
msgstr ""
-#: js/filelist.js:252
+#: js/filelist.js:256
msgid "replaced {new_name} with {old_name}"
msgstr ""
-#: js/filelist.js:284
+#: js/filelist.js:288
msgid "unshared {files}"
msgstr ""
-#: js/filelist.js:286
+#: js/filelist.js:290
msgid "deleted {files}"
msgstr ""
-#: js/files.js:33
+#: js/files.js:48
+msgid "'.' is an invalid file name."
+msgstr ""
+
+#: js/files.js:53
+msgid "File name cannot be empty."
+msgstr ""
+
+#: js/files.js:62
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr ""
-#: js/files.js:183
-msgid "generating ZIP-file, it may take some time."
+#: js/files.js:204
+msgid ""
+"Your download is being prepared. This might take some time if the files are "
+"big."
msgstr ""
-#: js/files.js:218
+#: js/files.js:242
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr ""
-#: js/files.js:218
+#: js/files.js:242
msgid "Upload Error"
msgstr ""
-#: js/files.js:235
+#: js/files.js:259
msgid "Close"
msgstr ""
-#: js/files.js:254 js/files.js:368 js/files.js:398
+#: js/files.js:278 js/files.js:397 js/files.js:431
msgid "Pending"
msgstr ""
-#: js/files.js:274
+#: js/files.js:298
msgid "1 file uploading"
msgstr ""
-#: js/files.js:277 js/files.js:331 js/files.js:346
+#: js/files.js:301 js/files.js:357 js/files.js:372
msgid "{count} files uploading"
msgstr ""
-#: js/files.js:349 js/files.js:382
+#: js/files.js:376 js/files.js:414
msgid "Upload cancelled."
msgstr ""
-#: js/files.js:451
+#: js/files.js:486
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr ""
-#: js/files.js:523
-msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud"
+#: js/files.js:559
+msgid "URL cannot be empty."
msgstr ""
-#: js/files.js:704
+#: js/files.js:565
+msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
+msgstr ""
+
+#: js/files.js:775
msgid "{count} files scanned"
msgstr ""
-#: js/files.js:712
+#: js/files.js:783
msgid "error while scanning"
msgstr ""
-#: js/files.js:785 templates/index.php:65
+#: js/files.js:857 templates/index.php:64
msgid "Name"
msgstr ""
-#: js/files.js:786 templates/index.php:76
+#: js/files.js:858 templates/index.php:75
msgid "Size"
msgstr ""
-#: js/files.js:787 templates/index.php:78
+#: js/files.js:859 templates/index.php:77
msgid "Modified"
msgstr ""
-#: js/files.js:814
+#: js/files.js:878
msgid "1 folder"
msgstr ""
-#: js/files.js:816
+#: js/files.js:880
msgid "{count} folders"
msgstr ""
-#: js/files.js:824
+#: js/files.js:888
msgid "1 file"
msgstr ""
-#: js/files.js:826
+#: js/files.js:890
msgid "{count} files"
msgstr ""
@@ -191,27 +236,27 @@ msgstr ""
msgid "Maximum upload size"
msgstr ""
-#: templates/admin.php:9
+#: templates/admin.php:10
msgid "max. possible: "
msgstr ""
-#: templates/admin.php:12
+#: templates/admin.php:15
msgid "Needed for multi-file and folder downloads."
msgstr ""
-#: templates/admin.php:14
+#: templates/admin.php:17
msgid "Enable ZIP-download"
msgstr ""
-#: templates/admin.php:17
+#: templates/admin.php:20
msgid "0 is unlimited"
msgstr ""
-#: templates/admin.php:19
+#: templates/admin.php:22
msgid "Maximum input size for ZIP files"
msgstr ""
-#: templates/admin.php:23
+#: templates/admin.php:26
msgid "Save"
msgstr "Zapisz"
@@ -231,36 +276,32 @@ msgstr ""
msgid "From link"
msgstr ""
-#: templates/index.php:35
-msgid "Upload"
-msgstr ""
-
-#: templates/index.php:43
+#: templates/index.php:41
msgid "Cancel upload"
msgstr ""
-#: templates/index.php:57
+#: templates/index.php:56
msgid "Nothing in here. Upload something!"
msgstr ""
-#: templates/index.php:71
+#: templates/index.php:70
msgid "Download"
msgstr ""
-#: templates/index.php:103
+#: templates/index.php:102
msgid "Upload too large"
msgstr ""
-#: templates/index.php:105
+#: templates/index.php:104
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr ""
-#: templates/index.php:110
+#: templates/index.php:109
msgid "Files are being scanned, please wait."
msgstr ""
-#: templates/index.php:113
+#: templates/index.php:112
msgid "Current scanning"
msgstr ""
diff --git a/l10n/pl_PL/files_encryption.po b/l10n/pl_PL/files_encryption.po
index 6512705ecbc..ce8f0779cae 100644
--- a/l10n/pl_PL/files_encryption.po
+++ b/l10n/pl_PL/files_encryption.po
@@ -7,28 +7,76 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-08-31 02:02+0200\n"
-"PO-Revision-Date: 2012-08-12 22:33+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Polish (Poland) (http://www.transifex.com/projects/p/owncloud/language/pl_PL/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: pl_PL\n"
-"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n"
+"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-#: templates/settings.php:3
-msgid "Encryption"
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
msgstr ""
-#: templates/settings.php:4
-msgid "Exclude the following file types from encryption"
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
msgstr ""
-#: templates/settings.php:5
-msgid "None"
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
msgstr ""
#: templates/settings.php:10
-msgid "Enable Encryption"
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
+msgid "Encryption"
+msgstr ""
+
+#: templates/settings.php:67
+msgid "Exclude the following file types from encryption"
+msgstr ""
+
+#: templates/settings.php:71
+msgid "None"
msgstr ""
diff --git a/l10n/pl_PL/files_versions.po b/l10n/pl_PL/files_versions.po
index 40053b76ef7..38bf131e3e4 100644
--- a/l10n/pl_PL/files_versions.po
+++ b/l10n/pl_PL/files_versions.po
@@ -7,9 +7,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-09-22 01:14+0200\n"
-"PO-Revision-Date: 2012-09-21 23:15+0000\n"
-"Last-Translator: I Robot <thomas.mueller@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Polish (Poland) (http://www.transifex.com/projects/p/owncloud/language/pl_PL/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -17,22 +17,10 @@ msgstr ""
"Language: pl_PL\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-#: js/settings-personal.js:31 templates/settings-personal.php:10
-msgid "Expire all versions"
-msgstr ""
-
#: js/versions.js:16
msgid "History"
msgstr ""
-#: templates/settings-personal.php:4
-msgid "Versions"
-msgstr ""
-
-#: templates/settings-personal.php:7
-msgid "This will delete all existing backup versions of your files"
-msgstr ""
-
#: templates/settings.php:3
msgid "Files Versioning"
msgstr ""
diff --git a/l10n/pl_PL/lib.po b/l10n/pl_PL/lib.po
index 3ce2989bb99..af7e0260b91 100644
--- a/l10n/pl_PL/lib.po
+++ b/l10n/pl_PL/lib.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-11-16 00:02+0100\n"
-"PO-Revision-Date: 2012-11-14 23:13+0000\n"
+"POT-Creation-Date: 2013-01-17 00:26+0100\n"
+"PO-Revision-Date: 2013-01-16 23:26+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Polish (Poland) (http://www.transifex.com/projects/p/owncloud/language/pl_PL/)\n"
"MIME-Version: 1.0\n"
@@ -17,51 +17,55 @@ msgstr ""
"Language: pl_PL\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-#: app.php:285
+#: app.php:301
msgid "Help"
msgstr ""
-#: app.php:292
+#: app.php:308
msgid "Personal"
msgstr ""
-#: app.php:297
+#: app.php:313
msgid "Settings"
msgstr "Ustawienia"
-#: app.php:302
+#: app.php:318
msgid "Users"
msgstr ""
-#: app.php:309
+#: app.php:325
msgid "Apps"
msgstr ""
-#: app.php:311
+#: app.php:327
msgid "Admin"
msgstr ""
-#: files.php:332
+#: files.php:365
msgid "ZIP download is turned off."
msgstr ""
-#: files.php:333
+#: files.php:366
msgid "Files need to be downloaded one by one."
msgstr ""
-#: files.php:333 files.php:358
+#: files.php:366 files.php:391
msgid "Back to Files"
msgstr ""
-#: files.php:357
+#: files.php:390
msgid "Selected files too large to generate zip file."
msgstr ""
+#: helper.php:228
+msgid "couldn't be determined"
+msgstr ""
+
#: json.php:28
msgid "Application is not enabled"
msgstr ""
-#: json.php:39 json.php:64 json.php:77 json.php:89
+#: json.php:39 json.php:62 json.php:73
msgid "Authentication error"
msgstr ""
@@ -81,55 +85,55 @@ msgstr ""
msgid "Images"
msgstr ""
-#: template.php:103
+#: template.php:113
msgid "seconds ago"
msgstr ""
-#: template.php:104
+#: template.php:114
msgid "1 minute ago"
msgstr ""
-#: template.php:105
+#: template.php:115
#, php-format
msgid "%d minutes ago"
msgstr ""
-#: template.php:106
+#: template.php:116
msgid "1 hour ago"
msgstr ""
-#: template.php:107
+#: template.php:117
#, php-format
msgid "%d hours ago"
msgstr ""
-#: template.php:108
+#: template.php:118
msgid "today"
msgstr ""
-#: template.php:109
+#: template.php:119
msgid "yesterday"
msgstr ""
-#: template.php:110
+#: template.php:120
#, php-format
msgid "%d days ago"
msgstr ""
-#: template.php:111
+#: template.php:121
msgid "last month"
msgstr ""
-#: template.php:112
+#: template.php:122
#, php-format
msgid "%d months ago"
msgstr ""
-#: template.php:113
+#: template.php:123
msgid "last year"
msgstr ""
-#: template.php:114
+#: template.php:124
msgid "years ago"
msgstr ""
diff --git a/l10n/pl_PL/settings.po b/l10n/pl_PL/settings.po
index f90f3c11162..5689bcb950d 100644
--- a/l10n/pl_PL/settings.po
+++ b/l10n/pl_PL/settings.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-20 00:11+0100\n"
-"PO-Revision-Date: 2012-12-19 23:11+0000\n"
+"POT-Creation-Date: 2013-01-12 00:09+0100\n"
+"PO-Revision-Date: 2013-01-11 23:09+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Polish (Poland) (http://www.transifex.com/projects/p/owncloud/language/pl_PL/)\n"
"MIME-Version: 1.0\n"
@@ -29,7 +29,7 @@ msgstr ""
msgid "Unable to add group"
msgstr ""
-#: ajax/enableapp.php:12
+#: ajax/enableapp.php:11
msgid "Could not enable app. "
msgstr ""
@@ -41,14 +41,6 @@ msgstr ""
msgid "Invalid email"
msgstr ""
-#: ajax/openid.php:13
-msgid "OpenID Changed"
-msgstr ""
-
-#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20
-msgid "Invalid request"
-msgstr ""
-
#: ajax/removegroup.php:13
msgid "Unable to delete group"
msgstr ""
@@ -65,6 +57,10 @@ msgstr ""
msgid "Language changed"
msgstr ""
+#: ajax/setlanguage.php:17 ajax/setlanguage.php:20
+msgid "Invalid request"
+msgstr ""
+
#: ajax/togglegroups.php:12
msgid "Admins can't remove themself from the admin group"
msgstr ""
@@ -160,7 +156,7 @@ msgstr ""
msgid "Download iOS Client"
msgstr ""
-#: templates/personal.php:21 templates/users.php:23 templates/users.php:77
+#: templates/personal.php:21 templates/users.php:23 templates/users.php:82
msgid "Password"
msgstr ""
@@ -230,11 +226,11 @@ msgid ""
"License\">AGPL</abbr></a>."
msgstr ""
-#: templates/users.php:21 templates/users.php:76
+#: templates/users.php:21 templates/users.php:81
msgid "Name"
msgstr ""
-#: templates/users.php:26 templates/users.php:78 templates/users.php:98
+#: templates/users.php:26 templates/users.php:83 templates/users.php:103
msgid "Groups"
msgstr ""
@@ -243,21 +239,29 @@ msgid "Create"
msgstr ""
#: templates/users.php:35
-msgid "Default Quota"
+msgid "Default Storage"
+msgstr ""
+
+#: templates/users.php:42 templates/users.php:138
+msgid "Unlimited"
msgstr ""
-#: templates/users.php:55 templates/users.php:138
+#: templates/users.php:60 templates/users.php:153
msgid "Other"
msgstr ""
-#: templates/users.php:80 templates/users.php:112
+#: templates/users.php:85 templates/users.php:117
msgid "Group Admin"
msgstr ""
-#: templates/users.php:82
-msgid "Quota"
+#: templates/users.php:87
+msgid "Storage"
+msgstr ""
+
+#: templates/users.php:133
+msgid "Default"
msgstr ""
-#: templates/users.php:146
+#: templates/users.php:161
msgid "Delete"
msgstr ""
diff --git a/l10n/pl_PL/user_ldap.po b/l10n/pl_PL/user_ldap.po
index de4bd2f3523..36eb526f464 100644
--- a/l10n/pl_PL/user_ldap.po
+++ b/l10n/pl_PL/user_ldap.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-15 00:11+0100\n"
-"PO-Revision-Date: 2012-12-14 23:11+0000\n"
+"POT-Creation-Date: 2013-01-16 00:19+0100\n"
+"PO-Revision-Date: 2013-01-15 23:20+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Polish (Poland) (http://www.transifex.com/projects/p/owncloud/language/pl_PL/)\n"
"MIME-Version: 1.0\n"
@@ -26,8 +26,8 @@ msgstr ""
#: templates/settings.php:11
msgid ""
-"<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will"
-" not work. Please ask your system administrator to install it."
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not "
+"work. Please ask your system administrator to install it."
msgstr ""
#: templates/settings.php:15
@@ -44,6 +44,10 @@ msgid "Base DN"
msgstr ""
#: templates/settings.php:16
+msgid "One Base DN per line"
+msgstr ""
+
+#: templates/settings.php:16
msgid "You can specify Base DN for users and groups in the Advanced tab"
msgstr ""
@@ -114,10 +118,18 @@ msgstr ""
msgid "Base User Tree"
msgstr ""
+#: templates/settings.php:25
+msgid "One User Base DN per line"
+msgstr ""
+
#: templates/settings.php:26
msgid "Base Group Tree"
msgstr ""
+#: templates/settings.php:26
+msgid "One Group Base DN per line"
+msgstr ""
+
#: templates/settings.php:27
msgid "Group-Member association"
msgstr ""
diff --git a/l10n/pl_PL/user_webdavauth.po b/l10n/pl_PL/user_webdavauth.po
index 77261b85639..2ffe7523c4d 100644
--- a/l10n/pl_PL/user_webdavauth.po
+++ b/l10n/pl_PL/user_webdavauth.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-20 00:11+0100\n"
-"PO-Revision-Date: 2012-12-19 23:12+0000\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Polish (Poland) (http://www.transifex.com/projects/p/owncloud/language/pl_PL/)\n"
"MIME-Version: 1.0\n"
@@ -17,13 +17,17 @@ msgstr ""
"Language: pl_PL\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+#: templates/settings.php:3
+msgid "WebDAV Authentication"
+msgstr ""
+
#: templates/settings.php:4
msgid "URL: http://"
msgstr ""
#: templates/settings.php:6
msgid ""
-"ownCloud will send the user credentials to this URL is interpret http 401 "
-"and http 403 as credentials wrong and all other codes as credentials "
-"correct."
+"ownCloud will send the user credentials to this URL. 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 ""
diff --git a/l10n/pt_BR/core.po b/l10n/pt_BR/core.po
index 3930ee56234..da3de9ac4c4 100644
--- a/l10n/pt_BR/core.po
+++ b/l10n/pt_BR/core.po
@@ -17,8 +17,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-13 00:17+0100\n"
-"PO-Revision-Date: 2012-12-12 23:17+0000\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:03+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"
@@ -93,55 +93,55 @@ msgstr "Erro ao remover %s dos favoritos."
msgid "Settings"
msgstr "Configurações"
-#: js/js.js:704
+#: js/js.js:711
msgid "seconds ago"
msgstr "segundos atrás"
-#: js/js.js:705
+#: js/js.js:712
msgid "1 minute ago"
msgstr "1 minuto atrás"
-#: js/js.js:706
+#: js/js.js:713
msgid "{minutes} minutes ago"
msgstr "{minutes} minutos atrás"
-#: js/js.js:707
+#: js/js.js:714
msgid "1 hour ago"
msgstr "1 hora atrás"
-#: js/js.js:708
+#: js/js.js:715
msgid "{hours} hours ago"
msgstr "{hours} horas atrás"
-#: js/js.js:709
+#: js/js.js:716
msgid "today"
msgstr "hoje"
-#: js/js.js:710
+#: js/js.js:717
msgid "yesterday"
msgstr "ontem"
-#: js/js.js:711
+#: js/js.js:718
msgid "{days} days ago"
msgstr "{days} dias atrás"
-#: js/js.js:712
+#: js/js.js:719
msgid "last month"
msgstr "último mês"
-#: js/js.js:713
+#: js/js.js:720
msgid "{months} months ago"
msgstr "{months} meses atrás"
-#: js/js.js:714
+#: js/js.js:721
msgid "months ago"
msgstr "meses atrás"
-#: js/js.js:715
+#: js/js.js:722
msgid "last year"
msgstr "último ano"
-#: js/js.js:716
+#: js/js.js:723
msgid "years ago"
msgstr "anos atrás"
@@ -171,8 +171,8 @@ msgid "The object type is not specified."
msgstr "O tipo de objeto não foi especificado."
#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136
-#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:541
-#: js/share.js:553
+#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:554
+#: js/share.js:566
msgid "Error"
msgstr "Erro"
@@ -184,7 +184,7 @@ msgstr "O nome do app não foi especificado."
msgid "The required file {file} is not installed!"
msgstr "O arquivo {file} necessário não está instalado!"
-#: js/share.js:124 js/share.js:581
+#: js/share.js:124 js/share.js:594
msgid "Error while sharing"
msgstr "Erro ao compartilhar"
@@ -212,12 +212,11 @@ msgstr "Compartilhar com"
msgid "Share with link"
msgstr "Compartilhar com link"
-#: js/share.js:164
+#: js/share.js:166
msgid "Password protect"
msgstr "Proteger com senha"
-#: js/share.js:168 templates/installation.php:42 templates/login.php:24
-#: templates/verify.php:13
+#: js/share.js:168 templates/installation.php:44 templates/login.php:35
msgid "Password"
msgstr "Senha"
@@ -281,23 +280,23 @@ msgstr "remover"
msgid "share"
msgstr "compartilhar"
-#: js/share.js:353 js/share.js:528 js/share.js:530
+#: js/share.js:356 js/share.js:541
msgid "Password protected"
msgstr "Protegido com senha"
-#: js/share.js:541
+#: js/share.js:554
msgid "Error unsetting expiration date"
msgstr "Erro ao remover data de expiração"
-#: js/share.js:553
+#: js/share.js:566
msgid "Error setting expiration date"
msgstr "Erro ao definir data de expiração"
-#: js/share.js:568
+#: js/share.js:581
msgid "Sending ..."
msgstr ""
-#: js/share.js:579
+#: js/share.js:592
msgid "Email sent"
msgstr ""
@@ -321,8 +320,8 @@ msgstr "Email de redefinição de senha enviado."
msgid "Request failed!"
msgstr "A requisição falhou!"
-#: lostpassword/templates/lostpassword.php:11 templates/installation.php:38
-#: templates/login.php:20
+#: lostpassword/templates/lostpassword.php:11 templates/installation.php:39
+#: templates/login.php:28
msgid "Username"
msgstr "Nome de Usuário"
@@ -411,44 +410,44 @@ msgstr "Seu diretório de dados e seus arquivos estão, provavelmente, acessíve
msgid "Create an <strong>admin account</strong>"
msgstr "Criar uma <strong>conta</strong> de <strong>administrador</strong>"
-#: templates/installation.php:48
+#: templates/installation.php:50
msgid "Advanced"
msgstr "Avançado"
-#: templates/installation.php:50
+#: templates/installation.php:52
msgid "Data folder"
msgstr "Pasta de dados"
-#: templates/installation.php:57
+#: templates/installation.php:59
msgid "Configure the database"
msgstr "Configurar o banco de dados"
-#: templates/installation.php:62 templates/installation.php:73
-#: templates/installation.php:83 templates/installation.php:93
+#: templates/installation.php:64 templates/installation.php:75
+#: templates/installation.php:85 templates/installation.php:95
msgid "will be used"
msgstr "será usado"
-#: templates/installation.php:105
+#: templates/installation.php:107
msgid "Database user"
msgstr "Usuário de banco de dados"
-#: templates/installation.php:109
+#: templates/installation.php:111
msgid "Database password"
msgstr "Senha do banco de dados"
-#: templates/installation.php:113
+#: templates/installation.php:115
msgid "Database name"
msgstr "Nome do banco de dados"
-#: templates/installation.php:121
+#: templates/installation.php:123
msgid "Database tablespace"
msgstr "Espaço de tabela do banco de dados"
-#: templates/installation.php:127
+#: templates/installation.php:129
msgid "Database host"
msgstr "Banco de dados do host"
-#: templates/installation.php:132
+#: templates/installation.php:134
msgid "Finish setup"
msgstr "Concluir configuração"
@@ -536,36 +535,32 @@ msgstr "web services sob seu controle"
msgid "Log out"
msgstr "Sair"
-#: templates/login.php:8
+#: templates/login.php:10
msgid "Automatic logon rejected!"
msgstr "Entrada Automática no Sistema Rejeitada!"
-#: templates/login.php:9
+#: templates/login.php:11
msgid ""
"If you did not change your password recently, your account may be "
"compromised!"
msgstr "Se você não mudou a sua senha recentemente, a sua conta pode estar comprometida!"
-#: templates/login.php:10
+#: templates/login.php:13
msgid "Please change your password to secure your account again."
msgstr "Por favor troque sua senha para tornar sua conta segura novamente."
-#: templates/login.php:15
+#: templates/login.php:19
msgid "Lost your password?"
msgstr "Esqueçeu sua senha?"
-#: templates/login.php:27
+#: templates/login.php:39
msgid "remember"
msgstr "lembrete"
-#: templates/login.php:28
+#: templates/login.php:41
msgid "Log in"
msgstr "Log in"
-#: templates/logout.php:1
-msgid "You are logged out."
-msgstr "Você está desconectado."
-
#: templates/part.pagenavi.php:3
msgid "prev"
msgstr "anterior"
@@ -574,16 +569,7 @@ msgstr "anterior"
msgid "next"
msgstr "próximo"
-#: templates/verify.php:5
-msgid "Security Warning!"
-msgstr "Aviso de Segurança!"
-
-#: templates/verify.php:6
-msgid ""
-"Please verify your password. <br/>For security reasons you may be "
-"occasionally asked to enter your password again."
-msgstr "Por favor, verifique a sua senha.<br />Por motivos de segurança, você deverá ser solicitado a muda-la ocasionalmente."
-
-#: templates/verify.php:16
-msgid "Verify"
-msgstr "Verificar"
+#: templates/update.php:3
+#, php-format
+msgid "Updating ownCloud to version %s, this may take a while."
+msgstr ""
diff --git a/l10n/pt_BR/files.po b/l10n/pt_BR/files.po
index 91ecfae55f0..e56d1ca354f 100644
--- a/l10n/pt_BR/files.po
+++ b/l10n/pt_BR/files.po
@@ -15,9 +15,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-03 00:04+0100\n"
-"PO-Revision-Date: 2012-12-01 23:23+0000\n"
-"Last-Translator: FredMaranhao <fred.maranhao@gmail.com>\n"
+"POT-Creation-Date: 2013-01-20 00:05+0100\n"
+"PO-Revision-Date: 2013-01-19 23:05+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -25,46 +25,77 @@ msgstr ""
"Language: pt_BR\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+#: ajax/delete.php:28 ajax/getstoragestats.php:11 ajax/upload.php:17
+#: ajax/upload.php:76 templates/index.php:18
+msgid "Upload"
+msgstr "Carregar"
+
+#: ajax/move.php:17
+#, php-format
+msgid "Could not move %s - File with this name already exists"
+msgstr ""
+
+#: ajax/move.php:24
+#, php-format
+msgid "Could not move %s"
+msgstr ""
+
+#: ajax/rename.php:19
+msgid "Unable to rename file"
+msgstr ""
+
#: ajax/upload.php:20
+msgid "No file was uploaded. Unknown error"
+msgstr "Nenhum arquivo foi transferido. Erro desconhecido"
+
+#: ajax/upload.php:30
msgid "There is no error, the file uploaded with success"
msgstr "Não houve nenhum erro, o arquivo foi transferido com sucesso"
-#: ajax/upload.php:21
+#: ajax/upload.php:31
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr "O arquivo enviado excede a diretiva upload_max_filesize no php.ini: "
-#: ajax/upload.php:23
+#: ajax/upload.php:33
msgid ""
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
"the HTML form"
msgstr "O arquivo carregado excede o MAX_FILE_SIZE que foi especificado no formulário HTML"
-#: ajax/upload.php:25
+#: ajax/upload.php:35
msgid "The uploaded file was only partially uploaded"
msgstr "O arquivo foi transferido parcialmente"
-#: ajax/upload.php:26
+#: ajax/upload.php:36
msgid "No file was uploaded"
msgstr "Nenhum arquivo foi transferido"
-#: ajax/upload.php:27
+#: ajax/upload.php:37
msgid "Missing a temporary folder"
msgstr "Pasta temporária não encontrada"
-#: ajax/upload.php:28
+#: ajax/upload.php:38
msgid "Failed to write to disk"
msgstr "Falha ao escrever no disco"
+#: ajax/upload.php:57
+msgid "Not enough space available"
+msgstr ""
+
+#: ajax/upload.php:91
+msgid "Invalid directory."
+msgstr ""
+
#: appinfo/app.php:10
msgid "Files"
msgstr "Arquivos"
-#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84
+#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
msgid "Unshare"
msgstr "Descompartilhar"
-#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90
+#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
msgid "Delete"
msgstr "Excluir"
@@ -72,122 +103,136 @@ msgstr "Excluir"
msgid "Rename"
msgstr "Renomear"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "{new_name} already exists"
msgstr "{new_name} já existe"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "replace"
msgstr "substituir"
-#: js/filelist.js:201
+#: js/filelist.js:205
msgid "suggest name"
msgstr "sugerir nome"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "cancel"
msgstr "cancelar"
-#: js/filelist.js:250
+#: js/filelist.js:254
msgid "replaced {new_name}"
msgstr "substituído {new_name}"
-#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286
+#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
msgid "undo"
msgstr "desfazer"
-#: js/filelist.js:252
+#: js/filelist.js:256
msgid "replaced {new_name} with {old_name}"
msgstr "Substituído {old_name} por {new_name} "
-#: js/filelist.js:284
+#: js/filelist.js:288
msgid "unshared {files}"
msgstr "{files} não compartilhados"
-#: js/filelist.js:286
+#: js/filelist.js:290
msgid "deleted {files}"
msgstr "{files} apagados"
-#: js/files.js:33
+#: js/files.js:48
+msgid "'.' is an invalid file name."
+msgstr ""
+
+#: js/files.js:53
+msgid "File name cannot be empty."
+msgstr ""
+
+#: js/files.js:62
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr "Nome inválido, '\\', '/', '<', '>', ':', '\"', '|', '?' e '*' não são permitidos."
-#: js/files.js:183
-msgid "generating ZIP-file, it may take some time."
-msgstr "gerando arquivo ZIP, isso pode levar um tempo."
+#: js/files.js:204
+msgid ""
+"Your download is being prepared. This might take some time if the files are "
+"big."
+msgstr ""
-#: js/files.js:218
+#: js/files.js:242
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr "Impossível enviar seus arquivo como diretório ou ele tem 0 bytes."
-#: js/files.js:218
+#: js/files.js:242
msgid "Upload Error"
msgstr "Erro de envio"
-#: js/files.js:235
+#: js/files.js:259
msgid "Close"
msgstr "Fechar"
-#: js/files.js:254 js/files.js:368 js/files.js:398
+#: js/files.js:278 js/files.js:397 js/files.js:431
msgid "Pending"
msgstr "Pendente"
-#: js/files.js:274
+#: js/files.js:298
msgid "1 file uploading"
msgstr "enviando 1 arquivo"
-#: js/files.js:277 js/files.js:331 js/files.js:346
+#: js/files.js:301 js/files.js:357 js/files.js:372
msgid "{count} files uploading"
msgstr "Enviando {count} arquivos"
-#: js/files.js:349 js/files.js:382
+#: js/files.js:376 js/files.js:414
msgid "Upload cancelled."
msgstr "Envio cancelado."
-#: js/files.js:451
+#: js/files.js:486
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr "Upload em andamento. Sair da página agora resultará no cancelamento do envio."
-#: js/files.js:523
-msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud"
-msgstr "Nome de pasta inválido. O nome \"Shared\" é reservado pelo Owncloud"
+#: js/files.js:559
+msgid "URL cannot be empty."
+msgstr "URL não pode ficar em branco"
-#: js/files.js:704
+#: js/files.js:565
+msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
+msgstr ""
+
+#: js/files.js:775
msgid "{count} files scanned"
msgstr "{count} arquivos scaneados"
-#: js/files.js:712
+#: js/files.js:783
msgid "error while scanning"
msgstr "erro durante verificação"
-#: js/files.js:785 templates/index.php:65
+#: js/files.js:857 templates/index.php:64
msgid "Name"
msgstr "Nome"
-#: js/files.js:786 templates/index.php:76
+#: js/files.js:858 templates/index.php:75
msgid "Size"
msgstr "Tamanho"
-#: js/files.js:787 templates/index.php:78
+#: js/files.js:859 templates/index.php:77
msgid "Modified"
msgstr "Modificado"
-#: js/files.js:814
+#: js/files.js:878
msgid "1 folder"
msgstr "1 pasta"
-#: js/files.js:816
+#: js/files.js:880
msgid "{count} folders"
msgstr "{count} pastas"
-#: js/files.js:824
+#: js/files.js:888
msgid "1 file"
msgstr "1 arquivo"
-#: js/files.js:826
+#: js/files.js:890
msgid "{count} files"
msgstr "{count} arquivos"
@@ -199,27 +244,27 @@ msgstr "Tratamento de Arquivo"
msgid "Maximum upload size"
msgstr "Tamanho máximo para carregar"
-#: templates/admin.php:9
+#: templates/admin.php:10
msgid "max. possible: "
msgstr "max. possível:"
-#: templates/admin.php:12
+#: templates/admin.php:15
msgid "Needed for multi-file and folder downloads."
msgstr "Necessário para multiplos arquivos e diretório de downloads."
-#: templates/admin.php:14
+#: templates/admin.php:17
msgid "Enable ZIP-download"
msgstr "Habilitar ZIP-download"
-#: templates/admin.php:17
+#: templates/admin.php:20
msgid "0 is unlimited"
msgstr "0 para ilimitado"
-#: templates/admin.php:19
+#: templates/admin.php:22
msgid "Maximum input size for ZIP files"
msgstr "Tamanho máximo para arquivo ZIP"
-#: templates/admin.php:23
+#: templates/admin.php:26
msgid "Save"
msgstr "Salvar"
@@ -239,36 +284,32 @@ msgstr "Pasta"
msgid "From link"
msgstr "Do link"
-#: templates/index.php:35
-msgid "Upload"
-msgstr "Carregar"
-
-#: templates/index.php:43
+#: templates/index.php:41
msgid "Cancel upload"
msgstr "Cancelar upload"
-#: templates/index.php:57
+#: templates/index.php:56
msgid "Nothing in here. Upload something!"
msgstr "Nada aqui.Carrege alguma coisa!"
-#: templates/index.php:71
+#: templates/index.php:70
msgid "Download"
msgstr "Baixar"
-#: templates/index.php:103
+#: templates/index.php:102
msgid "Upload too large"
msgstr "Arquivo muito grande"
-#: templates/index.php:105
+#: templates/index.php:104
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:110
+#: templates/index.php:109
msgid "Files are being scanned, please wait."
msgstr "Arquivos sendo escaneados, por favor aguarde."
-#: templates/index.php:113
+#: templates/index.php:112
msgid "Current scanning"
msgstr "Scanning atual"
diff --git a/l10n/pt_BR/files_encryption.po b/l10n/pt_BR/files_encryption.po
index 250fed658f3..ee24c51910d 100644
--- a/l10n/pt_BR/files_encryption.po
+++ b/l10n/pt_BR/files_encryption.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-09-24 02:01+0200\n"
-"PO-Revision-Date: 2012-09-23 16:57+0000\n"
-"Last-Translator: sedir <philippi.sedir@gmail.com>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,18 +18,66 @@ msgstr ""
"Language: pt_BR\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "Criptografia"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "Excluir os seguintes tipos de arquivo da criptografia"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "Nenhuma"
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "Habilitar Criptografia"
diff --git a/l10n/pt_BR/files_versions.po b/l10n/pt_BR/files_versions.po
index f310a86a675..63442db0efe 100644
--- a/l10n/pt_BR/files_versions.po
+++ b/l10n/pt_BR/files_versions.po
@@ -9,9 +9,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-09-24 02:01+0200\n"
-"PO-Revision-Date: 2012-09-23 15:33+0000\n"
-"Last-Translator: sedir <philippi.sedir@gmail.com>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -19,22 +19,10 @@ msgstr ""
"Language: pt_BR\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-#: js/settings-personal.js:31 templates/settings-personal.php:10
-msgid "Expire all versions"
-msgstr "Expirar todas as versões"
-
#: js/versions.js:16
msgid "History"
msgstr "Histórico"
-#: templates/settings-personal.php:4
-msgid "Versions"
-msgstr "Versões"
-
-#: templates/settings-personal.php:7
-msgid "This will delete all existing backup versions of your files"
-msgstr "Isso removerá todas as versões de backup existentes dos seus arquivos"
-
#: templates/settings.php:3
msgid "Files Versioning"
msgstr "Versionamento de Arquivos"
diff --git a/l10n/pt_BR/lib.po b/l10n/pt_BR/lib.po
index a42adb315bc..f1a550574ba 100644
--- a/l10n/pt_BR/lib.po
+++ b/l10n/pt_BR/lib.po
@@ -10,9 +10,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-02 00:02+0100\n"
-"PO-Revision-Date: 2012-12-01 18:47+0000\n"
-"Last-Translator: Schopfer <glauber.guimaraes@poli.ufrj.br>\n"
+"POT-Creation-Date: 2013-01-17 00:26+0100\n"
+"PO-Revision-Date: 2013-01-16 23:26+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -20,51 +20,55 @@ msgstr ""
"Language: pt_BR\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-#: app.php:285
+#: app.php:301
msgid "Help"
msgstr "Ajuda"
-#: app.php:292
+#: app.php:308
msgid "Personal"
msgstr "Pessoal"
-#: app.php:297
+#: app.php:313
msgid "Settings"
msgstr "Ajustes"
-#: app.php:302
+#: app.php:318
msgid "Users"
msgstr "Usuários"
-#: app.php:309
+#: app.php:325
msgid "Apps"
msgstr "Aplicações"
-#: app.php:311
+#: app.php:327
msgid "Admin"
msgstr "Admin"
-#: files.php:361
+#: files.php:365
msgid "ZIP download is turned off."
msgstr "Download ZIP está desligado."
-#: files.php:362
+#: files.php:366
msgid "Files need to be downloaded one by one."
msgstr "Arquivos precisam ser baixados um de cada vez."
-#: files.php:362 files.php:387
+#: files.php:366 files.php:391
msgid "Back to Files"
msgstr "Voltar para Arquivos"
-#: files.php:386
+#: files.php:390
msgid "Selected files too large to generate zip file."
msgstr "Arquivos selecionados são muito grandes para gerar arquivo zip."
+#: helper.php:228
+msgid "couldn't be determined"
+msgstr ""
+
#: json.php:28
msgid "Application is not enabled"
msgstr "Aplicação não está habilitada"
-#: json.php:39 json.php:64 json.php:77 json.php:89
+#: json.php:39 json.php:62 json.php:73
msgid "Authentication error"
msgstr "Erro de autenticação"
@@ -84,55 +88,55 @@ msgstr "Texto"
msgid "Images"
msgstr "Imagens"
-#: template.php:103
+#: template.php:113
msgid "seconds ago"
msgstr "segundos atrás"
-#: template.php:104
+#: template.php:114
msgid "1 minute ago"
msgstr "1 minuto atrás"
-#: template.php:105
+#: template.php:115
#, php-format
msgid "%d minutes ago"
msgstr "%d minutos atrás"
-#: template.php:106
+#: template.php:116
msgid "1 hour ago"
msgstr "1 hora atrás"
-#: template.php:107
+#: template.php:117
#, php-format
msgid "%d hours ago"
msgstr "%d horas atrás"
-#: template.php:108
+#: template.php:118
msgid "today"
msgstr "hoje"
-#: template.php:109
+#: template.php:119
msgid "yesterday"
msgstr "ontem"
-#: template.php:110
+#: template.php:120
#, php-format
msgid "%d days ago"
msgstr "%d dias atrás"
-#: template.php:111
+#: template.php:121
msgid "last month"
msgstr "último mês"
-#: template.php:112
+#: template.php:122
#, php-format
msgid "%d months ago"
msgstr "%d meses atrás"
-#: template.php:113
+#: template.php:123
msgid "last year"
msgstr "último ano"
-#: template.php:114
+#: template.php:124
msgid "years ago"
msgstr "anos atrás"
diff --git a/l10n/pt_BR/settings.po b/l10n/pt_BR/settings.po
index 67cb06fbd6d..30c7088ec92 100644
--- a/l10n/pt_BR/settings.po
+++ b/l10n/pt_BR/settings.po
@@ -7,6 +7,7 @@
# <fred.maranhao@gmail.com>, 2012.
# Guilherme Maluf Balzana <guimalufb@gmail.com>, 2012.
# <philippi.sedir@gmail.com>, 2012.
+# Rodrigo Tavares <rodrigo.st23@hotmail.com>, 2013.
# Sandro Venezuela <sandrovenezuela@gmail.com>, 2012.
# <targinosilveira@gmail.com>, 2012.
# Thiago Vicente <thiagovice@gmail.com>, 2012.
@@ -16,9 +17,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-21 00:10+0100\n"
-"PO-Revision-Date: 2012-12-19 23:20+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-21 00:04+0100\n"
+"PO-Revision-Date: 2013-01-20 20:18+0000\n"
+"Last-Translator: rodrigost23 <rodrigo.st23@hotmail.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"
@@ -38,7 +39,7 @@ msgstr "Grupo já existe"
msgid "Unable to add group"
msgstr "Não foi possivel adicionar grupo"
-#: ajax/enableapp.php:12
+#: ajax/enableapp.php:11
msgid "Could not enable app. "
msgstr "Não pôde habilitar aplicação"
@@ -50,14 +51,6 @@ msgstr "Email gravado"
msgid "Invalid email"
msgstr "Email inválido"
-#: ajax/openid.php:13
-msgid "OpenID Changed"
-msgstr "Mudou OpenID"
-
-#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20
-msgid "Invalid request"
-msgstr "Pedido inválido"
-
#: ajax/removegroup.php:13
msgid "Unable to delete group"
msgstr "Não foi possivel remover grupo"
@@ -74,6 +67,10 @@ msgstr "Não foi possivel remover usuário"
msgid "Language changed"
msgstr "Mudou Idioma"
+#: ajax/setlanguage.php:17 ajax/setlanguage.php:20
+msgid "Invalid request"
+msgstr "Pedido inválido"
+
#: ajax/togglegroups.php:12
msgid "Admins can't remove themself from the admin group"
msgstr "Admins não podem se remover do grupo admin"
@@ -102,7 +99,7 @@ msgstr "Gravando..."
#: personal.php:42 personal.php:43
msgid "__language_name__"
-msgstr "Português"
+msgstr "Português do Brasil"
#: templates/apps.php:10
msgid "Add your App"
@@ -169,7 +166,7 @@ msgstr ""
msgid "Download iOS Client"
msgstr ""
-#: templates/personal.php:21 templates/users.php:23 templates/users.php:77
+#: templates/personal.php:21 templates/users.php:23 templates/users.php:82
msgid "Password"
msgstr "Senha"
@@ -239,11 +236,11 @@ msgid ""
"License\">AGPL</abbr></a>."
msgstr "Desenvolvido pela <a href=\"http://ownCloud.org/contact\" target=\"_blank\">comunidade ownCloud</a>, o <a href=\"https://github.com/owncloud\" target=\"_blank\">código fonte</a> está licenciado sob <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>."
-#: templates/users.php:21 templates/users.php:76
+#: templates/users.php:21 templates/users.php:81
msgid "Name"
msgstr "Nome"
-#: templates/users.php:26 templates/users.php:78 templates/users.php:98
+#: templates/users.php:26 templates/users.php:83 templates/users.php:103
msgid "Groups"
msgstr "Grupos"
@@ -252,21 +249,29 @@ msgid "Create"
msgstr "Criar"
#: templates/users.php:35
-msgid "Default Quota"
-msgstr "Quota Padrão"
+msgid "Default Storage"
+msgstr ""
+
+#: templates/users.php:42 templates/users.php:138
+msgid "Unlimited"
+msgstr ""
-#: templates/users.php:55 templates/users.php:138
+#: templates/users.php:60 templates/users.php:153
msgid "Other"
msgstr "Outro"
-#: templates/users.php:80 templates/users.php:112
+#: templates/users.php:85 templates/users.php:117
msgid "Group Admin"
msgstr "Grupo Administrativo"
-#: templates/users.php:82
-msgid "Quota"
-msgstr "Cota"
+#: templates/users.php:87
+msgid "Storage"
+msgstr ""
+
+#: templates/users.php:133
+msgid "Default"
+msgstr ""
-#: templates/users.php:146
+#: templates/users.php:161
msgid "Delete"
msgstr "Apagar"
diff --git a/l10n/pt_BR/user_ldap.po b/l10n/pt_BR/user_ldap.po
index fdd9c02d90a..7596db8ad37 100644
--- a/l10n/pt_BR/user_ldap.po
+++ b/l10n/pt_BR/user_ldap.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-15 00:11+0100\n"
-"PO-Revision-Date: 2012-12-14 23:11+0000\n"
+"POT-Creation-Date: 2013-01-16 00:19+0100\n"
+"PO-Revision-Date: 2013-01-15 23:20+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"
@@ -27,8 +27,8 @@ msgstr ""
#: templates/settings.php:11
msgid ""
-"<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will"
-" not work. Please ask your system administrator to install it."
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not "
+"work. Please ask your system administrator to install it."
msgstr ""
#: templates/settings.php:15
@@ -45,6 +45,10 @@ msgid "Base DN"
msgstr "DN Base"
#: templates/settings.php:16
+msgid "One Base DN per line"
+msgstr ""
+
+#: templates/settings.php:16
msgid "You can specify Base DN for users and groups in the Advanced tab"
msgstr "Você pode especificar DN Base para usuários e grupos na guia Avançada"
@@ -115,10 +119,18 @@ msgstr "Porta"
msgid "Base User Tree"
msgstr "Ãrvore de Usuário Base"
+#: templates/settings.php:25
+msgid "One User Base DN per line"
+msgstr ""
+
#: templates/settings.php:26
msgid "Base Group Tree"
msgstr "Ãrvore de Grupo Base"
+#: templates/settings.php:26
+msgid "One Group Base DN per line"
+msgstr ""
+
#: templates/settings.php:27
msgid "Group-Member association"
msgstr "Associação Grupo-Membro"
diff --git a/l10n/pt_BR/user_webdavauth.po b/l10n/pt_BR/user_webdavauth.po
index febd61f9ee5..db7d62a36b8 100644
--- a/l10n/pt_BR/user_webdavauth.po
+++ b/l10n/pt_BR/user_webdavauth.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-20 00:11+0100\n"
-"PO-Revision-Date: 2012-12-19 23:12+0000\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+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"
@@ -18,13 +18,17 @@ msgstr ""
"Language: pt_BR\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+#: templates/settings.php:3
+msgid "WebDAV Authentication"
+msgstr ""
+
#: templates/settings.php:4
msgid "URL: http://"
msgstr ""
#: templates/settings.php:6
msgid ""
-"ownCloud will send the user credentials to this URL is interpret http 401 "
-"and http 403 as credentials wrong and all other codes as credentials "
-"correct."
+"ownCloud will send the user credentials to this URL. 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 ""
diff --git a/l10n/pt_PT/core.po b/l10n/pt_PT/core.po
index 92daefee097..8cf1dad2efb 100644
--- a/l10n/pt_PT/core.po
+++ b/l10n/pt_PT/core.po
@@ -3,7 +3,7 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
-# <daniel@mouxy.net>, 2012.
+# <daniel@mouxy.net>, 2012-2013.
# Duarte Velez Grilo <duartegrilo@gmail.com>, 2012.
# <helder.meneses@gmail.com>, 2011, 2012.
# Helder Meneses <helder.meneses@gmail.com>, 2012.
@@ -13,9 +13,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-18 00:13+0100\n"
-"PO-Revision-Date: 2012-12-17 01:27+0000\n"
-"Last-Translator: Mouxy <daniel@mouxy.net>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:03+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -89,55 +89,55 @@ msgstr "Erro a remover %s dos favoritos."
msgid "Settings"
msgstr "Definições"
-#: js/js.js:704
+#: js/js.js:711
msgid "seconds ago"
msgstr "Minutos atrás"
-#: js/js.js:705
+#: js/js.js:712
msgid "1 minute ago"
msgstr "Falta 1 minuto"
-#: js/js.js:706
+#: js/js.js:713
msgid "{minutes} minutes ago"
msgstr "{minutes} minutos atrás"
-#: js/js.js:707
+#: js/js.js:714
msgid "1 hour ago"
msgstr "Há 1 hora"
-#: js/js.js:708
+#: js/js.js:715
msgid "{hours} hours ago"
msgstr "Há {hours} horas atrás"
-#: js/js.js:709
+#: js/js.js:716
msgid "today"
msgstr "hoje"
-#: js/js.js:710
+#: js/js.js:717
msgid "yesterday"
msgstr "ontem"
-#: js/js.js:711
+#: js/js.js:718
msgid "{days} days ago"
msgstr "{days} dias atrás"
-#: js/js.js:712
+#: js/js.js:719
msgid "last month"
msgstr "ultímo mês"
-#: js/js.js:713
+#: js/js.js:720
msgid "{months} months ago"
msgstr "Há {months} meses atrás"
-#: js/js.js:714
+#: js/js.js:721
msgid "months ago"
msgstr "meses atrás"
-#: js/js.js:715
+#: js/js.js:722
msgid "last year"
msgstr "ano passado"
-#: js/js.js:716
+#: js/js.js:723
msgid "years ago"
msgstr "anos atrás"
@@ -167,8 +167,8 @@ msgid "The object type is not specified."
msgstr "O tipo de objecto não foi especificado"
#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136
-#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:541
-#: js/share.js:553
+#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:554
+#: js/share.js:566
msgid "Error"
msgstr "Erro"
@@ -180,7 +180,7 @@ msgstr "O nome da aplicação não foi especificado"
msgid "The required file {file} is not installed!"
msgstr "O ficheiro necessário {file} não está instalado!"
-#: js/share.js:124 js/share.js:581
+#: js/share.js:124 js/share.js:594
msgid "Error while sharing"
msgstr "Erro ao partilhar"
@@ -208,12 +208,11 @@ msgstr "Partilhar com"
msgid "Share with link"
msgstr "Partilhar com link"
-#: js/share.js:164
+#: js/share.js:166
msgid "Password protect"
msgstr "Proteger com palavra-passe"
-#: js/share.js:168 templates/installation.php:44 templates/login.php:26
-#: templates/verify.php:13
+#: js/share.js:168 templates/installation.php:44 templates/login.php:35
msgid "Password"
msgstr "Palavra chave"
@@ -277,23 +276,23 @@ msgstr "apagar"
msgid "share"
msgstr "partilhar"
-#: js/share.js:353 js/share.js:528 js/share.js:530
+#: js/share.js:356 js/share.js:541
msgid "Password protected"
msgstr "Protegido com palavra-passe"
-#: js/share.js:541
+#: js/share.js:554
msgid "Error unsetting expiration date"
msgstr "Erro ao retirar a data de expiração"
-#: js/share.js:553
+#: js/share.js:566
msgid "Error setting expiration date"
msgstr "Erro ao aplicar a data de expiração"
-#: js/share.js:568
+#: js/share.js:581
msgid "Sending ..."
msgstr "A Enviar..."
-#: js/share.js:579
+#: js/share.js:592
msgid "Email sent"
msgstr "E-mail enviado com sucesso!"
@@ -318,7 +317,7 @@ msgid "Request failed!"
msgstr "O pedido falhou!"
#: lostpassword/templates/lostpassword.php:11 templates/installation.php:39
-#: templates/login.php:21
+#: templates/login.php:28
msgid "Username"
msgstr "Utilizador"
@@ -532,36 +531,32 @@ msgstr "serviços web sob o seu controlo"
msgid "Log out"
msgstr "Sair"
-#: templates/login.php:8
+#: templates/login.php:10
msgid "Automatic logon rejected!"
msgstr "Login automático rejeitado!"
-#: templates/login.php:9
+#: templates/login.php:11
msgid ""
"If you did not change your password recently, your account may be "
"compromised!"
msgstr "Se não mudou a sua palavra-passe recentemente, a sua conta pode ter sido comprometida!"
-#: templates/login.php:10
+#: templates/login.php:13
msgid "Please change your password to secure your account again."
msgstr "Por favor mude a sua palavra-passe para assegurar a sua conta de novo."
-#: templates/login.php:15
+#: templates/login.php:19
msgid "Lost your password?"
msgstr "Esqueceu a sua password?"
-#: templates/login.php:29
+#: templates/login.php:39
msgid "remember"
msgstr "lembrar"
-#: templates/login.php:30
+#: templates/login.php:41
msgid "Log in"
msgstr "Entrar"
-#: templates/logout.php:1
-msgid "You are logged out."
-msgstr "Estás desconetado."
-
#: templates/part.pagenavi.php:3
msgid "prev"
msgstr "anterior"
@@ -570,16 +565,7 @@ msgstr "anterior"
msgid "next"
msgstr "seguinte"
-#: templates/verify.php:5
-msgid "Security Warning!"
-msgstr "Aviso de Segurança!"
-
-#: templates/verify.php:6
-msgid ""
-"Please verify your password. <br/>For security reasons you may be "
-"occasionally asked to enter your password again."
-msgstr "Por favor verifique a sua palavra-passe. <br/>Por razões de segurança, pode ser-lhe perguntada, ocasionalmente, a sua palavra-passe de novo."
-
-#: templates/verify.php:16
-msgid "Verify"
-msgstr "Verificar"
+#: templates/update.php:3
+#, php-format
+msgid "Updating ownCloud to version %s, this may take a while."
+msgstr "A Actualizar o ownCloud para a versão %s, esta operação pode demorar."
diff --git a/l10n/pt_PT/files.po b/l10n/pt_PT/files.po
index 8628e63a4de..1ba8520b85c 100644
--- a/l10n/pt_PT/files.po
+++ b/l10n/pt_PT/files.po
@@ -3,7 +3,8 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
-# <daniel@mouxy.net>, 2012.
+# <daniel@mouxy.net>, 2012-2013.
+# Daniel Pinto <daniel@mouxy.net>, 2013.
# Duarte Velez Grilo <duartegrilo@gmail.com>, 2012.
# <geral@ricardolameiro.pt>, 2012.
# Helder Meneses <helder.meneses@gmail.com>, 2012.
@@ -12,8 +13,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-02 00:02+0100\n"
-"PO-Revision-Date: 2012-12-01 00:41+0000\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-21 12:23+0000\n"
"Last-Translator: Mouxy <daniel@mouxy.net>\n"
"Language-Team: Portuguese (Portugal) (http://www.transifex.com/projects/p/owncloud/language/pt_PT/)\n"
"MIME-Version: 1.0\n"
@@ -22,46 +23,77 @@ msgstr ""
"Language: pt_PT\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+#: ajax/delete.php:28 ajax/getstoragestats.php:11 ajax/upload.php:17
+#: ajax/upload.php:76 templates/index.php:18
+msgid "Upload"
+msgstr "Enviar"
+
+#: ajax/move.php:17
+#, php-format
+msgid "Could not move %s - File with this name already exists"
+msgstr "Não foi possível mover o ficheiro %s - Já existe um ficheiro com esse nome"
+
+#: ajax/move.php:24
+#, php-format
+msgid "Could not move %s"
+msgstr "Não foi possível move o ficheiro %s"
+
+#: ajax/rename.php:19
+msgid "Unable to rename file"
+msgstr "Não foi possível renomear o ficheiro"
+
#: ajax/upload.php:20
+msgid "No file was uploaded. Unknown error"
+msgstr "Nenhum ficheiro foi carregado. Erro desconhecido"
+
+#: ajax/upload.php:30
msgid "There is no error, the file uploaded with success"
msgstr "Sem erro, ficheiro enviado com sucesso"
-#: ajax/upload.php:21
+#: ajax/upload.php:31
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr "O ficheiro enviado excede o limite permitido na directiva do php.ini upload_max_filesize"
-#: ajax/upload.php:23
+#: ajax/upload.php:33
msgid ""
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
"the HTML form"
msgstr "O ficheiro enviado excede o diretivo MAX_FILE_SIZE especificado no formulário HTML"
-#: ajax/upload.php:25
+#: ajax/upload.php:35
msgid "The uploaded file was only partially uploaded"
msgstr "O ficheiro enviado só foi enviado parcialmente"
-#: ajax/upload.php:26
+#: ajax/upload.php:36
msgid "No file was uploaded"
msgstr "Não foi enviado nenhum ficheiro"
-#: ajax/upload.php:27
+#: ajax/upload.php:37
msgid "Missing a temporary folder"
msgstr "Falta uma pasta temporária"
-#: ajax/upload.php:28
+#: ajax/upload.php:38
msgid "Failed to write to disk"
msgstr "Falhou a escrita no disco"
+#: ajax/upload.php:57
+msgid "Not enough space available"
+msgstr "Espaço em disco insuficiente!"
+
+#: ajax/upload.php:91
+msgid "Invalid directory."
+msgstr "Directório Inválido"
+
#: appinfo/app.php:10
msgid "Files"
msgstr "Ficheiros"
-#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84
+#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
msgid "Unshare"
msgstr "Deixar de partilhar"
-#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90
+#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
msgid "Delete"
msgstr "Apagar"
@@ -69,122 +101,136 @@ msgstr "Apagar"
msgid "Rename"
msgstr "Renomear"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "{new_name} already exists"
msgstr "O nome {new_name} já existe"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "replace"
msgstr "substituir"
-#: js/filelist.js:201
+#: js/filelist.js:205
msgid "suggest name"
msgstr "Sugira um nome"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "cancel"
msgstr "cancelar"
-#: js/filelist.js:250
+#: js/filelist.js:254
msgid "replaced {new_name}"
msgstr "{new_name} substituido"
-#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286
+#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
msgid "undo"
msgstr "desfazer"
-#: js/filelist.js:252
+#: js/filelist.js:256
msgid "replaced {new_name} with {old_name}"
msgstr "substituido {new_name} por {old_name}"
-#: js/filelist.js:284
+#: js/filelist.js:288
msgid "unshared {files}"
msgstr "{files} não partilhado(s)"
-#: js/filelist.js:286
+#: js/filelist.js:290
msgid "deleted {files}"
msgstr "{files} eliminado(s)"
-#: js/files.js:33
+#: js/files.js:48
+msgid "'.' is an invalid file name."
+msgstr "'.' não é um nome de ficheiro válido!"
+
+#: js/files.js:53
+msgid "File name cannot be empty."
+msgstr "O nome do ficheiro não pode estar vazio."
+
+#: js/files.js:62
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr "Nome Inválido, os caracteres '\\', '/', '<', '>', ':', '\"', '|', '?' e '*' não são permitidos."
-#: js/files.js:183
-msgid "generating ZIP-file, it may take some time."
-msgstr "a gerar o ficheiro ZIP, poderá demorar algum tempo."
+#: js/files.js:204
+msgid ""
+"Your download is being prepared. This might take some time if the files are "
+"big."
+msgstr "O seu download está a ser preparado. Este processo pode demorar algum tempo se os ficheiros forem grandes."
-#: js/files.js:218
+#: js/files.js:242
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr "Não é possível fazer o envio do ficheiro devido a ser uma pasta ou ter 0 bytes"
-#: js/files.js:218
+#: js/files.js:242
msgid "Upload Error"
msgstr "Erro no envio"
-#: js/files.js:235
+#: js/files.js:259
msgid "Close"
msgstr "Fechar"
-#: js/files.js:254 js/files.js:368 js/files.js:398
+#: js/files.js:278 js/files.js:397 js/files.js:431
msgid "Pending"
msgstr "Pendente"
-#: js/files.js:274
+#: js/files.js:298
msgid "1 file uploading"
msgstr "A enviar 1 ficheiro"
-#: js/files.js:277 js/files.js:331 js/files.js:346
+#: js/files.js:301 js/files.js:357 js/files.js:372
msgid "{count} files uploading"
msgstr "A carregar {count} ficheiros"
-#: js/files.js:349 js/files.js:382
+#: js/files.js:376 js/files.js:414
msgid "Upload cancelled."
msgstr "O envio foi cancelado."
-#: js/files.js:451
+#: js/files.js:486
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr "Envio de ficheiro em progresso. Irá cancelar o envio se sair da página agora."
-#: js/files.js:523
-msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud"
-msgstr "Nome de pasta inválido! O uso de \"Shared\" (Partilhado) está reservado pelo OwnCloud"
+#: js/files.js:559
+msgid "URL cannot be empty."
+msgstr "O URL não pode estar vazio."
-#: js/files.js:704
+#: js/files.js:565
+msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
+msgstr "Nome de pasta inválido. O Uso de 'shared' é reservado para o ownCloud"
+
+#: js/files.js:775
msgid "{count} files scanned"
msgstr "{count} ficheiros analisados"
-#: js/files.js:712
+#: js/files.js:783
msgid "error while scanning"
msgstr "erro ao analisar"
-#: js/files.js:785 templates/index.php:65
+#: js/files.js:857 templates/index.php:64
msgid "Name"
msgstr "Nome"
-#: js/files.js:786 templates/index.php:76
+#: js/files.js:858 templates/index.php:75
msgid "Size"
msgstr "Tamanho"
-#: js/files.js:787 templates/index.php:78
+#: js/files.js:859 templates/index.php:77
msgid "Modified"
msgstr "Modificado"
-#: js/files.js:814
+#: js/files.js:878
msgid "1 folder"
msgstr "1 pasta"
-#: js/files.js:816
+#: js/files.js:880
msgid "{count} folders"
msgstr "{count} pastas"
-#: js/files.js:824
+#: js/files.js:888
msgid "1 file"
msgstr "1 ficheiro"
-#: js/files.js:826
+#: js/files.js:890
msgid "{count} files"
msgstr "{count} ficheiros"
@@ -196,27 +242,27 @@ msgstr "Manuseamento de ficheiros"
msgid "Maximum upload size"
msgstr "Tamanho máximo de envio"
-#: templates/admin.php:9
+#: templates/admin.php:10
msgid "max. possible: "
msgstr "max. possivel: "
-#: templates/admin.php:12
+#: templates/admin.php:15
msgid "Needed for multi-file and folder downloads."
msgstr "Necessário para descarregamento múltiplo de ficheiros e pastas"
-#: templates/admin.php:14
+#: templates/admin.php:17
msgid "Enable ZIP-download"
msgstr "Permitir descarregar em ficheiro ZIP"
-#: templates/admin.php:17
+#: templates/admin.php:20
msgid "0 is unlimited"
msgstr "0 é ilimitado"
-#: templates/admin.php:19
+#: templates/admin.php:22
msgid "Maximum input size for ZIP files"
msgstr "Tamanho máximo para ficheiros ZIP"
-#: templates/admin.php:23
+#: templates/admin.php:26
msgid "Save"
msgstr "Guardar"
@@ -236,36 +282,32 @@ msgstr "Pasta"
msgid "From link"
msgstr "Da ligação"
-#: templates/index.php:35
-msgid "Upload"
-msgstr "Enviar"
-
-#: templates/index.php:43
+#: templates/index.php:41
msgid "Cancel upload"
msgstr "Cancelar envio"
-#: templates/index.php:57
+#: templates/index.php:56
msgid "Nothing in here. Upload something!"
msgstr "Vazio. Envie alguma coisa!"
-#: templates/index.php:71
+#: templates/index.php:70
msgid "Download"
msgstr "Transferir"
-#: templates/index.php:103
+#: templates/index.php:102
msgid "Upload too large"
msgstr "Envio muito grande"
-#: templates/index.php:105
+#: templates/index.php:104
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "Os ficheiros que está a tentar enviar excedem o tamanho máximo de envio permitido neste servidor."
-#: templates/index.php:110
+#: templates/index.php:109
msgid "Files are being scanned, please wait."
msgstr "Os ficheiros estão a ser analisados, por favor aguarde."
-#: templates/index.php:113
+#: templates/index.php:112
msgid "Current scanning"
msgstr "Análise actual"
diff --git a/l10n/pt_PT/files_encryption.po b/l10n/pt_PT/files_encryption.po
index 803037caf42..0ae4844da6f 100644
--- a/l10n/pt_PT/files_encryption.po
+++ b/l10n/pt_PT/files_encryption.po
@@ -3,14 +3,15 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# Daniel Pinto <daniel@mouxy.net>, 2013.
# Duarte Velez Grilo <duartegrilo@gmail.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-09-27 02:01+0200\n"
-"PO-Revision-Date: 2012-09-26 13:24+0000\n"
-"Last-Translator: Duarte Velez Grilo <duartegrilo@gmail.com>\n"
+"POT-Creation-Date: 2013-01-24 00:06+0100\n"
+"PO-Revision-Date: 2013-01-23 01:09+0000\n"
+"Last-Translator: Mouxy <daniel@mouxy.net>\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"
@@ -18,18 +19,66 @@ msgstr ""
"Language: pt_PT\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr "Por favor, use o seu cliente de sincronização do ownCloud e altere a sua password de encriptação para concluír a conversão."
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr "Alterado para encriptação do lado do cliente"
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr "Alterar a password de encriptação para a password de login"
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr "Por favor verifique as suas paswords e tente de novo."
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr "Não foi possível alterar a password de encriptação de ficheiros para a sua password de login"
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr "Escolha o método de encriptação"
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr "Encriptação do lado do cliente (mais seguro mas torna possível o acesso aos dados através do interface web)"
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr "Encriptação do lado do servidor (permite o acesso aos seus ficheiros através do interface web e do cliente de sincronização)"
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr "Nenhuma (sem encriptação)"
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr "Importante: Uma vez escolhido o modo de encriptação, não existe maneira de o alterar!"
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr "Escolhido pelo utilizador"
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "Encriptação"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "Excluir da encriptação os seguintes tipo de ficheiros"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "Nenhum"
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "Activar Encriptação"
diff --git a/l10n/pt_PT/files_versions.po b/l10n/pt_PT/files_versions.po
index 0a78dc0df95..596deab4396 100644
--- a/l10n/pt_PT/files_versions.po
+++ b/l10n/pt_PT/files_versions.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-10-01 02:04+0200\n"
-"PO-Revision-Date: 2012-09-30 22:21+0000\n"
-"Last-Translator: Duarte Velez Grilo <duartegrilo@gmail.com>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,22 +18,10 @@ msgstr ""
"Language: pt_PT\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: js/settings-personal.js:31 templates/settings-personal.php:10
-msgid "Expire all versions"
-msgstr "Expirar todas as versões"
-
#: js/versions.js:16
msgid "History"
msgstr "Histórico"
-#: templates/settings-personal.php:4
-msgid "Versions"
-msgstr "Versões"
-
-#: templates/settings-personal.php:7
-msgid "This will delete all existing backup versions of your files"
-msgstr "Isto irá apagar todas as versões de backup do seus ficheiros"
-
#: templates/settings.php:3
msgid "Files Versioning"
msgstr "Versionamento de Ficheiros"
diff --git a/l10n/pt_PT/lib.po b/l10n/pt_PT/lib.po
index fe66807cc3a..b9d558cbb40 100644
--- a/l10n/pt_PT/lib.po
+++ b/l10n/pt_PT/lib.po
@@ -3,14 +3,14 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
-# <daniel@mouxy.net>, 2012.
+# <daniel@mouxy.net>, 2012-2013.
# Duarte Velez Grilo <duartegrilo@gmail.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-11-17 00:01+0100\n"
-"PO-Revision-Date: 2012-11-16 00:33+0000\n"
+"POT-Creation-Date: 2013-01-18 00:03+0100\n"
+"PO-Revision-Date: 2013-01-17 00:47+0000\n"
"Last-Translator: Mouxy <daniel@mouxy.net>\n"
"Language-Team: Portuguese (Portugal) (http://www.transifex.com/projects/p/owncloud/language/pt_PT/)\n"
"MIME-Version: 1.0\n"
@@ -19,51 +19,55 @@ msgstr ""
"Language: pt_PT\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: app.php:285
+#: app.php:301
msgid "Help"
msgstr "Ajuda"
-#: app.php:292
+#: app.php:308
msgid "Personal"
msgstr "Pessoal"
-#: app.php:297
+#: app.php:313
msgid "Settings"
msgstr "Configurações"
-#: app.php:302
+#: app.php:318
msgid "Users"
msgstr "Utilizadores"
-#: app.php:309
+#: app.php:325
msgid "Apps"
msgstr "Aplicações"
-#: app.php:311
+#: app.php:327
msgid "Admin"
msgstr "Admin"
-#: files.php:332
+#: files.php:365
msgid "ZIP download is turned off."
msgstr "Descarregamento em ZIP está desligado."
-#: files.php:333
+#: files.php:366
msgid "Files need to be downloaded one by one."
msgstr "Os ficheiros precisam de ser descarregados um por um."
-#: files.php:333 files.php:358
+#: files.php:366 files.php:391
msgid "Back to Files"
msgstr "Voltar a Ficheiros"
-#: files.php:357
+#: files.php:390
msgid "Selected files too large to generate zip file."
msgstr "Os ficheiros seleccionados são grandes demais para gerar um ficheiro zip."
+#: helper.php:228
+msgid "couldn't be determined"
+msgstr "Não foi possível determinar"
+
#: json.php:28
msgid "Application is not enabled"
msgstr "A aplicação não está activada"
-#: json.php:39 json.php:64 json.php:77 json.php:89
+#: json.php:39 json.php:62 json.php:73
msgid "Authentication error"
msgstr "Erro na autenticação"
@@ -83,55 +87,55 @@ msgstr "Texto"
msgid "Images"
msgstr "Imagens"
-#: template.php:103
+#: template.php:113
msgid "seconds ago"
msgstr "há alguns segundos"
-#: template.php:104
+#: template.php:114
msgid "1 minute ago"
msgstr "há 1 minuto"
-#: template.php:105
+#: template.php:115
#, php-format
msgid "%d minutes ago"
msgstr "há %d minutos"
-#: template.php:106
+#: template.php:116
msgid "1 hour ago"
msgstr "Há 1 horas"
-#: template.php:107
+#: template.php:117
#, php-format
msgid "%d hours ago"
msgstr "Há %d horas"
-#: template.php:108
+#: template.php:118
msgid "today"
msgstr "hoje"
-#: template.php:109
+#: template.php:119
msgid "yesterday"
msgstr "ontem"
-#: template.php:110
+#: template.php:120
#, php-format
msgid "%d days ago"
msgstr "há %d dias"
-#: template.php:111
+#: template.php:121
msgid "last month"
msgstr "mês passado"
-#: template.php:112
+#: template.php:122
#, php-format
msgid "%d months ago"
msgstr "Há %d meses atrás"
-#: template.php:113
+#: template.php:123
msgid "last year"
msgstr "ano passado"
-#: template.php:114
+#: template.php:124
msgid "years ago"
msgstr "há anos"
diff --git a/l10n/pt_PT/settings.po b/l10n/pt_PT/settings.po
index eee0eb64fd7..3d663773c5f 100644
--- a/l10n/pt_PT/settings.po
+++ b/l10n/pt_PT/settings.po
@@ -4,7 +4,7 @@
#
# Translators:
# <daniel@mouxy.net>, 2012.
-# Duarte Velez Grilo <duartegrilo@gmail.com>, 2012.
+# Duarte Velez Grilo <duartegrilo@gmail.com>, 2012-2013.
# <geral@ricardolameiro.pt>, 2012.
# Helder Meneses <helder.meneses@gmail.com>, 2012.
# <rjgpp.1994@gmail.com>, 2012.
@@ -12,9 +12,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-22 00:24+0100\n"
-"PO-Revision-Date: 2012-12-20 23:51+0000\n"
-"Last-Translator: Mouxy <daniel@mouxy.net>\n"
+"POT-Creation-Date: 2013-01-12 00:09+0100\n"
+"PO-Revision-Date: 2013-01-11 23:09+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -34,7 +34,7 @@ msgstr "O grupo já existe"
msgid "Unable to add group"
msgstr "Impossível acrescentar o grupo"
-#: ajax/enableapp.php:12
+#: ajax/enableapp.php:11
msgid "Could not enable app. "
msgstr "Não foi possível activar a app."
@@ -46,14 +46,6 @@ msgstr "Email guardado"
msgid "Invalid email"
msgstr "Email inválido"
-#: ajax/openid.php:13
-msgid "OpenID Changed"
-msgstr "OpenID alterado"
-
-#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20
-msgid "Invalid request"
-msgstr "Pedido inválido"
-
#: ajax/removegroup.php:13
msgid "Unable to delete group"
msgstr "Impossível apagar grupo"
@@ -70,6 +62,10 @@ msgstr "Impossível apagar utilizador"
msgid "Language changed"
msgstr "Idioma alterado"
+#: ajax/setlanguage.php:17 ajax/setlanguage.php:20
+msgid "Invalid request"
+msgstr "Pedido inválido"
+
#: ajax/togglegroups.php:12
msgid "Admins can't remove themself from the admin group"
msgstr "Os administradores não se podem remover a eles mesmos do grupo admin."
@@ -165,7 +161,7 @@ msgstr "Transferir o cliente android"
msgid "Download iOS Client"
msgstr "Transferir o cliente iOS"
-#: templates/personal.php:21 templates/users.php:23 templates/users.php:77
+#: templates/personal.php:21 templates/users.php:23 templates/users.php:82
msgid "Password"
msgstr "Palavra-chave"
@@ -235,11 +231,11 @@ msgid ""
"License\">AGPL</abbr></a>."
msgstr "Desenvolvido pela <a href=\"http://ownCloud.org/contact\" target=\"_blank\">comunidade ownCloud</a>, o<a href=\"https://github.com/owncloud\" target=\"_blank\">código fonte</a> está licenciado sob a <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>."
-#: templates/users.php:21 templates/users.php:76
+#: templates/users.php:21 templates/users.php:81
msgid "Name"
msgstr "Nome"
-#: templates/users.php:26 templates/users.php:78 templates/users.php:98
+#: templates/users.php:26 templates/users.php:83 templates/users.php:103
msgid "Groups"
msgstr "Grupos"
@@ -248,21 +244,29 @@ msgid "Create"
msgstr "Criar"
#: templates/users.php:35
-msgid "Default Quota"
-msgstr "Quota por padrão"
+msgid "Default Storage"
+msgstr "Armazenamento Padrão"
-#: templates/users.php:55 templates/users.php:138
+#: templates/users.php:42 templates/users.php:138
+msgid "Unlimited"
+msgstr "Ilimitado"
+
+#: templates/users.php:60 templates/users.php:153
msgid "Other"
msgstr "Outro"
-#: templates/users.php:80 templates/users.php:112
+#: templates/users.php:85 templates/users.php:117
msgid "Group Admin"
msgstr "Grupo Administrador"
-#: templates/users.php:82
-msgid "Quota"
-msgstr "Quota"
+#: templates/users.php:87
+msgid "Storage"
+msgstr "Armazenamento"
+
+#: templates/users.php:133
+msgid "Default"
+msgstr "Padrão"
-#: templates/users.php:146
+#: templates/users.php:161
msgid "Delete"
msgstr "Apagar"
diff --git a/l10n/pt_PT/user_ldap.po b/l10n/pt_PT/user_ldap.po
index 2ecb6bd3751..734a694ccec 100644
--- a/l10n/pt_PT/user_ldap.po
+++ b/l10n/pt_PT/user_ldap.po
@@ -3,7 +3,7 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
-# <daniel@mouxy.net>, 2012.
+# <daniel@mouxy.net>, 2012-2013.
# Duarte Velez Grilo <duartegrilo@gmail.com>, 2012.
# Helder Meneses <helder.meneses@gmail.com>, 2012.
# Nelson Rosado <nelsontrosado@gmail.com>, 2012.
@@ -11,8 +11,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-18 00:13+0100\n"
-"PO-Revision-Date: 2012-12-17 01:25+0000\n"
+"POT-Creation-Date: 2013-01-18 00:03+0100\n"
+"PO-Revision-Date: 2013-01-17 00:52+0000\n"
"Last-Translator: Mouxy <daniel@mouxy.net>\n"
"Language-Team: Portuguese (Portugal) (http://www.transifex.com/projects/p/owncloud/language/pt_PT/)\n"
"MIME-Version: 1.0\n"
@@ -30,9 +30,9 @@ msgstr "<b>Aviso:</b> A aplicação user_ldap e user_webdavauth são incompative
#: templates/settings.php:11
msgid ""
-"<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will"
-" not work. Please ask your system administrator to install it."
-msgstr "<b>Aviso:</b> O módulo PHP LDAP necessário não está instalado, o backend não irá funcionar. Peça ao seu administrador para o instalar."
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not "
+"work. Please ask your system administrator to install it."
+msgstr "<b>Aviso:</b> O módulo PHP LDAP não está instalado, logo não irá funcionar. Por favor peça ao administrador para o instalar."
#: templates/settings.php:15
msgid "Host"
@@ -48,6 +48,10 @@ msgid "Base DN"
msgstr "DN base"
#: templates/settings.php:16
+msgid "One Base DN per line"
+msgstr "Uma base DN por linho"
+
+#: templates/settings.php:16
msgid "You can specify Base DN for users and groups in the Advanced tab"
msgstr "Pode especificar o ND Base para utilizadores e grupos no separador Avançado"
@@ -118,10 +122,18 @@ msgstr "Porto"
msgid "Base User Tree"
msgstr "Base da árvore de utilizadores."
+#: templates/settings.php:25
+msgid "One User Base DN per line"
+msgstr "Uma base de utilizador DN por linha"
+
#: templates/settings.php:26
msgid "Base Group Tree"
msgstr "Base da árvore de grupos."
+#: templates/settings.php:26
+msgid "One Group Base DN per line"
+msgstr "Uma base de grupo DN por linha"
+
#: templates/settings.php:27
msgid "Group-Member association"
msgstr "Associar utilizador ao grupo."
diff --git a/l10n/pt_PT/user_webdavauth.po b/l10n/pt_PT/user_webdavauth.po
index f34c1b223df..6f6d78b3df7 100644
--- a/l10n/pt_PT/user_webdavauth.po
+++ b/l10n/pt_PT/user_webdavauth.po
@@ -3,14 +3,14 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
-# <daniel@mouxy.net>, 2012.
+# <daniel@mouxy.net>, 2012-2013.
# Helder Meneses <helder.meneses@gmail.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-22 00:24+0100\n"
-"PO-Revision-Date: 2012-12-20 23:46+0000\n"
+"POT-Creation-Date: 2013-01-18 00:03+0100\n"
+"PO-Revision-Date: 2013-01-17 00:54+0000\n"
"Last-Translator: Mouxy <daniel@mouxy.net>\n"
"Language-Team: Portuguese (Portugal) (http://www.transifex.com/projects/p/owncloud/language/pt_PT/)\n"
"MIME-Version: 1.0\n"
@@ -19,13 +19,17 @@ msgstr ""
"Language: pt_PT\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+#: templates/settings.php:3
+msgid "WebDAV Authentication"
+msgstr "Autenticação WebDAV"
+
#: templates/settings.php:4
msgid "URL: http://"
msgstr "URL: http://"
#: templates/settings.php:6
msgid ""
-"ownCloud will send the user credentials to this URL is interpret http 401 "
-"and http 403 as credentials wrong and all other codes as credentials "
-"correct."
-msgstr "O ownCloud vai enviar as credenciais para este URL. Todos os códigos http 401 e 403 serão interpretados como credenciais inválidas, todos os restantes códigos http serão interpretados como credenciais correctas."
+"ownCloud will send the user credentials to this URL. 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 "O ownCloud vai enviar as credenciais do utilizador através deste URL. Este plugin verifica a resposta e vai interpretar os códigos de estado HTTP 401 e 403 como credenciais inválidas, e todas as outras como válidas."
diff --git a/l10n/ro/core.po b/l10n/ro/core.po
index 1e11f35b491..5e03fa1148c 100644
--- a/l10n/ro/core.po
+++ b/l10n/ro/core.po
@@ -5,15 +5,17 @@
# Translators:
# Claudiu <claudiu@tanaselia.ro>, 2011, 2012.
# Dimon Pockemon <>, 2012.
+# Dumitru Ursu <>, 2013.
# Eugen Mihalache <eugemjj@gmail.com>, 2012.
# <g.ciprian@osn.ro>, 2012.
+# <laur.cristescu@gmail.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-13 00:17+0100\n"
-"PO-Revision-Date: 2012-12-12 23:17+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-26 00:09+0100\n"
+"PO-Revision-Date: 2013-01-25 23:09+0000\n"
+"Last-Translator: Dimon Pockemon <>\n"
"Language-Team: Romanian (http://www.transifex.com/projects/p/owncloud/language/ro/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -24,7 +26,7 @@ msgstr ""
#: ajax/share.php:84
#, php-format
msgid "User %s shared a file with you"
-msgstr ""
+msgstr "Utilizatorul %s a partajat un fișier cu tine"
#: ajax/share.php:86
#, php-format
@@ -47,7 +49,7 @@ msgstr ""
#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25
msgid "Category type not provided."
-msgstr ""
+msgstr "Tipul de categorie nu este prevazut"
#: ajax/vcategories/add.php:30
msgid "No category to add?"
@@ -61,18 +63,18 @@ msgstr "Această categorie deja există:"
#: ajax/vcategories/favorites.php:24
#: ajax/vcategories/removeFromFavorites.php:26
msgid "Object type not provided."
-msgstr ""
+msgstr "Tipul obiectului nu este prevazut"
#: ajax/vcategories/addToFavorites.php:30
#: ajax/vcategories/removeFromFavorites.php:30
#, php-format
msgid "%s ID not provided."
-msgstr ""
+msgstr "ID-ul %s nu a fost introdus"
#: ajax/vcategories/addToFavorites.php:35
#, php-format
msgid "Error adding %s to favorites."
-msgstr ""
+msgstr "Eroare la adăugarea %s la favorite"
#: ajax/vcategories/delete.php:35 js/oc-vcategories.js:136
msgid "No categories selected for deletion."
@@ -81,61 +83,137 @@ msgstr "Nici o categorie selectată pentru ștergere."
#: ajax/vcategories/removeFromFavorites.php:35
#, php-format
msgid "Error removing %s from favorites."
-msgstr ""
+msgstr "Eroare la ștergerea %s din favorite"
+
+#: js/config.php:28
+msgid "Sunday"
+msgstr "Duminică"
+
+#: js/config.php:28
+msgid "Monday"
+msgstr "Luni"
+
+#: js/config.php:28
+msgid "Tuesday"
+msgstr "Marți"
+
+#: js/config.php:28
+msgid "Wednesday"
+msgstr "Miercuri"
+
+#: js/config.php:28
+msgid "Thursday"
+msgstr "Joi"
+
+#: js/config.php:28
+msgid "Friday"
+msgstr "Vineri"
+
+#: js/config.php:28
+msgid "Saturday"
+msgstr "Sâmbătă"
+
+#: js/config.php:29
+msgid "January"
+msgstr "Ianuarie"
+
+#: js/config.php:29
+msgid "February"
+msgstr "Februarie"
+
+#: js/config.php:29
+msgid "March"
+msgstr "Martie"
+
+#: js/config.php:29
+msgid "April"
+msgstr "Aprilie"
+
+#: js/config.php:29
+msgid "May"
+msgstr "Mai"
+
+#: js/config.php:29
+msgid "June"
+msgstr "Iunie"
+
+#: js/config.php:29
+msgid "July"
+msgstr "Iulie"
+
+#: js/config.php:29
+msgid "August"
+msgstr "August"
+
+#: js/config.php:29
+msgid "September"
+msgstr "Septembrie"
+
+#: js/config.php:29
+msgid "October"
+msgstr "Octombrie"
-#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61
+#: js/config.php:29
+msgid "November"
+msgstr "Noiembrie"
+
+#: js/config.php:29
+msgid "December"
+msgstr "Decembrie"
+
+#: js/js.js:280 templates/layout.user.php:43 templates/layout.user.php:44
msgid "Settings"
msgstr "Configurări"
-#: js/js.js:704
+#: js/js.js:727
msgid "seconds ago"
msgstr "secunde în urmă"
-#: js/js.js:705
+#: js/js.js:728
msgid "1 minute ago"
msgstr "1 minut în urmă"
-#: js/js.js:706
+#: js/js.js:729
msgid "{minutes} minutes ago"
-msgstr ""
+msgstr "{minutes} minute in urma"
-#: js/js.js:707
+#: js/js.js:730
msgid "1 hour ago"
-msgstr ""
+msgstr "Acum o ora"
-#: js/js.js:708
+#: js/js.js:731
msgid "{hours} hours ago"
-msgstr ""
+msgstr "{hours} ore în urmă"
-#: js/js.js:709
+#: js/js.js:732
msgid "today"
msgstr "astăzi"
-#: js/js.js:710
+#: js/js.js:733
msgid "yesterday"
msgstr "ieri"
-#: js/js.js:711
+#: js/js.js:734
msgid "{days} days ago"
-msgstr ""
+msgstr "{days} zile in urma"
-#: js/js.js:712
+#: js/js.js:735
msgid "last month"
msgstr "ultima lună"
-#: js/js.js:713
+#: js/js.js:736
msgid "{months} months ago"
-msgstr ""
+msgstr "{months} luni în urmă"
-#: js/js.js:714
+#: js/js.js:737
msgid "months ago"
msgstr "luni în urmă"
-#: js/js.js:715
+#: js/js.js:738
msgid "last year"
msgstr "ultimul an"
-#: js/js.js:716
+#: js/js.js:739
msgid "years ago"
msgstr "ani în urmă"
@@ -162,23 +240,23 @@ msgstr "Ok"
#: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102
#: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162
msgid "The object type is not specified."
-msgstr ""
+msgstr "Tipul obiectului nu a fost specificat"
#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136
-#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:541
-#: js/share.js:553
+#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:554
+#: js/share.js:566
msgid "Error"
msgstr "Eroare"
#: js/oc-vcategories.js:179
msgid "The app name is not specified."
-msgstr ""
+msgstr "Numele aplicației nu a fost specificat"
#: js/oc-vcategories.js:194
msgid "The required file {file} is not installed!"
-msgstr ""
+msgstr "Fișierul obligatoriu {file} nu este instalat!"
-#: js/share.js:124 js/share.js:581
+#: js/share.js:124 js/share.js:594
msgid "Error while sharing"
msgstr "Eroare la partajare"
@@ -192,11 +270,11 @@ msgstr "Eroare la modificarea permisiunilor"
#: js/share.js:151
msgid "Shared with you and the group {group} by {owner}"
-msgstr ""
+msgstr "Distribuie cu tine si grupul {group} de {owner}"
#: js/share.js:153
msgid "Shared with you by {owner}"
-msgstr ""
+msgstr "Distribuie cu tine de {owner}"
#: js/share.js:158
msgid "Share with"
@@ -206,12 +284,11 @@ msgstr "Partajat cu"
msgid "Share with link"
msgstr "Partajare cu legătură"
-#: js/share.js:164
+#: js/share.js:166
msgid "Password protect"
msgstr "Protejare cu parolă"
-#: js/share.js:168 templates/installation.php:42 templates/login.php:24
-#: templates/verify.php:13
+#: js/share.js:168 templates/installation.php:44 templates/login.php:35
msgid "Password"
msgstr "Parola"
@@ -233,7 +310,7 @@ msgstr "Data expirării"
#: js/share.js:210
msgid "Share via email:"
-msgstr ""
+msgstr "Distribuie prin email:"
#: js/share.js:212
msgid "No people found"
@@ -245,7 +322,7 @@ msgstr "Repartajarea nu este permisă"
#: js/share.js:275
msgid "Shared in {item} with {user}"
-msgstr ""
+msgstr "Distribuie in {item} si {user}"
#: js/share.js:296
msgid "Unshare"
@@ -275,23 +352,23 @@ msgstr "ștergere"
msgid "share"
msgstr "partajare"
-#: js/share.js:353 js/share.js:528 js/share.js:530
+#: js/share.js:356 js/share.js:541
msgid "Password protected"
msgstr "Protejare cu parolă"
-#: js/share.js:541
+#: js/share.js:554
msgid "Error unsetting expiration date"
msgstr "Eroare la anularea datei de expirare"
-#: js/share.js:553
+#: js/share.js:566
msgid "Error setting expiration date"
msgstr "Eroare la specificarea datei de expirare"
-#: js/share.js:568
+#: js/share.js:581
msgid "Sending ..."
msgstr ""
-#: js/share.js:579
+#: js/share.js:592
msgid "Email sent"
msgstr ""
@@ -309,14 +386,14 @@ msgstr "Vei primi un mesaj prin care vei putea reseta parola via email"
#: lostpassword/templates/lostpassword.php:5
msgid "Reset email send."
-msgstr ""
+msgstr "Resetarea emailu-lui trimisa."
#: lostpassword/templates/lostpassword.php:8
msgid "Request failed!"
-msgstr ""
+msgstr "Solicitarea nu a reusit"
-#: lostpassword/templates/lostpassword.php:11 templates/installation.php:38
-#: templates/login.php:20
+#: lostpassword/templates/lostpassword.php:11 templates/installation.php:39
+#: templates/login.php:28
msgid "Username"
msgstr "Utilizator"
@@ -384,13 +461,13 @@ msgstr "Avertisment de securitate"
msgid ""
"No secure random number generator is available, please enable the PHP "
"OpenSSL extension."
-msgstr ""
+msgstr "Generatorul de numere pentru securitate nu este disponibil, va rog activati extensia PHP OpenSSL"
#: templates/installation.php:26
msgid ""
"Without a secure random number generator an attacker may be able to predict "
"password reset tokens and take over your account."
-msgstr ""
+msgstr "Fara generatorul pentru numere de securitate , un atacator poate afla parola si reseta contul tau"
#: templates/installation.php:32
msgid ""
@@ -405,161 +482,81 @@ msgstr "Directorul tău de date și fișierele tale probabil sunt accesibile pri
msgid "Create an <strong>admin account</strong>"
msgstr "Crează un <strong>cont de administrator</strong>"
-#: templates/installation.php:48
+#: templates/installation.php:50
msgid "Advanced"
msgstr "Avansat"
-#: templates/installation.php:50
+#: templates/installation.php:52
msgid "Data folder"
msgstr "Director date"
-#: templates/installation.php:57
+#: templates/installation.php:59
msgid "Configure the database"
msgstr "Configurează baza de date"
-#: templates/installation.php:62 templates/installation.php:73
-#: templates/installation.php:83 templates/installation.php:93
+#: templates/installation.php:64 templates/installation.php:75
+#: templates/installation.php:85 templates/installation.php:95
msgid "will be used"
msgstr "vor fi folosite"
-#: templates/installation.php:105
+#: templates/installation.php:107
msgid "Database user"
msgstr "Utilizatorul bazei de date"
-#: templates/installation.php:109
+#: templates/installation.php:111
msgid "Database password"
msgstr "Parola bazei de date"
-#: templates/installation.php:113
+#: templates/installation.php:115
msgid "Database name"
msgstr "Numele bazei de date"
-#: templates/installation.php:121
+#: templates/installation.php:123
msgid "Database tablespace"
msgstr "Tabela de spațiu a bazei de date"
-#: templates/installation.php:127
+#: templates/installation.php:129
msgid "Database host"
msgstr "Bază date"
-#: templates/installation.php:132
+#: templates/installation.php:134
msgid "Finish setup"
msgstr "Finalizează instalarea"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Sunday"
-msgstr "Duminică"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Monday"
-msgstr "Luni"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Tuesday"
-msgstr "Marți"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Wednesday"
-msgstr "Miercuri"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Thursday"
-msgstr "Joi"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Friday"
-msgstr "Vineri"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Saturday"
-msgstr "Sâmbătă"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "January"
-msgstr "Ianuarie"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "February"
-msgstr "Februarie"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "March"
-msgstr "Martie"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "April"
-msgstr "Aprilie"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "May"
-msgstr "Mai"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "June"
-msgstr "Iunie"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "July"
-msgstr "Iulie"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "August"
-msgstr "August"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "September"
-msgstr "Septembrie"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "October"
-msgstr "Octombrie"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "November"
-msgstr "Noiembrie"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "December"
-msgstr "Decembrie"
-
-#: templates/layout.guest.php:42
+#: templates/layout.guest.php:33
msgid "web services under your control"
msgstr "servicii web controlate de tine"
-#: templates/layout.user.php:45
+#: templates/layout.user.php:28
msgid "Log out"
msgstr "Ieșire"
-#: templates/login.php:8
+#: templates/login.php:10
msgid "Automatic logon rejected!"
-msgstr ""
+msgstr "Logare automata respinsa"
-#: templates/login.php:9
+#: templates/login.php:11
msgid ""
"If you did not change your password recently, your account may be "
"compromised!"
-msgstr ""
+msgstr "Daca nu schimbi parola cand de curand , contul tau poate fi conpromis"
-#: templates/login.php:10
+#: templates/login.php:13
msgid "Please change your password to secure your account again."
-msgstr ""
+msgstr "Te rog schimba parola pentru ca, contul tau sa fie securizat din nou."
-#: templates/login.php:15
+#: templates/login.php:19
msgid "Lost your password?"
msgstr "Ai uitat parola?"
-#: templates/login.php:27
+#: templates/login.php:39
msgid "remember"
msgstr "amintește"
-#: templates/login.php:28
+#: templates/login.php:41
msgid "Log in"
msgstr "Autentificare"
-#: templates/logout.php:1
-msgid "You are logged out."
-msgstr "Ai ieșit"
-
#: templates/part.pagenavi.php:3
msgid "prev"
msgstr "precedentul"
@@ -568,16 +565,7 @@ msgstr "precedentul"
msgid "next"
msgstr "următorul"
-#: templates/verify.php:5
-msgid "Security Warning!"
-msgstr ""
-
-#: templates/verify.php:6
-msgid ""
-"Please verify your password. <br/>For security reasons you may be "
-"occasionally asked to enter your password again."
-msgstr ""
-
-#: templates/verify.php:16
-msgid "Verify"
+#: templates/update.php:3
+#, php-format
+msgid "Updating ownCloud to version %s, this may take a while."
msgstr ""
diff --git a/l10n/ro/files.po b/l10n/ro/files.po
index a1bd981cb9b..dc97193c832 100644
--- a/l10n/ro/files.po
+++ b/l10n/ro/files.po
@@ -3,17 +3,19 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
-# Claudiu <claudiu@tanaselia.ro>, 2011, 2012.
+# Claudiu <claudiu@tanaselia.ro>, 2011-2013.
# Dimon Pockemon <>, 2012.
+# Dumitru Ursu <>, 2013.
# Eugen Mihalache <eugemjj@gmail.com>, 2012.
-# <g.ciprian@osn.ro>, 2012.
+# <g.ciprian@osn.ro>, 2012-2013.
+# <laur.cristescu@gmail.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-01 00:01+0100\n"
-"PO-Revision-Date: 2012-11-30 23:02+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-26 00:09+0100\n"
+"PO-Revision-Date: 2013-01-25 22:58+0000\n"
+"Last-Translator: Dimon Pockemon <>\n"
"Language-Team: Romanian (http://www.transifex.com/projects/p/owncloud/language/ro/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -21,46 +23,77 @@ msgstr ""
"Language: ro\n"
"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n"
+#: ajax/delete.php:28 ajax/getstoragestats.php:11 ajax/upload.php:17
+#: ajax/upload.php:76 templates/index.php:18
+msgid "Upload"
+msgstr "Încarcă"
+
+#: ajax/move.php:17
+#, php-format
+msgid "Could not move %s - File with this name already exists"
+msgstr "Nu se poate de mutat %s - Fișier cu acest nume deja există"
+
+#: ajax/move.php:24
+#, php-format
+msgid "Could not move %s"
+msgstr "Nu s-a putut muta %s"
+
+#: ajax/rename.php:19
+msgid "Unable to rename file"
+msgstr "Nu s-a putut redenumi fișierul"
+
#: ajax/upload.php:20
+msgid "No file was uploaded. Unknown error"
+msgstr "Nici un fișier nu a fost încărcat. Eroare necunoscută"
+
+#: ajax/upload.php:30
msgid "There is no error, the file uploaded with success"
msgstr "Nicio eroare, fișierul a fost încărcat cu succes"
-#: ajax/upload.php:21
+#: ajax/upload.php:31
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
-msgstr ""
+msgstr "Fisierul incarcat depaseste upload_max_filesize permisi in php.ini: "
-#: ajax/upload.php:23
+#: ajax/upload.php:33
msgid ""
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
"the HTML form"
msgstr "Fișierul are o dimensiune mai mare decât variabile MAX_FILE_SIZE specificată în formularul HTML"
-#: ajax/upload.php:25
+#: ajax/upload.php:35
msgid "The uploaded file was only partially uploaded"
msgstr "Fișierul a fost încărcat doar parțial"
-#: ajax/upload.php:26
+#: ajax/upload.php:36
msgid "No file was uploaded"
msgstr "Niciun fișier încărcat"
-#: ajax/upload.php:27
+#: ajax/upload.php:37
msgid "Missing a temporary folder"
msgstr "Lipsește un dosar temporar"
-#: ajax/upload.php:28
+#: ajax/upload.php:38
msgid "Failed to write to disk"
msgstr "Eroare la scriere pe disc"
+#: ajax/upload.php:57
+msgid "Not enough space available"
+msgstr "Nu este suficient spațiu disponibil"
+
+#: ajax/upload.php:91
+msgid "Invalid directory."
+msgstr "Director invalid."
+
#: appinfo/app.php:10
msgid "Files"
msgstr "Fișiere"
-#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84
+#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
msgid "Unshare"
msgstr "Anulează partajarea"
-#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90
+#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
msgid "Delete"
msgstr "Șterge"
@@ -68,124 +101,138 @@ msgstr "Șterge"
msgid "Rename"
msgstr "Redenumire"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "{new_name} already exists"
-msgstr ""
+msgstr "{new_name} deja exista"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "replace"
msgstr "înlocuire"
-#: js/filelist.js:201
+#: js/filelist.js:205
msgid "suggest name"
msgstr "sugerează nume"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "cancel"
msgstr "anulare"
-#: js/filelist.js:250
+#: js/filelist.js:254
msgid "replaced {new_name}"
-msgstr ""
+msgstr "inlocuit {new_name}"
-#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286
+#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
msgid "undo"
msgstr "Anulează ultima acțiune"
-#: js/filelist.js:252
+#: js/filelist.js:256
msgid "replaced {new_name} with {old_name}"
-msgstr ""
+msgstr "{new_name} inlocuit cu {old_name}"
-#: js/filelist.js:284
+#: js/filelist.js:288
msgid "unshared {files}"
-msgstr ""
+msgstr "nedistribuit {files}"
-#: js/filelist.js:286
+#: js/filelist.js:290
msgid "deleted {files}"
-msgstr ""
+msgstr "Sterse {files}"
+
+#: js/files.js:48
+msgid "'.' is an invalid file name."
+msgstr "'.' este un nume invalid de fișier."
+
+#: js/files.js:53
+msgid "File name cannot be empty."
+msgstr "Numele fișierului nu poate rămâne gol."
-#: js/files.js:33
+#: js/files.js:62
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
-msgstr ""
+msgstr "Nume invalid, '\\', '/', '<', '>', ':', '\"', '|', '?' si '*' nu sunt permise."
-#: js/files.js:183
-msgid "generating ZIP-file, it may take some time."
-msgstr "se generază fișierul ZIP, va dura ceva timp."
+#: js/files.js:204
+msgid ""
+"Your download is being prepared. This might take some time if the files are "
+"big."
+msgstr "Se pregătește descărcarea. Aceasta poate să dureze ceva timp dacă fișierele sunt mari."
-#: js/files.js:218
+#: js/files.js:242
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr "Nu s-a putut încărca fișierul tău deoarece pare să fie un director sau are 0 bytes."
-#: js/files.js:218
+#: js/files.js:242
msgid "Upload Error"
msgstr "Eroare la încărcare"
-#: js/files.js:235
+#: js/files.js:259
msgid "Close"
msgstr "ÃŽnchide"
-#: js/files.js:254 js/files.js:368 js/files.js:398
+#: js/files.js:278 js/files.js:397 js/files.js:431
msgid "Pending"
msgstr "În așteptare"
-#: js/files.js:274
+#: js/files.js:298
msgid "1 file uploading"
msgstr "un fișier se încarcă"
-#: js/files.js:277 js/files.js:331 js/files.js:346
+#: js/files.js:301 js/files.js:357 js/files.js:372
msgid "{count} files uploading"
-msgstr ""
+msgstr "{count} fisiere incarcate"
-#: js/files.js:349 js/files.js:382
+#: js/files.js:376 js/files.js:414
msgid "Upload cancelled."
msgstr "Încărcare anulată."
-#: js/files.js:451
+#: js/files.js:486
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr "Fișierul este în curs de încărcare. Părăsirea paginii va întrerupe încărcarea."
-#: js/files.js:523
-msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud"
-msgstr ""
+#: js/files.js:559
+msgid "URL cannot be empty."
+msgstr "Adresa URL nu poate fi goală."
-#: js/files.js:704
+#: js/files.js:565
+msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
+msgstr "Invalid folder name. Usage of 'Shared' is reserved by Ownclou"
+
+#: js/files.js:775
msgid "{count} files scanned"
-msgstr ""
+msgstr "{count} fisiere scanate"
-#: js/files.js:712
+#: js/files.js:783
msgid "error while scanning"
msgstr "eroare la scanarea"
-#: js/files.js:785 templates/index.php:65
+#: js/files.js:857 templates/index.php:64
msgid "Name"
msgstr "Nume"
-#: js/files.js:786 templates/index.php:76
+#: js/files.js:858 templates/index.php:75
msgid "Size"
msgstr "Dimensiune"
-#: js/files.js:787 templates/index.php:78
+#: js/files.js:859 templates/index.php:77
msgid "Modified"
msgstr "Modificat"
-#: js/files.js:814
+#: js/files.js:878
msgid "1 folder"
-msgstr ""
+msgstr "1 folder"
-#: js/files.js:816
+#: js/files.js:880
msgid "{count} folders"
-msgstr ""
+msgstr "{count} foldare"
-#: js/files.js:824
+#: js/files.js:888
msgid "1 file"
-msgstr ""
+msgstr "1 fisier"
-#: js/files.js:826
+#: js/files.js:890
msgid "{count} files"
-msgstr ""
+msgstr "{count} fisiere"
#: templates/admin.php:5
msgid "File handling"
@@ -195,27 +242,27 @@ msgstr "Manipulare fișiere"
msgid "Maximum upload size"
msgstr "Dimensiune maximă admisă la încărcare"
-#: templates/admin.php:9
+#: templates/admin.php:10
msgid "max. possible: "
msgstr "max. posibil:"
-#: templates/admin.php:12
+#: templates/admin.php:15
msgid "Needed for multi-file and folder downloads."
msgstr "Necesar pentru descărcarea mai multor fișiere și a dosarelor"
-#: templates/admin.php:14
+#: templates/admin.php:17
msgid "Enable ZIP-download"
msgstr "Activează descărcare fișiere compresate"
-#: templates/admin.php:17
+#: templates/admin.php:20
msgid "0 is unlimited"
msgstr "0 e nelimitat"
-#: templates/admin.php:19
+#: templates/admin.php:22
msgid "Maximum input size for ZIP files"
msgstr "Dimensiunea maximă de intrare pentru fișiere compresate"
-#: templates/admin.php:23
+#: templates/admin.php:26
msgid "Save"
msgstr "Salvare"
@@ -233,38 +280,34 @@ msgstr "Dosar"
#: templates/index.php:14
msgid "From link"
-msgstr ""
-
-#: templates/index.php:35
-msgid "Upload"
-msgstr "Încarcă"
+msgstr "de la adresa"
-#: templates/index.php:43
+#: templates/index.php:41
msgid "Cancel upload"
msgstr "Anulează încărcarea"
-#: templates/index.php:57
+#: templates/index.php:56
msgid "Nothing in here. Upload something!"
msgstr "Nimic aici. Încarcă ceva!"
-#: templates/index.php:71
+#: templates/index.php:70
msgid "Download"
msgstr "Descarcă"
-#: templates/index.php:103
+#: templates/index.php:102
msgid "Upload too large"
msgstr "Fișierul încărcat este prea mare"
-#: templates/index.php:105
+#: templates/index.php:104
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:110
+#: templates/index.php:109
msgid "Files are being scanned, please wait."
msgstr "Fișierele sunt scanate, te rog așteptă."
-#: templates/index.php:113
+#: templates/index.php:112
msgid "Current scanning"
msgstr "ÃŽn curs de scanare"
diff --git a/l10n/ro/files_encryption.po b/l10n/ro/files_encryption.po
index 2c3a3ed30b0..701aea30fb9 100644
--- a/l10n/ro/files_encryption.po
+++ b/l10n/ro/files_encryption.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-09-19 02:02+0200\n"
-"PO-Revision-Date: 2012-09-18 11:31+0000\n"
-"Last-Translator: g.ciprian <g.ciprian@osn.ro>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,18 +18,66 @@ msgstr ""
"Language: ro\n"
"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "ÃŽncriptare"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "Exclude următoarele tipuri de fișiere de la încriptare"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "Niciuna"
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "Activare încriptare"
diff --git a/l10n/ro/files_versions.po b/l10n/ro/files_versions.po
index d3058eb6ed2..28514d6ddd3 100644
--- a/l10n/ro/files_versions.po
+++ b/l10n/ro/files_versions.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-09-27 02:01+0200\n"
-"PO-Revision-Date: 2012-09-26 13:05+0000\n"
-"Last-Translator: g.ciprian <g.ciprian@osn.ro>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:03+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,22 +18,10 @@ msgstr ""
"Language: ro\n"
"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n"
-#: js/settings-personal.js:31 templates/settings-personal.php:10
-msgid "Expire all versions"
-msgstr "Expiră toate versiunile"
-
#: js/versions.js:16
msgid "History"
msgstr "Istoric"
-#: templates/settings-personal.php:4
-msgid "Versions"
-msgstr "Versiuni"
-
-#: templates/settings-personal.php:7
-msgid "This will delete all existing backup versions of your files"
-msgstr "Această acțiune va șterge toate versiunile salvate ale fișierelor tale"
-
#: templates/settings.php:3
msgid "Files Versioning"
msgstr "Versionare fișiere"
diff --git a/l10n/ro/lib.po b/l10n/ro/lib.po
index 827d2b17ea9..a48eb334748 100644
--- a/l10n/ro/lib.po
+++ b/l10n/ro/lib.po
@@ -3,14 +3,16 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# Dumitru Ursu <>, 2013.
# <g.ciprian@osn.ro>, 2012.
+# <laur.cristescu@gmail.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-11-16 00:02+0100\n"
-"PO-Revision-Date: 2012-11-14 23:13+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-26 00:09+0100\n"
+"PO-Revision-Date: 2013-01-25 21:31+0000\n"
+"Last-Translator: Dimon Pockemon <>\n"
"Language-Team: Romanian (http://www.transifex.com/projects/p/owncloud/language/ro/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,51 +20,55 @@ msgstr ""
"Language: ro\n"
"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n"
-#: app.php:285
+#: app.php:301
msgid "Help"
msgstr "Ajutor"
-#: app.php:292
+#: app.php:308
msgid "Personal"
msgstr "Personal"
-#: app.php:297
+#: app.php:313
msgid "Settings"
msgstr "Setări"
-#: app.php:302
+#: app.php:318
msgid "Users"
msgstr "Utilizatori"
-#: app.php:309
+#: app.php:325
msgid "Apps"
msgstr "Aplicații"
-#: app.php:311
+#: app.php:327
msgid "Admin"
msgstr "Admin"
-#: files.php:332
+#: files.php:365
msgid "ZIP download is turned off."
msgstr "Descărcarea ZIP este dezactivată."
-#: files.php:333
+#: files.php:366
msgid "Files need to be downloaded one by one."
msgstr "Fișierele trebuie descărcate unul câte unul."
-#: files.php:333 files.php:358
+#: files.php:366 files.php:391
msgid "Back to Files"
msgstr "Înapoi la fișiere"
-#: files.php:357
+#: files.php:390
msgid "Selected files too large to generate zip file."
msgstr "Fișierele selectate sunt prea mari pentru a genera un fișier zip."
+#: helper.php:229
+msgid "couldn't be determined"
+msgstr "nu poate fi determinat"
+
#: json.php:28
msgid "Application is not enabled"
msgstr "Aplicația nu este activată"
-#: json.php:39 json.php:64 json.php:77 json.php:89
+#: json.php:39 json.php:62 json.php:73
msgid "Authentication error"
msgstr "Eroare la autentificare"
@@ -80,57 +86,57 @@ msgstr "Text"
#: search/provider/file.php:29
msgid "Images"
-msgstr ""
+msgstr "Imagini"
-#: template.php:103
+#: template.php:113
msgid "seconds ago"
msgstr "secunde în urmă"
-#: template.php:104
+#: template.php:114
msgid "1 minute ago"
msgstr "1 minut în urmă"
-#: template.php:105
+#: template.php:115
#, php-format
msgid "%d minutes ago"
msgstr "%d minute în urmă"
-#: template.php:106
+#: template.php:116
msgid "1 hour ago"
-msgstr ""
+msgstr "Acum o ora"
-#: template.php:107
+#: template.php:117
#, php-format
msgid "%d hours ago"
-msgstr ""
+msgstr "%d ore in urma"
-#: template.php:108
+#: template.php:118
msgid "today"
msgstr "astăzi"
-#: template.php:109
+#: template.php:119
msgid "yesterday"
msgstr "ieri"
-#: template.php:110
+#: template.php:120
#, php-format
msgid "%d days ago"
msgstr "%d zile în urmă"
-#: template.php:111
+#: template.php:121
msgid "last month"
msgstr "ultima lună"
-#: template.php:112
+#: template.php:122
#, php-format
msgid "%d months ago"
-msgstr ""
+msgstr "%d luni in urma"
-#: template.php:113
+#: template.php:123
msgid "last year"
msgstr "ultimul an"
-#: template.php:114
+#: template.php:124
msgid "years ago"
msgstr "ani în urmă"
@@ -150,4 +156,4 @@ msgstr "verificarea după actualizări este dezactivată"
#: vcategories.php:188 vcategories.php:249
#, php-format
msgid "Could not find category \"%s\""
-msgstr ""
+msgstr "Cloud nu a gasit categoria \"%s\""
diff --git a/l10n/ro/settings.po b/l10n/ro/settings.po
index 98f2a2844e7..4852a519d3d 100644
--- a/l10n/ro/settings.po
+++ b/l10n/ro/settings.po
@@ -5,17 +5,18 @@
# Translators:
# Claudiu <claudiu@tanaselia.ro>, 2011, 2012.
# Dimon Pockemon <>, 2012.
+# Dumitru Ursu <>, 2013.
# Eugen Mihalache <eugemjj@gmail.com>, 2012.
-# <g.ciprian@osn.ro>, 2012.
+# <g.ciprian@osn.ro>, 2012-2013.
# <icewind1991@gmail.com>, 2012.
# <iuranemo@gmail.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-21 00:10+0100\n"
-"PO-Revision-Date: 2012-12-19 23:20+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-26 00:09+0100\n"
+"PO-Revision-Date: 2013-01-25 23:00+0000\n"
+"Last-Translator: Dimon Pockemon <>\n"
"Language-Team: Romanian (http://www.transifex.com/projects/p/owncloud/language/ro/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -35,7 +36,7 @@ msgstr "Grupul există deja"
msgid "Unable to add group"
msgstr "Nu s-a putut adăuga grupul"
-#: ajax/enableapp.php:12
+#: ajax/enableapp.php:11
msgid "Could not enable app. "
msgstr "Nu s-a putut activa aplicația."
@@ -47,14 +48,6 @@ msgstr "E-mail salvat"
msgid "Invalid email"
msgstr "E-mail nevalid"
-#: ajax/openid.php:13
-msgid "OpenID Changed"
-msgstr "OpenID schimbat"
-
-#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20
-msgid "Invalid request"
-msgstr "Cerere eronată"
-
#: ajax/removegroup.php:13
msgid "Unable to delete group"
msgstr "Nu s-a putut șterge grupul"
@@ -71,9 +64,13 @@ msgstr "Nu s-a putut șterge utilizatorul"
msgid "Language changed"
msgstr "Limba a fost schimbată"
+#: ajax/setlanguage.php:17 ajax/setlanguage.php:20
+msgid "Invalid request"
+msgstr "Cerere eronată"
+
#: ajax/togglegroups.php:12
msgid "Admins can't remove themself from the admin group"
-msgstr ""
+msgstr "Administratorii nu se pot șterge singuri din grupul admin"
#: ajax/togglegroups.php:28
#, php-format
@@ -107,48 +104,48 @@ msgstr "Adaugă aplicația ta"
#: templates/apps.php:11
msgid "More Apps"
-msgstr ""
+msgstr "Mai multe aplicații"
-#: templates/apps.php:27
+#: templates/apps.php:24
msgid "Select an App"
msgstr "Selectează o aplicație"
-#: templates/apps.php:31
+#: templates/apps.php:28
msgid "See application page at apps.owncloud.com"
msgstr "Vizualizează pagina applicației pe apps.owncloud.com"
-#: templates/apps.php:32
+#: templates/apps.php:29
msgid "<span class=\"licence\"></span>-licensed by <span class=\"author\"></span>"
msgstr "<span class=\"licence\"></span>-licențiat <span class=\"author\"></span>"
#: templates/help.php:3
msgid "User Documentation"
-msgstr ""
+msgstr "Documentație utilizator"
#: templates/help.php:4
msgid "Administrator Documentation"
-msgstr ""
+msgstr "Documentație administrator"
#: templates/help.php:6
msgid "Online Documentation"
-msgstr ""
+msgstr "Documentație online"
#: templates/help.php:7
msgid "Forum"
-msgstr ""
+msgstr "Forum"
#: templates/help.php:9
msgid "Bugtracker"
-msgstr ""
+msgstr "Urmărire bug-uri"
#: templates/help.php:11
msgid "Commercial Support"
-msgstr ""
+msgstr "Suport comercial"
#: templates/personal.php:8
#, php-format
msgid "You have used <strong>%s</strong> of the available <strong>%s</strong>"
-msgstr ""
+msgstr "Ați utilizat <strong>%s</strong> din <strong>%s</strong> disponibile"
#: templates/personal.php:12
msgid "Clients"
@@ -156,17 +153,17 @@ msgstr "Clienți"
#: templates/personal.php:13
msgid "Download Desktop Clients"
-msgstr ""
+msgstr "Descarcă client desktop"
#: templates/personal.php:14
msgid "Download Android Client"
-msgstr ""
+msgstr "Descarcă client Android"
#: templates/personal.php:15
msgid "Download iOS Client"
-msgstr ""
+msgstr "Descarcă client iOS"
-#: templates/personal.php:21 templates/users.php:23 templates/users.php:77
+#: templates/personal.php:21 templates/users.php:23 templates/users.php:82
msgid "Password"
msgstr "Parolă"
@@ -216,15 +213,15 @@ msgstr "Ajută la traducere"
#: templates/personal.php:52
msgid "WebDAV"
-msgstr ""
+msgstr "WebDAV"
#: templates/personal.php:54
msgid "Use this address to connect to your ownCloud in your file manager"
-msgstr ""
+msgstr "Folosește această adresă pentru a conecta ownCloud cu managerul de fișiere"
#: templates/personal.php:63
msgid "Version"
-msgstr ""
+msgstr "Versiunea"
#: templates/personal.php:65
msgid ""
@@ -236,11 +233,11 @@ msgid ""
"License\">AGPL</abbr></a>."
msgstr "Dezvoltat de the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">comunitatea ownCloud</a>, <a href=\"https://github.com/owncloud\" target=\"_blank\">codul sursă</a> este licențiat sub <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>."
-#: templates/users.php:21 templates/users.php:76
+#: templates/users.php:21 templates/users.php:81
msgid "Name"
msgstr "Nume"
-#: templates/users.php:26 templates/users.php:78 templates/users.php:98
+#: templates/users.php:26 templates/users.php:83 templates/users.php:103
msgid "Groups"
msgstr "Grupuri"
@@ -249,21 +246,29 @@ msgid "Create"
msgstr "Crează"
#: templates/users.php:35
-msgid "Default Quota"
-msgstr "Cotă implicită"
+msgid "Default Storage"
+msgstr "Stocare implicită"
+
+#: templates/users.php:42 templates/users.php:138
+msgid "Unlimited"
+msgstr "Nelimitată"
-#: templates/users.php:55 templates/users.php:138
+#: templates/users.php:60 templates/users.php:153
msgid "Other"
msgstr "Altele"
-#: templates/users.php:80 templates/users.php:112
+#: templates/users.php:85 templates/users.php:117
msgid "Group Admin"
msgstr "Grupul Admin "
-#: templates/users.php:82
-msgid "Quota"
-msgstr "Cotă"
+#: templates/users.php:87
+msgid "Storage"
+msgstr "Stocare"
+
+#: templates/users.php:133
+msgid "Default"
+msgstr "Implicită"
-#: templates/users.php:146
+#: templates/users.php:161
msgid "Delete"
msgstr "Șterge"
diff --git a/l10n/ro/user_ldap.po b/l10n/ro/user_ldap.po
index a7e5abcc360..a57e18531e1 100644
--- a/l10n/ro/user_ldap.po
+++ b/l10n/ro/user_ldap.po
@@ -3,15 +3,16 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
-# Dumitru Ursu <>, 2012.
+# Dumitru Ursu <>, 2012-2013.
# <iuranemo@gmail.com>, 2012.
+# <laur.cristescu@gmail.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-15 00:11+0100\n"
-"PO-Revision-Date: 2012-12-14 23:11+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-26 00:09+0100\n"
+"PO-Revision-Date: 2013-01-25 23:02+0000\n"
+"Last-Translator: Dimon Pockemon <>\n"
"Language-Team: Romanian (http://www.transifex.com/projects/p/owncloud/language/ro/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -24,13 +25,13 @@ msgid ""
"<b>Warning:</b> Apps user_ldap and user_webdavauth are incompatible. You may"
" experience unexpected behaviour. Please ask your system administrator to "
"disable one of them."
-msgstr ""
+msgstr "<b>Atentie:</b> Apps user_ldap si user_webdavauth sunt incompatibile. Este posibil sa experimentati un comportament neasteptat. Vă rugăm să întrebați administratorul de sistem pentru a dezactiva una dintre ele."
#: templates/settings.php:11
msgid ""
-"<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will"
-" not work. Please ask your system administrator to install it."
-msgstr ""
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not "
+"work. Please ask your system administrator to install it."
+msgstr "<b>Atenție</b> Modulul PHP LDAP nu este instalat, infrastructura nu va funcționa. Contactează administratorul sistemului pentru al instala."
#: templates/settings.php:15
msgid "Host"
@@ -46,6 +47,10 @@ msgid "Base DN"
msgstr "DN de bază"
#: templates/settings.php:16
+msgid "One Base DN per line"
+msgstr "Un Base DN pe linie"
+
+#: templates/settings.php:16
msgid "You can specify Base DN for users and groups in the Advanced tab"
msgstr "Puteți să specificați DN de bază pentru utilizatori și grupuri în fila Avansat"
@@ -116,10 +121,18 @@ msgstr "Portul"
msgid "Base User Tree"
msgstr "Arborele de bază al Utilizatorilor"
+#: templates/settings.php:25
+msgid "One User Base DN per line"
+msgstr "Un User Base DN pe linie"
+
#: templates/settings.php:26
msgid "Base Group Tree"
msgstr "Arborele de bază al Grupurilor"
+#: templates/settings.php:26
+msgid "One Group Base DN per line"
+msgstr "Un Group Base DN pe linie"
+
#: templates/settings.php:27
msgid "Group-Member association"
msgstr "Asocierea Grup-Membru"
diff --git a/l10n/ro/user_webdavauth.po b/l10n/ro/user_webdavauth.po
index 47c5b766afe..fdbba4b6f80 100644
--- a/l10n/ro/user_webdavauth.po
+++ b/l10n/ro/user_webdavauth.po
@@ -3,12 +3,13 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# <laur.cristescu@gmail.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-20 00:11+0100\n"
-"PO-Revision-Date: 2012-12-19 23:12+0000\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+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"
@@ -17,13 +18,17 @@ msgstr ""
"Language: ro\n"
"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n"
+#: templates/settings.php:3
+msgid "WebDAV Authentication"
+msgstr ""
+
#: templates/settings.php:4
msgid "URL: http://"
-msgstr ""
+msgstr "URL: http://"
#: templates/settings.php:6
msgid ""
-"ownCloud will send the user credentials to this URL is interpret http 401 "
-"and http 403 as credentials wrong and all other codes as credentials "
-"correct."
+"ownCloud will send the user credentials to this URL. 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 ""
diff --git a/l10n/ru/core.po b/l10n/ru/core.po
index 6d05bc9e9dd..2bbb44f36f8 100644
--- a/l10n/ru/core.po
+++ b/l10n/ru/core.po
@@ -8,6 +8,7 @@
# <k0ldbl00d@gmail.com>, 2012.
# Mihail Vasiliev <mickvav@gmail.com>, 2012.
# <semen@sam002.net>, 2012.
+# <sharov3@gmail.com>, 2013.
# <skoptev@ukr.net>, 2012.
# <tony.mccourin@gmail.com>, 2011.
# Victor Bravo <>, 2012.
@@ -16,9 +17,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-14 00:16+0100\n"
-"PO-Revision-Date: 2012-12-13 18:19+0000\n"
-"Last-Translator: sam002 <semen@sam002.net>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:03+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -92,55 +93,55 @@ msgstr "Ошибка ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ %s из избранного"
msgid "Settings"
msgstr "ÐаÑтройки"
-#: js/js.js:704
+#: js/js.js:711
msgid "seconds ago"
msgstr "неÑколько Ñекунд назад"
-#: js/js.js:705
+#: js/js.js:712
msgid "1 minute ago"
msgstr "1 минуту назад"
-#: js/js.js:706
+#: js/js.js:713
msgid "{minutes} minutes ago"
msgstr "{minutes} минут назад"
-#: js/js.js:707
+#: js/js.js:714
msgid "1 hour ago"
msgstr "Ñ‡Ð°Ñ Ð½Ð°Ð·Ð°Ð´"
-#: js/js.js:708
+#: js/js.js:715
msgid "{hours} hours ago"
msgstr "{hours} чаÑов назад"
-#: js/js.js:709
+#: js/js.js:716
msgid "today"
msgstr "ÑегоднÑ"
-#: js/js.js:710
+#: js/js.js:717
msgid "yesterday"
msgstr "вчера"
-#: js/js.js:711
+#: js/js.js:718
msgid "{days} days ago"
msgstr "{days} дней назад"
-#: js/js.js:712
+#: js/js.js:719
msgid "last month"
msgstr "в прошлом меÑÑце"
-#: js/js.js:713
+#: js/js.js:720
msgid "{months} months ago"
msgstr "{months} меÑÑцев назад"
-#: js/js.js:714
+#: js/js.js:721
msgid "months ago"
msgstr "неÑколько меÑÑцев назад"
-#: js/js.js:715
+#: js/js.js:722
msgid "last year"
msgstr "в прошлом году"
-#: js/js.js:716
+#: js/js.js:723
msgid "years ago"
msgstr "неÑколько лет назад"
@@ -170,8 +171,8 @@ msgid "The object type is not specified."
msgstr "Тип объекта не указан"
#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136
-#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:541
-#: js/share.js:553
+#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:554
+#: js/share.js:566
msgid "Error"
msgstr "Ошибка"
@@ -183,7 +184,7 @@ msgstr "Ð˜Ð¼Ñ Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð½Ðµ указано"
msgid "The required file {file} is not installed!"
msgstr "Ðеобходимый файл {file} не уÑтановлен!"
-#: js/share.js:124 js/share.js:581
+#: js/share.js:124 js/share.js:594
msgid "Error while sharing"
msgstr "Ошибка при открытии доÑтупа"
@@ -211,12 +212,11 @@ msgstr "ПоделитьÑÑ Ñ"
msgid "Share with link"
msgstr "ПоделитьÑÑ Ñ ÑÑылкой"
-#: js/share.js:164
+#: js/share.js:166
msgid "Password protect"
msgstr "Защитить паролем"
-#: js/share.js:168 templates/installation.php:42 templates/login.php:24
-#: templates/verify.php:13
+#: js/share.js:168 templates/installation.php:44 templates/login.php:35
msgid "Password"
msgstr "Пароль"
@@ -280,23 +280,23 @@ msgstr "удалить"
msgid "share"
msgstr "открыть доÑтуп"
-#: js/share.js:353 js/share.js:528 js/share.js:530
+#: js/share.js:356 js/share.js:541
msgid "Password protected"
msgstr "Защищено паролем"
-#: js/share.js:541
+#: js/share.js:554
msgid "Error unsetting expiration date"
msgstr "Ошибка при отмене Ñрока доÑтупа"
-#: js/share.js:553
+#: js/share.js:566
msgid "Error setting expiration date"
msgstr "Ошибка при уÑтановке Ñрока доÑтупа"
-#: js/share.js:568
+#: js/share.js:581
msgid "Sending ..."
msgstr "ОтправлÑетÑÑ ..."
-#: js/share.js:579
+#: js/share.js:592
msgid "Email sent"
msgstr "ПиÑьмо отправлено"
@@ -320,8 +320,8 @@ msgstr "Отправка пиÑьма Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸ÐµÐ¹ Ð´Ð»Ñ ÑброÑ
msgid "Request failed!"
msgstr "Ð—Ð°Ð¿Ñ€Ð¾Ñ Ð½Ðµ удалÑÑ!"
-#: lostpassword/templates/lostpassword.php:11 templates/installation.php:38
-#: templates/login.php:20
+#: lostpassword/templates/lostpassword.php:11 templates/installation.php:39
+#: templates/login.php:28
msgid "Username"
msgstr "Ð˜Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ"
@@ -410,44 +410,44 @@ msgstr "Ваши каталоги данных и файлы, вероÑтно,
msgid "Create an <strong>admin account</strong>"
msgstr "Создать <strong>учётную запиÑÑŒ админиÑтратора</strong>"
-#: templates/installation.php:48
+#: templates/installation.php:50
msgid "Advanced"
msgstr "Дополнительно"
-#: templates/installation.php:50
+#: templates/installation.php:52
msgid "Data folder"
msgstr "Ð”Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ Ñ Ð´Ð°Ð½Ð½Ñ‹Ð¼Ð¸"
-#: templates/installation.php:57
+#: templates/installation.php:59
msgid "Configure the database"
msgstr "ÐаÑтройка базы данных"
-#: templates/installation.php:62 templates/installation.php:73
-#: templates/installation.php:83 templates/installation.php:93
+#: templates/installation.php:64 templates/installation.php:75
+#: templates/installation.php:85 templates/installation.php:95
msgid "will be used"
msgstr "будет иÑпользовано"
-#: templates/installation.php:105
+#: templates/installation.php:107
msgid "Database user"
msgstr "Ð˜Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð´Ð»Ñ Ð±Ð°Ð·Ñ‹ данных"
-#: templates/installation.php:109
+#: templates/installation.php:111
msgid "Database password"
msgstr "Пароль Ð´Ð»Ñ Ð±Ð°Ð·Ñ‹ данных"
-#: templates/installation.php:113
+#: templates/installation.php:115
msgid "Database name"
msgstr "Ðазвание базы данных"
-#: templates/installation.php:121
+#: templates/installation.php:123
msgid "Database tablespace"
msgstr "Табличое проÑтранÑтво базы данных"
-#: templates/installation.php:127
+#: templates/installation.php:129
msgid "Database host"
msgstr "ХоÑÑ‚ базы данных"
-#: templates/installation.php:132
+#: templates/installation.php:134
msgid "Finish setup"
msgstr "Завершить уÑтановку"
@@ -535,36 +535,32 @@ msgstr "Сетевые Ñлужбы под твоим контролем"
msgid "Log out"
msgstr "Выйти"
-#: templates/login.php:8
+#: templates/login.php:10
msgid "Automatic logon rejected!"
msgstr "ÐвтоматичеÑкий вход в ÑиÑтему отключен!"
-#: templates/login.php:9
+#: templates/login.php:11
msgid ""
"If you did not change your password recently, your account may be "
"compromised!"
msgstr "ЕÑли Ð’Ñ‹ недавно не менÑли Ñвой пароль, то Ваша ÑƒÑ‡ÐµÑ‚Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ может быть Ñкомпрометирована!"
-#: templates/login.php:10
+#: templates/login.php:13
msgid "Please change your password to secure your account again."
msgstr "ПожалуйÑта, Ñмените пароль, чтобы обезопаÑить Ñвою учетную запиÑÑŒ."
-#: templates/login.php:15
+#: templates/login.php:19
msgid "Lost your password?"
msgstr "Забыли пароль?"
-#: templates/login.php:27
+#: templates/login.php:39
msgid "remember"
msgstr "запомнить"
-#: templates/login.php:28
+#: templates/login.php:41
msgid "Log in"
msgstr "Войти"
-#: templates/logout.php:1
-msgid "You are logged out."
-msgstr "Вы вышли."
-
#: templates/part.pagenavi.php:3
msgid "prev"
msgstr "пред"
@@ -573,16 +569,7 @@ msgstr "пред"
msgid "next"
msgstr "Ñлед"
-#: templates/verify.php:5
-msgid "Security Warning!"
-msgstr "Предупреждение безопаÑноÑти!"
-
-#: templates/verify.php:6
-msgid ""
-"Please verify your password. <br/>For security reasons you may be "
-"occasionally asked to enter your password again."
-msgstr "ПожалуйÑта, проверьте Ñвой ​​пароль. <br/>По ÑоображениÑм безопаÑноÑти, Вам иногда придетÑÑ Ð²Ð²Ð¾Ð´Ð¸Ñ‚ÑŒ Ñвой пароль Ñнова."
-
-#: templates/verify.php:16
-msgid "Verify"
-msgstr "Подтвердить"
+#: templates/update.php:3
+#, php-format
+msgid "Updating ownCloud to version %s, this may take a while."
+msgstr "ПроизводитÑÑ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ðµ ownCloud до верÑии %s. Это может занÑть некоторое времÑ."
diff --git a/l10n/ru/files.po b/l10n/ru/files.po
index 100c8901c66..7e8d79834dc 100644
--- a/l10n/ru/files.po
+++ b/l10n/ru/files.po
@@ -9,6 +9,7 @@
# <mpolr21@gmail.com>, 2012.
# Nick Remeslennikov <homolibere@gmail.com>, 2012.
# <semen@sam002.net>, 2012.
+# <sharov3@gmail.com>, 2013.
# <skoptev@ukr.net>, 2012.
# <tony.mccourin@gmail.com>, 2011.
# Victor Bravo <>, 2012.
@@ -17,9 +18,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-14 00:16+0100\n"
-"PO-Revision-Date: 2012-12-13 15:47+0000\n"
-"Last-Translator: sam002 <semen@sam002.net>\n"
+"POT-Creation-Date: 2013-01-20 00:05+0100\n"
+"PO-Revision-Date: 2013-01-19 23:05+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -27,46 +28,77 @@ msgstr ""
"Language: ru\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+#: ajax/delete.php:28 ajax/getstoragestats.php:11 ajax/upload.php:17
+#: ajax/upload.php:76 templates/index.php:18
+msgid "Upload"
+msgstr "Загрузить"
+
+#: ajax/move.php:17
+#, php-format
+msgid "Could not move %s - File with this name already exists"
+msgstr "Ðевозможно перемеÑтить %s - файл Ñ Ñ‚Ð°ÐºÐ¸Ð¼ именем уже ÑущеÑтвует"
+
+#: ajax/move.php:24
+#, php-format
+msgid "Could not move %s"
+msgstr "Ðевозможно перемеÑтить %s"
+
+#: ajax/rename.php:19
+msgid "Unable to rename file"
+msgstr "Ðевозможно переименовать файл"
+
#: ajax/upload.php:20
+msgid "No file was uploaded. Unknown error"
+msgstr "Файл не был загружен. ÐеизвеÑÑ‚Ð½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°"
+
+#: ajax/upload.php:30
msgid "There is no error, the file uploaded with success"
msgstr "Файл уÑпешно загружен"
-#: ajax/upload.php:21
+#: ajax/upload.php:31
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr "Файл превышает размер уÑтановленный upload_max_filesize в php.ini:"
-#: ajax/upload.php:23
+#: ajax/upload.php:33
msgid ""
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
"the HTML form"
msgstr "Файл превышает размер MAX_FILE_SIZE, указаный в HTML-форме"
-#: ajax/upload.php:25
+#: ajax/upload.php:35
msgid "The uploaded file was only partially uploaded"
msgstr "Файл был загружен не полноÑтью"
-#: ajax/upload.php:26
+#: ajax/upload.php:36
msgid "No file was uploaded"
msgstr "Файл не был загружен"
-#: ajax/upload.php:27
+#: ajax/upload.php:37
msgid "Missing a temporary folder"
msgstr "Ðевозможно найти временную папку"
-#: ajax/upload.php:28
+#: ajax/upload.php:38
msgid "Failed to write to disk"
msgstr "Ошибка запиÑи на диÑк"
+#: ajax/upload.php:57
+msgid "Not enough space available"
+msgstr "ÐедоÑтаточно Ñвободного меÑта"
+
+#: ajax/upload.php:91
+msgid "Invalid directory."
+msgstr "Ðеправильный каталог."
+
#: appinfo/app.php:10
msgid "Files"
msgstr "Файлы"
-#: js/fileactions.js:117 templates/index.php:84 templates/index.php:85
+#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
msgid "Unshare"
msgstr "Отменить публикацию"
-#: js/fileactions.js:119 templates/index.php:90 templates/index.php:91
+#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
msgid "Delete"
msgstr "Удалить"
@@ -74,122 +106,136 @@ msgstr "Удалить"
msgid "Rename"
msgstr "Переименовать"
-#: js/filelist.js:199 js/filelist.js:201
+#: js/filelist.js:205 js/filelist.js:207
msgid "{new_name} already exists"
msgstr "{new_name} уже ÑущеÑтвует"
-#: js/filelist.js:199 js/filelist.js:201
+#: js/filelist.js:205 js/filelist.js:207
msgid "replace"
msgstr "заменить"
-#: js/filelist.js:199
+#: js/filelist.js:205
msgid "suggest name"
msgstr "предложить название"
-#: js/filelist.js:199 js/filelist.js:201
+#: js/filelist.js:205 js/filelist.js:207
msgid "cancel"
msgstr "отмена"
-#: js/filelist.js:248
+#: js/filelist.js:254
msgid "replaced {new_name}"
msgstr "заменено {new_name}"
-#: js/filelist.js:248 js/filelist.js:250 js/filelist.js:282 js/filelist.js:284
+#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
msgid "undo"
msgstr "отмена"
-#: js/filelist.js:250
+#: js/filelist.js:256
msgid "replaced {new_name} with {old_name}"
msgstr "заменено {new_name} на {old_name}"
-#: js/filelist.js:282
+#: js/filelist.js:288
msgid "unshared {files}"
msgstr "не опубликованные {files}"
-#: js/filelist.js:284
+#: js/filelist.js:290
msgid "deleted {files}"
msgstr "удаленные {files}"
-#: js/files.js:33
+#: js/files.js:48
+msgid "'.' is an invalid file name."
+msgstr "'.' - неправильное Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð°."
+
+#: js/files.js:53
+msgid "File name cannot be empty."
+msgstr "Ð˜Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° не может быть пуÑтым."
+
+#: js/files.js:62
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr "Ðеправильное имÑ, '\\', '/', '<', '>', ':', '\"', '|', '?' и '*' недопуÑтимы."
-#: js/files.js:174
-msgid "generating ZIP-file, it may take some time."
-msgstr "Ñоздание ZIP-файла, Ñто может занÑть некоторое времÑ."
+#: js/files.js:204
+msgid ""
+"Your download is being prepared. This might take some time if the files are "
+"big."
+msgstr ""
-#: js/files.js:209
+#: js/files.js:242
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr "Ðе удаетÑÑ Ð·Ð°Ð³Ñ€ÑƒÐ·Ð¸Ñ‚ÑŒ файл размером 0 байт в каталог"
-#: js/files.js:209
+#: js/files.js:242
msgid "Upload Error"
msgstr "Ошибка загрузки"
-#: js/files.js:226
+#: js/files.js:259
msgid "Close"
msgstr "Закрыть"
-#: js/files.js:245 js/files.js:359 js/files.js:389
+#: js/files.js:278 js/files.js:397 js/files.js:431
msgid "Pending"
msgstr "Ожидание"
-#: js/files.js:265
+#: js/files.js:298
msgid "1 file uploading"
msgstr "загружаетÑÑ 1 файл"
-#: js/files.js:268 js/files.js:322 js/files.js:337
+#: js/files.js:301 js/files.js:357 js/files.js:372
msgid "{count} files uploading"
msgstr "{count} файлов загружаетÑÑ"
-#: js/files.js:340 js/files.js:373
+#: js/files.js:376 js/files.js:414
msgid "Upload cancelled."
msgstr "Загрузка отменена."
-#: js/files.js:442
+#: js/files.js:486
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr "Файл в процеÑÑе загрузки. Покинув Ñтраницу вы прервёте загрузку."
-#: js/files.js:512
-msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud"
-msgstr "Ðе правильное Ð¸Ð¼Ñ Ð¿Ð°Ð¿ÐºÐ¸. Ð˜Ð¼Ñ \"Shared\" резервировано в Owncloud"
+#: js/files.js:559
+msgid "URL cannot be empty."
+msgstr "СÑылка не может быть пуÑтой."
+
+#: js/files.js:565
+msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
+msgstr "Ðеправильное Ð¸Ð¼Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð°. Ð˜Ð¼Ñ 'Shared' зарезервировано."
-#: js/files.js:693
+#: js/files.js:775
msgid "{count} files scanned"
msgstr "{count} файлов проÑканировано"
-#: js/files.js:701
+#: js/files.js:783
msgid "error while scanning"
msgstr "ошибка во Ð²Ñ€ÐµÐ¼Ñ ÑанированиÑ"
-#: js/files.js:774 templates/index.php:66
+#: js/files.js:857 templates/index.php:64
msgid "Name"
msgstr "Ðазвание"
-#: js/files.js:775 templates/index.php:77
+#: js/files.js:858 templates/index.php:75
msgid "Size"
msgstr "Размер"
-#: js/files.js:776 templates/index.php:79
+#: js/files.js:859 templates/index.php:77
msgid "Modified"
msgstr "Изменён"
-#: js/files.js:803
+#: js/files.js:878
msgid "1 folder"
msgstr "1 папка"
-#: js/files.js:805
+#: js/files.js:880
msgid "{count} folders"
msgstr "{count} папок"
-#: js/files.js:813
+#: js/files.js:888
msgid "1 file"
msgstr "1 файл"
-#: js/files.js:815
+#: js/files.js:890
msgid "{count} files"
msgstr "{count} файлов"
@@ -201,27 +247,27 @@ msgstr "Управление файлами"
msgid "Maximum upload size"
msgstr "МакÑимальный размер загружаемого файла"
-#: templates/admin.php:9
+#: templates/admin.php:10
msgid "max. possible: "
msgstr "макÑ. возможно: "
-#: templates/admin.php:12
+#: templates/admin.php:15
msgid "Needed for multi-file and folder downloads."
msgstr "ТребуетÑÑ Ð´Ð»Ñ ÑÐºÐ°Ñ‡Ð¸Ð²Ð°Ð½Ð¸Ñ Ð½ÐµÑкольких файлов и папок"
-#: templates/admin.php:14
+#: templates/admin.php:17
msgid "Enable ZIP-download"
msgstr "Включить ZIP-Ñкачивание"
-#: templates/admin.php:17
+#: templates/admin.php:20
msgid "0 is unlimited"
msgstr "0 - без ограничений"
-#: templates/admin.php:19
+#: templates/admin.php:22
msgid "Maximum input size for ZIP files"
msgstr "МакÑимальный иÑходный размер Ð´Ð»Ñ ZIP файлов"
-#: templates/admin.php:23
+#: templates/admin.php:26
msgid "Save"
msgstr "Сохранить"
@@ -241,36 +287,32 @@ msgstr "Папка"
msgid "From link"
msgstr "Из ÑÑылки"
-#: templates/index.php:35
-msgid "Upload"
-msgstr "Загрузить"
-
-#: templates/index.php:43
+#: templates/index.php:41
msgid "Cancel upload"
msgstr "Отмена загрузки"
-#: templates/index.php:58
+#: templates/index.php:56
msgid "Nothing in here. Upload something!"
msgstr "ЗдеÑÑŒ ничего нет. Загрузите что-нибудь!"
-#: templates/index.php:72
+#: templates/index.php:70
msgid "Download"
msgstr "Скачать"
-#: templates/index.php:104
+#: templates/index.php:102
msgid "Upload too large"
msgstr "Файл Ñлишком большой"
-#: templates/index.php:106
+#: templates/index.php:104
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "Файлы, которые Ð’Ñ‹ пытаетеÑÑŒ загрузить, превышают лимит Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð² на Ñтом Ñервере."
-#: templates/index.php:111
+#: templates/index.php:109
msgid "Files are being scanned, please wait."
msgstr "Подождите, файлы ÑканируютÑÑ."
-#: templates/index.php:114
+#: templates/index.php:112
msgid "Current scanning"
msgstr "Текущее Ñканирование"
diff --git a/l10n/ru/files_encryption.po b/l10n/ru/files_encryption.po
index 5ae5f485223..9a2315aa144 100644
--- a/l10n/ru/files_encryption.po
+++ b/l10n/ru/files_encryption.po
@@ -8,28 +8,76 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-08-25 02:04+0200\n"
-"PO-Revision-Date: 2012-08-24 07:47+0000\n"
-"Last-Translator: Denis <reg.transifex.net@demitel.ru>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+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"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: ru\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "Шифрование"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "ИÑключить шифрование Ñледующих типов файлов"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "Ðичего"
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "Включить шифрование"
diff --git a/l10n/ru/files_versions.po b/l10n/ru/files_versions.po
index bb622c0e095..e25aa41375a 100644
--- a/l10n/ru/files_versions.po
+++ b/l10n/ru/files_versions.po
@@ -10,9 +10,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-10-20 02:02+0200\n"
-"PO-Revision-Date: 2012-10-19 13:09+0000\n"
-"Last-Translator: skoptev <skoptev@ukr.net>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:03+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -20,22 +20,10 @@ msgstr ""
"Language: ru\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-#: js/settings-personal.js:31 templates/settings-personal.php:10
-msgid "Expire all versions"
-msgstr "ПроÑрочить вÑе верÑии"
-
#: js/versions.js:16
msgid "History"
msgstr "ИÑториÑ"
-#: templates/settings-personal.php:4
-msgid "Versions"
-msgstr "ВерÑии"
-
-#: templates/settings-personal.php:7
-msgid "This will delete all existing backup versions of your files"
-msgstr "ОчиÑтить ÑпиÑок верÑий ваших файлов"
-
#: templates/settings.php:3
msgid "Files Versioning"
msgstr "ВерÑии файлов"
diff --git a/l10n/ru/lib.po b/l10n/ru/lib.po
index a031a62f802..3426bc61722 100644
--- a/l10n/ru/lib.po
+++ b/l10n/ru/lib.po
@@ -12,9 +12,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-11-22 00:01+0100\n"
-"PO-Revision-Date: 2012-11-21 12:19+0000\n"
-"Last-Translator: Mihail Vasiliev <mickvav@gmail.com>\n"
+"POT-Creation-Date: 2013-01-17 00:26+0100\n"
+"PO-Revision-Date: 2013-01-16 23:26+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -22,51 +22,55 @@ msgstr ""
"Language: ru\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-#: app.php:285
+#: app.php:301
msgid "Help"
msgstr "Помощь"
-#: app.php:292
+#: app.php:308
msgid "Personal"
msgstr "Личное"
-#: app.php:297
+#: app.php:313
msgid "Settings"
msgstr "ÐаÑтройки"
-#: app.php:302
+#: app.php:318
msgid "Users"
msgstr "Пользователи"
-#: app.php:309
+#: app.php:325
msgid "Apps"
msgstr "ПриложениÑ"
-#: app.php:311
+#: app.php:327
msgid "Admin"
msgstr "Admin"
-#: files.php:361
+#: files.php:365
msgid "ZIP download is turned off."
msgstr "ZIP-Ñкачивание отключено."
-#: files.php:362
+#: files.php:366
msgid "Files need to be downloaded one by one."
msgstr "Файлы должны быть загружены по одному."
-#: files.php:362 files.php:387
+#: files.php:366 files.php:391
msgid "Back to Files"
msgstr "Ðазад к файлам"
-#: files.php:386
+#: files.php:390
msgid "Selected files too large to generate zip file."
msgstr "Выбранные файлы Ñлишком велики, чтобы Ñоздать zip файл."
+#: helper.php:228
+msgid "couldn't be determined"
+msgstr ""
+
#: json.php:28
msgid "Application is not enabled"
msgstr "Приложение не разрешено"
-#: json.php:39 json.php:64 json.php:77 json.php:89
+#: json.php:39 json.php:62 json.php:73
msgid "Authentication error"
msgstr "Ошибка аутентификации"
@@ -86,55 +90,55 @@ msgstr "ТекÑÑ‚"
msgid "Images"
msgstr "ИзображениÑ"
-#: template.php:103
+#: template.php:113
msgid "seconds ago"
msgstr "менее минуты"
-#: template.php:104
+#: template.php:114
msgid "1 minute ago"
msgstr "1 минуту назад"
-#: template.php:105
+#: template.php:115
#, php-format
msgid "%d minutes ago"
msgstr "%d минут назад"
-#: template.php:106
+#: template.php:116
msgid "1 hour ago"
msgstr "Ñ‡Ð°Ñ Ð½Ð°Ð·Ð°Ð´"
-#: template.php:107
+#: template.php:117
#, php-format
msgid "%d hours ago"
msgstr "%d чаÑов назад"
-#: template.php:108
+#: template.php:118
msgid "today"
msgstr "ÑегоднÑ"
-#: template.php:109
+#: template.php:119
msgid "yesterday"
msgstr "вчера"
-#: template.php:110
+#: template.php:120
#, php-format
msgid "%d days ago"
msgstr "%d дней назад"
-#: template.php:111
+#: template.php:121
msgid "last month"
msgstr "в прошлом меÑÑце"
-#: template.php:112
+#: template.php:122
#, php-format
msgid "%d months ago"
msgstr "%d меÑÑцев назад"
-#: template.php:113
+#: template.php:123
msgid "last year"
msgstr "в прошлом году"
-#: template.php:114
+#: template.php:124
msgid "years ago"
msgstr "годы назад"
diff --git a/l10n/ru/settings.po b/l10n/ru/settings.po
index d47fe1cca61..e3155d76a8a 100644
--- a/l10n/ru/settings.po
+++ b/l10n/ru/settings.po
@@ -10,6 +10,7 @@
# Nick Remeslennikov <homolibere@gmail.com>, 2012.
# <rasperepodvipodvert@gmail.com>, 2012.
# <semen@sam002.net>, 2012.
+# <sharov3@gmail.com>, 2012-2013.
# <skoptev@ukr.net>, 2012.
# <tony.mccourin@gmail.com>, 2011.
# Victor Bravo <>, 2012.
@@ -18,9 +19,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-21 00:10+0100\n"
-"PO-Revision-Date: 2012-12-19 23:20+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-13 00:08+0100\n"
+"PO-Revision-Date: 2013-01-12 11:55+0000\n"
+"Last-Translator: adol <sharov3@gmail.com>\n"
"Language-Team: Russian (http://www.transifex.com/projects/p/owncloud/language/ru/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -40,7 +41,7 @@ msgstr "Группа уже ÑущеÑтвует"
msgid "Unable to add group"
msgstr "Ðевозможно добавить группу"
-#: ajax/enableapp.php:12
+#: ajax/enableapp.php:11
msgid "Could not enable app. "
msgstr "Ðе удалоÑÑŒ включить приложение."
@@ -52,14 +53,6 @@ msgstr "Email Ñохранен"
msgid "Invalid email"
msgstr "Ðеправильный Email"
-#: ajax/openid.php:13
-msgid "OpenID Changed"
-msgstr "OpenID изменён"
-
-#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20
-msgid "Invalid request"
-msgstr "Ðеверный запроÑ"
-
#: ajax/removegroup.php:13
msgid "Unable to delete group"
msgstr "Ðевозможно удалить группу"
@@ -76,6 +69,10 @@ msgstr "Ðевозможно удалить пользователÑ"
msgid "Language changed"
msgstr "Язык изменён"
+#: ajax/setlanguage.php:17 ajax/setlanguage.php:20
+msgid "Invalid request"
+msgstr "Ðеверный запроÑ"
+
#: ajax/togglegroups.php:12
msgid "Admins can't remove themself from the admin group"
msgstr "ÐдминиÑтратор не может удалить Ñам ÑÐµÐ±Ñ Ð¸Ð· группы admin"
@@ -128,27 +125,27 @@ msgstr "<span class=\"licence\"></span> лицензиÑ. Ðвтор <span class
#: templates/help.php:3
msgid "User Documentation"
-msgstr ""
+msgstr "ПользовательÑÐºÐ°Ñ Ð´Ð¾ÐºÑƒÐ¼ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ñ"
#: templates/help.php:4
msgid "Administrator Documentation"
-msgstr ""
+msgstr "Ð”Ð¾ÐºÑƒÐ¼ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ñ Ð°Ð´Ð¼Ð¸Ð½Ð¸Ñтратора"
#: templates/help.php:6
msgid "Online Documentation"
-msgstr ""
+msgstr "Online документациÑ"
#: templates/help.php:7
msgid "Forum"
-msgstr ""
+msgstr "Форум"
#: templates/help.php:9
msgid "Bugtracker"
-msgstr ""
+msgstr "Bugtracker"
#: templates/help.php:11
msgid "Commercial Support"
-msgstr ""
+msgstr "КоммерчеÑÐºÐ°Ñ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶ÐºÐ°"
#: templates/personal.php:8
#, php-format
@@ -161,17 +158,17 @@ msgstr "Клиенты"
#: templates/personal.php:13
msgid "Download Desktop Clients"
-msgstr ""
+msgstr "Загрузка приложений Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¿ÑŒÑŽÑ‚ÐµÑ€Ð°"
#: templates/personal.php:14
msgid "Download Android Client"
-msgstr ""
+msgstr "Загрузка Android-приложениÑ"
#: templates/personal.php:15
msgid "Download iOS Client"
-msgstr ""
+msgstr "Загрузка iOS-приложениÑ"
-#: templates/personal.php:21 templates/users.php:23 templates/users.php:77
+#: templates/personal.php:21 templates/users.php:23 templates/users.php:82
msgid "Password"
msgstr "Пароль"
@@ -221,15 +218,15 @@ msgstr "Помочь Ñ Ð¿ÐµÑ€ÐµÐ²Ð¾Ð´Ð¾Ð¼"
#: templates/personal.php:52
msgid "WebDAV"
-msgstr ""
+msgstr "WebDAV"
#: templates/personal.php:54
msgid "Use this address to connect to your ownCloud in your file manager"
-msgstr ""
+msgstr "ИÑпользуйте Ñтот URL Ð´Ð»Ñ Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð¾Ð³Ð¾ менеджера к Вашему хранилищу"
#: templates/personal.php:63
msgid "Version"
-msgstr ""
+msgstr "ВерÑиÑ"
#: templates/personal.php:65
msgid ""
@@ -241,11 +238,11 @@ msgid ""
"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/users.php:21 templates/users.php:76
+#: templates/users.php:21 templates/users.php:81
msgid "Name"
msgstr "ИмÑ"
-#: templates/users.php:26 templates/users.php:78 templates/users.php:98
+#: templates/users.php:26 templates/users.php:83 templates/users.php:103
msgid "Groups"
msgstr "Группы"
@@ -254,21 +251,29 @@ msgid "Create"
msgstr "Создать"
#: templates/users.php:35
-msgid "Default Quota"
-msgstr "Квота по умолчанию"
+msgid "Default Storage"
+msgstr "Хранилище по-умолчанию"
-#: templates/users.php:55 templates/users.php:138
+#: templates/users.php:42 templates/users.php:138
+msgid "Unlimited"
+msgstr "Ðеограниченно"
+
+#: templates/users.php:60 templates/users.php:153
msgid "Other"
msgstr "Другое"
-#: templates/users.php:80 templates/users.php:112
+#: templates/users.php:85 templates/users.php:117
msgid "Group Admin"
msgstr "Группа ÐдминиÑтраторы"
-#: templates/users.php:82
-msgid "Quota"
-msgstr "Квота"
+#: templates/users.php:87
+msgid "Storage"
+msgstr "Хранилище"
+
+#: templates/users.php:133
+msgid "Default"
+msgstr "По-умолчанию"
-#: templates/users.php:146
+#: templates/users.php:161
msgid "Delete"
msgstr "Удалить"
diff --git a/l10n/ru/user_ldap.po b/l10n/ru/user_ldap.po
index 5ab21a67d52..383f6bb2909 100644
--- a/l10n/ru/user_ldap.po
+++ b/l10n/ru/user_ldap.po
@@ -10,9 +10,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-16 00:11+0100\n"
-"PO-Revision-Date: 2012-12-15 01:57+0000\n"
-"Last-Translator: sam002 <semen@sam002.net>\n"
+"POT-Creation-Date: 2013-01-16 00:19+0100\n"
+"PO-Revision-Date: 2013-01-15 23:19+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -29,9 +29,9 @@ msgstr "<b>Внимание:</b>ÐŸÑ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ user_ldap и user_webdavaut
#: templates/settings.php:11
msgid ""
-"<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will"
-" not work. Please ask your system administrator to install it."
-msgstr "<b>Внимание:</b> Ðеобходимый PHP LDAP модуль не уÑтановлен, внутренний Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð½Ðµ будет работать. ПожалуйÑта, обратитеÑÑŒ к ÑиÑтемному админиÑтратору, чтобы уÑтановить его."
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not "
+"work. Please ask your system administrator to install it."
+msgstr ""
#: templates/settings.php:15
msgid "Host"
@@ -47,6 +47,10 @@ msgid "Base DN"
msgstr "Базовый DN"
#: templates/settings.php:16
+msgid "One Base DN per line"
+msgstr ""
+
+#: templates/settings.php:16
msgid "You can specify Base DN for users and groups in the Advanced tab"
msgstr "Ð’Ñ‹ можете задать Base DN Ð´Ð»Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÐµÐ¹ и групп на вкладке \"РаÑширенное\""
@@ -117,10 +121,18 @@ msgstr "Порт"
msgid "Base User Tree"
msgstr "База пользовательÑкого дерева"
+#: templates/settings.php:25
+msgid "One User Base DN per line"
+msgstr ""
+
#: templates/settings.php:26
msgid "Base Group Tree"
msgstr "База группового дерева"
+#: templates/settings.php:26
+msgid "One Group Base DN per line"
+msgstr ""
+
#: templates/settings.php:27
msgid "Group-Member association"
msgstr "ÐÑÑÐ¾Ñ†Ð¸Ð°Ñ†Ð¸Ñ Ð“Ñ€ÑƒÐ¿Ð¿Ð°-УчаÑтник"
diff --git a/l10n/ru/user_webdavauth.po b/l10n/ru/user_webdavauth.po
index 29fdee82122..709cb4a65dc 100644
--- a/l10n/ru/user_webdavauth.po
+++ b/l10n/ru/user_webdavauth.po
@@ -3,13 +3,14 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# <sharov3@gmail.com>, 2012.
# <skoptev@ukr.net>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-20 00:11+0100\n"
-"PO-Revision-Date: 2012-12-19 23:12+0000\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+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"
@@ -18,13 +19,17 @@ msgstr ""
"Language: ru\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+#: templates/settings.php:3
+msgid "WebDAV Authentication"
+msgstr ""
+
#: templates/settings.php:4
msgid "URL: http://"
-msgstr ""
+msgstr "URL: http://"
#: templates/settings.php:6
msgid ""
-"ownCloud will send the user credentials to this URL is interpret http 401 "
-"and http 403 as credentials wrong and all other codes as credentials "
-"correct."
+"ownCloud will send the user credentials to this URL. 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 ""
diff --git a/l10n/ru_RU/core.po b/l10n/ru_RU/core.po
index c94ef7d516d..7ecd789d863 100644
--- a/l10n/ru_RU/core.po
+++ b/l10n/ru_RU/core.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-22 00:24+0100\n"
-"PO-Revision-Date: 2012-12-21 08:08+0000\n"
-"Last-Translator: AnnaSch <cdewqazxsqwe@gmail.com>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:03+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Russian (Russia) (http://www.transifex.com/projects/p/owncloud/language/ru_RU/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -84,55 +84,55 @@ msgstr "Ошибка ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ %s из избранного."
msgid "Settings"
msgstr "ÐаÑтройки"
-#: js/js.js:704
+#: js/js.js:711
msgid "seconds ago"
msgstr "Ñекунд назад"
-#: js/js.js:705
+#: js/js.js:712
msgid "1 minute ago"
msgstr " 1 минуту назад"
-#: js/js.js:706
+#: js/js.js:713
msgid "{minutes} minutes ago"
msgstr "{минуты} минут назад"
-#: js/js.js:707
+#: js/js.js:714
msgid "1 hour ago"
msgstr "1 Ñ‡Ð°Ñ Ð½Ð°Ð·Ð°Ð´"
-#: js/js.js:708
+#: js/js.js:715
msgid "{hours} hours ago"
msgstr "{чаÑÑ‹} чаÑов назад"
-#: js/js.js:709
+#: js/js.js:716
msgid "today"
msgstr "ÑегоднÑ"
-#: js/js.js:710
+#: js/js.js:717
msgid "yesterday"
msgstr "вчера"
-#: js/js.js:711
+#: js/js.js:718
msgid "{days} days ago"
msgstr "{дни} дней назад"
-#: js/js.js:712
+#: js/js.js:719
msgid "last month"
msgstr "в прошлом меÑÑце"
-#: js/js.js:713
+#: js/js.js:720
msgid "{months} months ago"
msgstr "{меÑÑцы} меÑÑцев назад"
-#: js/js.js:714
+#: js/js.js:721
msgid "months ago"
msgstr "меÑÑц назад"
-#: js/js.js:715
+#: js/js.js:722
msgid "last year"
msgstr "в прошлом году"
-#: js/js.js:716
+#: js/js.js:723
msgid "years ago"
msgstr "лет назад"
@@ -208,7 +208,6 @@ msgid "Password protect"
msgstr "Защитить паролем"
#: js/share.js:168 templates/installation.php:44 templates/login.php:35
-#: templates/verify.php:13
msgid "Password"
msgstr "Пароль"
@@ -553,10 +552,6 @@ msgstr "запомнить"
msgid "Log in"
msgstr "Войти"
-#: templates/logout.php:1
-msgid "You are logged out."
-msgstr "Ð’Ñ‹ вышли из ÑиÑтемы."
-
#: templates/part.pagenavi.php:3
msgid "prev"
msgstr "предыдущий"
@@ -565,16 +560,7 @@ msgstr "предыдущий"
msgid "next"
msgstr "Ñледующий"
-#: templates/verify.php:5
-msgid "Security Warning!"
-msgstr "Предупреждение ÑиÑтемы безопаÑноÑти!"
-
-#: templates/verify.php:6
-msgid ""
-"Please verify your password. <br/>For security reasons you may be "
-"occasionally asked to enter your password again."
-msgstr "ПожалуйÑта, проверьте Ñвой ​​пароль. <br/>По ÑоображениÑм безопаÑноÑти Вам может быть иногда предложено ввеÑти пароль еще раз."
-
-#: templates/verify.php:16
-msgid "Verify"
-msgstr "Проверить"
+#: templates/update.php:3
+#, php-format
+msgid "Updating ownCloud to version %s, this may take a while."
+msgstr ""
diff --git a/l10n/ru_RU/files.po b/l10n/ru_RU/files.po
index acd6779fcd6..04fe3223ae2 100644
--- a/l10n/ru_RU/files.po
+++ b/l10n/ru_RU/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: 2012-12-19 00:03+0100\n"
-"PO-Revision-Date: 2012-12-18 07:59+0000\n"
-"Last-Translator: AnnaSch <cdewqazxsqwe@gmail.com>\n"
+"POT-Creation-Date: 2013-01-20 00:05+0100\n"
+"PO-Revision-Date: 2013-01-19 23:05+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Russian (Russia) (http://www.transifex.com/projects/p/owncloud/language/ru_RU/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -19,46 +19,77 @@ msgstr ""
"Language: ru_RU\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+#: ajax/delete.php:28 ajax/getstoragestats.php:11 ajax/upload.php:17
+#: ajax/upload.php:76 templates/index.php:18
+msgid "Upload"
+msgstr "Загрузить "
+
+#: ajax/move.php:17
+#, php-format
+msgid "Could not move %s - File with this name already exists"
+msgstr ""
+
+#: ajax/move.php:24
+#, php-format
+msgid "Could not move %s"
+msgstr ""
+
+#: ajax/rename.php:19
+msgid "Unable to rename file"
+msgstr ""
+
#: ajax/upload.php:20
+msgid "No file was uploaded. Unknown error"
+msgstr "Файл не был загружен. ÐеизвеÑÑ‚Ð½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°"
+
+#: ajax/upload.php:30
msgid "There is no error, the file uploaded with success"
msgstr "Ошибка отÑутÑтвует, файл загружен уÑпешно."
-#: ajax/upload.php:21
+#: ajax/upload.php:31
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr "Размер загружаемого файла превышает upload_max_filesize директиву в php.ini:"
-#: ajax/upload.php:23
+#: ajax/upload.php:33
msgid ""
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
"the HTML form"
msgstr "Размер загруженного"
-#: ajax/upload.php:25
+#: ajax/upload.php:35
msgid "The uploaded file was only partially uploaded"
msgstr "Загружаемый файл был загружен чаÑтично"
-#: ajax/upload.php:26
+#: ajax/upload.php:36
msgid "No file was uploaded"
msgstr "Файл не был загружен"
-#: ajax/upload.php:27
+#: ajax/upload.php:37
msgid "Missing a temporary folder"
msgstr "ОтÑутÑтвует Ð²Ñ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ð¿Ð°Ð¿ÐºÐ°"
-#: ajax/upload.php:28
+#: ajax/upload.php:38
msgid "Failed to write to disk"
msgstr "Ðе удалоÑÑŒ запиÑать на диÑк"
+#: ajax/upload.php:57
+msgid "Not enough space available"
+msgstr ""
+
+#: ajax/upload.php:91
+msgid "Invalid directory."
+msgstr ""
+
#: appinfo/app.php:10
msgid "Files"
msgstr "Файлы"
-#: js/fileactions.js:117 templates/index.php:84 templates/index.php:85
+#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
msgid "Unshare"
msgstr "Скрыть"
-#: js/fileactions.js:119 templates/index.php:90 templates/index.php:91
+#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
msgid "Delete"
msgstr "Удалить"
@@ -66,122 +97,136 @@ msgstr "Удалить"
msgid "Rename"
msgstr "Переименовать"
-#: js/filelist.js:199 js/filelist.js:201
+#: js/filelist.js:205 js/filelist.js:207
msgid "{new_name} already exists"
msgstr "{новое_имÑ} уже ÑущеÑтвует"
-#: js/filelist.js:199 js/filelist.js:201
+#: js/filelist.js:205 js/filelist.js:207
msgid "replace"
msgstr "отмена"
-#: js/filelist.js:199
+#: js/filelist.js:205
msgid "suggest name"
msgstr "подобрать название"
-#: js/filelist.js:199 js/filelist.js:201
+#: js/filelist.js:205 js/filelist.js:207
msgid "cancel"
msgstr "отменить"
-#: js/filelist.js:248
+#: js/filelist.js:254
msgid "replaced {new_name}"
msgstr "заменено {новое_имÑ}"
-#: js/filelist.js:248 js/filelist.js:250 js/filelist.js:282 js/filelist.js:284
+#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
msgid "undo"
msgstr "отменить дейÑтвие"
-#: js/filelist.js:250
+#: js/filelist.js:256
msgid "replaced {new_name} with {old_name}"
msgstr "заменено {новое_имÑ} Ñ {Ñтарое_имÑ}"
-#: js/filelist.js:282
+#: js/filelist.js:288
msgid "unshared {files}"
msgstr "CовмеÑтное иÑпользование прекращено {файлы}"
-#: js/filelist.js:284
+#: js/filelist.js:290
msgid "deleted {files}"
msgstr "удалено {файлы}"
-#: js/files.js:33
+#: js/files.js:48
+msgid "'.' is an invalid file name."
+msgstr ""
+
+#: js/files.js:53
+msgid "File name cannot be empty."
+msgstr ""
+
+#: js/files.js:62
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr "Ðекорректное имÑ, '\\', '/', '<', '>', ':', '\"', '|', '?' и '*' не допуÑтимы."
-#: js/files.js:174
-msgid "generating ZIP-file, it may take some time."
-msgstr "Создание ZIP-файла, Ñто может занÑть некоторое времÑ."
+#: js/files.js:204
+msgid ""
+"Your download is being prepared. This might take some time if the files are "
+"big."
+msgstr ""
-#: js/files.js:209
+#: js/files.js:242
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr "Ðевозможно загрузить файл,\n так как он имеет нулевой размер или ÑвлÑетÑÑ Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸ÐµÐ¹"
-#: js/files.js:209
+#: js/files.js:242
msgid "Upload Error"
msgstr "Ошибка загрузки"
-#: js/files.js:226
+#: js/files.js:259
msgid "Close"
msgstr "Закрыть"
-#: js/files.js:245 js/files.js:359 js/files.js:389
+#: js/files.js:278 js/files.js:397 js/files.js:431
msgid "Pending"
msgstr "Ожидающий решениÑ"
-#: js/files.js:265
+#: js/files.js:298
msgid "1 file uploading"
msgstr "загрузка 1 файла"
-#: js/files.js:268 js/files.js:322 js/files.js:337
+#: js/files.js:301 js/files.js:357 js/files.js:372
msgid "{count} files uploading"
msgstr "{количеÑтво} загружено файлов"
-#: js/files.js:340 js/files.js:373
+#: js/files.js:376 js/files.js:414
msgid "Upload cancelled."
msgstr "Загрузка отменена"
-#: js/files.js:442
+#: js/files.js:486
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr "ПроцеÑÑ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸ файла. ЕÑли покинуть Ñтраницу ÑейчаÑ, загрузка будет отменена."
-#: js/files.js:512
-msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud"
-msgstr "Ðекорректное Ð¸Ð¼Ñ Ð¿Ð°Ð¿ÐºÐ¸. Ðименование \"Опубликовано\" зарезервировано ownCloud"
+#: js/files.js:559
+msgid "URL cannot be empty."
+msgstr "URL не должен быть пуÑтым."
+
+#: js/files.js:565
+msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
+msgstr ""
-#: js/files.js:693
+#: js/files.js:775
msgid "{count} files scanned"
msgstr "{количеÑтво} файлов отÑканировано"
-#: js/files.js:701
+#: js/files.js:783
msgid "error while scanning"
msgstr "ошибка при Ñканировании"
-#: js/files.js:774 templates/index.php:66
+#: js/files.js:857 templates/index.php:64
msgid "Name"
msgstr "ИмÑ"
-#: js/files.js:775 templates/index.php:77
+#: js/files.js:858 templates/index.php:75
msgid "Size"
msgstr "Размер"
-#: js/files.js:776 templates/index.php:79
+#: js/files.js:859 templates/index.php:77
msgid "Modified"
msgstr "Изменен"
-#: js/files.js:803
+#: js/files.js:878
msgid "1 folder"
msgstr "1 папка"
-#: js/files.js:805
+#: js/files.js:880
msgid "{count} folders"
msgstr "{количеÑтво} папок"
-#: js/files.js:813
+#: js/files.js:888
msgid "1 file"
msgstr "1 файл"
-#: js/files.js:815
+#: js/files.js:890
msgid "{count} files"
msgstr "{количеÑтво} файлов"
@@ -193,27 +238,27 @@ msgstr "Работа Ñ Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸"
msgid "Maximum upload size"
msgstr "МакÑимальный размер загружаемого файла"
-#: templates/admin.php:9
+#: templates/admin.php:10
msgid "max. possible: "
msgstr "МакÑимально возможный"
-#: templates/admin.php:12
+#: templates/admin.php:15
msgid "Needed for multi-file and folder downloads."
msgstr "Ðеобходимо Ð´Ð»Ñ Ð¼Ð½Ð¾Ð¶ÐµÑтвенной загрузки."
-#: templates/admin.php:14
+#: templates/admin.php:17
msgid "Enable ZIP-download"
msgstr "Включение ZIP-загрузки"
-#: templates/admin.php:17
+#: templates/admin.php:20
msgid "0 is unlimited"
msgstr "0 без ограничений"
-#: templates/admin.php:19
+#: templates/admin.php:22
msgid "Maximum input size for ZIP files"
msgstr "МакÑимальный размер входÑщих ZIP-файлов "
-#: templates/admin.php:23
+#: templates/admin.php:26
msgid "Save"
msgstr "Сохранить"
@@ -233,36 +278,32 @@ msgstr "Папка"
msgid "From link"
msgstr "По ÑÑылке"
-#: templates/index.php:35
-msgid "Upload"
-msgstr "Загрузить "
-
-#: templates/index.php:43
+#: templates/index.php:41
msgid "Cancel upload"
msgstr "Отмена загрузки"
-#: templates/index.php:58
+#: templates/index.php:56
msgid "Nothing in here. Upload something!"
msgstr "ЗдеÑÑŒ ничего нет. Загрузите что-нибудь!"
-#: templates/index.php:72
+#: templates/index.php:70
msgid "Download"
msgstr "Загрузить"
-#: templates/index.php:104
+#: templates/index.php:102
msgid "Upload too large"
msgstr "Загрузка Ñлишком велика"
-#: templates/index.php:106
+#: templates/index.php:104
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "Размер файлов, которые Ð’Ñ‹ пытаетеÑÑŒ загрузить, превышает макÑимально допуÑтимый размер Ð´Ð»Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸ на данный Ñервер."
-#: templates/index.php:111
+#: templates/index.php:109
msgid "Files are being scanned, please wait."
msgstr "Файлы ÑканируютÑÑ, пожалуйÑта, подождите."
-#: templates/index.php:114
+#: templates/index.php:112
msgid "Current scanning"
msgstr "Текущее Ñканирование"
diff --git a/l10n/ru_RU/files_encryption.po b/l10n/ru_RU/files_encryption.po
index 11a61701141..b27f0a2def2 100644
--- a/l10n/ru_RU/files_encryption.po
+++ b/l10n/ru_RU/files_encryption.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-09-20 02:05+0200\n"
-"PO-Revision-Date: 2012-09-19 12:14+0000\n"
-"Last-Translator: AnnaSch <cdewqazxsqwe@gmail.com>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Russian (Russia) (http://www.transifex.com/projects/p/owncloud/language/ru_RU/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,18 +18,66 @@ msgstr ""
"Language: ru_RU\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "Шифрование"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "ИÑключите Ñледующие типы файлов из шифрованиÑ"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "Ðи один"
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "Включить шифрование"
diff --git a/l10n/ru_RU/files_versions.po b/l10n/ru_RU/files_versions.po
index 241dfcc0e91..440d5bbecb0 100644
--- a/l10n/ru_RU/files_versions.po
+++ b/l10n/ru_RU/files_versions.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-11-17 00:01+0100\n"
-"PO-Revision-Date: 2012-11-16 07:25+0000\n"
-"Last-Translator: AnnaSch <cdewqazxsqwe@gmail.com>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Russian (Russia) (http://www.transifex.com/projects/p/owncloud/language/ru_RU/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,22 +18,10 @@ msgstr ""
"Language: ru_RU\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-#: js/settings-personal.js:31 templates/settings-personal.php:10
-msgid "Expire all versions"
-msgstr "Срок дейÑÑ‚Ð²Ð¸Ñ Ð²Ñех верÑий иÑтекает"
-
#: js/versions.js:16
msgid "History"
msgstr "ИÑториÑ"
-#: templates/settings-personal.php:4
-msgid "Versions"
-msgstr "ВерÑии"
-
-#: templates/settings-personal.php:7
-msgid "This will delete all existing backup versions of your files"
-msgstr "Это приведет к удалению вÑех ÑущеÑтвующих верÑий резервной копии Ваших файлов"
-
#: templates/settings.php:3
msgid "Files Versioning"
msgstr "Файлы ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð²ÐµÑ€ÑиÑми"
diff --git a/l10n/ru_RU/lib.po b/l10n/ru_RU/lib.po
index 5ca45d27ad2..be65ac1f023 100644
--- a/l10n/ru_RU/lib.po
+++ b/l10n/ru_RU/lib.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-11-16 00:02+0100\n"
-"PO-Revision-Date: 2012-11-15 09:27+0000\n"
-"Last-Translator: AnnaSch <cdewqazxsqwe@gmail.com>\n"
+"POT-Creation-Date: 2013-01-17 00:26+0100\n"
+"PO-Revision-Date: 2013-01-16 23:26+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Russian (Russia) (http://www.transifex.com/projects/p/owncloud/language/ru_RU/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,51 +18,55 @@ msgstr ""
"Language: ru_RU\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-#: app.php:285
+#: app.php:301
msgid "Help"
msgstr "Помощь"
-#: app.php:292
+#: app.php:308
msgid "Personal"
msgstr "ПерÑональный"
-#: app.php:297
+#: app.php:313
msgid "Settings"
msgstr "ÐаÑтройки"
-#: app.php:302
+#: app.php:318
msgid "Users"
msgstr "Пользователи"
-#: app.php:309
+#: app.php:325
msgid "Apps"
msgstr "ПриложениÑ"
-#: app.php:311
+#: app.php:327
msgid "Admin"
msgstr "Ðдмин"
-#: files.php:332
+#: files.php:365
msgid "ZIP download is turned off."
msgstr "Загрузка ZIP выключена."
-#: files.php:333
+#: files.php:366
msgid "Files need to be downloaded one by one."
msgstr "Файлы должны быть загружены один за другим."
-#: files.php:333 files.php:358
+#: files.php:366 files.php:391
msgid "Back to Files"
msgstr "Обратно к файлам"
-#: files.php:357
+#: files.php:390
msgid "Selected files too large to generate zip file."
msgstr "Выбранные файлы Ñлишком велики Ð´Ð»Ñ Ð³ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ð¸ zip-архива."
+#: helper.php:228
+msgid "couldn't be determined"
+msgstr ""
+
#: json.php:28
msgid "Application is not enabled"
msgstr "Приложение не запущено"
-#: json.php:39 json.php:64 json.php:77 json.php:89
+#: json.php:39 json.php:62 json.php:73
msgid "Authentication error"
msgstr "Ошибка аутентификации"
@@ -82,55 +86,55 @@ msgstr "ТекÑÑ‚"
msgid "Images"
msgstr "ИзображениÑ"
-#: template.php:103
+#: template.php:113
msgid "seconds ago"
msgstr "Ñекунд назад"
-#: template.php:104
+#: template.php:114
msgid "1 minute ago"
msgstr "1 минуту назад"
-#: template.php:105
+#: template.php:115
#, php-format
msgid "%d minutes ago"
msgstr "%d минут назад"
-#: template.php:106
+#: template.php:116
msgid "1 hour ago"
msgstr "1 Ñ‡Ð°Ñ Ð½Ð°Ð·Ð°Ð´"
-#: template.php:107
+#: template.php:117
#, php-format
msgid "%d hours ago"
msgstr "%d чаÑов назад"
-#: template.php:108
+#: template.php:118
msgid "today"
msgstr "ÑегоднÑ"
-#: template.php:109
+#: template.php:119
msgid "yesterday"
msgstr "вчера"
-#: template.php:110
+#: template.php:120
#, php-format
msgid "%d days ago"
msgstr "%d дней назад"
-#: template.php:111
+#: template.php:121
msgid "last month"
msgstr "в прошлом меÑÑце"
-#: template.php:112
+#: template.php:122
#, php-format
msgid "%d months ago"
msgstr "%d меÑÑцев назад"
-#: template.php:113
+#: template.php:123
msgid "last year"
msgstr "в прошлом году"
-#: template.php:114
+#: template.php:124
msgid "years ago"
msgstr "год назад"
diff --git a/l10n/ru_RU/settings.po b/l10n/ru_RU/settings.po
index 15f03042ae5..bf961ac7a00 100644
--- a/l10n/ru_RU/settings.po
+++ b/l10n/ru_RU/settings.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-22 00:24+0100\n"
-"PO-Revision-Date: 2012-12-21 10:00+0000\n"
-"Last-Translator: AnnaSch <cdewqazxsqwe@gmail.com>\n"
+"POT-Creation-Date: 2013-01-12 00:09+0100\n"
+"PO-Revision-Date: 2013-01-11 23:09+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Russian (Russia) (http://www.transifex.com/projects/p/owncloud/language/ru_RU/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -30,7 +30,7 @@ msgstr "Группа уже ÑущеÑтвует"
msgid "Unable to add group"
msgstr "Ðевозможно добавить группу"
-#: ajax/enableapp.php:12
+#: ajax/enableapp.php:11
msgid "Could not enable app. "
msgstr "Ðе удалоÑÑŒ запуÑтить приложение"
@@ -42,14 +42,6 @@ msgstr "Email Ñохранен"
msgid "Invalid email"
msgstr "Ðеверный email"
-#: ajax/openid.php:13
-msgid "OpenID Changed"
-msgstr "OpenID изменен"
-
-#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20
-msgid "Invalid request"
-msgstr "Ðеверный запроÑ"
-
#: ajax/removegroup.php:13
msgid "Unable to delete group"
msgstr "Ðевозможно удалить группу"
@@ -66,6 +58,10 @@ msgstr "Ðевозможно удалить пользователÑ"
msgid "Language changed"
msgstr "Язык изменен"
+#: ajax/setlanguage.php:17 ajax/setlanguage.php:20
+msgid "Invalid request"
+msgstr "Ðеверный запроÑ"
+
#: ajax/togglegroups.php:12
msgid "Admins can't remove themself from the admin group"
msgstr "ÐдминиÑтраторы не могут удалить Ñами ÑÐµÐ±Ñ Ð¸Ð· группы админиÑтраторов"
@@ -161,7 +157,7 @@ msgstr "Загрузить клиент под Android "
msgid "Download iOS Client"
msgstr "Загрузить клиент под iOS "
-#: templates/personal.php:21 templates/users.php:23 templates/users.php:77
+#: templates/personal.php:21 templates/users.php:23 templates/users.php:82
msgid "Password"
msgstr "Пароль"
@@ -231,11 +227,11 @@ msgid ""
"License\">AGPL</abbr></a>."
msgstr "Разработанный <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>."
-#: templates/users.php:21 templates/users.php:76
+#: templates/users.php:21 templates/users.php:81
msgid "Name"
msgstr "ИмÑ"
-#: templates/users.php:26 templates/users.php:78 templates/users.php:98
+#: templates/users.php:26 templates/users.php:83 templates/users.php:103
msgid "Groups"
msgstr "Группы"
@@ -244,21 +240,29 @@ msgid "Create"
msgstr "Создать"
#: templates/users.php:35
-msgid "Default Quota"
-msgstr "Квота по умолчанию"
+msgid "Default Storage"
+msgstr ""
+
+#: templates/users.php:42 templates/users.php:138
+msgid "Unlimited"
+msgstr ""
-#: templates/users.php:55 templates/users.php:138
+#: templates/users.php:60 templates/users.php:153
msgid "Other"
msgstr "Другой"
-#: templates/users.php:80 templates/users.php:112
+#: templates/users.php:85 templates/users.php:117
msgid "Group Admin"
msgstr "Группа Admin"
-#: templates/users.php:82
-msgid "Quota"
-msgstr "квота"
+#: templates/users.php:87
+msgid "Storage"
+msgstr ""
+
+#: templates/users.php:133
+msgid "Default"
+msgstr ""
-#: templates/users.php:146
+#: templates/users.php:161
msgid "Delete"
msgstr "Удалить"
diff --git a/l10n/ru_RU/user_ldap.po b/l10n/ru_RU/user_ldap.po
index 4a514279ab3..ef2d84ebcb1 100644
--- a/l10n/ru_RU/user_ldap.po
+++ b/l10n/ru_RU/user_ldap.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-19 00:03+0100\n"
-"PO-Revision-Date: 2012-12-18 08:59+0000\n"
-"Last-Translator: AnnaSch <cdewqazxsqwe@gmail.com>\n"
+"POT-Creation-Date: 2013-01-16 00:19+0100\n"
+"PO-Revision-Date: 2013-01-15 23:20+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Russian (Russia) (http://www.transifex.com/projects/p/owncloud/language/ru_RU/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -27,9 +27,9 @@ msgstr "<b>Предупреждение:</b> ÐŸÑ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ user_ldap и u
#: templates/settings.php:11
msgid ""
-"<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will"
-" not work. Please ask your system administrator to install it."
-msgstr "<b>Предупреждение:</b> Ðеобходимый PHP LDAP-модуль не уÑтановлен, backend не будет работать. ПожалуйÑта, обратитеÑÑŒ к ÑиÑтемному админиÑтратору, чтобы уÑтановить его."
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not "
+"work. Please ask your system administrator to install it."
+msgstr ""
#: templates/settings.php:15
msgid "Host"
@@ -45,6 +45,10 @@ msgid "Base DN"
msgstr "База DN"
#: templates/settings.php:16
+msgid "One Base DN per line"
+msgstr ""
+
+#: templates/settings.php:16
msgid "You can specify Base DN for users and groups in the Advanced tab"
msgstr "Ð’Ñ‹ можете задать Base DN Ð´Ð»Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÐµÐ¹ и групп во вкладке «Дополнительно»"
@@ -115,10 +119,18 @@ msgstr "Порт"
msgid "Base User Tree"
msgstr "Базовое дерево пользователей"
+#: templates/settings.php:25
+msgid "One User Base DN per line"
+msgstr ""
+
#: templates/settings.php:26
msgid "Base Group Tree"
msgstr "Базовое дерево групп"
+#: templates/settings.php:26
+msgid "One Group Base DN per line"
+msgstr ""
+
#: templates/settings.php:27
msgid "Group-Member association"
msgstr "СвÑзь член-группа"
diff --git a/l10n/ru_RU/user_webdavauth.po b/l10n/ru_RU/user_webdavauth.po
index 5308dbe4c2d..a14bb9d28ed 100644
--- a/l10n/ru_RU/user_webdavauth.po
+++ b/l10n/ru_RU/user_webdavauth.po
@@ -9,9 +9,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-21 00:10+0100\n"
-"PO-Revision-Date: 2012-12-20 06:57+0000\n"
-"Last-Translator: AnnaSch <cdewqazxsqwe@gmail.com>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Russian (Russia) (http://www.transifex.com/projects/p/owncloud/language/ru_RU/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -19,13 +19,17 @@ msgstr ""
"Language: ru_RU\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+#: templates/settings.php:3
+msgid "WebDAV Authentication"
+msgstr ""
+
#: templates/settings.php:4
msgid "URL: http://"
msgstr "URL: http://"
#: templates/settings.php:6
msgid ""
-"ownCloud will send the user credentials to this URL is interpret http 401 "
-"and http 403 as credentials wrong and all other codes as credentials "
-"correct."
+"ownCloud will send the user credentials to this URL. 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 ""
diff --git a/l10n/si_LK/core.po b/l10n/si_LK/core.po
index 34d894bfea5..e0b4be93b4d 100644
--- a/l10n/si_LK/core.po
+++ b/l10n/si_LK/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: 2012-12-13 00:17+0100\n"
-"PO-Revision-Date: 2012-12-12 23:17+0000\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:03+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"
@@ -86,55 +86,55 @@ msgstr ""
msgid "Settings"
msgstr "à·ƒà·à¶šà·ƒà·”ම්"
-#: js/js.js:704
+#: js/js.js:711
msgid "seconds ago"
msgstr "තත්පරයන්ට පෙර"
-#: js/js.js:705
+#: js/js.js:712
msgid "1 minute ago"
msgstr "1 මිනිත්තුවකට පෙර"
-#: js/js.js:706
+#: js/js.js:713
msgid "{minutes} minutes ago"
msgstr ""
-#: js/js.js:707
+#: js/js.js:714
msgid "1 hour ago"
msgstr ""
-#: js/js.js:708
+#: js/js.js:715
msgid "{hours} hours ago"
msgstr ""
-#: js/js.js:709
+#: js/js.js:716
msgid "today"
msgstr "අද"
-#: js/js.js:710
+#: js/js.js:717
msgid "yesterday"
msgstr "ඊයේ"
-#: js/js.js:711
+#: js/js.js:718
msgid "{days} days ago"
msgstr ""
-#: js/js.js:712
+#: js/js.js:719
msgid "last month"
msgstr "පෙර මà·à·ƒà¶ºà·š"
-#: js/js.js:713
+#: js/js.js:720
msgid "{months} months ago"
msgstr ""
-#: js/js.js:714
+#: js/js.js:721
msgid "months ago"
msgstr "මà·à·ƒ කීපයකට පෙර"
-#: js/js.js:715
+#: js/js.js:722
msgid "last year"
msgstr "පෙර අවුරුද්දේ"
-#: js/js.js:716
+#: js/js.js:723
msgid "years ago"
msgstr "අවුරුදු කීපයකට පෙර"
@@ -164,8 +164,8 @@ msgid "The object type is not specified."
msgstr ""
#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136
-#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:541
-#: js/share.js:553
+#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:554
+#: js/share.js:566
msgid "Error"
msgstr "දà·à·‚යක්"
@@ -177,7 +177,7 @@ msgstr ""
msgid "The required file {file} is not installed!"
msgstr ""
-#: js/share.js:124 js/share.js:581
+#: js/share.js:124 js/share.js:594
msgid "Error while sharing"
msgstr ""
@@ -205,12 +205,11 @@ msgstr "බෙදà·à¶œà¶±à·Šà¶±"
msgid "Share with link"
msgstr "යොමුවක් මඟින් බෙදà·à¶œà¶±à·Šà¶±"
-#: js/share.js:164
+#: js/share.js:166
msgid "Password protect"
msgstr "මුර පදයකින් ආරක්à·à·à¶šà¶»à¶±à·Šà¶±"
-#: js/share.js:168 templates/installation.php:42 templates/login.php:24
-#: templates/verify.php:13
+#: js/share.js:168 templates/installation.php:44 templates/login.php:35
msgid "Password"
msgstr "මුර පදය "
@@ -274,23 +273,23 @@ msgstr "මකන්න"
msgid "share"
msgstr "බෙදà·à·„දà·à¶œà¶±à·Šà¶±"
-#: js/share.js:353 js/share.js:528 js/share.js:530
+#: js/share.js:356 js/share.js:541
msgid "Password protected"
msgstr "මුර පදයකින් ආරක්à·à·à¶šà¶» ඇත"
-#: js/share.js:541
+#: js/share.js:554
msgid "Error unsetting expiration date"
msgstr "කල් ඉකුත් දිනය ඉවත් කිරීමේ දà·à·‚යක්"
-#: js/share.js:553
+#: js/share.js:566
msgid "Error setting expiration date"
msgstr "කල් ඉකුත් දිනය ස්ථà·à¶´à¶±à¶º කිරීමේ දà·à·‚යක්"
-#: js/share.js:568
+#: js/share.js:581
msgid "Sending ..."
msgstr ""
-#: js/share.js:579
+#: js/share.js:592
msgid "Email sent"
msgstr ""
@@ -314,8 +313,8 @@ msgstr ""
msgid "Request failed!"
msgstr "ඉල්ලීම à¶…à·ƒà·à¶»à·Šà¶®à¶šà¶ºà·’!"
-#: lostpassword/templates/lostpassword.php:11 templates/installation.php:38
-#: templates/login.php:20
+#: lostpassword/templates/lostpassword.php:11 templates/installation.php:39
+#: templates/login.php:28
msgid "Username"
msgstr "පරිà·à·“ලක නම"
@@ -404,44 +403,44 @@ msgstr "ඔබගේ දත්ත ඩිරෙක්ටරිය හ෠ගොà¶
msgid "Create an <strong>admin account</strong>"
msgstr ""
-#: templates/installation.php:48
+#: templates/installation.php:50
msgid "Advanced"
msgstr "දියුණු/උසස්"
-#: templates/installation.php:50
+#: templates/installation.php:52
msgid "Data folder"
msgstr "දත්ත à·†à·à¶½à·Šà¶©à¶»à¶º"
-#: templates/installation.php:57
+#: templates/installation.php:59
msgid "Configure the database"
msgstr "දත්ත සමුදà·à¶º à·„à·à¶©à¶œà·à·ƒà·“ම"
-#: templates/installation.php:62 templates/installation.php:73
-#: templates/installation.php:83 templates/installation.php:93
+#: templates/installation.php:64 templates/installation.php:75
+#: templates/installation.php:85 templates/installation.php:95
msgid "will be used"
msgstr "à¶·à·à·€à·’ත෠වනු ඇත"
-#: templates/installation.php:105
+#: templates/installation.php:107
msgid "Database user"
msgstr "දත්තගබඩ෠භà·à·€à·’à¶­à·à¶šà¶»à·”"
-#: templates/installation.php:109
+#: templates/installation.php:111
msgid "Database password"
msgstr "දත්තගබඩà·à·€à·š මුරපදය"
-#: templates/installation.php:113
+#: templates/installation.php:115
msgid "Database name"
msgstr "දත්තගබඩà·à·€à·š නම"
-#: templates/installation.php:121
+#: templates/installation.php:123
msgid "Database tablespace"
msgstr ""
-#: templates/installation.php:127
+#: templates/installation.php:129
msgid "Database host"
msgstr "දත්තගබඩ෠සේවà·à¶¯à·à¶ºà¶šà¶ºà·"
-#: templates/installation.php:132
+#: templates/installation.php:134
msgid "Finish setup"
msgstr "ස්ථà·à¶´à¶±à¶º කිරීම අවසන් කරන්න"
@@ -529,36 +528,32 @@ msgstr "ඔබට à¶´à·à¶½à¶±à¶º à¶šà·… à·„à·à¶šà·’ වෙබ් සේවà·à
msgid "Log out"
msgstr "නික්මීම"
-#: templates/login.php:8
+#: templates/login.php:10
msgid "Automatic logon rejected!"
msgstr ""
-#: templates/login.php:9
+#: templates/login.php:11
msgid ""
"If you did not change your password recently, your account may be "
"compromised!"
msgstr ""
-#: templates/login.php:10
+#: templates/login.php:13
msgid "Please change your password to secure your account again."
msgstr ""
-#: templates/login.php:15
+#: templates/login.php:19
msgid "Lost your password?"
msgstr "මුරපදය අමතකද?"
-#: templates/login.php:27
+#: templates/login.php:39
msgid "remember"
msgstr "මතක à¶­à¶¶à·à¶œà¶±à·Šà¶±"
-#: templates/login.php:28
+#: templates/login.php:41
msgid "Log in"
msgstr "à¶´à·Šâ€à¶»à·€à·šà·à·€à¶±à·Šà¶±"
-#: templates/logout.php:1
-msgid "You are logged out."
-msgstr "ඔබ නික්මී ඇත."
-
#: templates/part.pagenavi.php:3
msgid "prev"
msgstr "පෙර"
@@ -567,16 +562,7 @@ msgstr "පෙර"
msgid "next"
msgstr "à¶Šà·…à¶Ÿ"
-#: templates/verify.php:5
-msgid "Security Warning!"
-msgstr ""
-
-#: templates/verify.php:6
-msgid ""
-"Please verify your password. <br/>For security reasons you may be "
-"occasionally asked to enter your password again."
-msgstr ""
-
-#: templates/verify.php:16
-msgid "Verify"
+#: templates/update.php:3
+#, php-format
+msgid "Updating ownCloud to version %s, this may take a while."
msgstr ""
diff --git a/l10n/si_LK/files.po b/l10n/si_LK/files.po
index 0f0bb6776b0..570832cb837 100644
--- a/l10n/si_LK/files.po
+++ b/l10n/si_LK/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: 2012-12-01 00:01+0100\n"
-"PO-Revision-Date: 2012-11-30 23:02+0000\n"
+"POT-Creation-Date: 2013-01-20 00:05+0100\n"
+"PO-Revision-Date: 2013-01-19 23:05+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"
@@ -19,46 +19,77 @@ msgstr ""
"Language: si_LK\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+#: ajax/delete.php:28 ajax/getstoragestats.php:11 ajax/upload.php:17
+#: ajax/upload.php:76 templates/index.php:18
+msgid "Upload"
+msgstr "උඩුගත කිරීම"
+
+#: ajax/move.php:17
+#, php-format
+msgid "Could not move %s - File with this name already exists"
+msgstr ""
+
+#: ajax/move.php:24
+#, php-format
+msgid "Could not move %s"
+msgstr ""
+
+#: ajax/rename.php:19
+msgid "Unable to rename file"
+msgstr ""
+
#: ajax/upload.php:20
+msgid "No file was uploaded. Unknown error"
+msgstr "ගොනුවක් උඩුගත නොවුනි. නොහà·à¶³à·’නු දà·à·‚යක්"
+
+#: ajax/upload.php:30
msgid "There is no error, the file uploaded with success"
msgstr "නිවà·à¶»à¶¯à·’ à·€ ගොනුව උඩුගත කෙරිනි"
-#: ajax/upload.php:21
+#: ajax/upload.php:31
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr ""
-#: ajax/upload.php:23
+#: ajax/upload.php:33
msgid ""
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
"the HTML form"
msgstr "උඩුගත à¶šà·… ගොනුවේ විà·à·à¶½à¶­à·Šà·€à¶º HTML à¶´à·à¶»à¶¸à¶ºà·š නියම à¶šà·… ඇති MAX_FILE_SIZE විà·à·à¶½à¶­à·Šà·€à¶ºà¶§ වඩ෠වà·à¶©à·’ය"
-#: ajax/upload.php:25
+#: ajax/upload.php:35
msgid "The uploaded file was only partially uploaded"
msgstr "උඩුගත කළ ගොනුවේ කොටසක් පමණක් උඩුගත විය"
-#: ajax/upload.php:26
+#: ajax/upload.php:36
msgid "No file was uploaded"
msgstr "කිසිදු ගොනවක් උඩුගත නොවිනි"
-#: ajax/upload.php:27
+#: ajax/upload.php:37
msgid "Missing a temporary folder"
msgstr "à¶­à·à·€à¶šà·à¶½à·’à¶š ෆොල්ඩරයක් සොයà·à¶œà¶­ නොහà·à¶š"
-#: ajax/upload.php:28
+#: ajax/upload.php:38
msgid "Failed to write to disk"
msgstr "à¶­à·à¶§à·’ගත කිරීම à¶…à·ƒà·à¶»à·Šà¶®à¶šà¶ºà·’"
+#: ajax/upload.php:57
+msgid "Not enough space available"
+msgstr ""
+
+#: ajax/upload.php:91
+msgid "Invalid directory."
+msgstr ""
+
#: appinfo/app.php:10
msgid "Files"
msgstr "ගොනු"
-#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84
+#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
msgid "Unshare"
msgstr "නොබෙදු"
-#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90
+#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
msgid "Delete"
msgstr "මකන්න"
@@ -66,122 +97,136 @@ msgstr "මකන්න"
msgid "Rename"
msgstr "à¶±à·à·€à¶­ නම් කරන්න"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "{new_name} already exists"
msgstr ""
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "replace"
msgstr "à¶´à·Šâ€à¶»à¶­à·’ස්ථà·à¶´à¶±à¶º කරන්න"
-#: js/filelist.js:201
+#: js/filelist.js:205
msgid "suggest name"
msgstr "නමක් යà·à¶¢à¶±à· කරන්න"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "cancel"
msgstr "අත් හරින්න"
-#: js/filelist.js:250
+#: js/filelist.js:254
msgid "replaced {new_name}"
msgstr ""
-#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286
+#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
msgid "undo"
msgstr "නිෂ්ප්â€à¶»à¶· කරන්න"
-#: js/filelist.js:252
+#: js/filelist.js:256
msgid "replaced {new_name} with {old_name}"
msgstr ""
-#: js/filelist.js:284
+#: js/filelist.js:288
msgid "unshared {files}"
msgstr ""
-#: js/filelist.js:286
+#: js/filelist.js:290
msgid "deleted {files}"
msgstr ""
-#: js/files.js:33
+#: js/files.js:48
+msgid "'.' is an invalid file name."
+msgstr ""
+
+#: js/files.js:53
+msgid "File name cannot be empty."
+msgstr ""
+
+#: js/files.js:62
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr ""
-#: js/files.js:183
-msgid "generating ZIP-file, it may take some time."
-msgstr "ගොනුවක් සෑදෙමින් පවතී. කෙටි වේලà·à·€à¶šà·Š ගත විය à·„à·à¶š"
+#: js/files.js:204
+msgid ""
+"Your download is being prepared. This might take some time if the files are "
+"big."
+msgstr ""
-#: js/files.js:218
+#: js/files.js:242
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr ""
-#: js/files.js:218
+#: js/files.js:242
msgid "Upload Error"
msgstr "උඩුගත කිරීමේ දà·à·à¶ºà¶šà·Š"
-#: js/files.js:235
+#: js/files.js:259
msgid "Close"
msgstr "වසන්න"
-#: js/files.js:254 js/files.js:368 js/files.js:398
+#: js/files.js:278 js/files.js:397 js/files.js:431
msgid "Pending"
msgstr ""
-#: js/files.js:274
+#: js/files.js:298
msgid "1 file uploading"
msgstr "1 ගොනුවක් උඩගත කෙරේ"
-#: js/files.js:277 js/files.js:331 js/files.js:346
+#: js/files.js:301 js/files.js:357 js/files.js:372
msgid "{count} files uploading"
msgstr ""
-#: js/files.js:349 js/files.js:382
+#: js/files.js:376 js/files.js:414
msgid "Upload cancelled."
msgstr "උඩුගත කිරීම අත් හරින්න ලදී"
-#: js/files.js:451
+#: js/files.js:486
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr "උඩුගතකිරීමක් සිදුවේ. පිටුව à·„à·à¶» යà·à¶¸à·™à¶±à·Š එය à¶±à·à·€à¶­à·™à¶±à·” ඇත"
-#: js/files.js:523
-msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud"
+#: js/files.js:559
+msgid "URL cannot be empty."
+msgstr "යොමුව හිස් විය නොහà·à¶š"
+
+#: js/files.js:565
+msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
msgstr ""
-#: js/files.js:704
+#: js/files.js:775
msgid "{count} files scanned"
msgstr ""
-#: js/files.js:712
+#: js/files.js:783
msgid "error while scanning"
msgstr "පරීක්ෂ෠කිරීමේදී දà·à·‚යක්"
-#: js/files.js:785 templates/index.php:65
+#: js/files.js:857 templates/index.php:64
msgid "Name"
msgstr "නම"
-#: js/files.js:786 templates/index.php:76
+#: js/files.js:858 templates/index.php:75
msgid "Size"
msgstr "à¶´à·Šâ€à¶»à¶¸à·à¶«à¶º"
-#: js/files.js:787 templates/index.php:78
+#: js/files.js:859 templates/index.php:77
msgid "Modified"
msgstr "වෙනස් කළ"
-#: js/files.js:814
+#: js/files.js:878
msgid "1 folder"
msgstr "1 ෆොල්ඩරයක්"
-#: js/files.js:816
+#: js/files.js:880
msgid "{count} folders"
msgstr ""
-#: js/files.js:824
+#: js/files.js:888
msgid "1 file"
msgstr "1 ගොනුවක්"
-#: js/files.js:826
+#: js/files.js:890
msgid "{count} files"
msgstr ""
@@ -193,27 +238,27 @@ msgstr "ගොනු පරිහරණය"
msgid "Maximum upload size"
msgstr "උඩුගත කිරීමක උපරිම à¶´à·Šâ€à¶»à¶¸à·à¶«à¶º"
-#: templates/admin.php:9
+#: templates/admin.php:10
msgid "max. possible: "
msgstr "à·„à·à¶šà·’ උපරිමය:"
-#: templates/admin.php:12
+#: templates/admin.php:15
msgid "Needed for multi-file and folder downloads."
msgstr "à¶¶à·„à·”-ගොනු හ෠ෆොල්ඩර à¶¶à·à¶œà¶­ කිරීමට à¶…à·€à·à·Šâ€à¶ºà¶ºà·’"
-#: templates/admin.php:14
+#: templates/admin.php:17
msgid "Enable ZIP-download"
msgstr "ZIP-à¶¶à·à¶œà¶­ කිරීම් සක්â€à¶»à·’ය කරන්න"
-#: templates/admin.php:17
+#: templates/admin.php:20
msgid "0 is unlimited"
msgstr "0 යනු සීමà·à·€à¶šà·Š à¶±à·à¶­à·’ බවය"
-#: templates/admin.php:19
+#: templates/admin.php:22
msgid "Maximum input size for ZIP files"
msgstr "ZIP ගොනු සඳහ෠දà·à¶¸à·’ය à·„à·à¶šà·’ උපරිම විà·à·à¶½à¶­à·€à¶º"
-#: templates/admin.php:23
+#: templates/admin.php:26
msgid "Save"
msgstr "සුරකින්න"
@@ -233,36 +278,32 @@ msgstr "à·†à·à¶½à·Šà¶©à¶»à¶º"
msgid "From link"
msgstr "යොමුවෙන්"
-#: templates/index.php:35
-msgid "Upload"
-msgstr "උඩුගත කිරීම"
-
-#: templates/index.php:43
+#: templates/index.php:41
msgid "Cancel upload"
msgstr "උඩුගත කිරීම අත් හරින්න"
-#: templates/index.php:57
+#: templates/index.php:56
msgid "Nothing in here. Upload something!"
msgstr "මෙහි කිසිවක් නොමà·à¶­. යමක් උඩුගත කරන්න"
-#: templates/index.php:71
+#: templates/index.php:70
msgid "Download"
msgstr "à¶¶à·à¶œà¶­ කිරීම"
-#: templates/index.php:103
+#: templates/index.php:102
msgid "Upload too large"
msgstr "උඩුගත කිරීම විà·à·à¶½ à·€à·à¶©à·’ය"
-#: templates/index.php:105
+#: templates/index.php:104
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "ඔබ උඩුගත කිරීමට à¶­à·à¶­à·Š කරන ගොනු මෙම සේවà·à¶¯à·à¶ºà¶šà¶ºà· උඩුගත කිරීමට ඉඩදී ඇති උපරිම ගොනු විà·à·à¶½à¶­à·Šà·€à¶ºà¶§ වඩ෠වà·à¶©à·’ය"
-#: templates/index.php:110
+#: templates/index.php:109
msgid "Files are being scanned, please wait."
msgstr "ගොනු පරික්ෂ෠කෙරේ. මඳක් à¶»à·à¶³à·“ සිටින්න"
-#: templates/index.php:113
+#: templates/index.php:112
msgid "Current scanning"
msgstr "වර්තමà·à¶± පරික්ෂà·à·€"
diff --git a/l10n/si_LK/files_encryption.po b/l10n/si_LK/files_encryption.po
index 7e40f2c3ea7..8f8475ed596 100644
--- a/l10n/si_LK/files_encryption.po
+++ b/l10n/si_LK/files_encryption.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-10-20 02:02+0200\n"
-"PO-Revision-Date: 2012-10-19 11:00+0000\n"
-"Last-Translator: Anushke Guneratne <anushke@gmail.com>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,18 +18,66 @@ msgstr ""
"Language: si_LK\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "ගුප්ත කේතනය"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "මෙම ගොනු වර්ග ගුප්ත කේතනය කිරීමෙන් à¶¶à·à·„à·à¶»à·€ තබන්න"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "කිසිවක් à¶±à·à¶­"
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "ගුප්ත කේතනය සක්â€à¶»à·’ය කරන්න"
diff --git a/l10n/si_LK/files_versions.po b/l10n/si_LK/files_versions.po
index 1d5285a2554..65443ed184b 100644
--- a/l10n/si_LK/files_versions.po
+++ b/l10n/si_LK/files_versions.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-10-20 02:02+0200\n"
-"PO-Revision-Date: 2012-10-19 10:27+0000\n"
-"Last-Translator: Anushke Guneratne <anushke@gmail.com>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,22 +18,10 @@ msgstr ""
"Language: si_LK\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: js/settings-personal.js:31 templates/settings-personal.php:10
-msgid "Expire all versions"
-msgstr "සියලු අනුවà·à¶¯ අවලංගු කරන්න"
-
#: js/versions.js:16
msgid "History"
msgstr "ඉතිහà·à·ƒà¶º"
-#: templates/settings-personal.php:4
-msgid "Versions"
-msgstr "අනුවà·à¶¯"
-
-#: templates/settings-personal.php:7
-msgid "This will delete all existing backup versions of your files"
-msgstr "මෙයින් ඔබගේ ගොනුවේ රක්à·à·’à¶­ කරනු à¶½à·à¶¶à·” අනුවà·à¶¯ සියල්ල මක෠දමනු à¶½à·à¶¶à·š"
-
#: templates/settings.php:3
msgid "Files Versioning"
msgstr "ගොනු අනුවà·à¶¯à¶ºà¶±à·Š"
diff --git a/l10n/si_LK/lib.po b/l10n/si_LK/lib.po
index f798fa5f24e..9fcdc0a05a4 100644
--- a/l10n/si_LK/lib.po
+++ b/l10n/si_LK/lib.po
@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-11-16 00:02+0100\n"
-"PO-Revision-Date: 2012-11-14 23:13+0000\n"
+"POT-Creation-Date: 2013-01-17 00:26+0100\n"
+"PO-Revision-Date: 2013-01-16 23:26+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"
@@ -19,51 +19,55 @@ msgstr ""
"Language: si_LK\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: app.php:285
+#: app.php:301
msgid "Help"
msgstr "උදව්"
-#: app.php:292
+#: app.php:308
msgid "Personal"
msgstr "පෞද්ගලික"
-#: app.php:297
+#: app.php:313
msgid "Settings"
msgstr "සිටුවම්"
-#: app.php:302
+#: app.php:318
msgid "Users"
msgstr "පරිà·à·“ලකයන්"
-#: app.php:309
+#: app.php:325
msgid "Apps"
msgstr "යෙදුම්"
-#: app.php:311
+#: app.php:327
msgid "Admin"
msgstr "පරිපà·à¶½à¶š"
-#: files.php:332
+#: files.php:365
msgid "ZIP download is turned off."
msgstr "ZIP à¶·à·à¶œà¶­ කිරීම් à¶…à¶šà·Šâ€à¶»à·’යයි"
-#: files.php:333
+#: files.php:366
msgid "Files need to be downloaded one by one."
msgstr "ගොනු එකින් à¶‘à¶š à¶·à·à¶œà¶­ යුතුයි"
-#: files.php:333 files.php:358
+#: files.php:366 files.php:391
msgid "Back to Files"
msgstr "ගොනු වෙතට à¶±à·à·€à¶­ යන්න"
-#: files.php:357
+#: files.php:390
msgid "Selected files too large to generate zip file."
msgstr "à¶­à·à¶»à·à¶œà¶­à·Š ගොනු ZIP ගොනුවක් à¶­à·à¶±à·“මට විà·à·à¶½ à·€à·à¶©à·’ය."
+#: helper.php:228
+msgid "couldn't be determined"
+msgstr ""
+
#: json.php:28
msgid "Application is not enabled"
msgstr "යෙදුම සක්â€à¶»à·’ය à¶šà¶» නොමà·à¶­"
-#: json.php:39 json.php:64 json.php:77 json.php:89
+#: json.php:39 json.php:62 json.php:73
msgid "Authentication error"
msgstr "සත්â€à¶ºà·à¶´à¶±à¶º කිරීමේ දà·à·à¶ºà¶šà·Š"
@@ -83,55 +87,55 @@ msgstr "පෙළ"
msgid "Images"
msgstr "අනු රූ"
-#: template.php:103
+#: template.php:113
msgid "seconds ago"
msgstr "තත්පරයන්ට පෙර"
-#: template.php:104
+#: template.php:114
msgid "1 minute ago"
msgstr "1 මිනිත්තුවකට පෙර"
-#: template.php:105
+#: template.php:115
#, php-format
msgid "%d minutes ago"
msgstr "%d මිනිත්තුවන්ට පෙර"
-#: template.php:106
+#: template.php:116
msgid "1 hour ago"
msgstr ""
-#: template.php:107
+#: template.php:117
#, php-format
msgid "%d hours ago"
msgstr ""
-#: template.php:108
+#: template.php:118
msgid "today"
msgstr "අද"
-#: template.php:109
+#: template.php:119
msgid "yesterday"
msgstr "ඊයේ"
-#: template.php:110
+#: template.php:120
#, php-format
msgid "%d days ago"
msgstr "%d දිනකට පෙර"
-#: template.php:111
+#: template.php:121
msgid "last month"
msgstr "පෙර මà·à·ƒà¶ºà·š"
-#: template.php:112
+#: template.php:122
#, php-format
msgid "%d months ago"
msgstr ""
-#: template.php:113
+#: template.php:123
msgid "last year"
msgstr "පෙර අවුරුද්දේ"
-#: template.php:114
+#: template.php:124
msgid "years ago"
msgstr "අවුරුදු කීපයකට පෙර"
diff --git a/l10n/si_LK/settings.po b/l10n/si_LK/settings.po
index 6bfa8851760..7997041c93c 100644
--- a/l10n/si_LK/settings.po
+++ b/l10n/si_LK/settings.po
@@ -10,8 +10,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-21 00:10+0100\n"
-"PO-Revision-Date: 2012-12-19 23:20+0000\n"
+"POT-Creation-Date: 2013-01-12 00:09+0100\n"
+"PO-Revision-Date: 2013-01-11 23:09+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"
@@ -32,7 +32,7 @@ msgstr "à¶šà¶«à·Šà¶©à·à¶ºà¶¸ දà·à¶±à¶§à¶¸à¶­à·Š à¶­à·’à¶¶à·š"
msgid "Unable to add group"
msgstr "à¶šà·à¶«à¶©à¶ºà¶šà·Š à¶‘à¶šà·Š à¶šà·… නොහà·à¶šà·’ විය"
-#: ajax/enableapp.php:12
+#: ajax/enableapp.php:11
msgid "Could not enable app. "
msgstr "යෙදුම සක්â€à¶»à·“ය à¶šà·… නොහà·à¶šà·’ විය."
@@ -44,14 +44,6 @@ msgstr "වි-à¶­à·à¶´à·‘à¶½ සුරකින ලදී"
msgid "Invalid email"
msgstr "අවලංගු වි-à¶­à·à¶´à·‘à¶½"
-#: ajax/openid.php:13
-msgid "OpenID Changed"
-msgstr "විවෘත à·„à·à¶³à·”නුම à¶±à·à¶­à·„ොත් OpenID වෙනස්විය."
-
-#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20
-msgid "Invalid request"
-msgstr "අවලංගු අයදුම"
-
#: ajax/removegroup.php:13
msgid "Unable to delete group"
msgstr "à¶šà¶«à·Šà¶©à·à¶ºà¶¸ මà·à¶šà·“මට නොහà·à¶š"
@@ -68,6 +60,10 @@ msgstr "පරිà·à·“ලකය෠මà·à¶šà·“මට නොහà·à¶š"
msgid "Language changed"
msgstr "à¶·à·à·‚à·à·€ à·à·€à¶±à·ƒà·Š කිරීම"
+#: ajax/setlanguage.php:17 ajax/setlanguage.php:20
+msgid "Invalid request"
+msgstr "අවලංගු අයදුම"
+
#: ajax/togglegroups.php:12
msgid "Admins can't remove themself from the admin group"
msgstr ""
@@ -163,7 +159,7 @@ msgstr ""
msgid "Download iOS Client"
msgstr ""
-#: templates/personal.php:21 templates/users.php:23 templates/users.php:77
+#: templates/personal.php:21 templates/users.php:23 templates/users.php:82
msgid "Password"
msgstr "මුරපදය"
@@ -233,11 +229,11 @@ msgid ""
"License\">AGPL</abbr></a>."
msgstr "නිපදන ලද්දේ <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud සමà·à¶¢à¶ºà·™à¶±à·Š</a>, the <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/users.php:21 templates/users.php:76
+#: templates/users.php:21 templates/users.php:81
msgid "Name"
msgstr "à¶±à·à¶¸à¶º"
-#: templates/users.php:26 templates/users.php:78 templates/users.php:98
+#: templates/users.php:26 templates/users.php:83 templates/users.php:103
msgid "Groups"
msgstr "සමූහය"
@@ -246,21 +242,29 @@ msgid "Create"
msgstr "තනන්න"
#: templates/users.php:35
-msgid "Default Quota"
-msgstr "à·ƒà·à¶¸à·à¶±à·Šâ€à¶º සලà·à¶šà¶º"
+msgid "Default Storage"
+msgstr ""
+
+#: templates/users.php:42 templates/users.php:138
+msgid "Unlimited"
+msgstr ""
-#: templates/users.php:55 templates/users.php:138
+#: templates/users.php:60 templates/users.php:153
msgid "Other"
msgstr "වෙනත්"
-#: templates/users.php:80 templates/users.php:112
+#: templates/users.php:85 templates/users.php:117
msgid "Group Admin"
msgstr "à¶šà·à¶«à·Šà¶© පරිපà·à¶½à¶š"
-#: templates/users.php:82
-msgid "Quota"
-msgstr "සලà·à¶šà¶º"
+#: templates/users.php:87
+msgid "Storage"
+msgstr ""
+
+#: templates/users.php:133
+msgid "Default"
+msgstr ""
-#: templates/users.php:146
+#: templates/users.php:161
msgid "Delete"
msgstr "මක෠දමනවà·"
diff --git a/l10n/si_LK/user_ldap.po b/l10n/si_LK/user_ldap.po
index f44ac30b3ea..536c0438d76 100644
--- a/l10n/si_LK/user_ldap.po
+++ b/l10n/si_LK/user_ldap.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-15 00:11+0100\n"
-"PO-Revision-Date: 2012-12-14 23:11+0000\n"
+"POT-Creation-Date: 2013-01-16 00:19+0100\n"
+"PO-Revision-Date: 2013-01-15 23:20+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"
@@ -27,8 +27,8 @@ msgstr ""
#: templates/settings.php:11
msgid ""
-"<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will"
-" not work. Please ask your system administrator to install it."
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not "
+"work. Please ask your system administrator to install it."
msgstr ""
#: templates/settings.php:15
@@ -45,6 +45,10 @@ msgid "Base DN"
msgstr ""
#: templates/settings.php:16
+msgid "One Base DN per line"
+msgstr ""
+
+#: templates/settings.php:16
msgid "You can specify Base DN for users and groups in the Advanced tab"
msgstr ""
@@ -115,10 +119,18 @@ msgstr "තොට"
msgid "Base User Tree"
msgstr ""
+#: templates/settings.php:25
+msgid "One User Base DN per line"
+msgstr ""
+
#: templates/settings.php:26
msgid "Base Group Tree"
msgstr ""
+#: templates/settings.php:26
+msgid "One Group Base DN per line"
+msgstr ""
+
#: templates/settings.php:27
msgid "Group-Member association"
msgstr ""
diff --git a/l10n/si_LK/user_webdavauth.po b/l10n/si_LK/user_webdavauth.po
index b97c5beb1cc..a6141d359c9 100644
--- a/l10n/si_LK/user_webdavauth.po
+++ b/l10n/si_LK/user_webdavauth.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-20 00:11+0100\n"
-"PO-Revision-Date: 2012-12-19 23:12+0000\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+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"
@@ -18,13 +18,17 @@ msgstr ""
"Language: si_LK\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+#: templates/settings.php:3
+msgid "WebDAV Authentication"
+msgstr ""
+
#: templates/settings.php:4
msgid "URL: http://"
msgstr ""
#: templates/settings.php:6
msgid ""
-"ownCloud will send the user credentials to this URL is interpret http 401 "
-"and http 403 as credentials wrong and all other codes as credentials "
-"correct."
+"ownCloud will send the user credentials to this URL. 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 ""
diff --git a/l10n/sk_SK/core.po b/l10n/sk_SK/core.po
index b2275856307..e11a2eda0fe 100644
--- a/l10n/sk_SK/core.po
+++ b/l10n/sk_SK/core.po
@@ -5,15 +5,16 @@
# Translators:
# <intense.feel@gmail.com>, 2011, 2012.
# <martin.babik@gmail.com>, 2012.
+# <mehturt@gmail.com>, 2013.
# Roman Priesol <roman@priesol.net>, 2012.
# <zatroch.martin@gmail.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-13 00:17+0100\n"
-"PO-Revision-Date: 2012-12-12 23:17+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-16 00:19+0100\n"
+"PO-Revision-Date: 2013-01-15 15:24+0000\n"
+"Last-Translator: mehturt <mehturt@gmail.com>\n"
"Language-Team: Slovak (Slovakia) (http://www.transifex.com/projects/p/owncloud/language/sk_SK/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -24,26 +25,26 @@ msgstr ""
#: ajax/share.php:84
#, php-format
msgid "User %s shared a file with you"
-msgstr ""
+msgstr "Používateľ %s zdieľa s Vami súbor"
#: ajax/share.php:86
#, php-format
msgid "User %s shared a folder with you"
-msgstr ""
+msgstr "Používateľ %s zdieľa s Vami adresár"
#: ajax/share.php:88
#, php-format
msgid ""
"User %s shared the file \"%s\" with you. It is available for download here: "
"%s"
-msgstr ""
+msgstr "Používateľ %s zdieľa s Vami súbor \"%s\". Môžete si ho stiahnuť tu: %s"
#: ajax/share.php:90
#, php-format
msgid ""
"User %s shared the folder \"%s\" with you. It is available for download "
"here: %s"
-msgstr ""
+msgstr "Používateľ %s zdieľa s Vami adresár \"%s\". Môžete si ho stiahnuť tu: %s"
#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25
msgid "Category type not provided."
@@ -87,55 +88,55 @@ msgstr "Chyba pri odstraňovaní %s z obľúbených položiek."
msgid "Settings"
msgstr "Nastavenia"
-#: js/js.js:704
+#: js/js.js:711
msgid "seconds ago"
msgstr "pred sekundami"
-#: js/js.js:705
+#: js/js.js:712
msgid "1 minute ago"
msgstr "pred minútou"
-#: js/js.js:706
+#: js/js.js:713
msgid "{minutes} minutes ago"
msgstr "pred {minutes} minútami"
-#: js/js.js:707
+#: js/js.js:714
msgid "1 hour ago"
msgstr "Pred 1 hodinou."
-#: js/js.js:708
+#: js/js.js:715
msgid "{hours} hours ago"
msgstr "Pred {hours} hodinami."
-#: js/js.js:709
+#: js/js.js:716
msgid "today"
msgstr "dnes"
-#: js/js.js:710
+#: js/js.js:717
msgid "yesterday"
msgstr "vÄera"
-#: js/js.js:711
+#: js/js.js:718
msgid "{days} days ago"
msgstr "pred {days} dňami"
-#: js/js.js:712
+#: js/js.js:719
msgid "last month"
msgstr "minulý mesiac"
-#: js/js.js:713
+#: js/js.js:720
msgid "{months} months ago"
msgstr "Pred {months} mesiacmi."
-#: js/js.js:714
+#: js/js.js:721
msgid "months ago"
msgstr "pred mesiacmi"
-#: js/js.js:715
+#: js/js.js:722
msgid "last year"
msgstr "minulý rok"
-#: js/js.js:716
+#: js/js.js:723
msgid "years ago"
msgstr "pred rokmi"
@@ -165,8 +166,8 @@ msgid "The object type is not specified."
msgstr "Nešpecifikovaný typ objektu."
#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136
-#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:541
-#: js/share.js:553
+#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:554
+#: js/share.js:566
msgid "Error"
msgstr "Chyba"
@@ -178,7 +179,7 @@ msgstr "Nešpecifikované meno aplikácie."
msgid "The required file {file} is not installed!"
msgstr "Požadovaný súbor {file} nie je inštalovaný!"
-#: js/share.js:124 js/share.js:581
+#: js/share.js:124 js/share.js:594
msgid "Error while sharing"
msgstr "Chyba poÄas zdieľania"
@@ -206,22 +207,21 @@ msgstr "Zdieľať s"
msgid "Share with link"
msgstr "Zdieľať cez odkaz"
-#: js/share.js:164
+#: js/share.js:166
msgid "Password protect"
msgstr "Chrániť heslom"
-#: js/share.js:168 templates/installation.php:42 templates/login.php:24
-#: templates/verify.php:13
+#: js/share.js:168 templates/installation.php:44 templates/login.php:35
msgid "Password"
msgstr "Heslo"
#: js/share.js:172
msgid "Email link to person"
-msgstr ""
+msgstr "Odoslať odkaz osobe e-mailom"
#: js/share.js:173
msgid "Send"
-msgstr ""
+msgstr "Odoslať"
#: js/share.js:177
msgid "Set expiration date"
@@ -275,25 +275,25 @@ msgstr "zmazať"
msgid "share"
msgstr "zdieľať"
-#: js/share.js:353 js/share.js:528 js/share.js:530
+#: js/share.js:356 js/share.js:541
msgid "Password protected"
msgstr "Chránené heslom"
-#: js/share.js:541
+#: js/share.js:554
msgid "Error unsetting expiration date"
msgstr "Chyba pri odstraňovaní dátumu vypršania platnosti"
-#: js/share.js:553
+#: js/share.js:566
msgid "Error setting expiration date"
msgstr "Chyba pri nastavení dátumu vypršania platnosti"
-#: js/share.js:568
+#: js/share.js:581
msgid "Sending ..."
-msgstr ""
+msgstr "Odosielam ..."
-#: js/share.js:579
+#: js/share.js:592
msgid "Email sent"
-msgstr ""
+msgstr "Email odoslaný"
#: lostpassword/controller.php:47
msgid "ownCloud password reset"
@@ -315,8 +315,8 @@ msgstr "Obnovovací email bol odoslaný."
msgid "Request failed!"
msgstr "Požiadavka zlyhala!"
-#: lostpassword/templates/lostpassword.php:11 templates/installation.php:38
-#: templates/login.php:20
+#: lostpassword/templates/lostpassword.php:11 templates/installation.php:39
+#: templates/login.php:28
msgid "Username"
msgstr "Prihlasovacie meno"
@@ -405,44 +405,44 @@ msgstr "Váš prieÄinok s dátami a VaÅ¡e súbory sú pravdepodobne dostupné z
msgid "Create an <strong>admin account</strong>"
msgstr "VytvoriÅ¥ <strong>administrátorský úÄet</strong>"
-#: templates/installation.php:48
+#: templates/installation.php:50
msgid "Advanced"
msgstr "PokroÄilé"
-#: templates/installation.php:50
+#: templates/installation.php:52
msgid "Data folder"
msgstr "PrieÄinok dát"
-#: templates/installation.php:57
+#: templates/installation.php:59
msgid "Configure the database"
msgstr "Nastaviť databázu"
-#: templates/installation.php:62 templates/installation.php:73
-#: templates/installation.php:83 templates/installation.php:93
+#: templates/installation.php:64 templates/installation.php:75
+#: templates/installation.php:85 templates/installation.php:95
msgid "will be used"
msgstr "bude použité"
-#: templates/installation.php:105
+#: templates/installation.php:107
msgid "Database user"
msgstr "Hostiteľ databázy"
-#: templates/installation.php:109
+#: templates/installation.php:111
msgid "Database password"
msgstr "Heslo databázy"
-#: templates/installation.php:113
+#: templates/installation.php:115
msgid "Database name"
msgstr "Meno databázy"
-#: templates/installation.php:121
+#: templates/installation.php:123
msgid "Database tablespace"
msgstr "Tabuľkový priestor databázy"
-#: templates/installation.php:127
+#: templates/installation.php:129
msgid "Database host"
msgstr "Server databázy"
-#: templates/installation.php:132
+#: templates/installation.php:134
msgid "Finish setup"
msgstr "DokonÄiÅ¥ inÅ¡taláciu"
@@ -530,36 +530,32 @@ msgstr "webové služby pod vašou kontrolou"
msgid "Log out"
msgstr "Odhlásiť"
-#: templates/login.php:8
+#: templates/login.php:10
msgid "Automatic logon rejected!"
msgstr "Automatické prihlásenie bolo zamietnuté!"
-#: templates/login.php:9
+#: templates/login.php:11
msgid ""
"If you did not change your password recently, your account may be "
"compromised!"
msgstr "V nedávnej dobe ste nezmenili svoje heslo, Váš úÄet môže byÅ¥ kompromitovaný."
-#: templates/login.php:10
+#: templates/login.php:13
msgid "Please change your password to secure your account again."
msgstr "Prosím, zmeňte svoje heslo pre opätovné zabezpeÄenie Vášho úÄtu"
-#: templates/login.php:15
+#: templates/login.php:19
msgid "Lost your password?"
msgstr "Zabudli ste heslo?"
-#: templates/login.php:27
+#: templates/login.php:39
msgid "remember"
msgstr "zapamätať"
-#: templates/login.php:28
+#: templates/login.php:41
msgid "Log in"
msgstr "Prihlásiť sa"
-#: templates/logout.php:1
-msgid "You are logged out."
-msgstr "Ste odhlásený."
-
#: templates/part.pagenavi.php:3
msgid "prev"
msgstr "späť"
@@ -568,16 +564,7 @@ msgstr "späť"
msgid "next"
msgstr "Äalej"
-#: templates/verify.php:5
-msgid "Security Warning!"
-msgstr "BezpeÄnostné varovanie!"
-
-#: templates/verify.php:6
-msgid ""
-"Please verify your password. <br/>For security reasons you may be "
-"occasionally asked to enter your password again."
-msgstr "Prosím, overte svoje heslo. <br />Z bezpeÄnostných dôvodov môžete byÅ¥ obÄas požiadaný o jeho opätovné zadanie."
-
-#: templates/verify.php:16
-msgid "Verify"
-msgstr "Overenie"
+#: templates/update.php:3
+#, php-format
+msgid "Updating ownCloud to version %s, this may take a while."
+msgstr "Aktualizujem ownCloud na verziu %s, môže to chvíľu trvať."
diff --git a/l10n/sk_SK/files.po b/l10n/sk_SK/files.po
index d55899f3b3e..0ffb88a2130 100644
--- a/l10n/sk_SK/files.po
+++ b/l10n/sk_SK/files.po
@@ -4,6 +4,7 @@
#
# Translators:
# <intense.feel@gmail.com>, 2012.
+# Marián Hvolka <marian.hvolka@stuba.sk>, 2013.
# <martin.babik@gmail.com>, 2012.
# Roman Priesol <roman@priesol.net>, 2012.
# <zatroch.martin@gmail.com>, 2012.
@@ -11,9 +12,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-02 00:02+0100\n"
-"PO-Revision-Date: 2012-12-01 16:18+0000\n"
-"Last-Translator: martin <zatroch.martin@gmail.com>\n"
+"POT-Creation-Date: 2013-01-25 00:05+0100\n"
+"PO-Revision-Date: 2013-01-24 19:08+0000\n"
+"Last-Translator: mhh <marian.hvolka@stuba.sk>\n"
"Language-Team: Slovak (Slovakia) (http://www.transifex.com/projects/p/owncloud/language/sk_SK/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -21,46 +22,77 @@ msgstr ""
"Language: sk_SK\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
+#: ajax/delete.php:28 ajax/getstoragestats.php:11 ajax/upload.php:17
+#: ajax/upload.php:76 templates/index.php:18
+msgid "Upload"
+msgstr "Odoslať"
+
+#: ajax/move.php:17
+#, php-format
+msgid "Could not move %s - File with this name already exists"
+msgstr "Nie je možné presunúť %s - súbor s týmto menom už existuje"
+
+#: ajax/move.php:24
+#, php-format
+msgid "Could not move %s"
+msgstr "Nie je možné presunúť %s"
+
+#: ajax/rename.php:19
+msgid "Unable to rename file"
+msgstr "Nemožno premenovať súbor"
+
#: ajax/upload.php:20
+msgid "No file was uploaded. Unknown error"
+msgstr "Žiaden súbor nebol odoslaný. Neznáma chyba"
+
+#: ajax/upload.php:30
msgid "There is no error, the file uploaded with success"
msgstr "Nenastala žiadna chyba, súbor bol úspešne nahraný"
-#: ajax/upload.php:21
+#: ajax/upload.php:31
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr "Nahraný súbor predÄil konfiguraÄnú direktívu upload_max_filesize v súbore php.ini:"
-#: ajax/upload.php:23
+#: ajax/upload.php:33
msgid ""
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
"the HTML form"
msgstr "Nahrávaný súbor presiahol MAX_FILE_SIZE direktívu, ktorá bola špecifikovaná v HTML formulári"
-#: ajax/upload.php:25
+#: ajax/upload.php:35
msgid "The uploaded file was only partially uploaded"
msgstr "Nahrávaný súbor bol iba ÄiastoÄne nahraný"
-#: ajax/upload.php:26
+#: ajax/upload.php:36
msgid "No file was uploaded"
msgstr "Žiaden súbor nebol nahraný"
-#: ajax/upload.php:27
+#: ajax/upload.php:37
msgid "Missing a temporary folder"
msgstr "Chýbajúci doÄasný prieÄinok"
-#: ajax/upload.php:28
+#: ajax/upload.php:38
msgid "Failed to write to disk"
msgstr "Zápis na disk sa nepodaril"
+#: ajax/upload.php:57
+msgid "Not enough space available"
+msgstr "Nie je k dispozícii dostatok miesta"
+
+#: ajax/upload.php:91
+msgid "Invalid directory."
+msgstr "Neplatný adresár"
+
#: appinfo/app.php:10
msgid "Files"
msgstr "Súbory"
-#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84
+#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
msgid "Unshare"
msgstr "Nezdielať"
-#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90
+#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
msgid "Delete"
msgstr "Odstrániť"
@@ -68,122 +100,136 @@ msgstr "Odstrániť"
msgid "Rename"
msgstr "Premenovať"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "{new_name} already exists"
msgstr "{new_name} už existuje"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "replace"
msgstr "nahradiť"
-#: js/filelist.js:201
+#: js/filelist.js:205
msgid "suggest name"
msgstr "pomôcť s menom"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "cancel"
msgstr "zrušiť"
-#: js/filelist.js:250
+#: js/filelist.js:254
msgid "replaced {new_name}"
msgstr "prepísaný {new_name}"
-#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286
+#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
msgid "undo"
msgstr "vrátiť"
-#: js/filelist.js:252
+#: js/filelist.js:256
msgid "replaced {new_name} with {old_name}"
msgstr "prepísaný {new_name} súborom {old_name}"
-#: js/filelist.js:284
+#: js/filelist.js:288
msgid "unshared {files}"
msgstr "zdieľanie zrušené pre {files}"
-#: js/filelist.js:286
+#: js/filelist.js:290
msgid "deleted {files}"
msgstr "zmazané {files}"
-#: js/files.js:33
+#: js/files.js:48
+msgid "'.' is an invalid file name."
+msgstr "'.' je neplatné meno súboru."
+
+#: js/files.js:53
+msgid "File name cannot be empty."
+msgstr "Meno súboru nemôže byť prázdne"
+
+#: js/files.js:62
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr "Nesprávne meno, '\\', '/', '<', '>', ':', '\"', '|', '?' a '*' nie sú povolené hodnoty."
-#: js/files.js:183
-msgid "generating ZIP-file, it may take some time."
-msgstr "generujem ZIP-súbor, môže to chvíľu trvať."
+#: js/files.js:204
+msgid ""
+"Your download is being prepared. This might take some time if the files are "
+"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:218
+#: js/files.js:242
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr "Nemôžem nahraÅ¥ súbor lebo je to prieÄinok alebo má 0 bajtov."
-#: js/files.js:218
+#: js/files.js:242
msgid "Upload Error"
msgstr "Chyba odosielania"
-#: js/files.js:235
+#: js/files.js:259
msgid "Close"
msgstr "Zavrieť"
-#: js/files.js:254 js/files.js:368 js/files.js:398
+#: js/files.js:278 js/files.js:397 js/files.js:431
msgid "Pending"
msgstr "Čaká sa"
-#: js/files.js:274
+#: js/files.js:298
msgid "1 file uploading"
msgstr "1 súbor sa posiela "
-#: js/files.js:277 js/files.js:331 js/files.js:346
+#: js/files.js:301 js/files.js:357 js/files.js:372
msgid "{count} files uploading"
msgstr "{count} súborov odosielaných"
-#: js/files.js:349 js/files.js:382
+#: js/files.js:376 js/files.js:414
msgid "Upload cancelled."
msgstr "Odosielanie zrušené"
-#: js/files.js:451
+#: js/files.js:486
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr "Opustenie stránky zruší práve prebiehajúce odosielanie súboru."
-#: js/files.js:523
-msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud"
-msgstr "Nesprávne meno adresára. Použitie slova \"Shared\" (Zdieľané) je vyhradené službou ownCloud."
+#: js/files.js:559
+msgid "URL cannot be empty."
+msgstr "URL nemôže byť prázdne"
-#: js/files.js:704
+#: js/files.js:565
+msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
+msgstr "Neplatné meno adresára. Používanie mena 'Shared' je vyhradené len pre Owncloud"
+
+#: js/files.js:775
msgid "{count} files scanned"
msgstr "{count} súborov prehľadaných"
-#: js/files.js:712
+#: js/files.js:783
msgid "error while scanning"
msgstr "chyba poÄas kontroly"
-#: js/files.js:785 templates/index.php:65
+#: js/files.js:857 templates/index.php:64
msgid "Name"
msgstr "Meno"
-#: js/files.js:786 templates/index.php:76
+#: js/files.js:858 templates/index.php:75
msgid "Size"
msgstr "Veľkosť"
-#: js/files.js:787 templates/index.php:78
+#: js/files.js:859 templates/index.php:77
msgid "Modified"
msgstr "Upravené"
-#: js/files.js:814
+#: js/files.js:878
msgid "1 folder"
msgstr "1 prieÄinok"
-#: js/files.js:816
+#: js/files.js:880
msgid "{count} folders"
msgstr "{count} prieÄinkov"
-#: js/files.js:824
+#: js/files.js:888
msgid "1 file"
msgstr "1 súbor"
-#: js/files.js:826
+#: js/files.js:890
msgid "{count} files"
msgstr "{count} súborov"
@@ -195,27 +241,27 @@ msgstr "Nastavenie správanie k súborom"
msgid "Maximum upload size"
msgstr "Maximálna veľkosť odosielaného súboru"
-#: templates/admin.php:9
+#: templates/admin.php:10
msgid "max. possible: "
msgstr "najväÄÅ¡ie možné:"
-#: templates/admin.php:12
+#: templates/admin.php:15
msgid "Needed for multi-file and folder downloads."
msgstr "Vyžadované pre sťahovanie viacerých súborov a adresárov."
-#: templates/admin.php:14
+#: templates/admin.php:17
msgid "Enable ZIP-download"
msgstr "Povoliť sťahovanie ZIP súborov"
-#: templates/admin.php:17
+#: templates/admin.php:20
msgid "0 is unlimited"
msgstr "0 znamená neobmedzené"
-#: templates/admin.php:19
+#: templates/admin.php:22
msgid "Maximum input size for ZIP files"
msgstr "NajväÄÅ¡ia veľkosÅ¥ ZIP súborov"
-#: templates/admin.php:23
+#: templates/admin.php:26
msgid "Save"
msgstr "Uložiť"
@@ -235,36 +281,32 @@ msgstr "PrieÄinok"
msgid "From link"
msgstr "Z odkazu"
-#: templates/index.php:35
-msgid "Upload"
-msgstr "Odoslať"
-
-#: templates/index.php:43
+#: templates/index.php:41
msgid "Cancel upload"
msgstr "Zrušiť odosielanie"
-#: templates/index.php:57
+#: templates/index.php:56
msgid "Nothing in here. Upload something!"
msgstr "Žiadny súbor. Nahrajte nieÄo!"
-#: templates/index.php:71
+#: templates/index.php:70
msgid "Download"
msgstr "Stiahnuť"
-#: templates/index.php:103
+#: templates/index.php:102
msgid "Upload too large"
msgstr "Odosielaný súbor je príliš veľký"
-#: templates/index.php:105
+#: templates/index.php:104
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:110
+#: templates/index.php:109
msgid "Files are being scanned, please wait."
msgstr "Čakajte, súbory sú prehľadávané."
-#: templates/index.php:113
+#: templates/index.php:112
msgid "Current scanning"
msgstr "Práve prehliadané"
diff --git a/l10n/sk_SK/files_encryption.po b/l10n/sk_SK/files_encryption.po
index a698624cb5d..813c05deb37 100644
--- a/l10n/sk_SK/files_encryption.po
+++ b/l10n/sk_SK/files_encryption.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-09-06 02:01+0200\n"
-"PO-Revision-Date: 2012-09-05 17:32+0000\n"
-"Last-Translator: intense <intense.feel@gmail.com>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,18 +18,66 @@ msgstr ""
"Language: sk_SK\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "Å ifrovanie"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "Vynechať nasledujúce súbory pri šifrovaní"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "Žiadne"
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "Zapnúť šifrovanie"
diff --git a/l10n/sk_SK/files_versions.po b/l10n/sk_SK/files_versions.po
index 89f540dae66..32d3549ff90 100644
--- a/l10n/sk_SK/files_versions.po
+++ b/l10n/sk_SK/files_versions.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-09-24 02:01+0200\n"
-"PO-Revision-Date: 2012-09-23 18:45+0000\n"
-"Last-Translator: martinb <martin.babik@gmail.com>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:03+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,22 +18,10 @@ msgstr ""
"Language: sk_SK\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
-#: js/settings-personal.js:31 templates/settings-personal.php:10
-msgid "Expire all versions"
-msgstr "Expirovať všetky verzie"
-
#: js/versions.js:16
msgid "History"
msgstr "História"
-#: templates/settings-personal.php:4
-msgid "Versions"
-msgstr "Verzie"
-
-#: templates/settings-personal.php:7
-msgid "This will delete all existing backup versions of your files"
-msgstr "Budú zmazané všetky zálohované verzie vašich súborov"
-
#: templates/settings.php:3
msgid "Files Versioning"
msgstr "Vytváranie verzií súborov"
diff --git a/l10n/sk_SK/lib.po b/l10n/sk_SK/lib.po
index ba1e859d9c9..07b4a925917 100644
--- a/l10n/sk_SK/lib.po
+++ b/l10n/sk_SK/lib.po
@@ -10,9 +10,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-02 00:02+0100\n"
-"PO-Revision-Date: 2012-12-01 16:27+0000\n"
-"Last-Translator: martin <zatroch.martin@gmail.com>\n"
+"POT-Creation-Date: 2013-01-17 00:26+0100\n"
+"PO-Revision-Date: 2013-01-16 23:26+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -20,51 +20,55 @@ msgstr ""
"Language: sk_SK\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
-#: app.php:285
+#: app.php:301
msgid "Help"
msgstr "Pomoc"
-#: app.php:292
+#: app.php:308
msgid "Personal"
msgstr "Osobné"
-#: app.php:297
+#: app.php:313
msgid "Settings"
msgstr "Nastavenia"
-#: app.php:302
+#: app.php:318
msgid "Users"
msgstr "Užívatelia"
-#: app.php:309
+#: app.php:325
msgid "Apps"
msgstr "Aplikácie"
-#: app.php:311
+#: app.php:327
msgid "Admin"
msgstr "Správca"
-#: files.php:361
+#: files.php:365
msgid "ZIP download is turned off."
msgstr "Sťahovanie súborov ZIP je vypnuté."
-#: files.php:362
+#: files.php:366
msgid "Files need to be downloaded one by one."
msgstr "Súbory musia byť nahrávané jeden za druhým."
-#: files.php:362 files.php:387
+#: files.php:366 files.php:391
msgid "Back to Files"
msgstr "Späť na súbory"
-#: files.php:386
+#: files.php:390
msgid "Selected files too large to generate zip file."
msgstr "Zvolené súbory sú príliž veľké na vygenerovanie zip súboru."
+#: helper.php:228
+msgid "couldn't be determined"
+msgstr ""
+
#: json.php:28
msgid "Application is not enabled"
msgstr "Aplikácia nie je zapnutá"
-#: json.php:39 json.php:64 json.php:77 json.php:89
+#: json.php:39 json.php:62 json.php:73
msgid "Authentication error"
msgstr "Chyba autentifikácie"
@@ -84,55 +88,55 @@ msgstr "Text"
msgid "Images"
msgstr "Obrázky"
-#: template.php:103
+#: template.php:113
msgid "seconds ago"
msgstr "pred sekundami"
-#: template.php:104
+#: template.php:114
msgid "1 minute ago"
msgstr "pred 1 minútou"
-#: template.php:105
+#: template.php:115
#, php-format
msgid "%d minutes ago"
msgstr "pred %d minútami"
-#: template.php:106
+#: template.php:116
msgid "1 hour ago"
msgstr "Pred 1 hodinou"
-#: template.php:107
+#: template.php:117
#, php-format
msgid "%d hours ago"
msgstr "Pred %d hodinami."
-#: template.php:108
+#: template.php:118
msgid "today"
msgstr "dnes"
-#: template.php:109
+#: template.php:119
msgid "yesterday"
msgstr "vÄera"
-#: template.php:110
+#: template.php:120
#, php-format
msgid "%d days ago"
msgstr "pred %d dňami"
-#: template.php:111
+#: template.php:121
msgid "last month"
msgstr "minulý mesiac"
-#: template.php:112
+#: template.php:122
#, php-format
msgid "%d months ago"
msgstr "Pred %d mesiacmi."
-#: template.php:113
+#: template.php:123
msgid "last year"
msgstr "minulý rok"
-#: template.php:114
+#: template.php:124
msgid "years ago"
msgstr "pred rokmi"
diff --git a/l10n/sk_SK/settings.po b/l10n/sk_SK/settings.po
index 7fc980b9834..dec1e38009b 100644
--- a/l10n/sk_SK/settings.po
+++ b/l10n/sk_SK/settings.po
@@ -4,6 +4,7 @@
#
# Translators:
# <intense.feel@gmail.com>, 2011, 2012.
+# Marián Hvolka <marian.hvolka@stuba.sk>, 2013.
# <martin.babik@gmail.com>, 2012.
# Roman Priesol <roman@priesol.net>, 2012.
# <typhoon@zoznam.sk>, 2012.
@@ -12,9 +13,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-21 00:10+0100\n"
-"PO-Revision-Date: 2012-12-19 23:20+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-25 00:05+0100\n"
+"PO-Revision-Date: 2013-01-24 18:54+0000\n"
+"Last-Translator: mhh <marian.hvolka@stuba.sk>\n"
"Language-Team: Slovak (Slovakia) (http://www.transifex.com/projects/p/owncloud/language/sk_SK/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -34,7 +35,7 @@ msgstr "Skupina už existuje"
msgid "Unable to add group"
msgstr "Nie je možné pridať skupinu"
-#: ajax/enableapp.php:12
+#: ajax/enableapp.php:11
msgid "Could not enable app. "
msgstr "Nie je možné zapnúť aplikáciu."
@@ -46,14 +47,6 @@ msgstr "Email uložený"
msgid "Invalid email"
msgstr "Neplatný email"
-#: ajax/openid.php:13
-msgid "OpenID Changed"
-msgstr "OpenID zmenené"
-
-#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20
-msgid "Invalid request"
-msgstr "Neplatná požiadavka"
-
#: ajax/removegroup.php:13
msgid "Unable to delete group"
msgstr "Nie je možné odstrániť skupinu"
@@ -70,6 +63,10 @@ msgstr "Nie je možné odstrániť používateľa"
msgid "Language changed"
msgstr "Jazyk zmenený"
+#: ajax/setlanguage.php:17 ajax/setlanguage.php:20
+msgid "Invalid request"
+msgstr "Neplatná požiadavka"
+
#: ajax/togglegroups.php:12
msgid "Admins can't remove themself from the admin group"
msgstr "Administrátori nesmú odstrániť sami seba zo skupiny admin"
@@ -122,19 +119,19 @@ msgstr "<span class=\"licence\"></span>-licencované <span class=\"author\"></sp
#: templates/help.php:3
msgid "User Documentation"
-msgstr ""
+msgstr "PríruÄka používateľa"
#: templates/help.php:4
msgid "Administrator Documentation"
-msgstr ""
+msgstr "PríruÄka správcu"
#: templates/help.php:6
msgid "Online Documentation"
-msgstr ""
+msgstr "Online príruÄka"
#: templates/help.php:7
msgid "Forum"
-msgstr ""
+msgstr "Fórum"
#: templates/help.php:9
msgid "Bugtracker"
@@ -142,7 +139,7 @@ msgstr ""
#: templates/help.php:11
msgid "Commercial Support"
-msgstr ""
+msgstr "KomerÄná podpora"
#: templates/personal.php:8
#, php-format
@@ -155,17 +152,17 @@ msgstr "Klienti"
#: templates/personal.php:13
msgid "Download Desktop Clients"
-msgstr ""
+msgstr "Stiahnuť desktopového klienta"
#: templates/personal.php:14
msgid "Download Android Client"
-msgstr ""
+msgstr "Stiahnuť Android klienta"
#: templates/personal.php:15
msgid "Download iOS Client"
-msgstr ""
+msgstr "Stiahnuť iOS klienta"
-#: templates/personal.php:21 templates/users.php:23 templates/users.php:77
+#: templates/personal.php:21 templates/users.php:23 templates/users.php:82
msgid "Password"
msgstr "Heslo"
@@ -215,15 +212,15 @@ msgstr "Pomôcť s prekladom"
#: templates/personal.php:52
msgid "WebDAV"
-msgstr ""
+msgstr "WebDAV"
#: templates/personal.php:54
msgid "Use this address to connect to your ownCloud in your file manager"
-msgstr ""
+msgstr "Použite túto adresu pre pripojenie vášho ownCloud k súborovému správcovi"
#: templates/personal.php:63
msgid "Version"
-msgstr ""
+msgstr "Verzia"
#: templates/personal.php:65
msgid ""
@@ -235,11 +232,11 @@ msgid ""
"License\">AGPL</abbr></a>."
msgstr "Vyvinuté <a href=\"http://ownCloud.org/contact\" target=\"_blank\">komunitou ownCloud</a>,<a href=\"https://github.com/owncloud\" target=\"_blank\">zdrojový kód</a> je licencovaný pod <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>."
-#: templates/users.php:21 templates/users.php:76
+#: templates/users.php:21 templates/users.php:81
msgid "Name"
msgstr "Meno"
-#: templates/users.php:26 templates/users.php:78 templates/users.php:98
+#: templates/users.php:26 templates/users.php:83 templates/users.php:103
msgid "Groups"
msgstr "Skupiny"
@@ -248,21 +245,29 @@ msgid "Create"
msgstr "Vytvoriť"
#: templates/users.php:35
-msgid "Default Quota"
-msgstr "Predvolená kvóta"
+msgid "Default Storage"
+msgstr "Predvolené úložisko"
-#: templates/users.php:55 templates/users.php:138
+#: templates/users.php:42 templates/users.php:138
+msgid "Unlimited"
+msgstr "Nelimitované"
+
+#: templates/users.php:60 templates/users.php:153
msgid "Other"
msgstr "Iné"
-#: templates/users.php:80 templates/users.php:112
+#: templates/users.php:85 templates/users.php:117
msgid "Group Admin"
msgstr "Správca skupiny"
-#: templates/users.php:82
-msgid "Quota"
-msgstr "Kvóta"
+#: templates/users.php:87
+msgid "Storage"
+msgstr "Úložisko"
+
+#: templates/users.php:133
+msgid "Default"
+msgstr "Predvolené"
-#: templates/users.php:146
+#: templates/users.php:161
msgid "Delete"
msgstr "Odstrániť"
diff --git a/l10n/sk_SK/user_ldap.po b/l10n/sk_SK/user_ldap.po
index fde4a583528..497fea635a1 100644
--- a/l10n/sk_SK/user_ldap.po
+++ b/l10n/sk_SK/user_ldap.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-15 00:11+0100\n"
-"PO-Revision-Date: 2012-12-14 23:11+0000\n"
+"POT-Creation-Date: 2013-01-16 00:19+0100\n"
+"PO-Revision-Date: 2013-01-15 23:20+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"
@@ -27,8 +27,8 @@ msgstr ""
#: templates/settings.php:11
msgid ""
-"<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will"
-" not work. Please ask your system administrator to install it."
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not "
+"work. Please ask your system administrator to install it."
msgstr ""
#: templates/settings.php:15
@@ -45,6 +45,10 @@ msgid "Base DN"
msgstr "Základné DN"
#: templates/settings.php:16
+msgid "One Base DN per line"
+msgstr ""
+
+#: templates/settings.php:16
msgid "You can specify Base DN for users and groups in the Advanced tab"
msgstr "V rozšírenom nastavení môžete zadať základné DN pre používateľov a skupiny"
@@ -115,10 +119,18 @@ msgstr "Port"
msgid "Base User Tree"
msgstr "Základný používateľský strom"
+#: templates/settings.php:25
+msgid "One User Base DN per line"
+msgstr ""
+
#: templates/settings.php:26
msgid "Base Group Tree"
msgstr "Základný skupinový strom"
+#: templates/settings.php:26
+msgid "One Group Base DN per line"
+msgstr ""
+
#: templates/settings.php:27
msgid "Group-Member association"
msgstr "Asociácia Älena skupiny"
diff --git a/l10n/sk_SK/user_webdavauth.po b/l10n/sk_SK/user_webdavauth.po
index fe313b19276..8adac5f8273 100644
--- a/l10n/sk_SK/user_webdavauth.po
+++ b/l10n/sk_SK/user_webdavauth.po
@@ -3,14 +3,15 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# Marián Hvolka <marian.hvolka@stuba.sk>, 2013.
# <zatroch.martin@gmail.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-20 00:11+0100\n"
-"PO-Revision-Date: 2012-12-19 23:12+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-25 00:05+0100\n"
+"PO-Revision-Date: 2013-01-24 19:09+0000\n"
+"Last-Translator: mhh <marian.hvolka@stuba.sk>\n"
"Language-Team: Slovak (Slovakia) (http://www.transifex.com/projects/p/owncloud/language/sk_SK/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,13 +19,17 @@ msgstr ""
"Language: sk_SK\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
+#: templates/settings.php:3
+msgid "WebDAV Authentication"
+msgstr "WebDAV overenie"
+
#: templates/settings.php:4
msgid "URL: http://"
-msgstr ""
+msgstr "URL: http://"
#: templates/settings.php:6
msgid ""
-"ownCloud will send the user credentials to this URL is interpret http 401 "
-"and http 403 as credentials wrong and all other codes as credentials "
-"correct."
+"ownCloud will send the user credentials to this URL. 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 ""
diff --git a/l10n/sl/core.po b/l10n/sl/core.po
index 679277649aa..2b4637d8013 100644
--- a/l10n/sl/core.po
+++ b/l10n/sl/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: 2012-12-16 00:11+0100\n"
-"PO-Revision-Date: 2012-12-15 16:29+0000\n"
-"Last-Translator: Peter Peroša <peter.perosa@gmail.com>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:03+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -87,55 +87,55 @@ msgstr "Napaka pri odstranjevanju %s iz priljubljenih."
msgid "Settings"
msgstr "Nastavitve"
-#: js/js.js:704
+#: js/js.js:711
msgid "seconds ago"
msgstr "pred nekaj sekundami"
-#: js/js.js:705
+#: js/js.js:712
msgid "1 minute ago"
msgstr "pred minuto"
-#: js/js.js:706
+#: js/js.js:713
msgid "{minutes} minutes ago"
msgstr "pred {minutes} minutami"
-#: js/js.js:707
+#: js/js.js:714
msgid "1 hour ago"
msgstr "pred 1 uro"
-#: js/js.js:708
+#: js/js.js:715
msgid "{hours} hours ago"
msgstr "pred {hours} urami"
-#: js/js.js:709
+#: js/js.js:716
msgid "today"
msgstr "danes"
-#: js/js.js:710
+#: js/js.js:717
msgid "yesterday"
msgstr "vÄeraj"
-#: js/js.js:711
+#: js/js.js:718
msgid "{days} days ago"
msgstr "pred {days} dnevi"
-#: js/js.js:712
+#: js/js.js:719
msgid "last month"
msgstr "zadnji mesec"
-#: js/js.js:713
+#: js/js.js:720
msgid "{months} months ago"
msgstr "pred {months} meseci"
-#: js/js.js:714
+#: js/js.js:721
msgid "months ago"
msgstr "mesecev nazaj"
-#: js/js.js:715
+#: js/js.js:722
msgid "last year"
msgstr "lansko leto"
-#: js/js.js:716
+#: js/js.js:723
msgid "years ago"
msgstr "let nazaj"
@@ -165,8 +165,8 @@ msgid "The object type is not specified."
msgstr "Vrsta predmeta ni podana."
#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136
-#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:541
-#: js/share.js:553
+#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:554
+#: js/share.js:566
msgid "Error"
msgstr "Napaka"
@@ -178,7 +178,7 @@ msgstr "Ime aplikacije ni podano."
msgid "The required file {file} is not installed!"
msgstr "Zahtevana datoteka {file} ni nameÅ¡Äena!"
-#: js/share.js:124 js/share.js:581
+#: js/share.js:124 js/share.js:594
msgid "Error while sharing"
msgstr "Napaka med souporabo"
@@ -206,12 +206,11 @@ msgstr "OmogoÄi souporabo z"
msgid "Share with link"
msgstr "OmogoÄi souporabo s povezavo"
-#: js/share.js:164
+#: js/share.js:166
msgid "Password protect"
msgstr "ZaÅ¡Äiti z geslom"
-#: js/share.js:168 templates/installation.php:44 templates/login.php:26
-#: templates/verify.php:13
+#: js/share.js:168 templates/installation.php:44 templates/login.php:35
msgid "Password"
msgstr "Geslo"
@@ -275,23 +274,23 @@ msgstr "izbriše"
msgid "share"
msgstr "doloÄi souporabo"
-#: js/share.js:353 js/share.js:528 js/share.js:530
+#: js/share.js:356 js/share.js:541
msgid "Password protected"
msgstr "ZaÅ¡Äiteno z geslom"
-#: js/share.js:541
+#: js/share.js:554
msgid "Error unsetting expiration date"
msgstr "Napaka brisanja datuma preteka"
-#: js/share.js:553
+#: js/share.js:566
msgid "Error setting expiration date"
msgstr "Napaka med nastavljanjem datuma preteka"
-#: js/share.js:568
+#: js/share.js:581
msgid "Sending ..."
msgstr "Pošiljam ..."
-#: js/share.js:579
+#: js/share.js:592
msgid "Email sent"
msgstr "E-pošta je bila poslana"
@@ -316,7 +315,7 @@ msgid "Request failed!"
msgstr "Zahtevek je spodletel!"
#: lostpassword/templates/lostpassword.php:11 templates/installation.php:39
-#: templates/login.php:21
+#: templates/login.php:28
msgid "Username"
msgstr "Uporabniško Ime"
@@ -530,36 +529,32 @@ msgstr "spletne storitve pod vašim nadzorom"
msgid "Log out"
msgstr "Odjava"
-#: templates/login.php:8
+#: templates/login.php:10
msgid "Automatic logon rejected!"
msgstr "Samodejno prijavljanje je zavrnjeno!"
-#: templates/login.php:9
+#: templates/login.php:11
msgid ""
"If you did not change your password recently, your account may be "
"compromised!"
msgstr "ÄŒe vaÅ¡ega gesla niste nedavno spremenili, je vaÅ¡ raÄun lahko ogrožen!"
-#: templates/login.php:10
+#: templates/login.php:13
msgid "Please change your password to secure your account again."
msgstr "Spremenite geslo za izboljÅ¡anje zaÅ¡Äite raÄuna."
-#: templates/login.php:15
+#: templates/login.php:19
msgid "Lost your password?"
msgstr "Ali ste pozabili geslo?"
-#: templates/login.php:29
+#: templates/login.php:39
msgid "remember"
msgstr "Zapomni si me"
-#: templates/login.php:30
+#: templates/login.php:41
msgid "Log in"
msgstr "Prijava"
-#: templates/logout.php:1
-msgid "You are logged out."
-msgstr "Sta odjavljeni."
-
#: templates/part.pagenavi.php:3
msgid "prev"
msgstr "nazaj"
@@ -568,16 +563,7 @@ msgstr "nazaj"
msgid "next"
msgstr "naprej"
-#: templates/verify.php:5
-msgid "Security Warning!"
-msgstr "Varnostno opozorilo!"
-
-#: templates/verify.php:6
-msgid ""
-"Please verify your password. <br/>For security reasons you may be "
-"occasionally asked to enter your password again."
-msgstr "Prosimo, Äe preverite vaÅ¡e geslo. Iz varnostnih razlogov vas lahko obÄasno prosimo, da ga ponovno vnesete."
-
-#: templates/verify.php:16
-msgid "Verify"
-msgstr "Preveri"
+#: templates/update.php:3
+#, php-format
+msgid "Updating ownCloud to version %s, this may take a while."
+msgstr ""
diff --git a/l10n/sl/files.po b/l10n/sl/files.po
index db703c7acc4..db5b65339a7 100644
--- a/l10n/sl/files.po
+++ b/l10n/sl/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: 2012-12-09 00:11+0100\n"
-"PO-Revision-Date: 2012-12-07 23:34+0000\n"
-"Last-Translator: Peter Peroša <peter.perosa@gmail.com>\n"
+"POT-Creation-Date: 2013-01-20 00:05+0100\n"
+"PO-Revision-Date: 2013-01-19 23:05+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -21,46 +21,77 @@ msgstr ""
"Language: sl\n"
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n"
+#: ajax/delete.php:28 ajax/getstoragestats.php:11 ajax/upload.php:17
+#: ajax/upload.php:76 templates/index.php:18
+msgid "Upload"
+msgstr "Pošlji"
+
+#: ajax/move.php:17
+#, php-format
+msgid "Could not move %s - File with this name already exists"
+msgstr ""
+
+#: ajax/move.php:24
+#, php-format
+msgid "Could not move %s"
+msgstr ""
+
+#: ajax/rename.php:19
+msgid "Unable to rename file"
+msgstr ""
+
#: ajax/upload.php:20
+msgid "No file was uploaded. Unknown error"
+msgstr "Nobena datoteka ni naložena. Neznana napaka."
+
+#: ajax/upload.php:30
msgid "There is no error, the file uploaded with success"
msgstr "Datoteka je uspešno naložena brez napak."
-#: ajax/upload.php:21
+#: ajax/upload.php:31
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr "Naložena datoteka presega dovoljeno velikost. Le-ta je doloÄena z vrstico upload_max_filesize v datoteki php.ini:"
-#: ajax/upload.php:23
+#: ajax/upload.php:33
msgid ""
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
"the HTML form"
msgstr "Naložena datoteka presega velikost, ki jo doloÄa parameter MAX_FILE_SIZE v HTML obrazcu"
-#: ajax/upload.php:25
+#: ajax/upload.php:35
msgid "The uploaded file was only partially uploaded"
msgstr "Datoteka je le delno naložena"
-#: ajax/upload.php:26
+#: ajax/upload.php:36
msgid "No file was uploaded"
msgstr "Nobena datoteka ni bila naložena"
-#: ajax/upload.php:27
+#: ajax/upload.php:37
msgid "Missing a temporary folder"
msgstr "Manjka zaÄasna mapa"
-#: ajax/upload.php:28
+#: ajax/upload.php:38
msgid "Failed to write to disk"
msgstr "Pisanje na disk je spodletelo"
+#: ajax/upload.php:57
+msgid "Not enough space available"
+msgstr ""
+
+#: ajax/upload.php:91
+msgid "Invalid directory."
+msgstr ""
+
#: appinfo/app.php:10
msgid "Files"
msgstr "Datoteke"
-#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84
+#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
msgid "Unshare"
msgstr "Odstrani iz souporabe"
-#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90
+#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
msgid "Delete"
msgstr "Izbriši"
@@ -68,122 +99,136 @@ msgstr "Izbriši"
msgid "Rename"
msgstr "Preimenuj"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "{new_name} already exists"
msgstr "{new_name} že obstaja"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "replace"
msgstr "zamenjaj"
-#: js/filelist.js:201
+#: js/filelist.js:205
msgid "suggest name"
msgstr "predlagaj ime"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "cancel"
msgstr "prekliÄi"
-#: js/filelist.js:250
+#: js/filelist.js:254
msgid "replaced {new_name}"
msgstr "zamenjano je ime {new_name}"
-#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286
+#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
msgid "undo"
msgstr "razveljavi"
-#: js/filelist.js:252
+#: js/filelist.js:256
msgid "replaced {new_name} with {old_name}"
msgstr "zamenjano ime {new_name} z imenom {old_name}"
-#: js/filelist.js:284
+#: js/filelist.js:288
msgid "unshared {files}"
msgstr "odstranjeno iz souporabe {files}"
-#: js/filelist.js:286
+#: js/filelist.js:290
msgid "deleted {files}"
msgstr "izbrisano {files}"
-#: js/files.js:33
+#: js/files.js:48
+msgid "'.' is an invalid file name."
+msgstr ""
+
+#: js/files.js:53
+msgid "File name cannot be empty."
+msgstr ""
+
+#: js/files.js:62
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr "Neveljavno ime, znaki '\\', '/', '<', '>', ':', '\"', '|', '?' in '*' niso dovoljeni."
-#: js/files.js:184
-msgid "generating ZIP-file, it may take some time."
-msgstr "Ustvarjanje datoteke ZIP. To lahko traja nekaj Äasa."
+#: js/files.js:204
+msgid ""
+"Your download is being prepared. This might take some time if the files are "
+"big."
+msgstr ""
-#: js/files.js:219
+#: js/files.js:242
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr "PoÅ¡iljanje ni mogoÄe, saj gre za mapo, ali pa je datoteka velikosti 0 bajtov."
-#: js/files.js:219
+#: js/files.js:242
msgid "Upload Error"
msgstr "Napaka med nalaganjem"
-#: js/files.js:236
+#: js/files.js:259
msgid "Close"
msgstr "Zapri"
-#: js/files.js:255 js/files.js:369 js/files.js:399
+#: js/files.js:278 js/files.js:397 js/files.js:431
msgid "Pending"
msgstr "V Äakanju ..."
-#: js/files.js:275
+#: js/files.js:298
msgid "1 file uploading"
msgstr "Pošiljanje 1 datoteke"
-#: js/files.js:278 js/files.js:332 js/files.js:347
+#: js/files.js:301 js/files.js:357 js/files.js:372
msgid "{count} files uploading"
msgstr "nalagam {count} datotek"
-#: js/files.js:350 js/files.js:383
+#: js/files.js:376 js/files.js:414
msgid "Upload cancelled."
msgstr "Pošiljanje je preklicano."
-#: js/files.js:452
+#: js/files.js:486
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr "V teku je pošiljanje datoteke. Če zapustite to stran zdaj, bo pošiljanje preklicano."
-#: js/files.js:524
-msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud"
-msgstr "Neveljavno ime datoteke. Uporaba mape \"Share\" je rezervirana za ownCloud."
+#: js/files.js:559
+msgid "URL cannot be empty."
+msgstr "Naslov URL ne sme biti prazen."
-#: js/files.js:705
+#: js/files.js:565
+msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
+msgstr ""
+
+#: js/files.js:775
msgid "{count} files scanned"
msgstr "{count} files scanned"
-#: js/files.js:713
+#: js/files.js:783
msgid "error while scanning"
msgstr "napaka med pregledovanjem datotek"
-#: js/files.js:786 templates/index.php:65
+#: js/files.js:857 templates/index.php:64
msgid "Name"
msgstr "Ime"
-#: js/files.js:787 templates/index.php:76
+#: js/files.js:858 templates/index.php:75
msgid "Size"
msgstr "Velikost"
-#: js/files.js:788 templates/index.php:78
+#: js/files.js:859 templates/index.php:77
msgid "Modified"
msgstr "Spremenjeno"
-#: js/files.js:815
+#: js/files.js:878
msgid "1 folder"
msgstr "1 mapa"
-#: js/files.js:817
+#: js/files.js:880
msgid "{count} folders"
msgstr "{count} map"
-#: js/files.js:825
+#: js/files.js:888
msgid "1 file"
msgstr "1 datoteka"
-#: js/files.js:827
+#: js/files.js:890
msgid "{count} files"
msgstr "{count} datotek"
@@ -195,27 +240,27 @@ msgstr "Upravljanje z datotekami"
msgid "Maximum upload size"
msgstr "NajveÄja velikost za poÅ¡iljanja"
-#: templates/admin.php:9
+#: templates/admin.php:10
msgid "max. possible: "
msgstr "najveÄ mogoÄe:"
-#: templates/admin.php:12
+#: templates/admin.php:15
msgid "Needed for multi-file and folder downloads."
msgstr "Uporabljeno za prenos veÄ datotek in map."
-#: templates/admin.php:14
+#: templates/admin.php:17
msgid "Enable ZIP-download"
msgstr "OmogoÄi prejemanje arhivov ZIP"
-#: templates/admin.php:17
+#: templates/admin.php:20
msgid "0 is unlimited"
msgstr "0 je neskonÄno"
-#: templates/admin.php:19
+#: templates/admin.php:22
msgid "Maximum input size for ZIP files"
msgstr "NajveÄja vhodna velikost za datoteke ZIP"
-#: templates/admin.php:23
+#: templates/admin.php:26
msgid "Save"
msgstr "Shrani"
@@ -235,36 +280,32 @@ msgstr "Mapa"
msgid "From link"
msgstr "Iz povezave"
-#: templates/index.php:35
-msgid "Upload"
-msgstr "Pošlji"
-
-#: templates/index.php:43
+#: templates/index.php:41
msgid "Cancel upload"
msgstr "PrekliÄi poÅ¡iljanje"
-#: templates/index.php:57
+#: templates/index.php:56
msgid "Nothing in here. Upload something!"
msgstr "Tukaj ni niÄesar. Naložite kaj!"
-#: templates/index.php:71
+#: templates/index.php:70
msgid "Download"
msgstr "Prejmi"
-#: templates/index.php:103
+#: templates/index.php:102
msgid "Upload too large"
msgstr "Nalaganje ni mogoÄe, ker je preveliko"
-#: templates/index.php:105
+#: templates/index.php:104
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "Datoteke, ki jih želite naložiti, presegajo najveÄjo dovoljeno velikost na tem strežniku."
-#: templates/index.php:110
+#: templates/index.php:109
msgid "Files are being scanned, please wait."
msgstr "Poteka preuÄevanje datotek, poÄakajte ..."
-#: templates/index.php:113
+#: templates/index.php:112
msgid "Current scanning"
msgstr "Trenutno poteka preuÄevanje"
diff --git a/l10n/sl/files_encryption.po b/l10n/sl/files_encryption.po
index ee5f5c6ec05..934903b3bc5 100644
--- a/l10n/sl/files_encryption.po
+++ b/l10n/sl/files_encryption.po
@@ -9,9 +9,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-10-23 02:02+0200\n"
-"PO-Revision-Date: 2012-10-22 16:57+0000\n"
-"Last-Translator: mateju <>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -19,18 +19,66 @@ msgstr ""
"Language: sl\n"
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "Å ifriranje"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "Navedene vrste datotek naj ne bodo šifrirane"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "Brez"
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "OmogoÄi Å¡ifriranje"
diff --git a/l10n/sl/files_versions.po b/l10n/sl/files_versions.po
index 2bde547fb1f..1a4d2854d91 100644
--- a/l10n/sl/files_versions.po
+++ b/l10n/sl/files_versions.po
@@ -9,9 +9,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-10-23 02:02+0200\n"
-"PO-Revision-Date: 2012-10-22 17:00+0000\n"
-"Last-Translator: mateju <>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -19,22 +19,10 @@ msgstr ""
"Language: sl\n"
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n"
-#: js/settings-personal.js:31 templates/settings-personal.php:10
-msgid "Expire all versions"
-msgstr "Zastaraj vse razliÄice"
-
#: js/versions.js:16
msgid "History"
msgstr "Zgodovina"
-#: templates/settings-personal.php:4
-msgid "Versions"
-msgstr "RazliÄice"
-
-#: templates/settings-personal.php:7
-msgid "This will delete all existing backup versions of your files"
-msgstr "S tem bodo izbrisane vse obstojeÄe razliÄice varnostnih kopij vaÅ¡ih datotek"
-
#: templates/settings.php:3
msgid "Files Versioning"
msgstr "Sledenje razliÄicam"
diff --git a/l10n/sl/lib.po b/l10n/sl/lib.po
index 606aa03de9d..4af090e968d 100644
--- a/l10n/sl/lib.po
+++ b/l10n/sl/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: 2012-11-20 00:01+0100\n"
-"PO-Revision-Date: 2012-11-19 19:49+0000\n"
-"Last-Translator: Peter Peroša <peter.perosa@gmail.com>\n"
+"POT-Creation-Date: 2013-01-17 00:26+0100\n"
+"PO-Revision-Date: 2013-01-16 23:26+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -19,51 +19,55 @@ msgstr ""
"Language: sl\n"
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n"
-#: app.php:285
+#: app.php:301
msgid "Help"
msgstr "PomoÄ"
-#: app.php:292
+#: app.php:308
msgid "Personal"
msgstr "Osebno"
-#: app.php:297
+#: app.php:313
msgid "Settings"
msgstr "Nastavitve"
-#: app.php:302
+#: app.php:318
msgid "Users"
msgstr "Uporabniki"
-#: app.php:309
+#: app.php:325
msgid "Apps"
msgstr "Programi"
-#: app.php:311
+#: app.php:327
msgid "Admin"
msgstr "Skrbništvo"
-#: files.php:361
+#: files.php:365
msgid "ZIP download is turned off."
msgstr "Prejem datotek ZIP je onemogoÄen."
-#: files.php:362
+#: files.php:366
msgid "Files need to be downloaded one by one."
msgstr "Datoteke je mogoÄe prejeti le posamiÄ."
-#: files.php:362 files.php:387
+#: files.php:366 files.php:391
msgid "Back to Files"
msgstr "Nazaj na datoteke"
-#: files.php:386
+#: files.php:390
msgid "Selected files too large to generate zip file."
msgstr "Izbrane datoteke so prevelike za ustvarjanje datoteke arhiva zip."
+#: helper.php:228
+msgid "couldn't be determined"
+msgstr ""
+
#: json.php:28
msgid "Application is not enabled"
msgstr "Program ni omogoÄen"
-#: json.php:39 json.php:64 json.php:77 json.php:89
+#: json.php:39 json.php:62 json.php:73
msgid "Authentication error"
msgstr "Napaka overitve"
@@ -83,55 +87,55 @@ msgstr "Besedilo"
msgid "Images"
msgstr "Slike"
-#: template.php:103
+#: template.php:113
msgid "seconds ago"
msgstr "pred nekaj sekundami"
-#: template.php:104
+#: template.php:114
msgid "1 minute ago"
msgstr "pred minuto"
-#: template.php:105
+#: template.php:115
#, php-format
msgid "%d minutes ago"
msgstr "pred %d minutami"
-#: template.php:106
+#: template.php:116
msgid "1 hour ago"
msgstr "Pred 1 uro"
-#: template.php:107
+#: template.php:117
#, php-format
msgid "%d hours ago"
msgstr "Pred %d urami"
-#: template.php:108
+#: template.php:118
msgid "today"
msgstr "danes"
-#: template.php:109
+#: template.php:119
msgid "yesterday"
msgstr "vÄeraj"
-#: template.php:110
+#: template.php:120
#, php-format
msgid "%d days ago"
msgstr "pred %d dnevi"
-#: template.php:111
+#: template.php:121
msgid "last month"
msgstr "prejšnji mesec"
-#: template.php:112
+#: template.php:122
#, php-format
msgid "%d months ago"
msgstr "Pred %d meseci"
-#: template.php:113
+#: template.php:123
msgid "last year"
msgstr "lani"
-#: template.php:114
+#: template.php:124
msgid "years ago"
msgstr "pred nekaj leti"
diff --git a/l10n/sl/settings.po b/l10n/sl/settings.po
index 9bf1d7498ab..4e336bf871a 100644
--- a/l10n/sl/settings.po
+++ b/l10n/sl/settings.po
@@ -5,14 +5,14 @@
# Translators:
# <>, 2012.
# <peter.perosa@gmail.com>, 2012.
-# Peter Peroša <peter.perosa@gmail.com>, 2012.
+# Peter Peroša <peter.perosa@gmail.com>, 2012-2013.
# <urossolar@hotmail.com>, 2011, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-21 00:10+0100\n"
-"PO-Revision-Date: 2012-12-19 23:20+0000\n"
+"POT-Creation-Date: 2013-01-12 00:09+0100\n"
+"PO-Revision-Date: 2013-01-11 23:09+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"
@@ -33,7 +33,7 @@ msgstr "Skupina že obstaja"
msgid "Unable to add group"
msgstr "Ni mogoÄe dodati skupine"
-#: ajax/enableapp.php:12
+#: ajax/enableapp.php:11
msgid "Could not enable app. "
msgstr "Programa ni mogoÄe omogoÄiti."
@@ -45,14 +45,6 @@ msgstr "Elektronski naslov je shranjen"
msgid "Invalid email"
msgstr "Neveljaven elektronski naslov"
-#: ajax/openid.php:13
-msgid "OpenID Changed"
-msgstr "OpenID je bil spremenjen"
-
-#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20
-msgid "Invalid request"
-msgstr "Neveljavna zahteva"
-
#: ajax/removegroup.php:13
msgid "Unable to delete group"
msgstr "Ni mogoÄe izbrisati skupine"
@@ -69,6 +61,10 @@ msgstr "Ni mogoÄe izbrisati uporabnika"
msgid "Language changed"
msgstr "Jezik je bil spremenjen"
+#: ajax/setlanguage.php:17 ajax/setlanguage.php:20
+msgid "Invalid request"
+msgstr "Neveljavna zahteva"
+
#: ajax/togglegroups.php:12
msgid "Admins can't remove themself from the admin group"
msgstr "Administratorji sebe ne morejo odstraniti iz skupine admin"
@@ -121,27 +117,27 @@ msgstr "<span class=\"licence\"></span>-z dovoljenjem s strani <span class=\"aut
#: templates/help.php:3
msgid "User Documentation"
-msgstr ""
+msgstr "Uporabniška dokumentacija"
#: templates/help.php:4
msgid "Administrator Documentation"
-msgstr ""
+msgstr "Administratorjeva dokumentacija"
#: templates/help.php:6
msgid "Online Documentation"
-msgstr ""
+msgstr "Spletna dokumentacija"
#: templates/help.php:7
msgid "Forum"
-msgstr ""
+msgstr "Forum"
#: templates/help.php:9
msgid "Bugtracker"
-msgstr ""
+msgstr "Sistem za sledenje napakam"
#: templates/help.php:11
msgid "Commercial Support"
-msgstr ""
+msgstr "Komercialna podpora"
#: templates/personal.php:8
#, php-format
@@ -154,17 +150,17 @@ msgstr "Stranka"
#: templates/personal.php:13
msgid "Download Desktop Clients"
-msgstr ""
+msgstr "Prenesi namizne odjemalce"
#: templates/personal.php:14
msgid "Download Android Client"
-msgstr ""
+msgstr "Prenesi Android odjemalec"
#: templates/personal.php:15
msgid "Download iOS Client"
-msgstr ""
+msgstr "Prenesi iOS odjemalec"
-#: templates/personal.php:21 templates/users.php:23 templates/users.php:77
+#: templates/personal.php:21 templates/users.php:23 templates/users.php:82
msgid "Password"
msgstr "Geslo"
@@ -214,15 +210,15 @@ msgstr "Pomagajte pri prevajanju"
#: templates/personal.php:52
msgid "WebDAV"
-msgstr ""
+msgstr "WebDAV"
#: templates/personal.php:54
msgid "Use this address to connect to your ownCloud in your file manager"
-msgstr ""
+msgstr "Uporabite ta naslov za povezavo do ownCloud v vašem upravljalniku datotek."
#: templates/personal.php:63
msgid "Version"
-msgstr ""
+msgstr "RazliÄica"
#: templates/personal.php:65
msgid ""
@@ -234,11 +230,11 @@ msgid ""
"License\">AGPL</abbr></a>."
msgstr "Programski paket razvija <a href=\"http://ownCloud.org/contact\" target=\"_blank\">skupnost ownCloud</a>. <a href=\"https://github.com/owncloud\" target=\"_blank\">Izvorna koda</a> je objavljena pod pogoji dovoljenja <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Splošno javno dovoljenje Affero\">AGPL</abbr></a>."
-#: templates/users.php:21 templates/users.php:76
+#: templates/users.php:21 templates/users.php:81
msgid "Name"
msgstr "Ime"
-#: templates/users.php:26 templates/users.php:78 templates/users.php:98
+#: templates/users.php:26 templates/users.php:83 templates/users.php:103
msgid "Groups"
msgstr "Skupine"
@@ -247,21 +243,29 @@ msgid "Create"
msgstr "Ustvari"
#: templates/users.php:35
-msgid "Default Quota"
-msgstr "Privzeta koliÄinska omejitev"
+msgid "Default Storage"
+msgstr "Privzeta shramba"
-#: templates/users.php:55 templates/users.php:138
+#: templates/users.php:42 templates/users.php:138
+msgid "Unlimited"
+msgstr "Neomejeno"
+
+#: templates/users.php:60 templates/users.php:153
msgid "Other"
msgstr "Drugo"
-#: templates/users.php:80 templates/users.php:112
+#: templates/users.php:85 templates/users.php:117
msgid "Group Admin"
msgstr "Skrbnik skupine"
-#: templates/users.php:82
-msgid "Quota"
-msgstr "KoliÄinska omejitev"
+#: templates/users.php:87
+msgid "Storage"
+msgstr "Shramba"
+
+#: templates/users.php:133
+msgid "Default"
+msgstr "Privzeto"
-#: templates/users.php:146
+#: templates/users.php:161
msgid "Delete"
msgstr "Izbriši"
diff --git a/l10n/sl/user_ldap.po b/l10n/sl/user_ldap.po
index d34b56f8c01..9671d69486e 100644
--- a/l10n/sl/user_ldap.po
+++ b/l10n/sl/user_ldap.po
@@ -9,9 +9,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-16 00:11+0100\n"
-"PO-Revision-Date: 2012-12-15 16:46+0000\n"
-"Last-Translator: Peter Peroša <peter.perosa@gmail.com>\n"
+"POT-Creation-Date: 2013-01-16 00:19+0100\n"
+"PO-Revision-Date: 2013-01-15 23:20+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -28,9 +28,9 @@ msgstr "<b>Opozorilo:</b> Aplikaciji user_ldap in user_webdavauth nista združlj
#: templates/settings.php:11
msgid ""
-"<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will"
-" not work. Please ask your system administrator to install it."
-msgstr "<b>Opozorilo:</b> PHP LDAP modul mora biti nameÅ¡Äen, sicer ta vmesnik ne bo deloval. Prosimo, prosite vaÅ¡ega skrbnika, Äe ga namesti."
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not "
+"work. Please ask your system administrator to install it."
+msgstr ""
#: templates/settings.php:15
msgid "Host"
@@ -46,6 +46,10 @@ msgid "Base DN"
msgstr "Osnovni DN"
#: templates/settings.php:16
+msgid "One Base DN per line"
+msgstr ""
+
+#: templates/settings.php:16
msgid "You can specify Base DN for users and groups in the Advanced tab"
msgstr "Osnovni DN za uporabnike in skupine lahko doloÄite v zavihku Napredno"
@@ -116,10 +120,18 @@ msgstr "Vrata"
msgid "Base User Tree"
msgstr "Osnovno uporabniško drevo"
+#: templates/settings.php:25
+msgid "One User Base DN per line"
+msgstr ""
+
#: templates/settings.php:26
msgid "Base Group Tree"
msgstr "Osnovno drevo skupine"
+#: templates/settings.php:26
+msgid "One Group Base DN per line"
+msgstr ""
+
#: templates/settings.php:27
msgid "Group-Member association"
msgstr "Povezava Älana skupine"
diff --git a/l10n/sl/user_webdavauth.po b/l10n/sl/user_webdavauth.po
index b5b34116c6f..05172dc5b95 100644
--- a/l10n/sl/user_webdavauth.po
+++ b/l10n/sl/user_webdavauth.po
@@ -3,13 +3,13 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
-# Peter Peroša <peter.perosa@gmail.com>, 2012.
+# Peter Peroša <peter.perosa@gmail.com>, 2012-2013.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-20 00:11+0100\n"
-"PO-Revision-Date: 2012-12-19 23:12+0000\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+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"
@@ -18,13 +18,17 @@ msgstr ""
"Language: sl\n"
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n"
+#: templates/settings.php:3
+msgid "WebDAV Authentication"
+msgstr ""
+
#: templates/settings.php:4
msgid "URL: http://"
-msgstr ""
+msgstr "URL: http://"
#: templates/settings.php:6
msgid ""
-"ownCloud will send the user credentials to this URL is interpret http 401 "
-"and http 403 as credentials wrong and all other codes as credentials "
-"correct."
+"ownCloud will send the user credentials to this URL. 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 ""
diff --git a/l10n/sq/core.po b/l10n/sq/core.po
index 994085414f7..4c77ff63f84 100644
--- a/l10n/sq/core.po
+++ b/l10n/sq/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: 2012-12-13 00:17+0100\n"
-"PO-Revision-Date: 2012-12-12 23:17+0000\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:03+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Albanian (http://www.transifex.com/projects/p/owncloud/language/sq/)\n"
"MIME-Version: 1.0\n"
@@ -83,55 +83,55 @@ msgstr ""
msgid "Settings"
msgstr ""
-#: js/js.js:704
+#: js/js.js:711
msgid "seconds ago"
msgstr ""
-#: js/js.js:705
+#: js/js.js:712
msgid "1 minute ago"
msgstr ""
-#: js/js.js:706
+#: js/js.js:713
msgid "{minutes} minutes ago"
msgstr ""
-#: js/js.js:707
+#: js/js.js:714
msgid "1 hour ago"
msgstr ""
-#: js/js.js:708
+#: js/js.js:715
msgid "{hours} hours ago"
msgstr ""
-#: js/js.js:709
+#: js/js.js:716
msgid "today"
msgstr ""
-#: js/js.js:710
+#: js/js.js:717
msgid "yesterday"
msgstr ""
-#: js/js.js:711
+#: js/js.js:718
msgid "{days} days ago"
msgstr ""
-#: js/js.js:712
+#: js/js.js:719
msgid "last month"
msgstr ""
-#: js/js.js:713
+#: js/js.js:720
msgid "{months} months ago"
msgstr ""
-#: js/js.js:714
+#: js/js.js:721
msgid "months ago"
msgstr ""
-#: js/js.js:715
+#: js/js.js:722
msgid "last year"
msgstr ""
-#: js/js.js:716
+#: js/js.js:723
msgid "years ago"
msgstr ""
@@ -161,8 +161,8 @@ msgid "The object type is not specified."
msgstr ""
#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136
-#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:541
-#: js/share.js:553
+#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:554
+#: js/share.js:566
msgid "Error"
msgstr ""
@@ -174,7 +174,7 @@ msgstr ""
msgid "The required file {file} is not installed!"
msgstr ""
-#: js/share.js:124 js/share.js:581
+#: js/share.js:124 js/share.js:594
msgid "Error while sharing"
msgstr ""
@@ -202,12 +202,11 @@ msgstr ""
msgid "Share with link"
msgstr ""
-#: js/share.js:164
+#: js/share.js:166
msgid "Password protect"
msgstr ""
-#: js/share.js:168 templates/installation.php:42 templates/login.php:24
-#: templates/verify.php:13
+#: js/share.js:168 templates/installation.php:44 templates/login.php:35
msgid "Password"
msgstr ""
@@ -271,23 +270,23 @@ msgstr ""
msgid "share"
msgstr ""
-#: js/share.js:353 js/share.js:528 js/share.js:530
+#: js/share.js:356 js/share.js:541
msgid "Password protected"
msgstr ""
-#: js/share.js:541
+#: js/share.js:554
msgid "Error unsetting expiration date"
msgstr ""
-#: js/share.js:553
+#: js/share.js:566
msgid "Error setting expiration date"
msgstr ""
-#: js/share.js:568
+#: js/share.js:581
msgid "Sending ..."
msgstr ""
-#: js/share.js:579
+#: js/share.js:592
msgid "Email sent"
msgstr ""
@@ -311,8 +310,8 @@ msgstr ""
msgid "Request failed!"
msgstr ""
-#: lostpassword/templates/lostpassword.php:11 templates/installation.php:38
-#: templates/login.php:20
+#: lostpassword/templates/lostpassword.php:11 templates/installation.php:39
+#: templates/login.php:28
msgid "Username"
msgstr ""
@@ -401,44 +400,44 @@ msgstr ""
msgid "Create an <strong>admin account</strong>"
msgstr ""
-#: templates/installation.php:48
+#: templates/installation.php:50
msgid "Advanced"
msgstr ""
-#: templates/installation.php:50
+#: templates/installation.php:52
msgid "Data folder"
msgstr ""
-#: templates/installation.php:57
+#: templates/installation.php:59
msgid "Configure the database"
msgstr ""
-#: templates/installation.php:62 templates/installation.php:73
-#: templates/installation.php:83 templates/installation.php:93
+#: templates/installation.php:64 templates/installation.php:75
+#: templates/installation.php:85 templates/installation.php:95
msgid "will be used"
msgstr ""
-#: templates/installation.php:105
+#: templates/installation.php:107
msgid "Database user"
msgstr ""
-#: templates/installation.php:109
+#: templates/installation.php:111
msgid "Database password"
msgstr ""
-#: templates/installation.php:113
+#: templates/installation.php:115
msgid "Database name"
msgstr ""
-#: templates/installation.php:121
+#: templates/installation.php:123
msgid "Database tablespace"
msgstr ""
-#: templates/installation.php:127
+#: templates/installation.php:129
msgid "Database host"
msgstr ""
-#: templates/installation.php:132
+#: templates/installation.php:134
msgid "Finish setup"
msgstr ""
@@ -526,36 +525,32 @@ msgstr ""
msgid "Log out"
msgstr ""
-#: templates/login.php:8
+#: templates/login.php:10
msgid "Automatic logon rejected!"
msgstr ""
-#: templates/login.php:9
+#: templates/login.php:11
msgid ""
"If you did not change your password recently, your account may be "
"compromised!"
msgstr ""
-#: templates/login.php:10
+#: templates/login.php:13
msgid "Please change your password to secure your account again."
msgstr ""
-#: templates/login.php:15
+#: templates/login.php:19
msgid "Lost your password?"
msgstr ""
-#: templates/login.php:27
+#: templates/login.php:39
msgid "remember"
msgstr ""
-#: templates/login.php:28
+#: templates/login.php:41
msgid "Log in"
msgstr ""
-#: templates/logout.php:1
-msgid "You are logged out."
-msgstr ""
-
#: templates/part.pagenavi.php:3
msgid "prev"
msgstr ""
@@ -564,16 +559,7 @@ msgstr ""
msgid "next"
msgstr ""
-#: templates/verify.php:5
-msgid "Security Warning!"
-msgstr ""
-
-#: templates/verify.php:6
-msgid ""
-"Please verify your password. <br/>For security reasons you may be "
-"occasionally asked to enter your password again."
-msgstr ""
-
-#: templates/verify.php:16
-msgid "Verify"
+#: templates/update.php:3
+#, php-format
+msgid "Updating ownCloud to version %s, this may take a while."
msgstr ""
diff --git a/l10n/sq/files.po b/l10n/sq/files.po
index c3bd0a63259..ea89733fef6 100644
--- a/l10n/sq/files.po
+++ b/l10n/sq/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: 2012-12-01 00:01+0100\n"
-"PO-Revision-Date: 2012-11-30 23:02+0000\n"
+"POT-Creation-Date: 2013-01-20 00:05+0100\n"
+"PO-Revision-Date: 2013-01-19 23:05+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Albanian (http://www.transifex.com/projects/p/owncloud/language/sq/)\n"
"MIME-Version: 1.0\n"
@@ -17,46 +17,77 @@ msgstr ""
"Language: sq\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+#: ajax/delete.php:28 ajax/getstoragestats.php:11 ajax/upload.php:17
+#: ajax/upload.php:76 templates/index.php:18
+msgid "Upload"
+msgstr ""
+
+#: ajax/move.php:17
+#, php-format
+msgid "Could not move %s - File with this name already exists"
+msgstr ""
+
+#: ajax/move.php:24
+#, php-format
+msgid "Could not move %s"
+msgstr ""
+
+#: ajax/rename.php:19
+msgid "Unable to rename file"
+msgstr ""
+
#: ajax/upload.php:20
+msgid "No file was uploaded. Unknown error"
+msgstr ""
+
+#: ajax/upload.php:30
msgid "There is no error, the file uploaded with success"
msgstr ""
-#: ajax/upload.php:21
+#: ajax/upload.php:31
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr ""
-#: ajax/upload.php:23
+#: ajax/upload.php:33
msgid ""
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
"the HTML form"
msgstr ""
-#: ajax/upload.php:25
+#: ajax/upload.php:35
msgid "The uploaded file was only partially uploaded"
msgstr ""
-#: ajax/upload.php:26
+#: ajax/upload.php:36
msgid "No file was uploaded"
msgstr ""
-#: ajax/upload.php:27
+#: ajax/upload.php:37
msgid "Missing a temporary folder"
msgstr ""
-#: ajax/upload.php:28
+#: ajax/upload.php:38
msgid "Failed to write to disk"
msgstr ""
+#: ajax/upload.php:57
+msgid "Not enough space available"
+msgstr ""
+
+#: ajax/upload.php:91
+msgid "Invalid directory."
+msgstr ""
+
#: appinfo/app.php:10
msgid "Files"
msgstr ""
-#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84
+#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
msgid "Unshare"
msgstr ""
-#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90
+#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
msgid "Delete"
msgstr ""
@@ -64,122 +95,136 @@ msgstr ""
msgid "Rename"
msgstr ""
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "{new_name} already exists"
msgstr ""
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "replace"
msgstr ""
-#: js/filelist.js:201
+#: js/filelist.js:205
msgid "suggest name"
msgstr ""
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "cancel"
msgstr ""
-#: js/filelist.js:250
+#: js/filelist.js:254
msgid "replaced {new_name}"
msgstr ""
-#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286
+#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
msgid "undo"
msgstr ""
-#: js/filelist.js:252
+#: js/filelist.js:256
msgid "replaced {new_name} with {old_name}"
msgstr ""
-#: js/filelist.js:284
+#: js/filelist.js:288
msgid "unshared {files}"
msgstr ""
-#: js/filelist.js:286
+#: js/filelist.js:290
msgid "deleted {files}"
msgstr ""
-#: js/files.js:33
+#: js/files.js:48
+msgid "'.' is an invalid file name."
+msgstr ""
+
+#: js/files.js:53
+msgid "File name cannot be empty."
+msgstr ""
+
+#: js/files.js:62
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr ""
-#: js/files.js:183
-msgid "generating ZIP-file, it may take some time."
+#: js/files.js:204
+msgid ""
+"Your download is being prepared. This might take some time if the files are "
+"big."
msgstr ""
-#: js/files.js:218
+#: js/files.js:242
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr ""
-#: js/files.js:218
+#: js/files.js:242
msgid "Upload Error"
msgstr ""
-#: js/files.js:235
+#: js/files.js:259
msgid "Close"
msgstr ""
-#: js/files.js:254 js/files.js:368 js/files.js:398
+#: js/files.js:278 js/files.js:397 js/files.js:431
msgid "Pending"
msgstr ""
-#: js/files.js:274
+#: js/files.js:298
msgid "1 file uploading"
msgstr ""
-#: js/files.js:277 js/files.js:331 js/files.js:346
+#: js/files.js:301 js/files.js:357 js/files.js:372
msgid "{count} files uploading"
msgstr ""
-#: js/files.js:349 js/files.js:382
+#: js/files.js:376 js/files.js:414
msgid "Upload cancelled."
msgstr ""
-#: js/files.js:451
+#: js/files.js:486
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr ""
-#: js/files.js:523
-msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud"
+#: js/files.js:559
+msgid "URL cannot be empty."
msgstr ""
-#: js/files.js:704
+#: js/files.js:565
+msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
+msgstr ""
+
+#: js/files.js:775
msgid "{count} files scanned"
msgstr ""
-#: js/files.js:712
+#: js/files.js:783
msgid "error while scanning"
msgstr ""
-#: js/files.js:785 templates/index.php:65
+#: js/files.js:857 templates/index.php:64
msgid "Name"
msgstr ""
-#: js/files.js:786 templates/index.php:76
+#: js/files.js:858 templates/index.php:75
msgid "Size"
msgstr ""
-#: js/files.js:787 templates/index.php:78
+#: js/files.js:859 templates/index.php:77
msgid "Modified"
msgstr ""
-#: js/files.js:814
+#: js/files.js:878
msgid "1 folder"
msgstr ""
-#: js/files.js:816
+#: js/files.js:880
msgid "{count} folders"
msgstr ""
-#: js/files.js:824
+#: js/files.js:888
msgid "1 file"
msgstr ""
-#: js/files.js:826
+#: js/files.js:890
msgid "{count} files"
msgstr ""
@@ -191,27 +236,27 @@ msgstr ""
msgid "Maximum upload size"
msgstr ""
-#: templates/admin.php:9
+#: templates/admin.php:10
msgid "max. possible: "
msgstr ""
-#: templates/admin.php:12
+#: templates/admin.php:15
msgid "Needed for multi-file and folder downloads."
msgstr ""
-#: templates/admin.php:14
+#: templates/admin.php:17
msgid "Enable ZIP-download"
msgstr ""
-#: templates/admin.php:17
+#: templates/admin.php:20
msgid "0 is unlimited"
msgstr ""
-#: templates/admin.php:19
+#: templates/admin.php:22
msgid "Maximum input size for ZIP files"
msgstr ""
-#: templates/admin.php:23
+#: templates/admin.php:26
msgid "Save"
msgstr ""
@@ -231,36 +276,32 @@ msgstr ""
msgid "From link"
msgstr ""
-#: templates/index.php:35
-msgid "Upload"
-msgstr ""
-
-#: templates/index.php:43
+#: templates/index.php:41
msgid "Cancel upload"
msgstr ""
-#: templates/index.php:57
+#: templates/index.php:56
msgid "Nothing in here. Upload something!"
msgstr ""
-#: templates/index.php:71
+#: templates/index.php:70
msgid "Download"
msgstr ""
-#: templates/index.php:103
+#: templates/index.php:102
msgid "Upload too large"
msgstr ""
-#: templates/index.php:105
+#: templates/index.php:104
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr ""
-#: templates/index.php:110
+#: templates/index.php:109
msgid "Files are being scanned, please wait."
msgstr ""
-#: templates/index.php:113
+#: templates/index.php:112
msgid "Current scanning"
msgstr ""
diff --git a/l10n/sq/files_versions.po b/l10n/sq/files_versions.po
index 97616a40636..5128bf7cf1b 100644
--- a/l10n/sq/files_versions.po
+++ b/l10n/sq/files_versions.po
@@ -7,9 +7,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-11-27 00:10+0100\n"
-"PO-Revision-Date: 2012-08-12 22:37+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Albanian (http://www.transifex.com/projects/p/owncloud/language/sq/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -17,22 +17,10 @@ msgstr ""
"Language: sq\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: js/settings-personal.js:31 templates/settings-personal.php:10
-msgid "Expire all versions"
-msgstr ""
-
#: js/versions.js:16
msgid "History"
msgstr ""
-#: templates/settings-personal.php:4
-msgid "Versions"
-msgstr ""
-
-#: templates/settings-personal.php:7
-msgid "This will delete all existing backup versions of your files"
-msgstr ""
-
#: templates/settings.php:3
msgid "Files Versioning"
msgstr ""
diff --git a/l10n/sq/lib.po b/l10n/sq/lib.po
index 431a0e3c621..ce2ab5c3311 100644
--- a/l10n/sq/lib.po
+++ b/l10n/sq/lib.po
@@ -7,9 +7,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-11-27 00:10+0100\n"
-"PO-Revision-Date: 2012-07-27 22:23+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2013-01-17 00:26+0100\n"
+"PO-Revision-Date: 2013-01-16 23:26+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Albanian (http://www.transifex.com/projects/p/owncloud/language/sq/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -17,51 +17,55 @@ msgstr ""
"Language: sq\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: app.php:285
+#: app.php:301
msgid "Help"
msgstr ""
-#: app.php:292
+#: app.php:308
msgid "Personal"
msgstr ""
-#: app.php:297
+#: app.php:313
msgid "Settings"
msgstr ""
-#: app.php:302
+#: app.php:318
msgid "Users"
msgstr ""
-#: app.php:309
+#: app.php:325
msgid "Apps"
msgstr ""
-#: app.php:311
+#: app.php:327
msgid "Admin"
msgstr ""
-#: files.php:361
+#: files.php:365
msgid "ZIP download is turned off."
msgstr ""
-#: files.php:362
+#: files.php:366
msgid "Files need to be downloaded one by one."
msgstr ""
-#: files.php:362 files.php:387
+#: files.php:366 files.php:391
msgid "Back to Files"
msgstr ""
-#: files.php:386
+#: files.php:390
msgid "Selected files too large to generate zip file."
msgstr ""
+#: helper.php:228
+msgid "couldn't be determined"
+msgstr ""
+
#: json.php:28
msgid "Application is not enabled"
msgstr ""
-#: json.php:39 json.php:64 json.php:77 json.php:89
+#: json.php:39 json.php:62 json.php:73
msgid "Authentication error"
msgstr ""
@@ -81,55 +85,55 @@ msgstr ""
msgid "Images"
msgstr ""
-#: template.php:103
+#: template.php:113
msgid "seconds ago"
msgstr ""
-#: template.php:104
+#: template.php:114
msgid "1 minute ago"
msgstr ""
-#: template.php:105
+#: template.php:115
#, php-format
msgid "%d minutes ago"
msgstr ""
-#: template.php:106
+#: template.php:116
msgid "1 hour ago"
msgstr ""
-#: template.php:107
+#: template.php:117
#, php-format
msgid "%d hours ago"
msgstr ""
-#: template.php:108
+#: template.php:118
msgid "today"
msgstr ""
-#: template.php:109
+#: template.php:119
msgid "yesterday"
msgstr ""
-#: template.php:110
+#: template.php:120
#, php-format
msgid "%d days ago"
msgstr ""
-#: template.php:111
+#: template.php:121
msgid "last month"
msgstr ""
-#: template.php:112
+#: template.php:122
#, php-format
msgid "%d months ago"
msgstr ""
-#: template.php:113
+#: template.php:123
msgid "last year"
msgstr ""
-#: template.php:114
+#: template.php:124
msgid "years ago"
msgstr ""
diff --git a/l10n/sq/settings.po b/l10n/sq/settings.po
index d5651cf5325..7d7d18a26f7 100644
--- a/l10n/sq/settings.po
+++ b/l10n/sq/settings.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-20 00:11+0100\n"
-"PO-Revision-Date: 2012-12-19 23:11+0000\n"
+"POT-Creation-Date: 2013-01-12 00:09+0100\n"
+"PO-Revision-Date: 2013-01-11 23:09+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Albanian (http://www.transifex.com/projects/p/owncloud/language/sq/)\n"
"MIME-Version: 1.0\n"
@@ -29,7 +29,7 @@ msgstr ""
msgid "Unable to add group"
msgstr ""
-#: ajax/enableapp.php:12
+#: ajax/enableapp.php:11
msgid "Could not enable app. "
msgstr ""
@@ -41,14 +41,6 @@ msgstr ""
msgid "Invalid email"
msgstr ""
-#: ajax/openid.php:13
-msgid "OpenID Changed"
-msgstr ""
-
-#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20
-msgid "Invalid request"
-msgstr ""
-
#: ajax/removegroup.php:13
msgid "Unable to delete group"
msgstr ""
@@ -65,6 +57,10 @@ msgstr ""
msgid "Language changed"
msgstr ""
+#: ajax/setlanguage.php:17 ajax/setlanguage.php:20
+msgid "Invalid request"
+msgstr ""
+
#: ajax/togglegroups.php:12
msgid "Admins can't remove themself from the admin group"
msgstr ""
@@ -160,7 +156,7 @@ msgstr ""
msgid "Download iOS Client"
msgstr ""
-#: templates/personal.php:21 templates/users.php:23 templates/users.php:77
+#: templates/personal.php:21 templates/users.php:23 templates/users.php:82
msgid "Password"
msgstr ""
@@ -230,11 +226,11 @@ msgid ""
"License\">AGPL</abbr></a>."
msgstr ""
-#: templates/users.php:21 templates/users.php:76
+#: templates/users.php:21 templates/users.php:81
msgid "Name"
msgstr ""
-#: templates/users.php:26 templates/users.php:78 templates/users.php:98
+#: templates/users.php:26 templates/users.php:83 templates/users.php:103
msgid "Groups"
msgstr ""
@@ -243,21 +239,29 @@ msgid "Create"
msgstr ""
#: templates/users.php:35
-msgid "Default Quota"
+msgid "Default Storage"
+msgstr ""
+
+#: templates/users.php:42 templates/users.php:138
+msgid "Unlimited"
msgstr ""
-#: templates/users.php:55 templates/users.php:138
+#: templates/users.php:60 templates/users.php:153
msgid "Other"
msgstr ""
-#: templates/users.php:80 templates/users.php:112
+#: templates/users.php:85 templates/users.php:117
msgid "Group Admin"
msgstr ""
-#: templates/users.php:82
-msgid "Quota"
+#: templates/users.php:87
+msgid "Storage"
+msgstr ""
+
+#: templates/users.php:133
+msgid "Default"
msgstr ""
-#: templates/users.php:146
+#: templates/users.php:161
msgid "Delete"
msgstr ""
diff --git a/l10n/sq/user_ldap.po b/l10n/sq/user_ldap.po
index 3c0afbd378a..4c54b0c5724 100644
--- a/l10n/sq/user_ldap.po
+++ b/l10n/sq/user_ldap.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-15 00:11+0100\n"
-"PO-Revision-Date: 2012-12-14 23:11+0000\n"
+"POT-Creation-Date: 2013-01-16 00:19+0100\n"
+"PO-Revision-Date: 2013-01-15 23:20+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Albanian (http://www.transifex.com/projects/p/owncloud/language/sq/)\n"
"MIME-Version: 1.0\n"
@@ -26,8 +26,8 @@ msgstr ""
#: templates/settings.php:11
msgid ""
-"<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will"
-" not work. Please ask your system administrator to install it."
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not "
+"work. Please ask your system administrator to install it."
msgstr ""
#: templates/settings.php:15
@@ -44,6 +44,10 @@ msgid "Base DN"
msgstr ""
#: templates/settings.php:16
+msgid "One Base DN per line"
+msgstr ""
+
+#: templates/settings.php:16
msgid "You can specify Base DN for users and groups in the Advanced tab"
msgstr ""
@@ -114,10 +118,18 @@ msgstr ""
msgid "Base User Tree"
msgstr ""
+#: templates/settings.php:25
+msgid "One User Base DN per line"
+msgstr ""
+
#: templates/settings.php:26
msgid "Base Group Tree"
msgstr ""
+#: templates/settings.php:26
+msgid "One Group Base DN per line"
+msgstr ""
+
#: templates/settings.php:27
msgid "Group-Member association"
msgstr ""
diff --git a/l10n/sq/user_webdavauth.po b/l10n/sq/user_webdavauth.po
index 132bf6829ad..1a2d007461b 100644
--- a/l10n/sq/user_webdavauth.po
+++ b/l10n/sq/user_webdavauth.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-20 00:11+0100\n"
-"PO-Revision-Date: 2012-12-19 23:12+0000\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Albanian (http://www.transifex.com/projects/p/owncloud/language/sq/)\n"
"MIME-Version: 1.0\n"
@@ -17,13 +17,17 @@ msgstr ""
"Language: sq\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+#: templates/settings.php:3
+msgid "WebDAV Authentication"
+msgstr ""
+
#: templates/settings.php:4
msgid "URL: http://"
msgstr ""
#: templates/settings.php:6
msgid ""
-"ownCloud will send the user credentials to this URL is interpret http 401 "
-"and http 403 as credentials wrong and all other codes as credentials "
-"correct."
+"ownCloud will send the user credentials to this URL. 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 ""
diff --git a/l10n/sr/core.po b/l10n/sr/core.po
index 9bf9f33c5e3..720d77429fd 100644
--- a/l10n/sr/core.po
+++ b/l10n/sr/core.po
@@ -3,16 +3,16 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
-# Ivan Petrović <ivan@ipplusstudio.com>, 2012.
+# Ivan Petrović <ivan@ipplusstudio.com>, 2012-2013.
# <marko@evizo.com>, 2012.
# Slobodan Terzić <githzerai06@gmail.com>, 2011, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-13 00:17+0100\n"
-"PO-Revision-Date: 2012-12-12 23:17+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-24 00:06+0100\n"
+"PO-Revision-Date: 2013-01-23 08:26+0000\n"
+"Last-Translator: Ivan Petrović <ivan@ipplusstudio.com>\n"
"Language-Team: Serbian (http://www.transifex.com/projects/p/owncloud/language/sr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -23,12 +23,12 @@ msgstr ""
#: ajax/share.php:84
#, php-format
msgid "User %s shared a file with you"
-msgstr ""
+msgstr "КориÑник %s дели Ñа вама датотеку"
#: ajax/share.php:86
#, php-format
msgid "User %s shared a folder with you"
-msgstr ""
+msgstr "КориÑник %s дели Ñа вама директоријум"
#: ajax/share.php:88
#, php-format
@@ -86,55 +86,55 @@ msgstr "Грешка приликом уклањања %s из омиљених"
msgid "Settings"
msgstr "Подешавања"
-#: js/js.js:704
+#: js/js.js:706
msgid "seconds ago"
msgstr "пре неколико Ñекунди"
-#: js/js.js:705
+#: js/js.js:707
msgid "1 minute ago"
msgstr "пре 1 минут"
-#: js/js.js:706
+#: js/js.js:708
msgid "{minutes} minutes ago"
msgstr "пре {minutes} минута"
-#: js/js.js:707
+#: js/js.js:709
msgid "1 hour ago"
msgstr "Пре једног Ñата"
-#: js/js.js:708
+#: js/js.js:710
msgid "{hours} hours ago"
msgstr "Пре {hours} Ñата (Ñати)"
-#: js/js.js:709
+#: js/js.js:711
msgid "today"
msgstr "данаÑ"
-#: js/js.js:710
+#: js/js.js:712
msgid "yesterday"
msgstr "јуче"
-#: js/js.js:711
+#: js/js.js:713
msgid "{days} days ago"
msgstr "пре {days} дана"
-#: js/js.js:712
+#: js/js.js:714
msgid "last month"
msgstr "прошлог меÑеца"
-#: js/js.js:713
+#: js/js.js:715
msgid "{months} months ago"
msgstr "Пре {months} меÑеца (меÑеци)"
-#: js/js.js:714
+#: js/js.js:716
msgid "months ago"
msgstr "меÑеци раније"
-#: js/js.js:715
+#: js/js.js:717
msgid "last year"
msgstr "прошле године"
-#: js/js.js:716
+#: js/js.js:718
msgid "years ago"
msgstr "година раније"
@@ -164,8 +164,8 @@ msgid "The object type is not specified."
msgstr "Ð’Ñ€Ñта објекта није подешена."
#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136
-#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:541
-#: js/share.js:553
+#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:554
+#: js/share.js:566
msgid "Error"
msgstr "Грешка"
@@ -177,7 +177,7 @@ msgstr "Име програма није унето."
msgid "The required file {file} is not installed!"
msgstr "Потребна датотека {file} није инÑталирана."
-#: js/share.js:124 js/share.js:581
+#: js/share.js:124 js/share.js:594
msgid "Error while sharing"
msgstr "Грешка у дељењу"
@@ -205,12 +205,11 @@ msgstr "Подели Ñа"
msgid "Share with link"
msgstr "Подели линк"
-#: js/share.js:164
+#: js/share.js:166
msgid "Password protect"
msgstr "Заштићено лозинком"
-#: js/share.js:168 templates/installation.php:42 templates/login.php:24
-#: templates/verify.php:13
+#: js/share.js:168 templates/installation.php:44 templates/login.php:35
msgid "Password"
msgstr "Лозинка"
@@ -220,7 +219,7 @@ msgstr ""
#: js/share.js:173
msgid "Send"
-msgstr ""
+msgstr "Пошаљи"
#: js/share.js:177
msgid "Set expiration date"
@@ -274,25 +273,25 @@ msgstr "обриши"
msgid "share"
msgstr "подели"
-#: js/share.js:353 js/share.js:528 js/share.js:530
+#: js/share.js:356 js/share.js:541
msgid "Password protected"
msgstr "Заштићено лозинком"
-#: js/share.js:541
+#: js/share.js:554
msgid "Error unsetting expiration date"
msgstr "Грешка код поништавања датума иÑтека"
-#: js/share.js:553
+#: js/share.js:566
msgid "Error setting expiration date"
msgstr "Грешка код поÑтављања датума иÑтека"
-#: js/share.js:568
+#: js/share.js:581
msgid "Sending ..."
-msgstr ""
+msgstr "Шаљем..."
-#: js/share.js:579
+#: js/share.js:592
msgid "Email sent"
-msgstr ""
+msgstr "Порука је поÑлата"
#: lostpassword/controller.php:47
msgid "ownCloud password reset"
@@ -314,8 +313,8 @@ msgstr "Захтев је поÑлат поштом."
msgid "Request failed!"
msgstr "Захтев одбијен!"
-#: lostpassword/templates/lostpassword.php:11 templates/installation.php:38
-#: templates/login.php:20
+#: lostpassword/templates/lostpassword.php:11 templates/installation.php:39
+#: templates/login.php:28
msgid "Username"
msgstr "КориÑничко име"
@@ -404,124 +403,124 @@ msgstr "Тренутно Ñу ваши подаци и датотеке доÑÑ‚
msgid "Create an <strong>admin account</strong>"
msgstr "Ðаправи <strong>админиÑтративни налог</strong>"
-#: templates/installation.php:48
+#: templates/installation.php:50
msgid "Advanced"
msgstr "Ðапредно"
-#: templates/installation.php:50
+#: templates/installation.php:52
msgid "Data folder"
msgstr "Фацикла података"
-#: templates/installation.php:57
+#: templates/installation.php:59
msgid "Configure the database"
msgstr "Подешавање базе"
-#: templates/installation.php:62 templates/installation.php:73
-#: templates/installation.php:83 templates/installation.php:93
+#: templates/installation.php:64 templates/installation.php:75
+#: templates/installation.php:85 templates/installation.php:95
msgid "will be used"
msgstr "ће бити коришћен"
-#: templates/installation.php:105
+#: templates/installation.php:107
msgid "Database user"
msgstr "КориÑник базе"
-#: templates/installation.php:109
+#: templates/installation.php:111
msgid "Database password"
msgstr "Лозинка базе"
-#: templates/installation.php:113
+#: templates/installation.php:115
msgid "Database name"
msgstr "Име базе"
-#: templates/installation.php:121
+#: templates/installation.php:123
msgid "Database tablespace"
msgstr "Радни проÑтор базе података"
-#: templates/installation.php:127
+#: templates/installation.php:129
msgid "Database host"
msgstr "Домаћин базе"
-#: templates/installation.php:132
+#: templates/installation.php:134
msgid "Finish setup"
msgstr "Заврши подешавање"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
+#: templates/layout.guest.php:15 templates/layout.user.php:17
msgid "Sunday"
msgstr "Ðедеља"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
+#: templates/layout.guest.php:15 templates/layout.user.php:17
msgid "Monday"
msgstr "Понедељак"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
+#: templates/layout.guest.php:15 templates/layout.user.php:17
msgid "Tuesday"
msgstr "Уторак"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
+#: templates/layout.guest.php:15 templates/layout.user.php:17
msgid "Wednesday"
msgstr "Среда"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
+#: templates/layout.guest.php:15 templates/layout.user.php:17
msgid "Thursday"
msgstr "Четвртак"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
+#: templates/layout.guest.php:15 templates/layout.user.php:17
msgid "Friday"
msgstr "Петак"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
+#: templates/layout.guest.php:15 templates/layout.user.php:17
msgid "Saturday"
msgstr "Субота"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "January"
msgstr "Јануар"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "February"
msgstr "Фебруар"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "March"
msgstr "Март"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "April"
msgstr "Ðприл"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "May"
msgstr "Мај"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "June"
msgstr "Јун"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "July"
msgstr "Јул"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "August"
msgstr "ÐвгуÑÑ‚"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "September"
msgstr "Септембар"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "October"
msgstr "Октобар"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "November"
msgstr "Ðовембар"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "December"
msgstr "Децембар"
-#: templates/layout.guest.php:42
+#: templates/layout.guest.php:41
msgid "web services under your control"
msgstr "веб ÑервиÑи под контролом"
@@ -529,36 +528,32 @@ msgstr "веб ÑервиÑи под контролом"
msgid "Log out"
msgstr "Одјава"
-#: templates/login.php:8
+#: templates/login.php:10
msgid "Automatic logon rejected!"
msgstr "ÐутоматÑка пријава је одбијена!"
-#: templates/login.php:9
+#: templates/login.php:11
msgid ""
"If you did not change your password recently, your account may be "
"compromised!"
msgstr "Ðко уÑкоро не промените лозинку ваш налог може бити компромитован!"
-#: templates/login.php:10
+#: templates/login.php:13
msgid "Please change your password to secure your account again."
msgstr "Промените лозинку да биÑте обезбедили налог."
-#: templates/login.php:15
+#: templates/login.php:19
msgid "Lost your password?"
msgstr "Изгубили Ñте лозинку?"
-#: templates/login.php:27
+#: templates/login.php:39
msgid "remember"
msgstr "упамти"
-#: templates/login.php:28
+#: templates/login.php:41
msgid "Log in"
msgstr "Пријава"
-#: templates/logout.php:1
-msgid "You are logged out."
-msgstr "Одјављени Ñте."
-
#: templates/part.pagenavi.php:3
msgid "prev"
msgstr "претходно"
@@ -567,16 +562,7 @@ msgstr "претходно"
msgid "next"
msgstr "Ñледеће"
-#: templates/verify.php:5
-msgid "Security Warning!"
-msgstr "СигурноÑно упозорење!"
-
-#: templates/verify.php:6
-msgid ""
-"Please verify your password. <br/>For security reasons you may be "
-"occasionally asked to enter your password again."
-msgstr "Потврдите лозинку. <br />Из ÑигурноÑних разлога затрежићемо вам да два пута унеÑете лозинку."
-
-#: templates/verify.php:16
-msgid "Verify"
-msgstr "Потврди"
+#: templates/update.php:3
+#, php-format
+msgid "Updating ownCloud to version %s, this may take a while."
+msgstr "Ðадоградња ownCloud-а на верзију %s, Ñачекајте тренутак."
diff --git a/l10n/sr/files.po b/l10n/sr/files.po
index 2eac1068a25..66e365482d7 100644
--- a/l10n/sr/files.po
+++ b/l10n/sr/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: 2012-12-02 00:02+0100\n"
-"PO-Revision-Date: 2012-12-01 18:27+0000\n"
-"Last-Translator: Rancher <theranchcowboy@gmail.com>\n"
+"POT-Creation-Date: 2013-01-20 00:05+0100\n"
+"PO-Revision-Date: 2013-01-19 23:05+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -20,46 +20,77 @@ msgstr ""
"Language: sr\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+#: ajax/delete.php:28 ajax/getstoragestats.php:11 ajax/upload.php:17
+#: ajax/upload.php:76 templates/index.php:18
+msgid "Upload"
+msgstr "Отпреми"
+
+#: ajax/move.php:17
+#, php-format
+msgid "Could not move %s - File with this name already exists"
+msgstr ""
+
+#: ajax/move.php:24
+#, php-format
+msgid "Could not move %s"
+msgstr ""
+
+#: ajax/rename.php:19
+msgid "Unable to rename file"
+msgstr ""
+
#: ajax/upload.php:20
+msgid "No file was uploaded. Unknown error"
+msgstr ""
+
+#: ajax/upload.php:30
msgid "There is no error, the file uploaded with success"
msgstr "Ðије дошло до грешке. Датотека је уÑпешно отпремљена."
-#: ajax/upload.php:21
+#: ajax/upload.php:31
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr "Отпремљена датотека прелази Ñмерницу upload_max_filesize у датотеци php.ini:"
-#: ajax/upload.php:23
+#: ajax/upload.php:33
msgid ""
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
"the HTML form"
msgstr "Отпремљена датотека прелази Ñмерницу MAX_FILE_SIZE која је наведена у HTML обраÑцу"
-#: ajax/upload.php:25
+#: ajax/upload.php:35
msgid "The uploaded file was only partially uploaded"
msgstr "Датотека је делимично отпремљена"
-#: ajax/upload.php:26
+#: ajax/upload.php:36
msgid "No file was uploaded"
msgstr "Датотека није отпремљена"
-#: ajax/upload.php:27
+#: ajax/upload.php:37
msgid "Missing a temporary folder"
msgstr "ÐедоÑтаје привремена фаÑцикла"
-#: ajax/upload.php:28
+#: ajax/upload.php:38
msgid "Failed to write to disk"
msgstr "Ðе могу да пишем на диÑк"
+#: ajax/upload.php:57
+msgid "Not enough space available"
+msgstr ""
+
+#: ajax/upload.php:91
+msgid "Invalid directory."
+msgstr ""
+
#: appinfo/app.php:10
msgid "Files"
msgstr "Датотеке"
-#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84
+#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
msgid "Unshare"
msgstr "Укини дељење"
-#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90
+#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
msgid "Delete"
msgstr "Обриши"
@@ -67,122 +98,136 @@ msgstr "Обриши"
msgid "Rename"
msgstr "Преименуј"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "{new_name} already exists"
msgstr "{new_name} већ поÑтоји"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "replace"
msgstr "замени"
-#: js/filelist.js:201
+#: js/filelist.js:205
msgid "suggest name"
msgstr "предложи назив"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "cancel"
msgstr "откажи"
-#: js/filelist.js:250
+#: js/filelist.js:254
msgid "replaced {new_name}"
msgstr "замењено {new_name}"
-#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286
+#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
msgid "undo"
msgstr "опозови"
-#: js/filelist.js:252
+#: js/filelist.js:256
msgid "replaced {new_name} with {old_name}"
msgstr "замењено {new_name} Ñа {old_name}"
-#: js/filelist.js:284
+#: js/filelist.js:288
msgid "unshared {files}"
msgstr "укинуто дељење {files}"
-#: js/filelist.js:286
+#: js/filelist.js:290
msgid "deleted {files}"
msgstr "обриÑано {files}"
-#: js/files.js:33
+#: js/files.js:48
+msgid "'.' is an invalid file name."
+msgstr ""
+
+#: js/files.js:53
+msgid "File name cannot be empty."
+msgstr ""
+
+#: js/files.js:62
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr "ÐеиÑправан назив. Следећи знакови ниÑу дозвољени: \\, /, <, >, :, \", |, ? и *."
-#: js/files.js:183
-msgid "generating ZIP-file, it may take some time."
-msgstr "правим ZIP датотеку…"
+#: js/files.js:204
+msgid ""
+"Your download is being prepared. This might take some time if the files are "
+"big."
+msgstr ""
-#: js/files.js:218
+#: js/files.js:242
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr "Ðе могу да отпремим датотеку као фаÑциклу или она има 0 бајтова"
-#: js/files.js:218
+#: js/files.js:242
msgid "Upload Error"
msgstr "Грешка при отпремању"
-#: js/files.js:235
+#: js/files.js:259
msgid "Close"
msgstr "Затвори"
-#: js/files.js:254 js/files.js:368 js/files.js:398
+#: js/files.js:278 js/files.js:397 js/files.js:431
msgid "Pending"
msgstr "Ðа чекању"
-#: js/files.js:274
+#: js/files.js:298
msgid "1 file uploading"
msgstr "Отпремам 1 датотеку"
-#: js/files.js:277 js/files.js:331 js/files.js:346
+#: js/files.js:301 js/files.js:357 js/files.js:372
msgid "{count} files uploading"
msgstr "Отпремам {count} датотеке/а"
-#: js/files.js:349 js/files.js:382
+#: js/files.js:376 js/files.js:414
msgid "Upload cancelled."
msgstr "Отпремање је прекинуто."
-#: js/files.js:451
+#: js/files.js:486
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr "Отпремање датотеке је у току. Ðко Ñада напуÑтите Ñтраницу, прекинућете отпремање."
-#: js/files.js:523
-msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud"
-msgstr "ÐеиÑправан назив фаÑцикле. „Дељено“ кориÑти Оунклауд."
+#: js/files.js:559
+msgid "URL cannot be empty."
+msgstr ""
+
+#: js/files.js:565
+msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
+msgstr ""
-#: js/files.js:704
+#: js/files.js:775
msgid "{count} files scanned"
msgstr "Скенирано датотека: {count}"
-#: js/files.js:712
+#: js/files.js:783
msgid "error while scanning"
msgstr "грешка при Ñкенирању"
-#: js/files.js:785 templates/index.php:65
+#: js/files.js:857 templates/index.php:64
msgid "Name"
msgstr "Ðазив"
-#: js/files.js:786 templates/index.php:76
+#: js/files.js:858 templates/index.php:75
msgid "Size"
msgstr "Величина"
-#: js/files.js:787 templates/index.php:78
+#: js/files.js:859 templates/index.php:77
msgid "Modified"
msgstr "Измењено"
-#: js/files.js:814
+#: js/files.js:878
msgid "1 folder"
msgstr "1 фаÑцикла"
-#: js/files.js:816
+#: js/files.js:880
msgid "{count} folders"
msgstr "{count} фаÑцикле/и"
-#: js/files.js:824
+#: js/files.js:888
msgid "1 file"
msgstr "1 датотека"
-#: js/files.js:826
+#: js/files.js:890
msgid "{count} files"
msgstr "{count} датотеке/а"
@@ -194,27 +239,27 @@ msgstr "Управљање датотекама"
msgid "Maximum upload size"
msgstr "Ðајвећа величина датотеке"
-#: templates/admin.php:9
+#: templates/admin.php:10
msgid "max. possible: "
msgstr "највећа величина:"
-#: templates/admin.php:12
+#: templates/admin.php:15
msgid "Needed for multi-file and folder downloads."
msgstr "Ðеопходно за преузимање вишеделних датотека и фаÑцикли."
-#: templates/admin.php:14
+#: templates/admin.php:17
msgid "Enable ZIP-download"
msgstr "Омогући преузимање у ZIP-у"
-#: templates/admin.php:17
+#: templates/admin.php:20
msgid "0 is unlimited"
msgstr "0 је неограничено"
-#: templates/admin.php:19
+#: templates/admin.php:22
msgid "Maximum input size for ZIP files"
msgstr "Ðајвећа величина ZIP датотека"
-#: templates/admin.php:23
+#: templates/admin.php:26
msgid "Save"
msgstr "Сачувај"
@@ -234,36 +279,32 @@ msgstr "фаÑцикла"
msgid "From link"
msgstr "Са везе"
-#: templates/index.php:35
-msgid "Upload"
-msgstr "Отпреми"
-
-#: templates/index.php:43
+#: templates/index.php:41
msgid "Cancel upload"
msgstr "Прекини отпремање"
-#: templates/index.php:57
+#: templates/index.php:56
msgid "Nothing in here. Upload something!"
msgstr "Овде нема ничег. Отпремите нешто!"
-#: templates/index.php:71
+#: templates/index.php:70
msgid "Download"
msgstr "Преузми"
-#: templates/index.php:103
+#: templates/index.php:102
msgid "Upload too large"
msgstr "Датотека је превелика"
-#: templates/index.php:105
+#: templates/index.php:104
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "Датотеке које желите да отпремите прелазе ограничење у величини."
-#: templates/index.php:110
+#: templates/index.php:109
msgid "Files are being scanned, please wait."
msgstr "Скенирам датотеке…"
-#: templates/index.php:113
+#: templates/index.php:112
msgid "Current scanning"
msgstr "Тренутно Ñкенирање"
diff --git a/l10n/sr/files_encryption.po b/l10n/sr/files_encryption.po
index a0a21dd2c84..7765fc06e6c 100644
--- a/l10n/sr/files_encryption.po
+++ b/l10n/sr/files_encryption.po
@@ -9,9 +9,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-05 00:04+0100\n"
-"PO-Revision-Date: 2012-12-04 15:06+0000\n"
-"Last-Translator: Kostic <marko@evizo.com>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -19,18 +19,66 @@ msgstr ""
"Language: sr\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "Шифровање"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "Ðе шифруј Ñледеће типове датотека"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "Ðишта"
-
-#: templates/settings.php:12
-msgid "Enable Encryption"
-msgstr "Омогући шифровање"
diff --git a/l10n/sr/files_sharing.po b/l10n/sr/files_sharing.po
index 36c9d0ac467..345fb947c11 100644
--- a/l10n/sr/files_sharing.po
+++ b/l10n/sr/files_sharing.po
@@ -7,9 +7,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-09-22 01:14+0200\n"
-"PO-Revision-Date: 2012-09-21 23:15+0000\n"
-"Last-Translator: I Robot <thomas.mueller@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-24 00:06+0100\n"
+"PO-Revision-Date: 2013-01-23 08:30+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -23,26 +23,26 @@ msgstr ""
#: templates/authenticate.php:6
msgid "Submit"
-msgstr ""
+msgstr "Пошаљи"
-#: templates/public.php:9
+#: templates/public.php:17
#, php-format
msgid "%s shared the folder %s with you"
msgstr ""
-#: templates/public.php:11
+#: templates/public.php:19
#, php-format
msgid "%s shared the file %s with you"
msgstr ""
-#: templates/public.php:14 templates/public.php:30
+#: templates/public.php:22 templates/public.php:38
msgid "Download"
msgstr ""
-#: templates/public.php:29
+#: templates/public.php:37
msgid "No preview available for"
msgstr ""
-#: templates/public.php:37
+#: templates/public.php:43
msgid "web services under your control"
msgstr ""
diff --git a/l10n/sr/files_versions.po b/l10n/sr/files_versions.po
index 592163313fc..7c031b84aa7 100644
--- a/l10n/sr/files_versions.po
+++ b/l10n/sr/files_versions.po
@@ -7,9 +7,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-09-22 01:14+0200\n"
-"PO-Revision-Date: 2012-09-21 23:15+0000\n"
-"Last-Translator: I Robot <thomas.mueller@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -17,22 +17,10 @@ msgstr ""
"Language: sr\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-#: js/settings-personal.js:31 templates/settings-personal.php:10
-msgid "Expire all versions"
-msgstr ""
-
#: js/versions.js:16
msgid "History"
msgstr ""
-#: templates/settings-personal.php:4
-msgid "Versions"
-msgstr ""
-
-#: templates/settings-personal.php:7
-msgid "This will delete all existing backup versions of your files"
-msgstr ""
-
#: templates/settings.php:3
msgid "Files Versioning"
msgstr ""
diff --git a/l10n/sr/lib.po b/l10n/sr/lib.po
index 0ffcb3e09d3..3b899eb0222 100644
--- a/l10n/sr/lib.po
+++ b/l10n/sr/lib.po
@@ -3,15 +3,15 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
-# Ivan Petrović <ivan@ipplusstudio.com>, 2012.
+# Ivan Petrović <ivan@ipplusstudio.com>, 2012-2013.
# <theranchcowboy@gmail.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-02 00:02+0100\n"
-"PO-Revision-Date: 2012-12-01 19:18+0000\n"
-"Last-Translator: Rancher <theranchcowboy@gmail.com>\n"
+"POT-Creation-Date: 2013-01-24 00:06+0100\n"
+"PO-Revision-Date: 2013-01-23 08:24+0000\n"
+"Last-Translator: Ivan Petrović <ivan@ipplusstudio.com>\n"
"Language-Team: Serbian (http://www.transifex.com/projects/p/owncloud/language/sr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -19,51 +19,55 @@ msgstr ""
"Language: sr\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-#: app.php:285
+#: app.php:301
msgid "Help"
msgstr "Помоћ"
-#: app.php:292
+#: app.php:308
msgid "Personal"
msgstr "Лично"
-#: app.php:297
+#: app.php:313
msgid "Settings"
msgstr "Подешавања"
-#: app.php:302
+#: app.php:318
msgid "Users"
msgstr "КориÑници"
-#: app.php:309
+#: app.php:325
msgid "Apps"
msgstr "Ðпликације"
-#: app.php:311
+#: app.php:327
msgid "Admin"
msgstr "ÐдминиÑтрација"
-#: files.php:361
+#: files.php:365
msgid "ZIP download is turned off."
msgstr "Преузимање ZIP-а је иÑкључено."
-#: files.php:362
+#: files.php:366
msgid "Files need to be downloaded one by one."
msgstr "Датотеке морате преузимати једну по једну."
-#: files.php:362 files.php:387
+#: files.php:366 files.php:391
msgid "Back to Files"
msgstr "Ðазад на датотеке"
-#: files.php:386
+#: files.php:390
msgid "Selected files too large to generate zip file."
msgstr "Изабране датотеке Ñу превелике да биÑте направили ZIP датотеку."
+#: helper.php:229
+msgid "couldn't be determined"
+msgstr "није одређено"
+
#: json.php:28
msgid "Application is not enabled"
msgstr "Ðпликација није омогућена"
-#: json.php:39 json.php:64 json.php:77 json.php:89
+#: json.php:39 json.php:62 json.php:73
msgid "Authentication error"
msgstr "Грешка при провери идентитета"
@@ -83,55 +87,55 @@ msgstr "ТекÑÑ‚"
msgid "Images"
msgstr "Слике"
-#: template.php:103
+#: template.php:113
msgid "seconds ago"
msgstr "пре неколико Ñекунди"
-#: template.php:104
+#: template.php:114
msgid "1 minute ago"
msgstr "пре 1 минут"
-#: template.php:105
+#: template.php:115
#, php-format
msgid "%d minutes ago"
msgstr "пре %d минута"
-#: template.php:106
+#: template.php:116
msgid "1 hour ago"
msgstr "пре 1 Ñат"
-#: template.php:107
+#: template.php:117
#, php-format
msgid "%d hours ago"
msgstr "пре %d Ñата/и"
-#: template.php:108
+#: template.php:118
msgid "today"
msgstr "данаÑ"
-#: template.php:109
+#: template.php:119
msgid "yesterday"
msgstr "јуче"
-#: template.php:110
+#: template.php:120
#, php-format
msgid "%d days ago"
msgstr "пре %d дана"
-#: template.php:111
+#: template.php:121
msgid "last month"
msgstr "прошлог меÑеца"
-#: template.php:112
+#: template.php:122
#, php-format
msgid "%d months ago"
msgstr "пре %d меÑеца/и"
-#: template.php:113
+#: template.php:123
msgid "last year"
msgstr "прошле године"
-#: template.php:114
+#: template.php:124
msgid "years ago"
msgstr "година раније"
diff --git a/l10n/sr/settings.po b/l10n/sr/settings.po
index e608c443bcc..dca5c1ac469 100644
--- a/l10n/sr/settings.po
+++ b/l10n/sr/settings.po
@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-21 00:10+0100\n"
-"PO-Revision-Date: 2012-12-19 23:20+0000\n"
+"POT-Creation-Date: 2013-01-12 00:09+0100\n"
+"PO-Revision-Date: 2013-01-11 23:09+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"
@@ -31,7 +31,7 @@ msgstr "Група већ поÑтоји"
msgid "Unable to add group"
msgstr "Ðе могу да додам групу"
-#: ajax/enableapp.php:12
+#: ajax/enableapp.php:11
msgid "Could not enable app. "
msgstr "Ðе могу да укључим програм"
@@ -43,14 +43,6 @@ msgstr "Е-порука Ñачувана"
msgid "Invalid email"
msgstr "ÐеиÑправна е-адреÑа"
-#: ajax/openid.php:13
-msgid "OpenID Changed"
-msgstr "OpenID је измењен"
-
-#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20
-msgid "Invalid request"
-msgstr "ÐеиÑправан захтев"
-
#: ajax/removegroup.php:13
msgid "Unable to delete group"
msgstr "Ðе могу да уклоним групу"
@@ -67,6 +59,10 @@ msgstr "Ðе могу да уклоним кориÑника"
msgid "Language changed"
msgstr "Језик је промењен"
+#: ajax/setlanguage.php:17 ajax/setlanguage.php:20
+msgid "Invalid request"
+msgstr "ÐеиÑправан захтев"
+
#: ajax/togglegroups.php:12
msgid "Admins can't remove themself from the admin group"
msgstr "Управници не могу Ñебе уклонити из админ групе"
@@ -162,7 +158,7 @@ msgstr ""
msgid "Download iOS Client"
msgstr ""
-#: templates/personal.php:21 templates/users.php:23 templates/users.php:77
+#: templates/personal.php:21 templates/users.php:23 templates/users.php:82
msgid "Password"
msgstr "Лозинка"
@@ -232,11 +228,11 @@ msgid ""
"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)\">ÐГПЛ лиценцом</abbr></a>."
-#: templates/users.php:21 templates/users.php:76
+#: templates/users.php:21 templates/users.php:81
msgid "Name"
msgstr "Име"
-#: templates/users.php:26 templates/users.php:78 templates/users.php:98
+#: templates/users.php:26 templates/users.php:83 templates/users.php:103
msgid "Groups"
msgstr "Групе"
@@ -245,21 +241,29 @@ msgid "Create"
msgstr "Ðаправи"
#: templates/users.php:35
-msgid "Default Quota"
-msgstr "Подразумевано ограничење"
+msgid "Default Storage"
+msgstr ""
+
+#: templates/users.php:42 templates/users.php:138
+msgid "Unlimited"
+msgstr ""
-#: templates/users.php:55 templates/users.php:138
+#: templates/users.php:60 templates/users.php:153
msgid "Other"
msgstr "Друго"
-#: templates/users.php:80 templates/users.php:112
+#: templates/users.php:85 templates/users.php:117
msgid "Group Admin"
msgstr "Управник групе"
-#: templates/users.php:82
-msgid "Quota"
-msgstr "Ограничење"
+#: templates/users.php:87
+msgid "Storage"
+msgstr ""
+
+#: templates/users.php:133
+msgid "Default"
+msgstr ""
-#: templates/users.php:146
+#: templates/users.php:161
msgid "Delete"
msgstr "Обриши"
diff --git a/l10n/sr/user_ldap.po b/l10n/sr/user_ldap.po
index 2af4aa92fab..00ff848a20a 100644
--- a/l10n/sr/user_ldap.po
+++ b/l10n/sr/user_ldap.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-15 00:11+0100\n"
-"PO-Revision-Date: 2012-12-14 23:11+0000\n"
+"POT-Creation-Date: 2013-01-18 00:03+0100\n"
+"PO-Revision-Date: 2013-01-17 21:57+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"
@@ -26,8 +26,8 @@ msgstr ""
#: templates/settings.php:11
msgid ""
-"<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will"
-" not work. Please ask your system administrator to install it."
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not "
+"work. Please ask your system administrator to install it."
msgstr ""
#: templates/settings.php:15
@@ -44,6 +44,10 @@ msgid "Base DN"
msgstr ""
#: templates/settings.php:16
+msgid "One Base DN per line"
+msgstr ""
+
+#: templates/settings.php:16
msgid "You can specify Base DN for users and groups in the Advanced tab"
msgstr ""
@@ -114,10 +118,18 @@ msgstr ""
msgid "Base User Tree"
msgstr ""
+#: templates/settings.php:25
+msgid "One User Base DN per line"
+msgstr ""
+
#: templates/settings.php:26
msgid "Base Group Tree"
msgstr ""
+#: templates/settings.php:26
+msgid "One Group Base DN per line"
+msgstr ""
+
#: templates/settings.php:27
msgid "Group-Member association"
msgstr ""
@@ -180,4 +192,4 @@ msgstr ""
#: templates/settings.php:39
msgid "Help"
-msgstr ""
+msgstr "Помоћ"
diff --git a/l10n/sr/user_webdavauth.po b/l10n/sr/user_webdavauth.po
index 914fb17354e..8e72a9d363a 100644
--- a/l10n/sr/user_webdavauth.po
+++ b/l10n/sr/user_webdavauth.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-20 00:11+0100\n"
-"PO-Revision-Date: 2012-12-19 23:12+0000\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+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"
@@ -17,13 +17,17 @@ msgstr ""
"Language: sr\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+#: templates/settings.php:3
+msgid "WebDAV Authentication"
+msgstr ""
+
#: templates/settings.php:4
msgid "URL: http://"
msgstr ""
#: templates/settings.php:6
msgid ""
-"ownCloud will send the user credentials to this URL is interpret http 401 "
-"and http 403 as credentials wrong and all other codes as credentials "
-"correct."
+"ownCloud will send the user credentials to this URL. 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 ""
diff --git a/l10n/sr@latin/core.po b/l10n/sr@latin/core.po
index d005ce30765..2cd55d70441 100644
--- a/l10n/sr@latin/core.po
+++ b/l10n/sr@latin/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: 2012-12-13 00:17+0100\n"
-"PO-Revision-Date: 2012-12-12 23:17+0000\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:03+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Serbian (Latin) (http://www.transifex.com/projects/p/owncloud/language/sr@latin/)\n"
"MIME-Version: 1.0\n"
@@ -84,55 +84,55 @@ msgstr ""
msgid "Settings"
msgstr "Podešavanja"
-#: js/js.js:704
+#: js/js.js:711
msgid "seconds ago"
msgstr ""
-#: js/js.js:705
+#: js/js.js:712
msgid "1 minute ago"
msgstr ""
-#: js/js.js:706
+#: js/js.js:713
msgid "{minutes} minutes ago"
msgstr ""
-#: js/js.js:707
+#: js/js.js:714
msgid "1 hour ago"
msgstr ""
-#: js/js.js:708
+#: js/js.js:715
msgid "{hours} hours ago"
msgstr ""
-#: js/js.js:709
+#: js/js.js:716
msgid "today"
msgstr ""
-#: js/js.js:710
+#: js/js.js:717
msgid "yesterday"
msgstr ""
-#: js/js.js:711
+#: js/js.js:718
msgid "{days} days ago"
msgstr ""
-#: js/js.js:712
+#: js/js.js:719
msgid "last month"
msgstr ""
-#: js/js.js:713
+#: js/js.js:720
msgid "{months} months ago"
msgstr ""
-#: js/js.js:714
+#: js/js.js:721
msgid "months ago"
msgstr ""
-#: js/js.js:715
+#: js/js.js:722
msgid "last year"
msgstr ""
-#: js/js.js:716
+#: js/js.js:723
msgid "years ago"
msgstr ""
@@ -162,8 +162,8 @@ msgid "The object type is not specified."
msgstr ""
#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136
-#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:541
-#: js/share.js:553
+#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:554
+#: js/share.js:566
msgid "Error"
msgstr ""
@@ -175,7 +175,7 @@ msgstr ""
msgid "The required file {file} is not installed!"
msgstr ""
-#: js/share.js:124 js/share.js:581
+#: js/share.js:124 js/share.js:594
msgid "Error while sharing"
msgstr ""
@@ -203,12 +203,11 @@ msgstr ""
msgid "Share with link"
msgstr ""
-#: js/share.js:164
+#: js/share.js:166
msgid "Password protect"
msgstr ""
-#: js/share.js:168 templates/installation.php:42 templates/login.php:24
-#: templates/verify.php:13
+#: js/share.js:168 templates/installation.php:44 templates/login.php:35
msgid "Password"
msgstr "Lozinka"
@@ -272,23 +271,23 @@ msgstr ""
msgid "share"
msgstr ""
-#: js/share.js:353 js/share.js:528 js/share.js:530
+#: js/share.js:356 js/share.js:541
msgid "Password protected"
msgstr ""
-#: js/share.js:541
+#: js/share.js:554
msgid "Error unsetting expiration date"
msgstr ""
-#: js/share.js:553
+#: js/share.js:566
msgid "Error setting expiration date"
msgstr ""
-#: js/share.js:568
+#: js/share.js:581
msgid "Sending ..."
msgstr ""
-#: js/share.js:579
+#: js/share.js:592
msgid "Email sent"
msgstr ""
@@ -312,8 +311,8 @@ msgstr ""
msgid "Request failed!"
msgstr ""
-#: lostpassword/templates/lostpassword.php:11 templates/installation.php:38
-#: templates/login.php:20
+#: lostpassword/templates/lostpassword.php:11 templates/installation.php:39
+#: templates/login.php:28
msgid "Username"
msgstr "KorisniÄko ime"
@@ -402,44 +401,44 @@ msgstr ""
msgid "Create an <strong>admin account</strong>"
msgstr "Napravi <strong>administrativni nalog</strong>"
-#: templates/installation.php:48
+#: templates/installation.php:50
msgid "Advanced"
msgstr "Napredno"
-#: templates/installation.php:50
+#: templates/installation.php:52
msgid "Data folder"
msgstr "Facikla podataka"
-#: templates/installation.php:57
+#: templates/installation.php:59
msgid "Configure the database"
msgstr "Podešavanje baze"
-#: templates/installation.php:62 templates/installation.php:73
-#: templates/installation.php:83 templates/installation.php:93
+#: templates/installation.php:64 templates/installation.php:75
+#: templates/installation.php:85 templates/installation.php:95
msgid "will be used"
msgstr "će biti korišćen"
-#: templates/installation.php:105
+#: templates/installation.php:107
msgid "Database user"
msgstr "Korisnik baze"
-#: templates/installation.php:109
+#: templates/installation.php:111
msgid "Database password"
msgstr "Lozinka baze"
-#: templates/installation.php:113
+#: templates/installation.php:115
msgid "Database name"
msgstr "Ime baze"
-#: templates/installation.php:121
+#: templates/installation.php:123
msgid "Database tablespace"
msgstr ""
-#: templates/installation.php:127
+#: templates/installation.php:129
msgid "Database host"
msgstr "Domaćin baze"
-#: templates/installation.php:132
+#: templates/installation.php:134
msgid "Finish setup"
msgstr "Završi podešavanje"
@@ -527,36 +526,32 @@ msgstr ""
msgid "Log out"
msgstr "Odjava"
-#: templates/login.php:8
+#: templates/login.php:10
msgid "Automatic logon rejected!"
msgstr ""
-#: templates/login.php:9
+#: templates/login.php:11
msgid ""
"If you did not change your password recently, your account may be "
"compromised!"
msgstr ""
-#: templates/login.php:10
+#: templates/login.php:13
msgid "Please change your password to secure your account again."
msgstr ""
-#: templates/login.php:15
+#: templates/login.php:19
msgid "Lost your password?"
msgstr "Izgubili ste lozinku?"
-#: templates/login.php:27
+#: templates/login.php:39
msgid "remember"
msgstr "upamti"
-#: templates/login.php:28
+#: templates/login.php:41
msgid "Log in"
msgstr ""
-#: templates/logout.php:1
-msgid "You are logged out."
-msgstr "Odjavljeni ste."
-
#: templates/part.pagenavi.php:3
msgid "prev"
msgstr "prethodno"
@@ -565,16 +560,7 @@ msgstr "prethodno"
msgid "next"
msgstr "sledeće"
-#: templates/verify.php:5
-msgid "Security Warning!"
-msgstr ""
-
-#: templates/verify.php:6
-msgid ""
-"Please verify your password. <br/>For security reasons you may be "
-"occasionally asked to enter your password again."
-msgstr ""
-
-#: templates/verify.php:16
-msgid "Verify"
+#: templates/update.php:3
+#, php-format
+msgid "Updating ownCloud to version %s, this may take a while."
msgstr ""
diff --git a/l10n/sr@latin/files.po b/l10n/sr@latin/files.po
index fbaee12094b..d9fd6727232 100644
--- a/l10n/sr@latin/files.po
+++ b/l10n/sr@latin/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: 2012-12-01 00:01+0100\n"
-"PO-Revision-Date: 2012-11-30 23:02+0000\n"
+"POT-Creation-Date: 2013-01-20 00:05+0100\n"
+"PO-Revision-Date: 2013-01-19 23:05+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Serbian (Latin) (http://www.transifex.com/projects/p/owncloud/language/sr@latin/)\n"
"MIME-Version: 1.0\n"
@@ -18,46 +18,77 @@ msgstr ""
"Language: sr@latin\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+#: ajax/delete.php:28 ajax/getstoragestats.php:11 ajax/upload.php:17
+#: ajax/upload.php:76 templates/index.php:18
+msgid "Upload"
+msgstr "Pošalji"
+
+#: ajax/move.php:17
+#, php-format
+msgid "Could not move %s - File with this name already exists"
+msgstr ""
+
+#: ajax/move.php:24
+#, php-format
+msgid "Could not move %s"
+msgstr ""
+
+#: ajax/rename.php:19
+msgid "Unable to rename file"
+msgstr ""
+
#: ajax/upload.php:20
+msgid "No file was uploaded. Unknown error"
+msgstr ""
+
+#: ajax/upload.php:30
msgid "There is no error, the file uploaded with success"
msgstr "Nema greške, fajl je uspešno poslat"
-#: ajax/upload.php:21
+#: ajax/upload.php:31
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr ""
-#: ajax/upload.php:23
+#: ajax/upload.php:33
msgid ""
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
"the HTML form"
msgstr "Poslati fajl prevazilazi direktivu MAX_FILE_SIZE koja je navedena u HTML formi"
-#: ajax/upload.php:25
+#: ajax/upload.php:35
msgid "The uploaded file was only partially uploaded"
msgstr "Poslati fajl je samo delimiÄno otpremljen!"
-#: ajax/upload.php:26
+#: ajax/upload.php:36
msgid "No file was uploaded"
msgstr "Nijedan fajl nije poslat"
-#: ajax/upload.php:27
+#: ajax/upload.php:37
msgid "Missing a temporary folder"
msgstr "Nedostaje privremena fascikla"
-#: ajax/upload.php:28
+#: ajax/upload.php:38
msgid "Failed to write to disk"
msgstr ""
+#: ajax/upload.php:57
+msgid "Not enough space available"
+msgstr ""
+
+#: ajax/upload.php:91
+msgid "Invalid directory."
+msgstr ""
+
#: appinfo/app.php:10
msgid "Files"
msgstr "Fajlovi"
-#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84
+#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
msgid "Unshare"
msgstr ""
-#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90
+#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
msgid "Delete"
msgstr "Obriši"
@@ -65,122 +96,136 @@ msgstr "Obriši"
msgid "Rename"
msgstr ""
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "{new_name} already exists"
msgstr ""
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "replace"
msgstr ""
-#: js/filelist.js:201
+#: js/filelist.js:205
msgid "suggest name"
msgstr ""
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "cancel"
msgstr ""
-#: js/filelist.js:250
+#: js/filelist.js:254
msgid "replaced {new_name}"
msgstr ""
-#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286
+#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
msgid "undo"
msgstr ""
-#: js/filelist.js:252
+#: js/filelist.js:256
msgid "replaced {new_name} with {old_name}"
msgstr ""
-#: js/filelist.js:284
+#: js/filelist.js:288
msgid "unshared {files}"
msgstr ""
-#: js/filelist.js:286
+#: js/filelist.js:290
msgid "deleted {files}"
msgstr ""
-#: js/files.js:33
+#: js/files.js:48
+msgid "'.' is an invalid file name."
+msgstr ""
+
+#: js/files.js:53
+msgid "File name cannot be empty."
+msgstr ""
+
+#: js/files.js:62
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr ""
-#: js/files.js:183
-msgid "generating ZIP-file, it may take some time."
+#: js/files.js:204
+msgid ""
+"Your download is being prepared. This might take some time if the files are "
+"big."
msgstr ""
-#: js/files.js:218
+#: js/files.js:242
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr ""
-#: js/files.js:218
+#: js/files.js:242
msgid "Upload Error"
msgstr ""
-#: js/files.js:235
+#: js/files.js:259
msgid "Close"
msgstr "Zatvori"
-#: js/files.js:254 js/files.js:368 js/files.js:398
+#: js/files.js:278 js/files.js:397 js/files.js:431
msgid "Pending"
msgstr ""
-#: js/files.js:274
+#: js/files.js:298
msgid "1 file uploading"
msgstr ""
-#: js/files.js:277 js/files.js:331 js/files.js:346
+#: js/files.js:301 js/files.js:357 js/files.js:372
msgid "{count} files uploading"
msgstr ""
-#: js/files.js:349 js/files.js:382
+#: js/files.js:376 js/files.js:414
msgid "Upload cancelled."
msgstr ""
-#: js/files.js:451
+#: js/files.js:486
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr ""
-#: js/files.js:523
-msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud"
+#: js/files.js:559
+msgid "URL cannot be empty."
msgstr ""
-#: js/files.js:704
+#: js/files.js:565
+msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
+msgstr ""
+
+#: js/files.js:775
msgid "{count} files scanned"
msgstr ""
-#: js/files.js:712
+#: js/files.js:783
msgid "error while scanning"
msgstr ""
-#: js/files.js:785 templates/index.php:65
+#: js/files.js:857 templates/index.php:64
msgid "Name"
msgstr "Ime"
-#: js/files.js:786 templates/index.php:76
+#: js/files.js:858 templates/index.php:75
msgid "Size"
msgstr "VeliÄina"
-#: js/files.js:787 templates/index.php:78
+#: js/files.js:859 templates/index.php:77
msgid "Modified"
msgstr "Zadnja izmena"
-#: js/files.js:814
+#: js/files.js:878
msgid "1 folder"
msgstr ""
-#: js/files.js:816
+#: js/files.js:880
msgid "{count} folders"
msgstr ""
-#: js/files.js:824
+#: js/files.js:888
msgid "1 file"
msgstr ""
-#: js/files.js:826
+#: js/files.js:890
msgid "{count} files"
msgstr ""
@@ -192,27 +237,27 @@ msgstr ""
msgid "Maximum upload size"
msgstr "Maksimalna veliÄina poÅ¡iljke"
-#: templates/admin.php:9
+#: templates/admin.php:10
msgid "max. possible: "
msgstr ""
-#: templates/admin.php:12
+#: templates/admin.php:15
msgid "Needed for multi-file and folder downloads."
msgstr ""
-#: templates/admin.php:14
+#: templates/admin.php:17
msgid "Enable ZIP-download"
msgstr ""
-#: templates/admin.php:17
+#: templates/admin.php:20
msgid "0 is unlimited"
msgstr ""
-#: templates/admin.php:19
+#: templates/admin.php:22
msgid "Maximum input size for ZIP files"
msgstr ""
-#: templates/admin.php:23
+#: templates/admin.php:26
msgid "Save"
msgstr "Snimi"
@@ -232,36 +277,32 @@ msgstr ""
msgid "From link"
msgstr ""
-#: templates/index.php:35
-msgid "Upload"
-msgstr "Pošalji"
-
-#: templates/index.php:43
+#: templates/index.php:41
msgid "Cancel upload"
msgstr ""
-#: templates/index.php:57
+#: templates/index.php:56
msgid "Nothing in here. Upload something!"
msgstr "Ovde nema niÄeg. PoÅ¡aljite neÅ¡to!"
-#: templates/index.php:71
+#: templates/index.php:70
msgid "Download"
msgstr "Preuzmi"
-#: templates/index.php:103
+#: templates/index.php:102
msgid "Upload too large"
msgstr "Pošiljka je prevelika"
-#: templates/index.php:105
+#: templates/index.php:104
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "Fajlovi koje želite da poÅ¡aljete prevazilaze ograniÄenje maksimalne veliÄine poÅ¡iljke na ovom serveru."
-#: templates/index.php:110
+#: templates/index.php:109
msgid "Files are being scanned, please wait."
msgstr ""
-#: templates/index.php:113
+#: templates/index.php:112
msgid "Current scanning"
msgstr ""
diff --git a/l10n/sr@latin/files_encryption.po b/l10n/sr@latin/files_encryption.po
index c6f3f5b636c..39f12cfb59b 100644
--- a/l10n/sr@latin/files_encryption.po
+++ b/l10n/sr@latin/files_encryption.po
@@ -7,28 +7,76 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-08-13 23:12+0200\n"
-"PO-Revision-Date: 2012-08-12 22:33+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Serbian (Latin) (http://www.transifex.com/projects/p/owncloud/language/sr@latin/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: sr@latin\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-#: templates/settings.php:3
-msgid "Encryption"
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
msgstr ""
-#: templates/settings.php:4
-msgid "Exclude the following file types from encryption"
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
msgstr ""
-#: templates/settings.php:5
-msgid "None"
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
msgstr ""
#: templates/settings.php:10
-msgid "Enable Encryption"
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
+msgid "Encryption"
+msgstr ""
+
+#: templates/settings.php:67
+msgid "Exclude the following file types from encryption"
+msgstr ""
+
+#: templates/settings.php:71
+msgid "None"
msgstr ""
diff --git a/l10n/sr@latin/files_versions.po b/l10n/sr@latin/files_versions.po
index 1f2db94b8ad..a35cd43237b 100644
--- a/l10n/sr@latin/files_versions.po
+++ b/l10n/sr@latin/files_versions.po
@@ -7,9 +7,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-09-22 01:14+0200\n"
-"PO-Revision-Date: 2012-09-21 23:15+0000\n"
-"Last-Translator: I Robot <thomas.mueller@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:03+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Serbian (Latin) (http://www.transifex.com/projects/p/owncloud/language/sr@latin/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -17,22 +17,10 @@ msgstr ""
"Language: sr@latin\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-#: js/settings-personal.js:31 templates/settings-personal.php:10
-msgid "Expire all versions"
-msgstr ""
-
#: js/versions.js:16
msgid "History"
msgstr ""
-#: templates/settings-personal.php:4
-msgid "Versions"
-msgstr ""
-
-#: templates/settings-personal.php:7
-msgid "This will delete all existing backup versions of your files"
-msgstr ""
-
#: templates/settings.php:3
msgid "Files Versioning"
msgstr ""
diff --git a/l10n/sr@latin/lib.po b/l10n/sr@latin/lib.po
index edcbb0203e2..264724c0911 100644
--- a/l10n/sr@latin/lib.po
+++ b/l10n/sr@latin/lib.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-11-16 00:02+0100\n"
-"PO-Revision-Date: 2012-11-14 23:13+0000\n"
+"POT-Creation-Date: 2013-01-17 00:26+0100\n"
+"PO-Revision-Date: 2013-01-16 23:26+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Serbian (Latin) (http://www.transifex.com/projects/p/owncloud/language/sr@latin/)\n"
"MIME-Version: 1.0\n"
@@ -17,51 +17,55 @@ msgstr ""
"Language: sr@latin\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-#: app.php:285
+#: app.php:301
msgid "Help"
msgstr "Pomoć"
-#: app.php:292
+#: app.php:308
msgid "Personal"
msgstr "LiÄno"
-#: app.php:297
+#: app.php:313
msgid "Settings"
msgstr "Podešavanja"
-#: app.php:302
+#: app.php:318
msgid "Users"
msgstr "Korisnici"
-#: app.php:309
+#: app.php:325
msgid "Apps"
msgstr ""
-#: app.php:311
+#: app.php:327
msgid "Admin"
msgstr ""
-#: files.php:332
+#: files.php:365
msgid "ZIP download is turned off."
msgstr ""
-#: files.php:333
+#: files.php:366
msgid "Files need to be downloaded one by one."
msgstr ""
-#: files.php:333 files.php:358
+#: files.php:366 files.php:391
msgid "Back to Files"
msgstr ""
-#: files.php:357
+#: files.php:390
msgid "Selected files too large to generate zip file."
msgstr ""
+#: helper.php:228
+msgid "couldn't be determined"
+msgstr ""
+
#: json.php:28
msgid "Application is not enabled"
msgstr ""
-#: json.php:39 json.php:64 json.php:77 json.php:89
+#: json.php:39 json.php:62 json.php:73
msgid "Authentication error"
msgstr "Greška pri autentifikaciji"
@@ -81,55 +85,55 @@ msgstr "Tekst"
msgid "Images"
msgstr ""
-#: template.php:103
+#: template.php:113
msgid "seconds ago"
msgstr ""
-#: template.php:104
+#: template.php:114
msgid "1 minute ago"
msgstr ""
-#: template.php:105
+#: template.php:115
#, php-format
msgid "%d minutes ago"
msgstr ""
-#: template.php:106
+#: template.php:116
msgid "1 hour ago"
msgstr ""
-#: template.php:107
+#: template.php:117
#, php-format
msgid "%d hours ago"
msgstr ""
-#: template.php:108
+#: template.php:118
msgid "today"
msgstr ""
-#: template.php:109
+#: template.php:119
msgid "yesterday"
msgstr ""
-#: template.php:110
+#: template.php:120
#, php-format
msgid "%d days ago"
msgstr ""
-#: template.php:111
+#: template.php:121
msgid "last month"
msgstr ""
-#: template.php:112
+#: template.php:122
#, php-format
msgid "%d months ago"
msgstr ""
-#: template.php:113
+#: template.php:123
msgid "last year"
msgstr ""
-#: template.php:114
+#: template.php:124
msgid "years ago"
msgstr ""
diff --git a/l10n/sr@latin/settings.po b/l10n/sr@latin/settings.po
index 1fa664360e9..c11e3c37bfb 100644
--- a/l10n/sr@latin/settings.po
+++ b/l10n/sr@latin/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: 2012-12-21 00:10+0100\n"
-"PO-Revision-Date: 2012-12-19 23:20+0000\n"
+"POT-Creation-Date: 2013-01-12 00:09+0100\n"
+"PO-Revision-Date: 2013-01-11 23:09+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Serbian (Latin) (http://www.transifex.com/projects/p/owncloud/language/sr@latin/)\n"
"MIME-Version: 1.0\n"
@@ -30,7 +30,7 @@ msgstr ""
msgid "Unable to add group"
msgstr ""
-#: ajax/enableapp.php:12
+#: ajax/enableapp.php:11
msgid "Could not enable app. "
msgstr ""
@@ -42,14 +42,6 @@ msgstr ""
msgid "Invalid email"
msgstr ""
-#: ajax/openid.php:13
-msgid "OpenID Changed"
-msgstr "OpenID je izmenjen"
-
-#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20
-msgid "Invalid request"
-msgstr "Neispravan zahtev"
-
#: ajax/removegroup.php:13
msgid "Unable to delete group"
msgstr ""
@@ -66,6 +58,10 @@ msgstr ""
msgid "Language changed"
msgstr "Jezik je izmenjen"
+#: ajax/setlanguage.php:17 ajax/setlanguage.php:20
+msgid "Invalid request"
+msgstr "Neispravan zahtev"
+
#: ajax/togglegroups.php:12
msgid "Admins can't remove themself from the admin group"
msgstr ""
@@ -161,7 +157,7 @@ msgstr ""
msgid "Download iOS Client"
msgstr ""
-#: templates/personal.php:21 templates/users.php:23 templates/users.php:77
+#: templates/personal.php:21 templates/users.php:23 templates/users.php:82
msgid "Password"
msgstr "Lozinka"
@@ -231,11 +227,11 @@ msgid ""
"License\">AGPL</abbr></a>."
msgstr ""
-#: templates/users.php:21 templates/users.php:76
+#: templates/users.php:21 templates/users.php:81
msgid "Name"
msgstr "Ime"
-#: templates/users.php:26 templates/users.php:78 templates/users.php:98
+#: templates/users.php:26 templates/users.php:83 templates/users.php:103
msgid "Groups"
msgstr "Grupe"
@@ -244,21 +240,29 @@ msgid "Create"
msgstr "Napravi"
#: templates/users.php:35
-msgid "Default Quota"
+msgid "Default Storage"
+msgstr ""
+
+#: templates/users.php:42 templates/users.php:138
+msgid "Unlimited"
msgstr ""
-#: templates/users.php:55 templates/users.php:138
+#: templates/users.php:60 templates/users.php:153
msgid "Other"
msgstr "Drugo"
-#: templates/users.php:80 templates/users.php:112
+#: templates/users.php:85 templates/users.php:117
msgid "Group Admin"
msgstr ""
-#: templates/users.php:82
-msgid "Quota"
+#: templates/users.php:87
+msgid "Storage"
+msgstr ""
+
+#: templates/users.php:133
+msgid "Default"
msgstr ""
-#: templates/users.php:146
+#: templates/users.php:161
msgid "Delete"
msgstr "Obriši"
diff --git a/l10n/sr@latin/user_ldap.po b/l10n/sr@latin/user_ldap.po
index 47549f334d5..c78635ad495 100644
--- a/l10n/sr@latin/user_ldap.po
+++ b/l10n/sr@latin/user_ldap.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-15 00:11+0100\n"
-"PO-Revision-Date: 2012-12-14 23:11+0000\n"
+"POT-Creation-Date: 2013-01-18 00:03+0100\n"
+"PO-Revision-Date: 2013-01-17 21:57+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Serbian (Latin) (http://www.transifex.com/projects/p/owncloud/language/sr@latin/)\n"
"MIME-Version: 1.0\n"
@@ -26,8 +26,8 @@ msgstr ""
#: templates/settings.php:11
msgid ""
-"<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will"
-" not work. Please ask your system administrator to install it."
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not "
+"work. Please ask your system administrator to install it."
msgstr ""
#: templates/settings.php:15
@@ -44,6 +44,10 @@ msgid "Base DN"
msgstr ""
#: templates/settings.php:16
+msgid "One Base DN per line"
+msgstr ""
+
+#: templates/settings.php:16
msgid "You can specify Base DN for users and groups in the Advanced tab"
msgstr ""
@@ -114,10 +118,18 @@ msgstr ""
msgid "Base User Tree"
msgstr ""
+#: templates/settings.php:25
+msgid "One User Base DN per line"
+msgstr ""
+
#: templates/settings.php:26
msgid "Base Group Tree"
msgstr ""
+#: templates/settings.php:26
+msgid "One Group Base DN per line"
+msgstr ""
+
#: templates/settings.php:27
msgid "Group-Member association"
msgstr ""
@@ -180,4 +192,4 @@ msgstr ""
#: templates/settings.php:39
msgid "Help"
-msgstr ""
+msgstr "Pomoć"
diff --git a/l10n/sr@latin/user_webdavauth.po b/l10n/sr@latin/user_webdavauth.po
index 9fe7b885a10..246116723c6 100644
--- a/l10n/sr@latin/user_webdavauth.po
+++ b/l10n/sr@latin/user_webdavauth.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-20 00:11+0100\n"
-"PO-Revision-Date: 2012-12-19 23:12+0000\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Serbian (Latin) (http://www.transifex.com/projects/p/owncloud/language/sr@latin/)\n"
"MIME-Version: 1.0\n"
@@ -17,13 +17,17 @@ msgstr ""
"Language: sr@latin\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+#: templates/settings.php:3
+msgid "WebDAV Authentication"
+msgstr ""
+
#: templates/settings.php:4
msgid "URL: http://"
msgstr ""
#: templates/settings.php:6
msgid ""
-"ownCloud will send the user credentials to this URL is interpret http 401 "
-"and http 403 as credentials wrong and all other codes as credentials "
-"correct."
+"ownCloud will send the user credentials to this URL. 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 ""
diff --git a/l10n/sv/core.po b/l10n/sv/core.po
index ec20f3de3d6..799ca43b10b 100644
--- a/l10n/sv/core.po
+++ b/l10n/sv/core.po
@@ -6,16 +6,16 @@
# Christer Eriksson <post@hc3web.com>, 2012.
# Daniel Sandman <revoltism@gmail.com>, 2012.
# <hakan.thn@gmail.com>, 2011.
-# Magnus Höglund <magnus@linux.com>, 2012.
+# Magnus Höglund <magnus@linux.com>, 2012-2013.
# <magnus@linux.com>, 2012.
# <revoltism@gmail.com>, 2011, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-26 00:11+0100\n"
-"PO-Revision-Date: 2012-12-25 08:10+0000\n"
-"Last-Translator: Magnus Höglund <magnus@linux.com>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:03+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -89,55 +89,55 @@ msgstr "Fel vid borttagning av %s från favoriter."
msgid "Settings"
msgstr "Inställningar"
-#: js/js.js:704
+#: js/js.js:711
msgid "seconds ago"
msgstr "sekunder sedan"
-#: js/js.js:705
+#: js/js.js:712
msgid "1 minute ago"
msgstr "1 minut sedan"
-#: js/js.js:706
+#: js/js.js:713
msgid "{minutes} minutes ago"
msgstr "{minutes} minuter sedan"
-#: js/js.js:707
+#: js/js.js:714
msgid "1 hour ago"
msgstr "1 timme sedan"
-#: js/js.js:708
+#: js/js.js:715
msgid "{hours} hours ago"
msgstr "{hours} timmar sedan"
-#: js/js.js:709
+#: js/js.js:716
msgid "today"
msgstr "i dag"
-#: js/js.js:710
+#: js/js.js:717
msgid "yesterday"
msgstr "i går"
-#: js/js.js:711
+#: js/js.js:718
msgid "{days} days ago"
msgstr "{days} dagar sedan"
-#: js/js.js:712
+#: js/js.js:719
msgid "last month"
msgstr "förra månaden"
-#: js/js.js:713
+#: js/js.js:720
msgid "{months} months ago"
msgstr "{months} månader sedan"
-#: js/js.js:714
+#: js/js.js:721
msgid "months ago"
msgstr "månader sedan"
-#: js/js.js:715
+#: js/js.js:722
msgid "last year"
msgstr "förra året"
-#: js/js.js:716
+#: js/js.js:723
msgid "years ago"
msgstr "Ã¥r sedan"
@@ -213,7 +213,6 @@ msgid "Password protect"
msgstr "Lösenordsskydda"
#: js/share.js:168 templates/installation.php:44 templates/login.php:35
-#: templates/verify.php:13
msgid "Password"
msgstr "Lösenord"
@@ -558,10 +557,6 @@ msgstr "kom ihåg"
msgid "Log in"
msgstr "Logga in"
-#: templates/logout.php:1
-msgid "You are logged out."
-msgstr "Du är utloggad."
-
#: templates/part.pagenavi.php:3
msgid "prev"
msgstr "föregående"
@@ -570,16 +565,7 @@ msgstr "föregående"
msgid "next"
msgstr "nästa"
-#: templates/verify.php:5
-msgid "Security Warning!"
-msgstr "Säkerhetsvarning!"
-
-#: templates/verify.php:6
-msgid ""
-"Please verify your password. <br/>For security reasons you may be "
-"occasionally asked to enter your password again."
-msgstr "Bekräfta ditt lösenord. <br/>Av säkerhetsskäl kan du ibland bli ombedd att ange ditt lösenord igen."
-
-#: templates/verify.php:16
-msgid "Verify"
-msgstr "Verifiera"
+#: templates/update.php:3
+#, php-format
+msgid "Updating ownCloud to version %s, this may take a while."
+msgstr "Uppdaterar ownCloud till version %s, detta kan ta en stund."
diff --git a/l10n/sv/files.po b/l10n/sv/files.po
index 7c197ea6056..4dc201683ef 100644
--- a/l10n/sv/files.po
+++ b/l10n/sv/files.po
@@ -5,7 +5,7 @@
# Translators:
# Christer Eriksson <post@hc3web.com>, 2012.
# Daniel Sandman <revoltism@gmail.com>, 2012.
-# Magnus Höglund <magnus@linux.com>, 2012.
+# Magnus Höglund <magnus@linux.com>, 2012-2013.
# <magnus@linux.com>, 2012.
# <revoltism@gmail.com>, 2011, 2012.
# <tscooter@hotmail.com>, 2012.
@@ -13,8 +13,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-04 00:06+0100\n"
-"PO-Revision-Date: 2012-12-03 19:45+0000\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-21 14:36+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"
@@ -23,46 +23,77 @@ msgstr ""
"Language: sv\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+#: ajax/delete.php:28 ajax/getstoragestats.php:11 ajax/upload.php:17
+#: ajax/upload.php:76 templates/index.php:18
+msgid "Upload"
+msgstr "Ladda upp"
+
+#: ajax/move.php:17
+#, php-format
+msgid "Could not move %s - File with this name already exists"
+msgstr "Kunde inte flytta %s - Det finns redan en fil med detta namn"
+
+#: ajax/move.php:24
+#, php-format
+msgid "Could not move %s"
+msgstr "Kan inte flytta %s"
+
+#: ajax/rename.php:19
+msgid "Unable to rename file"
+msgstr "Kan inte byta namn på filen"
+
#: ajax/upload.php:20
+msgid "No file was uploaded. Unknown error"
+msgstr "Ingen fil uppladdad. Okänt fel"
+
+#: ajax/upload.php:30
msgid "There is no error, the file uploaded with success"
msgstr "Inga fel uppstod. Filen laddades upp utan problem"
-#: ajax/upload.php:21
+#: ajax/upload.php:31
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr "Den uppladdade filen överskrider upload_max_filesize direktivet php.ini:"
-#: ajax/upload.php:23
+#: ajax/upload.php:33
msgid ""
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
"the HTML form"
msgstr "Den uppladdade filen överstiger MAX_FILE_SIZE direktivet som anges i HTML-formulär"
-#: ajax/upload.php:25
+#: ajax/upload.php:35
msgid "The uploaded file was only partially uploaded"
msgstr "Den uppladdade filen var endast delvis uppladdad"
-#: ajax/upload.php:26
+#: ajax/upload.php:36
msgid "No file was uploaded"
msgstr "Ingen fil blev uppladdad"
-#: ajax/upload.php:27
+#: ajax/upload.php:37
msgid "Missing a temporary folder"
msgstr "Saknar en tillfällig mapp"
-#: ajax/upload.php:28
+#: ajax/upload.php:38
msgid "Failed to write to disk"
msgstr "Misslyckades spara till disk"
+#: ajax/upload.php:57
+msgid "Not enough space available"
+msgstr "Inte tillräckligt med utrymme tillgängligt"
+
+#: ajax/upload.php:91
+msgid "Invalid directory."
+msgstr "Felaktig mapp."
+
#: appinfo/app.php:10
msgid "Files"
msgstr "Filer"
-#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84
+#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
msgid "Unshare"
msgstr "Sluta dela"
-#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90
+#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
msgid "Delete"
msgstr "Radera"
@@ -70,122 +101,136 @@ msgstr "Radera"
msgid "Rename"
msgstr "Byt namn"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "{new_name} already exists"
msgstr "{new_name} finns redan"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "replace"
msgstr "ersätt"
-#: js/filelist.js:201
+#: js/filelist.js:205
msgid "suggest name"
msgstr "föreslå namn"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "cancel"
msgstr "avbryt"
-#: js/filelist.js:250
+#: js/filelist.js:254
msgid "replaced {new_name}"
msgstr "ersatt {new_name}"
-#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286
+#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
msgid "undo"
msgstr "Ã¥ngra"
-#: js/filelist.js:252
+#: js/filelist.js:256
msgid "replaced {new_name} with {old_name}"
msgstr "ersatt {new_name} med {old_name}"
-#: js/filelist.js:284
+#: js/filelist.js:288
msgid "unshared {files}"
msgstr "stoppad delning {files}"
-#: js/filelist.js:286
+#: js/filelist.js:290
msgid "deleted {files}"
msgstr "raderade {files}"
-#: js/files.js:33
+#: js/files.js:48
+msgid "'.' is an invalid file name."
+msgstr "'.' är ett ogiltigt filnamn."
+
+#: js/files.js:53
+msgid "File name cannot be empty."
+msgstr "Filnamn kan inte vara tomt."
+
+#: js/files.js:62
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr "Ogiltigt namn, '\\', '/', '<', '>', ':', '\"', '|', '?' och '*' är inte tillåtet."
-#: js/files.js:183
-msgid "generating ZIP-file, it may take some time."
-msgstr "genererar ZIP-fil, det kan ta lite tid."
+#: js/files.js:204
+msgid ""
+"Your download is being prepared. This might take some time if the files are "
+"big."
+msgstr "Din nedladdning förbereds. Det kan ta tid om det är stora filer."
-#: js/files.js:218
+#: js/files.js:242
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr "Kunde inte ladda upp dina filer eftersom det antingen är en mapp eller har 0 bytes."
-#: js/files.js:218
+#: js/files.js:242
msgid "Upload Error"
msgstr "Uppladdningsfel"
-#: js/files.js:235
+#: js/files.js:259
msgid "Close"
msgstr "Stäng"
-#: js/files.js:254 js/files.js:368 js/files.js:398
+#: js/files.js:278 js/files.js:397 js/files.js:431
msgid "Pending"
msgstr "Väntar"
-#: js/files.js:274
+#: js/files.js:298
msgid "1 file uploading"
msgstr "1 filuppladdning"
-#: js/files.js:277 js/files.js:331 js/files.js:346
+#: js/files.js:301 js/files.js:357 js/files.js:372
msgid "{count} files uploading"
msgstr "{count} filer laddas upp"
-#: js/files.js:349 js/files.js:382
+#: js/files.js:376 js/files.js:414
msgid "Upload cancelled."
msgstr "Uppladdning avbruten."
-#: js/files.js:451
+#: js/files.js:486
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr "Filuppladdning pågår. Lämnar du sidan så avbryts uppladdningen."
-#: js/files.js:523
-msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud"
-msgstr "Ogiltigt mappnamn. Ordet \"Delad\" är reserverat av ownCloud."
+#: js/files.js:559
+msgid "URL cannot be empty."
+msgstr "URL kan inte vara tom."
-#: js/files.js:704
+#: js/files.js:565
+msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
+msgstr "Ogiltigt mappnamn. Användande av 'Shared' är reserverat av ownCloud"
+
+#: js/files.js:775
msgid "{count} files scanned"
msgstr "{count} filer skannade"
-#: js/files.js:712
+#: js/files.js:783
msgid "error while scanning"
msgstr "fel vid skanning"
-#: js/files.js:785 templates/index.php:65
+#: js/files.js:857 templates/index.php:64
msgid "Name"
msgstr "Namn"
-#: js/files.js:786 templates/index.php:76
+#: js/files.js:858 templates/index.php:75
msgid "Size"
msgstr "Storlek"
-#: js/files.js:787 templates/index.php:78
+#: js/files.js:859 templates/index.php:77
msgid "Modified"
msgstr "Ändrad"
-#: js/files.js:814
+#: js/files.js:878
msgid "1 folder"
msgstr "1 mapp"
-#: js/files.js:816
+#: js/files.js:880
msgid "{count} folders"
msgstr "{count} mappar"
-#: js/files.js:824
+#: js/files.js:888
msgid "1 file"
msgstr "1 fil"
-#: js/files.js:826
+#: js/files.js:890
msgid "{count} files"
msgstr "{count} filer"
@@ -197,27 +242,27 @@ msgstr "Filhantering"
msgid "Maximum upload size"
msgstr "Maximal storlek att ladda upp"
-#: templates/admin.php:9
+#: templates/admin.php:10
msgid "max. possible: "
msgstr "max. möjligt:"
-#: templates/admin.php:12
+#: templates/admin.php:15
msgid "Needed for multi-file and folder downloads."
msgstr "Krävs för nerladdning av flera mappar och filer."
-#: templates/admin.php:14
+#: templates/admin.php:17
msgid "Enable ZIP-download"
msgstr "Aktivera ZIP-nerladdning"
-#: templates/admin.php:17
+#: templates/admin.php:20
msgid "0 is unlimited"
msgstr "0 är oändligt"
-#: templates/admin.php:19
+#: templates/admin.php:22
msgid "Maximum input size for ZIP files"
msgstr "Största tillåtna storlek för ZIP-filer"
-#: templates/admin.php:23
+#: templates/admin.php:26
msgid "Save"
msgstr "Spara"
@@ -237,36 +282,32 @@ msgstr "Mapp"
msgid "From link"
msgstr "Från länk"
-#: templates/index.php:35
-msgid "Upload"
-msgstr "Ladda upp"
-
-#: templates/index.php:43
+#: templates/index.php:41
msgid "Cancel upload"
msgstr "Avbryt uppladdning"
-#: templates/index.php:57
+#: templates/index.php:56
msgid "Nothing in here. Upload something!"
msgstr "Ingenting här. Ladda upp något!"
-#: templates/index.php:71
+#: templates/index.php:70
msgid "Download"
msgstr "Ladda ner"
-#: templates/index.php:103
+#: templates/index.php:102
msgid "Upload too large"
msgstr "För stor uppladdning"
-#: templates/index.php:105
+#: templates/index.php:104
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:110
+#: templates/index.php:109
msgid "Files are being scanned, please wait."
msgstr "Filer skannas, var god vänta"
-#: templates/index.php:113
+#: templates/index.php:112
msgid "Current scanning"
msgstr "Aktuell skanning"
diff --git a/l10n/sv/files_encryption.po b/l10n/sv/files_encryption.po
index 42165069483..cb599b8ee0c 100644
--- a/l10n/sv/files_encryption.po
+++ b/l10n/sv/files_encryption.po
@@ -3,33 +3,81 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
-# Magnus Höglund <magnus@linux.com>, 2012.
+# Magnus Höglund <magnus@linux.com>, 2012-2013.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-08-13 23:12+0200\n"
-"PO-Revision-Date: 2012-08-13 10:20+0000\n"
+"POT-Creation-Date: 2013-01-25 00:05+0100\n"
+"PO-Revision-Date: 2013-01-24 20:45+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"
"Content-Transfer-Encoding: 8bit\n"
"Language: sv\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr "Vänligen växla till ownCloud klienten och ändra ditt krypteringslösenord för att slutföra omvandlingen."
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr "Bytte till kryptering på klientsidan"
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr "Ändra krypteringslösenord till loginlösenord"
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr "Kontrollera dina lösenord och försök igen."
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr "Kunde inte ändra ditt filkrypteringslösenord till ditt loginlösenord"
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr "Välj krypteringsläge:"
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr "Kryptering på klientsidan (säkraste men gör det omöjligt att komma åt dina filer med en webbläsare)"
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr "Kryptering på serversidan (kan komma åt dina filer från webbläsare och datorklient)"
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr "Ingen (ingen kryptering alls)"
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr "Viktigt: När du har valt ett krypteringsläge finns det inget sätt att ändra tillbaka"
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr "Användarspecifik (låter användaren bestämma)"
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "Kryptering"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "Exkludera följande filtyper från kryptering"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "Ingen"
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "Aktivera kryptering"
diff --git a/l10n/sv/files_versions.po b/l10n/sv/files_versions.po
index a926036b892..5f3d273b389 100644
--- a/l10n/sv/files_versions.po
+++ b/l10n/sv/files_versions.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-09-24 02:01+0200\n"
-"PO-Revision-Date: 2012-09-23 11:20+0000\n"
-"Last-Translator: Magnus Höglund <magnus@linux.com>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:03+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,22 +18,10 @@ msgstr ""
"Language: sv\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: js/settings-personal.js:31 templates/settings-personal.php:10
-msgid "Expire all versions"
-msgstr "Upphör alla versioner"
-
#: js/versions.js:16
msgid "History"
msgstr "Historik"
-#: templates/settings-personal.php:4
-msgid "Versions"
-msgstr "Versioner"
-
-#: templates/settings-personal.php:7
-msgid "This will delete all existing backup versions of your files"
-msgstr "Detta kommer att radera alla befintliga säkerhetskopior av dina filer"
-
#: templates/settings.php:3
msgid "Files Versioning"
msgstr "Versionshantering av filer"
diff --git a/l10n/sv/lib.po b/l10n/sv/lib.po
index 548f7a84d4c..3fea987f13f 100644
--- a/l10n/sv/lib.po
+++ b/l10n/sv/lib.po
@@ -3,14 +3,14 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
-# Magnus Höglund <magnus@linux.com>, 2012.
+# Magnus Höglund <magnus@linux.com>, 2012-2013.
# <magnus@linux.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-11-16 00:02+0100\n"
-"PO-Revision-Date: 2012-11-15 07:21+0000\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-21 14:32+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"
@@ -19,51 +19,55 @@ msgstr ""
"Language: sv\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: app.php:285
+#: app.php:301
msgid "Help"
msgstr "Hjälp"
-#: app.php:292
+#: app.php:308
msgid "Personal"
msgstr "Personligt"
-#: app.php:297
+#: app.php:313
msgid "Settings"
msgstr "Inställningar"
-#: app.php:302
+#: app.php:318
msgid "Users"
msgstr "Användare"
-#: app.php:309
+#: app.php:325
msgid "Apps"
msgstr "Program"
-#: app.php:311
+#: app.php:327
msgid "Admin"
msgstr "Admin"
-#: files.php:332
+#: files.php:365
msgid "ZIP download is turned off."
msgstr "Nerladdning av ZIP är avstängd."
-#: files.php:333
+#: files.php:366
msgid "Files need to be downloaded one by one."
msgstr "Filer laddas ner en åt gången."
-#: files.php:333 files.php:358
+#: files.php:366 files.php:391
msgid "Back to Files"
msgstr "Tillbaka till Filer"
-#: files.php:357
+#: files.php:390
msgid "Selected files too large to generate zip file."
msgstr "Valda filer är för stora för att skapa zip-fil."
+#: helper.php:229
+msgid "couldn't be determined"
+msgstr "kunde inte bestämmas"
+
#: json.php:28
msgid "Application is not enabled"
msgstr "Applikationen är inte aktiverad"
-#: json.php:39 json.php:64 json.php:77 json.php:89
+#: json.php:39 json.php:62 json.php:73
msgid "Authentication error"
msgstr "Fel vid autentisering"
@@ -83,55 +87,55 @@ msgstr "Text"
msgid "Images"
msgstr "Bilder"
-#: template.php:103
+#: template.php:113
msgid "seconds ago"
msgstr "sekunder sedan"
-#: template.php:104
+#: template.php:114
msgid "1 minute ago"
msgstr "1 minut sedan"
-#: template.php:105
+#: template.php:115
#, php-format
msgid "%d minutes ago"
msgstr "%d minuter sedan"
-#: template.php:106
+#: template.php:116
msgid "1 hour ago"
msgstr "1 timme sedan"
-#: template.php:107
+#: template.php:117
#, php-format
msgid "%d hours ago"
msgstr "%d timmar sedan"
-#: template.php:108
+#: template.php:118
msgid "today"
msgstr "idag"
-#: template.php:109
+#: template.php:119
msgid "yesterday"
msgstr "igår"
-#: template.php:110
+#: template.php:120
#, php-format
msgid "%d days ago"
msgstr "%d dagar sedan"
-#: template.php:111
+#: template.php:121
msgid "last month"
msgstr "förra månaden"
-#: template.php:112
+#: template.php:122
#, php-format
msgid "%d months ago"
msgstr "%d månader sedan"
-#: template.php:113
+#: template.php:123
msgid "last year"
msgstr "förra året"
-#: template.php:114
+#: template.php:124
msgid "years ago"
msgstr "Ã¥r sedan"
diff --git a/l10n/sv/settings.po b/l10n/sv/settings.po
index 93565b09c2e..b51b40b3425 100644
--- a/l10n/sv/settings.po
+++ b/l10n/sv/settings.po
@@ -8,15 +8,16 @@
# <hakan.thn@gmail.com>, 2011.
# Magnus Höglund <magnus@linux.com>, 2012.
# <magnus@linux.com>, 2012.
+# <q@xnq.me>, 2012.
# <revoltism@gmail.com>, 2011, 2012.
# <tscooter@hotmail.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-26 00:11+0100\n"
-"PO-Revision-Date: 2012-12-25 07:58+0000\n"
-"Last-Translator: Magnus Höglund <magnus@linux.com>\n"
+"POT-Creation-Date: 2013-01-12 00:09+0100\n"
+"PO-Revision-Date: 2013-01-11 23:09+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -36,7 +37,7 @@ msgstr "Gruppen finns redan"
msgid "Unable to add group"
msgstr "Kan inte lägga till grupp"
-#: ajax/enableapp.php:12
+#: ajax/enableapp.php:11
msgid "Could not enable app. "
msgstr "Kunde inte aktivera appen."
@@ -48,14 +49,6 @@ msgstr "E-post sparad"
msgid "Invalid email"
msgstr "Ogiltig e-post"
-#: ajax/openid.php:13
-msgid "OpenID Changed"
-msgstr "OpenID ändrat"
-
-#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20
-msgid "Invalid request"
-msgstr "Ogiltig begäran"
-
#: ajax/removegroup.php:13
msgid "Unable to delete group"
msgstr "Kan inte radera grupp"
@@ -72,6 +65,10 @@ msgstr "Kan inte radera användare"
msgid "Language changed"
msgstr "Språk ändrades"
+#: ajax/setlanguage.php:17 ajax/setlanguage.php:20
+msgid "Invalid request"
+msgstr "Ogiltig begäran"
+
#: ajax/togglegroups.php:12
msgid "Admins can't remove themself from the admin group"
msgstr "Administratörer kan inte ta bort sig själva från admingruppen"
@@ -167,7 +164,7 @@ msgstr "Ladda ner klient för Android"
msgid "Download iOS Client"
msgstr "Ladda ner klient för iOS"
-#: templates/personal.php:21 templates/users.php:23 templates/users.php:77
+#: templates/personal.php:21 templates/users.php:23 templates/users.php:82
msgid "Password"
msgstr "Lösenord"
@@ -237,11 +234,11 @@ msgid ""
"License\">AGPL</abbr></a>."
msgstr "Utvecklad av <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud kommunity</a>, <a href=\"https://github.com/owncloud\" target=\"_blank\">källkoden</a> är licenserad under <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>."
-#: templates/users.php:21 templates/users.php:76
+#: templates/users.php:21 templates/users.php:81
msgid "Name"
msgstr "Namn"
-#: templates/users.php:26 templates/users.php:78 templates/users.php:98
+#: templates/users.php:26 templates/users.php:83 templates/users.php:103
msgid "Groups"
msgstr "Grupper"
@@ -250,21 +247,29 @@ msgid "Create"
msgstr "Skapa"
#: templates/users.php:35
-msgid "Default Quota"
-msgstr "Förvald datakvot"
+msgid "Default Storage"
+msgstr "Förvald lagring"
-#: templates/users.php:55 templates/users.php:138
+#: templates/users.php:42 templates/users.php:138
+msgid "Unlimited"
+msgstr "Obegränsad"
+
+#: templates/users.php:60 templates/users.php:153
msgid "Other"
msgstr "Annat"
-#: templates/users.php:80 templates/users.php:112
+#: templates/users.php:85 templates/users.php:117
msgid "Group Admin"
msgstr "Gruppadministratör"
-#: templates/users.php:82
-msgid "Quota"
-msgstr "Kvot"
+#: templates/users.php:87
+msgid "Storage"
+msgstr "Lagring"
+
+#: templates/users.php:133
+msgid "Default"
+msgstr "Förvald"
-#: templates/users.php:146
+#: templates/users.php:161
msgid "Delete"
msgstr "Radera"
diff --git a/l10n/sv/user_ldap.po b/l10n/sv/user_ldap.po
index 76ca9c76224..4455df0fb2f 100644
--- a/l10n/sv/user_ldap.po
+++ b/l10n/sv/user_ldap.po
@@ -3,13 +3,13 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
-# Magnus Höglund <magnus@linux.com>, 2012.
+# Magnus Höglund <magnus@linux.com>, 2012-2013.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-18 00:13+0100\n"
-"PO-Revision-Date: 2012-12-17 19:54+0000\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-21 15:10+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"
@@ -27,9 +27,9 @@ msgstr "<b>Varning:</b> Apps user_ldap och user_webdavauth är inkompatibla. OvÃ
#: templates/settings.php:11
msgid ""
-"<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will"
-" not work. Please ask your system administrator to install it."
-msgstr "<b>Varning:</b> PHP LDAP-modulen måste vara installerad, serversidan kommer inte att fungera. Be din systemadministratör att installera den."
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not "
+"work. Please ask your system administrator to install it."
+msgstr "<b>Varning:</b> PHP LDAP - modulen är inte installerad, serversidan kommer inte att fungera. Kontakta din systemadministratör för installation."
#: templates/settings.php:15
msgid "Host"
@@ -45,6 +45,10 @@ msgid "Base DN"
msgstr "Start DN"
#: templates/settings.php:16
+msgid "One Base DN per line"
+msgstr "Ett Start DN per rad"
+
+#: templates/settings.php:16
msgid "You can specify Base DN for users and groups in the Advanced tab"
msgstr "Du kan ange start DN för användare och grupper under fliken Avancerat"
@@ -115,10 +119,18 @@ msgstr "Port"
msgid "Base User Tree"
msgstr "Bas för användare i katalogtjänst"
+#: templates/settings.php:25
+msgid "One User Base DN per line"
+msgstr "En Användare start DN per rad"
+
#: templates/settings.php:26
msgid "Base Group Tree"
msgstr "Bas för grupper i katalogtjänst"
+#: templates/settings.php:26
+msgid "One Group Base DN per line"
+msgstr "En Grupp start DN per rad"
+
#: templates/settings.php:27
msgid "Group-Member association"
msgstr "Attribut för gruppmedlemmar"
diff --git a/l10n/sv/user_webdavauth.po b/l10n/sv/user_webdavauth.po
index b2063cd23bc..98475a8bd97 100644
--- a/l10n/sv/user_webdavauth.po
+++ b/l10n/sv/user_webdavauth.po
@@ -3,13 +3,13 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
-# Magnus Höglund <magnus@linux.com>, 2012.
+# Magnus Höglund <magnus@linux.com>, 2012-2013.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-26 00:10+0100\n"
-"PO-Revision-Date: 2012-12-25 08:03+0000\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-21 15:25+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"
@@ -18,13 +18,17 @@ msgstr ""
"Language: sv\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+#: templates/settings.php:3
+msgid "WebDAV Authentication"
+msgstr "WebDAV Autentisering"
+
#: templates/settings.php:4
msgid "URL: http://"
msgstr "URL: http://"
#: templates/settings.php:6
msgid ""
-"ownCloud will send the user credentials to this URL is interpret http 401 "
-"and http 403 as credentials wrong and all other codes as credentials "
-"correct."
-msgstr "ownCloud kommer att skicka inloggningsuppgifterna till denna URL och tolkar http 401 och http 403 som fel och alla andra koder som korrekt."
+"ownCloud will send the user credentials to this URL. 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 "ownCloud kommer skicka användaruppgifterna till denna URL. Denna plugin kontrollerar svaret och tolkar HTTP-statuskoderna 401 och 403 som felaktiga uppgifter, och alla andra svar som giltiga uppgifter."
diff --git a/l10n/ta_LK/core.po b/l10n/ta_LK/core.po
index 454448de312..83a4981f2ef 100644
--- a/l10n/ta_LK/core.po
+++ b/l10n/ta_LK/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: 2012-12-13 00:17+0100\n"
-"PO-Revision-Date: 2012-12-12 23:17+0000\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:03+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"
@@ -84,55 +84,55 @@ msgstr "விரà¯à®ªà¯à®ªà®¤à¯à®¤à®¿à®²à®¿à®°à¯à®¨à¯à®¤à¯ %s ஠அகà
msgid "Settings"
msgstr "அமைபà¯à®ªà¯à®•ளà¯"
-#: js/js.js:704
+#: js/js.js:711
msgid "seconds ago"
msgstr "செகà¯à®•னà¯à®•ளà¯à®•à¯à®•௠மà¯à®©à¯"
-#: js/js.js:705
+#: js/js.js:712
msgid "1 minute ago"
msgstr "1 நிமிடதà¯à®¤à®¿à®±à¯à®•௠மà¯à®©à¯ "
-#: js/js.js:706
+#: js/js.js:713
msgid "{minutes} minutes ago"
msgstr "{நிமிடஙà¯à®•ளà¯} நிமிடஙà¯à®•ளà¯à®•à¯à®•௠மà¯à®©à¯ "
-#: js/js.js:707
+#: js/js.js:714
msgid "1 hour ago"
msgstr "1 மணிதà¯à®¤à®¿à®¯à®¾à®²à®¤à¯à®¤à®¿à®±à¯à®•௠மà¯à®©à¯"
-#: js/js.js:708
+#: js/js.js:715
msgid "{hours} hours ago"
msgstr "{மணிதà¯à®¤à®¿à®¯à®¾à®²à®™à¯à®•ளà¯} மணிதà¯à®¤à®¿à®¯à®¾à®²à®™à¯à®•ளிறà¯à®•௠மà¯à®©à¯"
-#: js/js.js:709
+#: js/js.js:716
msgid "today"
msgstr "இனà¯à®±à¯"
-#: js/js.js:710
+#: js/js.js:717
msgid "yesterday"
msgstr "நேறà¯à®±à¯"
-#: js/js.js:711
+#: js/js.js:718
msgid "{days} days ago"
msgstr "{நாடà¯à®•ளà¯} நாடà¯à®•ளà¯à®•à¯à®•௠மà¯à®©à¯"
-#: js/js.js:712
+#: js/js.js:719
msgid "last month"
msgstr "கடநà¯à®¤ மாதமà¯"
-#: js/js.js:713
+#: js/js.js:720
msgid "{months} months ago"
msgstr "{மாதஙà¯à®•ளà¯} மாதஙà¯à®•ளிறà¯à®•௠மà¯à®©à¯"
-#: js/js.js:714
+#: js/js.js:721
msgid "months ago"
msgstr "மாதஙà¯à®•ளà¯à®•à¯à®•௠மà¯à®©à¯"
-#: js/js.js:715
+#: js/js.js:722
msgid "last year"
msgstr "கடநà¯à®¤ வரà¯à®Ÿà®®à¯"
-#: js/js.js:716
+#: js/js.js:723
msgid "years ago"
msgstr "வரà¯à®Ÿà®™à¯à®•ளà¯à®•à¯à®•௠மà¯à®©à¯"
@@ -162,8 +162,8 @@ msgid "The object type is not specified."
msgstr "பொரà¯à®³à¯ வகை கà¯à®±à®¿à®ªà¯à®ªà®¿à®Ÿà®ªà¯à®ªà®Ÿà®µà®¿à®²à¯à®²à¯ˆ."
#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136
-#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:541
-#: js/share.js:553
+#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:554
+#: js/share.js:566
msgid "Error"
msgstr "வழà¯"
@@ -175,7 +175,7 @@ msgstr "செயலி பெயர௠கà¯à®±à®¿à®ªà¯à®ªà®¿à®Ÿà®ªà¯à®ªà®Ÿà
msgid "The required file {file} is not installed!"
msgstr "தேவைபà¯à®ªà®Ÿà¯à®Ÿ கோபà¯à®ªà¯ {கோபà¯à®ªà¯} நிறà¯à®µà®ªà¯à®ªà®Ÿà®µà®¿à®²à¯à®²à¯ˆ!"
-#: js/share.js:124 js/share.js:581
+#: js/share.js:124 js/share.js:594
msgid "Error while sharing"
msgstr "பகிரà¯à®®à¯ போதான வழà¯"
@@ -203,12 +203,11 @@ msgstr "பகிரà¯à®¤à®²à¯"
msgid "Share with link"
msgstr "இணைபà¯à®ªà¯à®Ÿà®©à¯ பகிரà¯à®¤à®²à¯"
-#: js/share.js:164
+#: js/share.js:166
msgid "Password protect"
msgstr "கடவà¯à®šà¯à®šà¯Šà®²à¯à®²à¯ˆ பாதà¯à®•ாதà¯à®¤à®²à¯"
-#: js/share.js:168 templates/installation.php:42 templates/login.php:24
-#: templates/verify.php:13
+#: js/share.js:168 templates/installation.php:44 templates/login.php:35
msgid "Password"
msgstr "கடவà¯à®šà¯à®šà¯Šà®²à¯"
@@ -272,23 +271,23 @@ msgstr "நீகà¯à®•à¯à®•"
msgid "share"
msgstr "பகிரà¯à®¤à®²à¯"
-#: js/share.js:353 js/share.js:528 js/share.js:530
+#: js/share.js:356 js/share.js:541
msgid "Password protected"
msgstr "கடவà¯à®šà¯à®šà¯Šà®²à¯ பாதà¯à®•ாகà¯à®•பà¯à®ªà®Ÿà¯à®Ÿà®¤à¯"
-#: js/share.js:541
+#: js/share.js:554
msgid "Error unsetting expiration date"
msgstr "காலாவதியாகà¯à®®à¯ திகதியை கà¯à®±à®¿à®ªà¯à®ªà®¿à®Ÿà®¾à®®à¯ˆà®•à¯à®•ான வழà¯"
-#: js/share.js:553
+#: js/share.js:566
msgid "Error setting expiration date"
msgstr "காலாவதியாகà¯à®®à¯ திகதியை கà¯à®±à®¿à®ªà¯à®ªà®¿à®Ÿà¯à®µà®¤à®¿à®²à¯ வழà¯"
-#: js/share.js:568
+#: js/share.js:581
msgid "Sending ..."
msgstr ""
-#: js/share.js:579
+#: js/share.js:592
msgid "Email sent"
msgstr ""
@@ -312,8 +311,8 @@ msgstr "மினà¯à®©à¯à®žà¯à®šà®²à¯ அனà¯à®ªà¯à®ªà¯à®¤à®²à¯ˆ மீà
msgid "Request failed!"
msgstr "வேணà¯à®Ÿà¯à®•ோள௠தோலà¯à®µà®¿à®¯à¯à®±à¯à®±à®¤à¯!"
-#: lostpassword/templates/lostpassword.php:11 templates/installation.php:38
-#: templates/login.php:20
+#: lostpassword/templates/lostpassword.php:11 templates/installation.php:39
+#: templates/login.php:28
msgid "Username"
msgstr "பயனாளர௠பெயரà¯"
@@ -402,44 +401,44 @@ msgstr "உஙà¯à®•ளà¯à®Ÿà¯ˆà®¯ தரவ௠அடைவ௠மறà¯à®±à¯
msgid "Create an <strong>admin account</strong>"
msgstr "<strong> நிரà¯à®µà®¾à®• கணகà¯à®•ொனà¯à®±à¯ˆ </strong> உரà¯à®µà®¾à®•à¯à®•à¯à®•"
-#: templates/installation.php:48
+#: templates/installation.php:50
msgid "Advanced"
msgstr "மேமà¯à®ªà®Ÿà¯à®Ÿ"
-#: templates/installation.php:50
+#: templates/installation.php:52
msgid "Data folder"
msgstr "தரவ௠கோபà¯à®ªà¯à®±à¯ˆ"
-#: templates/installation.php:57
+#: templates/installation.php:59
msgid "Configure the database"
msgstr "தரவà¯à®¤à¯à®¤à®³à®¤à¯à®¤à¯ˆ தகவமைகà¯à®•"
-#: templates/installation.php:62 templates/installation.php:73
-#: templates/installation.php:83 templates/installation.php:93
+#: templates/installation.php:64 templates/installation.php:75
+#: templates/installation.php:85 templates/installation.php:95
msgid "will be used"
msgstr "பயனà¯à®ªà®Ÿà¯à®¤à¯à®¤à®ªà¯à®ªà®Ÿà¯à®®à¯"
-#: templates/installation.php:105
+#: templates/installation.php:107
msgid "Database user"
msgstr "தரவà¯à®¤à¯à®¤à®³ பயனாளரà¯"
-#: templates/installation.php:109
+#: templates/installation.php:111
msgid "Database password"
msgstr "தரவà¯à®¤à¯à®¤à®³ கடவà¯à®šà¯à®šà¯Šà®²à¯"
-#: templates/installation.php:113
+#: templates/installation.php:115
msgid "Database name"
msgstr "தரவà¯à®¤à¯à®¤à®³ பெயரà¯"
-#: templates/installation.php:121
+#: templates/installation.php:123
msgid "Database tablespace"
msgstr "தரவà¯à®¤à¯à®¤à®³ அடà¯à®Ÿà®µà®£à¯ˆ"
-#: templates/installation.php:127
+#: templates/installation.php:129
msgid "Database host"
msgstr "தரவà¯à®¤à¯à®¤à®³ ஓமà¯à®ªà¯à®©à®°à¯"
-#: templates/installation.php:132
+#: templates/installation.php:134
msgid "Finish setup"
msgstr "அமைபà¯à®ªà¯ˆ à®®à¯à®Ÿà®¿à®•à¯à®•"
@@ -527,36 +526,32 @@ msgstr "உஙà¯à®•ள௠கடà¯à®Ÿà¯à®ªà¯à®ªà®¾à®Ÿà¯à®Ÿà®¿à®©à¯ கீà
msgid "Log out"
msgstr "விடà¯à®ªà®¤à®¿à®•ை செயà¯à®•"
-#: templates/login.php:8
+#: templates/login.php:10
msgid "Automatic logon rejected!"
msgstr "தனà¯à®©à®¿à®šà¯à®šà¯ˆà®¯à®¾à®© பà¯à®•à¯à®ªà®¤à®¿à®•ை நிராகரிபà¯à®ªà®Ÿà¯à®Ÿà®¤à¯!"
-#: templates/login.php:9
+#: templates/login.php:11
msgid ""
"If you did not change your password recently, your account may be "
"compromised!"
msgstr "உஙà¯à®•ளà¯à®Ÿà¯ˆà®¯ கடவà¯à®šà¯à®šà¯Šà®²à¯à®²à¯ˆ அணà¯à®®à¯ˆà®¯à®¿à®²à¯ மாறà¯à®±à®µà®¿à®²à¯à®²à¯ˆà®¯à®¿à®©à¯, உஙà¯à®•ளà¯à®Ÿà¯ˆà®¯ கணகà¯à®•௠சமரசமாகிவிடà¯à®®à¯!"
-#: templates/login.php:10
+#: templates/login.php:13
msgid "Please change your password to secure your account again."
msgstr "உஙà¯à®•ளà¯à®Ÿà¯ˆà®¯ கணகà¯à®•ை மீணà¯à®Ÿà¯à®®à¯ பாதà¯à®•ாகà¯à®• தயவà¯à®šà¯†à®¯à¯à®¤à¯ உஙà¯à®•ளà¯à®Ÿà¯ˆà®¯ கடவà¯à®šà¯à®šà¯Šà®²à¯à®²à¯ˆ மாறà¯à®±à®µà¯à®®à¯."
-#: templates/login.php:15
+#: templates/login.php:19
msgid "Lost your password?"
msgstr "உஙà¯à®•ள௠கடவà¯à®šà¯à®šà¯Šà®²à¯à®²à¯ˆ தொலைதà¯à®¤à¯à®µà®¿à®Ÿà¯à®Ÿà¯€à®°à¯à®•ளா?"
-#: templates/login.php:27
+#: templates/login.php:39
msgid "remember"
msgstr "ஞாபகபà¯à®ªà®Ÿà¯à®¤à¯à®¤à¯à®•"
-#: templates/login.php:28
+#: templates/login.php:41
msgid "Log in"
msgstr "பà¯à®•à¯à®ªà®¤à®¿à®•ை"
-#: templates/logout.php:1
-msgid "You are logged out."
-msgstr "நீஙà¯à®•ள௠விடà¯à®ªà®¤à®¿à®•ை செயà¯à®¤à¯à®µà®¿à®Ÿà¯à®Ÿà¯€à®°à¯à®•ளà¯."
-
#: templates/part.pagenavi.php:3
msgid "prev"
msgstr "à®®à¯à®¨à¯à®¤à¯ˆà®¯"
@@ -565,16 +560,7 @@ msgstr "à®®à¯à®¨à¯à®¤à¯ˆà®¯"
msgid "next"
msgstr "அடà¯à®¤à¯à®¤à¯"
-#: templates/verify.php:5
-msgid "Security Warning!"
-msgstr "பாதà¯à®•ாபà¯à®ªà¯ எசà¯à®šà®°à®¿à®•à¯à®•ை!"
-
-#: templates/verify.php:6
-msgid ""
-"Please verify your password. <br/>For security reasons you may be "
-"occasionally asked to enter your password again."
-msgstr "உஙà¯à®•ளà¯à®Ÿà¯ˆà®¯ கடவà¯à®šà¯à®šà¯Šà®²à¯à®²à¯ˆ உறà¯à®¤à®¿à®ªà¯à®ªà®Ÿà¯à®¤à¯à®¤à¯à®•. <br/> பாதà¯à®•ாபà¯à®ªà¯ காரணஙà¯à®•ளà¯à®•à¯à®•ாக நீஙà¯à®•ள௠எபà¯à®ªà¯‹à®¤à®¾à®µà®¤à¯ உஙà¯à®•ளà¯à®Ÿà¯ˆà®¯ கடவà¯à®šà¯à®šà¯Šà®²à¯à®²à¯ˆ மீணà¯à®Ÿà¯à®®à¯ நà¯à®´à¯ˆà®•à¯à®• கேடà¯à®•பà¯à®ªà®Ÿà¯à®µà¯€à®°à¯à®•ளà¯."
-
-#: templates/verify.php:16
-msgid "Verify"
-msgstr "உறà¯à®¤à®¿à®ªà¯à®ªà®Ÿà¯à®¤à¯à®¤à®²à¯"
+#: templates/update.php:3
+#, php-format
+msgid "Updating ownCloud to version %s, this may take a while."
+msgstr ""
diff --git a/l10n/ta_LK/files.po b/l10n/ta_LK/files.po
index b6abb44c847..25ae576772c 100644
--- a/l10n/ta_LK/files.po
+++ b/l10n/ta_LK/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: 2012-12-01 00:01+0100\n"
-"PO-Revision-Date: 2012-11-30 23:02+0000\n"
+"POT-Creation-Date: 2013-01-20 00:05+0100\n"
+"PO-Revision-Date: 2013-01-19 23:05+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"
@@ -18,46 +18,77 @@ msgstr ""
"Language: ta_LK\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+#: ajax/delete.php:28 ajax/getstoragestats.php:11 ajax/upload.php:17
+#: ajax/upload.php:76 templates/index.php:18
+msgid "Upload"
+msgstr "பதிவேறà¯à®±à¯à®•"
+
+#: ajax/move.php:17
+#, php-format
+msgid "Could not move %s - File with this name already exists"
+msgstr ""
+
+#: ajax/move.php:24
+#, php-format
+msgid "Could not move %s"
+msgstr ""
+
+#: ajax/rename.php:19
+msgid "Unable to rename file"
+msgstr ""
+
#: ajax/upload.php:20
+msgid "No file was uploaded. Unknown error"
+msgstr "ஒர௠கோபà¯à®ªà¯à®®à¯ பதிவேறà¯à®±à®ªà¯à®ªà®Ÿà®µà®¿à®²à¯à®²à¯ˆ. அறியபà¯à®ªà®Ÿà®¾à®¤ வழà¯"
+
+#: ajax/upload.php:30
msgid "There is no error, the file uploaded with success"
msgstr "இஙà¯à®•௠வழ௠இலà¯à®²à¯ˆ, கோபà¯à®ªà¯ வெறà¯à®±à®¿à®•ரமாக பதிவேறà¯à®±à®ªà¯à®ªà®Ÿà¯à®Ÿà®¤à¯"
-#: ajax/upload.php:21
+#: ajax/upload.php:31
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr ""
-#: ajax/upload.php:23
+#: ajax/upload.php:33
msgid ""
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
"the HTML form"
msgstr "பதிவேறà¯à®±à®ªà¯à®ªà®Ÿà¯à®Ÿ கோபà¯à®ªà®¾à®©à®¤à¯ HTML படிவதà¯à®¤à®¿à®²à¯ கà¯à®±à®¿à®ªà¯à®ªà®¿à®Ÿà®ªà¯à®ªà®Ÿà¯à®Ÿà¯à®³à¯à®³ MAX_FILE_SIZE directive ஠விட கூடியதà¯"
-#: ajax/upload.php:25
+#: ajax/upload.php:35
msgid "The uploaded file was only partially uploaded"
msgstr "பதிவேறà¯à®±à®ªà¯à®ªà®Ÿà¯à®Ÿ கோபà¯à®ªà®¾à®©à®¤à¯ பகà¯à®¤à®¿à®¯à®¾à®• மடà¯à®Ÿà¯à®®à¯‡ பதிவேறà¯à®±à®ªà¯à®ªà®Ÿà¯à®Ÿà¯à®³à¯à®³à®¤à¯"
-#: ajax/upload.php:26
+#: ajax/upload.php:36
msgid "No file was uploaded"
msgstr "எநà¯à®¤ கோபà¯à®ªà¯à®®à¯ பதிவேறà¯à®±à®ªà¯à®ªà®Ÿà®µà®¿à®²à¯à®²à¯ˆ"
-#: ajax/upload.php:27
+#: ajax/upload.php:37
msgid "Missing a temporary folder"
msgstr "ஒர௠தறà¯à®•ாலிகமான கோபà¯à®ªà¯à®±à¯ˆà®¯à¯ˆ காணவிலà¯à®²à¯ˆ"
-#: ajax/upload.php:28
+#: ajax/upload.php:38
msgid "Failed to write to disk"
msgstr "வடà¯à®Ÿà®¿à®²à¯ எழà¯à®¤ à®®à¯à®Ÿà®¿à®¯à®µà®¿à®²à¯à®²à¯ˆ"
+#: ajax/upload.php:57
+msgid "Not enough space available"
+msgstr ""
+
+#: ajax/upload.php:91
+msgid "Invalid directory."
+msgstr ""
+
#: appinfo/app.php:10
msgid "Files"
msgstr "கோபà¯à®ªà¯à®•ளà¯"
-#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84
+#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
msgid "Unshare"
msgstr "பகிரபà¯à®ªà®Ÿà®¾à®¤à®¤à¯"
-#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90
+#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
msgid "Delete"
msgstr "அழிகà¯à®•"
@@ -65,122 +96,136 @@ msgstr "அழிகà¯à®•"
msgid "Rename"
msgstr "பெயரà¯à®®à®¾à®±à¯à®±à®®à¯"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "{new_name} already exists"
msgstr "{new_name} à®à®±à¯à®•னவே உளà¯à®³à®¤à¯"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "replace"
msgstr "மாறà¯à®±à®¿à®Ÿà¯à®•"
-#: js/filelist.js:201
+#: js/filelist.js:205
msgid "suggest name"
msgstr "பெயரை பரிநà¯à®¤à¯à®°à¯ˆà®•à¯à®•"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "cancel"
msgstr "இரதà¯à®¤à¯ செயà¯à®•"
-#: js/filelist.js:250
+#: js/filelist.js:254
msgid "replaced {new_name}"
msgstr "மாறà¯à®±à®ªà¯à®ªà®Ÿà¯à®Ÿà®¤à¯ {new_name}"
-#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286
+#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
msgid "undo"
msgstr "à®®à¯à®©à¯ செயல௠நீகà¯à®•ம௠"
-#: js/filelist.js:252
+#: js/filelist.js:256
msgid "replaced {new_name} with {old_name}"
msgstr "{new_name} ஆனத௠{old_name} இனால௠மாறà¯à®±à®ªà¯à®ªà®Ÿà¯à®Ÿà®¤à¯"
-#: js/filelist.js:284
+#: js/filelist.js:288
msgid "unshared {files}"
msgstr "பகிரபà¯à®ªà®Ÿà®¾à®¤à®¤à¯ {கோபà¯à®ªà¯à®•ளà¯}"
-#: js/filelist.js:286
+#: js/filelist.js:290
msgid "deleted {files}"
msgstr "நீகà¯à®•பà¯à®ªà®Ÿà¯à®Ÿà®¤à¯ {கோபà¯à®ªà¯à®•ளà¯}"
-#: js/files.js:33
+#: js/files.js:48
+msgid "'.' is an invalid file name."
+msgstr ""
+
+#: js/files.js:53
+msgid "File name cannot be empty."
+msgstr ""
+
+#: js/files.js:62
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr "செலà¯à®²à¯à®ªà®Ÿà®¿à®¯à®±à¯à®± பெயரà¯,'\\', '/', '<', '>', ':', '\"', '|', '?' மறà¯à®±à¯à®®à¯ '*' ஆகியன அனà¯à®®à®¤à®¿à®•à¯à®•பà¯à®ªà®Ÿà®®à®¾à®Ÿà¯à®Ÿà®¾à®¤à¯."
-#: js/files.js:183
-msgid "generating ZIP-file, it may take some time."
-msgstr " ZIP கோபà¯à®ªà¯ உரà¯à®µà®¾à®•à¯à®•பà¯à®ªà®Ÿà¯à®•ினà¯à®±à®¤à¯, இத௠சில நேரம௠ஆகலாமà¯."
+#: js/files.js:204
+msgid ""
+"Your download is being prepared. This might take some time if the files are "
+"big."
+msgstr ""
-#: js/files.js:218
+#: js/files.js:242
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr "அடைவ௠அலà¯à®²à®¤à¯ 0 bytes ஠கொணà¯à®Ÿà¯à®³à¯à®³à®¤à®¾à®²à¯ உஙà¯à®•ளà¯à®Ÿà¯ˆà®¯ கோபà¯à®ªà¯ˆ பதிவேறà¯à®± à®®à¯à®Ÿà®¿à®¯à®µà®¿à®²à¯à®²à¯ˆ"
-#: js/files.js:218
+#: js/files.js:242
msgid "Upload Error"
msgstr "பதிவேறà¯à®±à®²à¯ வழà¯"
-#: js/files.js:235
+#: js/files.js:259
msgid "Close"
msgstr "மூடà¯à®•"
-#: js/files.js:254 js/files.js:368 js/files.js:398
+#: js/files.js:278 js/files.js:397 js/files.js:431
msgid "Pending"
msgstr "நிலà¯à®µà¯ˆà®¯à®¿à®²à¯à®³à¯à®³"
-#: js/files.js:274
+#: js/files.js:298
msgid "1 file uploading"
msgstr "1 கோபà¯à®ªà¯ பதிவேறà¯à®±à®ªà¯à®ªà®Ÿà¯à®•ிறதà¯"
-#: js/files.js:277 js/files.js:331 js/files.js:346
+#: js/files.js:301 js/files.js:357 js/files.js:372
msgid "{count} files uploading"
msgstr "{எணà¯à®£à®¿à®•à¯à®•ை} கோபà¯à®ªà¯à®•ள௠பதிவேறà¯à®±à®ªà¯à®ªà®Ÿà¯à®•ினà¯à®±à®¤à¯"
-#: js/files.js:349 js/files.js:382
+#: js/files.js:376 js/files.js:414
msgid "Upload cancelled."
msgstr "பதிவேறà¯à®±à®²à¯ இரதà¯à®¤à¯ செயà¯à®¯à®ªà¯à®ªà®Ÿà¯à®Ÿà¯à®³à¯à®³à®¤à¯"
-#: js/files.js:451
+#: js/files.js:486
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr "கோபà¯à®ªà¯ பதிவேறà¯à®±à®®à¯ செயலà¯à®ªà®¾à®Ÿà¯à®Ÿà®¿à®²à¯ உளà¯à®³à®¤à¯. இநà¯à®¤à®ªà¯ பகà¯à®•தà¯à®¤à®¿à®²à®¿à®°à¯à®¨à¯à®¤à¯ வெறியேறà¯à®µà®¤à®¾à®©à®¤à¯ பதிவேறà¯à®±à®²à¯ˆ இரதà¯à®¤à¯ செயà¯à®¯à¯à®®à¯."
-#: js/files.js:523
-msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud"
-msgstr "செலà¯à®²à¯à®ªà®Ÿà®¿à®¯à®±à¯à®± கோபà¯à®ªà¯à®±à¯ˆ பெயரà¯. \"பகிரà¯à®µà®¿à®©à¯\" பாவனை Owncloud இனால௠ஒதà¯à®•à¯à®•பà¯à®ªà®Ÿà¯à®Ÿà¯à®³à¯à®³à®¤à¯"
+#: js/files.js:559
+msgid "URL cannot be empty."
+msgstr "URL வெறà¯à®®à¯ˆà®¯à®¾à®• இரà¯à®•à¯à®•à®®à¯à®Ÿà®¿à®¯à®¾à®¤à¯."
-#: js/files.js:704
+#: js/files.js:565
+msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
+msgstr ""
+
+#: js/files.js:775
msgid "{count} files scanned"
msgstr "{எணà¯à®£à®¿à®•à¯à®•ை} கோபà¯à®ªà¯à®•ள௠வரà¯à®Ÿà®ªà¯à®ªà®Ÿà¯à®Ÿà®¤à¯"
-#: js/files.js:712
+#: js/files.js:783
msgid "error while scanning"
msgstr "வரà¯à®Ÿà¯à®®à¯ போதான வழà¯"
-#: js/files.js:785 templates/index.php:65
+#: js/files.js:857 templates/index.php:64
msgid "Name"
msgstr "பெயரà¯"
-#: js/files.js:786 templates/index.php:76
+#: js/files.js:858 templates/index.php:75
msgid "Size"
msgstr "அளவà¯"
-#: js/files.js:787 templates/index.php:78
+#: js/files.js:859 templates/index.php:77
msgid "Modified"
msgstr "மாறà¯à®±à®ªà¯à®ªà®Ÿà¯à®Ÿà®¤à¯"
-#: js/files.js:814
+#: js/files.js:878
msgid "1 folder"
msgstr "1 கோபà¯à®ªà¯à®±à¯ˆ"
-#: js/files.js:816
+#: js/files.js:880
msgid "{count} folders"
msgstr "{எணà¯à®£à®¿à®•à¯à®•ை} கோபà¯à®ªà¯à®±à¯ˆà®•ளà¯"
-#: js/files.js:824
+#: js/files.js:888
msgid "1 file"
msgstr "1 கோபà¯à®ªà¯"
-#: js/files.js:826
+#: js/files.js:890
msgid "{count} files"
msgstr "{எணà¯à®£à®¿à®•à¯à®•ை} கோபà¯à®ªà¯à®•ளà¯"
@@ -192,27 +237,27 @@ msgstr "கோபà¯à®ªà¯ கையாளà¯à®¤à®²à¯"
msgid "Maximum upload size"
msgstr "பதிவேறà¯à®±à®•à¯à®•ூடிய ஆககà¯à®•ூடிய அளவ௠"
-#: templates/admin.php:9
+#: templates/admin.php:10
msgid "max. possible: "
msgstr "ஆகக௠கூடியதà¯:"
-#: templates/admin.php:12
+#: templates/admin.php:15
msgid "Needed for multi-file and folder downloads."
msgstr "பலà¯à®µà¯‡à®±à¯à®ªà¯à®ªà®Ÿà¯à®Ÿ கோபà¯à®ªà¯ மறà¯à®±à¯à®®à¯ கோபà¯à®ªà¯à®±à¯ˆà®•ளை பதிவிறகà¯à®• தேவையானதà¯."
-#: templates/admin.php:14
+#: templates/admin.php:17
msgid "Enable ZIP-download"
msgstr "ZIP பதிவிறகà¯à®•லை இயலà¯à®®à¯ˆà®ªà¯à®ªà®Ÿà¯à®¤à¯à®¤à¯à®•"
-#: templates/admin.php:17
+#: templates/admin.php:20
msgid "0 is unlimited"
msgstr "0 ஆனத௠எலà¯à®²à¯ˆà®¯à®±à¯à®±à®¤à¯"
-#: templates/admin.php:19
+#: templates/admin.php:22
msgid "Maximum input size for ZIP files"
msgstr "ZIP கோபà¯à®ªà¯à®•ளà¯à®•à¯à®•ான ஆககà¯à®•ூடிய உளà¯à®³à¯€à®Ÿà¯à®Ÿà¯ அளவà¯"
-#: templates/admin.php:23
+#: templates/admin.php:26
msgid "Save"
msgstr "சேமிகà¯à®•"
@@ -232,36 +277,32 @@ msgstr "கோபà¯à®ªà¯à®±à¯ˆ"
msgid "From link"
msgstr "இணைபà¯à®ªà®¿à®²à®¿à®°à¯à®¨à¯à®¤à¯"
-#: templates/index.php:35
-msgid "Upload"
-msgstr "பதிவேறà¯à®±à¯à®•"
-
-#: templates/index.php:43
+#: templates/index.php:41
msgid "Cancel upload"
msgstr "பதிவேறà¯à®±à®²à¯ˆ இரதà¯à®¤à¯ செயà¯à®•"
-#: templates/index.php:57
+#: templates/index.php:56
msgid "Nothing in here. Upload something!"
msgstr "இஙà¯à®•௠ஒனà¯à®±à¯à®®à¯ இலà¯à®²à¯ˆ. à®à®¤à®¾à®µà®¤à¯ பதிவேறà¯à®±à¯à®•!"
-#: templates/index.php:71
+#: templates/index.php:70
msgid "Download"
msgstr "பதிவிறகà¯à®•à¯à®•"
-#: templates/index.php:103
+#: templates/index.php:102
msgid "Upload too large"
msgstr "பதிவேறà¯à®±à®²à¯ மிகபà¯à®ªà¯†à®°à®¿à®¯à®¤à¯"
-#: templates/index.php:105
+#: templates/index.php:104
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "நீஙà¯à®•ள௠பதிவேறà¯à®± à®®à¯à®¯à®±à¯à®šà®¿à®•à¯à®•à¯à®®à¯ கோபà¯à®ªà¯à®•ளானத௠இநà¯à®¤ சேவையகதà¯à®¤à®¿à®²à¯ கோபà¯à®ªà¯ பதிவேறà¯à®±à®•à¯à®•ூடிய ஆககà¯à®•ூடிய அளவிலà¯à®®à¯ கூடியதà¯."
-#: templates/index.php:110
+#: templates/index.php:109
msgid "Files are being scanned, please wait."
msgstr "கோபà¯à®ªà¯à®•ள௠வரà¯à®Ÿà®ªà¯à®ªà®Ÿà¯à®•ினà¯à®±à®©, தயவà¯à®šà¯†à®¯à¯à®¤à¯ காதà¯à®¤à®¿à®°à¯à®™à¯à®•ளà¯."
-#: templates/index.php:113
+#: templates/index.php:112
msgid "Current scanning"
msgstr "தறà¯à®ªà¯‹à®¤à¯ வரà¯à®Ÿà®ªà¯à®ªà®Ÿà¯à®ªà®µà¯ˆ"
diff --git a/l10n/ta_LK/files_encryption.po b/l10n/ta_LK/files_encryption.po
index 2eee3be9df2..82cfd11914c 100644
--- a/l10n/ta_LK/files_encryption.po
+++ b/l10n/ta_LK/files_encryption.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-11-18 00:01+0100\n"
-"PO-Revision-Date: 2012-11-17 05:33+0000\n"
-"Last-Translator: suganthi <suganthi@nic.lk>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,18 +18,66 @@ msgstr ""
"Language: ta_LK\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "மறைகà¯à®•à¯à®±à®¿à®¯à¯€à®Ÿà¯"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "மறைகà¯à®•à¯à®±à®¿à®¯à®¾à®•à¯à®•லில௠பினà¯à®µà®°à¯à®®à¯ கோபà¯à®ªà¯ வகைகளை நீகà¯à®•வà¯à®®à¯"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "ஒனà¯à®±à¯à®®à®¿à®²à¯à®²à¯ˆ"
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "மறைகà¯à®•à¯à®±à®¿à®¯à®¾à®•à¯à®•லை இயலà¯à®®à¯ˆà®ªà¯à®ªà®Ÿà¯à®¤à¯à®¤à¯à®•"
diff --git a/l10n/ta_LK/files_versions.po b/l10n/ta_LK/files_versions.po
index d1c44e0d9d0..ed417e58282 100644
--- a/l10n/ta_LK/files_versions.po
+++ b/l10n/ta_LK/files_versions.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-11-20 00:01+0100\n"
-"PO-Revision-Date: 2012-11-19 08:42+0000\n"
-"Last-Translator: suganthi <suganthi@nic.lk>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,22 +18,10 @@ msgstr ""
"Language: ta_LK\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: js/settings-personal.js:31 templates/settings-personal.php:10
-msgid "Expire all versions"
-msgstr "எலà¯à®²à®¾ பதிபà¯à®ªà¯à®•ளà¯à®®à¯ காலாவதியாகிவிடà¯à®Ÿà®¤à¯"
-
#: js/versions.js:16
msgid "History"
msgstr "வரலாறà¯"
-#: templates/settings-personal.php:4
-msgid "Versions"
-msgstr "பதிபà¯à®ªà¯à®•ளà¯"
-
-#: templates/settings-personal.php:7
-msgid "This will delete all existing backup versions of your files"
-msgstr "உஙà¯à®•ளà¯à®Ÿà¯ˆà®¯ கோபà¯à®ªà¯à®•à¯à®•ளில௠à®à®±à¯à®•னவே உளà¯à®³ ஆதாரநகலà¯à®•ளின௠பதிபà¯à®ªà¯à®•à¯à®•ளை இவை அழிதà¯à®¤à¯à®µà®¿à®Ÿà¯à®®à¯"
-
#: templates/settings.php:3
msgid "Files Versioning"
msgstr "கோபà¯à®ªà¯ பதிபà¯à®ªà¯à®•ளà¯"
diff --git a/l10n/ta_LK/lib.po b/l10n/ta_LK/lib.po
index 804cdf565e5..febb5ad3281 100644
--- a/l10n/ta_LK/lib.po
+++ b/l10n/ta_LK/lib.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-11-16 00:02+0100\n"
-"PO-Revision-Date: 2012-11-15 14:16+0000\n"
-"Last-Translator: suganthi <suganthi@nic.lk>\n"
+"POT-Creation-Date: 2013-01-17 00:26+0100\n"
+"PO-Revision-Date: 2013-01-16 23:26+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,51 +18,55 @@ msgstr ""
"Language: ta_LK\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: app.php:285
+#: app.php:301
msgid "Help"
msgstr "உதவி"
-#: app.php:292
+#: app.php:308
msgid "Personal"
msgstr "தனிபà¯à®ªà®Ÿà¯à®Ÿ"
-#: app.php:297
+#: app.php:313
msgid "Settings"
msgstr "அமைபà¯à®ªà¯à®•ளà¯"
-#: app.php:302
+#: app.php:318
msgid "Users"
msgstr "பயனாளரà¯à®•ளà¯"
-#: app.php:309
+#: app.php:325
msgid "Apps"
msgstr "செயலிகளà¯"
-#: app.php:311
+#: app.php:327
msgid "Admin"
msgstr "நிரà¯à®µà®¾à®•à®®à¯"
-#: files.php:332
+#: files.php:365
msgid "ZIP download is turned off."
msgstr "வீசொலிப௠பூடà¯à®Ÿà¯ பதிவிறகà¯à®•ம௠நிறà¯à®¤à¯à®¤à®ªà¯à®ªà®Ÿà¯à®Ÿà¯à®³à¯à®³à®¤à¯."
-#: files.php:333
+#: files.php:366
msgid "Files need to be downloaded one by one."
msgstr "கோபà¯à®ªà¯à®•ளà¯à®’னà¯à®±à®©à¯ பின௠ஒனà¯à®±à®¾à®• பதிவிறகà¯à®•பà¯à®ªà®Ÿà®µà¯‡à®£à¯à®Ÿà¯à®®à¯."
-#: files.php:333 files.php:358
+#: files.php:366 files.php:391
msgid "Back to Files"
msgstr "கோபà¯à®ªà¯à®•ளà¯à®•à¯à®•௠செலà¯à®•"
-#: files.php:357
+#: files.php:390
msgid "Selected files too large to generate zip file."
msgstr "வீ சொலிக௠கோபà¯à®ªà¯à®•ளை உரà¯à®µà®¾à®•à¯à®•à¯à®µà®¤à®±à¯à®•௠தெரிவà¯à®šà¯†à®¯à¯à®¯à®ªà¯à®ªà®Ÿà¯à®Ÿ கோபà¯à®ªà¯à®•ள௠மிகபà¯à®ªà¯†à®°à®¿à®¯à®µà¯ˆ"
+#: helper.php:228
+msgid "couldn't be determined"
+msgstr ""
+
#: json.php:28
msgid "Application is not enabled"
msgstr "செயலி இயலà¯à®®à¯ˆà®ªà¯à®ªà®Ÿà¯à®¤à¯à®¤à®ªà¯à®ªà®Ÿà®µà®¿à®²à¯à®²à¯ˆ"
-#: json.php:39 json.php:64 json.php:77 json.php:89
+#: json.php:39 json.php:62 json.php:73
msgid "Authentication error"
msgstr "அதà¯à®¤à®¾à®Ÿà¯à®šà®¿à®ªà¯à®ªà®Ÿà¯à®¤à¯à®¤à®²à®¿à®²à¯ வழà¯"
@@ -82,55 +86,55 @@ msgstr "உரை"
msgid "Images"
msgstr "படஙà¯à®•ளà¯"
-#: template.php:103
+#: template.php:113
msgid "seconds ago"
msgstr "செகà¯à®•னà¯à®•ளà¯à®•à¯à®•௠மà¯à®©à¯"
-#: template.php:104
+#: template.php:114
msgid "1 minute ago"
msgstr "1 நிமிடதà¯à®¤à®¿à®±à¯à®•௠மà¯à®©à¯ "
-#: template.php:105
+#: template.php:115
#, php-format
msgid "%d minutes ago"
msgstr "%d நிமிடஙà¯à®•ளà¯à®•à¯à®•௠மà¯à®©à¯"
-#: template.php:106
+#: template.php:116
msgid "1 hour ago"
msgstr "1 மணிதà¯à®¤à®¿à®¯à®¾à®²à®¤à¯à®¤à®¿à®±à¯à®•௠மà¯à®©à¯"
-#: template.php:107
+#: template.php:117
#, php-format
msgid "%d hours ago"
msgstr "%d மணிதà¯à®¤à®¿à®¯à®¾à®²à®¤à¯à®¤à®¿à®±à¯à®•௠மà¯à®©à¯"
-#: template.php:108
+#: template.php:118
msgid "today"
msgstr "இனà¯à®±à¯"
-#: template.php:109
+#: template.php:119
msgid "yesterday"
msgstr "நேறà¯à®±à¯"
-#: template.php:110
+#: template.php:120
#, php-format
msgid "%d days ago"
msgstr "%d நாடà¯à®•ளà¯à®•à¯à®•௠மà¯à®©à¯"
-#: template.php:111
+#: template.php:121
msgid "last month"
msgstr "கடநà¯à®¤ மாதமà¯"
-#: template.php:112
+#: template.php:122
#, php-format
msgid "%d months ago"
msgstr "%d மாததà¯à®¤à®¿à®±à¯à®•௠மà¯à®©à¯"
-#: template.php:113
+#: template.php:123
msgid "last year"
msgstr "கடநà¯à®¤ வரà¯à®Ÿà®®à¯"
-#: template.php:114
+#: template.php:124
msgid "years ago"
msgstr "வரà¯à®Ÿà®™à¯à®•ளà¯à®•à¯à®•௠மà¯à®©à¯"
diff --git a/l10n/ta_LK/settings.po b/l10n/ta_LK/settings.po
index d06ae0bdd28..841dd03141b 100644
--- a/l10n/ta_LK/settings.po
+++ b/l10n/ta_LK/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: 2012-12-21 00:10+0100\n"
-"PO-Revision-Date: 2012-12-19 23:20+0000\n"
+"POT-Creation-Date: 2013-01-12 00:09+0100\n"
+"PO-Revision-Date: 2013-01-11 23:09+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"
@@ -30,7 +30,7 @@ msgstr "கà¯à®´à¯ à®à®±à¯à®•னவே உளà¯à®³à®¤à¯"
msgid "Unable to add group"
msgstr "கà¯à®´à¯à®µà¯ˆ சேரà¯à®•à¯à®• à®®à¯à®Ÿà®¿à®¯à®¾à®¤à¯"
-#: ajax/enableapp.php:12
+#: ajax/enableapp.php:11
msgid "Could not enable app. "
msgstr "செயலியை இயலà¯à®®à¯ˆà®ªà¯à®ªà®Ÿà¯à®¤à¯à®¤ à®®à¯à®Ÿà®¿à®¯à®¾à®¤à¯"
@@ -42,14 +42,6 @@ msgstr "மினà¯à®©à®žà¯à®šà®²à¯ சேமிகà¯à®•பà¯à®ªà®Ÿà¯à®Ÿà®
msgid "Invalid email"
msgstr "செலà¯à®²à¯à®ªà®Ÿà®¿à®¯à®±à¯à®± மினà¯à®©à®žà¯à®šà®²à¯"
-#: ajax/openid.php:13
-msgid "OpenID Changed"
-msgstr "OpenID மாறà¯à®±à®ªà¯à®ªà®Ÿà¯à®Ÿà®¤à¯"
-
-#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20
-msgid "Invalid request"
-msgstr "செலà¯à®²à¯à®ªà®Ÿà®¿à®¯à®±à¯à®± வேணà¯à®Ÿà¯à®•ோளà¯"
-
#: ajax/removegroup.php:13
msgid "Unable to delete group"
msgstr "கà¯à®´à¯à®µà¯ˆ நீகà¯à®• à®®à¯à®Ÿà®¿à®¯à®¾à®¤à¯"
@@ -66,6 +58,10 @@ msgstr "பயனாளரை நீகà¯à®• à®®à¯à®Ÿà®¿à®¯à®¾à®¤à¯"
msgid "Language changed"
msgstr "மொழி மாறà¯à®±à®ªà¯à®ªà®Ÿà¯à®Ÿà®¤à¯"
+#: ajax/setlanguage.php:17 ajax/setlanguage.php:20
+msgid "Invalid request"
+msgstr "செலà¯à®²à¯à®ªà®Ÿà®¿à®¯à®±à¯à®± வேணà¯à®Ÿà¯à®•ோளà¯"
+
#: ajax/togglegroups.php:12
msgid "Admins can't remove themself from the admin group"
msgstr ""
@@ -161,7 +157,7 @@ msgstr ""
msgid "Download iOS Client"
msgstr ""
-#: templates/personal.php:21 templates/users.php:23 templates/users.php:77
+#: templates/personal.php:21 templates/users.php:23 templates/users.php:82
msgid "Password"
msgstr "கடவà¯à®šà¯à®šà¯Šà®²à¯"
@@ -231,11 +227,11 @@ msgid ""
"License\">AGPL</abbr></a>."
msgstr "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>."
-#: templates/users.php:21 templates/users.php:76
+#: templates/users.php:21 templates/users.php:81
msgid "Name"
msgstr "பெயரà¯"
-#: templates/users.php:26 templates/users.php:78 templates/users.php:98
+#: templates/users.php:26 templates/users.php:83 templates/users.php:103
msgid "Groups"
msgstr "கà¯à®´à¯à®•à¯à®•ளà¯"
@@ -244,21 +240,29 @@ msgid "Create"
msgstr "உரà¯à®µà®¾à®•à¯à®•à¯à®•"
#: templates/users.php:35
-msgid "Default Quota"
-msgstr "பொத௠இரà¯à®ªà¯à®ªà¯ பஙà¯à®•à¯"
+msgid "Default Storage"
+msgstr ""
+
+#: templates/users.php:42 templates/users.php:138
+msgid "Unlimited"
+msgstr ""
-#: templates/users.php:55 templates/users.php:138
+#: templates/users.php:60 templates/users.php:153
msgid "Other"
msgstr "மறà¯à®±à®µà¯ˆ"
-#: templates/users.php:80 templates/users.php:112
+#: templates/users.php:85 templates/users.php:117
msgid "Group Admin"
msgstr "கà¯à®´à¯ நிரà¯à®µà®¾à®•ி"
-#: templates/users.php:82
-msgid "Quota"
-msgstr "பஙà¯à®•à¯"
+#: templates/users.php:87
+msgid "Storage"
+msgstr ""
+
+#: templates/users.php:133
+msgid "Default"
+msgstr ""
-#: templates/users.php:146
+#: templates/users.php:161
msgid "Delete"
msgstr "அழிகà¯à®•"
diff --git a/l10n/ta_LK/user_ldap.po b/l10n/ta_LK/user_ldap.po
index e98a09afa8c..401d69aec01 100644
--- a/l10n/ta_LK/user_ldap.po
+++ b/l10n/ta_LK/user_ldap.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-15 00:11+0100\n"
-"PO-Revision-Date: 2012-12-14 23:11+0000\n"
+"POT-Creation-Date: 2013-01-16 00:19+0100\n"
+"PO-Revision-Date: 2013-01-15 23:20+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"
@@ -27,8 +27,8 @@ msgstr ""
#: templates/settings.php:11
msgid ""
-"<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will"
-" not work. Please ask your system administrator to install it."
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not "
+"work. Please ask your system administrator to install it."
msgstr ""
#: templates/settings.php:15
@@ -45,6 +45,10 @@ msgid "Base DN"
msgstr "தள DN"
#: templates/settings.php:16
+msgid "One Base DN per line"
+msgstr ""
+
+#: templates/settings.php:16
msgid "You can specify Base DN for users and groups in the Advanced tab"
msgstr "நீஙà¯à®•ள௠பயனாளரà¯à®•ளà¯à®•à¯à®•à¯à®®à¯ மேனà¯à®®à¯ˆ ததà¯à®¤à®²à®¿à®²à¯ உளà¯à®³ கà¯à®´à¯à®µà®¿à®±à¯à®•à¯à®®à¯ தள DN ஠கà¯à®±à®¿à®ªà¯à®ªà®¿à®Ÿà®²à®¾à®®à¯ "
@@ -115,10 +119,18 @@ msgstr "தà¯à®±à¯ˆ "
msgid "Base User Tree"
msgstr "தள பயனாளர௠மரமà¯"
+#: templates/settings.php:25
+msgid "One User Base DN per line"
+msgstr ""
+
#: templates/settings.php:26
msgid "Base Group Tree"
msgstr "தள கà¯à®´à¯ மரமà¯"
+#: templates/settings.php:26
+msgid "One Group Base DN per line"
+msgstr ""
+
#: templates/settings.php:27
msgid "Group-Member association"
msgstr "கà¯à®´à¯ உறà¯à®ªà¯à®ªà®¿à®©à®°à¯ சஙà¯à®•à®®à¯"
diff --git a/l10n/ta_LK/user_webdavauth.po b/l10n/ta_LK/user_webdavauth.po
index b74d36a8e43..59edf0b378a 100644
--- a/l10n/ta_LK/user_webdavauth.po
+++ b/l10n/ta_LK/user_webdavauth.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-20 00:11+0100\n"
-"PO-Revision-Date: 2012-12-19 23:12+0000\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+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"
@@ -18,13 +18,17 @@ msgstr ""
"Language: ta_LK\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+#: templates/settings.php:3
+msgid "WebDAV Authentication"
+msgstr ""
+
#: templates/settings.php:4
msgid "URL: http://"
msgstr ""
#: templates/settings.php:6
msgid ""
-"ownCloud will send the user credentials to this URL is interpret http 401 "
-"and http 403 as credentials wrong and all other codes as credentials "
-"correct."
+"ownCloud will send the user credentials to this URL. 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 ""
diff --git a/l10n/templates/core.pot b/l10n/templates/core.pot
index cb81e4a3bf2..77ee7715a51 100644
--- a/l10n/templates/core.pot
+++ b/l10n/templates/core.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-12-26 00:11+0100\n"
+"POT-Creation-Date: 2013-01-26 00:09+0100\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"
@@ -79,59 +79,135 @@ msgstr ""
msgid "Error removing %s from favorites."
msgstr ""
-#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61
+#: js/config.php:28
+msgid "Sunday"
+msgstr ""
+
+#: js/config.php:28
+msgid "Monday"
+msgstr ""
+
+#: js/config.php:28
+msgid "Tuesday"
+msgstr ""
+
+#: js/config.php:28
+msgid "Wednesday"
+msgstr ""
+
+#: js/config.php:28
+msgid "Thursday"
+msgstr ""
+
+#: js/config.php:28
+msgid "Friday"
+msgstr ""
+
+#: js/config.php:28
+msgid "Saturday"
+msgstr ""
+
+#: js/config.php:29
+msgid "January"
+msgstr ""
+
+#: js/config.php:29
+msgid "February"
+msgstr ""
+
+#: js/config.php:29
+msgid "March"
+msgstr ""
+
+#: js/config.php:29
+msgid "April"
+msgstr ""
+
+#: js/config.php:29
+msgid "May"
+msgstr ""
+
+#: js/config.php:29
+msgid "June"
+msgstr ""
+
+#: js/config.php:29
+msgid "July"
+msgstr ""
+
+#: js/config.php:29
+msgid "August"
+msgstr ""
+
+#: js/config.php:29
+msgid "September"
+msgstr ""
+
+#: js/config.php:29
+msgid "October"
+msgstr ""
+
+#: js/config.php:29
+msgid "November"
+msgstr ""
+
+#: js/config.php:29
+msgid "December"
+msgstr ""
+
+#: js/js.js:280 templates/layout.user.php:43 templates/layout.user.php:44
msgid "Settings"
msgstr ""
-#: js/js.js:704
+#: js/js.js:727
msgid "seconds ago"
msgstr ""
-#: js/js.js:705
+#: js/js.js:728
msgid "1 minute ago"
msgstr ""
-#: js/js.js:706
+#: js/js.js:729
msgid "{minutes} minutes ago"
msgstr ""
-#: js/js.js:707
+#: js/js.js:730
msgid "1 hour ago"
msgstr ""
-#: js/js.js:708
+#: js/js.js:731
msgid "{hours} hours ago"
msgstr ""
-#: js/js.js:709
+#: js/js.js:732
msgid "today"
msgstr ""
-#: js/js.js:710
+#: js/js.js:733
msgid "yesterday"
msgstr ""
-#: js/js.js:711
+#: js/js.js:734
msgid "{days} days ago"
msgstr ""
-#: js/js.js:712
+#: js/js.js:735
msgid "last month"
msgstr ""
-#: js/js.js:713
+#: js/js.js:736
msgid "{months} months ago"
msgstr ""
-#: js/js.js:714
+#: js/js.js:737
msgid "months ago"
msgstr ""
-#: js/js.js:715
+#: js/js.js:738
msgid "last year"
msgstr ""
-#: js/js.js:716
+#: js/js.js:739
msgid "years ago"
msgstr ""
@@ -207,7 +283,6 @@ msgid "Password protect"
msgstr ""
#: js/share.js:168 templates/installation.php:44 templates/login.php:35
-#: templates/verify.php:13
msgid "Password"
msgstr ""
@@ -442,87 +517,11 @@ msgstr ""
msgid "Finish setup"
msgstr ""
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Sunday"
-msgstr ""
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Monday"
-msgstr ""
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Tuesday"
-msgstr ""
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Wednesday"
-msgstr ""
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Thursday"
-msgstr ""
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Friday"
-msgstr ""
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Saturday"
-msgstr ""
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "January"
-msgstr ""
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "February"
-msgstr ""
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "March"
-msgstr ""
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "April"
-msgstr ""
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "May"
-msgstr ""
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "June"
-msgstr ""
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "July"
-msgstr ""
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "August"
-msgstr ""
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "September"
-msgstr ""
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "October"
-msgstr ""
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "November"
-msgstr ""
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "December"
-msgstr ""
-
-#: templates/layout.guest.php:42
+#: templates/layout.guest.php:33
msgid "web services under your control"
msgstr ""
-#: templates/layout.user.php:45
+#: templates/layout.user.php:28
msgid "Log out"
msgstr ""
@@ -552,10 +551,6 @@ msgstr ""
msgid "Log in"
msgstr ""
-#: templates/logout.php:1
-msgid "You are logged out."
-msgstr ""
-
#: templates/part.pagenavi.php:3
msgid "prev"
msgstr ""
@@ -564,16 +559,7 @@ msgstr ""
msgid "next"
msgstr ""
-#: templates/verify.php:5
-msgid "Security Warning!"
-msgstr ""
-
-#: templates/verify.php:6
-msgid ""
-"Please verify your password. <br/>For security reasons you may be "
-"occasionally asked to enter your password again."
-msgstr ""
-
-#: templates/verify.php:16
-msgid "Verify"
+#: templates/update.php:3
+#, php-format
+msgid "Updating ownCloud to version %s, this may take a while."
msgstr ""
diff --git a/l10n/templates/files.pot b/l10n/templates/files.pot
index 36134e77ca2..2b69bb3d123 100644
--- a/l10n/templates/files.pot
+++ b/l10n/templates/files.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-12-26 00:10+0100\n"
+"POT-Creation-Date: 2013-01-26 00:09+0100\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"
@@ -17,46 +17,77 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
+#: ajax/delete.php:28 ajax/getstoragestats.php:11 ajax/upload.php:17
+#: ajax/upload.php:76 templates/index.php:18
+msgid "Upload"
+msgstr ""
+
+#: ajax/move.php:17
+#, php-format
+msgid "Could not move %s - File with this name already exists"
+msgstr ""
+
+#: ajax/move.php:24
+#, php-format
+msgid "Could not move %s"
+msgstr ""
+
+#: ajax/rename.php:19
+msgid "Unable to rename file"
+msgstr ""
+
#: ajax/upload.php:20
+msgid "No file was uploaded. Unknown error"
+msgstr ""
+
+#: ajax/upload.php:30
msgid "There is no error, the file uploaded with success"
msgstr ""
-#: ajax/upload.php:21
+#: ajax/upload.php:31
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr ""
-#: ajax/upload.php:23
+#: ajax/upload.php:33
msgid ""
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
"the HTML form"
msgstr ""
-#: ajax/upload.php:25
+#: ajax/upload.php:35
msgid "The uploaded file was only partially uploaded"
msgstr ""
-#: ajax/upload.php:26
+#: ajax/upload.php:36
msgid "No file was uploaded"
msgstr ""
-#: ajax/upload.php:27
+#: ajax/upload.php:37
msgid "Missing a temporary folder"
msgstr ""
-#: ajax/upload.php:28
+#: ajax/upload.php:38
msgid "Failed to write to disk"
msgstr ""
+#: ajax/upload.php:57
+msgid "Not enough space available"
+msgstr ""
+
+#: ajax/upload.php:91
+msgid "Invalid directory."
+msgstr ""
+
#: appinfo/app.php:10
msgid "Files"
msgstr ""
-#: js/fileactions.js:117 templates/index.php:84 templates/index.php:85
+#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
msgid "Unshare"
msgstr ""
-#: js/fileactions.js:119 templates/index.php:90 templates/index.php:91
+#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
msgid "Delete"
msgstr ""
@@ -64,122 +95,136 @@ msgstr ""
msgid "Rename"
msgstr ""
-#: js/filelist.js:199 js/filelist.js:201
+#: js/filelist.js:205 js/filelist.js:207
msgid "{new_name} already exists"
msgstr ""
-#: js/filelist.js:199 js/filelist.js:201
+#: js/filelist.js:205 js/filelist.js:207
msgid "replace"
msgstr ""
-#: js/filelist.js:199
+#: js/filelist.js:205
msgid "suggest name"
msgstr ""
-#: js/filelist.js:199 js/filelist.js:201
+#: js/filelist.js:205 js/filelist.js:207
msgid "cancel"
msgstr ""
-#: js/filelist.js:248
+#: js/filelist.js:254
msgid "replaced {new_name}"
msgstr ""
-#: js/filelist.js:248 js/filelist.js:250 js/filelist.js:282 js/filelist.js:284
+#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
msgid "undo"
msgstr ""
-#: js/filelist.js:250
+#: js/filelist.js:256
msgid "replaced {new_name} with {old_name}"
msgstr ""
-#: js/filelist.js:282
+#: js/filelist.js:288
msgid "unshared {files}"
msgstr ""
-#: js/filelist.js:284
+#: js/filelist.js:290
msgid "deleted {files}"
msgstr ""
-#: js/files.js:33
+#: js/files.js:48
+msgid "'.' is an invalid file name."
+msgstr ""
+
+#: js/files.js:53
+msgid "File name cannot be empty."
+msgstr ""
+
+#: js/files.js:62
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr ""
-#: js/files.js:174
-msgid "generating ZIP-file, it may take some time."
+#: js/files.js:204
+msgid ""
+"Your download is being prepared. This might take some time if the files are "
+"big."
msgstr ""
-#: js/files.js:212
+#: js/files.js:242
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr ""
-#: js/files.js:212
+#: js/files.js:242
msgid "Upload Error"
msgstr ""
-#: js/files.js:229
+#: js/files.js:259
msgid "Close"
msgstr ""
-#: js/files.js:248 js/files.js:362 js/files.js:392
+#: js/files.js:278 js/files.js:397 js/files.js:431
msgid "Pending"
msgstr ""
-#: js/files.js:268
+#: js/files.js:298
msgid "1 file uploading"
msgstr ""
-#: js/files.js:271 js/files.js:325 js/files.js:340
+#: js/files.js:301 js/files.js:357 js/files.js:372
msgid "{count} files uploading"
msgstr ""
-#: js/files.js:343 js/files.js:376
+#: js/files.js:376 js/files.js:414
msgid "Upload cancelled."
msgstr ""
-#: js/files.js:445
+#: js/files.js:486
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr ""
-#: js/files.js:515
-msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud"
+#: js/files.js:559
+msgid "URL cannot be empty."
+msgstr ""
+
+#: js/files.js:565
+msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
msgstr ""
-#: js/files.js:699
+#: js/files.js:775
msgid "{count} files scanned"
msgstr ""
-#: js/files.js:707
+#: js/files.js:783
msgid "error while scanning"
msgstr ""
-#: js/files.js:780 templates/index.php:66
+#: js/files.js:857 templates/index.php:64
msgid "Name"
msgstr ""
-#: js/files.js:781 templates/index.php:77
+#: js/files.js:858 templates/index.php:75
msgid "Size"
msgstr ""
-#: js/files.js:782 templates/index.php:79
+#: js/files.js:859 templates/index.php:77
msgid "Modified"
msgstr ""
-#: js/files.js:801
+#: js/files.js:878
msgid "1 folder"
msgstr ""
-#: js/files.js:803
+#: js/files.js:880
msgid "{count} folders"
msgstr ""
-#: js/files.js:811
+#: js/files.js:888
msgid "1 file"
msgstr ""
-#: js/files.js:813
+#: js/files.js:890
msgid "{count} files"
msgstr ""
@@ -191,27 +236,27 @@ msgstr ""
msgid "Maximum upload size"
msgstr ""
-#: templates/admin.php:9
+#: templates/admin.php:10
msgid "max. possible: "
msgstr ""
-#: templates/admin.php:12
+#: templates/admin.php:15
msgid "Needed for multi-file and folder downloads."
msgstr ""
-#: templates/admin.php:14
+#: templates/admin.php:17
msgid "Enable ZIP-download"
msgstr ""
-#: templates/admin.php:17
+#: templates/admin.php:20
msgid "0 is unlimited"
msgstr ""
-#: templates/admin.php:19
+#: templates/admin.php:22
msgid "Maximum input size for ZIP files"
msgstr ""
-#: templates/admin.php:23
+#: templates/admin.php:26
msgid "Save"
msgstr ""
@@ -231,36 +276,32 @@ msgstr ""
msgid "From link"
msgstr ""
-#: templates/index.php:35
-msgid "Upload"
-msgstr ""
-
-#: templates/index.php:43
+#: templates/index.php:41
msgid "Cancel upload"
msgstr ""
-#: templates/index.php:58
+#: templates/index.php:56
msgid "Nothing in here. Upload something!"
msgstr ""
-#: templates/index.php:72
+#: templates/index.php:70
msgid "Download"
msgstr ""
-#: templates/index.php:104
+#: templates/index.php:102
msgid "Upload too large"
msgstr ""
-#: templates/index.php:106
+#: templates/index.php:104
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr ""
-#: templates/index.php:111
+#: templates/index.php:109
msgid "Files are being scanned, please wait."
msgstr ""
-#: templates/index.php:114
+#: templates/index.php:112
msgid "Current scanning"
msgstr ""
diff --git a/l10n/templates/files_encryption.pot b/l10n/templates/files_encryption.pot
index d97815aa3c6..26ec7e7e1ef 100644
--- a/l10n/templates/files_encryption.pot
+++ b/l10n/templates/files_encryption.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-12-26 00:10+0100\n"
+"POT-Creation-Date: 2013-01-26 00:09+0100\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"
@@ -17,18 +17,66 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
-#: templates/settings.php:3
-msgid "Encryption"
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to "
+"complete the conversion."
msgstr ""
-#: templates/settings.php:6
-msgid "Enable Encryption"
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
msgstr ""
-#: templates/settings.php:7
-msgid "None"
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it "
+"back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
+msgid "Encryption"
msgstr ""
-#: templates/settings.php:12
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr ""
+
+#: templates/settings.php:71
+msgid "None"
+msgstr ""
diff --git a/l10n/templates/files_external.pot b/l10n/templates/files_external.pot
index 4a58cc81cb8..b55e7ff8e6d 100644
--- a/l10n/templates/files_external.pot
+++ b/l10n/templates/files_external.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-12-26 00:10+0100\n"
+"POT-Creation-Date: 2013-01-26 00:09+0100\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 4df6821bdb7..ceb44e6b981 100644
--- a/l10n/templates/files_sharing.pot
+++ b/l10n/templates/files_sharing.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-12-26 00:10+0100\n"
+"POT-Creation-Date: 2013-01-26 00:09+0100\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"
@@ -25,24 +25,24 @@ msgstr ""
msgid "Submit"
msgstr ""
-#: templates/public.php:17
+#: templates/public.php:11
#, php-format
msgid "%s shared the folder %s with you"
msgstr ""
-#: templates/public.php:19
+#: templates/public.php:13
#, php-format
msgid "%s shared the file %s with you"
msgstr ""
-#: templates/public.php:22 templates/public.php:38
+#: templates/public.php:16 templates/public.php:32
msgid "Download"
msgstr ""
-#: templates/public.php:37
+#: templates/public.php:31
msgid "No preview available for"
msgstr ""
-#: templates/public.php:43
+#: templates/public.php:37
msgid "web services under your control"
msgstr ""
diff --git a/l10n/templates/files_versions.pot b/l10n/templates/files_versions.pot
index ea84ed78215..a34a7b3f063 100644
--- a/l10n/templates/files_versions.pot
+++ b/l10n/templates/files_versions.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-12-26 00:10+0100\n"
+"POT-Creation-Date: 2013-01-26 00:09+0100\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"
@@ -17,22 +17,10 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
-#: js/settings-personal.js:31 templates/settings-personal.php:7
-msgid "Expire all versions"
-msgstr ""
-
#: js/versions.js:16
msgid "History"
msgstr ""
-#: templates/settings-personal.php:4
-msgid "Versions"
-msgstr ""
-
-#: templates/settings-personal.php:10
-msgid "This will delete all existing backup versions of your files"
-msgstr ""
-
#: templates/settings.php:3
msgid "Files Versioning"
msgstr ""
diff --git a/l10n/templates/lib.pot b/l10n/templates/lib.pot
index b7b1a122718..9c0a9564819 100644
--- a/l10n/templates/lib.pot
+++ b/l10n/templates/lib.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-12-26 00:11+0100\n"
+"POT-Creation-Date: 2013-01-26 00:09+0100\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"
@@ -17,27 +17,27 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
-#: app.php:287
+#: app.php:301
msgid "Help"
msgstr ""
-#: app.php:294
+#: app.php:308
msgid "Personal"
msgstr ""
-#: app.php:299
+#: app.php:313
msgid "Settings"
msgstr ""
-#: app.php:304
+#: app.php:318
msgid "Users"
msgstr ""
-#: app.php:311
+#: app.php:325
msgid "Apps"
msgstr ""
-#: app.php:313
+#: app.php:327
msgid "Admin"
msgstr ""
@@ -57,11 +57,15 @@ msgstr ""
msgid "Selected files too large to generate zip file."
msgstr ""
+#: helper.php:229
+msgid "couldn't be determined"
+msgstr ""
+
#: json.php:28
msgid "Application is not enabled"
msgstr ""
-#: json.php:39 json.php:64 json.php:77 json.php:89
+#: json.php:39 json.php:62 json.php:73
msgid "Authentication error"
msgstr ""
@@ -81,55 +85,55 @@ msgstr ""
msgid "Images"
msgstr ""
-#: template.php:103
+#: template.php:113
msgid "seconds ago"
msgstr ""
-#: template.php:104
+#: template.php:114
msgid "1 minute ago"
msgstr ""
-#: template.php:105
+#: template.php:115
#, php-format
msgid "%d minutes ago"
msgstr ""
-#: template.php:106
+#: template.php:116
msgid "1 hour ago"
msgstr ""
-#: template.php:107
+#: template.php:117
#, php-format
msgid "%d hours ago"
msgstr ""
-#: template.php:108
+#: template.php:118
msgid "today"
msgstr ""
-#: template.php:109
+#: template.php:119
msgid "yesterday"
msgstr ""
-#: template.php:110
+#: template.php:120
#, php-format
msgid "%d days ago"
msgstr ""
-#: template.php:111
+#: template.php:121
msgid "last month"
msgstr ""
-#: template.php:112
+#: template.php:122
#, php-format
msgid "%d months ago"
msgstr ""
-#: template.php:113
+#: template.php:123
msgid "last year"
msgstr ""
-#: template.php:114
+#: template.php:124
msgid "years ago"
msgstr ""
diff --git a/l10n/templates/settings.pot b/l10n/templates/settings.pot
index 1f54f62fe9a..ea16b06c187 100644
--- a/l10n/templates/settings.pot
+++ b/l10n/templates/settings.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-12-26 00:11+0100\n"
+"POT-Creation-Date: 2013-01-26 00:09+0100\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"
@@ -29,7 +29,7 @@ msgstr ""
msgid "Unable to add group"
msgstr ""
-#: ajax/enableapp.php:12
+#: ajax/enableapp.php:11
msgid "Could not enable app. "
msgstr ""
@@ -41,14 +41,6 @@ msgstr ""
msgid "Invalid email"
msgstr ""
-#: ajax/openid.php:13
-msgid "OpenID Changed"
-msgstr ""
-
-#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20
-msgid "Invalid request"
-msgstr ""
-
#: ajax/removegroup.php:13
msgid "Unable to delete group"
msgstr ""
@@ -65,6 +57,10 @@ msgstr ""
msgid "Language changed"
msgstr ""
+#: ajax/setlanguage.php:17 ajax/setlanguage.php:20
+msgid "Invalid request"
+msgstr ""
+
#: ajax/togglegroups.php:12
msgid "Admins can't remove themself from the admin group"
msgstr ""
@@ -103,15 +99,15 @@ msgstr ""
msgid "More Apps"
msgstr ""
-#: templates/apps.php:27
+#: templates/apps.php:24
msgid "Select an App"
msgstr ""
-#: templates/apps.php:31
+#: templates/apps.php:28
msgid "See application page at apps.owncloud.com"
msgstr ""
-#: templates/apps.php:32
+#: templates/apps.php:29
msgid ""
"<span class=\"licence\"></span>-licensed by <span class=\"author\"></span>"
msgstr ""
@@ -161,7 +157,7 @@ msgstr ""
msgid "Download iOS Client"
msgstr ""
-#: templates/personal.php:21 templates/users.php:23 templates/users.php:77
+#: templates/personal.php:21 templates/users.php:23 templates/users.php:82
msgid "Password"
msgstr ""
@@ -230,11 +226,11 @@ msgid ""
"General Public License\">AGPL</abbr></a>."
msgstr ""
-#: templates/users.php:21 templates/users.php:76
+#: templates/users.php:21 templates/users.php:81
msgid "Name"
msgstr ""
-#: templates/users.php:26 templates/users.php:78 templates/users.php:98
+#: templates/users.php:26 templates/users.php:83 templates/users.php:103
msgid "Groups"
msgstr ""
@@ -243,21 +239,29 @@ msgid "Create"
msgstr ""
#: templates/users.php:35
-msgid "Default Quota"
+msgid "Default Storage"
+msgstr ""
+
+#: templates/users.php:42 templates/users.php:138
+msgid "Unlimited"
msgstr ""
-#: templates/users.php:55 templates/users.php:138
+#: templates/users.php:60 templates/users.php:153
msgid "Other"
msgstr ""
-#: templates/users.php:80 templates/users.php:112
+#: templates/users.php:85 templates/users.php:117
msgid "Group Admin"
msgstr ""
-#: templates/users.php:82
-msgid "Quota"
+#: templates/users.php:87
+msgid "Storage"
+msgstr ""
+
+#: templates/users.php:133
+msgid "Default"
msgstr ""
-#: templates/users.php:146
+#: templates/users.php:161
msgid "Delete"
msgstr ""
diff --git a/l10n/templates/user_ldap.pot b/l10n/templates/user_ldap.pot
index f602b7e50c7..3036da1055a 100644
--- a/l10n/templates/user_ldap.pot
+++ b/l10n/templates/user_ldap.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-12-26 00:10+0100\n"
+"POT-Creation-Date: 2013-01-26 00:09+0100\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"
@@ -26,8 +26,8 @@ msgstr ""
#: templates/settings.php:11
msgid ""
-"<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will "
-"not work. Please ask your system administrator to install it."
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not "
+"work. Please ask your system administrator to install it."
msgstr ""
#: templates/settings.php:15
@@ -44,6 +44,10 @@ msgid "Base DN"
msgstr ""
#: templates/settings.php:16
+msgid "One Base DN per line"
+msgstr ""
+
+#: templates/settings.php:16
msgid "You can specify Base DN for users and groups in the Advanced tab"
msgstr ""
@@ -113,10 +117,18 @@ msgstr ""
msgid "Base User Tree"
msgstr ""
+#: templates/settings.php:25
+msgid "One User Base DN per line"
+msgstr ""
+
#: templates/settings.php:26
msgid "Base Group Tree"
msgstr ""
+#: templates/settings.php:26
+msgid "One Group Base DN per line"
+msgstr ""
+
#: templates/settings.php:27
msgid "Group-Member association"
msgstr ""
diff --git a/l10n/templates/user_webdavauth.pot b/l10n/templates/user_webdavauth.pot
index 6afb31853e5..0330fa2f598 100644
--- a/l10n/templates/user_webdavauth.pot
+++ b/l10n/templates/user_webdavauth.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-12-26 00:10+0100\n"
+"POT-Creation-Date: 2013-01-26 00:09+0100\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"
@@ -17,12 +17,17 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
+#: templates/settings.php:3
+msgid "WebDAV Authentication"
+msgstr ""
+
#: templates/settings.php:4
msgid "URL: http://"
msgstr ""
#: templates/settings.php:6
msgid ""
-"ownCloud will send the user credentials to this URL is interpret http 401 "
-"and http 403 as credentials wrong and all other codes as credentials correct."
+"ownCloud will send the user credentials to this URL. 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 ""
diff --git a/l10n/th_TH/core.po b/l10n/th_TH/core.po
index 0138e60fb80..e9fe1ca9c9e 100644
--- a/l10n/th_TH/core.po
+++ b/l10n/th_TH/core.po
@@ -3,15 +3,15 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
-# AriesAnywhere Anywhere <ariesanywhere@gmail.com>, 2012.
+# AriesAnywhere Anywhere <ariesanywhere@gmail.com>, 2012-2013.
# AriesAnywhere Anywhere <ariesanywherer@gmail.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-13 00:17+0100\n"
-"PO-Revision-Date: 2012-12-12 23:17+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 01:02+0000\n"
+"Last-Translator: AriesAnywhere Anywhere <ariesanywhere@gmail.com>\n"
"Language-Team: Thai (Thailand) (http://www.transifex.com/projects/p/owncloud/language/th_TH/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -22,26 +22,26 @@ msgstr ""
#: ajax/share.php:84
#, php-format
msgid "User %s shared a file with you"
-msgstr ""
+msgstr "ผู้ใช้งาน %s ได้à¹à¸Šà¸£à¹Œà¹„ฟล์ให้à¸à¸±à¸šà¸„ุณ"
#: ajax/share.php:86
#, php-format
msgid "User %s shared a folder with you"
-msgstr ""
+msgstr "ผู้ใช้งาน %s ได้à¹à¸Šà¸£à¹Œà¹‚ฟลเดอร์ให้à¸à¸±à¸šà¸„ุณ"
#: ajax/share.php:88
#, php-format
msgid ""
"User %s shared the file \"%s\" with you. It is available for download here: "
"%s"
-msgstr ""
+msgstr "ผู้ใช้งาน %s ได้à¹à¸Šà¸£à¹Œà¹„ฟล์ \"%s\" ให้à¸à¸±à¸šà¸„ุณ à¹à¸¥à¸°à¸„ุณสามารถสามารถดาวน์โหลดไฟล์ดังà¸à¸¥à¹ˆà¸²à¸§à¹„ด้จาà¸à¸—ี่นี่: %s"
#: ajax/share.php:90
#, php-format
msgid ""
"User %s shared the folder \"%s\" with you. It is available for download "
"here: %s"
-msgstr ""
+msgstr "ผู้ใช้งาน %s ได้à¹à¸Šà¸£à¹Œà¹‚ฟลเดอร์ \"%s\" ให้à¸à¸±à¸šà¸„ุณ à¹à¸¥à¸°à¸„ุณสามารถดาวน์โหลดโฟลเดอร์ดังà¸à¸¥à¹ˆà¸²à¸§à¹„ด้จาà¸à¸—ี่นี่: %s"
#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25
msgid "Category type not provided."
@@ -85,55 +85,55 @@ msgstr "เà¸à¸´à¸”ข้อผิดพลาดในà¸à¸²à¸£à¸¥à¸š %s อà¸
msgid "Settings"
msgstr "ตั้งค่า"
-#: js/js.js:704
+#: js/js.js:706
msgid "seconds ago"
msgstr "วินาที à¸à¹ˆà¸­à¸™à¸«à¸™à¹‰à¸²à¸™à¸µà¹‰"
-#: js/js.js:705
+#: js/js.js:707
msgid "1 minute ago"
msgstr "1 นาทีà¸à¹ˆà¸­à¸™à¸«à¸™à¹‰à¸²à¸™à¸µà¹‰"
-#: js/js.js:706
+#: js/js.js:708
msgid "{minutes} minutes ago"
msgstr "{minutes} นาทีà¸à¹ˆà¸­à¸™à¸«à¸™à¹‰à¸²à¸™à¸µà¹‰"
-#: js/js.js:707
+#: js/js.js:709
msgid "1 hour ago"
msgstr "1 ชั่วโมงà¸à¹ˆà¸­à¸™à¸«à¸™à¹‰à¸²à¸™à¸µà¹‰"
-#: js/js.js:708
+#: js/js.js:710
msgid "{hours} hours ago"
msgstr "{hours} ชั่วโมงà¸à¹ˆà¸­à¸™à¸«à¸™à¹‰à¸²à¸™à¸µà¹‰"
-#: js/js.js:709
+#: js/js.js:711
msgid "today"
msgstr "วันนี้"
-#: js/js.js:710
+#: js/js.js:712
msgid "yesterday"
msgstr "เมื่อวานนี้"
-#: js/js.js:711
+#: js/js.js:713
msgid "{days} days ago"
msgstr "{day} วันà¸à¹ˆà¸­à¸™à¸«à¸™à¹‰à¸²à¸™à¸µà¹‰"
-#: js/js.js:712
+#: js/js.js:714
msgid "last month"
msgstr "เดือนที่à¹à¸¥à¹‰à¸§"
-#: js/js.js:713
+#: js/js.js:715
msgid "{months} months ago"
msgstr "{months} เดือนà¸à¹ˆà¸­à¸™à¸«à¸™à¹‰à¸²à¸™à¸µà¹‰"
-#: js/js.js:714
+#: js/js.js:716
msgid "months ago"
msgstr "เดือน ที่ผ่านมา"
-#: js/js.js:715
+#: js/js.js:717
msgid "last year"
msgstr "ปีที่à¹à¸¥à¹‰à¸§"
-#: js/js.js:716
+#: js/js.js:718
msgid "years ago"
msgstr "ปี ที่ผ่านมา"
@@ -163,8 +163,8 @@ msgid "The object type is not specified."
msgstr "ชนิดของวัตถุยังไม่ได้รับà¸à¸²à¸£à¸£à¸°à¸šà¸¸"
#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136
-#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:541
-#: js/share.js:553
+#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:554
+#: js/share.js:566
msgid "Error"
msgstr "พบข้อผิดพลาด"
@@ -176,7 +176,7 @@ msgstr "ชื่อของà¹à¸­à¸›à¸¢à¸±à¸‡à¹„ม่ได้รับà¸à¸²
msgid "The required file {file} is not installed!"
msgstr "ไฟล์ {file} ซึ่งเป็นไฟล์ที่จำเป็นต้องได้รับà¸à¸²à¸£à¸•ิดตั้งไว้à¸à¹ˆà¸­à¸™ ยังไม่ได้ถูà¸à¸•ิดตั้ง"
-#: js/share.js:124 js/share.js:581
+#: js/share.js:124 js/share.js:594
msgid "Error while sharing"
msgstr "เà¸à¸´à¸”ข้อผิดพลาดในระหว่างà¸à¸²à¸£à¹à¸Šà¸£à¹Œà¸‚้อมูล"
@@ -204,22 +204,21 @@ msgstr "à¹à¸Šà¸£à¹Œà¹ƒà¸«à¹‰à¸à¸±à¸š"
msgid "Share with link"
msgstr "à¹à¸Šà¸£à¹Œà¸”้วยลิงà¸à¹Œ"
-#: js/share.js:164
+#: js/share.js:166
msgid "Password protect"
msgstr "ใส่รหัสผ่านไว้"
-#: js/share.js:168 templates/installation.php:42 templates/login.php:24
-#: templates/verify.php:13
+#: js/share.js:168 templates/installation.php:44 templates/login.php:35
msgid "Password"
msgstr "รหัสผ่าน"
#: js/share.js:172
msgid "Email link to person"
-msgstr ""
+msgstr "ส่งลิงà¸à¹Œà¹ƒà¸«à¹‰à¸—างอีเมล"
#: js/share.js:173
msgid "Send"
-msgstr ""
+msgstr "ส่ง"
#: js/share.js:177
msgid "Set expiration date"
@@ -273,25 +272,25 @@ msgstr "ลบ"
msgid "share"
msgstr "à¹à¸Šà¸£à¹Œ"
-#: js/share.js:353 js/share.js:528 js/share.js:530
+#: js/share.js:356 js/share.js:541
msgid "Password protected"
msgstr "ใส่รหัสผ่านไว้"
-#: js/share.js:541
+#: js/share.js:554
msgid "Error unsetting expiration date"
msgstr "เà¸à¸´à¸”ข้อผิดพลาดในà¸à¸²à¸£à¸¢à¸à¹€à¸¥à¸´à¸à¸à¸²à¸£à¸•ั้งค่าวันที่หมดอายุ"
-#: js/share.js:553
+#: js/share.js:566
msgid "Error setting expiration date"
msgstr "เà¸à¸´à¸”ข้อผิดพลาดในà¸à¸²à¸£à¸•ั้งค่าวันที่หมดอายุ"
-#: js/share.js:568
+#: js/share.js:581
msgid "Sending ..."
-msgstr ""
+msgstr "à¸à¸³à¸¥à¸±à¸‡à¸ªà¹ˆà¸‡..."
-#: js/share.js:579
+#: js/share.js:592
msgid "Email sent"
-msgstr ""
+msgstr "ส่งอีเมล์à¹à¸¥à¹‰à¸§"
#: lostpassword/controller.php:47
msgid "ownCloud password reset"
@@ -313,8 +312,8 @@ msgstr "รีเซ็ตค่าà¸à¸²à¸£à¸ªà¹ˆà¸‡à¸­à¸µà¹€à¸¡à¸¥"
msgid "Request failed!"
msgstr "คำร้องขอล้มเหลว!"
-#: lostpassword/templates/lostpassword.php:11 templates/installation.php:38
-#: templates/login.php:20
+#: lostpassword/templates/lostpassword.php:11 templates/installation.php:39
+#: templates/login.php:28
msgid "Username"
msgstr "ชื่อผู้ใช้งาน"
@@ -403,124 +402,124 @@ msgstr "ไดเร็à¸à¸—อรี่ข้อมูลà¹à¸¥à¸°à¹„ฟล์
msgid "Create an <strong>admin account</strong>"
msgstr "สร้าง <strong>บัà¸à¸Šà¸µà¸œà¸¹à¹‰à¸”ูà¹à¸¥à¸£à¸°à¸šà¸š</strong>"
-#: templates/installation.php:48
+#: templates/installation.php:50
msgid "Advanced"
msgstr "ขั้นสูง"
-#: templates/installation.php:50
+#: templates/installation.php:52
msgid "Data folder"
msgstr "โฟลเดอร์เà¸à¹‡à¸šà¸‚้อมูล"
-#: templates/installation.php:57
+#: templates/installation.php:59
msgid "Configure the database"
msgstr "à¸à¸³à¸«à¸™à¸”ค่าà¸à¸²à¸™à¸‚้อมูล"
-#: templates/installation.php:62 templates/installation.php:73
-#: templates/installation.php:83 templates/installation.php:93
+#: templates/installation.php:64 templates/installation.php:75
+#: templates/installation.php:85 templates/installation.php:95
msgid "will be used"
msgstr "จะถูà¸à¹ƒà¸Šà¹‰"
-#: templates/installation.php:105
+#: templates/installation.php:107
msgid "Database user"
msgstr "ชื่อผู้ใช้งานà¸à¸²à¸™à¸‚้อมูล"
-#: templates/installation.php:109
+#: templates/installation.php:111
msgid "Database password"
msgstr "รหัสผ่านà¸à¸²à¸™à¸‚้อมูล"
-#: templates/installation.php:113
+#: templates/installation.php:115
msgid "Database name"
msgstr "ชื่อà¸à¸²à¸™à¸‚้อมูล"
-#: templates/installation.php:121
+#: templates/installation.php:123
msgid "Database tablespace"
msgstr "พื้นที่ตารางในà¸à¸²à¸™à¸‚้อมูล"
-#: templates/installation.php:127
+#: templates/installation.php:129
msgid "Database host"
msgstr "Database host"
-#: templates/installation.php:132
+#: templates/installation.php:134
msgid "Finish setup"
msgstr "ติดตั้งเรียบร้อยà¹à¸¥à¹‰à¸§"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
+#: templates/layout.guest.php:15 templates/layout.user.php:17
msgid "Sunday"
msgstr "วันอาทิตย์"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
+#: templates/layout.guest.php:15 templates/layout.user.php:17
msgid "Monday"
msgstr "วันจันทร์"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
+#: templates/layout.guest.php:15 templates/layout.user.php:17
msgid "Tuesday"
msgstr "วันอังคาร"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
+#: templates/layout.guest.php:15 templates/layout.user.php:17
msgid "Wednesday"
msgstr "วันพุธ"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
+#: templates/layout.guest.php:15 templates/layout.user.php:17
msgid "Thursday"
msgstr "วันพฤหัสบดี"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
+#: templates/layout.guest.php:15 templates/layout.user.php:17
msgid "Friday"
msgstr "วันศุà¸à¸£à¹Œ"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
+#: templates/layout.guest.php:15 templates/layout.user.php:17
msgid "Saturday"
msgstr "วันเสาร์"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "January"
msgstr "มà¸à¸£à¸²à¸„ม"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "February"
msgstr "à¸à¸¸à¸¡à¸ à¸²à¸žà¸±à¸™à¸˜à¹Œ"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "March"
msgstr "มีนาคม"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "April"
msgstr "เมษายน"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "May"
msgstr "พฤษภาคม"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "June"
msgstr "มิถุนายน"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "July"
msgstr "à¸à¸£à¸à¸à¸²à¸„ม"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "August"
msgstr "สิงหาคม"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "September"
msgstr "à¸à¸±à¸™à¸¢à¸²à¸¢à¸™"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "October"
msgstr "ตุลาคม"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "November"
msgstr "พฤศจิà¸à¸²à¸¢à¸™"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "December"
msgstr "ธันวาคม"
-#: templates/layout.guest.php:42
+#: templates/layout.guest.php:41
msgid "web services under your control"
msgstr "web services under your control"
@@ -528,36 +527,32 @@ msgstr "web services under your control"
msgid "Log out"
msgstr "ออà¸à¸ˆà¸²à¸à¸£à¸°à¸šà¸š"
-#: templates/login.php:8
+#: templates/login.php:10
msgid "Automatic logon rejected!"
msgstr "à¸à¸²à¸£à¹€à¸‚้าสู่ระบบอัตโนมัติถูà¸à¸›à¸à¸´à¹€à¸ªà¸˜à¹à¸¥à¹‰à¸§"
-#: templates/login.php:9
+#: templates/login.php:11
msgid ""
"If you did not change your password recently, your account may be "
"compromised!"
msgstr "หาà¸à¸„ุณยังไม่ได้เปลี่ยนรหัสผ่านของคุณเมื่อเร็วๆนี้, บัà¸à¸Šà¸µà¸‚องคุณอาจถูà¸à¸šà¸¸à¸à¸£à¸¸à¸à¹‚ดยผู้อื่น"
-#: templates/login.php:10
+#: templates/login.php:13
msgid "Please change your password to secure your account again."
msgstr "à¸à¸£à¸¸à¸“าเปลี่ยนรหัสผ่านของคุณอีà¸à¸„รั้ง เพื่อป้องà¸à¸±à¸™à¸šà¸±à¸à¸Šà¸µà¸‚องคุณให้ปลอดภัย"
-#: templates/login.php:15
+#: templates/login.php:19
msgid "Lost your password?"
msgstr "ลืมรหัสผ่าน?"
-#: templates/login.php:27
+#: templates/login.php:39
msgid "remember"
msgstr "จำรหัสผ่าน"
-#: templates/login.php:28
+#: templates/login.php:41
msgid "Log in"
msgstr "เข้าสู่ระบบ"
-#: templates/logout.php:1
-msgid "You are logged out."
-msgstr "คุณออà¸à¸ˆà¸²à¸à¸£à¸°à¸šà¸šà¹€à¸£à¸µà¸¢à¸šà¸£à¹‰à¸­à¸¢à¹à¸¥à¹‰à¸§"
-
#: templates/part.pagenavi.php:3
msgid "prev"
msgstr "à¸à¹ˆà¸­à¸™à¸«à¸™à¹‰à¸²"
@@ -566,16 +561,7 @@ msgstr "à¸à¹ˆà¸­à¸™à¸«à¸™à¹‰à¸²"
msgid "next"
msgstr "ถัดไป"
-#: templates/verify.php:5
-msgid "Security Warning!"
-msgstr "คำเตือนเพื่อความปลอดภัย!"
-
-#: templates/verify.php:6
-msgid ""
-"Please verify your password. <br/>For security reasons you may be "
-"occasionally asked to enter your password again."
-msgstr "à¸à¸£à¸¸à¸“ายืนยันรหัสผ่านของคุณ <br/> เพื่อความปลอดภัย คุณจะถูà¸à¸‚อให้à¸à¸£à¸­à¸à¸£à¸«à¸±à¸ªà¸œà¹ˆà¸²à¸™à¸­à¸µà¸à¸„รั้ง"
-
-#: templates/verify.php:16
-msgid "Verify"
-msgstr "ยืนยัน"
+#: templates/update.php:3
+#, php-format
+msgid "Updating ownCloud to version %s, this may take a while."
+msgstr "à¸à¸³à¸¥à¸±à¸‡à¸­à¸±à¸žà¹€à¸”ท ownCloud ไปเป็นรุ่น %s, à¸à¸£à¸¸à¸“ารอสัà¸à¸„รู่"
diff --git a/l10n/th_TH/files.po b/l10n/th_TH/files.po
index cff6308811a..691310546f2 100644
--- a/l10n/th_TH/files.po
+++ b/l10n/th_TH/files.po
@@ -3,14 +3,14 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
-# AriesAnywhere Anywhere <ariesanywhere@gmail.com>, 2012.
+# AriesAnywhere Anywhere <ariesanywhere@gmail.com>, 2012-2013.
# AriesAnywhere Anywhere <ariesanywherer@gmail.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-22 00:24+0100\n"
-"PO-Revision-Date: 2012-12-21 10:27+0000\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 01:13+0000\n"
"Last-Translator: AriesAnywhere Anywhere <ariesanywhere@gmail.com>\n"
"Language-Team: Thai (Thailand) (http://www.transifex.com/projects/p/owncloud/language/th_TH/)\n"
"MIME-Version: 1.0\n"
@@ -19,46 +19,77 @@ msgstr ""
"Language: th_TH\n"
"Plural-Forms: nplurals=1; plural=0;\n"
+#: ajax/delete.php:28 ajax/getstoragestats.php:11 ajax/upload.php:17
+#: ajax/upload.php:76 templates/index.php:18
+msgid "Upload"
+msgstr "อัพโหลด"
+
+#: ajax/move.php:17
+#, php-format
+msgid "Could not move %s - File with this name already exists"
+msgstr "ไม่สามารถย้าย %s ได้ - ไฟล์ที่ใช้ชื่อนี้มีอยู่à¹à¸¥à¹‰à¸§"
+
+#: ajax/move.php:24
+#, php-format
+msgid "Could not move %s"
+msgstr "ไม่สามารถย้าย %s ได้"
+
+#: ajax/rename.php:19
+msgid "Unable to rename file"
+msgstr "ไม่สามารถเปลี่ยนชื่อไฟล์ได้"
+
#: ajax/upload.php:20
+msgid "No file was uploaded. Unknown error"
+msgstr "ยังไม่มีไฟล์ใดที่ถูà¸à¸­à¸±à¸žà¹‚หลด เà¸à¸´à¸”ข้อผิดพลาดที่ไม่ทราบสาเหตุ"
+
+#: ajax/upload.php:30
msgid "There is no error, the file uploaded with success"
msgstr "ไม่มีข้อผิดพลาดใดๆ ไฟล์ถูà¸à¸­à¸±à¸žà¹‚หลดเรียบร้อยà¹à¸¥à¹‰à¸§"
-#: ajax/upload.php:21
+#: ajax/upload.php:31
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr "ขนาดไฟล์ที่อัพโหลดมีขนาดเà¸à¸´à¸™ upload_max_filesize ที่ระบุไว้ใน php.ini"
-#: ajax/upload.php:23
+#: ajax/upload.php:33
msgid ""
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
"the HTML form"
msgstr "ไฟล์ที่อัพโหลดมีขนาดเà¸à¸´à¸™à¸„ำสั่ง MAX_FILE_SIZE ที่ระบุเอาไว้ในรูปà¹à¸šà¸šà¸„ำสั่งในภาษา HTML"
-#: ajax/upload.php:25
+#: ajax/upload.php:35
msgid "The uploaded file was only partially uploaded"
msgstr "ไฟล์ที่อัพโหลดยังไม่ได้ถูà¸à¸­à¸±à¸žà¹‚หลดอย่างสมบูรณ์"
-#: ajax/upload.php:26
+#: ajax/upload.php:36
msgid "No file was uploaded"
msgstr "ยังไม่มีไฟล์ที่ถูà¸à¸­à¸±à¸žà¹‚หลด"
-#: ajax/upload.php:27
+#: ajax/upload.php:37
msgid "Missing a temporary folder"
msgstr "à¹à¸Ÿà¹‰à¸¡à¹€à¸­à¸à¸ªà¸²à¸£à¸Šà¸±à¹ˆà¸§à¸„ราวเà¸à¸´à¸”à¸à¸²à¸£à¸ªà¸¹à¸à¸«à¸²à¸¢"
-#: ajax/upload.php:28
+#: ajax/upload.php:38
msgid "Failed to write to disk"
msgstr "เขียนข้อมูลลงà¹à¸œà¹ˆà¸™à¸”ิสà¸à¹Œà¸¥à¹‰à¸¡à¹€à¸«à¸¥à¸§"
+#: ajax/upload.php:57
+msgid "Not enough space available"
+msgstr "มีพื้นที่เหลือไม่เพียงพอ"
+
+#: ajax/upload.php:91
+msgid "Invalid directory."
+msgstr "ไดเร็à¸à¸—อรี่ไม่ถูà¸à¸•้อง"
+
#: appinfo/app.php:10
msgid "Files"
msgstr "ไฟล์"
-#: js/fileactions.js:117 templates/index.php:84 templates/index.php:85
+#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
msgid "Unshare"
msgstr "ยà¸à¹€à¸¥à¸´à¸à¸à¸²à¸£à¹à¸Šà¸£à¹Œà¸‚้อมูล"
-#: js/fileactions.js:119 templates/index.php:90 templates/index.php:91
+#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
msgid "Delete"
msgstr "ลบ"
@@ -66,122 +97,136 @@ msgstr "ลบ"
msgid "Rename"
msgstr "เปลี่ยนชื่อ"
-#: js/filelist.js:199 js/filelist.js:201
+#: js/filelist.js:205 js/filelist.js:207
msgid "{new_name} already exists"
msgstr "{new_name} มีอยู่à¹à¸¥à¹‰à¸§à¹ƒà¸™à¸£à¸°à¸šà¸š"
-#: js/filelist.js:199 js/filelist.js:201
+#: js/filelist.js:205 js/filelist.js:207
msgid "replace"
msgstr "à¹à¸—นที่"
-#: js/filelist.js:199
+#: js/filelist.js:205
msgid "suggest name"
msgstr "à¹à¸™à¸°à¸™à¸³à¸Šà¸·à¹ˆà¸­"
-#: js/filelist.js:199 js/filelist.js:201
+#: js/filelist.js:205 js/filelist.js:207
msgid "cancel"
msgstr "ยà¸à¹€à¸¥à¸´à¸"
-#: js/filelist.js:248
+#: js/filelist.js:254
msgid "replaced {new_name}"
msgstr "à¹à¸—นที่ {new_name} à¹à¸¥à¹‰à¸§"
-#: js/filelist.js:248 js/filelist.js:250 js/filelist.js:282 js/filelist.js:284
+#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
msgid "undo"
msgstr "เลิà¸à¸—ำ"
-#: js/filelist.js:250
+#: js/filelist.js:256
msgid "replaced {new_name} with {old_name}"
msgstr "à¹à¸—นที่ {new_name} ด้วย {old_name} à¹à¸¥à¹‰à¸§"
-#: js/filelist.js:282
+#: js/filelist.js:288
msgid "unshared {files}"
msgstr "ยà¸à¹€à¸¥à¸´à¸à¸à¸²à¸£à¹à¸Šà¸£à¹Œà¹à¸¥à¹‰à¸§ {files} ไฟล์"
-#: js/filelist.js:284
+#: js/filelist.js:290
msgid "deleted {files}"
msgstr "ลบไฟล์à¹à¸¥à¹‰à¸§ {files} ไฟล์"
-#: js/files.js:33
+#: js/files.js:48
+msgid "'.' is an invalid file name."
+msgstr "'.' เป็นชื่อไฟล์ที่ไม่ถูà¸à¸•้อง"
+
+#: js/files.js:53
+msgid "File name cannot be empty."
+msgstr "ชื่อไฟล์ไม่สามารถเว้นว่างได้"
+
+#: js/files.js:62
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr "ชื่อที่ใช้ไม่ถูà¸à¸•้อง, '\\', '/', '<', '>', ':', '\"', '|', '?' à¹à¸¥à¸° '*' ไม่ได้รับอนุà¸à¸²à¸•ให้ใช้งานได้"
-#: js/files.js:174
-msgid "generating ZIP-file, it may take some time."
-msgstr "à¸à¸³à¸¥à¸±à¸‡à¸ªà¸£à¹‰à¸²à¸‡à¹„ฟล์บีบอัด ZIP อาจใช้เวลาสัà¸à¸„รู่"
+#: js/files.js:204
+msgid ""
+"Your download is being prepared. This might take some time if the files are "
+"big."
+msgstr "à¸à¸³à¸¥à¸±à¸‡à¹€à¸•รียมดาวน์โหลดข้อมูล หาà¸à¹„ฟล์มีขนาดใหà¸à¹ˆ อาจใช้เวลาสัà¸à¸„รู่"
-#: js/files.js:212
+#: js/files.js:242
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr "ไม่สามารถอัพโหลดไฟล์ของคุณได้ เนื่องจาà¸à¹„ฟล์ดังà¸à¸¥à¹ˆà¸²à¸§à¹€à¸›à¹‡à¸™à¹„ดเร็à¸à¸—อรี่หรือมีขนาด 0 ไบต์"
-#: js/files.js:212
+#: js/files.js:242
msgid "Upload Error"
msgstr "เà¸à¸´à¸”ข้อผิดพลาดในà¸à¸²à¸£à¸­à¸±à¸žà¹‚หลด"
-#: js/files.js:229
+#: js/files.js:259
msgid "Close"
msgstr "ปิด"
-#: js/files.js:248 js/files.js:362 js/files.js:392
+#: js/files.js:278 js/files.js:397 js/files.js:431
msgid "Pending"
msgstr "อยู่ระหว่างดำเนินà¸à¸²à¸£"
-#: js/files.js:268
+#: js/files.js:298
msgid "1 file uploading"
msgstr "à¸à¸³à¸¥à¸±à¸‡à¸­à¸±à¸žà¹‚หลดไฟล์ 1 ไฟล์"
-#: js/files.js:271 js/files.js:325 js/files.js:340
+#: js/files.js:301 js/files.js:357 js/files.js:372
msgid "{count} files uploading"
msgstr "à¸à¸³à¸¥à¸±à¸‡à¸­à¸±à¸žà¹‚หลด {count} ไฟล์"
-#: js/files.js:343 js/files.js:376
+#: js/files.js:376 js/files.js:414
msgid "Upload cancelled."
msgstr "à¸à¸²à¸£à¸­à¸±à¸žà¹‚หลดถูà¸à¸¢à¸à¹€à¸¥à¸´à¸"
-#: js/files.js:445
+#: js/files.js:486
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr "à¸à¸²à¸£à¸­à¸±à¸žà¹‚หลดไฟล์à¸à¸³à¸¥à¸±à¸‡à¸­à¸¢à¸¹à¹ˆà¹ƒà¸™à¸£à¸°à¸«à¸§à¹ˆà¸²à¸‡à¸”ำเนินà¸à¸²à¸£ à¸à¸²à¸£à¸­à¸­à¸à¸ˆà¸²à¸à¸«à¸™à¹‰à¸²à¹€à¸§à¹‡à¸šà¸™à¸µà¹‰à¸ˆà¸°à¸—ำให้à¸à¸²à¸£à¸­à¸±à¸žà¹‚หลดถูà¸à¸¢à¸à¹€à¸¥à¸´à¸"
-#: js/files.js:515
-msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud"
-msgstr "ชื่อโฟลเดอร์ที่ใช้ไม่ถูà¸à¸•้อง à¸à¸²à¸£à¹ƒà¸Šà¹‰à¸‡à¸²à¸™ \"ถูà¸à¹à¸Šà¸£à¹Œ\" ถูà¸à¸ªà¸‡à¸§à¸™à¹„ว้เฉพาะ Owncloud เท่านั้น"
+#: js/files.js:559
+msgid "URL cannot be empty."
+msgstr "URL ไม่สามารถเว้นว่างได้"
+
+#: js/files.js:565
+msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
+msgstr "ชื่อโฟลเดอร์ไม่ถูà¸à¸•้อง à¸à¸²à¸£à¹ƒà¸Šà¹‰à¸‡à¸²à¸™ 'à¹à¸Šà¸£à¹Œ' สงวนไว้สำหรับ Owncloud เท่านั้น"
-#: js/files.js:699
+#: js/files.js:775
msgid "{count} files scanned"
msgstr "สà¹à¸à¸™à¹„ฟล์à¹à¸¥à¹‰à¸§ {count} ไฟล์"
-#: js/files.js:707
+#: js/files.js:783
msgid "error while scanning"
msgstr "พบข้อผิดพลาดในระหว่างà¸à¸²à¸£à¸ªà¹à¸à¸™à¹„ฟล์"
-#: js/files.js:780 templates/index.php:66
+#: js/files.js:857 templates/index.php:64
msgid "Name"
msgstr "ชื่อ"
-#: js/files.js:781 templates/index.php:77
+#: js/files.js:858 templates/index.php:75
msgid "Size"
msgstr "ขนาด"
-#: js/files.js:782 templates/index.php:79
+#: js/files.js:859 templates/index.php:77
msgid "Modified"
msgstr "ปรับปรุงล่าสุด"
-#: js/files.js:801
+#: js/files.js:878
msgid "1 folder"
msgstr "1 โฟลเดอร์"
-#: js/files.js:803
+#: js/files.js:880
msgid "{count} folders"
msgstr "{count} โฟลเดอร์"
-#: js/files.js:811
+#: js/files.js:888
msgid "1 file"
msgstr "1 ไฟล์"
-#: js/files.js:813
+#: js/files.js:890
msgid "{count} files"
msgstr "{count} ไฟล์"
@@ -193,27 +238,27 @@ msgstr "à¸à¸²à¸£à¸ˆà¸±à¸”à¸à¸²à¹„ฟล์"
msgid "Maximum upload size"
msgstr "ขนาดไฟล์สูงสุดที่อัพโหลดได้"
-#: templates/admin.php:9
+#: templates/admin.php:10
msgid "max. possible: "
msgstr "จำนวนสูงสุดที่สามารถทำได้: "
-#: templates/admin.php:12
+#: templates/admin.php:15
msgid "Needed for multi-file and folder downloads."
msgstr "จำเป็นต้องใช้สำหรับà¸à¸²à¸£à¸”าวน์โหลดไฟล์พร้อมà¸à¸±à¸™à¸«à¸¥à¸²à¸¢à¹†à¹„ฟล์หรือดาวน์โหลดทั้งโฟลเดอร์"
-#: templates/admin.php:14
+#: templates/admin.php:17
msgid "Enable ZIP-download"
msgstr "อนุà¸à¸²à¸•ให้ดาวน์โหลดเป็นไฟล์ ZIP ได้"
-#: templates/admin.php:17
+#: templates/admin.php:20
msgid "0 is unlimited"
msgstr "0 หมายถึงไม่จำà¸à¸±à¸”"
-#: templates/admin.php:19
+#: templates/admin.php:22
msgid "Maximum input size for ZIP files"
msgstr "ขนาดไฟล์ ZIP สูงสุด"
-#: templates/admin.php:23
+#: templates/admin.php:26
msgid "Save"
msgstr "บันทึà¸"
@@ -233,36 +278,32 @@ msgstr "à¹à¸Ÿà¹‰à¸¡à¹€à¸­à¸à¸ªà¸²à¸£"
msgid "From link"
msgstr "จาà¸à¸¥à¸´à¸‡à¸à¹Œ"
-#: templates/index.php:35
-msgid "Upload"
-msgstr "อัพโหลด"
-
-#: templates/index.php:43
+#: templates/index.php:41
msgid "Cancel upload"
msgstr "ยà¸à¹€à¸¥à¸´à¸à¸à¸²à¸£à¸­à¸±à¸žà¹‚หลด"
-#: templates/index.php:58
+#: templates/index.php:56
msgid "Nothing in here. Upload something!"
msgstr "ยังไม่มีไฟล์ใดๆอยู่ที่นี่ à¸à¸£à¸¸à¸“าอัพโหลดไฟล์!"
-#: templates/index.php:72
+#: templates/index.php:70
msgid "Download"
msgstr "ดาวน์โหลด"
-#: templates/index.php:104
+#: templates/index.php:102
msgid "Upload too large"
msgstr "ไฟล์ที่อัพโหลดมีขนาดใหà¸à¹ˆà¹€à¸à¸´à¸™à¹„ป"
-#: templates/index.php:106
+#: templates/index.php:104
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "ไฟล์ที่คุณพยายามที่จะอัพโหลดมีขนาดเà¸à¸´à¸™à¸à¸§à¹ˆà¸²à¸‚นาดสูงสุดที่à¸à¸³à¸«à¸™à¸”ไว้ให้อัพโหลดได้สำหรับเซิร์ฟเวอร์นี้"
-#: templates/index.php:111
+#: templates/index.php:109
msgid "Files are being scanned, please wait."
msgstr "ไฟล์à¸à¸³à¸¥à¸±à¸‡à¸­à¸¢à¸¹à¹ˆà¸£à¸°à¸«à¸§à¹ˆà¸²à¸‡à¸à¸²à¸£à¸ªà¹à¸à¸™, à¸à¸£à¸¸à¸“ารอสัà¸à¸„รู่."
-#: templates/index.php:114
+#: templates/index.php:112
msgid "Current scanning"
msgstr "ไฟล์ที่à¸à¸³à¸¥à¸±à¸‡à¸ªà¹à¸à¸™à¸­à¸¢à¸¹à¹ˆà¸‚ณะนี้"
diff --git a/l10n/th_TH/files_encryption.po b/l10n/th_TH/files_encryption.po
index f396eed4dab..e76ad6347f8 100644
--- a/l10n/th_TH/files_encryption.po
+++ b/l10n/th_TH/files_encryption.po
@@ -3,33 +3,81 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
-# AriesAnywhere Anywhere <ariesanywhere@gmail.com>, 2012.
+# AriesAnywhere Anywhere <ariesanywhere@gmail.com>, 2012-2013.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-08-15 02:02+0200\n"
-"PO-Revision-Date: 2012-08-14 13:12+0000\n"
+"POT-Creation-Date: 2013-01-24 00:06+0100\n"
+"PO-Revision-Date: 2013-01-23 15:03+0000\n"
"Last-Translator: AriesAnywhere Anywhere <ariesanywhere@gmail.com>\n"
"Language-Team: Thai (Thailand) (http://www.transifex.com/projects/p/owncloud/language/th_TH/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: th_TH\n"
-"Plural-Forms: nplurals=1; plural=0\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr "à¸à¸£à¸¸à¸“าสลับไปที่โปรà¹à¸à¸£à¸¡à¹„คลเอนต์ ownCloud ของคุณ à¹à¸¥à¹‰à¸§à¹€à¸›à¸¥à¸µà¹ˆà¸¢à¸™à¸£à¸«à¸±à¸ªà¸œà¹ˆà¸²à¸™à¸ªà¸³à¸«à¸£à¸±à¸šà¸à¸²à¸£à¹€à¸‚้ารหัสเพื่อà¹à¸›à¸¥à¸‡à¸‚้อมูลให้เสร็จสมบูรณ์"
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr "สลับไปใช้à¸à¸²à¸£à¹€à¸‚้ารหัสจาà¸à¹‚ปรà¹à¸à¸£à¸¡à¹„คลเอนต์"
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr "เปลี่ยนรหัสผ่านสำหรับเข้ารหัสไปเป็นรหัสผ่านสำหรับà¸à¸²à¸£à¹€à¸‚้าสู่ระบบ"
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr "à¸à¸£à¸¸à¸“าตรวจสอบรหัสผ่านของคุณà¹à¸¥à¹‰à¸§à¸¥à¸­à¸‡à¹ƒà¸«à¸¡à¹ˆà¸­à¸µà¸à¸„รั้ง"
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr "ไม่สามารถเปลี่ยนรหัสผ่านสำหรับà¸à¸²à¸£à¹€à¸‚้ารหัสไฟล์ของคุณไปเป็นรหัสผ่านสำหรับà¸à¸²à¸£à¹€à¸‚้าสู่ระบบของคุณได้"
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr "เลือà¸à¸£à¸¹à¸›à¹à¸šà¸šà¸à¸²à¸£à¹€à¸‚้ารหัส:"
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr "à¸à¸²à¸£à¹€à¸‚้ารหัสด้วยโปรà¹à¸à¸£à¸¡à¹„คลเอนต์ (ปลอดภัยที่สุด à¹à¸•่จะทำให้คุณไม่สามารถเข้าถึงข้อมูลต่างๆจาà¸à¸«à¸™à¹‰à¸²à¸ˆà¸­à¹€à¸§à¹‡à¸šà¹„ซต์ได้)"
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr "à¸à¸²à¸£à¹€à¸‚้ารหัสจาà¸à¸—างà¸à¸±à¹ˆà¸‡à¹€à¸‹à¸´à¸£à¹Œà¸Ÿà¹€à¸§à¸­à¸£à¹Œ (อนุà¸à¸²à¸•ให้คุณเข้าถึงไฟล์ของคุณจาà¸à¸«à¸™à¹‰à¸²à¸ˆà¸­à¹€à¸§à¹‡à¸šà¹„ซต์ à¹à¸¥à¸°à¹‚ปรà¹à¸à¸£à¸¡à¹„คลเอนต์จาà¸à¹€à¸„รื่องเดสà¸à¹Œà¸—็อปได้)"
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr "ไม่ต้อง (ไม่มีà¸à¸²à¸£à¹€à¸‚้ารหัสเลย)"
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr "ข้อความสำคัà¸: หลังจาà¸à¸—ี่คุณได้เลือà¸à¸£à¸¹à¸›à¹à¸šà¸šà¸à¸²à¸£à¹€à¸‚้ารหัสà¹à¸¥à¹‰à¸§ จะไม่สามารถเปลี่ยนà¸à¸¥à¸±à¸šà¸¡à¸²à¹ƒà¸«à¸¡à¹ˆà¹„ด้อีà¸"
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr "ให้ผู้ใช้งานเลือà¸à¹€à¸­à¸‡ (ปล่อยให้ผู้ใช้งานตัดสินใจเอง)"
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "à¸à¸²à¸£à¹€à¸‚้ารหัส"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "ไม่ต้องรวมชนิดของไฟล์ดังต่อไปนี้จาà¸à¸à¸²à¸£à¹€à¸‚้ารหัส"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "ไม่ต้อง"
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "เปิดใช้งานà¸à¸²à¸£à¹€à¸‚้ารหัส"
diff --git a/l10n/th_TH/files_external.po b/l10n/th_TH/files_external.po
index efca59c6be0..6d58bbeaf81 100644
--- a/l10n/th_TH/files_external.po
+++ b/l10n/th_TH/files_external.po
@@ -3,14 +3,14 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
-# AriesAnywhere Anywhere <ariesanywhere@gmail.com>, 2012.
+# AriesAnywhere Anywhere <ariesanywhere@gmail.com>, 2012-2013.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-13 00:17+0100\n"
-"PO-Revision-Date: 2012-12-11 23:22+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 00:50+0000\n"
+"Last-Translator: AriesAnywhere Anywhere <ariesanywhere@gmail.com>\n"
"Language-Team: Thai (Thailand) (http://www.transifex.com/projects/p/owncloud/language/th_TH/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -46,14 +46,14 @@ msgstr "เà¸à¸´à¸”ข้อผิดพลาดในà¸à¸²à¸£à¸à¸³à¸«à¸™à¸”
msgid ""
"<b>Warning:</b> \"smbclient\" is not installed. Mounting of CIFS/SMB shares "
"is not possible. Please ask your system administrator to install it."
-msgstr ""
+msgstr "<b>คำเตือน:</b> \"smbclient\" ยังไม่ได้ถูà¸à¸•ิดตั้ง. à¸à¸²à¸£à¸Šà¸µà¹‰ CIFS/SMB เพื่อà¹à¸Šà¸£à¹Œà¸‚้อมูลไม่สามารถà¸à¸£à¸°à¸—ำได้ à¸à¸£à¸¸à¸“าสอบถามข้อมูลเพิ่มเติมจาà¸à¸œà¸¹à¹‰à¸”ูà¹à¸¥à¸£à¸°à¸šà¸šà¹€à¸žà¸·à¹ˆà¸­à¸•ิดตั้ง."
#: lib/config.php:435
msgid ""
"<b>Warning:</b> The FTP support in PHP is not enabled or installed. Mounting"
" of FTP shares is not possible. Please ask your system administrator to "
"install it."
-msgstr ""
+msgstr "<b>คำเตือน:</b> à¸à¸²à¸£à¸ªà¸™à¸±à¸šà¸ªà¸™à¸¸à¸™à¸à¸²à¸£à¹ƒà¸Šà¹‰à¸‡à¸²à¸™ FTP ในภาษา PHP ยังไม่ได้ถูà¸à¹€à¸›à¸´à¸”ใช้งานหรือถูà¸à¸•ิดตั้ง. à¸à¸²à¸£à¸Šà¸µà¹‰ FTP เพื่อà¹à¸Šà¸£à¹Œà¸‚้อมูลไม่สามารถดำเนินà¸à¸²à¸£à¹„ด้ à¸à¸£à¸¸à¸“าสอบถามข้อมูลเพิ่มเติมจาà¸à¸œà¸¹à¹‰à¸”ูà¹à¸¥à¸£à¸°à¸šà¸šà¹€à¸žà¸·à¹ˆà¸­à¸•ิดตั้ง"
#: templates/settings.php:3
msgid "External Storage"
@@ -100,7 +100,7 @@ msgid "Users"
msgstr "ผู้ใช้งาน"
#: templates/settings.php:108 templates/settings.php:109
-#: templates/settings.php:149 templates/settings.php:150
+#: templates/settings.php:144 templates/settings.php:145
msgid "Delete"
msgstr "ลบ"
@@ -112,10 +112,10 @@ msgstr "เปิดให้มีà¸à¸²à¸£à¹ƒà¸Šà¹‰à¸žà¸·à¹‰à¸™à¸—ี่จั
msgid "Allow users to mount their own external storage"
msgstr "อนุà¸à¸²à¸•ให้ผู้ใช้งานสามารถชี้ตำà¹à¸«à¸™à¹ˆà¸‡à¹„ปที่พื้นที่จัดเà¸à¹‡à¸šà¸‚้อมูลภายนอà¸à¸‚องตนเองได้"
-#: templates/settings.php:139
+#: templates/settings.php:136
msgid "SSL root certificates"
msgstr "ใบรับรองความปลอดภัยด้วยระบบ SSL จาภRoot"
-#: templates/settings.php:158
+#: templates/settings.php:153
msgid "Import Root Certificate"
msgstr "นำเข้าข้อมูลใบรับรองความปลอดภัยจาภRoot"
diff --git a/l10n/th_TH/files_versions.po b/l10n/th_TH/files_versions.po
index 7582be9f673..c36c1b5941b 100644
--- a/l10n/th_TH/files_versions.po
+++ b/l10n/th_TH/files_versions.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-09-23 02:01+0200\n"
-"PO-Revision-Date: 2012-09-22 11:09+0000\n"
-"Last-Translator: AriesAnywhere Anywhere <ariesanywhere@gmail.com>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:03+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,22 +18,10 @@ msgstr ""
"Language: th_TH\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: js/settings-personal.js:31 templates/settings-personal.php:10
-msgid "Expire all versions"
-msgstr "หมดอายุทุà¸à¸£à¸¸à¹ˆà¸™"
-
#: js/versions.js:16
msgid "History"
msgstr "ประวัติ"
-#: templates/settings-personal.php:4
-msgid "Versions"
-msgstr "รุ่น"
-
-#: templates/settings-personal.php:7
-msgid "This will delete all existing backup versions of your files"
-msgstr "นี่จะเป็นลบทิ้งไฟล์รุ่นที่ทำà¸à¸²à¸£à¸ªà¸³à¸£à¸­à¸‡à¸‚้อมูลทั้งหมดที่มีอยู่ของคุณทิ้งไป"
-
#: templates/settings.php:3
msgid "Files Versioning"
msgstr "à¸à¸²à¸£à¸à¸³à¸«à¸™à¸”เวอร์ชั่นของไฟล์"
diff --git a/l10n/th_TH/lib.po b/l10n/th_TH/lib.po
index 93bec7510e5..ab2e3132762 100644
--- a/l10n/th_TH/lib.po
+++ b/l10n/th_TH/lib.po
@@ -3,13 +3,13 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
-# AriesAnywhere Anywhere <ariesanywhere@gmail.com>, 2012.
+# AriesAnywhere Anywhere <ariesanywhere@gmail.com>, 2012-2013.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-11-23 00:01+0100\n"
-"PO-Revision-Date: 2012-11-22 10:45+0000\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 00:44+0000\n"
"Last-Translator: AriesAnywhere Anywhere <ariesanywhere@gmail.com>\n"
"Language-Team: Thai (Thailand) (http://www.transifex.com/projects/p/owncloud/language/th_TH/)\n"
"MIME-Version: 1.0\n"
@@ -18,51 +18,55 @@ msgstr ""
"Language: th_TH\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: app.php:285
+#: app.php:301
msgid "Help"
msgstr "ช่วยเหลือ"
-#: app.php:292
+#: app.php:308
msgid "Personal"
msgstr "ส่วนตัว"
-#: app.php:297
+#: app.php:313
msgid "Settings"
msgstr "ตั้งค่า"
-#: app.php:302
+#: app.php:318
msgid "Users"
msgstr "ผู้ใช้งาน"
-#: app.php:309
+#: app.php:325
msgid "Apps"
msgstr "à¹à¸­à¸›à¸¯"
-#: app.php:311
+#: app.php:327
msgid "Admin"
msgstr "ผู้ดูà¹à¸¥"
-#: files.php:361
+#: files.php:365
msgid "ZIP download is turned off."
msgstr "คุณสมบัติà¸à¸²à¸£à¸”าวน์โหลด zip ถูà¸à¸›à¸´à¸”à¸à¸²à¸£à¹ƒà¸Šà¹‰à¸‡à¸²à¸™à¹„ว้"
-#: files.php:362
+#: files.php:366
msgid "Files need to be downloaded one by one."
msgstr "ไฟล์สามารถดาวน์โหลดได้ทีละครั้งเท่านั้น"
-#: files.php:362 files.php:387
+#: files.php:366 files.php:391
msgid "Back to Files"
msgstr "à¸à¸¥à¸±à¸šà¹„ปที่ไฟล์"
-#: files.php:386
+#: files.php:390
msgid "Selected files too large to generate zip file."
msgstr "ไฟล์ที่เลือà¸à¸¡à¸µà¸‚นาดใหà¸à¹ˆà¹€à¸à¸´à¸™à¸à¸§à¹ˆà¸²à¸—ี่จะสร้างเป็นไฟล์ zip"
+#: helper.php:229
+msgid "couldn't be determined"
+msgstr "ไม่สามารถà¸à¸³à¸«à¸™à¸”ได้"
+
#: json.php:28
msgid "Application is not enabled"
msgstr "à¹à¸­à¸žà¸žà¸¥à¸´à¹€à¸„ชั่นดังà¸à¸¥à¹ˆà¸²à¸§à¸¢à¸±à¸‡à¹„ม่ได้เปิดใช้งาน"
-#: json.php:39 json.php:64 json.php:77 json.php:89
+#: json.php:39 json.php:62 json.php:73
msgid "Authentication error"
msgstr "เà¸à¸´à¸”ข้อผิดพลาดในสิทธิ์à¸à¸²à¸£à¹€à¸‚้าใช้งาน"
@@ -82,55 +86,55 @@ msgstr "ข้อความ"
msgid "Images"
msgstr "รูปภาพ"
-#: template.php:103
+#: template.php:113
msgid "seconds ago"
msgstr "วินาทีที่ผ่านมา"
-#: template.php:104
+#: template.php:114
msgid "1 minute ago"
msgstr "1 นาทีมาà¹à¸¥à¹‰à¸§"
-#: template.php:105
+#: template.php:115
#, php-format
msgid "%d minutes ago"
msgstr "%d นาทีที่ผ่านมา"
-#: template.php:106
+#: template.php:116
msgid "1 hour ago"
msgstr "1 ชั่วโมงà¸à¹ˆà¸­à¸™à¸«à¸™à¹‰à¸²à¸™à¸µà¹‰"
-#: template.php:107
+#: template.php:117
#, php-format
msgid "%d hours ago"
msgstr "%d ชั่วโมงà¸à¹ˆà¸­à¸™à¸«à¸™à¹‰à¸²à¸™à¸µà¹‰"
-#: template.php:108
+#: template.php:118
msgid "today"
msgstr "วันนี้"
-#: template.php:109
+#: template.php:119
msgid "yesterday"
msgstr "เมื่อวานนี้"
-#: template.php:110
+#: template.php:120
#, php-format
msgid "%d days ago"
msgstr "%d วันที่ผ่านมา"
-#: template.php:111
+#: template.php:121
msgid "last month"
msgstr "เดือนที่à¹à¸¥à¹‰à¸§"
-#: template.php:112
+#: template.php:122
#, php-format
msgid "%d months ago"
msgstr "%d เดือนมาà¹à¸¥à¹‰à¸§"
-#: template.php:113
+#: template.php:123
msgid "last year"
msgstr "ปีที่à¹à¸¥à¹‰à¸§"
-#: template.php:114
+#: template.php:124
msgid "years ago"
msgstr "ปีที่ผ่านมา"
diff --git a/l10n/th_TH/settings.po b/l10n/th_TH/settings.po
index 41350a3882c..9e7676e802b 100644
--- a/l10n/th_TH/settings.po
+++ b/l10n/th_TH/settings.po
@@ -3,16 +3,16 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
-# AriesAnywhere Anywhere <ariesanywhere@gmail.com>, 2012.
+# AriesAnywhere Anywhere <ariesanywhere@gmail.com>, 2012-2013.
# AriesAnywhere Anywhere <ariesanywherer@gmail.com>, 2012.
# <icewind1991@gmail.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-21 00:10+0100\n"
-"PO-Revision-Date: 2012-12-19 23:20+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 00:59+0000\n"
+"Last-Translator: AriesAnywhere Anywhere <ariesanywhere@gmail.com>\n"
"Language-Team: Thai (Thailand) (http://www.transifex.com/projects/p/owncloud/language/th_TH/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -32,7 +32,7 @@ msgstr "มีà¸à¸¥à¸¸à¹ˆà¸¡à¸”ังà¸à¸¥à¹ˆà¸²à¸§à¸­à¸¢à¸¹à¹ˆà¹ƒà¸™à¸£à¸°à¸š
msgid "Unable to add group"
msgstr "ไม่สามารถเพิ่มà¸à¸¥à¸¸à¹ˆà¸¡à¹„ด้"
-#: ajax/enableapp.php:12
+#: ajax/enableapp.php:11
msgid "Could not enable app. "
msgstr "ไม่สามารถเปิดใช้งานà¹à¸­à¸›à¹„ด้"
@@ -44,14 +44,6 @@ msgstr "อีเมลถูà¸à¸šà¸±à¸™à¸—ึà¸à¹à¸¥à¹‰à¸§"
msgid "Invalid email"
msgstr "อีเมลไม่ถูà¸à¸•้อง"
-#: ajax/openid.php:13
-msgid "OpenID Changed"
-msgstr "เปลี่ยนชื่อบัà¸à¸Šà¸µ OpenID à¹à¸¥à¹‰à¸§"
-
-#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20
-msgid "Invalid request"
-msgstr "คำร้องขอไม่ถูà¸à¸•้อง"
-
#: ajax/removegroup.php:13
msgid "Unable to delete group"
msgstr "ไม่สามารถลบà¸à¸¥à¸¸à¹ˆà¸¡à¹„ด้"
@@ -68,9 +60,13 @@ msgstr "ไม่สามารถลบผู้ใช้งานได้"
msgid "Language changed"
msgstr "เปลี่ยนภาษาเรียบร้อยà¹à¸¥à¹‰à¸§"
+#: ajax/setlanguage.php:17 ajax/setlanguage.php:20
+msgid "Invalid request"
+msgstr "คำร้องขอไม่ถูà¸à¸•้อง"
+
#: ajax/togglegroups.php:12
msgid "Admins can't remove themself from the admin group"
-msgstr ""
+msgstr "ผู้ดูà¹à¸¥à¸£à¸°à¸šà¸šà¹„ม่สามารถลบตัวเองออà¸à¸ˆà¸²à¸à¸à¸¥à¸¸à¹ˆà¸¡à¸œà¸¹à¹‰à¸”ูà¹à¸¥à¹„ด้"
#: ajax/togglegroups.php:28
#, php-format
@@ -120,27 +116,27 @@ msgstr "<span class=\"licence\"></span>-ลิขสิทธิ์à¸à¸²à¸£à¹ƒà
#: templates/help.php:3
msgid "User Documentation"
-msgstr ""
+msgstr "เอà¸à¸ªà¸²à¸£à¸„ู่มือà¸à¸²à¸£à¹ƒà¸Šà¹‰à¸‡à¸²à¸™à¸ªà¸³à¸«à¸£à¸±à¸šà¸œà¸¹à¹‰à¹ƒà¸Šà¹‰à¸‡à¸²à¸™"
#: templates/help.php:4
msgid "Administrator Documentation"
-msgstr ""
+msgstr "เอà¸à¸ªà¸²à¸£à¸„ู่มือà¸à¸²à¸£à¹ƒà¸Šà¹‰à¸‡à¸²à¸™à¸ªà¸³à¸«à¸£à¸±à¸šà¸œà¸¹à¹‰à¸”ูà¹à¸¥à¸£à¸°à¸šà¸š"
#: templates/help.php:6
msgid "Online Documentation"
-msgstr ""
+msgstr "เอà¸à¸ªà¸²à¸£à¸„ู่มือà¸à¸²à¸£à¹ƒà¸Šà¹‰à¸‡à¸²à¸™à¸­à¸­à¸™à¹„ลน์"
#: templates/help.php:7
msgid "Forum"
-msgstr ""
+msgstr "à¸à¸£à¸°à¸”านสนทนา"
#: templates/help.php:9
msgid "Bugtracker"
-msgstr ""
+msgstr "Bugtracker"
#: templates/help.php:11
msgid "Commercial Support"
-msgstr ""
+msgstr "บริà¸à¸²à¸£à¸¥à¸¹à¸à¸„้าà¹à¸šà¸šà¹€à¸ªà¸µà¸¢à¸„่าใช้จ่าย"
#: templates/personal.php:8
#, php-format
@@ -153,17 +149,17 @@ msgstr "ลูà¸à¸„้า"
#: templates/personal.php:13
msgid "Download Desktop Clients"
-msgstr ""
+msgstr "ดาวน์โหลดโปรà¹à¸à¸£à¸¡à¹„คลเอนต์สำหรับเครื่องเดสà¸à¹Œà¸—็อป"
#: templates/personal.php:14
msgid "Download Android Client"
-msgstr ""
+msgstr "ดาวน์โหลดโปรà¹à¸à¸£à¸¡à¹„คลเอนต์สำหรับà¹à¸­à¸™à¸”รอยด์"
#: templates/personal.php:15
msgid "Download iOS Client"
-msgstr ""
+msgstr "ดาวน์โหลดโปรà¹à¸à¸£à¸¡à¹„คลเอนต์สำหรับ iOS"
-#: templates/personal.php:21 templates/users.php:23 templates/users.php:77
+#: templates/personal.php:21 templates/users.php:23 templates/users.php:82
msgid "Password"
msgstr "รหัสผ่าน"
@@ -213,15 +209,15 @@ msgstr "ช่วยà¸à¸±à¸™à¹à¸›à¸¥"
#: templates/personal.php:52
msgid "WebDAV"
-msgstr ""
+msgstr "WebDAV"
#: templates/personal.php:54
msgid "Use this address to connect to your ownCloud in your file manager"
-msgstr ""
+msgstr "ใช้ที่อยู่นี้เพื่อเชื่อมต่อà¸à¸±à¸š ownCloud ในโปรà¹à¸à¸£à¸¡à¸ˆà¸±à¸”à¸à¸²à¸£à¹„ฟล์ของคุณ"
#: templates/personal.php:63
msgid "Version"
-msgstr ""
+msgstr "รุ่น"
#: templates/personal.php:65
msgid ""
@@ -233,11 +229,11 @@ msgid ""
"License\">AGPL</abbr></a>."
msgstr "พัฒนาโดย the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ชุมชนผู้ใช้งาน ownCloud</a>, the <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/users.php:21 templates/users.php:76
+#: templates/users.php:21 templates/users.php:81
msgid "Name"
msgstr "ชื่อ"
-#: templates/users.php:26 templates/users.php:78 templates/users.php:98
+#: templates/users.php:26 templates/users.php:83 templates/users.php:103
msgid "Groups"
msgstr "à¸à¸¥à¸¸à¹ˆà¸¡"
@@ -246,21 +242,29 @@ msgid "Create"
msgstr "สร้าง"
#: templates/users.php:35
-msgid "Default Quota"
-msgstr "โควต้าที่à¸à¸³à¸«à¸™à¸”ไว้เริ่มต้น"
+msgid "Default Storage"
+msgstr "พื้นที่จำà¸à¸±à¸”ข้อมูลเริ่มต้น"
-#: templates/users.php:55 templates/users.php:138
+#: templates/users.php:42 templates/users.php:138
+msgid "Unlimited"
+msgstr "ไม่จำà¸à¸±à¸”จำนวน"
+
+#: templates/users.php:60 templates/users.php:153
msgid "Other"
msgstr "อื่นๆ"
-#: templates/users.php:80 templates/users.php:112
+#: templates/users.php:85 templates/users.php:117
msgid "Group Admin"
msgstr "ผู้ดูà¹à¸¥à¸à¸¥à¸¸à¹ˆà¸¡"
-#: templates/users.php:82
-msgid "Quota"
-msgstr "พื้นที่"
+#: templates/users.php:87
+msgid "Storage"
+msgstr "พื้นที่จัดเà¸à¹‡à¸šà¸‚้อมูล"
+
+#: templates/users.php:133
+msgid "Default"
+msgstr "ค่าเริ่มต้น"
-#: templates/users.php:146
+#: templates/users.php:161
msgid "Delete"
msgstr "ลบ"
diff --git a/l10n/th_TH/user_ldap.po b/l10n/th_TH/user_ldap.po
index c8a7bd651bd..bb0c9b64412 100644
--- a/l10n/th_TH/user_ldap.po
+++ b/l10n/th_TH/user_ldap.po
@@ -3,14 +3,14 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
-# AriesAnywhere Anywhere <ariesanywhere@gmail.com>, 2012.
+# AriesAnywhere Anywhere <ariesanywhere@gmail.com>, 2012-2013.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-15 00:11+0100\n"
-"PO-Revision-Date: 2012-12-14 23:11+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 01:21+0000\n"
+"Last-Translator: AriesAnywhere Anywhere <ariesanywhere@gmail.com>\n"
"Language-Team: Thai (Thailand) (http://www.transifex.com/projects/p/owncloud/language/th_TH/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -23,13 +23,13 @@ msgid ""
"<b>Warning:</b> Apps user_ldap and user_webdavauth are incompatible. You may"
" experience unexpected behaviour. Please ask your system administrator to "
"disable one of them."
-msgstr ""
+msgstr "<b>คำเตือน:</b> à¹à¸­à¸›à¸¯ user_ldap à¹à¸¥à¸° user_webdavauth ไม่สามารถใช้งานร่วมà¸à¸±à¸™à¹„ด้. คุณอาจประสพปัà¸à¸«à¸²à¸—ี่ไม่คาดคิดจาà¸à¹€à¸«à¸•ุà¸à¸²à¸£à¸“์ดังà¸à¸¥à¹ˆà¸²à¸§ à¸à¸£à¸¸à¸“าติดต่อผู้ดูà¹à¸¥à¸£à¸°à¸šà¸šà¸‚องคุณเพื่อระงับà¸à¸²à¸£à¹ƒà¸Šà¹‰à¸‡à¸²à¸™à¹à¸­à¸›à¸¯ ตัวใดตัวหนึ่งข้างต้น"
#: templates/settings.php:11
msgid ""
-"<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will"
-" not work. Please ask your system administrator to install it."
-msgstr ""
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not "
+"work. Please ask your system administrator to install it."
+msgstr "<b>คำเตือน:</b> โมดูล PHP LDAP ยังไม่ได้ถูà¸à¸•ิดตั้ง, ระบบด้านหลังจะไม่สามารถทำงานได้ à¸à¸£à¸¸à¸“าติดต่อผู้ดูà¹à¸¥à¸£à¸°à¸šà¸šà¸‚องคุณเพื่อทำà¸à¸²à¸£à¸•ิดตั้งโมดูลดังà¸à¸¥à¹ˆà¸²à¸§"
#: templates/settings.php:15
msgid "Host"
@@ -45,6 +45,10 @@ msgid "Base DN"
msgstr "DN à¸à¸²à¸™"
#: templates/settings.php:16
+msgid "One Base DN per line"
+msgstr "หนึ่ง Base DN ต่อบรรทัด"
+
+#: templates/settings.php:16
msgid "You can specify Base DN for users and groups in the Advanced tab"
msgstr "คุณสามารถระบุ DN หลัà¸à¸ªà¸³à¸«à¸£à¸±à¸šà¸œà¸¹à¹‰à¹ƒà¸Šà¹‰à¸‡à¸²à¸™à¹à¸¥à¸°à¸à¸¥à¸¸à¹ˆà¸¡à¸•่างๆในà¹à¸—็บขั้นสูงได้"
@@ -115,10 +119,18 @@ msgstr "พอร์ต"
msgid "Base User Tree"
msgstr "รายà¸à¸²à¸£à¸œà¸¹à¹‰à¹ƒà¸Šà¹‰à¸‡à¸²à¸™à¸«à¸¥à¸±à¸à¹à¸šà¸š Tree"
+#: templates/settings.php:25
+msgid "One User Base DN per line"
+msgstr "หนึ่ง User Base DN ต่อบรรทัด"
+
#: templates/settings.php:26
msgid "Base Group Tree"
msgstr "รายà¸à¸²à¸£à¸à¸¥à¸¸à¹ˆà¸¡à¸«à¸¥à¸±à¸à¹à¸šà¸š Tree"
+#: templates/settings.php:26
+msgid "One Group Base DN per line"
+msgstr "หนึ่ง Group Base DN ต่อบรรทัด"
+
#: templates/settings.php:27
msgid "Group-Member association"
msgstr "ความสัมพันธ์ของสมาชิà¸à¹ƒà¸™à¸à¸¥à¸¸à¹ˆà¸¡"
diff --git a/l10n/th_TH/user_webdavauth.po b/l10n/th_TH/user_webdavauth.po
index e169eac8418..3493831b2c1 100644
--- a/l10n/th_TH/user_webdavauth.po
+++ b/l10n/th_TH/user_webdavauth.po
@@ -3,14 +3,14 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
-# AriesAnywhere Anywhere <ariesanywhere@gmail.com>, 2012.
+# AriesAnywhere Anywhere <ariesanywhere@gmail.com>, 2012-2013.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-20 00:11+0100\n"
-"PO-Revision-Date: 2012-12-19 23:12+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 00:54+0000\n"
+"Last-Translator: AriesAnywhere Anywhere <ariesanywhere@gmail.com>\n"
"Language-Team: Thai (Thailand) (http://www.transifex.com/projects/p/owncloud/language/th_TH/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,13 +18,17 @@ msgstr ""
"Language: th_TH\n"
"Plural-Forms: nplurals=1; plural=0;\n"
+#: templates/settings.php:3
+msgid "WebDAV Authentication"
+msgstr "WebDAV Authentication"
+
#: templates/settings.php:4
msgid "URL: http://"
-msgstr ""
+msgstr "URL: http://"
#: templates/settings.php:6
msgid ""
-"ownCloud will send the user credentials to this URL is interpret http 401 "
-"and http 403 as credentials wrong and all other codes as credentials "
-"correct."
-msgstr ""
+"ownCloud will send the user credentials to this URL. 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 "ownCloud จะส่งข้อมูลà¸à¸²à¸£à¹€à¸‚้าใช้งานของผู้ใช้งานไปยังที่อยู่ URL ดังà¸à¸¥à¹ˆà¸²à¸§à¸™à¸µà¹‰ ปลั๊à¸à¸­à¸´à¸™à¸”ังà¸à¸¥à¹ˆà¸²à¸§à¸ˆà¸°à¸—ำà¸à¸²à¸£à¸•รวจสอบข้อมูลที่โต้ตอบà¸à¸¥à¸±à¸šà¸¡à¸²à¹à¸¥à¸°à¸ˆà¸°à¸—ำà¸à¸²à¸£à¹à¸›à¸¥à¸£à¸«à¸±à¸ª HTTP statuscodes 401 à¹à¸¥à¸° 403 ให้เป็นข้อมูลà¸à¸²à¸£à¹€à¸‚้าใช้งานที่ไม่สามารถใช้งานได้ ส่วนข้อมูลอื่นๆที่เหลือทั้งหมดจะเป็นข้อมูลà¸à¸²à¸£à¹€à¸‚้าใช้งานที่สามารถใช้งานได้"
diff --git a/l10n/tr/core.po b/l10n/tr/core.po
index 7c575fd5a3b..b35d17c7b5d 100644
--- a/l10n/tr/core.po
+++ b/l10n/tr/core.po
@@ -6,14 +6,15 @@
# Aranel Surion <aranel@aranelsurion.org>, 2011, 2012.
# Caner BaÅŸaran <basaran.caner@gmail.com>, 2012.
# <info@beyboo.de>, 2012.
+# ismail yenigul <ismail.yenigul@surgate.com>, 2013.
# Necdet Yücel <necdetyucel@gmail.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-13 00:17+0100\n"
-"PO-Revision-Date: 2012-12-12 23:17+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:04+0000\n"
+"Last-Translator: ismail yenigül <ismail.yenigul@surgate.com>\n"
"Language-Team: Turkish (http://www.transifex.com/projects/p/owncloud/language/tr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -24,30 +25,30 @@ msgstr ""
#: ajax/share.php:84
#, php-format
msgid "User %s shared a file with you"
-msgstr ""
+msgstr "%s kullanıcısı sizinle bir dosyayı paylaştı"
#: ajax/share.php:86
#, php-format
msgid "User %s shared a folder with you"
-msgstr ""
+msgstr "%s kullanıcısı sizinle bir dizini paylaştı"
#: ajax/share.php:88
#, php-format
msgid ""
"User %s shared the file \"%s\" with you. It is available for download here: "
"%s"
-msgstr ""
+msgstr "%s kullanıcısı \"%s\" dosyasını sizinle paylaştı. %s adresinden indirilebilir"
#: ajax/share.php:90
#, php-format
msgid ""
"User %s shared the folder \"%s\" with you. It is available for download "
"here: %s"
-msgstr ""
+msgstr "%s kullanıcısı \"%s\" dizinini sizinle paylaştı. %s adresinden indirilebilir"
#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25
msgid "Category type not provided."
-msgstr ""
+msgstr "Kategori türü desteklenmemektedir."
#: ajax/vcategories/add.php:30
msgid "No category to add?"
@@ -61,18 +62,18 @@ msgstr "Bu kategori zaten mevcut: "
#: ajax/vcategories/favorites.php:24
#: ajax/vcategories/removeFromFavorites.php:26
msgid "Object type not provided."
-msgstr ""
+msgstr "Nesne türü desteklenmemektedir."
#: ajax/vcategories/addToFavorites.php:30
#: ajax/vcategories/removeFromFavorites.php:30
#, php-format
msgid "%s ID not provided."
-msgstr ""
+msgstr "%s ID belirtilmedi."
#: ajax/vcategories/addToFavorites.php:35
#, php-format
msgid "Error adding %s to favorites."
-msgstr ""
+msgstr "%s favorilere eklenirken hata oluÅŸtu"
#: ajax/vcategories/delete.php:35 js/oc-vcategories.js:136
msgid "No categories selected for deletion."
@@ -81,63 +82,63 @@ msgstr "Silmek için bir kategori seçilmedi"
#: ajax/vcategories/removeFromFavorites.php:35
#, php-format
msgid "Error removing %s from favorites."
-msgstr ""
+msgstr "%s favorilere çıkarılırken hata oluştu"
#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61
msgid "Settings"
msgstr "Ayarlar"
-#: js/js.js:704
+#: js/js.js:706
msgid "seconds ago"
-msgstr ""
+msgstr "saniye önce"
-#: js/js.js:705
+#: js/js.js:707
msgid "1 minute ago"
-msgstr ""
+msgstr "1 dakika önce"
-#: js/js.js:706
+#: js/js.js:708
msgid "{minutes} minutes ago"
-msgstr ""
+msgstr "{minutes} dakika önce"
-#: js/js.js:707
+#: js/js.js:709
msgid "1 hour ago"
-msgstr ""
+msgstr "1 saat önce"
-#: js/js.js:708
+#: js/js.js:710
msgid "{hours} hours ago"
-msgstr ""
+msgstr "{hours} saat önce"
-#: js/js.js:709
+#: js/js.js:711
msgid "today"
-msgstr ""
+msgstr "bugün"
-#: js/js.js:710
+#: js/js.js:712
msgid "yesterday"
-msgstr ""
+msgstr "dün"
-#: js/js.js:711
+#: js/js.js:713
msgid "{days} days ago"
-msgstr ""
+msgstr "{days} gün önce"
-#: js/js.js:712
+#: js/js.js:714
msgid "last month"
-msgstr ""
+msgstr "geçen ay"
-#: js/js.js:713
+#: js/js.js:715
msgid "{months} months ago"
-msgstr ""
+msgstr "{months} ay önce"
-#: js/js.js:714
+#: js/js.js:716
msgid "months ago"
-msgstr ""
+msgstr "ay önce"
-#: js/js.js:715
+#: js/js.js:717
msgid "last year"
-msgstr ""
+msgstr "geçen yıl"
-#: js/js.js:716
+#: js/js.js:718
msgid "years ago"
-msgstr ""
+msgstr "yıl önce"
#: js/oc-dialogs.js:126
msgid "Choose"
@@ -162,41 +163,41 @@ msgstr "Tamam"
#: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102
#: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162
msgid "The object type is not specified."
-msgstr ""
+msgstr "Nesne türü belirtilmemiş."
#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136
-#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:541
-#: js/share.js:553
+#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:554
+#: js/share.js:566
msgid "Error"
msgstr "Hata"
#: js/oc-vcategories.js:179
msgid "The app name is not specified."
-msgstr ""
+msgstr "uygulama adı belirtilmedi."
#: js/oc-vcategories.js:194
msgid "The required file {file} is not installed!"
-msgstr ""
+msgstr "İhtiyaç duyulan {file} dosyası kurulu değil."
-#: js/share.js:124 js/share.js:581
+#: js/share.js:124 js/share.js:594
msgid "Error while sharing"
msgstr "Paylaşım sırasında hata "
#: js/share.js:135
msgid "Error while unsharing"
-msgstr ""
+msgstr "Paylaşım iptal ediliyorken hata"
#: js/share.js:142
msgid "Error while changing permissions"
-msgstr ""
+msgstr "İzinleri değiştirirken hata oluştu"
#: js/share.js:151
msgid "Shared with you and the group {group} by {owner}"
-msgstr ""
+msgstr " {owner} tarafından sizinle ve {group} ile paylaştırılmış"
#: js/share.js:153
msgid "Shared with you by {owner}"
-msgstr ""
+msgstr "{owner} trafından sizinle paylaştırıldı"
#: js/share.js:158
msgid "Share with"
@@ -206,22 +207,21 @@ msgstr "ile PaylaÅŸ"
msgid "Share with link"
msgstr "Bağlantı ile paylaş"
-#: js/share.js:164
+#: js/share.js:166
msgid "Password protect"
msgstr "Şifre korunması"
-#: js/share.js:168 templates/installation.php:42 templates/login.php:24
-#: templates/verify.php:13
+#: js/share.js:168 templates/installation.php:44 templates/login.php:35
msgid "Password"
msgstr "Parola"
#: js/share.js:172
msgid "Email link to person"
-msgstr ""
+msgstr "KiÅŸiye e-posta linki"
#: js/share.js:173
msgid "Send"
-msgstr ""
+msgstr "Gönder"
#: js/share.js:177
msgid "Set expiration date"
@@ -229,23 +229,23 @@ msgstr "Son kullanma tarihini ayarla"
#: js/share.js:178
msgid "Expiration date"
-msgstr ""
+msgstr "Son kullanım tarihi"
#: js/share.js:210
msgid "Share via email:"
-msgstr ""
+msgstr "Eposta ile paylaÅŸ"
#: js/share.js:212
msgid "No people found"
-msgstr ""
+msgstr "Kişi bulunamadı"
#: js/share.js:239
msgid "Resharing is not allowed"
-msgstr ""
+msgstr "Tekrar paylaÅŸmaya izin verilmiyor"
#: js/share.js:275
msgid "Shared in {item} with {user}"
-msgstr ""
+msgstr " {item} içinde {user} ile paylaşılanlarlar"
#: js/share.js:296
msgid "Unshare"
@@ -253,11 +253,11 @@ msgstr "Paylaşılmayan"
#: js/share.js:308
msgid "can edit"
-msgstr ""
+msgstr "düzenleyebilir"
#: js/share.js:310
msgid "access control"
-msgstr ""
+msgstr "erişim kontrolü"
#: js/share.js:313
msgid "create"
@@ -265,35 +265,35 @@ msgstr "oluÅŸtur"
#: js/share.js:316
msgid "update"
-msgstr ""
+msgstr "güncelle"
#: js/share.js:319
msgid "delete"
-msgstr ""
+msgstr "sil"
#: js/share.js:322
msgid "share"
-msgstr ""
+msgstr "paylaÅŸ"
-#: js/share.js:353 js/share.js:528 js/share.js:530
+#: js/share.js:356 js/share.js:541
msgid "Password protected"
-msgstr ""
+msgstr "Paralo korumalı"
-#: js/share.js:541
+#: js/share.js:554
msgid "Error unsetting expiration date"
-msgstr ""
+msgstr "Geçerlilik tarihi tanımlama kaldırma hatası"
-#: js/share.js:553
+#: js/share.js:566
msgid "Error setting expiration date"
-msgstr ""
+msgstr "Geçerlilik tarihi tanımlama hatası"
-#: js/share.js:568
+#: js/share.js:581
msgid "Sending ..."
-msgstr ""
+msgstr "Gönderiliyor..."
-#: js/share.js:579
+#: js/share.js:592
msgid "Email sent"
-msgstr ""
+msgstr "Eposta gönderildi"
#: lostpassword/controller.php:47
msgid "ownCloud password reset"
@@ -309,14 +309,14 @@ msgstr "Parolanızı sıfırlamak için bir bağlantı Eposta olarak gönderilec
#: lostpassword/templates/lostpassword.php:5
msgid "Reset email send."
-msgstr ""
+msgstr "Sıfırlama epostası gönderildi."
#: lostpassword/templates/lostpassword.php:8
msgid "Request failed!"
-msgstr ""
+msgstr "İstek reddedildi!"
-#: lostpassword/templates/lostpassword.php:11 templates/installation.php:38
-#: templates/login.php:20
+#: lostpassword/templates/lostpassword.php:11 templates/installation.php:39
+#: templates/login.php:28
msgid "Username"
msgstr "Kullanıcı adı"
@@ -384,13 +384,13 @@ msgstr "Güvenlik Uyarisi"
msgid ""
"No secure random number generator is available, please enable the PHP "
"OpenSSL extension."
-msgstr ""
+msgstr "Güvenli rasgele sayı üreticisi bulunamadı. Lütfen PHP OpenSSL eklentisini etkinleştirin."
#: templates/installation.php:26
msgid ""
"Without a secure random number generator an attacker may be able to predict "
"password reset tokens and take over your account."
-msgstr ""
+msgstr "Güvenli rasgele sayı üreticisi olmadan saldırganlar parola sıfırlama simgelerini tahmin edip hesabınızı ele geçirebilir."
#: templates/installation.php:32
msgid ""
@@ -399,130 +399,130 @@ msgid ""
"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."
-msgstr ""
+msgstr "data dizininiz ve dosyalarınız büyük ihtimalle internet üzerinden erişilebilir. Owncloud tarafından sağlanan .htaccess dosyası çalışmıyor. Web sunucunuzu yapılandırarak data dizinine erişimi kapatmanızı veya data dizinini web sunucu döküman dizini dışına almanızı şiddetle tavsiye ederiz."
#: templates/installation.php:36
msgid "Create an <strong>admin account</strong>"
msgstr "Bir <strong>yönetici hesabı</strong> oluşturun"
-#: templates/installation.php:48
+#: templates/installation.php:50
msgid "Advanced"
msgstr "GeliÅŸmiÅŸ"
-#: templates/installation.php:50
+#: templates/installation.php:52
msgid "Data folder"
msgstr "Veri klasörü"
-#: templates/installation.php:57
+#: templates/installation.php:59
msgid "Configure the database"
msgstr "Veritabanını ayarla"
-#: templates/installation.php:62 templates/installation.php:73
-#: templates/installation.php:83 templates/installation.php:93
+#: templates/installation.php:64 templates/installation.php:75
+#: templates/installation.php:85 templates/installation.php:95
msgid "will be used"
msgstr "kullanılacak"
-#: templates/installation.php:105
+#: templates/installation.php:107
msgid "Database user"
msgstr "Veritabanı kullanıcı adı"
-#: templates/installation.php:109
+#: templates/installation.php:111
msgid "Database password"
msgstr "Veritabanı parolası"
-#: templates/installation.php:113
+#: templates/installation.php:115
msgid "Database name"
msgstr "Veritabanı adı"
-#: templates/installation.php:121
+#: templates/installation.php:123
msgid "Database tablespace"
msgstr "Veritabanı tablo alanı"
-#: templates/installation.php:127
+#: templates/installation.php:129
msgid "Database host"
msgstr "Veritabanı sunucusu"
-#: templates/installation.php:132
+#: templates/installation.php:134
msgid "Finish setup"
msgstr "Kurulumu tamamla"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
+#: templates/layout.guest.php:15 templates/layout.user.php:17
msgid "Sunday"
msgstr "Pazar"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
+#: templates/layout.guest.php:15 templates/layout.user.php:17
msgid "Monday"
msgstr "Pazartesi"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
+#: templates/layout.guest.php:15 templates/layout.user.php:17
msgid "Tuesday"
msgstr "Salı"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
+#: templates/layout.guest.php:15 templates/layout.user.php:17
msgid "Wednesday"
msgstr "Çarşamba"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
+#: templates/layout.guest.php:15 templates/layout.user.php:17
msgid "Thursday"
msgstr "PerÅŸembe"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
+#: templates/layout.guest.php:15 templates/layout.user.php:17
msgid "Friday"
msgstr "Cuma"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
+#: templates/layout.guest.php:15 templates/layout.user.php:17
msgid "Saturday"
msgstr "Cumartesi"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "January"
msgstr "Ocak"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "February"
msgstr "Åžubat"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "March"
msgstr "Mart"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "April"
msgstr "Nisan"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "May"
msgstr "Mayıs"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "June"
msgstr "Haziran"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "July"
msgstr "Temmuz"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "August"
msgstr "AÄŸustos"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "September"
msgstr "Eylül"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "October"
msgstr "Ekim"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "November"
msgstr "Kasım"
-#: templates/layout.guest.php:17 templates/layout.user.php:18
+#: templates/layout.guest.php:16 templates/layout.user.php:18
msgid "December"
msgstr "Aralık"
-#: templates/layout.guest.php:42
+#: templates/layout.guest.php:41
msgid "web services under your control"
msgstr "kontrolünüzdeki web servisleri"
@@ -530,36 +530,32 @@ msgstr "kontrolünüzdeki web servisleri"
msgid "Log out"
msgstr "Çıkış yap"
-#: templates/login.php:8
+#: templates/login.php:10
msgid "Automatic logon rejected!"
-msgstr ""
+msgstr "Otomatik oturum açma reddedildi!"
-#: templates/login.php:9
+#: templates/login.php:11
msgid ""
"If you did not change your password recently, your account may be "
"compromised!"
-msgstr ""
+msgstr "Yakın zamanda parolanızı değiştirmedi iseniz hesabınız riske girebilir."
-#: templates/login.php:10
+#: templates/login.php:13
msgid "Please change your password to secure your account again."
-msgstr ""
+msgstr "Hesabınızı korumak için lütfen parolanızı değiştirin."
-#: templates/login.php:15
+#: templates/login.php:19
msgid "Lost your password?"
msgstr "Parolanızı mı unuttunuz?"
-#: templates/login.php:27
+#: templates/login.php:39
msgid "remember"
msgstr "hatırla"
-#: templates/login.php:28
+#: templates/login.php:41
msgid "Log in"
msgstr "GiriÅŸ yap"
-#: templates/logout.php:1
-msgid "You are logged out."
-msgstr "Çıkış yaptınız."
-
#: templates/part.pagenavi.php:3
msgid "prev"
msgstr "önceki"
@@ -568,16 +564,7 @@ msgstr "önceki"
msgid "next"
msgstr "sonraki"
-#: templates/verify.php:5
-msgid "Security Warning!"
-msgstr ""
-
-#: templates/verify.php:6
-msgid ""
-"Please verify your password. <br/>For security reasons you may be "
-"occasionally asked to enter your password again."
-msgstr ""
-
-#: templates/verify.php:16
-msgid "Verify"
-msgstr ""
+#: templates/update.php:3
+#, php-format
+msgid "Updating ownCloud to version %s, this may take a while."
+msgstr "Owncloud %s versiyonuna güncelleniyor. Biraz zaman alabilir."
diff --git a/l10n/tr/files.po b/l10n/tr/files.po
index fbd322633df..6a8b2bf601b 100644
--- a/l10n/tr/files.po
+++ b/l10n/tr/files.po
@@ -7,14 +7,15 @@
# Caner BaÅŸaran <basaran.caner@gmail.com>, 2012.
# Emre <emresaracoglu@live.com>, 2012.
# <info@beyboo.de>, 2012.
+# ismail yenigul <ismail.yenigul@surgate.com>, 2013.
# Necdet Yücel <necdetyucel@gmail.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-05 00:04+0100\n"
-"PO-Revision-Date: 2012-12-04 11:50+0000\n"
-"Last-Translator: alpere <info@beyboo.de>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 21:35+0000\n"
+"Last-Translator: ismail yenigül <ismail.yenigul@surgate.com>\n"
"Language-Team: Turkish (http://www.transifex.com/projects/p/owncloud/language/tr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -22,46 +23,77 @@ msgstr ""
"Language: tr\n"
"Plural-Forms: nplurals=1; plural=0;\n"
+#: ajax/delete.php:28 ajax/getstoragestats.php:11 ajax/upload.php:17
+#: ajax/upload.php:76 templates/index.php:18
+msgid "Upload"
+msgstr "Yükle"
+
+#: ajax/move.php:17
+#, php-format
+msgid "Could not move %s - File with this name already exists"
+msgstr "%s taşınamadı. Bu isimde dosya zaten var."
+
+#: ajax/move.php:24
+#, php-format
+msgid "Could not move %s"
+msgstr "%s taşınamadı"
+
+#: ajax/rename.php:19
+msgid "Unable to rename file"
+msgstr "Dosya adı değiştirilemedi"
+
#: ajax/upload.php:20
+msgid "No file was uploaded. Unknown error"
+msgstr "Dosya yüklenmedi. Bilinmeyen hata"
+
+#: ajax/upload.php:30
msgid "There is no error, the file uploaded with success"
msgstr "Bir hata yok, dosya başarıyla yüklendi"
-#: ajax/upload.php:21
+#: ajax/upload.php:31
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
-msgstr ""
+msgstr "php.ini dosyasında upload_max_filesize ile belirtilen dosya yükleme sınırı aşıldı."
-#: ajax/upload.php:23
+#: ajax/upload.php:33
msgid ""
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
"the HTML form"
msgstr "Yüklenen dosya HTML formundaki MAX_FILE_SIZE sınırını aşıyor"
-#: ajax/upload.php:25
+#: ajax/upload.php:35
msgid "The uploaded file was only partially uploaded"
msgstr "Yüklenen dosyanın sadece bir kısmı yüklendi"
-#: ajax/upload.php:26
+#: ajax/upload.php:36
msgid "No file was uploaded"
msgstr "Hiç dosya yüklenmedi"
-#: ajax/upload.php:27
+#: ajax/upload.php:37
msgid "Missing a temporary folder"
msgstr "Geçici bir klasör eksik"
-#: ajax/upload.php:28
+#: ajax/upload.php:38
msgid "Failed to write to disk"
msgstr "Diske yazılamadı"
+#: ajax/upload.php:57
+msgid "Not enough space available"
+msgstr "Yeterli disk alanı yok"
+
+#: ajax/upload.php:91
+msgid "Invalid directory."
+msgstr "Geçersiz dizin."
+
#: appinfo/app.php:10
msgid "Files"
msgstr "Dosyalar"
-#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84
+#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
msgid "Unshare"
msgstr "Paylaşılmayan"
-#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90
+#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
msgid "Delete"
msgstr "Sil"
@@ -69,124 +101,138 @@ msgstr "Sil"
msgid "Rename"
msgstr "İsim değiştir."
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "{new_name} already exists"
msgstr "{new_name} zaten mevcut"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "replace"
msgstr "deÄŸiÅŸtir"
-#: js/filelist.js:201
+#: js/filelist.js:205
msgid "suggest name"
msgstr "Öneri ad"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "cancel"
msgstr "iptal"
-#: js/filelist.js:250
+#: js/filelist.js:254
msgid "replaced {new_name}"
msgstr "deÄŸiÅŸtirilen {new_name}"
-#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286
+#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
msgid "undo"
msgstr "geri al"
-#: js/filelist.js:252
+#: js/filelist.js:256
msgid "replaced {new_name} with {old_name}"
-msgstr ""
+msgstr "{new_name} ismi {old_name} ile deÄŸiÅŸtirildi"
-#: js/filelist.js:284
+#: js/filelist.js:288
msgid "unshared {files}"
msgstr "paylaşılmamış {files}"
-#: js/filelist.js:286
+#: js/filelist.js:290
msgid "deleted {files}"
msgstr "silinen {files}"
-#: js/files.js:33
+#: js/files.js:48
+msgid "'.' is an invalid file name."
+msgstr "'.' geçersiz dosya adı."
+
+#: js/files.js:53
+msgid "File name cannot be empty."
+msgstr "Dosya adı boş olamaz."
+
+#: js/files.js:62
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
-msgstr ""
+msgstr "Geçersiz isim, '\\', '/', '<', '>', ':', '\"', '|', '?' ve '*' karakterlerine izin verilmemektedir."
-#: js/files.js:183
-msgid "generating ZIP-file, it may take some time."
-msgstr "ZIP dosyası oluşturuluyor, biraz sürebilir."
+#: js/files.js:204
+msgid ""
+"Your download is being prepared. This might take some time if the files are "
+"big."
+msgstr "İndirmeniz hazırlanıyor. Dosya büyük ise biraz zaman alabilir."
-#: js/files.js:218
+#: js/files.js:242
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr "Dosyanızın boyutu 0 byte olduğundan veya bir dizin olduğundan yüklenemedi"
-#: js/files.js:218
+#: js/files.js:242
msgid "Upload Error"
msgstr "Yükleme hatası"
-#: js/files.js:235
+#: js/files.js:259
msgid "Close"
msgstr "Kapat"
-#: js/files.js:254 js/files.js:368 js/files.js:398
+#: js/files.js:278 js/files.js:397 js/files.js:431
msgid "Pending"
msgstr "Bekliyor"
-#: js/files.js:274
+#: js/files.js:298
msgid "1 file uploading"
msgstr "1 dosya yüklendi"
-#: js/files.js:277 js/files.js:331 js/files.js:346
+#: js/files.js:301 js/files.js:357 js/files.js:372
msgid "{count} files uploading"
-msgstr ""
+msgstr "{count} dosya yükleniyor"
-#: js/files.js:349 js/files.js:382
+#: js/files.js:376 js/files.js:414
msgid "Upload cancelled."
msgstr "Yükleme iptal edildi."
-#: js/files.js:451
+#: js/files.js:486
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr "Dosya yükleme işlemi sürüyor. Şimdi sayfadan ayrılırsanız işleminiz iptal olur."
-#: js/files.js:523
-msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud"
-msgstr ""
+#: js/files.js:559
+msgid "URL cannot be empty."
+msgstr "URL boÅŸ olamaz."
-#: js/files.js:704
+#: js/files.js:565
+msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
+msgstr "Geçersiz dizin adı. Shared isminin kullanımı Owncloud tarafından rezerver edilmiştir."
+
+#: js/files.js:775
msgid "{count} files scanned"
-msgstr ""
+msgstr "{count} dosya tarandı"
-#: js/files.js:712
+#: js/files.js:783
msgid "error while scanning"
msgstr "tararamada hata oluÅŸdu"
-#: js/files.js:785 templates/index.php:65
+#: js/files.js:857 templates/index.php:64
msgid "Name"
msgstr "Ad"
-#: js/files.js:786 templates/index.php:76
+#: js/files.js:858 templates/index.php:75
msgid "Size"
msgstr "Boyut"
-#: js/files.js:787 templates/index.php:78
+#: js/files.js:859 templates/index.php:77
msgid "Modified"
msgstr "DeÄŸiÅŸtirilme"
-#: js/files.js:814
+#: js/files.js:878
msgid "1 folder"
-msgstr ""
+msgstr "1 dizin"
-#: js/files.js:816
+#: js/files.js:880
msgid "{count} folders"
-msgstr ""
+msgstr "{count} dizin"
-#: js/files.js:824
+#: js/files.js:888
msgid "1 file"
-msgstr ""
+msgstr "1 dosya"
-#: js/files.js:826
+#: js/files.js:890
msgid "{count} files"
-msgstr ""
+msgstr "{count} dosya"
#: templates/admin.php:5
msgid "File handling"
@@ -196,27 +242,27 @@ msgstr "Dosya taşıma"
msgid "Maximum upload size"
msgstr "Maksimum yükleme boyutu"
-#: templates/admin.php:9
+#: templates/admin.php:10
msgid "max. possible: "
msgstr "mümkün olan en fazla: "
-#: templates/admin.php:12
+#: templates/admin.php:15
msgid "Needed for multi-file and folder downloads."
msgstr "Çoklu dosya ve dizin indirmesi için gerekli."
-#: templates/admin.php:14
+#: templates/admin.php:17
msgid "Enable ZIP-download"
msgstr "ZIP indirmeyi aktif et"
-#: templates/admin.php:17
+#: templates/admin.php:20
msgid "0 is unlimited"
msgstr "0 limitsiz demektir"
-#: templates/admin.php:19
+#: templates/admin.php:22
msgid "Maximum input size for ZIP files"
msgstr "ZIP dosyaları için en fazla girdi sayısı"
-#: templates/admin.php:23
+#: templates/admin.php:26
msgid "Save"
msgstr "Kaydet"
@@ -234,38 +280,34 @@ msgstr "Klasör"
#: templates/index.php:14
msgid "From link"
-msgstr ""
-
-#: templates/index.php:35
-msgid "Upload"
-msgstr "Yükle"
+msgstr "Bağlantıdan"
-#: templates/index.php:43
+#: templates/index.php:41
msgid "Cancel upload"
msgstr "Yüklemeyi iptal et"
-#: templates/index.php:57
+#: templates/index.php:56
msgid "Nothing in here. Upload something!"
msgstr "Burada hiçbir şey yok. Birşeyler yükleyin!"
-#: templates/index.php:71
+#: templates/index.php:70
msgid "Download"
msgstr "İndir"
-#: templates/index.php:103
+#: templates/index.php:102
msgid "Upload too large"
msgstr "Yüklemeniz çok büyük"
-#: templates/index.php:105
+#: templates/index.php:104
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:110
+#: templates/index.php:109
msgid "Files are being scanned, please wait."
msgstr "Dosyalar taranıyor, lütfen bekleyin."
-#: templates/index.php:113
+#: templates/index.php:112
msgid "Current scanning"
msgstr "Güncel tarama"
diff --git a/l10n/tr/files_encryption.po b/l10n/tr/files_encryption.po
index af47564a459..e95281ce029 100644
--- a/l10n/tr/files_encryption.po
+++ b/l10n/tr/files_encryption.po
@@ -3,32 +3,81 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# Necdet Yücel <necdetyucel@gmail.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-08-13 23:12+0200\n"
-"PO-Revision-Date: 2012-08-12 22:33+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+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"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: tr\n"
-"Plural-Forms: nplurals=1; plural=0\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
-#: templates/settings.php:3
-msgid "Encryption"
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
msgstr ""
-#: templates/settings.php:4
-msgid "Exclude the following file types from encryption"
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
msgstr ""
-#: templates/settings.php:5
-msgid "None"
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
msgstr ""
#: templates/settings.php:10
-msgid "Enable Encryption"
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
msgstr ""
+
+#: templates/settings.php:65
+msgid "Encryption"
+msgstr "Åžifreleme"
+
+#: templates/settings.php:67
+msgid "Exclude the following file types from encryption"
+msgstr "Aşağıdaki dosya tiplerini şifrelemeye dahil etme"
+
+#: templates/settings.php:71
+msgid "None"
+msgstr "Hiçbiri"
diff --git a/l10n/tr/files_external.po b/l10n/tr/files_external.po
index b9f7d56aeb9..bb6c928a053 100644
--- a/l10n/tr/files_external.po
+++ b/l10n/tr/files_external.po
@@ -3,13 +3,14 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# Necdet Yücel <necdetyucel@gmail.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-13 00:17+0100\n"
-"PO-Revision-Date: 2012-12-11 23:22+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2012-12-28 00:20+0100\n"
+"PO-Revision-Date: 2012-12-27 13:50+0000\n"
+"Last-Translator: Necdet Yücel <necdetyucel@gmail.com>\n"
"Language-Team: Turkish (http://www.transifex.com/projects/p/owncloud/language/tr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -56,39 +57,39 @@ msgstr ""
#: templates/settings.php:3
msgid "External Storage"
-msgstr ""
+msgstr "Harici Depolama"
#: templates/settings.php:8 templates/settings.php:22
msgid "Mount point"
-msgstr ""
+msgstr "Bağlama Noktası"
#: templates/settings.php:9
msgid "Backend"
-msgstr ""
+msgstr "Yönetici"
#: templates/settings.php:10
msgid "Configuration"
-msgstr ""
+msgstr "Yapılandırma"
#: templates/settings.php:11
msgid "Options"
-msgstr ""
+msgstr "Seçenekler"
#: templates/settings.php:12
msgid "Applicable"
-msgstr ""
+msgstr "Uygulanabilir"
#: templates/settings.php:27
msgid "Add mount point"
-msgstr ""
+msgstr "Bağlama noktası ekle"
#: templates/settings.php:85
msgid "None set"
-msgstr ""
+msgstr "Hiçbiri"
#: templates/settings.php:86
msgid "All Users"
-msgstr ""
+msgstr "Tüm Kullanıcılar"
#: templates/settings.php:87
msgid "Groups"
@@ -99,7 +100,7 @@ msgid "Users"
msgstr "Kullanıcılar"
#: templates/settings.php:108 templates/settings.php:109
-#: templates/settings.php:149 templates/settings.php:150
+#: templates/settings.php:144 templates/settings.php:145
msgid "Delete"
msgstr "Sil"
@@ -111,10 +112,10 @@ msgstr ""
msgid "Allow users to mount their own external storage"
msgstr ""
-#: templates/settings.php:139
+#: templates/settings.php:136
msgid "SSL root certificates"
-msgstr ""
+msgstr "SSL kök sertifikaları"
-#: templates/settings.php:158
+#: templates/settings.php:153
msgid "Import Root Certificate"
-msgstr ""
+msgstr "Kök Sertifikalarını İçe Aktar"
diff --git a/l10n/tr/files_versions.po b/l10n/tr/files_versions.po
index d9aaae9d168..6f30f6794a2 100644
--- a/l10n/tr/files_versions.po
+++ b/l10n/tr/files_versions.po
@@ -3,13 +3,14 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# Necdet Yücel <necdetyucel@gmail.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-09-22 01:14+0200\n"
-"PO-Revision-Date: 2012-09-21 23:15+0000\n"
-"Last-Translator: I Robot <thomas.mueller@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -17,26 +18,14 @@ msgstr ""
"Language: tr\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: js/settings-personal.js:31 templates/settings-personal.php:10
-msgid "Expire all versions"
-msgstr ""
-
#: js/versions.js:16
msgid "History"
-msgstr ""
-
-#: templates/settings-personal.php:4
-msgid "Versions"
-msgstr ""
-
-#: templates/settings-personal.php:7
-msgid "This will delete all existing backup versions of your files"
-msgstr ""
+msgstr "Geçmiş"
#: templates/settings.php:3
msgid "Files Versioning"
-msgstr ""
+msgstr "Dosya Sürümleri"
#: templates/settings.php:4
msgid "Enable"
-msgstr ""
+msgstr "EtkinleÅŸtir"
diff --git a/l10n/tr/lib.po b/l10n/tr/lib.po
index 6489d33ae28..fadb1957cfb 100644
--- a/l10n/tr/lib.po
+++ b/l10n/tr/lib.po
@@ -3,13 +3,15 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# ismail yenigul <ismail.yenigul@surgate.com>, 2013.
+# Necdet Yücel <necdetyucel@gmail.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-11-16 00:02+0100\n"
-"PO-Revision-Date: 2012-11-14 23:13+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 09:28+0000\n"
+"Last-Translator: ismail yenigül <ismail.yenigul@surgate.com>\n"
"Language-Team: Turkish (http://www.transifex.com/projects/p/owncloud/language/tr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -17,57 +19,61 @@ msgstr ""
"Language: tr\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: app.php:285
+#: app.php:301
msgid "Help"
msgstr "Yardı"
-#: app.php:292
+#: app.php:308
msgid "Personal"
msgstr "KiÅŸisel"
-#: app.php:297
+#: app.php:313
msgid "Settings"
msgstr "Ayarlar"
-#: app.php:302
+#: app.php:318
msgid "Users"
msgstr "Kullanıcılar"
-#: app.php:309
+#: app.php:325
msgid "Apps"
-msgstr ""
+msgstr "Uygulamalar"
-#: app.php:311
+#: app.php:327
msgid "Admin"
-msgstr ""
+msgstr "Yönetici"
-#: files.php:332
+#: files.php:365
msgid "ZIP download is turned off."
-msgstr ""
+msgstr "ZIP indirmeleri kapatılmıştır."
-#: files.php:333
+#: files.php:366
msgid "Files need to be downloaded one by one."
-msgstr ""
+msgstr "Dosyaların birer birer indirilmesi gerekmektedir."
-#: files.php:333 files.php:358
+#: files.php:366 files.php:391
msgid "Back to Files"
-msgstr ""
+msgstr "Dosyalara dön"
-#: files.php:357
+#: files.php:390
msgid "Selected files too large to generate zip file."
-msgstr ""
+msgstr "Seçilen dosyalar bir zip dosyası oluşturmak için fazla büyüktür."
+
+#: helper.php:229
+msgid "couldn't be determined"
+msgstr "tespit edilemedi"
#: json.php:28
msgid "Application is not enabled"
-msgstr ""
+msgstr "Uygulama etkinleÅŸtirilmedi"
-#: json.php:39 json.php:64 json.php:77 json.php:89
+#: json.php:39 json.php:62 json.php:73
msgid "Authentication error"
msgstr "Kimlik doğrulama hatası"
#: json.php:51
msgid "Token expired. Please reload page."
-msgstr ""
+msgstr "Jetonun süresi geçti. Lütfen sayfayı yenileyin."
#: search/provider/file.php:17 search/provider/file.php:35
msgid "Files"
@@ -79,74 +85,74 @@ msgstr "Metin"
#: search/provider/file.php:29
msgid "Images"
-msgstr ""
+msgstr "Resimler"
-#: template.php:103
+#: template.php:113
msgid "seconds ago"
-msgstr ""
+msgstr "saniye önce"
-#: template.php:104
+#: template.php:114
msgid "1 minute ago"
-msgstr ""
+msgstr "1 dakika önce"
-#: template.php:105
+#: template.php:115
#, php-format
msgid "%d minutes ago"
-msgstr ""
+msgstr "%d dakika önce"
-#: template.php:106
+#: template.php:116
msgid "1 hour ago"
-msgstr ""
+msgstr "1 saat önce"
-#: template.php:107
+#: template.php:117
#, php-format
msgid "%d hours ago"
-msgstr ""
+msgstr "%d saat önce"
-#: template.php:108
+#: template.php:118
msgid "today"
-msgstr ""
+msgstr "bugün"
-#: template.php:109
+#: template.php:119
msgid "yesterday"
-msgstr ""
+msgstr "dün"
-#: template.php:110
+#: template.php:120
#, php-format
msgid "%d days ago"
-msgstr ""
+msgstr "%d gün önce"
-#: template.php:111
+#: template.php:121
msgid "last month"
-msgstr ""
+msgstr "geçen ay"
-#: template.php:112
+#: template.php:122
#, php-format
msgid "%d months ago"
-msgstr ""
+msgstr "%d ay önce"
-#: template.php:113
+#: template.php:123
msgid "last year"
-msgstr ""
+msgstr "geçen yıl"
-#: template.php:114
+#: template.php:124
msgid "years ago"
-msgstr ""
+msgstr "yıl önce"
#: updater.php:75
#, php-format
msgid "%s is available. Get <a href=\"%s\">more information</a>"
-msgstr ""
+msgstr "%s kullanılabilir durumda. <a href=\"%s\">Daha fazla bilgi</a> alın"
#: updater.php:77
msgid "up to date"
-msgstr ""
+msgstr "güncel"
#: updater.php:80
msgid "updates check is disabled"
-msgstr ""
+msgstr "güncelleme kontrolü kapalı"
#: vcategories.php:188 vcategories.php:249
#, php-format
msgid "Could not find category \"%s\""
-msgstr ""
+msgstr "\"%s\" kategorisi bulunamadı"
diff --git a/l10n/tr/settings.po b/l10n/tr/settings.po
index 499cd990dac..0e563c6d4f5 100644
--- a/l10n/tr/settings.po
+++ b/l10n/tr/settings.po
@@ -11,8 +11,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-21 00:10+0100\n"
-"PO-Revision-Date: 2012-12-19 23:20+0000\n"
+"POT-Creation-Date: 2013-01-12 00:09+0100\n"
+"PO-Revision-Date: 2013-01-11 23:09+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"
@@ -33,7 +33,7 @@ msgstr "Grup zaten mevcut"
msgid "Unable to add group"
msgstr "Gruba eklenemiyor"
-#: ajax/enableapp.php:12
+#: ajax/enableapp.php:11
msgid "Could not enable app. "
msgstr "Uygulama devreye alınamadı"
@@ -45,14 +45,6 @@ msgstr "Eposta kaydedildi"
msgid "Invalid email"
msgstr "Geçersiz eposta"
-#: ajax/openid.php:13
-msgid "OpenID Changed"
-msgstr "OpenID DeÄŸiÅŸtirildi"
-
-#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20
-msgid "Invalid request"
-msgstr "Geçersiz istek"
-
#: ajax/removegroup.php:13
msgid "Unable to delete group"
msgstr "Grup silinemiyor"
@@ -69,6 +61,10 @@ msgstr "Kullanıcı silinemiyor"
msgid "Language changed"
msgstr "Dil deÄŸiÅŸtirildi"
+#: ajax/setlanguage.php:17 ajax/setlanguage.php:20
+msgid "Invalid request"
+msgstr "Geçersiz istek"
+
#: ajax/togglegroups.php:12
msgid "Admins can't remove themself from the admin group"
msgstr ""
@@ -121,27 +117,27 @@ msgstr ""
#: templates/help.php:3
msgid "User Documentation"
-msgstr ""
+msgstr "Kullanıcı Belgelendirmesi"
#: templates/help.php:4
msgid "Administrator Documentation"
-msgstr ""
+msgstr "Yönetici Belgelendirmesi"
#: templates/help.php:6
msgid "Online Documentation"
-msgstr ""
+msgstr "Çevrimiçi Belgelendirme"
#: templates/help.php:7
msgid "Forum"
-msgstr ""
+msgstr "Forum"
#: templates/help.php:9
msgid "Bugtracker"
-msgstr ""
+msgstr "Hata Takip Sistemi"
#: templates/help.php:11
msgid "Commercial Support"
-msgstr ""
+msgstr "Ticari Destek"
#: templates/personal.php:8
#, php-format
@@ -154,17 +150,17 @@ msgstr "Müşteriler"
#: templates/personal.php:13
msgid "Download Desktop Clients"
-msgstr ""
+msgstr "Masaüstü İstemcilerini İndir"
#: templates/personal.php:14
msgid "Download Android Client"
-msgstr ""
+msgstr "Android İstemcisini İndir"
#: templates/personal.php:15
msgid "Download iOS Client"
-msgstr ""
+msgstr "iOS İstemcisini İndir"
-#: templates/personal.php:21 templates/users.php:23 templates/users.php:77
+#: templates/personal.php:21 templates/users.php:23 templates/users.php:82
msgid "Password"
msgstr "Parola"
@@ -214,7 +210,7 @@ msgstr "Çevirilere yardım edin"
#: templates/personal.php:52
msgid "WebDAV"
-msgstr ""
+msgstr "WebDAV"
#: templates/personal.php:54
msgid "Use this address to connect to your ownCloud in your file manager"
@@ -222,7 +218,7 @@ msgstr ""
#: templates/personal.php:63
msgid "Version"
-msgstr ""
+msgstr "Sürüm"
#: templates/personal.php:65
msgid ""
@@ -234,11 +230,11 @@ msgid ""
"License\">AGPL</abbr></a>."
msgstr "Geliştirilen Taraf<a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is altında lisanslanmıştır <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>."
-#: templates/users.php:21 templates/users.php:76
+#: templates/users.php:21 templates/users.php:81
msgid "Name"
msgstr "Ad"
-#: templates/users.php:26 templates/users.php:78 templates/users.php:98
+#: templates/users.php:26 templates/users.php:83 templates/users.php:103
msgid "Groups"
msgstr "Gruplar"
@@ -247,21 +243,29 @@ msgid "Create"
msgstr "OluÅŸtur"
#: templates/users.php:35
-msgid "Default Quota"
-msgstr "Varsayılan Kota"
+msgid "Default Storage"
+msgstr ""
+
+#: templates/users.php:42 templates/users.php:138
+msgid "Unlimited"
+msgstr ""
-#: templates/users.php:55 templates/users.php:138
+#: templates/users.php:60 templates/users.php:153
msgid "Other"
msgstr "DiÄŸer"
-#: templates/users.php:80 templates/users.php:112
+#: templates/users.php:85 templates/users.php:117
msgid "Group Admin"
msgstr "Yönetici Grubu "
-#: templates/users.php:82
-msgid "Quota"
-msgstr "Kota"
+#: templates/users.php:87
+msgid "Storage"
+msgstr ""
+
+#: templates/users.php:133
+msgid "Default"
+msgstr ""
-#: templates/users.php:146
+#: templates/users.php:161
msgid "Delete"
msgstr "Sil"
diff --git a/l10n/tr/user_ldap.po b/l10n/tr/user_ldap.po
index da2eff7ebaa..306152d4493 100644
--- a/l10n/tr/user_ldap.po
+++ b/l10n/tr/user_ldap.po
@@ -3,12 +3,13 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# Necdet Yücel <necdetyucel@gmail.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-15 00:11+0100\n"
-"PO-Revision-Date: 2012-12-14 23:11+0000\n"
+"POT-Creation-Date: 2013-01-16 00:19+0100\n"
+"PO-Revision-Date: 2013-01-15 23:20+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,13 +27,13 @@ msgstr ""
#: templates/settings.php:11
msgid ""
-"<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will"
-" not work. Please ask your system administrator to install it."
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not "
+"work. Please ask your system administrator to install it."
msgstr ""
#: templates/settings.php:15
msgid "Host"
-msgstr ""
+msgstr "Konak"
#: templates/settings.php:15
msgid ""
@@ -41,6 +42,10 @@ msgstr ""
#: templates/settings.php:16
msgid "Base DN"
+msgstr "Base DN"
+
+#: templates/settings.php:16
+msgid "One Base DN per line"
msgstr ""
#: templates/settings.php:16
@@ -49,7 +54,7 @@ msgstr ""
#: templates/settings.php:17
msgid "User DN"
-msgstr ""
+msgstr "User DN"
#: templates/settings.php:17
msgid ""
@@ -60,15 +65,15 @@ msgstr ""
#: templates/settings.php:18
msgid "Password"
-msgstr ""
+msgstr "Parola"
#: templates/settings.php:18
msgid "For anonymous access, leave DN and Password empty."
-msgstr ""
+msgstr "Anonim erişim için DN ve Parola alanlarını boş bırakın."
#: templates/settings.php:19
msgid "User Login Filter"
-msgstr ""
+msgstr "Kullanıcı Oturum Açma Süzgeci"
#: templates/settings.php:19
#, php-format
@@ -80,11 +85,11 @@ msgstr ""
#: templates/settings.php:19
#, php-format
msgid "use %%uid placeholder, e.g. \"uid=%%uid\""
-msgstr ""
+msgstr "%%uid yer tutucusunu kullanın, örneğin \"uid=%%uid\""
#: templates/settings.php:20
msgid "User List Filter"
-msgstr ""
+msgstr "Kullanıcı Liste Süzgeci"
#: templates/settings.php:20
msgid "Defines the filter to apply, when retrieving users."
@@ -92,11 +97,11 @@ msgstr ""
#: templates/settings.php:20
msgid "without any placeholder, e.g. \"objectClass=person\"."
-msgstr ""
+msgstr "bir yer tutucusu olmadan, örneğin \"objectClass=person\""
#: templates/settings.php:21
msgid "Group Filter"
-msgstr ""
+msgstr "Grup Süzgeci"
#: templates/settings.php:21
msgid "Defines the filter to apply, when retrieving groups."
@@ -108,27 +113,35 @@ msgstr ""
#: templates/settings.php:24
msgid "Port"
-msgstr ""
+msgstr "Port"
#: templates/settings.php:25
msgid "Base User Tree"
+msgstr "Temel Kullanıcı Ağacı"
+
+#: templates/settings.php:25
+msgid "One User Base DN per line"
msgstr ""
#: templates/settings.php:26
msgid "Base Group Tree"
+msgstr "Temel Grup Ağacı"
+
+#: templates/settings.php:26
+msgid "One Group Base DN per line"
msgstr ""
#: templates/settings.php:27
msgid "Group-Member association"
-msgstr ""
+msgstr "Grup-Üye işbirliği"
#: templates/settings.php:28
msgid "Use TLS"
-msgstr ""
+msgstr "TLS kullan"
#: templates/settings.php:28
msgid "Do not use it for SSL connections, it will fail."
-msgstr ""
+msgstr "SSL bağlantıları ile kullanmayın, başarısız olacaktır."
#: templates/settings.php:29
msgid "Case insensitve LDAP server (Windows)"
@@ -136,7 +149,7 @@ msgstr ""
#: templates/settings.php:30
msgid "Turn off SSL certificate validation."
-msgstr ""
+msgstr "SSL sertifika doğrulamasını kapat."
#: templates/settings.php:30
msgid ""
@@ -146,7 +159,7 @@ msgstr ""
#: templates/settings.php:30
msgid "Not recommended, use for testing only."
-msgstr ""
+msgstr "Önerilmez, sadece test için kullanın."
#: templates/settings.php:31
msgid "User Display Name Field"
@@ -166,18 +179,18 @@ msgstr ""
#: templates/settings.php:34
msgid "in bytes"
-msgstr ""
+msgstr "byte cinsinden"
#: templates/settings.php:36
msgid "in seconds. A change empties the cache."
-msgstr ""
+msgstr "saniye cinsinden. Bir değişiklik önbelleği temizleyecektir."
#: templates/settings.php:37
msgid ""
"Leave empty for user name (default). Otherwise, specify an LDAP/AD "
"attribute."
-msgstr ""
+msgstr "Kullanıcı adı bölümünü boş bırakın (varsayılan). "
#: templates/settings.php:39
msgid "Help"
-msgstr ""
+msgstr "Yardım"
diff --git a/l10n/tr/user_webdavauth.po b/l10n/tr/user_webdavauth.po
index 1e5828d9ba9..912a2ff24d2 100644
--- a/l10n/tr/user_webdavauth.po
+++ b/l10n/tr/user_webdavauth.po
@@ -4,12 +4,13 @@
#
# Translators:
# <info@beyboo.de>, 2012.
+# Necdet Yücel <necdetyucel@gmail.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-20 00:11+0100\n"
-"PO-Revision-Date: 2012-12-19 23:12+0000\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+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"
@@ -18,13 +19,17 @@ msgstr ""
"Language: tr\n"
"Plural-Forms: nplurals=1; plural=0;\n"
+#: templates/settings.php:3
+msgid "WebDAV Authentication"
+msgstr ""
+
#: templates/settings.php:4
msgid "URL: http://"
-msgstr ""
+msgstr "URL: http://"
#: templates/settings.php:6
msgid ""
-"ownCloud will send the user credentials to this URL is interpret http 401 "
-"and http 403 as credentials wrong and all other codes as credentials "
-"correct."
+"ownCloud will send the user credentials to this URL. 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 ""
diff --git a/l10n/uk/core.po b/l10n/uk/core.po
index 6fa7d5e24ee..21be89f3a48 100644
--- a/l10n/uk/core.po
+++ b/l10n/uk/core.po
@@ -7,12 +7,13 @@
# <skoptev@ukr.net>, 2012.
# Soul Kim <warlock.rf@gmail.com>, 2012.
# <victor.dubiniuk@gmail.com>, 2012.
+# <volodya327@gmail.com>, 2013.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-14 00:16+0100\n"
-"PO-Revision-Date: 2012-12-13 15:49+0000\n"
+"POT-Creation-Date: 2013-01-18 00:03+0100\n"
+"PO-Revision-Date: 2013-01-17 13:18+0000\n"
"Last-Translator: volodya327 <volodya327@gmail.com>\n"
"Language-Team: Ukrainian (http://www.transifex.com/projects/p/owncloud/language/uk/)\n"
"MIME-Version: 1.0\n"
@@ -87,55 +88,55 @@ msgstr "Помилка при видалені %s із обраного."
msgid "Settings"
msgstr "ÐалаштуваннÑ"
-#: js/js.js:704
+#: js/js.js:706
msgid "seconds ago"
msgstr "Ñекунди тому"
-#: js/js.js:705
+#: js/js.js:707
msgid "1 minute ago"
msgstr "1 хвилину тому"
-#: js/js.js:706
+#: js/js.js:708
msgid "{minutes} minutes ago"
msgstr "{minutes} хвилин тому"
-#: js/js.js:707
+#: js/js.js:709
msgid "1 hour ago"
msgstr "1 годину тому"
-#: js/js.js:708
+#: js/js.js:710
msgid "{hours} hours ago"
msgstr "{hours} години тому"
-#: js/js.js:709
+#: js/js.js:711
msgid "today"
msgstr "Ñьогодні"
-#: js/js.js:710
+#: js/js.js:712
msgid "yesterday"
msgstr "вчора"
-#: js/js.js:711
+#: js/js.js:713
msgid "{days} days ago"
msgstr "{days} днів тому"
-#: js/js.js:712
+#: js/js.js:714
msgid "last month"
msgstr "минулого міÑÑцÑ"
-#: js/js.js:713
+#: js/js.js:715
msgid "{months} months ago"
msgstr "{months} міÑÑців тому"
-#: js/js.js:714
+#: js/js.js:716
msgid "months ago"
msgstr "міÑÑці тому"
-#: js/js.js:715
+#: js/js.js:717
msgid "last year"
msgstr "минулого року"
-#: js/js.js:716
+#: js/js.js:718
msgid "years ago"
msgstr "роки тому"
@@ -165,8 +166,8 @@ msgid "The object type is not specified."
msgstr "Ðе визначено тип об'єкту."
#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136
-#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:541
-#: js/share.js:553
+#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:554
+#: js/share.js:566
msgid "Error"
msgstr "Помилка"
@@ -178,7 +179,7 @@ msgstr "Ðе визначено ім'Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¸."
msgid "The required file {file} is not installed!"
msgstr "Ðеобхідний файл {file} не вÑтановлено!"
-#: js/share.js:124 js/share.js:581
+#: js/share.js:124 js/share.js:594
msgid "Error while sharing"
msgstr "Помилка під Ñ‡Ð°Ñ Ð¿ÑƒÐ±Ð»Ñ–ÐºÐ°Ñ†Ñ–Ñ—"
@@ -206,12 +207,11 @@ msgstr "Опублікувати длÑ"
msgid "Share with link"
msgstr "Опублікувати через поÑиланнÑ"
-#: js/share.js:164
+#: js/share.js:166
msgid "Password protect"
msgstr "ЗахиÑтити паролем"
-#: js/share.js:168 templates/installation.php:42 templates/login.php:24
-#: templates/verify.php:13
+#: js/share.js:168 templates/installation.php:44 templates/login.php:35
msgid "Password"
msgstr "Пароль"
@@ -275,23 +275,23 @@ msgstr "видалити"
msgid "share"
msgstr "опублікувати"
-#: js/share.js:353 js/share.js:528 js/share.js:530
+#: js/share.js:356 js/share.js:541
msgid "Password protected"
msgstr "Захищено паролем"
-#: js/share.js:541
+#: js/share.js:554
msgid "Error unsetting expiration date"
msgstr "Помилка при відміні терміна дії"
-#: js/share.js:553
+#: js/share.js:566
msgid "Error setting expiration date"
msgstr "Помилка при вÑтановленні терміна дії"
-#: js/share.js:568
+#: js/share.js:581
msgid "Sending ..."
msgstr "ÐадÑиланнÑ..."
-#: js/share.js:579
+#: js/share.js:592
msgid "Email sent"
msgstr "Ел. пошта надіÑлана"
@@ -315,8 +315,8 @@ msgstr "ЛиÑÑ‚ ÑÐºÐ¸Ð´Ð°Ð½Ð½Ñ Ð²Ñ–Ð´Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¾."
msgid "Request failed!"
msgstr "Ðевдалий запит!"
-#: lostpassword/templates/lostpassword.php:11 templates/installation.php:38
-#: templates/login.php:20
+#: lostpassword/templates/lostpassword.php:11 templates/installation.php:39
+#: templates/login.php:28
msgid "Username"
msgstr "Ім'Ñ ÐºÐ¾Ñ€Ð¸Ñтувача"
@@ -405,44 +405,44 @@ msgstr "Ваш каталог з даними та Ваші файли можлÐ
msgid "Create an <strong>admin account</strong>"
msgstr "Створити <strong>обліковий Ð·Ð°Ð¿Ð¸Ñ Ð°Ð´Ð¼Ñ–Ð½Ñ–Ñтратора</strong>"
-#: templates/installation.php:48
+#: templates/installation.php:50
msgid "Advanced"
msgstr "Додатково"
-#: templates/installation.php:50
+#: templates/installation.php:52
msgid "Data folder"
msgstr "Каталог даних"
-#: templates/installation.php:57
+#: templates/installation.php:59
msgid "Configure the database"
msgstr "ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð±Ð°Ð·Ð¸ даних"
-#: templates/installation.php:62 templates/installation.php:73
-#: templates/installation.php:83 templates/installation.php:93
+#: templates/installation.php:64 templates/installation.php:75
+#: templates/installation.php:85 templates/installation.php:95
msgid "will be used"
msgstr "буде викориÑтано"
-#: templates/installation.php:105
+#: templates/installation.php:107
msgid "Database user"
msgstr "КориÑтувач бази даних"
-#: templates/installation.php:109
+#: templates/installation.php:111
msgid "Database password"
msgstr "Пароль Ð´Ð»Ñ Ð±Ð°Ð·Ð¸ даних"
-#: templates/installation.php:113
+#: templates/installation.php:115
msgid "Database name"
msgstr "Ðазва бази даних"
-#: templates/installation.php:121
+#: templates/installation.php:123
msgid "Database tablespace"
msgstr "Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ Ð±Ð°Ð·Ð¸ даних"
-#: templates/installation.php:127
+#: templates/installation.php:129
msgid "Database host"
msgstr "ХоÑÑ‚ бази даних"
-#: templates/installation.php:132
+#: templates/installation.php:134
msgid "Finish setup"
msgstr "Завершити налаштуваннÑ"
@@ -530,36 +530,32 @@ msgstr "веб-ÑÐµÑ€Ð²Ñ–Ñ Ð¿Ñ–Ð´ вашим контролем"
msgid "Log out"
msgstr "Вихід"
-#: templates/login.php:8
+#: templates/login.php:10
msgid "Automatic logon rejected!"
msgstr "Ðвтоматичний вхід в ÑиÑтему відхилений!"
-#: templates/login.php:9
+#: templates/login.php:11
msgid ""
"If you did not change your password recently, your account may be "
"compromised!"
msgstr "Якщо Ви не мінÑли пароль оÑтаннім чаÑом, Ваш обліковий Ð·Ð°Ð¿Ð¸Ñ Ð¼Ð¾Ð¶Ðµ бути Ñкомпрометованим!"
-#: templates/login.php:10
+#: templates/login.php:13
msgid "Please change your password to secure your account again."
msgstr "Будь лаÑка, змініть Ñвій пароль, щоб знову захиÑтити Ваш обліковий запиÑ."
-#: templates/login.php:15
+#: templates/login.php:19
msgid "Lost your password?"
msgstr "Забули пароль?"
-#: templates/login.php:27
+#: templates/login.php:39
msgid "remember"
msgstr "запам'Ñтати"
-#: templates/login.php:28
+#: templates/login.php:41
msgid "Log in"
msgstr "Вхід"
-#: templates/logout.php:1
-msgid "You are logged out."
-msgstr "Ви вийшли з ÑиÑтеми."
-
#: templates/part.pagenavi.php:3
msgid "prev"
msgstr "попередній"
@@ -568,16 +564,7 @@ msgstr "попередній"
msgid "next"
msgstr "наÑтупний"
-#: templates/verify.php:5
-msgid "Security Warning!"
-msgstr "ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð¶ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾ небезпеку!"
-
-#: templates/verify.php:6
-msgid ""
-"Please verify your password. <br/>For security reasons you may be "
-"occasionally asked to enter your password again."
-msgstr "Будь лаÑка, повторно введіть Ñвій пароль. <br/>З питань безпеки, Вам інколи доведетьÑÑ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾ вводити Ñвій пароль."
-
-#: templates/verify.php:16
-msgid "Verify"
-msgstr "Підтвердити"
+#: templates/update.php:3
+#, php-format
+msgid "Updating ownCloud to version %s, this may take a while."
+msgstr "ÐžÐ½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ ownCloud до верÑÑ–Ñ— %s, це може зайнÑти деÑкий чаÑ."
diff --git a/l10n/uk/files.po b/l10n/uk/files.po
index c37f23560d7..5b1e3c16286 100644
--- a/l10n/uk/files.po
+++ b/l10n/uk/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: 2012-12-04 00:06+0100\n"
-"PO-Revision-Date: 2012-12-03 10:32+0000\n"
-"Last-Translator: volodya327 <volodya327@gmail.com>\n"
+"POT-Creation-Date: 2013-01-20 00:05+0100\n"
+"PO-Revision-Date: 2013-01-19 23:05+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -20,46 +20,77 @@ msgstr ""
"Language: uk\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+#: ajax/delete.php:28 ajax/getstoragestats.php:11 ajax/upload.php:17
+#: ajax/upload.php:76 templates/index.php:18
+msgid "Upload"
+msgstr "Відвантажити"
+
+#: ajax/move.php:17
+#, php-format
+msgid "Could not move %s - File with this name already exists"
+msgstr ""
+
+#: ajax/move.php:24
+#, php-format
+msgid "Could not move %s"
+msgstr ""
+
+#: ajax/rename.php:19
+msgid "Unable to rename file"
+msgstr ""
+
#: ajax/upload.php:20
+msgid "No file was uploaded. Unknown error"
+msgstr "Ðе завантажено жодного файлу. Ðевідома помилка"
+
+#: ajax/upload.php:30
msgid "There is no error, the file uploaded with success"
msgstr "Файл уÑпішно вивантажено без помилок."
-#: ajax/upload.php:21
+#: ajax/upload.php:31
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr "Розмір Ð·Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð¿ÐµÑ€ÐµÐ²Ð¸Ñ‰ÑƒÑ” upload_max_filesize параметра в php.ini: "
-#: ajax/upload.php:23
+#: ajax/upload.php:33
msgid ""
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
"the HTML form"
msgstr "Розмір відвантаженого файлу перевищує директиву MAX_FILE_SIZE вказану в HTML формі"
-#: ajax/upload.php:25
+#: ajax/upload.php:35
msgid "The uploaded file was only partially uploaded"
msgstr "Файл відвантажено лише чаÑтково"
-#: ajax/upload.php:26
+#: ajax/upload.php:36
msgid "No file was uploaded"
msgstr "Ðе відвантажено жодного файлу"
-#: ajax/upload.php:27
+#: ajax/upload.php:37
msgid "Missing a temporary folder"
msgstr "ВідÑутній тимчаÑовий каталог"
-#: ajax/upload.php:28
+#: ajax/upload.php:38
msgid "Failed to write to disk"
msgstr "ÐевдалоÑÑ Ð·Ð°Ð¿Ð¸Ñати на диÑк"
+#: ajax/upload.php:57
+msgid "Not enough space available"
+msgstr ""
+
+#: ajax/upload.php:91
+msgid "Invalid directory."
+msgstr ""
+
#: appinfo/app.php:10
msgid "Files"
msgstr "Файли"
-#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84
+#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
msgid "Unshare"
msgstr "Заборонити доÑтуп"
-#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90
+#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
msgid "Delete"
msgstr "Видалити"
@@ -67,122 +98,136 @@ msgstr "Видалити"
msgid "Rename"
msgstr "Перейменувати"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "{new_name} already exists"
msgstr "{new_name} вже Ñ–Ñнує"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "replace"
msgstr "заміна"
-#: js/filelist.js:201
+#: js/filelist.js:205
msgid "suggest name"
msgstr "запропонуйте назву"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "cancel"
msgstr "відміна"
-#: js/filelist.js:250
+#: js/filelist.js:254
msgid "replaced {new_name}"
msgstr "замінено {new_name}"
-#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286
+#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
msgid "undo"
msgstr "відмінити"
-#: js/filelist.js:252
+#: js/filelist.js:256
msgid "replaced {new_name} with {old_name}"
msgstr "замінено {new_name} на {old_name}"
-#: js/filelist.js:284
+#: js/filelist.js:288
msgid "unshared {files}"
msgstr "неопубліковано {files}"
-#: js/filelist.js:286
+#: js/filelist.js:290
msgid "deleted {files}"
msgstr "видалено {files}"
-#: js/files.js:33
+#: js/files.js:48
+msgid "'.' is an invalid file name."
+msgstr ""
+
+#: js/files.js:53
+msgid "File name cannot be empty."
+msgstr ""
+
+#: js/files.js:62
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr "Ðевірне ім'Ñ, '\\', '/', '<', '>', ':', '\"', '|', '?' та '*' не дозволені."
-#: js/files.js:183
-msgid "generating ZIP-file, it may take some time."
-msgstr "Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ ZIP-файлу, це може зайнÑти певний чаÑ."
+#: js/files.js:204
+msgid ""
+"Your download is being prepared. This might take some time if the files are "
+"big."
+msgstr ""
-#: js/files.js:218
+#: js/files.js:242
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr "Ðеможливо завантажити ваш файл тому, що він тека або файл розміром 0 байт"
-#: js/files.js:218
+#: js/files.js:242
msgid "Upload Error"
msgstr "Помилка завантаженнÑ"
-#: js/files.js:235
+#: js/files.js:259
msgid "Close"
msgstr "Закрити"
-#: js/files.js:254 js/files.js:368 js/files.js:398
+#: js/files.js:278 js/files.js:397 js/files.js:431
msgid "Pending"
msgstr "ОчікуваннÑ"
-#: js/files.js:274
+#: js/files.js:298
msgid "1 file uploading"
msgstr "1 файл завантажуєтьÑÑ"
-#: js/files.js:277 js/files.js:331 js/files.js:346
+#: js/files.js:301 js/files.js:357 js/files.js:372
msgid "{count} files uploading"
msgstr "{count} файлів завантажуєтьÑÑ"
-#: js/files.js:349 js/files.js:382
+#: js/files.js:376 js/files.js:414
msgid "Upload cancelled."
msgstr "Ð—Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð¿ÐµÑ€ÐµÑ€Ð²Ð°Ð½Ð¾."
-#: js/files.js:451
+#: js/files.js:486
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr "ВиконуєтьÑÑ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ. Ð—Ð°ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Ñ†Ñ–Ñ”Ñ— Ñторінки приведе до відміни завантаженнÑ."
-#: js/files.js:523
-msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud"
-msgstr "Ðевірне ім'Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ñƒ. ВикориÑÑ‚Ð°Ð½Ð½Ñ \"Shared\" зарезервовано Owncloud"
+#: js/files.js:559
+msgid "URL cannot be empty."
+msgstr "URL не може бути пуÑтим."
-#: js/files.js:704
+#: js/files.js:565
+msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
+msgstr ""
+
+#: js/files.js:775
msgid "{count} files scanned"
msgstr "{count} файлів проÑкановано"
-#: js/files.js:712
+#: js/files.js:783
msgid "error while scanning"
msgstr "помилка при Ñкануванні"
-#: js/files.js:785 templates/index.php:65
+#: js/files.js:857 templates/index.php:64
msgid "Name"
msgstr "Ім'Ñ"
-#: js/files.js:786 templates/index.php:76
+#: js/files.js:858 templates/index.php:75
msgid "Size"
msgstr "Розмір"
-#: js/files.js:787 templates/index.php:78
+#: js/files.js:859 templates/index.php:77
msgid "Modified"
msgstr "Змінено"
-#: js/files.js:814
+#: js/files.js:878
msgid "1 folder"
msgstr "1 папка"
-#: js/files.js:816
+#: js/files.js:880
msgid "{count} folders"
msgstr "{count} папок"
-#: js/files.js:824
+#: js/files.js:888
msgid "1 file"
msgstr "1 файл"
-#: js/files.js:826
+#: js/files.js:890
msgid "{count} files"
msgstr "{count} файлів"
@@ -194,27 +239,27 @@ msgstr "Робота з файлами"
msgid "Maximum upload size"
msgstr "МакÑимальний розмір відвантажень"
-#: templates/admin.php:9
+#: templates/admin.php:10
msgid "max. possible: "
msgstr "макÑ.можливе:"
-#: templates/admin.php:12
+#: templates/admin.php:15
msgid "Needed for multi-file and folder downloads."
msgstr "Ðеобхідно Ð´Ð»Ñ Ð¼ÑƒÐ»ÑŒÑ‚Ð¸-файлового та каталогового завантаженнÑ."
-#: templates/admin.php:14
+#: templates/admin.php:17
msgid "Enable ZIP-download"
msgstr "Ðктивувати ZIP-завантаженнÑ"
-#: templates/admin.php:17
+#: templates/admin.php:20
msgid "0 is unlimited"
msgstr "0 є безліміт"
-#: templates/admin.php:19
+#: templates/admin.php:22
msgid "Maximum input size for ZIP files"
msgstr "МакÑимальний розмір завантажуємого ZIP файлу"
-#: templates/admin.php:23
+#: templates/admin.php:26
msgid "Save"
msgstr "Зберегти"
@@ -234,36 +279,32 @@ msgstr "Папка"
msgid "From link"
msgstr "З поÑиланнÑ"
-#: templates/index.php:35
-msgid "Upload"
-msgstr "Відвантажити"
-
-#: templates/index.php:43
+#: templates/index.php:41
msgid "Cancel upload"
msgstr "Перервати завантаженнÑ"
-#: templates/index.php:57
+#: templates/index.php:56
msgid "Nothing in here. Upload something!"
msgstr "Тут нічого немає. Відвантажте що-небудь!"
-#: templates/index.php:71
+#: templates/index.php:70
msgid "Download"
msgstr "Завантажити"
-#: templates/index.php:103
+#: templates/index.php:102
msgid "Upload too large"
msgstr "Файл занадто великий"
-#: templates/index.php:105
+#: templates/index.php:104
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "Файли,що ви намагаєтеÑÑŒ відвантажити перевищують макÑимальний дозволений розмір файлів на цьому Ñервері."
-#: templates/index.php:110
+#: templates/index.php:109
msgid "Files are being scanned, please wait."
msgstr "Файли ÑкануютьÑÑ, зачекайте, будь-лаÑка."
-#: templates/index.php:113
+#: templates/index.php:112
msgid "Current scanning"
msgstr "Поточне ÑкануваннÑ"
diff --git a/l10n/uk/files_encryption.po b/l10n/uk/files_encryption.po
index 9b00d3b7a30..884db2f7afa 100644
--- a/l10n/uk/files_encryption.po
+++ b/l10n/uk/files_encryption.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-10-23 02:02+0200\n"
-"PO-Revision-Date: 2012-10-22 12:05+0000\n"
-"Last-Translator: skoptev <skoptev@ukr.net>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,18 +18,66 @@ msgstr ""
"Language: uk\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "ШифруваннÑ"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "Ðе шифрувати файли наÑтупних типів"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "Жоден"
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "Включити шифруваннÑ"
diff --git a/l10n/uk/files_versions.po b/l10n/uk/files_versions.po
index 91a6d8643b1..1a8bb981db6 100644
--- a/l10n/uk/files_versions.po
+++ b/l10n/uk/files_versions.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-10-23 02:02+0200\n"
-"PO-Revision-Date: 2012-10-22 12:22+0000\n"
-"Last-Translator: skoptev <skoptev@ukr.net>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:03+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,22 +18,10 @@ msgstr ""
"Language: uk\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-#: js/settings-personal.js:31 templates/settings-personal.php:10
-msgid "Expire all versions"
-msgstr "Термін дії вÑÑ–Ñ… верÑій"
-
#: js/versions.js:16
msgid "History"
msgstr "ІÑторіÑ"
-#: templates/settings-personal.php:4
-msgid "Versions"
-msgstr "ВерÑÑ–Ñ—"
-
-#: templates/settings-personal.php:7
-msgid "This will delete all existing backup versions of your files"
-msgstr "Це призведе до Ð·Ð½Ð¸Ñ‰ÐµÐ½Ð½Ñ Ð²ÑÑ–Ñ… Ñ–Ñнуючих збережених верÑій Ваших файлів"
-
#: templates/settings.php:3
msgid "Files Versioning"
msgstr "ВерÑÑ–Ñ— файлів"
diff --git a/l10n/uk/lib.po b/l10n/uk/lib.po
index f2a86e71708..8d1708aa24e 100644
--- a/l10n/uk/lib.po
+++ b/l10n/uk/lib.po
@@ -6,13 +6,14 @@
# <dzubchikd@gmail.com>, 2012.
# <skoptev@ukr.net>, 2012.
# <victor.dubiniuk@gmail.com>, 2012.
+# <volodya327@gmail.com>, 2013.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-11-27 00:10+0100\n"
-"PO-Revision-Date: 2012-11-26 15:40+0000\n"
-"Last-Translator: skoptev <skoptev@ukr.net>\n"
+"POT-Creation-Date: 2013-01-18 00:03+0100\n"
+"PO-Revision-Date: 2013-01-17 13:24+0000\n"
+"Last-Translator: volodya327 <volodya327@gmail.com>\n"
"Language-Team: Ukrainian (http://www.transifex.com/projects/p/owncloud/language/uk/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -20,51 +21,55 @@ msgstr ""
"Language: uk\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-#: app.php:285
+#: app.php:301
msgid "Help"
msgstr "Допомога"
-#: app.php:292
+#: app.php:308
msgid "Personal"
msgstr "ОÑобиÑте"
-#: app.php:297
+#: app.php:313
msgid "Settings"
msgstr "ÐалаштуваннÑ"
-#: app.php:302
+#: app.php:318
msgid "Users"
msgstr "КориÑтувачі"
-#: app.php:309
+#: app.php:325
msgid "Apps"
msgstr "Додатки"
-#: app.php:311
+#: app.php:327
msgid "Admin"
msgstr "Ðдмін"
-#: files.php:361
+#: files.php:365
msgid "ZIP download is turned off."
msgstr "ZIP Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð²Ð¸Ð¼ÐºÐ½ÐµÐ½Ð¾."
-#: files.php:362
+#: files.php:366
msgid "Files need to be downloaded one by one."
msgstr "Файли повинні бути завантаженні поÑлідовно."
-#: files.php:362 files.php:387
+#: files.php:366 files.php:391
msgid "Back to Files"
msgstr "ПовернутиÑÑ Ð´Ð¾ файлів"
-#: files.php:386
+#: files.php:390
msgid "Selected files too large to generate zip file."
msgstr "Вибрані фали завеликі Ð´Ð»Ñ Ð³ÐµÐ½ÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ zip файлу."
+#: helper.php:228
+msgid "couldn't be determined"
+msgstr "не може бути визначено"
+
#: json.php:28
msgid "Application is not enabled"
msgstr "Додаток не увімкнений"
-#: json.php:39 json.php:64 json.php:77 json.php:89
+#: json.php:39 json.php:62 json.php:73
msgid "Authentication error"
msgstr "Помилка автентифікації"
@@ -84,55 +89,55 @@ msgstr "ТекÑÑ‚"
msgid "Images"
msgstr "ЗображеннÑ"
-#: template.php:103
+#: template.php:113
msgid "seconds ago"
msgstr "Ñекунди тому"
-#: template.php:104
+#: template.php:114
msgid "1 minute ago"
msgstr "1 хвилину тому"
-#: template.php:105
+#: template.php:115
#, php-format
msgid "%d minutes ago"
msgstr "%d хвилин тому"
-#: template.php:106
+#: template.php:116
msgid "1 hour ago"
msgstr "1 годину тому"
-#: template.php:107
+#: template.php:117
#, php-format
msgid "%d hours ago"
msgstr "%d годин тому"
-#: template.php:108
+#: template.php:118
msgid "today"
msgstr "Ñьогодні"
-#: template.php:109
+#: template.php:119
msgid "yesterday"
msgstr "вчора"
-#: template.php:110
+#: template.php:120
#, php-format
msgid "%d days ago"
msgstr "%d днів тому"
-#: template.php:111
+#: template.php:121
msgid "last month"
msgstr "минулого міÑÑцÑ"
-#: template.php:112
+#: template.php:122
#, php-format
msgid "%d months ago"
msgstr "%d міÑÑців тому"
-#: template.php:113
+#: template.php:123
msgid "last year"
msgstr "минулого року"
-#: template.php:114
+#: template.php:124
msgid "years ago"
msgstr "роки тому"
diff --git a/l10n/uk/settings.po b/l10n/uk/settings.po
index 613086e2095..5d40f09facf 100644
--- a/l10n/uk/settings.po
+++ b/l10n/uk/settings.po
@@ -5,13 +5,13 @@
# Translators:
# <dzubchikd@gmail.com>, 2012.
# <skoptev@ukr.net>, 2012.
-# <volodya327@gmail.com>, 2012.
+# <volodya327@gmail.com>, 2012-2013.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-23 00:09+0100\n"
-"PO-Revision-Date: 2012-12-22 02:04+0000\n"
+"POT-Creation-Date: 2013-01-18 00:03+0100\n"
+"PO-Revision-Date: 2013-01-17 13:26+0000\n"
"Last-Translator: volodya327 <volodya327@gmail.com>\n"
"Language-Team: Ukrainian (http://www.transifex.com/projects/p/owncloud/language/uk/)\n"
"MIME-Version: 1.0\n"
@@ -32,7 +32,7 @@ msgstr "Група вже Ñ–Ñнує"
msgid "Unable to add group"
msgstr "Ðе вдалоÑÑ Ð´Ð¾Ð´Ð°Ñ‚Ð¸ групу"
-#: ajax/enableapp.php:12
+#: ajax/enableapp.php:11
msgid "Could not enable app. "
msgstr "Ðе вдалоÑÑ Ð°ÐºÑ‚Ð¸Ð²ÑƒÐ²Ð°Ñ‚Ð¸ програму. "
@@ -44,14 +44,6 @@ msgstr "ÐдреÑу збережено"
msgid "Invalid email"
msgstr "Ðевірна адреÑа"
-#: ajax/openid.php:13
-msgid "OpenID Changed"
-msgstr "OpenID змінено"
-
-#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20
-msgid "Invalid request"
-msgstr "Помилковий запит"
-
#: ajax/removegroup.php:13
msgid "Unable to delete group"
msgstr "Ðе вдалоÑÑ Ð²Ð¸Ð´Ð°Ð»Ð¸Ñ‚Ð¸ групу"
@@ -68,6 +60,10 @@ msgstr "Ðе вдалоÑÑ Ð²Ð¸Ð´Ð°Ð»Ð¸Ñ‚Ð¸ кориÑтувача"
msgid "Language changed"
msgstr "Мова змінена"
+#: ajax/setlanguage.php:17 ajax/setlanguage.php:20
+msgid "Invalid request"
+msgstr "Помилковий запит"
+
#: ajax/togglegroups.php:12
msgid "Admins can't remove themself from the admin group"
msgstr "ÐдмініÑтратор не може видалити Ñебе з групи адмінів"
@@ -163,7 +159,7 @@ msgstr "Завантажити клієнт Ð´Ð»Ñ Android"
msgid "Download iOS Client"
msgstr "Завантажити клієнт Ð´Ð»Ñ iOS"
-#: templates/personal.php:21 templates/users.php:23 templates/users.php:77
+#: templates/personal.php:21 templates/users.php:23 templates/users.php:82
msgid "Password"
msgstr "Пароль"
@@ -233,11 +229,11 @@ msgid ""
"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/users.php:21 templates/users.php:76
+#: templates/users.php:21 templates/users.php:81
msgid "Name"
msgstr "Ім'Ñ"
-#: templates/users.php:26 templates/users.php:78 templates/users.php:98
+#: templates/users.php:26 templates/users.php:83 templates/users.php:103
msgid "Groups"
msgstr "Групи"
@@ -246,21 +242,29 @@ msgid "Create"
msgstr "Створити"
#: templates/users.php:35
-msgid "Default Quota"
-msgstr "Квота за замовчуваннÑм"
+msgid "Default Storage"
+msgstr "Ñховище за замовчуваннÑм"
-#: templates/users.php:55 templates/users.php:138
+#: templates/users.php:42 templates/users.php:138
+msgid "Unlimited"
+msgstr "Ðеобмежено"
+
+#: templates/users.php:60 templates/users.php:153
msgid "Other"
msgstr "Інше"
-#: templates/users.php:80 templates/users.php:112
+#: templates/users.php:85 templates/users.php:117
msgid "Group Admin"
msgstr "ÐдмініÑтратор групи"
-#: templates/users.php:82
-msgid "Quota"
-msgstr "Квота"
+#: templates/users.php:87
+msgid "Storage"
+msgstr "Сховище"
+
+#: templates/users.php:133
+msgid "Default"
+msgstr "За замовчуваннÑм"
-#: templates/users.php:146
+#: templates/users.php:161
msgid "Delete"
msgstr "Видалити"
diff --git a/l10n/uk/user_ldap.po b/l10n/uk/user_ldap.po
index b6601497ecb..24f0b5ffdbb 100644
--- a/l10n/uk/user_ldap.po
+++ b/l10n/uk/user_ldap.po
@@ -9,9 +9,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-19 00:03+0100\n"
-"PO-Revision-Date: 2012-12-18 12:52+0000\n"
-"Last-Translator: volodya327 <volodya327@gmail.com>\n"
+"POT-Creation-Date: 2013-01-16 00:19+0100\n"
+"PO-Revision-Date: 2013-01-15 23:20+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -28,9 +28,9 @@ msgstr "<b>Увага:</b> ЗаÑтоÑунки user_ldap та user_webdavauth Ð
#: templates/settings.php:11
msgid ""
-"<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will"
-" not work. Please ask your system administrator to install it."
-msgstr "<b>Увага:</ b> Потрібний модуль PHP LDAP не вÑтановлено, базова програма працювати не буде. Будь лаÑка, звернітьÑÑ Ð´Ð¾ ÑиÑтемного адмініÑтратора, щоб вÑтановити його."
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not "
+"work. Please ask your system administrator to install it."
+msgstr ""
#: templates/settings.php:15
msgid "Host"
@@ -46,6 +46,10 @@ msgid "Base DN"
msgstr "Базовий DN"
#: templates/settings.php:16
+msgid "One Base DN per line"
+msgstr ""
+
+#: templates/settings.php:16
msgid "You can specify Base DN for users and groups in the Advanced tab"
msgstr "Ви можете задати Базовий DN Ð´Ð»Ñ ÐºÐ¾Ñ€Ð¸Ñтувачів Ñ– груп на вкладинці Додатково"
@@ -116,10 +120,18 @@ msgstr "Порт"
msgid "Base User Tree"
msgstr "ОÑновне Дерево КориÑтувачів"
+#: templates/settings.php:25
+msgid "One User Base DN per line"
+msgstr ""
+
#: templates/settings.php:26
msgid "Base Group Tree"
msgstr "ОÑновне Дерево Груп"
+#: templates/settings.php:26
+msgid "One Group Base DN per line"
+msgstr ""
+
#: templates/settings.php:27
msgid "Group-Member association"
msgstr "ÐÑÐ¾Ñ†Ñ–Ð°Ñ†Ñ–Ñ Ð“Ñ€ÑƒÐ¿Ð°-Член"
diff --git a/l10n/uk/user_webdavauth.po b/l10n/uk/user_webdavauth.po
index d81333a1909..eec04d63355 100644
--- a/l10n/uk/user_webdavauth.po
+++ b/l10n/uk/user_webdavauth.po
@@ -9,9 +9,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-23 00:09+0100\n"
-"PO-Revision-Date: 2012-12-22 01:58+0000\n"
-"Last-Translator: volodya327 <volodya327@gmail.com>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -19,13 +19,17 @@ msgstr ""
"Language: uk\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+#: templates/settings.php:3
+msgid "WebDAV Authentication"
+msgstr ""
+
#: templates/settings.php:4
msgid "URL: http://"
msgstr "URL: http://"
#: templates/settings.php:6
msgid ""
-"ownCloud will send the user credentials to this URL is interpret http 401 "
-"and http 403 as credentials wrong and all other codes as credentials "
-"correct."
-msgstr "ownCloud відправить облікові дані на цей URL та буде інтерпретувати http 401 Ñ– http 403, Ñк невірні облікові дані, а вÑÑ– інші коди, Ñк вірні."
+"ownCloud will send the user credentials to this URL. 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 ""
diff --git a/l10n/vi/core.po b/l10n/vi/core.po
index bb3bb8b48dc..e86e7e5911f 100644
--- a/l10n/vi/core.po
+++ b/l10n/vi/core.po
@@ -12,8 +12,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-13 00:17+0100\n"
-"PO-Revision-Date: 2012-12-12 23:17+0000\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:03+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"
@@ -88,55 +88,55 @@ msgstr "Lỗi xóa %s từ mục yêu thích."
msgid "Settings"
msgstr "Cài đặt"
-#: js/js.js:704
+#: js/js.js:711
msgid "seconds ago"
msgstr "vài giây trước"
-#: js/js.js:705
+#: js/js.js:712
msgid "1 minute ago"
msgstr "1 phút trước"
-#: js/js.js:706
+#: js/js.js:713
msgid "{minutes} minutes ago"
msgstr "{minutes} phút trước"
-#: js/js.js:707
+#: js/js.js:714
msgid "1 hour ago"
msgstr "1 giỠtrước"
-#: js/js.js:708
+#: js/js.js:715
msgid "{hours} hours ago"
msgstr "{hours} giỠtrước"
-#: js/js.js:709
+#: js/js.js:716
msgid "today"
msgstr "hôm nay"
-#: js/js.js:710
+#: js/js.js:717
msgid "yesterday"
msgstr "hôm qua"
-#: js/js.js:711
+#: js/js.js:718
msgid "{days} days ago"
msgstr "{days} ngày trước"
-#: js/js.js:712
+#: js/js.js:719
msgid "last month"
msgstr "tháng trước"
-#: js/js.js:713
+#: js/js.js:720
msgid "{months} months ago"
msgstr "{months} tháng trước"
-#: js/js.js:714
+#: js/js.js:721
msgid "months ago"
msgstr "tháng trước"
-#: js/js.js:715
+#: js/js.js:722
msgid "last year"
msgstr "năm trước"
-#: js/js.js:716
+#: js/js.js:723
msgid "years ago"
msgstr "năm trước"
@@ -166,8 +166,8 @@ msgid "The object type is not specified."
msgstr "Loại đối tượng không được chỉ định."
#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136
-#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:541
-#: js/share.js:553
+#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:554
+#: js/share.js:566
msgid "Error"
msgstr "Lá»—i"
@@ -179,7 +179,7 @@ msgstr "Tên ứng dụng không được chỉ định."
msgid "The required file {file} is not installed!"
msgstr "Tập tin cần thiết {file} không được cài đặt!"
-#: js/share.js:124 js/share.js:581
+#: js/share.js:124 js/share.js:594
msgid "Error while sharing"
msgstr "Lỗi trong quá trình chia sẻ"
@@ -207,12 +207,11 @@ msgstr "Chia sẻ với"
msgid "Share with link"
msgstr "Chia sẻ với liên kết"
-#: js/share.js:164
+#: js/share.js:166
msgid "Password protect"
msgstr "Mật khẩu bảo vệ"
-#: js/share.js:168 templates/installation.php:42 templates/login.php:24
-#: templates/verify.php:13
+#: js/share.js:168 templates/installation.php:44 templates/login.php:35
msgid "Password"
msgstr "Mật khẩu"
@@ -276,23 +275,23 @@ msgstr "xóa"
msgid "share"
msgstr "chia sẻ"
-#: js/share.js:353 js/share.js:528 js/share.js:530
+#: js/share.js:356 js/share.js:541
msgid "Password protected"
msgstr "Mật khẩu bảo vệ"
-#: js/share.js:541
+#: js/share.js:554
msgid "Error unsetting expiration date"
msgstr "Lỗi không thiết lập ngày kết thúc"
-#: js/share.js:553
+#: js/share.js:566
msgid "Error setting expiration date"
msgstr "Lỗi cấu hình ngày kết thúc"
-#: js/share.js:568
+#: js/share.js:581
msgid "Sending ..."
msgstr ""
-#: js/share.js:579
+#: js/share.js:592
msgid "Email sent"
msgstr ""
@@ -316,8 +315,8 @@ msgstr "Thiết lập lại email gởi."
msgid "Request failed!"
msgstr "Yêu cầu của bạn không thành công !"
-#: lostpassword/templates/lostpassword.php:11 templates/installation.php:38
-#: templates/login.php:20
+#: lostpassword/templates/lostpassword.php:11 templates/installation.php:39
+#: templates/login.php:28
msgid "Username"
msgstr "Tên ngưá»i dùng"
@@ -406,44 +405,44 @@ msgstr "Thư mục dữ liệu và những tập tin của bạn có thể dễ
msgid "Create an <strong>admin account</strong>"
msgstr "Tạo một <strong>tài khoản quản trị</strong>"
-#: templates/installation.php:48
+#: templates/installation.php:50
msgid "Advanced"
msgstr "Nâng cao"
-#: templates/installation.php:50
+#: templates/installation.php:52
msgid "Data folder"
msgstr "Thư mục dữ liệu"
-#: templates/installation.php:57
+#: templates/installation.php:59
msgid "Configure the database"
msgstr "Cấu hình cơ sở dữ liệu"
-#: templates/installation.php:62 templates/installation.php:73
-#: templates/installation.php:83 templates/installation.php:93
+#: templates/installation.php:64 templates/installation.php:75
+#: templates/installation.php:85 templates/installation.php:95
msgid "will be used"
msgstr "được sử dụng"
-#: templates/installation.php:105
+#: templates/installation.php:107
msgid "Database user"
msgstr "Ngưá»i dùng cÆ¡ sở dữ liệu"
-#: templates/installation.php:109
+#: templates/installation.php:111
msgid "Database password"
msgstr "Mật khẩu cơ sở dữ liệu"
-#: templates/installation.php:113
+#: templates/installation.php:115
msgid "Database name"
msgstr "Tên cơ sở dữ liệu"
-#: templates/installation.php:121
+#: templates/installation.php:123
msgid "Database tablespace"
msgstr "Cơ sở dữ liệu tablespace"
-#: templates/installation.php:127
+#: templates/installation.php:129
msgid "Database host"
msgstr "Database host"
-#: templates/installation.php:132
+#: templates/installation.php:134
msgid "Finish setup"
msgstr "Cài đặt hoàn tất"
@@ -531,36 +530,32 @@ msgstr "các dịch vụ web dưới sự kiểm soát của bạn"
msgid "Log out"
msgstr "Äăng xuất"
-#: templates/login.php:8
+#: templates/login.php:10
msgid "Automatic logon rejected!"
msgstr "Tự động đăng nhập đã bị từ chối !"
-#: templates/login.php:9
+#: templates/login.php:11
msgid ""
"If you did not change your password recently, your account may be "
"compromised!"
msgstr "Nếu bạn không thay đổi mật khẩu gần đây của bạn, tài khoản của bạn có thể gặp nguy hiểm!"
-#: templates/login.php:10
+#: templates/login.php:13
msgid "Please change your password to secure your account again."
msgstr "Vui lòng thay đổi mật khẩu của bạn để đảm bảo tài khoản của bạn một lần nữa."
-#: templates/login.php:15
+#: templates/login.php:19
msgid "Lost your password?"
msgstr "Bạn quên mật khẩu ?"
-#: templates/login.php:27
+#: templates/login.php:39
msgid "remember"
msgstr "ghi nhá»›"
-#: templates/login.php:28
+#: templates/login.php:41
msgid "Log in"
msgstr "Äăng nhập"
-#: templates/logout.php:1
-msgid "You are logged out."
-msgstr "Bạn đã đăng xuất."
-
#: templates/part.pagenavi.php:3
msgid "prev"
msgstr "Lùi lại"
@@ -569,16 +564,7 @@ msgstr "Lùi lại"
msgid "next"
msgstr "Kế tiếp"
-#: templates/verify.php:5
-msgid "Security Warning!"
-msgstr "Cảnh báo bảo mật !"
-
-#: templates/verify.php:6
-msgid ""
-"Please verify your password. <br/>For security reasons you may be "
-"occasionally asked to enter your password again."
-msgstr "Vui lòng xác nhận mật khẩu của bạn. <br/> Vì lý do bảo mật thỉnh thoảng bạn có thể được yêu cầu nhập lại mật khẩu."
-
-#: templates/verify.php:16
-msgid "Verify"
-msgstr "Kiểm tra"
+#: templates/update.php:3
+#, php-format
+msgid "Updating ownCloud to version %s, this may take a while."
+msgstr ""
diff --git a/l10n/vi/files.po b/l10n/vi/files.po
index 2427e237dee..f2e3a48fce4 100644
--- a/l10n/vi/files.po
+++ b/l10n/vi/files.po
@@ -11,8 +11,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-01 00:01+0100\n"
-"PO-Revision-Date: 2012-11-30 23:02+0000\n"
+"POT-Creation-Date: 2013-01-20 00:05+0100\n"
+"PO-Revision-Date: 2013-01-19 23:05+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"
@@ -21,46 +21,77 @@ msgstr ""
"Language: vi\n"
"Plural-Forms: nplurals=1; plural=0;\n"
+#: ajax/delete.php:28 ajax/getstoragestats.php:11 ajax/upload.php:17
+#: ajax/upload.php:76 templates/index.php:18
+msgid "Upload"
+msgstr "Tải lên"
+
+#: ajax/move.php:17
+#, php-format
+msgid "Could not move %s - File with this name already exists"
+msgstr ""
+
+#: ajax/move.php:24
+#, php-format
+msgid "Could not move %s"
+msgstr ""
+
+#: ajax/rename.php:19
+msgid "Unable to rename file"
+msgstr ""
+
#: ajax/upload.php:20
+msgid "No file was uploaded. Unknown error"
+msgstr "Không có tập tin nào được tải lên. Lỗi không xác định"
+
+#: ajax/upload.php:30
msgid "There is no error, the file uploaded with success"
msgstr "Không có lỗi, các tập tin đã được tải lên thành công"
-#: ajax/upload.php:21
+#: ajax/upload.php:31
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr ""
-#: ajax/upload.php:23
+#: ajax/upload.php:33
msgid ""
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
"the HTML form"
msgstr "Kích thước những tập tin tải lên vượt quá MAX_FILE_SIZE đã được quy định"
-#: ajax/upload.php:25
+#: ajax/upload.php:35
msgid "The uploaded file was only partially uploaded"
msgstr "Tập tin tải lên mới chỉ tải lên được một phần"
-#: ajax/upload.php:26
+#: ajax/upload.php:36
msgid "No file was uploaded"
msgstr "Không có tập tin nào được tải lên"
-#: ajax/upload.php:27
+#: ajax/upload.php:37
msgid "Missing a temporary folder"
msgstr "Không tìm thấy thư mục tạm"
-#: ajax/upload.php:28
+#: ajax/upload.php:38
msgid "Failed to write to disk"
msgstr "Không thể ghi "
+#: ajax/upload.php:57
+msgid "Not enough space available"
+msgstr ""
+
+#: ajax/upload.php:91
+msgid "Invalid directory."
+msgstr ""
+
#: appinfo/app.php:10
msgid "Files"
msgstr "Tập tin"
-#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84
+#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
msgid "Unshare"
msgstr "Không chia sẽ"
-#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90
+#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
msgid "Delete"
msgstr "Xóa"
@@ -68,122 +99,136 @@ msgstr "Xóa"
msgid "Rename"
msgstr "Sửa tên"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "{new_name} already exists"
msgstr "{new_name} đã tồn tại"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "replace"
msgstr "thay thế"
-#: js/filelist.js:201
+#: js/filelist.js:205
msgid "suggest name"
msgstr "tên gợi ý"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "cancel"
msgstr "há»§y"
-#: js/filelist.js:250
+#: js/filelist.js:254
msgid "replaced {new_name}"
msgstr "đã thay thế {new_name}"
-#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286
+#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
msgid "undo"
msgstr "lùi lại"
-#: js/filelist.js:252
+#: js/filelist.js:256
msgid "replaced {new_name} with {old_name}"
msgstr "đã thay thế {new_name} bằng {old_name}"
-#: js/filelist.js:284
+#: js/filelist.js:288
msgid "unshared {files}"
msgstr "hủy chia sẽ {files}"
-#: js/filelist.js:286
+#: js/filelist.js:290
msgid "deleted {files}"
msgstr "đã xóa {files}"
-#: js/files.js:33
+#: js/files.js:48
+msgid "'.' is an invalid file name."
+msgstr ""
+
+#: js/files.js:53
+msgid "File name cannot be empty."
+msgstr ""
+
+#: js/files.js:62
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr "Tên không hợp lệ, '\\', '/', '<', '>', ':', '\"', '|', '?' và '*' thì không được phép dùng."
-#: js/files.js:183
-msgid "generating ZIP-file, it may take some time."
-msgstr "Tạo tập tin ZIP, Ä‘iá»u này có thể làm mất má»™t chút thá»i gian"
+#: js/files.js:204
+msgid ""
+"Your download is being prepared. This might take some time if the files are "
+"big."
+msgstr ""
-#: js/files.js:218
+#: js/files.js:242
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr "Không thể tải lên tập tin này do nó là một thư mục hoặc kích thước tập tin bằng 0 byte"
-#: js/files.js:218
+#: js/files.js:242
msgid "Upload Error"
msgstr "Tải lên lỗi"
-#: js/files.js:235
+#: js/files.js:259
msgid "Close"
msgstr "Äóng"
-#: js/files.js:254 js/files.js:368 js/files.js:398
+#: js/files.js:278 js/files.js:397 js/files.js:431
msgid "Pending"
msgstr "Chá»"
-#: js/files.js:274
+#: js/files.js:298
msgid "1 file uploading"
msgstr "1 tệp tin đang được tải lên"
-#: js/files.js:277 js/files.js:331 js/files.js:346
+#: js/files.js:301 js/files.js:357 js/files.js:372
msgid "{count} files uploading"
msgstr "{count} tập tin đang tải lên"
-#: js/files.js:349 js/files.js:382
+#: js/files.js:376 js/files.js:414
msgid "Upload cancelled."
msgstr "Hủy tải lên"
-#: js/files.js:451
+#: js/files.js:486
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr "Tập tin tải lên Ä‘ang được xá»­ lý. Nếu bạn rá»i khá»i trang bây giá» sẽ há»§y quá trình này."
-#: js/files.js:523
-msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud"
-msgstr "Tên thư mục không hợp lệ. Sử dụng \"Chia sẻ\" được dành riêng bởi Owncloud"
+#: js/files.js:559
+msgid "URL cannot be empty."
+msgstr "URL không được để trống."
-#: js/files.js:704
+#: js/files.js:565
+msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
+msgstr ""
+
+#: js/files.js:775
msgid "{count} files scanned"
msgstr "{count} tập tin đã được quét"
-#: js/files.js:712
+#: js/files.js:783
msgid "error while scanning"
msgstr "lỗi trong khi quét"
-#: js/files.js:785 templates/index.php:65
+#: js/files.js:857 templates/index.php:64
msgid "Name"
msgstr "Tên"
-#: js/files.js:786 templates/index.php:76
+#: js/files.js:858 templates/index.php:75
msgid "Size"
msgstr "Kích cỡ"
-#: js/files.js:787 templates/index.php:78
+#: js/files.js:859 templates/index.php:77
msgid "Modified"
msgstr "Thay đổi"
-#: js/files.js:814
+#: js/files.js:878
msgid "1 folder"
msgstr "1 thư mục"
-#: js/files.js:816
+#: js/files.js:880
msgid "{count} folders"
msgstr "{count} thư mục"
-#: js/files.js:824
+#: js/files.js:888
msgid "1 file"
msgstr "1 tập tin"
-#: js/files.js:826
+#: js/files.js:890
msgid "{count} files"
msgstr "{count} tập tin"
@@ -195,27 +240,27 @@ msgstr "Xử lý tập tin"
msgid "Maximum upload size"
msgstr "Kích thước tối đa "
-#: templates/admin.php:9
+#: templates/admin.php:10
msgid "max. possible: "
msgstr "tối đa cho phép:"
-#: templates/admin.php:12
+#: templates/admin.php:15
msgid "Needed for multi-file and folder downloads."
msgstr "Cần thiết cho tải nhiá»u tập tin và thư mục."
-#: templates/admin.php:14
+#: templates/admin.php:17
msgid "Enable ZIP-download"
msgstr "Cho phép ZIP-download"
-#: templates/admin.php:17
+#: templates/admin.php:20
msgid "0 is unlimited"
msgstr "0 là không giới hạn"
-#: templates/admin.php:19
+#: templates/admin.php:22
msgid "Maximum input size for ZIP files"
msgstr "Kích thước tối đa cho các tập tin ZIP"
-#: templates/admin.php:23
+#: templates/admin.php:26
msgid "Save"
msgstr "Lưu"
@@ -235,36 +280,32 @@ msgstr "Thư mục"
msgid "From link"
msgstr "Từ liên kết"
-#: templates/index.php:35
-msgid "Upload"
-msgstr "Tải lên"
-
-#: templates/index.php:43
+#: templates/index.php:41
msgid "Cancel upload"
msgstr "Há»§y upload"
-#: templates/index.php:57
+#: templates/index.php:56
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:71
+#: templates/index.php:70
msgid "Download"
msgstr "Tải xuống"
-#: templates/index.php:103
+#: templates/index.php:102
msgid "Upload too large"
msgstr "Tập tin tải lên quá lớn"
-#: templates/index.php:105
+#: templates/index.php:104
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:110
+#: templates/index.php:109
msgid "Files are being scanned, please wait."
msgstr "Tập tin Ä‘ang được quét ,vui lòng chá»."
-#: templates/index.php:113
+#: templates/index.php:112
msgid "Current scanning"
msgstr "Hiện tại đang quét"
diff --git a/l10n/vi/files_encryption.po b/l10n/vi/files_encryption.po
index 0ac3a53087c..a6019e03022 100644
--- a/l10n/vi/files_encryption.po
+++ b/l10n/vi/files_encryption.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-11-21 00:01+0100\n"
-"PO-Revision-Date: 2012-11-20 05:48+0000\n"
-"Last-Translator: Sơn Nguyễn <sonnghit@gmail.com>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,18 +18,66 @@ msgstr ""
"Language: vi\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "Mã hóa"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "Loại trừ các loại tập tin sau đây từ mã hóa"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "Không có gì hết"
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "BẬT mã hóa"
diff --git a/l10n/vi/files_versions.po b/l10n/vi/files_versions.po
index c06b31deb15..4de9dbf8467 100644
--- a/l10n/vi/files_versions.po
+++ b/l10n/vi/files_versions.po
@@ -9,9 +9,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-11-21 00:01+0100\n"
-"PO-Revision-Date: 2012-11-20 04:32+0000\n"
-"Last-Translator: Sơn Nguyễn <sonnghit@gmail.com>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -19,22 +19,10 @@ msgstr ""
"Language: vi\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: js/settings-personal.js:31 templates/settings-personal.php:10
-msgid "Expire all versions"
-msgstr "Hết hạn tất cả các phiên bản"
-
#: js/versions.js:16
msgid "History"
msgstr "Lịch sử"
-#: templates/settings-personal.php:4
-msgid "Versions"
-msgstr "Phiên bản"
-
-#: templates/settings-personal.php:7
-msgid "This will delete all existing backup versions of your files"
-msgstr "Khi bạn thực hiện thao tác này sẽ xóa tất cả các phiên bản sao lưu hiện có "
-
#: templates/settings.php:3
msgid "Files Versioning"
msgstr "Phiên bản tập tin"
diff --git a/l10n/vi/lib.po b/l10n/vi/lib.po
index 915964d52ff..d838960fd97 100644
--- a/l10n/vi/lib.po
+++ b/l10n/vi/lib.po
@@ -10,9 +10,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-11-21 00:01+0100\n"
-"PO-Revision-Date: 2012-11-20 01:33+0000\n"
-"Last-Translator: mattheu_9x <mattheu.9x@gmail.com>\n"
+"POT-Creation-Date: 2013-01-17 00:26+0100\n"
+"PO-Revision-Date: 2013-01-16 23:26+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -20,51 +20,55 @@ msgstr ""
"Language: vi\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: app.php:285
+#: app.php:301
msgid "Help"
msgstr "Giúp đỡ"
-#: app.php:292
+#: app.php:308
msgid "Personal"
msgstr "Cá nhân"
-#: app.php:297
+#: app.php:313
msgid "Settings"
msgstr "Cài đặt"
-#: app.php:302
+#: app.php:318
msgid "Users"
msgstr "Ngưá»i dùng"
-#: app.php:309
+#: app.php:325
msgid "Apps"
msgstr "Ứng dụng"
-#: app.php:311
+#: app.php:327
msgid "Admin"
msgstr "Quản trị"
-#: files.php:361
+#: files.php:365
msgid "ZIP download is turned off."
msgstr "Tải vỠZIP đã bị tắt."
-#: files.php:362
+#: files.php:366
msgid "Files need to be downloaded one by one."
msgstr "Tập tin cần phải được tải vá» từng ngưá»i má»™t."
-#: files.php:362 files.php:387
+#: files.php:366 files.php:391
msgid "Back to Files"
msgstr "Trở lại tập tin"
-#: files.php:386
+#: files.php:390
msgid "Selected files too large to generate zip file."
msgstr "Tập tin được chá»n quá lá»›n để tạo tập tin ZIP."
+#: helper.php:228
+msgid "couldn't be determined"
+msgstr ""
+
#: json.php:28
msgid "Application is not enabled"
msgstr "Ứng dụng không được BẬT"
-#: json.php:39 json.php:64 json.php:77 json.php:89
+#: json.php:39 json.php:62 json.php:73
msgid "Authentication error"
msgstr "Lỗi xác thực"
@@ -84,55 +88,55 @@ msgstr "Văn bản"
msgid "Images"
msgstr "Hình ảnh"
-#: template.php:103
+#: template.php:113
msgid "seconds ago"
msgstr "1 giây trước"
-#: template.php:104
+#: template.php:114
msgid "1 minute ago"
msgstr "1 phút trước"
-#: template.php:105
+#: template.php:115
#, php-format
msgid "%d minutes ago"
msgstr "%d phút trước"
-#: template.php:106
+#: template.php:116
msgid "1 hour ago"
msgstr "1 giỠtrước"
-#: template.php:107
+#: template.php:117
#, php-format
msgid "%d hours ago"
msgstr "%d giỠtrước"
-#: template.php:108
+#: template.php:118
msgid "today"
msgstr "hôm nay"
-#: template.php:109
+#: template.php:119
msgid "yesterday"
msgstr "hôm qua"
-#: template.php:110
+#: template.php:120
#, php-format
msgid "%d days ago"
msgstr "%d ngày trước"
-#: template.php:111
+#: template.php:121
msgid "last month"
msgstr "tháng trước"
-#: template.php:112
+#: template.php:122
#, php-format
msgid "%d months ago"
msgstr "%d tháng trước"
-#: template.php:113
+#: template.php:123
msgid "last year"
msgstr "năm trước"
-#: template.php:114
+#: template.php:124
msgid "years ago"
msgstr "năm trước"
diff --git a/l10n/vi/settings.po b/l10n/vi/settings.po
index e17d6607eed..d7c48f81a4b 100644
--- a/l10n/vi/settings.po
+++ b/l10n/vi/settings.po
@@ -13,8 +13,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-21 00:10+0100\n"
-"PO-Revision-Date: 2012-12-19 23:20+0000\n"
+"POT-Creation-Date: 2013-01-12 00:09+0100\n"
+"PO-Revision-Date: 2013-01-11 23:09+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"
@@ -35,7 +35,7 @@ msgstr "Nhóm đã tồn tại"
msgid "Unable to add group"
msgstr "Không thể thêm nhóm"
-#: ajax/enableapp.php:12
+#: ajax/enableapp.php:11
msgid "Could not enable app. "
msgstr "không thể kích hoạt ứng dụng."
@@ -47,14 +47,6 @@ msgstr "Lưu email"
msgid "Invalid email"
msgstr "Email không hợp lệ"
-#: ajax/openid.php:13
-msgid "OpenID Changed"
-msgstr "Äổi OpenID"
-
-#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20
-msgid "Invalid request"
-msgstr "Yêu cầu không hợp lệ"
-
#: ajax/removegroup.php:13
msgid "Unable to delete group"
msgstr "Không thể xóa nhóm"
@@ -71,6 +63,10 @@ msgstr "Không thể xóa ngưá»i dùng"
msgid "Language changed"
msgstr "Ngôn ngữ đã được thay đổi"
+#: ajax/setlanguage.php:17 ajax/setlanguage.php:20
+msgid "Invalid request"
+msgstr "Yêu cầu không hợp lệ"
+
#: ajax/togglegroups.php:12
msgid "Admins can't remove themself from the admin group"
msgstr "Quản trị viên không thể loại bá» chính há» khá»i nhóm quản lý"
@@ -166,7 +162,7 @@ msgstr ""
msgid "Download iOS Client"
msgstr ""
-#: templates/personal.php:21 templates/users.php:23 templates/users.php:77
+#: templates/personal.php:21 templates/users.php:23 templates/users.php:82
msgid "Password"
msgstr "Mật khẩu"
@@ -236,11 +232,11 @@ msgid ""
"License\">AGPL</abbr></a>."
msgstr "ÄÆ°á»£c phát triển bởi <a href=\"http://ownCloud.org/contact\" target=\"_blank\">cá»™ng đồng ownCloud</a>, <a href=\"https://github.com/owncloud\" target=\"_blank\">mã nguồn </a> đã được cấp phép theo chuẩn <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>."
-#: templates/users.php:21 templates/users.php:76
+#: templates/users.php:21 templates/users.php:81
msgid "Name"
msgstr "Tên"
-#: templates/users.php:26 templates/users.php:78 templates/users.php:98
+#: templates/users.php:26 templates/users.php:83 templates/users.php:103
msgid "Groups"
msgstr "Nhóm"
@@ -249,21 +245,29 @@ msgid "Create"
msgstr "Tạo"
#: templates/users.php:35
-msgid "Default Quota"
-msgstr "Hạn ngạch mặt định"
+msgid "Default Storage"
+msgstr ""
+
+#: templates/users.php:42 templates/users.php:138
+msgid "Unlimited"
+msgstr ""
-#: templates/users.php:55 templates/users.php:138
+#: templates/users.php:60 templates/users.php:153
msgid "Other"
msgstr "Khác"
-#: templates/users.php:80 templates/users.php:112
+#: templates/users.php:85 templates/users.php:117
msgid "Group Admin"
msgstr "Nhóm quản trị"
-#: templates/users.php:82
-msgid "Quota"
-msgstr "Hạn ngạch"
+#: templates/users.php:87
+msgid "Storage"
+msgstr ""
+
+#: templates/users.php:133
+msgid "Default"
+msgstr ""
-#: templates/users.php:146
+#: templates/users.php:161
msgid "Delete"
msgstr "Xóa"
diff --git a/l10n/vi/user_ldap.po b/l10n/vi/user_ldap.po
index c6157201e51..6e334612607 100644
--- a/l10n/vi/user_ldap.po
+++ b/l10n/vi/user_ldap.po
@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-15 00:11+0100\n"
-"PO-Revision-Date: 2012-12-14 23:11+0000\n"
+"POT-Creation-Date: 2013-01-16 00:19+0100\n"
+"PO-Revision-Date: 2013-01-15 23:20+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"
@@ -28,8 +28,8 @@ msgstr ""
#: templates/settings.php:11
msgid ""
-"<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will"
-" not work. Please ask your system administrator to install it."
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not "
+"work. Please ask your system administrator to install it."
msgstr ""
#: templates/settings.php:15
@@ -46,6 +46,10 @@ msgid "Base DN"
msgstr "DN cơ bản"
#: templates/settings.php:16
+msgid "One Base DN per line"
+msgstr ""
+
+#: templates/settings.php:16
msgid "You can specify Base DN for users and groups in the Advanced tab"
msgstr "Bạn có thể chỉ định DN cÆ¡ bản cho ngưá»i dùng và các nhóm trong tab Advanced"
@@ -116,10 +120,18 @@ msgstr "Cổng"
msgid "Base User Tree"
msgstr "Cây ngưá»i dùng cÆ¡ bản"
+#: templates/settings.php:25
+msgid "One User Base DN per line"
+msgstr ""
+
#: templates/settings.php:26
msgid "Base Group Tree"
msgstr "Cây nhóm cơ bản"
+#: templates/settings.php:26
+msgid "One Group Base DN per line"
+msgstr ""
+
#: templates/settings.php:27
msgid "Group-Member association"
msgstr "Nhóm thành viên Cộng đồng"
diff --git a/l10n/vi/user_webdavauth.po b/l10n/vi/user_webdavauth.po
index 5faffd6c9af..5442bdaff42 100644
--- a/l10n/vi/user_webdavauth.po
+++ b/l10n/vi/user_webdavauth.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-20 00:11+0100\n"
-"PO-Revision-Date: 2012-12-19 23:12+0000\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+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"
@@ -18,13 +18,17 @@ msgstr ""
"Language: vi\n"
"Plural-Forms: nplurals=1; plural=0;\n"
+#: templates/settings.php:3
+msgid "WebDAV Authentication"
+msgstr ""
+
#: templates/settings.php:4
msgid "URL: http://"
msgstr ""
#: templates/settings.php:6
msgid ""
-"ownCloud will send the user credentials to this URL is interpret http 401 "
-"and http 403 as credentials wrong and all other codes as credentials "
-"correct."
+"ownCloud will send the user credentials to this URL. 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 ""
diff --git a/l10n/zh_CN.GB2312/core.po b/l10n/zh_CN.GB2312/core.po
index ad918d8e012..0e81b175791 100644
--- a/l10n/zh_CN.GB2312/core.po
+++ b/l10n/zh_CN.GB2312/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: 2012-12-13 00:17+0100\n"
-"PO-Revision-Date: 2012-12-12 23:17+0000\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:03+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Chinese (China) (GB2312) (http://www.transifex.com/projects/p/owncloud/language/zh_CN.GB2312/)\n"
"MIME-Version: 1.0\n"
@@ -85,55 +85,55 @@ msgstr ""
msgid "Settings"
msgstr "设置"
-#: js/js.js:704
+#: js/js.js:711
msgid "seconds ago"
msgstr "ç§’å‰"
-#: js/js.js:705
+#: js/js.js:712
msgid "1 minute ago"
msgstr "1 分钟å‰"
-#: js/js.js:706
+#: js/js.js:713
msgid "{minutes} minutes ago"
msgstr "{minutes} 分钟å‰"
-#: js/js.js:707
+#: js/js.js:714
msgid "1 hour ago"
msgstr ""
-#: js/js.js:708
+#: js/js.js:715
msgid "{hours} hours ago"
msgstr ""
-#: js/js.js:709
+#: js/js.js:716
msgid "today"
msgstr "今天"
-#: js/js.js:710
+#: js/js.js:717
msgid "yesterday"
msgstr "昨天"
-#: js/js.js:711
+#: js/js.js:718
msgid "{days} days ago"
msgstr "{days} 天å‰"
-#: js/js.js:712
+#: js/js.js:719
msgid "last month"
msgstr "上个月"
-#: js/js.js:713
+#: js/js.js:720
msgid "{months} months ago"
msgstr ""
-#: js/js.js:714
+#: js/js.js:721
msgid "months ago"
msgstr "月å‰"
-#: js/js.js:715
+#: js/js.js:722
msgid "last year"
msgstr "去年"
-#: js/js.js:716
+#: js/js.js:723
msgid "years ago"
msgstr "å¹´å‰"
@@ -163,8 +163,8 @@ msgid "The object type is not specified."
msgstr ""
#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136
-#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:541
-#: js/share.js:553
+#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:554
+#: js/share.js:566
msgid "Error"
msgstr "错误"
@@ -176,7 +176,7 @@ msgstr ""
msgid "The required file {file} is not installed!"
msgstr ""
-#: js/share.js:124 js/share.js:581
+#: js/share.js:124 js/share.js:594
msgid "Error while sharing"
msgstr "分享出错"
@@ -204,12 +204,11 @@ msgstr "分享"
msgid "Share with link"
msgstr "分享链接"
-#: js/share.js:164
+#: js/share.js:166
msgid "Password protect"
msgstr "密ç ä¿æŠ¤"
-#: js/share.js:168 templates/installation.php:42 templates/login.php:24
-#: templates/verify.php:13
+#: js/share.js:168 templates/installation.php:44 templates/login.php:35
msgid "Password"
msgstr "密ç "
@@ -273,23 +272,23 @@ msgstr "删除"
msgid "share"
msgstr "分享"
-#: js/share.js:353 js/share.js:528 js/share.js:530
+#: js/share.js:356 js/share.js:541
msgid "Password protected"
msgstr "密ç ä¿æŠ¤"
-#: js/share.js:541
+#: js/share.js:554
msgid "Error unsetting expiration date"
msgstr "å–æ¶ˆè®¾ç½®å¤±æ•ˆæ—¥æœŸå‡ºé”™"
-#: js/share.js:553
+#: js/share.js:566
msgid "Error setting expiration date"
msgstr "设置失效日期出错"
-#: js/share.js:568
+#: js/share.js:581
msgid "Sending ..."
msgstr ""
-#: js/share.js:579
+#: js/share.js:592
msgid "Email sent"
msgstr ""
@@ -313,8 +312,8 @@ msgstr "é‡ç½®é‚®ä»¶å·²å‘é€ã€‚"
msgid "Request failed!"
msgstr "请求失败ï¼"
-#: lostpassword/templates/lostpassword.php:11 templates/installation.php:38
-#: templates/login.php:20
+#: lostpassword/templates/lostpassword.php:11 templates/installation.php:39
+#: templates/login.php:28
msgid "Username"
msgstr "用户å"
@@ -403,44 +402,44 @@ msgstr "æ‚¨çš„æ•°æ®æ–‡ä»¶å¤¹å’Œæ‚¨çš„æ–‡ä»¶æˆ–许能够从互è”网访问。own
msgid "Create an <strong>admin account</strong>"
msgstr "建立一个 <strong>管ç†å¸æˆ·</strong>"
-#: templates/installation.php:48
+#: templates/installation.php:50
msgid "Advanced"
msgstr "进阶"
-#: templates/installation.php:50
+#: templates/installation.php:52
msgid "Data folder"
msgstr "æ•°æ®å­˜æ”¾æ–‡ä»¶å¤¹"
-#: templates/installation.php:57
+#: templates/installation.php:59
msgid "Configure the database"
msgstr "é…置数æ®åº“"
-#: templates/installation.php:62 templates/installation.php:73
-#: templates/installation.php:83 templates/installation.php:93
+#: templates/installation.php:64 templates/installation.php:75
+#: templates/installation.php:85 templates/installation.php:95
msgid "will be used"
msgstr "将会使用"
-#: templates/installation.php:105
+#: templates/installation.php:107
msgid "Database user"
msgstr "æ•°æ®åº“用户"
-#: templates/installation.php:109
+#: templates/installation.php:111
msgid "Database password"
msgstr "æ•°æ®åº“密ç "
-#: templates/installation.php:113
+#: templates/installation.php:115
msgid "Database name"
msgstr "æ•°æ®åº“用户å"
-#: templates/installation.php:121
+#: templates/installation.php:123
msgid "Database tablespace"
msgstr "æ•°æ®åº“表格空间"
-#: templates/installation.php:127
+#: templates/installation.php:129
msgid "Database host"
msgstr "æ•°æ®åº“主机"
-#: templates/installation.php:132
+#: templates/installation.php:134
msgid "Finish setup"
msgstr "完æˆå®‰è£…"
@@ -528,36 +527,32 @@ msgstr "你控制下的网络æœåŠ¡"
msgid "Log out"
msgstr "注销"
-#: templates/login.php:8
+#: templates/login.php:10
msgid "Automatic logon rejected!"
msgstr "自动登录被拒ç»ï¼"
-#: templates/login.php:9
+#: templates/login.php:11
msgid ""
"If you did not change your password recently, your account may be "
"compromised!"
msgstr "如果您最近没有修改您的密ç ï¼Œé‚£æ‚¨çš„å¸å·å¯èƒ½è¢«æ”»å‡»äº†ï¼"
-#: templates/login.php:10
+#: templates/login.php:13
msgid "Please change your password to secure your account again."
msgstr "请修改您的密ç ä»¥ä¿æŠ¤è´¦æˆ·ã€‚"
-#: templates/login.php:15
+#: templates/login.php:19
msgid "Lost your password?"
msgstr "忘记密�"
-#: templates/login.php:27
+#: templates/login.php:39
msgid "remember"
msgstr "备忘"
-#: templates/login.php:28
+#: templates/login.php:41
msgid "Log in"
msgstr "登陆"
-#: templates/logout.php:1
-msgid "You are logged out."
-msgstr "ä½ å·²ç»æ³¨é”€äº†"
-
#: templates/part.pagenavi.php:3
msgid "prev"
msgstr "åŽé€€"
@@ -566,16 +561,7 @@ msgstr "åŽé€€"
msgid "next"
msgstr "å‰è¿›"
-#: templates/verify.php:5
-msgid "Security Warning!"
-msgstr "安全警告ï¼"
-
-#: templates/verify.php:6
-msgid ""
-"Please verify your password. <br/>For security reasons you may be "
-"occasionally asked to enter your password again."
-msgstr "请确认您的密ç ã€‚<br/>处于安全原因你å¶å°”ä¹Ÿä¼šè¢«è¦æ±‚冿¬¡è¾“入您的密ç ã€‚"
-
-#: templates/verify.php:16
-msgid "Verify"
-msgstr "确认"
+#: templates/update.php:3
+#, php-format
+msgid "Updating ownCloud to version %s, this may take a while."
+msgstr ""
diff --git a/l10n/zh_CN.GB2312/files.po b/l10n/zh_CN.GB2312/files.po
index 7c74914a97f..84a0e059f37 100644
--- a/l10n/zh_CN.GB2312/files.po
+++ b/l10n/zh_CN.GB2312/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: 2012-12-01 00:01+0100\n"
-"PO-Revision-Date: 2012-11-30 23:02+0000\n"
+"POT-Creation-Date: 2013-01-20 00:05+0100\n"
+"PO-Revision-Date: 2013-01-19 23:05+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Chinese (China) (GB2312) (http://www.transifex.com/projects/p/owncloud/language/zh_CN.GB2312/)\n"
"MIME-Version: 1.0\n"
@@ -19,46 +19,77 @@ msgstr ""
"Language: zh_CN.GB2312\n"
"Plural-Forms: nplurals=1; plural=0;\n"
+#: ajax/delete.php:28 ajax/getstoragestats.php:11 ajax/upload.php:17
+#: ajax/upload.php:76 templates/index.php:18
+msgid "Upload"
+msgstr "上传"
+
+#: ajax/move.php:17
+#, php-format
+msgid "Could not move %s - File with this name already exists"
+msgstr ""
+
+#: ajax/move.php:24
+#, php-format
+msgid "Could not move %s"
+msgstr ""
+
+#: ajax/rename.php:19
+msgid "Unable to rename file"
+msgstr ""
+
#: ajax/upload.php:20
+msgid "No file was uploaded. Unknown error"
+msgstr "没有上传文件。未知错误"
+
+#: ajax/upload.php:30
msgid "There is no error, the file uploaded with success"
msgstr "没有任何错误,文件上传æˆåŠŸäº†"
-#: ajax/upload.php:21
+#: ajax/upload.php:31
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr ""
-#: ajax/upload.php:23
+#: ajax/upload.php:33
msgid ""
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
"the HTML form"
msgstr "上传的文件超过了HTMLè¡¨å•æŒ‡å®šçš„MAX_FILE_SIZE"
-#: ajax/upload.php:25
+#: ajax/upload.php:35
msgid "The uploaded file was only partially uploaded"
msgstr "æ–‡ä»¶åªæœ‰éƒ¨åˆ†è¢«ä¸Šä¼ "
-#: ajax/upload.php:26
+#: ajax/upload.php:36
msgid "No file was uploaded"
msgstr "没有上传完æˆçš„æ–‡ä»¶"
-#: ajax/upload.php:27
+#: ajax/upload.php:37
msgid "Missing a temporary folder"
msgstr "丢失了一个临时文件夹"
-#: ajax/upload.php:28
+#: ajax/upload.php:38
msgid "Failed to write to disk"
msgstr "写ç£ç›˜å¤±è´¥"
+#: ajax/upload.php:57
+msgid "Not enough space available"
+msgstr ""
+
+#: ajax/upload.php:91
+msgid "Invalid directory."
+msgstr ""
+
#: appinfo/app.php:10
msgid "Files"
msgstr "文件"
-#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84
+#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
msgid "Unshare"
msgstr "å–æ¶ˆå…±äº«"
-#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90
+#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
msgid "Delete"
msgstr "删除"
@@ -66,122 +97,136 @@ msgstr "删除"
msgid "Rename"
msgstr "é‡å‘½å"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "{new_name} already exists"
msgstr "{new_name} 已存在"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "replace"
msgstr "替æ¢"
-#: js/filelist.js:201
+#: js/filelist.js:205
msgid "suggest name"
msgstr "推èåç§°"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "cancel"
msgstr "å–æ¶ˆ"
-#: js/filelist.js:250
+#: js/filelist.js:254
msgid "replaced {new_name}"
msgstr "å·²æ›¿æ¢ {new_name}"
-#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286
+#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
msgid "undo"
msgstr "撤销"
-#: js/filelist.js:252
+#: js/filelist.js:256
msgid "replaced {new_name} with {old_name}"
msgstr "已用 {old_name} æ›¿æ¢ {new_name}"
-#: js/filelist.js:284
+#: js/filelist.js:288
msgid "unshared {files}"
msgstr "未分享的 {files}"
-#: js/filelist.js:286
+#: js/filelist.js:290
msgid "deleted {files}"
msgstr "已删除的 {files}"
-#: js/files.js:33
+#: js/files.js:48
+msgid "'.' is an invalid file name."
+msgstr ""
+
+#: js/files.js:53
+msgid "File name cannot be empty."
+msgstr ""
+
+#: js/files.js:62
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr ""
-#: js/files.js:183
-msgid "generating ZIP-file, it may take some time."
-msgstr "正在生æˆZIP文件,è¿™å¯èƒ½éœ€è¦ç‚¹æ—¶é—´"
+#: js/files.js:204
+msgid ""
+"Your download is being prepared. This might take some time if the files are "
+"big."
+msgstr ""
-#: js/files.js:218
+#: js/files.js:242
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr "ä¸èƒ½ä¸Šä¼ ä½ æŒ‡å®šçš„æ–‡ä»¶,å¯èƒ½å› ä¸ºå®ƒæ˜¯ä¸ªæ–‡ä»¶å¤¹æˆ–者大å°ä¸º0"
-#: js/files.js:218
+#: js/files.js:242
msgid "Upload Error"
msgstr "上传错误"
-#: js/files.js:235
+#: js/files.js:259
msgid "Close"
msgstr "关闭"
-#: js/files.js:254 js/files.js:368 js/files.js:398
+#: js/files.js:278 js/files.js:397 js/files.js:431
msgid "Pending"
msgstr "Pending"
-#: js/files.js:274
+#: js/files.js:298
msgid "1 file uploading"
msgstr "1 个文件正在上传"
-#: js/files.js:277 js/files.js:331 js/files.js:346
+#: js/files.js:301 js/files.js:357 js/files.js:372
msgid "{count} files uploading"
msgstr "{count} 个文件正在上传"
-#: js/files.js:349 js/files.js:382
+#: js/files.js:376 js/files.js:414
msgid "Upload cancelled."
msgstr "ä¸Šä¼ å–æ¶ˆäº†"
-#: js/files.js:451
+#: js/files.js:486
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr "文件正在上传。关闭页é¢ä¼šå–消上传。"
-#: js/files.js:523
-msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud"
+#: js/files.js:559
+msgid "URL cannot be empty."
+msgstr "网å€ä¸èƒ½ä¸ºç©ºã€‚"
+
+#: js/files.js:565
+msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
msgstr ""
-#: js/files.js:704
+#: js/files.js:775
msgid "{count} files scanned"
msgstr "{count} 个文件已扫æ"
-#: js/files.js:712
+#: js/files.js:783
msgid "error while scanning"
msgstr "扫æå‡ºé”™"
-#: js/files.js:785 templates/index.php:65
+#: js/files.js:857 templates/index.php:64
msgid "Name"
msgstr "åå­—"
-#: js/files.js:786 templates/index.php:76
+#: js/files.js:858 templates/index.php:75
msgid "Size"
msgstr "大å°"
-#: js/files.js:787 templates/index.php:78
+#: js/files.js:859 templates/index.php:77
msgid "Modified"
msgstr "修改日期"
-#: js/files.js:814
+#: js/files.js:878
msgid "1 folder"
msgstr "1 个文件夹"
-#: js/files.js:816
+#: js/files.js:880
msgid "{count} folders"
msgstr "{count} 个文件夹"
-#: js/files.js:824
+#: js/files.js:888
msgid "1 file"
msgstr "1 个文件"
-#: js/files.js:826
+#: js/files.js:890
msgid "{count} files"
msgstr "{count} 个文件"
@@ -193,27 +238,27 @@ msgstr "文件处ç†ä¸­"
msgid "Maximum upload size"
msgstr "最大上传大å°"
-#: templates/admin.php:9
+#: templates/admin.php:10
msgid "max. possible: "
msgstr "最大å¯èƒ½"
-#: templates/admin.php:12
+#: templates/admin.php:15
msgid "Needed for multi-file and folder downloads."
msgstr "需è¦å¤šæ–‡ä»¶å’Œæ–‡ä»¶å¤¹ä¸‹è½½."
-#: templates/admin.php:14
+#: templates/admin.php:17
msgid "Enable ZIP-download"
msgstr "支æŒZIP下载"
-#: templates/admin.php:17
+#: templates/admin.php:20
msgid "0 is unlimited"
msgstr "0是无é™çš„"
-#: templates/admin.php:19
+#: templates/admin.php:22
msgid "Maximum input size for ZIP files"
msgstr "最大的ZIP文件输入大å°"
-#: templates/admin.php:23
+#: templates/admin.php:26
msgid "Save"
msgstr "ä¿å­˜"
@@ -233,36 +278,32 @@ msgstr "文件夹"
msgid "From link"
msgstr "æ¥è‡ªé“¾æŽ¥"
-#: templates/index.php:35
-msgid "Upload"
-msgstr "上传"
-
-#: templates/index.php:43
+#: templates/index.php:41
msgid "Cancel upload"
msgstr "å–æ¶ˆä¸Šä¼ "
-#: templates/index.php:57
+#: templates/index.php:56
msgid "Nothing in here. Upload something!"
msgstr "这里没有东西.上传点什么!"
-#: templates/index.php:71
+#: templates/index.php:70
msgid "Download"
msgstr "下载"
-#: templates/index.php:103
+#: templates/index.php:102
msgid "Upload too large"
msgstr "上传的文件太大了"
-#: templates/index.php:105
+#: templates/index.php:104
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "你正在试图上传的文件超过了此æœåŠ¡å™¨æ”¯æŒçš„æœ€å¤§çš„æ–‡ä»¶å¤§å°."
-#: templates/index.php:110
+#: templates/index.php:109
msgid "Files are being scanned, please wait."
msgstr "æ­£åœ¨æ‰«ææ–‡ä»¶,请ç¨å€™."
-#: templates/index.php:113
+#: templates/index.php:112
msgid "Current scanning"
msgstr "正在扫æ"
diff --git a/l10n/zh_CN.GB2312/files_encryption.po b/l10n/zh_CN.GB2312/files_encryption.po
index eb4ddd9c548..f85989afca2 100644
--- a/l10n/zh_CN.GB2312/files_encryption.po
+++ b/l10n/zh_CN.GB2312/files_encryption.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-09-18 02:01+0200\n"
-"PO-Revision-Date: 2012-09-17 10:51+0000\n"
-"Last-Translator: marguerite su <i@marguerite.su>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Chinese (China) (GB2312) (http://www.transifex.com/projects/p/owncloud/language/zh_CN.GB2312/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,18 +18,66 @@ msgstr ""
"Language: zh_CN.GB2312\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "加密"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "从加密中排除如下文件类型"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "æ— "
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "å¯ç”¨åР坆"
diff --git a/l10n/zh_CN.GB2312/files_versions.po b/l10n/zh_CN.GB2312/files_versions.po
index 493edd7cfe6..7676ba278c2 100644
--- a/l10n/zh_CN.GB2312/files_versions.po
+++ b/l10n/zh_CN.GB2312/files_versions.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-10-12 02:03+0200\n"
-"PO-Revision-Date: 2012-10-11 23:49+0000\n"
-"Last-Translator: marguerite su <i@marguerite.su>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Chinese (China) (GB2312) (http://www.transifex.com/projects/p/owncloud/language/zh_CN.GB2312/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,22 +18,10 @@ msgstr ""
"Language: zh_CN.GB2312\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: js/settings-personal.js:31 templates/settings-personal.php:10
-msgid "Expire all versions"
-msgstr "作废所有版本"
-
#: js/versions.js:16
msgid "History"
msgstr "历å²"
-#: templates/settings-personal.php:4
-msgid "Versions"
-msgstr "版本"
-
-#: templates/settings-personal.php:7
-msgid "This will delete all existing backup versions of your files"
-msgstr "这将删除所有您现有文件的备份版本"
-
#: templates/settings.php:3
msgid "Files Versioning"
msgstr "文件版本"
diff --git a/l10n/zh_CN.GB2312/lib.po b/l10n/zh_CN.GB2312/lib.po
index c32ef2de62c..d03b24aa3aa 100644
--- a/l10n/zh_CN.GB2312/lib.po
+++ b/l10n/zh_CN.GB2312/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: 2012-11-16 00:02+0100\n"
-"PO-Revision-Date: 2012-11-14 23:13+0000\n"
+"POT-Creation-Date: 2013-01-17 00:26+0100\n"
+"PO-Revision-Date: 2013-01-16 23:26+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Chinese (China) (GB2312) (http://www.transifex.com/projects/p/owncloud/language/zh_CN.GB2312/)\n"
"MIME-Version: 1.0\n"
@@ -18,51 +18,55 @@ msgstr ""
"Language: zh_CN.GB2312\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: app.php:285
+#: app.php:301
msgid "Help"
msgstr "帮助"
-#: app.php:292
+#: app.php:308
msgid "Personal"
msgstr "ç§äºº"
-#: app.php:297
+#: app.php:313
msgid "Settings"
msgstr "设置"
-#: app.php:302
+#: app.php:318
msgid "Users"
msgstr "用户"
-#: app.php:309
+#: app.php:325
msgid "Apps"
msgstr "程åº"
-#: app.php:311
+#: app.php:327
msgid "Admin"
msgstr "管ç†å‘˜"
-#: files.php:332
+#: files.php:365
msgid "ZIP download is turned off."
msgstr "ZIP 下载已关闭"
-#: files.php:333
+#: files.php:366
msgid "Files need to be downloaded one by one."
msgstr "需è¦é€ä¸ªä¸‹è½½æ–‡ä»¶ã€‚"
-#: files.php:333 files.php:358
+#: files.php:366 files.php:391
msgid "Back to Files"
msgstr "返回到文件"
-#: files.php:357
+#: files.php:390
msgid "Selected files too large to generate zip file."
msgstr "选择的文件太大而ä¸èƒ½ç”Ÿæˆ zip 文件。"
+#: helper.php:228
+msgid "couldn't be determined"
+msgstr ""
+
#: json.php:28
msgid "Application is not enabled"
msgstr "应用未å¯ç”¨"
-#: json.php:39 json.php:64 json.php:77 json.php:89
+#: json.php:39 json.php:62 json.php:73
msgid "Authentication error"
msgstr "验è¯é”™è¯¯"
@@ -82,55 +86,55 @@ msgstr "文本"
msgid "Images"
msgstr "图片"
-#: template.php:103
+#: template.php:113
msgid "seconds ago"
msgstr "ç§’å‰"
-#: template.php:104
+#: template.php:114
msgid "1 minute ago"
msgstr "1 分钟å‰"
-#: template.php:105
+#: template.php:115
#, php-format
msgid "%d minutes ago"
msgstr "%d 分钟å‰"
-#: template.php:106
+#: template.php:116
msgid "1 hour ago"
msgstr ""
-#: template.php:107
+#: template.php:117
#, php-format
msgid "%d hours ago"
msgstr ""
-#: template.php:108
+#: template.php:118
msgid "today"
msgstr "今天"
-#: template.php:109
+#: template.php:119
msgid "yesterday"
msgstr "昨天"
-#: template.php:110
+#: template.php:120
#, php-format
msgid "%d days ago"
msgstr "%d 天å‰"
-#: template.php:111
+#: template.php:121
msgid "last month"
msgstr "上个月"
-#: template.php:112
+#: template.php:122
#, php-format
msgid "%d months ago"
msgstr ""
-#: template.php:113
+#: template.php:123
msgid "last year"
msgstr "去年"
-#: template.php:114
+#: template.php:124
msgid "years ago"
msgstr "å¹´å‰"
diff --git a/l10n/zh_CN.GB2312/settings.po b/l10n/zh_CN.GB2312/settings.po
index 345bc3af512..78eea9c8908 100644
--- a/l10n/zh_CN.GB2312/settings.po
+++ b/l10n/zh_CN.GB2312/settings.po
@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-21 00:10+0100\n"
-"PO-Revision-Date: 2012-12-19 23:20+0000\n"
+"POT-Creation-Date: 2013-01-12 00:09+0100\n"
+"PO-Revision-Date: 2013-01-11 23:09+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Chinese (China) (GB2312) (http://www.transifex.com/projects/p/owncloud/language/zh_CN.GB2312/)\n"
"MIME-Version: 1.0\n"
@@ -31,7 +31,7 @@ msgstr "群组已存在"
msgid "Unable to add group"
msgstr "未能添加群组"
-#: ajax/enableapp.php:12
+#: ajax/enableapp.php:11
msgid "Could not enable app. "
msgstr "未能å¯ç”¨åº”用"
@@ -43,14 +43,6 @@ msgstr "Email ä¿å­˜äº†"
msgid "Invalid email"
msgstr "éžæ³•Email"
-#: ajax/openid.php:13
-msgid "OpenID Changed"
-msgstr "OpenID 改å˜äº†"
-
-#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20
-msgid "Invalid request"
-msgstr "éžæ³•请求"
-
#: ajax/removegroup.php:13
msgid "Unable to delete group"
msgstr "未能删除群组"
@@ -67,6 +59,10 @@ msgstr "未能删除用户"
msgid "Language changed"
msgstr "语言改å˜äº†"
+#: ajax/setlanguage.php:17 ajax/setlanguage.php:20
+msgid "Invalid request"
+msgstr "éžæ³•请求"
+
#: ajax/togglegroups.php:12
msgid "Admins can't remove themself from the admin group"
msgstr ""
@@ -162,7 +158,7 @@ msgstr ""
msgid "Download iOS Client"
msgstr ""
-#: templates/personal.php:21 templates/users.php:23 templates/users.php:77
+#: templates/personal.php:21 templates/users.php:23 templates/users.php:82
msgid "Password"
msgstr "密ç "
@@ -232,11 +228,11 @@ msgid ""
"License\">AGPL</abbr></a>."
msgstr "ç”± <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud 社区</a>å¼€å‘,<a href=\"https://github.com/owncloud\" target=\"_blank\">sæºä»£ç </a> 以 <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a> 许å¯åè®®å‘布。"
-#: templates/users.php:21 templates/users.php:76
+#: templates/users.php:21 templates/users.php:81
msgid "Name"
msgstr "åå­—"
-#: templates/users.php:26 templates/users.php:78 templates/users.php:98
+#: templates/users.php:26 templates/users.php:83 templates/users.php:103
msgid "Groups"
msgstr "组"
@@ -245,21 +241,29 @@ msgid "Create"
msgstr "新建"
#: templates/users.php:35
-msgid "Default Quota"
-msgstr "默认é™é¢"
+msgid "Default Storage"
+msgstr ""
+
+#: templates/users.php:42 templates/users.php:138
+msgid "Unlimited"
+msgstr ""
-#: templates/users.php:55 templates/users.php:138
+#: templates/users.php:60 templates/users.php:153
msgid "Other"
msgstr "å…¶ä»–çš„"
-#: templates/users.php:80 templates/users.php:112
+#: templates/users.php:85 templates/users.php:117
msgid "Group Admin"
msgstr "群组管ç†å‘˜"
-#: templates/users.php:82
-msgid "Quota"
-msgstr "é™é¢"
+#: templates/users.php:87
+msgid "Storage"
+msgstr ""
+
+#: templates/users.php:133
+msgid "Default"
+msgstr ""
-#: templates/users.php:146
+#: templates/users.php:161
msgid "Delete"
msgstr "删除"
diff --git a/l10n/zh_CN.GB2312/user_ldap.po b/l10n/zh_CN.GB2312/user_ldap.po
index 75ea9d9c0e9..0e45bb6b182 100644
--- a/l10n/zh_CN.GB2312/user_ldap.po
+++ b/l10n/zh_CN.GB2312/user_ldap.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-15 00:11+0100\n"
-"PO-Revision-Date: 2012-12-14 23:11+0000\n"
+"POT-Creation-Date: 2013-01-16 00:19+0100\n"
+"PO-Revision-Date: 2013-01-15 23:20+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Chinese (China) (GB2312) (http://www.transifex.com/projects/p/owncloud/language/zh_CN.GB2312/)\n"
"MIME-Version: 1.0\n"
@@ -27,8 +27,8 @@ msgstr ""
#: templates/settings.php:11
msgid ""
-"<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will"
-" not work. Please ask your system administrator to install it."
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not "
+"work. Please ask your system administrator to install it."
msgstr ""
#: templates/settings.php:15
@@ -45,6 +45,10 @@ msgid "Base DN"
msgstr "基本判别å"
#: templates/settings.php:16
+msgid "One Base DN per line"
+msgstr ""
+
+#: templates/settings.php:16
msgid "You can specify Base DN for users and groups in the Advanced tab"
msgstr "您å¯ä»¥åœ¨é«˜çº§é€‰é¡¹å¡ä¸­ä¸ºç”¨æˆ·å’Œç¾¤ç»„指定基本判别å"
@@ -115,10 +119,18 @@ msgstr "端å£"
msgid "Base User Tree"
msgstr "基本用户树"
+#: templates/settings.php:25
+msgid "One User Base DN per line"
+msgstr ""
+
#: templates/settings.php:26
msgid "Base Group Tree"
msgstr "基本群组树"
+#: templates/settings.php:26
+msgid "One Group Base DN per line"
+msgstr ""
+
#: templates/settings.php:27
msgid "Group-Member association"
msgstr "群组-æˆå‘˜ç»„åˆ"
diff --git a/l10n/zh_CN.GB2312/user_webdavauth.po b/l10n/zh_CN.GB2312/user_webdavauth.po
index 4c2e6b80abe..e9984fbe007 100644
--- a/l10n/zh_CN.GB2312/user_webdavauth.po
+++ b/l10n/zh_CN.GB2312/user_webdavauth.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-20 00:11+0100\n"
-"PO-Revision-Date: 2012-12-19 23:12+0000\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Chinese (China) (GB2312) (http://www.transifex.com/projects/p/owncloud/language/zh_CN.GB2312/)\n"
"MIME-Version: 1.0\n"
@@ -17,13 +17,17 @@ msgstr ""
"Language: zh_CN.GB2312\n"
"Plural-Forms: nplurals=1; plural=0;\n"
+#: templates/settings.php:3
+msgid "WebDAV Authentication"
+msgstr ""
+
#: templates/settings.php:4
msgid "URL: http://"
msgstr ""
#: templates/settings.php:6
msgid ""
-"ownCloud will send the user credentials to this URL is interpret http 401 "
-"and http 403 as credentials wrong and all other codes as credentials "
-"correct."
+"ownCloud will send the user credentials to this URL. 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 ""
diff --git a/l10n/zh_CN/core.po b/l10n/zh_CN/core.po
index 2742708ecc6..727cb475164 100644
--- a/l10n/zh_CN/core.po
+++ b/l10n/zh_CN/core.po
@@ -6,15 +6,16 @@
# <appweb.cn@gmail.com>, 2012.
# Dianjin Wang <1132321739qq@gmail.com>, 2012.
# Phoenix Nemo <>, 2012.
+# <rainofchaos@gmail.com>, 2013.
# <suiy02@gmail.com>, 2012.
# <wengxt@gmail.com>, 2011, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-24 00:10+0100\n"
-"PO-Revision-Date: 2012-12-23 14:31+0000\n"
-"Last-Translator: Dianjin Wang <1132321739qq@gmail.com>\n"
+"POT-Creation-Date: 2013-01-20 00:05+0100\n"
+"PO-Revision-Date: 2013-01-19 14:38+0000\n"
+"Last-Translator: leonfeng <rainofchaos@gmail.com>\n"
"Language-Team: Chinese (China) (http://www.transifex.com/projects/p/owncloud/language/zh_CN/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -88,55 +89,55 @@ msgstr "从收è—夹中移除%s时出错。"
msgid "Settings"
msgstr "设置"
-#: js/js.js:704
+#: js/js.js:706
msgid "seconds ago"
msgstr "ç§’å‰"
-#: js/js.js:705
+#: js/js.js:707
msgid "1 minute ago"
msgstr "一分钟å‰"
-#: js/js.js:706
+#: js/js.js:708
msgid "{minutes} minutes ago"
msgstr "{minutes} 分钟å‰"
-#: js/js.js:707
+#: js/js.js:709
msgid "1 hour ago"
msgstr "1å°æ—¶å‰"
-#: js/js.js:708
+#: js/js.js:710
msgid "{hours} hours ago"
msgstr "{hours} å°æ—¶å‰"
-#: js/js.js:709
+#: js/js.js:711
msgid "today"
msgstr "今天"
-#: js/js.js:710
+#: js/js.js:712
msgid "yesterday"
msgstr "昨天"
-#: js/js.js:711
+#: js/js.js:713
msgid "{days} days ago"
msgstr "{days} 天å‰"
-#: js/js.js:712
+#: js/js.js:714
msgid "last month"
msgstr "上月"
-#: js/js.js:713
+#: js/js.js:715
msgid "{months} months ago"
msgstr "{months} 月å‰"
-#: js/js.js:714
+#: js/js.js:716
msgid "months ago"
msgstr "月å‰"
-#: js/js.js:715
+#: js/js.js:717
msgid "last year"
msgstr "去年"
-#: js/js.js:716
+#: js/js.js:718
msgid "years ago"
msgstr "å¹´å‰"
@@ -212,13 +213,12 @@ msgid "Password protect"
msgstr "密ç ä¿æŠ¤"
#: js/share.js:168 templates/installation.php:44 templates/login.php:35
-#: templates/verify.php:13
msgid "Password"
msgstr "密ç "
#: js/share.js:172
msgid "Email link to person"
-msgstr ""
+msgstr "å‘é€é“¾æŽ¥åˆ°ä¸ªäºº"
#: js/share.js:173
msgid "Send"
@@ -557,10 +557,6 @@ msgstr "è®°ä½"
msgid "Log in"
msgstr "登录"
-#: templates/logout.php:1
-msgid "You are logged out."
-msgstr "您已注销。"
-
#: templates/part.pagenavi.php:3
msgid "prev"
msgstr "上一页"
@@ -569,16 +565,7 @@ msgstr "上一页"
msgid "next"
msgstr "下一页"
-#: templates/verify.php:5
-msgid "Security Warning!"
-msgstr "安全警告ï¼"
-
-#: templates/verify.php:6
-msgid ""
-"Please verify your password. <br/>For security reasons you may be "
-"occasionally asked to enter your password again."
-msgstr "è¯·éªŒè¯æ‚¨çš„密ç ã€‚ <br/>出于安全考虑,你å¯èƒ½å¶å°”ä¼šè¢«è¦æ±‚冿¬¡è¾“入密ç ã€‚"
-
-#: templates/verify.php:16
-msgid "Verify"
-msgstr "验è¯"
+#: templates/update.php:3
+#, php-format
+msgid "Updating ownCloud to version %s, this may take a while."
+msgstr "æ›´æ–° ownCloud 到版本 %s,这å¯èƒ½éœ€è¦ä¸€äº›æ—¶é—´ã€‚"
diff --git a/l10n/zh_CN/files.po b/l10n/zh_CN/files.po
index 0493f0631c1..c5a96d20133 100644
--- a/l10n/zh_CN/files.po
+++ b/l10n/zh_CN/files.po
@@ -5,16 +5,18 @@
# Translators:
# <appweb.cn@gmail.com>, 2012.
# Dianjin Wang <1132321739qq@gmail.com>, 2012.
+# marguerite su <i@marguerite.su>, 2013.
# <rainofchaos@gmail.com>, 2012.
# <suiy02@gmail.com>, 2012.
+# <wengxt@gmail.com>, 2013.
# <wengxt@gmail.com>, 2011, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-04 00:06+0100\n"
-"PO-Revision-Date: 2012-12-03 00:57+0000\n"
-"Last-Translator: hanfeng <appweb.cn@gmail.com>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-21 23:17+0000\n"
+"Last-Translator: Xuetian Weng <wengxt@gmail.com>\n"
"Language-Team: Chinese (China) (http://www.transifex.com/projects/p/owncloud/language/zh_CN/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -22,46 +24,77 @@ msgstr ""
"Language: zh_CN\n"
"Plural-Forms: nplurals=1; plural=0;\n"
+#: ajax/delete.php:28 ajax/getstoragestats.php:11 ajax/upload.php:17
+#: ajax/upload.php:76 templates/index.php:18
+msgid "Upload"
+msgstr "上传"
+
+#: ajax/move.php:17
+#, php-format
+msgid "Could not move %s - File with this name already exists"
+msgstr "无法移动 %s - åŒå文件已存在"
+
+#: ajax/move.php:24
+#, php-format
+msgid "Could not move %s"
+msgstr "无法移动 %s"
+
+#: ajax/rename.php:19
+msgid "Unable to rename file"
+msgstr "无法é‡å‘½å文件"
+
#: ajax/upload.php:20
+msgid "No file was uploaded. Unknown error"
+msgstr "没有文件被上传。未知错误"
+
+#: ajax/upload.php:30
msgid "There is no error, the file uploaded with success"
msgstr "没有å‘生错误,文件上传æˆåŠŸã€‚"
-#: ajax/upload.php:21
+#: ajax/upload.php:31
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr "上传文件大å°å·²è¶…过php.ini中upload_max_filesize所规定的值"
-#: ajax/upload.php:23
+#: ajax/upload.php:33
msgid ""
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
"the HTML form"
msgstr "上传的文件超过了在HTML 表å•中指定的MAX_FILE_SIZE"
-#: ajax/upload.php:25
+#: ajax/upload.php:35
msgid "The uploaded file was only partially uploaded"
msgstr "åªä¸Šä¼ äº†æ–‡ä»¶çš„一部分"
-#: ajax/upload.php:26
+#: ajax/upload.php:36
msgid "No file was uploaded"
msgstr "文件没有上传"
-#: ajax/upload.php:27
+#: ajax/upload.php:37
msgid "Missing a temporary folder"
msgstr "缺少临时目录"
-#: ajax/upload.php:28
+#: ajax/upload.php:38
msgid "Failed to write to disk"
msgstr "写入ç£ç›˜å¤±è´¥"
+#: ajax/upload.php:57
+msgid "Not enough space available"
+msgstr "没有足够å¯ç”¨ç©ºé—´"
+
+#: ajax/upload.php:91
+msgid "Invalid directory."
+msgstr "无效文件夹。"
+
#: appinfo/app.php:10
msgid "Files"
msgstr "文件"
-#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84
+#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
msgid "Unshare"
msgstr "å–æ¶ˆåˆ†äº«"
-#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90
+#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
msgid "Delete"
msgstr "删除"
@@ -69,122 +102,136 @@ msgstr "删除"
msgid "Rename"
msgstr "é‡å‘½å"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "{new_name} already exists"
msgstr "{new_name} 已存在"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "replace"
msgstr "替æ¢"
-#: js/filelist.js:201
+#: js/filelist.js:205
msgid "suggest name"
msgstr "建议åç§°"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "cancel"
msgstr "å–æ¶ˆ"
-#: js/filelist.js:250
+#: js/filelist.js:254
msgid "replaced {new_name}"
msgstr "æ›¿æ¢ {new_name}"
-#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286
+#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
msgid "undo"
msgstr "撤销"
-#: js/filelist.js:252
+#: js/filelist.js:256
msgid "replaced {new_name} with {old_name}"
msgstr "已将 {old_name}æ›¿æ¢æˆ {new_name}"
-#: js/filelist.js:284
+#: js/filelist.js:288
msgid "unshared {files}"
msgstr "å–æ¶ˆäº†å…±äº« {files}"
-#: js/filelist.js:286
+#: js/filelist.js:290
msgid "deleted {files}"
msgstr "删除了 {files}"
-#: js/files.js:33
+#: js/files.js:48
+msgid "'.' is an invalid file name."
+msgstr "'.' 是一个无效的文件å。"
+
+#: js/files.js:53
+msgid "File name cannot be empty."
+msgstr "文件åä¸èƒ½ä¸ºç©ºã€‚"
+
+#: js/files.js:62
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr "无效å称,'\\', '/', '<', '>', ':', '\"', '|', '?' å’Œ '*' ä¸è¢«å…许使用。"
-#: js/files.js:183
-msgid "generating ZIP-file, it may take some time."
-msgstr "æ­£åœ¨ç”Ÿæˆ ZIP 文件,å¯èƒ½éœ€è¦ä¸€äº›æ—¶é—´"
+#: js/files.js:204
+msgid ""
+"Your download is being prepared. This might take some time if the files are "
+"big."
+msgstr "下载正在准备中。如果文件较大å¯èƒ½ä¼šèŠ±è´¹ä¸€äº›æ—¶é—´ã€‚"
-#: js/files.js:218
+#: js/files.js:242
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr "无法上传文件,因为它是一个目录或者大å°ä¸º 0 字节"
-#: js/files.js:218
+#: js/files.js:242
msgid "Upload Error"
msgstr "上传错误"
-#: js/files.js:235
+#: js/files.js:259
msgid "Close"
msgstr "关闭"
-#: js/files.js:254 js/files.js:368 js/files.js:398
+#: js/files.js:278 js/files.js:397 js/files.js:431
msgid "Pending"
msgstr "æ“作等待中"
-#: js/files.js:274
+#: js/files.js:298
msgid "1 file uploading"
msgstr "1个文件上传中"
-#: js/files.js:277 js/files.js:331 js/files.js:346
+#: js/files.js:301 js/files.js:357 js/files.js:372
msgid "{count} files uploading"
msgstr "{count} 个文件上传中"
-#: js/files.js:349 js/files.js:382
+#: js/files.js:376 js/files.js:414
msgid "Upload cancelled."
msgstr "ä¸Šä¼ å·²å–æ¶ˆ"
-#: js/files.js:451
+#: js/files.js:486
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr "æ–‡ä»¶æ­£åœ¨ä¸Šä¼ ä¸­ã€‚çŽ°åœ¨ç¦»å¼€æ­¤é¡µä¼šå¯¼è‡´ä¸Šä¼ åŠ¨ä½œè¢«å–æ¶ˆã€‚"
-#: js/files.js:523
-msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud"
-msgstr "无效的文件夹å称。â€Shared“ 是 Owncloud ä¿ç•™å­—符。"
+#: js/files.js:559
+msgid "URL cannot be empty."
+msgstr "URLä¸èƒ½ä¸ºç©º"
-#: js/files.js:704
+#: js/files.js:565
+msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
+msgstr "无效文件夹å。'共享' 是 Owncloud 预留的文件夹å。"
+
+#: js/files.js:775
msgid "{count} files scanned"
msgstr "{count} 个文件已扫æã€‚"
-#: js/files.js:712
+#: js/files.js:783
msgid "error while scanning"
msgstr "æ‰«ææ—¶å‡ºé”™"
-#: js/files.js:785 templates/index.php:65
+#: js/files.js:857 templates/index.php:64
msgid "Name"
msgstr "åç§°"
-#: js/files.js:786 templates/index.php:76
+#: js/files.js:858 templates/index.php:75
msgid "Size"
msgstr "大å°"
-#: js/files.js:787 templates/index.php:78
+#: js/files.js:859 templates/index.php:77
msgid "Modified"
msgstr "修改日期"
-#: js/files.js:814
+#: js/files.js:878
msgid "1 folder"
msgstr "1个文件夹"
-#: js/files.js:816
+#: js/files.js:880
msgid "{count} folders"
msgstr "{count} 个文件夹"
-#: js/files.js:824
+#: js/files.js:888
msgid "1 file"
msgstr "1 个文件"
-#: js/files.js:826
+#: js/files.js:890
msgid "{count} files"
msgstr "{count} 个文件"
@@ -196,27 +243,27 @@ msgstr "文件处ç†"
msgid "Maximum upload size"
msgstr "最大上传大å°"
-#: templates/admin.php:9
+#: templates/admin.php:10
msgid "max. possible: "
msgstr "最大å…许: "
-#: templates/admin.php:12
+#: templates/admin.php:15
msgid "Needed for multi-file and folder downloads."
msgstr "å¤šæ–‡ä»¶å’Œæ–‡ä»¶å¤¹ä¸‹è½½éœ€è¦æ­¤é¡¹ã€‚"
-#: templates/admin.php:14
+#: templates/admin.php:17
msgid "Enable ZIP-download"
msgstr "å¯ç”¨ ZIP 下载"
-#: templates/admin.php:17
+#: templates/admin.php:20
msgid "0 is unlimited"
msgstr "0 为无é™åˆ¶"
-#: templates/admin.php:19
+#: templates/admin.php:22
msgid "Maximum input size for ZIP files"
msgstr "ZIP 文件的最大输入大å°"
-#: templates/admin.php:23
+#: templates/admin.php:26
msgid "Save"
msgstr "ä¿å­˜"
@@ -236,36 +283,32 @@ msgstr "文件夹"
msgid "From link"
msgstr "æ¥è‡ªé“¾æŽ¥"
-#: templates/index.php:35
-msgid "Upload"
-msgstr "上传"
-
-#: templates/index.php:43
+#: templates/index.php:41
msgid "Cancel upload"
msgstr "å–æ¶ˆä¸Šä¼ "
-#: templates/index.php:57
+#: templates/index.php:56
msgid "Nothing in here. Upload something!"
msgstr "这里还什么都没有。上传些东西å§ï¼"
-#: templates/index.php:71
+#: templates/index.php:70
msgid "Download"
msgstr "下载"
-#: templates/index.php:103
+#: templates/index.php:102
msgid "Upload too large"
msgstr "上传文件过大"
-#: templates/index.php:105
+#: templates/index.php:104
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "您正å°è¯•上传的文件超过了此æœåС噍å¯ä»¥ä¸Šä¼ çš„æœ€å¤§å®¹é‡é™åˆ¶"
-#: templates/index.php:110
+#: templates/index.php:109
msgid "Files are being scanned, please wait."
msgstr "文件正在被扫æï¼Œè¯·ç¨å€™ã€‚"
-#: templates/index.php:113
+#: templates/index.php:112
msgid "Current scanning"
msgstr "当剿‰«æ"
diff --git a/l10n/zh_CN/files_encryption.po b/l10n/zh_CN/files_encryption.po
index 502f4e08a6f..5395d6734d1 100644
--- a/l10n/zh_CN/files_encryption.po
+++ b/l10n/zh_CN/files_encryption.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-09-08 02:01+0200\n"
-"PO-Revision-Date: 2012-09-07 09:38+0000\n"
-"Last-Translator: hanfeng <appweb.cn@gmail.com>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,18 +18,66 @@ msgstr ""
"Language: zh_CN\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "加密"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "从加密中排除列出的文件类型"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "None"
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "å¼€å¯åР坆"
diff --git a/l10n/zh_CN/files_versions.po b/l10n/zh_CN/files_versions.po
index df61cf98da4..8427a53caaf 100644
--- a/l10n/zh_CN/files_versions.po
+++ b/l10n/zh_CN/files_versions.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-09-28 23:34+0200\n"
-"PO-Revision-Date: 2012-09-28 09:58+0000\n"
-"Last-Translator: hanfeng <appweb.cn@gmail.com>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -18,22 +18,10 @@ msgstr ""
"Language: zh_CN\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: js/settings-personal.js:31 templates/settings-personal.php:10
-msgid "Expire all versions"
-msgstr "过期所有版本"
-
#: js/versions.js:16
msgid "History"
msgstr "历å²"
-#: templates/settings-personal.php:4
-msgid "Versions"
-msgstr "版本"
-
-#: templates/settings-personal.php:7
-msgid "This will delete all existing backup versions of your files"
-msgstr "将会删除您的文件的所有备份版本"
-
#: templates/settings.php:3
msgid "Files Versioning"
msgstr "文件版本"
diff --git a/l10n/zh_CN/lib.po b/l10n/zh_CN/lib.po
index aebc5a42f35..7dd9eb38371 100644
--- a/l10n/zh_CN/lib.po
+++ b/l10n/zh_CN/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: 2012-11-19 00:01+0100\n"
-"PO-Revision-Date: 2012-11-18 16:17+0000\n"
-"Last-Translator: hanfeng <appweb.cn@gmail.com>\n"
+"POT-Creation-Date: 2013-01-17 00:26+0100\n"
+"PO-Revision-Date: 2013-01-16 23:26+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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -19,51 +19,55 @@ msgstr ""
"Language: zh_CN\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: app.php:285
+#: app.php:301
msgid "Help"
msgstr "帮助"
-#: app.php:292
+#: app.php:308
msgid "Personal"
msgstr "个人"
-#: app.php:297
+#: app.php:313
msgid "Settings"
msgstr "设置"
-#: app.php:302
+#: app.php:318
msgid "Users"
msgstr "用户"
-#: app.php:309
+#: app.php:325
msgid "Apps"
msgstr "应用"
-#: app.php:311
+#: app.php:327
msgid "Admin"
msgstr "管ç†"
-#: files.php:361
+#: files.php:365
msgid "ZIP download is turned off."
msgstr "ZIP 下载已ç»å…³é—­"
-#: files.php:362
+#: files.php:366
msgid "Files need to be downloaded one by one."
msgstr "需è¦é€ä¸€ä¸‹è½½æ–‡ä»¶"
-#: files.php:362 files.php:387
+#: files.php:366 files.php:391
msgid "Back to Files"
msgstr "回到文件"
-#: files.php:386
+#: files.php:390
msgid "Selected files too large to generate zip file."
msgstr "é€‰æ‹©çš„æ–‡ä»¶å¤ªå¤§ï¼Œæ— æ³•ç”Ÿæˆ zip 文件。"
+#: helper.php:228
+msgid "couldn't be determined"
+msgstr ""
+
#: json.php:28
msgid "Application is not enabled"
msgstr "ä¸éœ€è¦ç¨‹åº"
-#: json.php:39 json.php:64 json.php:77 json.php:89
+#: json.php:39 json.php:62 json.php:73
msgid "Authentication error"
msgstr "认è¯é”™è¯¯"
@@ -83,55 +87,55 @@ msgstr "文本"
msgid "Images"
msgstr "图åƒ"
-#: template.php:103
+#: template.php:113
msgid "seconds ago"
msgstr "几秒å‰"
-#: template.php:104
+#: template.php:114
msgid "1 minute ago"
msgstr "1分钟å‰"
-#: template.php:105
+#: template.php:115
#, php-format
msgid "%d minutes ago"
msgstr "%d 分钟å‰"
-#: template.php:106
+#: template.php:116
msgid "1 hour ago"
msgstr "1å°æ—¶å‰"
-#: template.php:107
+#: template.php:117
#, php-format
msgid "%d hours ago"
msgstr "%då°æ—¶å‰"
-#: template.php:108
+#: template.php:118
msgid "today"
msgstr "今天"
-#: template.php:109
+#: template.php:119
msgid "yesterday"
msgstr "昨天"
-#: template.php:110
+#: template.php:120
#, php-format
msgid "%d days ago"
msgstr "%d 天å‰"
-#: template.php:111
+#: template.php:121
msgid "last month"
msgstr "上月"
-#: template.php:112
+#: template.php:122
#, php-format
msgid "%d months ago"
msgstr "%d 月å‰"
-#: template.php:113
+#: template.php:123
msgid "last year"
msgstr "上年"
-#: template.php:114
+#: template.php:124
msgid "years ago"
msgstr "几年å‰"
diff --git a/l10n/zh_CN/settings.po b/l10n/zh_CN/settings.po
index 2e39772a758..a0a2353d6d4 100644
--- a/l10n/zh_CN/settings.po
+++ b/l10n/zh_CN/settings.po
@@ -4,7 +4,7 @@
#
# Translators:
# <appweb.cn@gmail.com>, 2012.
-# Dianjin Wang <1132321739qq@gmail.com>, 2012.
+# Dianjin Wang <1132321739qq@gmail.com>, 2012-2013.
# Phoenix Nemo <>, 2012.
# <rainofchaos@gmail.com>, 2012.
# <suiy02@gmail.com>, 2012.
@@ -13,8 +13,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-24 00:11+0100\n"
-"PO-Revision-Date: 2012-12-23 13:54+0000\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 12:51+0000\n"
"Last-Translator: Dianjin Wang <1132321739qq@gmail.com>\n"
"Language-Team: Chinese (China) (http://www.transifex.com/projects/p/owncloud/language/zh_CN/)\n"
"MIME-Version: 1.0\n"
@@ -35,7 +35,7 @@ msgstr "已存在该组"
msgid "Unable to add group"
msgstr "无法添加组"
-#: ajax/enableapp.php:12
+#: ajax/enableapp.php:11
msgid "Could not enable app. "
msgstr "无法开å¯App"
@@ -47,14 +47,6 @@ msgstr "电å­é‚®ä»¶å·²ä¿å­˜"
msgid "Invalid email"
msgstr "无效的电å­é‚®ä»¶"
-#: ajax/openid.php:13
-msgid "OpenID Changed"
-msgstr "OpenID 已修改"
-
-#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20
-msgid "Invalid request"
-msgstr "éžæ³•请求"
-
#: ajax/removegroup.php:13
msgid "Unable to delete group"
msgstr "无法删除组"
@@ -71,6 +63,10 @@ msgstr "无法删除用户"
msgid "Language changed"
msgstr "语言已修改"
+#: ajax/setlanguage.php:17 ajax/setlanguage.php:20
+msgid "Invalid request"
+msgstr "éžæ³•请求"
+
#: ajax/togglegroups.php:12
msgid "Admins can't remove themself from the admin group"
msgstr "管ç†å‘˜ä¸èƒ½å°†è‡ªå·±ç§»å‡ºç®¡ç†ç»„。"
@@ -166,7 +162,7 @@ msgstr "下载 Android 客户端"
msgid "Download iOS Client"
msgstr "下载 iOS 客户端"
-#: templates/personal.php:21 templates/users.php:23 templates/users.php:77
+#: templates/personal.php:21 templates/users.php:23 templates/users.php:82
msgid "Password"
msgstr "密ç "
@@ -236,11 +232,11 @@ msgid ""
"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/users.php:21 templates/users.php:76
+#: templates/users.php:21 templates/users.php:81
msgid "Name"
msgstr "åç§°"
-#: templates/users.php:26 templates/users.php:78 templates/users.php:98
+#: templates/users.php:26 templates/users.php:83 templates/users.php:103
msgid "Groups"
msgstr "组"
@@ -249,21 +245,29 @@ msgid "Create"
msgstr "创建"
#: templates/users.php:35
-msgid "Default Quota"
-msgstr "默认é…é¢"
+msgid "Default Storage"
+msgstr "默认存储"
-#: templates/users.php:55 templates/users.php:138
+#: templates/users.php:42 templates/users.php:138
+msgid "Unlimited"
+msgstr "æ— é™"
+
+#: templates/users.php:60 templates/users.php:153
msgid "Other"
msgstr "其它"
-#: templates/users.php:80 templates/users.php:112
+#: templates/users.php:85 templates/users.php:117
msgid "Group Admin"
msgstr "组管ç†å‘˜"
-#: templates/users.php:82
-msgid "Quota"
-msgstr "é…é¢"
+#: templates/users.php:87
+msgid "Storage"
+msgstr "存储"
+
+#: templates/users.php:133
+msgid "Default"
+msgstr "默认"
-#: templates/users.php:146
+#: templates/users.php:161
msgid "Delete"
msgstr "删除"
diff --git a/l10n/zh_CN/user_ldap.po b/l10n/zh_CN/user_ldap.po
index be239585259..b9c039f6bf8 100644
--- a/l10n/zh_CN/user_ldap.po
+++ b/l10n/zh_CN/user_ldap.po
@@ -4,12 +4,13 @@
#
# Translators:
# <appweb.cn@gmail.com>, 2012.
+# marguerite su <i@marguerite.su>, 2013.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-15 00:11+0100\n"
-"PO-Revision-Date: 2012-12-14 23:11+0000\n"
+"POT-Creation-Date: 2013-01-16 00:19+0100\n"
+"PO-Revision-Date: 2013-01-15 23:20+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"
@@ -23,12 +24,12 @@ msgid ""
"<b>Warning:</b> Apps user_ldap and user_webdavauth are incompatible. You may"
" experience unexpected behaviour. Please ask your system administrator to "
"disable one of them."
-msgstr ""
+msgstr "<b>警告:</b>应用 user_ldap å’Œ user_webdavauth ä¸å…¼å®¹ã€‚您å¯èƒ½é­é‡æœªé¢„料的行为。请垂询您的系统管ç†å‘˜ç¦ç”¨å…¶ä¸­ä¸€ä¸ªã€‚"
#: templates/settings.php:11
msgid ""
-"<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will"
-" not work. Please ask your system administrator to install it."
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not "
+"work. Please ask your system administrator to install it."
msgstr ""
#: templates/settings.php:15
@@ -45,6 +46,10 @@ msgid "Base DN"
msgstr "Base DN"
#: templates/settings.php:16
+msgid "One Base DN per line"
+msgstr ""
+
+#: templates/settings.php:16
msgid "You can specify Base DN for users and groups in the Advanced tab"
msgstr "您å¯ä»¥åœ¨é«˜çº§é€‰é¡¹å¡é‡Œä¸ºç”¨æˆ·å’Œç»„指定Base DN"
@@ -115,10 +120,18 @@ msgstr "端å£"
msgid "Base User Tree"
msgstr "基础用户树"
+#: templates/settings.php:25
+msgid "One User Base DN per line"
+msgstr ""
+
#: templates/settings.php:26
msgid "Base Group Tree"
msgstr "基础组树"
+#: templates/settings.php:26
+msgid "One Group Base DN per line"
+msgstr ""
+
#: templates/settings.php:27
msgid "Group-Member association"
msgstr "组æˆå‘˜å…³è”"
@@ -171,7 +184,7 @@ msgstr "字节数"
#: templates/settings.php:36
msgid "in seconds. A change empties the cache."
-msgstr ""
+msgstr "以秒计。修改将清空缓存。"
#: templates/settings.php:37
msgid ""
diff --git a/l10n/zh_CN/user_webdavauth.po b/l10n/zh_CN/user_webdavauth.po
index fc3ccc1393b..a642c9b21d8 100644
--- a/l10n/zh_CN/user_webdavauth.po
+++ b/l10n/zh_CN/user_webdavauth.po
@@ -5,13 +5,15 @@
# Translators:
# <appweb.cn@gmail.com>, 2012.
# Dianjin Wang <1132321739qq@gmail.com>, 2012.
+# marguerite su <i@marguerite.su>, 2013.
+# <wengxt@gmail.com>, 2013.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-24 00:10+0100\n"
-"PO-Revision-Date: 2012-12-23 13:55+0000\n"
-"Last-Translator: Dianjin Wang <1132321739qq@gmail.com>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-21 23:23+0000\n"
+"Last-Translator: Xuetian Weng <wengxt@gmail.com>\n"
"Language-Team: Chinese (China) (http://www.transifex.com/projects/p/owncloud/language/zh_CN/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -19,13 +21,17 @@ msgstr ""
"Language: zh_CN\n"
"Plural-Forms: nplurals=1; plural=0;\n"
+#: templates/settings.php:3
+msgid "WebDAV Authentication"
+msgstr "WebDAV 认è¯"
+
#: templates/settings.php:4
msgid "URL: http://"
msgstr "URL:http://"
#: templates/settings.php:6
msgid ""
-"ownCloud will send the user credentials to this URL is interpret http 401 "
-"and http 403 as credentials wrong and all other codes as credentials "
-"correct."
-msgstr ""
+"ownCloud will send the user credentials to this URL. 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 "ownCloud 将会å‘é€ç”¨æˆ·çš„身份到此 URL。这个æ’件检查返回值并且将 HTTP 状æ€ç¼–ç  401 å’Œ 403 è§£é‡Šä¸ºéžæ³•èº«ä»½ï¼Œå…¶ä»–æ‰€æœ‰è¿”å›žå€¼ä¸ºåˆæ³•身份。"
diff --git a/l10n/zh_HK/core.po b/l10n/zh_HK/core.po
index 27fcd9c0a1f..d58ec8a3911 100644
--- a/l10n/zh_HK/core.po
+++ b/l10n/zh_HK/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: 2012-12-13 00:17+0100\n"
-"PO-Revision-Date: 2012-12-12 23:17+0000\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:03+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Chinese (Hong Kong) (http://www.transifex.com/projects/p/owncloud/language/zh_HK/)\n"
"MIME-Version: 1.0\n"
@@ -84,55 +84,55 @@ msgstr ""
msgid "Settings"
msgstr ""
-#: js/js.js:704
+#: js/js.js:711
msgid "seconds ago"
msgstr ""
-#: js/js.js:705
+#: js/js.js:712
msgid "1 minute ago"
msgstr ""
-#: js/js.js:706
+#: js/js.js:713
msgid "{minutes} minutes ago"
msgstr ""
-#: js/js.js:707
+#: js/js.js:714
msgid "1 hour ago"
msgstr ""
-#: js/js.js:708
+#: js/js.js:715
msgid "{hours} hours ago"
msgstr ""
-#: js/js.js:709
+#: js/js.js:716
msgid "today"
msgstr ""
-#: js/js.js:710
+#: js/js.js:717
msgid "yesterday"
msgstr ""
-#: js/js.js:711
+#: js/js.js:718
msgid "{days} days ago"
msgstr ""
-#: js/js.js:712
+#: js/js.js:719
msgid "last month"
msgstr ""
-#: js/js.js:713
+#: js/js.js:720
msgid "{months} months ago"
msgstr ""
-#: js/js.js:714
+#: js/js.js:721
msgid "months ago"
msgstr ""
-#: js/js.js:715
+#: js/js.js:722
msgid "last year"
msgstr ""
-#: js/js.js:716
+#: js/js.js:723
msgid "years ago"
msgstr ""
@@ -162,8 +162,8 @@ msgid "The object type is not specified."
msgstr ""
#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136
-#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:541
-#: js/share.js:553
+#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:554
+#: js/share.js:566
msgid "Error"
msgstr ""
@@ -175,7 +175,7 @@ msgstr ""
msgid "The required file {file} is not installed!"
msgstr ""
-#: js/share.js:124 js/share.js:581
+#: js/share.js:124 js/share.js:594
msgid "Error while sharing"
msgstr ""
@@ -203,12 +203,11 @@ msgstr ""
msgid "Share with link"
msgstr ""
-#: js/share.js:164
+#: js/share.js:166
msgid "Password protect"
msgstr ""
-#: js/share.js:168 templates/installation.php:42 templates/login.php:24
-#: templates/verify.php:13
+#: js/share.js:168 templates/installation.php:44 templates/login.php:35
msgid "Password"
msgstr ""
@@ -272,23 +271,23 @@ msgstr ""
msgid "share"
msgstr ""
-#: js/share.js:353 js/share.js:528 js/share.js:530
+#: js/share.js:356 js/share.js:541
msgid "Password protected"
msgstr ""
-#: js/share.js:541
+#: js/share.js:554
msgid "Error unsetting expiration date"
msgstr ""
-#: js/share.js:553
+#: js/share.js:566
msgid "Error setting expiration date"
msgstr ""
-#: js/share.js:568
+#: js/share.js:581
msgid "Sending ..."
msgstr ""
-#: js/share.js:579
+#: js/share.js:592
msgid "Email sent"
msgstr ""
@@ -312,8 +311,8 @@ msgstr ""
msgid "Request failed!"
msgstr ""
-#: lostpassword/templates/lostpassword.php:11 templates/installation.php:38
-#: templates/login.php:20
+#: lostpassword/templates/lostpassword.php:11 templates/installation.php:39
+#: templates/login.php:28
msgid "Username"
msgstr ""
@@ -402,44 +401,44 @@ msgstr ""
msgid "Create an <strong>admin account</strong>"
msgstr ""
-#: templates/installation.php:48
+#: templates/installation.php:50
msgid "Advanced"
msgstr ""
-#: templates/installation.php:50
+#: templates/installation.php:52
msgid "Data folder"
msgstr ""
-#: templates/installation.php:57
+#: templates/installation.php:59
msgid "Configure the database"
msgstr ""
-#: templates/installation.php:62 templates/installation.php:73
-#: templates/installation.php:83 templates/installation.php:93
+#: templates/installation.php:64 templates/installation.php:75
+#: templates/installation.php:85 templates/installation.php:95
msgid "will be used"
msgstr ""
-#: templates/installation.php:105
+#: templates/installation.php:107
msgid "Database user"
msgstr ""
-#: templates/installation.php:109
+#: templates/installation.php:111
msgid "Database password"
msgstr ""
-#: templates/installation.php:113
+#: templates/installation.php:115
msgid "Database name"
msgstr ""
-#: templates/installation.php:121
+#: templates/installation.php:123
msgid "Database tablespace"
msgstr ""
-#: templates/installation.php:127
+#: templates/installation.php:129
msgid "Database host"
msgstr ""
-#: templates/installation.php:132
+#: templates/installation.php:134
msgid "Finish setup"
msgstr ""
@@ -527,36 +526,32 @@ msgstr ""
msgid "Log out"
msgstr ""
-#: templates/login.php:8
+#: templates/login.php:10
msgid "Automatic logon rejected!"
msgstr ""
-#: templates/login.php:9
+#: templates/login.php:11
msgid ""
"If you did not change your password recently, your account may be "
"compromised!"
msgstr ""
-#: templates/login.php:10
+#: templates/login.php:13
msgid "Please change your password to secure your account again."
msgstr ""
-#: templates/login.php:15
+#: templates/login.php:19
msgid "Lost your password?"
msgstr ""
-#: templates/login.php:27
+#: templates/login.php:39
msgid "remember"
msgstr ""
-#: templates/login.php:28
+#: templates/login.php:41
msgid "Log in"
msgstr ""
-#: templates/logout.php:1
-msgid "You are logged out."
-msgstr "你已登出。"
-
#: templates/part.pagenavi.php:3
msgid "prev"
msgstr ""
@@ -565,16 +560,7 @@ msgstr ""
msgid "next"
msgstr ""
-#: templates/verify.php:5
-msgid "Security Warning!"
-msgstr ""
-
-#: templates/verify.php:6
-msgid ""
-"Please verify your password. <br/>For security reasons you may be "
-"occasionally asked to enter your password again."
-msgstr ""
-
-#: templates/verify.php:16
-msgid "Verify"
+#: templates/update.php:3
+#, php-format
+msgid "Updating ownCloud to version %s, this may take a while."
msgstr ""
diff --git a/l10n/zh_HK/files.po b/l10n/zh_HK/files.po
index c45ea5afdd4..56f4ec9477e 100644
--- a/l10n/zh_HK/files.po
+++ b/l10n/zh_HK/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: 2012-12-01 00:01+0100\n"
-"PO-Revision-Date: 2012-11-30 23:02+0000\n"
+"POT-Creation-Date: 2013-01-20 00:05+0100\n"
+"PO-Revision-Date: 2013-01-19 23:05+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Chinese (Hong Kong) (http://www.transifex.com/projects/p/owncloud/language/zh_HK/)\n"
"MIME-Version: 1.0\n"
@@ -17,46 +17,77 @@ msgstr ""
"Language: zh_HK\n"
"Plural-Forms: nplurals=1; plural=0;\n"
+#: ajax/delete.php:28 ajax/getstoragestats.php:11 ajax/upload.php:17
+#: ajax/upload.php:76 templates/index.php:18
+msgid "Upload"
+msgstr ""
+
+#: ajax/move.php:17
+#, php-format
+msgid "Could not move %s - File with this name already exists"
+msgstr ""
+
+#: ajax/move.php:24
+#, php-format
+msgid "Could not move %s"
+msgstr ""
+
+#: ajax/rename.php:19
+msgid "Unable to rename file"
+msgstr ""
+
#: ajax/upload.php:20
+msgid "No file was uploaded. Unknown error"
+msgstr ""
+
+#: ajax/upload.php:30
msgid "There is no error, the file uploaded with success"
msgstr ""
-#: ajax/upload.php:21
+#: ajax/upload.php:31
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr ""
-#: ajax/upload.php:23
+#: ajax/upload.php:33
msgid ""
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
"the HTML form"
msgstr ""
-#: ajax/upload.php:25
+#: ajax/upload.php:35
msgid "The uploaded file was only partially uploaded"
msgstr ""
-#: ajax/upload.php:26
+#: ajax/upload.php:36
msgid "No file was uploaded"
msgstr ""
-#: ajax/upload.php:27
+#: ajax/upload.php:37
msgid "Missing a temporary folder"
msgstr ""
-#: ajax/upload.php:28
+#: ajax/upload.php:38
msgid "Failed to write to disk"
msgstr ""
+#: ajax/upload.php:57
+msgid "Not enough space available"
+msgstr ""
+
+#: ajax/upload.php:91
+msgid "Invalid directory."
+msgstr ""
+
#: appinfo/app.php:10
msgid "Files"
msgstr ""
-#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84
+#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
msgid "Unshare"
msgstr ""
-#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90
+#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
msgid "Delete"
msgstr ""
@@ -64,122 +95,136 @@ msgstr ""
msgid "Rename"
msgstr ""
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "{new_name} already exists"
msgstr ""
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "replace"
msgstr ""
-#: js/filelist.js:201
+#: js/filelist.js:205
msgid "suggest name"
msgstr ""
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "cancel"
msgstr ""
-#: js/filelist.js:250
+#: js/filelist.js:254
msgid "replaced {new_name}"
msgstr ""
-#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286
+#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
msgid "undo"
msgstr ""
-#: js/filelist.js:252
+#: js/filelist.js:256
msgid "replaced {new_name} with {old_name}"
msgstr ""
-#: js/filelist.js:284
+#: js/filelist.js:288
msgid "unshared {files}"
msgstr ""
-#: js/filelist.js:286
+#: js/filelist.js:290
msgid "deleted {files}"
msgstr ""
-#: js/files.js:33
+#: js/files.js:48
+msgid "'.' is an invalid file name."
+msgstr ""
+
+#: js/files.js:53
+msgid "File name cannot be empty."
+msgstr ""
+
+#: js/files.js:62
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr ""
-#: js/files.js:183
-msgid "generating ZIP-file, it may take some time."
+#: js/files.js:204
+msgid ""
+"Your download is being prepared. This might take some time if the files are "
+"big."
msgstr ""
-#: js/files.js:218
+#: js/files.js:242
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr ""
-#: js/files.js:218
+#: js/files.js:242
msgid "Upload Error"
msgstr ""
-#: js/files.js:235
+#: js/files.js:259
msgid "Close"
msgstr ""
-#: js/files.js:254 js/files.js:368 js/files.js:398
+#: js/files.js:278 js/files.js:397 js/files.js:431
msgid "Pending"
msgstr ""
-#: js/files.js:274
+#: js/files.js:298
msgid "1 file uploading"
msgstr ""
-#: js/files.js:277 js/files.js:331 js/files.js:346
+#: js/files.js:301 js/files.js:357 js/files.js:372
msgid "{count} files uploading"
msgstr ""
-#: js/files.js:349 js/files.js:382
+#: js/files.js:376 js/files.js:414
msgid "Upload cancelled."
msgstr ""
-#: js/files.js:451
+#: js/files.js:486
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr ""
-#: js/files.js:523
-msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud"
+#: js/files.js:559
+msgid "URL cannot be empty."
msgstr ""
-#: js/files.js:704
+#: js/files.js:565
+msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
+msgstr ""
+
+#: js/files.js:775
msgid "{count} files scanned"
msgstr ""
-#: js/files.js:712
+#: js/files.js:783
msgid "error while scanning"
msgstr ""
-#: js/files.js:785 templates/index.php:65
+#: js/files.js:857 templates/index.php:64
msgid "Name"
msgstr ""
-#: js/files.js:786 templates/index.php:76
+#: js/files.js:858 templates/index.php:75
msgid "Size"
msgstr ""
-#: js/files.js:787 templates/index.php:78
+#: js/files.js:859 templates/index.php:77
msgid "Modified"
msgstr ""
-#: js/files.js:814
+#: js/files.js:878
msgid "1 folder"
msgstr ""
-#: js/files.js:816
+#: js/files.js:880
msgid "{count} folders"
msgstr ""
-#: js/files.js:824
+#: js/files.js:888
msgid "1 file"
msgstr ""
-#: js/files.js:826
+#: js/files.js:890
msgid "{count} files"
msgstr ""
@@ -191,27 +236,27 @@ msgstr ""
msgid "Maximum upload size"
msgstr ""
-#: templates/admin.php:9
+#: templates/admin.php:10
msgid "max. possible: "
msgstr ""
-#: templates/admin.php:12
+#: templates/admin.php:15
msgid "Needed for multi-file and folder downloads."
msgstr ""
-#: templates/admin.php:14
+#: templates/admin.php:17
msgid "Enable ZIP-download"
msgstr ""
-#: templates/admin.php:17
+#: templates/admin.php:20
msgid "0 is unlimited"
msgstr ""
-#: templates/admin.php:19
+#: templates/admin.php:22
msgid "Maximum input size for ZIP files"
msgstr ""
-#: templates/admin.php:23
+#: templates/admin.php:26
msgid "Save"
msgstr ""
@@ -231,36 +276,32 @@ msgstr ""
msgid "From link"
msgstr ""
-#: templates/index.php:35
-msgid "Upload"
-msgstr ""
-
-#: templates/index.php:43
+#: templates/index.php:41
msgid "Cancel upload"
msgstr ""
-#: templates/index.php:57
+#: templates/index.php:56
msgid "Nothing in here. Upload something!"
msgstr ""
-#: templates/index.php:71
+#: templates/index.php:70
msgid "Download"
msgstr ""
-#: templates/index.php:103
+#: templates/index.php:102
msgid "Upload too large"
msgstr ""
-#: templates/index.php:105
+#: templates/index.php:104
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr ""
-#: templates/index.php:110
+#: templates/index.php:109
msgid "Files are being scanned, please wait."
msgstr ""
-#: templates/index.php:113
+#: templates/index.php:112
msgid "Current scanning"
msgstr ""
diff --git a/l10n/zh_HK/files_encryption.po b/l10n/zh_HK/files_encryption.po
index 52a31f20bac..adf957c6ee4 100644
--- a/l10n/zh_HK/files_encryption.po
+++ b/l10n/zh_HK/files_encryption.po
@@ -7,9 +7,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-11-19 00:01+0100\n"
-"PO-Revision-Date: 2012-08-12 22:33+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Chinese (Hong Kong) (http://www.transifex.com/projects/p/owncloud/language/zh_HK/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -17,18 +17,66 @@ msgstr ""
"Language: zh_HK\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: templates/settings.php:3
-msgid "Encryption"
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
msgstr ""
-#: templates/settings.php:4
-msgid "Exclude the following file types from encryption"
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
msgstr ""
-#: templates/settings.php:5
-msgid "None"
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
msgstr ""
#: templates/settings.php:10
-msgid "Enable Encryption"
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
+msgid "Encryption"
+msgstr ""
+
+#: templates/settings.php:67
+msgid "Exclude the following file types from encryption"
+msgstr ""
+
+#: templates/settings.php:71
+msgid "None"
msgstr ""
diff --git a/l10n/zh_HK/files_versions.po b/l10n/zh_HK/files_versions.po
index 392cfcc9935..4859a33c5a0 100644
--- a/l10n/zh_HK/files_versions.po
+++ b/l10n/zh_HK/files_versions.po
@@ -7,9 +7,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-11-19 00:01+0100\n"
-"PO-Revision-Date: 2012-08-12 22:37+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Chinese (Hong Kong) (http://www.transifex.com/projects/p/owncloud/language/zh_HK/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -17,22 +17,10 @@ msgstr ""
"Language: zh_HK\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: js/settings-personal.js:31 templates/settings-personal.php:10
-msgid "Expire all versions"
-msgstr ""
-
#: js/versions.js:16
msgid "History"
msgstr ""
-#: templates/settings-personal.php:4
-msgid "Versions"
-msgstr ""
-
-#: templates/settings-personal.php:7
-msgid "This will delete all existing backup versions of your files"
-msgstr ""
-
#: templates/settings.php:3
msgid "Files Versioning"
msgstr ""
diff --git a/l10n/zh_HK/lib.po b/l10n/zh_HK/lib.po
index e4752fd9c27..f3bc0dc6e13 100644
--- a/l10n/zh_HK/lib.po
+++ b/l10n/zh_HK/lib.po
@@ -7,9 +7,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-11-19 00:01+0100\n"
-"PO-Revision-Date: 2012-07-27 22:23+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2013-01-17 00:26+0100\n"
+"PO-Revision-Date: 2013-01-16 23:26+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Chinese (Hong Kong) (http://www.transifex.com/projects/p/owncloud/language/zh_HK/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -17,51 +17,55 @@ msgstr ""
"Language: zh_HK\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: app.php:285
+#: app.php:301
msgid "Help"
msgstr ""
-#: app.php:292
+#: app.php:308
msgid "Personal"
msgstr ""
-#: app.php:297
+#: app.php:313
msgid "Settings"
msgstr ""
-#: app.php:302
+#: app.php:318
msgid "Users"
msgstr ""
-#: app.php:309
+#: app.php:325
msgid "Apps"
msgstr ""
-#: app.php:311
+#: app.php:327
msgid "Admin"
msgstr ""
-#: files.php:361
+#: files.php:365
msgid "ZIP download is turned off."
msgstr ""
-#: files.php:362
+#: files.php:366
msgid "Files need to be downloaded one by one."
msgstr ""
-#: files.php:362 files.php:387
+#: files.php:366 files.php:391
msgid "Back to Files"
msgstr ""
-#: files.php:386
+#: files.php:390
msgid "Selected files too large to generate zip file."
msgstr ""
+#: helper.php:228
+msgid "couldn't be determined"
+msgstr ""
+
#: json.php:28
msgid "Application is not enabled"
msgstr ""
-#: json.php:39 json.php:64 json.php:77 json.php:89
+#: json.php:39 json.php:62 json.php:73
msgid "Authentication error"
msgstr ""
@@ -81,55 +85,55 @@ msgstr ""
msgid "Images"
msgstr ""
-#: template.php:103
+#: template.php:113
msgid "seconds ago"
msgstr ""
-#: template.php:104
+#: template.php:114
msgid "1 minute ago"
msgstr ""
-#: template.php:105
+#: template.php:115
#, php-format
msgid "%d minutes ago"
msgstr ""
-#: template.php:106
+#: template.php:116
msgid "1 hour ago"
msgstr ""
-#: template.php:107
+#: template.php:117
#, php-format
msgid "%d hours ago"
msgstr ""
-#: template.php:108
+#: template.php:118
msgid "today"
msgstr ""
-#: template.php:109
+#: template.php:119
msgid "yesterday"
msgstr ""
-#: template.php:110
+#: template.php:120
#, php-format
msgid "%d days ago"
msgstr ""
-#: template.php:111
+#: template.php:121
msgid "last month"
msgstr ""
-#: template.php:112
+#: template.php:122
#, php-format
msgid "%d months ago"
msgstr ""
-#: template.php:113
+#: template.php:123
msgid "last year"
msgstr ""
-#: template.php:114
+#: template.php:124
msgid "years ago"
msgstr ""
diff --git a/l10n/zh_HK/settings.po b/l10n/zh_HK/settings.po
index 5b1f23f900f..db5e3f915b9 100644
--- a/l10n/zh_HK/settings.po
+++ b/l10n/zh_HK/settings.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-20 00:11+0100\n"
-"PO-Revision-Date: 2012-12-19 23:11+0000\n"
+"POT-Creation-Date: 2013-01-12 00:09+0100\n"
+"PO-Revision-Date: 2013-01-11 23:09+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Chinese (Hong Kong) (http://www.transifex.com/projects/p/owncloud/language/zh_HK/)\n"
"MIME-Version: 1.0\n"
@@ -29,7 +29,7 @@ msgstr ""
msgid "Unable to add group"
msgstr ""
-#: ajax/enableapp.php:12
+#: ajax/enableapp.php:11
msgid "Could not enable app. "
msgstr ""
@@ -41,14 +41,6 @@ msgstr ""
msgid "Invalid email"
msgstr ""
-#: ajax/openid.php:13
-msgid "OpenID Changed"
-msgstr ""
-
-#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20
-msgid "Invalid request"
-msgstr ""
-
#: ajax/removegroup.php:13
msgid "Unable to delete group"
msgstr ""
@@ -65,6 +57,10 @@ msgstr ""
msgid "Language changed"
msgstr ""
+#: ajax/setlanguage.php:17 ajax/setlanguage.php:20
+msgid "Invalid request"
+msgstr ""
+
#: ajax/togglegroups.php:12
msgid "Admins can't remove themself from the admin group"
msgstr ""
@@ -160,7 +156,7 @@ msgstr ""
msgid "Download iOS Client"
msgstr ""
-#: templates/personal.php:21 templates/users.php:23 templates/users.php:77
+#: templates/personal.php:21 templates/users.php:23 templates/users.php:82
msgid "Password"
msgstr ""
@@ -230,11 +226,11 @@ msgid ""
"License\">AGPL</abbr></a>."
msgstr ""
-#: templates/users.php:21 templates/users.php:76
+#: templates/users.php:21 templates/users.php:81
msgid "Name"
msgstr ""
-#: templates/users.php:26 templates/users.php:78 templates/users.php:98
+#: templates/users.php:26 templates/users.php:83 templates/users.php:103
msgid "Groups"
msgstr ""
@@ -243,21 +239,29 @@ msgid "Create"
msgstr ""
#: templates/users.php:35
-msgid "Default Quota"
+msgid "Default Storage"
+msgstr ""
+
+#: templates/users.php:42 templates/users.php:138
+msgid "Unlimited"
msgstr ""
-#: templates/users.php:55 templates/users.php:138
+#: templates/users.php:60 templates/users.php:153
msgid "Other"
msgstr ""
-#: templates/users.php:80 templates/users.php:112
+#: templates/users.php:85 templates/users.php:117
msgid "Group Admin"
msgstr ""
-#: templates/users.php:82
-msgid "Quota"
+#: templates/users.php:87
+msgid "Storage"
+msgstr ""
+
+#: templates/users.php:133
+msgid "Default"
msgstr ""
-#: templates/users.php:146
+#: templates/users.php:161
msgid "Delete"
msgstr ""
diff --git a/l10n/zh_HK/user_ldap.po b/l10n/zh_HK/user_ldap.po
index 24846079f01..8a7d8cdab9c 100644
--- a/l10n/zh_HK/user_ldap.po
+++ b/l10n/zh_HK/user_ldap.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-15 00:11+0100\n"
-"PO-Revision-Date: 2012-12-14 23:11+0000\n"
+"POT-Creation-Date: 2013-01-16 00:19+0100\n"
+"PO-Revision-Date: 2013-01-15 23:20+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Chinese (Hong Kong) (http://www.transifex.com/projects/p/owncloud/language/zh_HK/)\n"
"MIME-Version: 1.0\n"
@@ -26,8 +26,8 @@ msgstr ""
#: templates/settings.php:11
msgid ""
-"<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will"
-" not work. Please ask your system administrator to install it."
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not "
+"work. Please ask your system administrator to install it."
msgstr ""
#: templates/settings.php:15
@@ -44,6 +44,10 @@ msgid "Base DN"
msgstr ""
#: templates/settings.php:16
+msgid "One Base DN per line"
+msgstr ""
+
+#: templates/settings.php:16
msgid "You can specify Base DN for users and groups in the Advanced tab"
msgstr ""
@@ -114,10 +118,18 @@ msgstr ""
msgid "Base User Tree"
msgstr ""
+#: templates/settings.php:25
+msgid "One User Base DN per line"
+msgstr ""
+
#: templates/settings.php:26
msgid "Base Group Tree"
msgstr ""
+#: templates/settings.php:26
+msgid "One Group Base DN per line"
+msgstr ""
+
#: templates/settings.php:27
msgid "Group-Member association"
msgstr ""
diff --git a/l10n/zh_HK/user_webdavauth.po b/l10n/zh_HK/user_webdavauth.po
index c1f1ee6edb2..5a2c43c09ce 100644
--- a/l10n/zh_HK/user_webdavauth.po
+++ b/l10n/zh_HK/user_webdavauth.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-20 00:11+0100\n"
-"PO-Revision-Date: 2012-12-19 23:12+0000\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Chinese (Hong Kong) (http://www.transifex.com/projects/p/owncloud/language/zh_HK/)\n"
"MIME-Version: 1.0\n"
@@ -17,13 +17,17 @@ msgstr ""
"Language: zh_HK\n"
"Plural-Forms: nplurals=1; plural=0;\n"
+#: templates/settings.php:3
+msgid "WebDAV Authentication"
+msgstr ""
+
#: templates/settings.php:4
msgid "URL: http://"
msgstr ""
#: templates/settings.php:6
msgid ""
-"ownCloud will send the user credentials to this URL is interpret http 401 "
-"and http 403 as credentials wrong and all other codes as credentials "
-"correct."
+"ownCloud will send the user credentials to this URL. 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 ""
diff --git a/l10n/zh_TW/core.po b/l10n/zh_TW/core.po
index 9e9cb515874..a331ba2944f 100644
--- a/l10n/zh_TW/core.po
+++ b/l10n/zh_TW/core.po
@@ -6,12 +6,13 @@
# Donahue Chuang <soshinwu@gmail.com>, 2012.
# <dw4dev@gmail.com>, 2012.
# Ming Yi Wu <mingi.wu@gmail.com>, 2012.
+# <nfsmwlin@gmail.com>, 2013.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-13 00:17+0100\n"
-"PO-Revision-Date: 2012-12-12 23:17+0000\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:03+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Chinese (Taiwan) (http://www.transifex.com/projects/p/owncloud/language/zh_TW/)\n"
"MIME-Version: 1.0\n"
@@ -23,38 +24,38 @@ msgstr ""
#: ajax/share.php:84
#, php-format
msgid "User %s shared a file with you"
-msgstr ""
+msgstr "用戶 %s 與您分享了一個檔案"
#: ajax/share.php:86
#, php-format
msgid "User %s shared a folder with you"
-msgstr ""
+msgstr "用戶 %s 與您分享了一個資料夾"
#: ajax/share.php:88
#, php-format
msgid ""
"User %s shared the file \"%s\" with you. It is available for download here: "
"%s"
-msgstr ""
+msgstr "用戶 %s 與您分享了檔案 \"%s\" ,您å¯ä»¥å¾žé€™è£¡ä¸‹è¼‰å®ƒï¼š %s"
#: ajax/share.php:90
#, php-format
msgid ""
"User %s shared the folder \"%s\" with you. It is available for download "
"here: %s"
-msgstr ""
+msgstr "用戶 %s 與您分享了資料夾 \"%s\" ,您å¯ä»¥å¾žé€™è£¡ä¸‹è¼‰å®ƒï¼š %s"
#: 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?"
-msgstr "無分類添加?"
+msgstr "沒有å¯å¢žåŠ çš„åˆ†é¡žï¼Ÿ"
#: ajax/vcategories/add.php:37
msgid "This category already exists: "
-msgstr "此分類已經存在:"
+msgstr "此分類已經存在:"
#: ajax/vcategories/addToFavorites.php:26 ajax/vcategories/delete.php:27
#: ajax/vcategories/favorites.php:24
@@ -66,75 +67,75 @@ msgstr "䏿”¯æ´çš„物件類型"
#: ajax/vcategories/removeFromFavorites.php:30
#, php-format
msgid "%s ID not provided."
-msgstr ""
+msgstr "未æä¾› %s ID 。"
#: ajax/vcategories/addToFavorites.php:35
#, php-format
msgid "Error adding %s to favorites."
-msgstr ""
+msgstr "加入 %s 到最愛時發生錯誤。"
#: ajax/vcategories/delete.php:35 js/oc-vcategories.js:136
msgid "No categories selected for deletion."
-msgstr "æ²’é¸æ“‡è¦åˆªé™¤çš„分類"
+msgstr "æ²’æœ‰é¸æ“‡è¦åˆªé™¤çš„分類。"
#: ajax/vcategories/removeFromFavorites.php:35
#, php-format
msgid "Error removing %s from favorites."
-msgstr ""
+msgstr "從最愛移除 %s 時發生錯誤。"
#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61
msgid "Settings"
msgstr "設定"
-#: js/js.js:704
+#: js/js.js:711
msgid "seconds ago"
msgstr "幾秒å‰"
-#: js/js.js:705
+#: js/js.js:712
msgid "1 minute ago"
msgstr "1 分é˜å‰"
-#: js/js.js:706
+#: js/js.js:713
msgid "{minutes} minutes ago"
msgstr "{minutes} 分é˜å‰"
-#: js/js.js:707
+#: js/js.js:714
msgid "1 hour ago"
msgstr "1 個尿™‚å‰"
-#: js/js.js:708
+#: js/js.js:715
msgid "{hours} hours ago"
-msgstr "{hours} 個尿™‚å‰"
+msgstr "{hours} å°æ™‚å‰"
-#: js/js.js:709
+#: js/js.js:716
msgid "today"
msgstr "今天"
-#: js/js.js:710
+#: js/js.js:717
msgid "yesterday"
msgstr "昨天"
-#: js/js.js:711
+#: js/js.js:718
msgid "{days} days ago"
msgstr "{days} 天å‰"
-#: js/js.js:712
+#: js/js.js:719
msgid "last month"
msgstr "上個月"
-#: js/js.js:713
+#: js/js.js:720
msgid "{months} months ago"
msgstr "{months} 個月å‰"
-#: js/js.js:714
+#: js/js.js:721
msgid "months ago"
msgstr "幾個月å‰"
-#: js/js.js:715
+#: js/js.js:722
msgid "last year"
msgstr "去年"
-#: js/js.js:716
+#: js/js.js:723
msgid "years ago"
msgstr "幾年å‰"
@@ -161,23 +162,23 @@ msgstr "Ok"
#: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102
#: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162
msgid "The object type is not specified."
-msgstr ""
+msgstr "未指定物件類型。"
#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136
-#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:541
-#: js/share.js:553
+#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:554
+#: js/share.js:566
msgid "Error"
msgstr "錯誤"
#: js/oc-vcategories.js:179
msgid "The app name is not specified."
-msgstr "沒有詳述APPå稱."
+msgstr "沒有指定 app å稱。"
#: js/oc-vcategories.js:194
msgid "The required file {file} is not installed!"
-msgstr ""
+msgstr "æ²’æœ‰å®‰è£æ‰€éœ€çš„æª”案 {file} ï¼"
-#: js/share.js:124 js/share.js:581
+#: js/share.js:124 js/share.js:594
msgid "Error while sharing"
msgstr "分享時發生錯誤"
@@ -187,11 +188,11 @@ msgstr "å–æ¶ˆåˆ†äº«æ™‚發生錯誤"
#: js/share.js:142
msgid "Error while changing permissions"
-msgstr ""
+msgstr "ä¿®æ”¹æ¬Šé™æ™‚發生錯誤"
#: js/share.js:151
msgid "Shared with you and the group {group} by {owner}"
-msgstr ""
+msgstr "由 {owner} 分享給您和 {group}"
#: js/share.js:153
msgid "Shared with you by {owner}"
@@ -199,28 +200,27 @@ msgstr "{owner} 已經和您分享"
#: js/share.js:158
msgid "Share with"
-msgstr "與分享"
+msgstr "與...分享"
#: js/share.js:163
msgid "Share with link"
msgstr "使用連çµåˆ†äº«"
-#: js/share.js:164
+#: js/share.js:166
msgid "Password protect"
msgstr "密碼ä¿è­·"
-#: js/share.js:168 templates/installation.php:42 templates/login.php:24
-#: templates/verify.php:13
+#: js/share.js:168 templates/installation.php:44 templates/login.php:35
msgid "Password"
msgstr "密碼"
#: js/share.js:172
msgid "Email link to person"
-msgstr ""
+msgstr "å°‡é€£çµ email 給別人"
#: js/share.js:173
msgid "Send"
-msgstr ""
+msgstr "寄出"
#: js/share.js:177
msgid "Set expiration date"
@@ -232,15 +232,15 @@ msgstr "到期日"
#: js/share.js:210
msgid "Share via email:"
-msgstr "é€éŽemail分享:"
+msgstr "é€éŽ email 分享:"
#: js/share.js:212
msgid "No people found"
-msgstr ""
+msgstr "沒有找到任何人"
#: js/share.js:239
msgid "Resharing is not allowed"
-msgstr ""
+msgstr "ä¸å…è¨±é‡æ–°åˆ†äº«"
#: js/share.js:275
msgid "Shared in {item} with {user}"
@@ -274,25 +274,25 @@ msgstr "刪除"
msgid "share"
msgstr "分享"
-#: js/share.js:353 js/share.js:528 js/share.js:530
+#: js/share.js:356 js/share.js:541
msgid "Password protected"
-msgstr "密碼ä¿è­·"
+msgstr "å—密碼ä¿è­·"
-#: js/share.js:541
+#: js/share.js:554
msgid "Error unsetting expiration date"
-msgstr ""
+msgstr "è§£é™¤éŽæœŸæ—¥è¨­å®šå¤±æ•—"
-#: js/share.js:553
+#: js/share.js:566
msgid "Error setting expiration date"
msgstr "錯誤的到期日設定"
-#: js/share.js:568
+#: js/share.js:581
msgid "Sending ..."
-msgstr ""
+msgstr "正在寄出..."
-#: js/share.js:579
+#: js/share.js:592
msgid "Email sent"
-msgstr ""
+msgstr "Email 已寄出"
#: lostpassword/controller.php:47
msgid "ownCloud password reset"
@@ -300,28 +300,28 @@ msgstr "ownCloud 密碼é‡è¨­"
#: lostpassword/templates/email.php:2
msgid "Use the following link to reset your password: {link}"
-msgstr "請循以下è¯çµé‡è¨­ä½ çš„密碼: (è¯çµï¼‰ "
+msgstr "請循以下è¯çµé‡è¨­ä½ çš„密碼: {link}"
#: lostpassword/templates/lostpassword.php:3
msgid "You will receive a link to reset your password via Email."
-msgstr "é‡è¨­å¯†ç¢¼çš„連çµå°‡æœƒå¯„到你的電å­éƒµä»¶ä¿¡ç®±"
+msgstr "é‡è¨­å¯†ç¢¼çš„連çµå°‡æœƒå¯„到你的電å­éƒµä»¶ä¿¡ç®±ã€‚"
#: lostpassword/templates/lostpassword.php:5
msgid "Reset email send."
-msgstr "é‡è¨­éƒµä»¶å·²é€å‡º."
+msgstr "é‡è¨­éƒµä»¶å·²é€å‡ºã€‚"
#: lostpassword/templates/lostpassword.php:8
msgid "Request failed!"
-msgstr "請求失敗!"
+msgstr "請求失敗ï¼"
-#: lostpassword/templates/lostpassword.php:11 templates/installation.php:38
-#: templates/login.php:20
+#: lostpassword/templates/lostpassword.php:11 templates/installation.php:39
+#: templates/login.php:28
msgid "Username"
msgstr "使用者å稱"
#: lostpassword/templates/lostpassword.php:14
msgid "Request reset"
-msgstr "è¦æ±‚é‡è¨­"
+msgstr "請求é‡è¨­"
#: lostpassword/templates/resetpassword.php:4
msgid "Your password was reset"
@@ -361,7 +361,7 @@ msgstr "幫助"
#: templates/403.php:12
msgid "Access forbidden"
-msgstr "ç¦æ­¢å­˜å–"
+msgstr "å­˜å–被拒"
#: templates/404.php:12
msgid "Cloud not found"
@@ -373,7 +373,7 @@ msgstr "編輯分類"
#: templates/edit_categories_dialog.php:16
msgid "Add"
-msgstr "添加"
+msgstr "增加"
#: templates/installation.php:23 templates/installation.php:31
msgid "Security Warning"
@@ -383,13 +383,13 @@ msgstr "安全性警告"
msgid ""
"No secure random number generator is available, please enable the PHP "
"OpenSSL extension."
-msgstr "沒有å¯ç”¨çš„隨機數字產生器, 請啟用 PHP 中 OpenSSL 擴充功能."
+msgstr "沒有å¯ç”¨çš„亂數產生器,請啟用 PHP 中的 OpenSSL 擴充功能。"
#: templates/installation.php:26
msgid ""
"Without a secure random number generator an attacker may be able to predict "
"password reset tokens and take over your account."
-msgstr ""
+msgstr "若沒有安全的亂數產生器,攻擊者å¯èƒ½å¯ä»¥é æ¸¬å¯†ç¢¼é‡è¨­ä¿¡ç‰©ï¼Œç„¶å¾ŒæŽ§åˆ¶æ‚¨çš„帳戶。"
#: templates/installation.php:32
msgid ""
@@ -398,50 +398,50 @@ msgid ""
"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."
-msgstr ""
+msgstr "您的資料目錄 (Data Directory) 和檔案å¯èƒ½å¯ä»¥ç”±ç¶²éš›ç¶²è·¯ä¸Šé¢å…¬é–‹å­˜å–。Owncloud 所æä¾›çš„ .htaccess 設定檔並未生效,我們強烈建議您設定您的網é ä¼ºæœå™¨ä»¥é˜²æ­¢è³‡æ–™ç›®éŒ„被公開存å–,或將您的資料目錄移出網é ä¼ºæœå™¨çš„ document root 。"
#: templates/installation.php:36
msgid "Create an <strong>admin account</strong>"
msgstr "建立一個<strong>管ç†è€…帳號</strong>"
-#: templates/installation.php:48
+#: templates/installation.php:50
msgid "Advanced"
msgstr "進階"
-#: templates/installation.php:50
+#: templates/installation.php:52
msgid "Data folder"
msgstr "資料夾"
-#: templates/installation.php:57
+#: templates/installation.php:59
msgid "Configure the database"
msgstr "設定資料庫"
-#: templates/installation.php:62 templates/installation.php:73
-#: templates/installation.php:83 templates/installation.php:93
+#: templates/installation.php:64 templates/installation.php:75
+#: templates/installation.php:85 templates/installation.php:95
msgid "will be used"
msgstr "將會使用"
-#: templates/installation.php:105
+#: templates/installation.php:107
msgid "Database user"
msgstr "資料庫使用者"
-#: templates/installation.php:109
+#: templates/installation.php:111
msgid "Database password"
msgstr "資料庫密碼"
-#: templates/installation.php:113
+#: templates/installation.php:115
msgid "Database name"
msgstr "資料庫å稱"
-#: templates/installation.php:121
+#: templates/installation.php:123
msgid "Database tablespace"
msgstr "資料庫 tablespace"
-#: templates/installation.php:127
+#: templates/installation.php:129
msgid "Database host"
msgstr "資料庫主機"
-#: templates/installation.php:132
+#: templates/installation.php:134
msgid "Finish setup"
msgstr "完æˆè¨­å®š"
@@ -523,42 +523,38 @@ msgstr "å二月"
#: templates/layout.guest.php:42
msgid "web services under your control"
-msgstr "網路æœå‹™å·²åœ¨ä½ æŽ§åˆ¶"
+msgstr "網路æœå‹™åœ¨æ‚¨æŽ§åˆ¶ä¹‹ä¸‹"
#: templates/layout.user.php:45
msgid "Log out"
msgstr "登出"
-#: templates/login.php:8
+#: templates/login.php:10
msgid "Automatic logon rejected!"
-msgstr ""
+msgstr "自動登入被拒ï¼"
-#: templates/login.php:9
+#: templates/login.php:11
msgid ""
"If you did not change your password recently, your account may be "
"compromised!"
-msgstr ""
+msgstr "如果您最近並未更改密碼,您的帳號å¯èƒ½å·²ç¶“é­åˆ°å…¥ä¾µï¼"
-#: templates/login.php:10
+#: templates/login.php:13
msgid "Please change your password to secure your account again."
-msgstr ""
+msgstr "è«‹æ›´æ”¹æ‚¨çš„å¯†ç¢¼ä»¥å†æ¬¡å–得您的帳戶的控制權。"
-#: templates/login.php:15
+#: templates/login.php:19
msgid "Lost your password?"
-msgstr "忘記密碼?"
+msgstr "忘記密碼?"
-#: templates/login.php:27
+#: templates/login.php:39
msgid "remember"
msgstr "記ä½"
-#: templates/login.php:28
+#: templates/login.php:41
msgid "Log in"
msgstr "登入"
-#: templates/logout.php:1
-msgid "You are logged out."
-msgstr "你已登出"
-
#: templates/part.pagenavi.php:3
msgid "prev"
msgstr "上一é "
@@ -567,16 +563,7 @@ msgstr "上一é "
msgid "next"
msgstr "下一é "
-#: templates/verify.php:5
-msgid "Security Warning!"
-msgstr "安全性警告!"
-
-#: templates/verify.php:6
-msgid ""
-"Please verify your password. <br/>For security reasons you may be "
-"occasionally asked to enter your password again."
-msgstr ""
-
-#: templates/verify.php:16
-msgid "Verify"
-msgstr "é©—è­‰"
+#: templates/update.php:3
+#, php-format
+msgid "Updating ownCloud to version %s, this may take a while."
+msgstr "正在將 Owncloud å‡ç´šè‡³ç‰ˆæœ¬ %s ,這å¯èƒ½éœ€è¦ä¸€é»žæ™‚間。"
diff --git a/l10n/zh_TW/files.po b/l10n/zh_TW/files.po
index 4e18f079575..e4122552c2f 100644
--- a/l10n/zh_TW/files.po
+++ b/l10n/zh_TW/files.po
@@ -6,14 +6,16 @@
# Donahue Chuang <soshinwu@gmail.com>, 2012.
# <dw4dev@gmail.com>, 2012.
# Eddy Chang <taiwanmambo@gmail.com>, 2012.
+# <nfsmwlin@gmail.com>, 2013.
+# Pellaeon Lin <nfsmwlin@gmail.com>, 2013.
# ywang <ywang1007@gmail.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-01 00:01+0100\n"
-"PO-Revision-Date: 2012-11-30 23:02+0000\n"
-"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
+"POT-Creation-Date: 2013-01-24 00:06+0100\n"
+"PO-Revision-Date: 2013-01-23 10:05+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,46 +23,77 @@ msgstr ""
"Language: zh_TW\n"
"Plural-Forms: nplurals=1; plural=0;\n"
+#: ajax/delete.php:28 ajax/getstoragestats.php:11 ajax/upload.php:17
+#: ajax/upload.php:76 templates/index.php:18
+msgid "Upload"
+msgstr "上傳"
+
+#: ajax/move.php:17
+#, php-format
+msgid "Could not move %s - File with this name already exists"
+msgstr "無法移動 %s - åŒå的檔案已經存在"
+
+#: ajax/move.php:24
+#, php-format
+msgid "Could not move %s"
+msgstr "無法移動 %s"
+
+#: ajax/rename.php:19
+msgid "Unable to rename file"
+msgstr "ç„¡æ³•é‡æ–°å‘½å檔案"
+
#: ajax/upload.php:20
+msgid "No file was uploaded. Unknown error"
+msgstr "沒有檔案被上傳。未知的錯誤。"
+
+#: ajax/upload.php:30
msgid "There is no error, the file uploaded with success"
msgstr "無錯誤,檔案上傳æˆåŠŸ"
-#: ajax/upload.php:21
+#: ajax/upload.php:31
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
-msgstr ""
+msgstr "上傳的檔案大å°è¶…éŽ php.ini 當中 upload_max_filesize åƒæ•¸çš„設定:"
-#: ajax/upload.php:23
+#: ajax/upload.php:33
msgid ""
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
"the HTML form"
-msgstr "ä¸Šå‚³é»¨æ¡ˆçš„è¶…éŽ HTML 表單中指定 MAX_FILE_SIZE é™åˆ¶"
+msgstr "上傳的檔案大å°è¶…éŽ HTML 表單中 MAX_FILE_SIZE çš„é™åˆ¶"
-#: ajax/upload.php:25
+#: ajax/upload.php:35
msgid "The uploaded file was only partially uploaded"
-msgstr "åªæœ‰éƒ¨åˆ†æª”案被上傳"
+msgstr "åªæœ‰æª”案的一部分被上傳"
-#: ajax/upload.php:26
+#: ajax/upload.php:36
msgid "No file was uploaded"
msgstr "無已上傳檔案"
-#: ajax/upload.php:27
+#: ajax/upload.php:37
msgid "Missing a temporary folder"
msgstr "éºå¤±æš«å­˜è³‡æ–™å¤¾"
-#: ajax/upload.php:28
+#: ajax/upload.php:38
msgid "Failed to write to disk"
msgstr "寫入硬碟失敗"
+#: ajax/upload.php:57
+msgid "Not enough space available"
+msgstr "沒有足夠的å¯ç”¨ç©ºé–“"
+
+#: ajax/upload.php:91
+msgid "Invalid directory."
+msgstr "無效的資料夾。"
+
#: appinfo/app.php:10
msgid "Files"
msgstr "檔案"
-#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84
+#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
msgid "Unshare"
msgstr "å–æ¶ˆå…±äº«"
-#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90
+#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
msgid "Delete"
msgstr "刪除"
@@ -68,122 +101,136 @@ msgstr "刪除"
msgid "Rename"
msgstr "釿–°å‘½å"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "{new_name} already exists"
msgstr "{new_name} 已經存在"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "replace"
msgstr "å–代"
-#: js/filelist.js:201
+#: js/filelist.js:205
msgid "suggest name"
-msgstr ""
+msgstr "建議檔å"
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "cancel"
msgstr "å–æ¶ˆ"
-#: js/filelist.js:250
+#: js/filelist.js:254
msgid "replaced {new_name}"
msgstr "å·²å–代 {new_name}"
-#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286
+#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
msgid "undo"
msgstr "復原"
-#: js/filelist.js:252
+#: js/filelist.js:256
msgid "replaced {new_name} with {old_name}"
msgstr "使用 {new_name} å–代 {old_name}"
-#: js/filelist.js:284
+#: js/filelist.js:288
msgid "unshared {files}"
-msgstr ""
+msgstr "已喿¶ˆåˆ†äº« {files}"
-#: js/filelist.js:286
+#: js/filelist.js:290
msgid "deleted {files}"
-msgstr ""
+msgstr "已刪除 {files}"
-#: js/files.js:33
+#: js/files.js:48
+msgid "'.' is an invalid file name."
+msgstr "'.' 是ä¸åˆæ³•的檔å。"
+
+#: js/files.js:53
+msgid "File name cannot be empty."
+msgstr "檔åä¸èƒ½ç‚ºç©ºã€‚"
+
+#: js/files.js:62
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
-msgstr ""
+msgstr "檔åä¸åˆæ³•,ä¸å…許 '\\', '/', '<', '>', ':', '\"', '|', '?' å’Œ '*' 。"
-#: js/files.js:183
-msgid "generating ZIP-file, it may take some time."
-msgstr "產生壓縮檔, 它å¯èƒ½éœ€è¦ä¸€æ®µæ™‚é–“."
+#: js/files.js:204
+msgid ""
+"Your download is being prepared. This might take some time if the files are "
+"big."
+msgstr "æ­£åœ¨æº–å‚™æ‚¨çš„ä¸‹è¼‰ï¼Œè‹¥æ‚¨çš„æª”æ¡ˆè¼ƒå¤§ï¼Œå°‡æœƒéœ€è¦æ›´å¤šæ™‚間。"
-#: js/files.js:218
+#: js/files.js:242
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr "無法上傳您的檔案因為它å¯èƒ½æ˜¯ä¸€å€‹ç›®éŒ„或檔案大å°ç‚º0"
-#: js/files.js:218
+#: js/files.js:242
msgid "Upload Error"
msgstr "上傳發生錯誤"
-#: js/files.js:235
+#: js/files.js:259
msgid "Close"
msgstr "關閉"
-#: js/files.js:254 js/files.js:368 js/files.js:398
+#: js/files.js:278 js/files.js:397 js/files.js:431
msgid "Pending"
-msgstr ""
+msgstr "等候中"
-#: js/files.js:274
+#: js/files.js:298
msgid "1 file uploading"
msgstr "1 個檔案正在上傳"
-#: js/files.js:277 js/files.js:331 js/files.js:346
+#: js/files.js:301 js/files.js:357 js/files.js:372
msgid "{count} files uploading"
msgstr "{count} 個檔案正在上傳"
-#: js/files.js:349 js/files.js:382
+#: js/files.js:376 js/files.js:414
msgid "Upload cancelled."
msgstr "ä¸Šå‚³å–æ¶ˆ"
-#: js/files.js:451
+#: js/files.js:486
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
-msgstr "檔案上傳中. 離開此é é¢å°‡æœƒå–消上傳."
+msgstr "檔案上傳中。離開此é é¢å°‡æœƒå–消上傳。"
+
+#: js/files.js:559
+msgid "URL cannot be empty."
+msgstr "URL ä¸èƒ½ç‚ºç©ºç™½."
-#: js/files.js:523
-msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud"
-msgstr "無效的資料夾å稱. \"Shared\" å稱已被 Owncloud 所ä¿ç•™ä½¿ç”¨"
+#: js/files.js:565
+msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
+msgstr "無效的資料夾å稱,'Shared' 的使用被 Owncloud ä¿ç•™"
-#: js/files.js:704
+#: js/files.js:775
msgid "{count} files scanned"
-msgstr ""
+msgstr "{count} 個檔案已掃æ"
-#: js/files.js:712
+#: js/files.js:783
msgid "error while scanning"
msgstr "æŽƒææ™‚發生錯誤"
-#: js/files.js:785 templates/index.php:65
+#: js/files.js:857 templates/index.php:64
msgid "Name"
msgstr "å稱"
-#: js/files.js:786 templates/index.php:76
+#: js/files.js:858 templates/index.php:75
msgid "Size"
msgstr "大å°"
-#: js/files.js:787 templates/index.php:78
+#: js/files.js:859 templates/index.php:77
msgid "Modified"
msgstr "修改"
-#: js/files.js:814
+#: js/files.js:878
msgid "1 folder"
msgstr "1 個資料夾"
-#: js/files.js:816
+#: js/files.js:880
msgid "{count} folders"
msgstr "{count} 個資料夾"
-#: js/files.js:824
+#: js/files.js:888
msgid "1 file"
msgstr "1 個檔案"
-#: js/files.js:826
+#: js/files.js:890
msgid "{count} files"
msgstr "{count} 個檔案"
@@ -193,29 +240,29 @@ msgstr "檔案處ç†"
#: templates/admin.php:7
msgid "Maximum upload size"
-msgstr "最大上傳容é‡"
+msgstr "最大上傳檔案大å°"
-#: templates/admin.php:9
+#: templates/admin.php:10
msgid "max. possible: "
-msgstr "最大å…許: "
+msgstr "最大å…許:"
-#: templates/admin.php:12
+#: templates/admin.php:15
msgid "Needed for multi-file and folder downloads."
-msgstr "é‡å°å¤šæª”案和目錄下載是必填的"
+msgstr "é‡å°å¤šæª”案和目錄下載是必填的。"
-#: templates/admin.php:14
+#: templates/admin.php:17
msgid "Enable ZIP-download"
msgstr "啟用 Zip 下載"
-#: templates/admin.php:17
+#: templates/admin.php:20
msgid "0 is unlimited"
msgstr "0代表沒有é™åˆ¶"
-#: templates/admin.php:19
+#: templates/admin.php:22
msgid "Maximum input size for ZIP files"
-msgstr "é‡å°ZIP檔案最大輸入大å°"
+msgstr "é‡å° ZIP 檔案最大輸入大å°"
-#: templates/admin.php:23
+#: templates/admin.php:26
msgid "Save"
msgstr "儲存"
@@ -233,38 +280,34 @@ msgstr "資料夾"
#: templates/index.php:14
msgid "From link"
-msgstr ""
-
-#: templates/index.php:35
-msgid "Upload"
-msgstr "上傳"
+msgstr "從連çµ"
-#: templates/index.php:43
+#: templates/index.php:41
msgid "Cancel upload"
msgstr "å–æ¶ˆä¸Šå‚³"
-#: templates/index.php:57
+#: templates/index.php:56
msgid "Nothing in here. Upload something!"
-msgstr "沒有任何æ±è¥¿ã€‚請上傳內容!"
+msgstr "沒有任何æ±è¥¿ã€‚請上傳內容ï¼"
-#: templates/index.php:71
+#: templates/index.php:70
msgid "Download"
msgstr "下載"
-#: templates/index.php:103
+#: templates/index.php:102
msgid "Upload too large"
msgstr "上傳éŽå¤§"
-#: templates/index.php:105
+#: templates/index.php:104
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
-msgstr "你試圖上傳的檔案已超éŽä¼ºæœå™¨çš„æœ€å¤§å®¹é‡é™åˆ¶ã€‚ "
+msgstr "您試圖上傳的檔案已超éŽä¼ºæœå™¨çš„æœ€å¤§æª”案大å°é™åˆ¶ã€‚ "
-#: templates/index.php:110
+#: templates/index.php:109
msgid "Files are being scanned, please wait."
msgstr "æ­£åœ¨æŽƒææª”案,請ç¨ç­‰ã€‚"
-#: templates/index.php:113
+#: templates/index.php:112
msgid "Current scanning"
msgstr "ç›®å‰æŽƒæ"
diff --git a/l10n/zh_TW/files_encryption.po b/l10n/zh_TW/files_encryption.po
index 1da95b438b9..08bcf01b0d2 100644
--- a/l10n/zh_TW/files_encryption.po
+++ b/l10n/zh_TW/files_encryption.po
@@ -8,28 +8,76 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-09-02 02:01+0200\n"
-"PO-Revision-Date: 2012-09-01 14:48+0000\n"
-"Last-Translator: ywang <ywang1007@gmail.com>\n"
+"POT-Creation-Date: 2013-01-23 00:05+0100\n"
+"PO-Revision-Date: 2013-01-22 23:05+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\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"
"Content-Transfer-Encoding: 8bit\n"
"Language: zh_TW\n"
-"Plural-Forms: nplurals=1; plural=0\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
-#: templates/settings.php:3
+#: js/settings-personal.js:17
+msgid ""
+"Please switch to your ownCloud client and change your encryption password to"
+" complete the conversion."
+msgstr ""
+
+#: js/settings-personal.js:17
+msgid "switched to client side encryption"
+msgstr ""
+
+#: js/settings-personal.js:21
+msgid "Change encryption password to login password"
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Please check your passwords and try again."
+msgstr ""
+
+#: js/settings-personal.js:25
+msgid "Could not change your file encryption password to your login password"
+msgstr ""
+
+#: templates/settings-personal.php:3 templates/settings.php:5
+msgid "Choose encryption mode:"
+msgstr ""
+
+#: templates/settings-personal.php:20 templates/settings.php:24
+msgid ""
+"Client side encryption (most secure but makes it impossible to access your "
+"data from the web interface)"
+msgstr ""
+
+#: templates/settings-personal.php:30 templates/settings.php:36
+msgid ""
+"Server side encryption (allows you to access your files from the web "
+"interface and the desktop client)"
+msgstr ""
+
+#: templates/settings-personal.php:41 templates/settings.php:60
+msgid "None (no encryption at all)"
+msgstr ""
+
+#: templates/settings.php:10
+msgid ""
+"Important: Once you selected an encryption mode there is no way to change it"
+" back"
+msgstr ""
+
+#: templates/settings.php:48
+msgid "User specific (let the user decide)"
+msgstr ""
+
+#: templates/settings.php:65
msgid "Encryption"
msgstr "加密"
-#: templates/settings.php:4
+#: templates/settings.php:67
msgid "Exclude the following file types from encryption"
msgstr "下列的檔案類型ä¸åР坆"
-#: templates/settings.php:5
+#: templates/settings.php:71
msgid "None"
msgstr "ç„¡"
-
-#: templates/settings.php:10
-msgid "Enable Encryption"
-msgstr "啟用加密"
diff --git a/l10n/zh_TW/files_sharing.po b/l10n/zh_TW/files_sharing.po
index 01ec04db5b4..c60cf46d161 100644
--- a/l10n/zh_TW/files_sharing.po
+++ b/l10n/zh_TW/files_sharing.po
@@ -4,14 +4,15 @@
#
# Translators:
# <dw4dev@gmail.com>, 2012.
+# Pellaeon Lin <nfsmwlin@gmail.com>, 2013.
# <wu0809@msn.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-11-28 00:10+0100\n"
-"PO-Revision-Date: 2012-11-27 14:28+0000\n"
-"Last-Translator: dw4dev <dw4dev@gmail.com>\n"
+"POT-Creation-Date: 2013-01-25 00:05+0100\n"
+"PO-Revision-Date: 2013-01-24 13:15+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"
@@ -47,4 +48,4 @@ msgstr "無法é è¦½"
#: templates/public.php:43
msgid "web services under your control"
-msgstr ""
+msgstr "在您掌控之下的網路æœå‹™"
diff --git a/l10n/zh_TW/files_versions.po b/l10n/zh_TW/files_versions.po
index de8f1475443..1d41bf764bc 100644
--- a/l10n/zh_TW/files_versions.po
+++ b/l10n/zh_TW/files_versions.po
@@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-11-29 00:04+0100\n"
-"PO-Revision-Date: 2012-11-28 01:33+0000\n"
-"Last-Translator: dw4dev <dw4dev@gmail.com>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\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"
@@ -18,22 +18,10 @@ msgstr ""
"Language: zh_TW\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: js/settings-personal.js:31 templates/settings-personal.php:10
-msgid "Expire all versions"
-msgstr "所有逾期的版本"
-
#: js/versions.js:16
msgid "History"
msgstr "æ­·å²"
-#: templates/settings-personal.php:4
-msgid "Versions"
-msgstr "版本"
-
-#: templates/settings-personal.php:7
-msgid "This will delete all existing backup versions of your files"
-msgstr ""
-
#: templates/settings.php:3
msgid "Files Versioning"
msgstr "檔案版本化中..."
diff --git a/l10n/zh_TW/lib.po b/l10n/zh_TW/lib.po
index 2bc0c14b6c0..8a76773c076 100644
--- a/l10n/zh_TW/lib.po
+++ b/l10n/zh_TW/lib.po
@@ -3,6 +3,7 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# Pellaeon Lin <nfsmwlin@gmail.com>, 2013.
# <sofia168@livemail.tw>, 2012.
# <ywang1007+transifex@gmail.com>, 2012.
# ywang <ywang1007@gmail.com>, 2012.
@@ -10,9 +11,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-11-27 00:10+0100\n"
-"PO-Revision-Date: 2012-11-26 09:03+0000\n"
-"Last-Translator: sofiasu <sofia168@livemail.tw>\n"
+"POT-Creation-Date: 2013-01-24 00:06+0100\n"
+"PO-Revision-Date: 2013-01-23 10:07+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"
@@ -20,57 +21,61 @@ msgstr ""
"Language: zh_TW\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: app.php:285
+#: app.php:301
msgid "Help"
msgstr "說明"
-#: app.php:292
+#: app.php:308
msgid "Personal"
msgstr "個人"
-#: app.php:297
+#: app.php:313
msgid "Settings"
msgstr "設定"
-#: app.php:302
+#: app.php:318
msgid "Users"
msgstr "使用者"
-#: app.php:309
+#: app.php:325
msgid "Apps"
msgstr "應用程å¼"
-#: app.php:311
+#: app.php:327
msgid "Admin"
msgstr "管ç†"
-#: files.php:361
+#: files.php:365
msgid "ZIP download is turned off."
msgstr "ZIP 下載已關閉"
-#: files.php:362
+#: files.php:366
msgid "Files need to be downloaded one by one."
msgstr "檔案需è¦é€ä¸€ä¸‹è¼‰"
-#: files.php:362 files.php:387
+#: files.php:366 files.php:391
msgid "Back to Files"
msgstr "回到檔案列表"
-#: files.php:386
+#: files.php:390
msgid "Selected files too large to generate zip file."
msgstr "鏿“‡çš„æª”案太大以致於無法產生壓縮檔"
+#: helper.php:229
+msgid "couldn't be determined"
+msgstr "無法判斷"
+
#: json.php:28
msgid "Application is not enabled"
msgstr "æ‡‰ç”¨ç¨‹å¼æœªå•Ÿç”¨"
-#: json.php:39 json.php:64 json.php:77 json.php:89
+#: json.php:39 json.php:62 json.php:73
msgid "Authentication error"
msgstr "èªè­‰éŒ¯èª¤"
#: json.php:51
msgid "Token expired. Please reload page."
-msgstr "Token éŽæœŸ. è«‹é‡æ–°æ•´ç†é é¢"
+msgstr "Token éŽæœŸï¼Œè«‹é‡æ–°æ•´ç†é é¢ã€‚"
#: search/provider/file.php:17 search/provider/file.php:35
msgid "Files"
@@ -84,62 +89,62 @@ msgstr "文字"
msgid "Images"
msgstr "圖片"
-#: template.php:103
+#: template.php:113
msgid "seconds ago"
msgstr "幾秒å‰"
-#: template.php:104
+#: template.php:114
msgid "1 minute ago"
msgstr "1 分é˜å‰"
-#: template.php:105
+#: template.php:115
#, php-format
msgid "%d minutes ago"
msgstr "%d 分é˜å‰"
-#: template.php:106
+#: template.php:116
msgid "1 hour ago"
-msgstr "1å°æ™‚之å‰"
+msgstr "1 å°æ™‚之å‰"
-#: template.php:107
+#: template.php:117
#, php-format
msgid "%d hours ago"
-msgstr "%då°æ™‚之å‰"
+msgstr "%d å°æ™‚之å‰"
-#: template.php:108
+#: template.php:118
msgid "today"
msgstr "今天"
-#: template.php:109
+#: template.php:119
msgid "yesterday"
msgstr "昨天"
-#: template.php:110
+#: template.php:120
#, php-format
msgid "%d days ago"
msgstr "%d 天å‰"
-#: template.php:111
+#: template.php:121
msgid "last month"
msgstr "上個月"
-#: template.php:112
+#: template.php:122
#, php-format
msgid "%d months ago"
-msgstr "%d個月之å‰"
+msgstr "%d 個月之å‰"
-#: template.php:113
+#: template.php:123
msgid "last year"
msgstr "去年"
-#: template.php:114
+#: template.php:124
msgid "years ago"
msgstr "幾年å‰"
#: updater.php:75
#, php-format
msgid "%s is available. Get <a href=\"%s\">more information</a>"
-msgstr "%s 已經å¯ç”¨. å–å¾— <a href=\"%s\">更多資訊</a>"
+msgstr "%s 已經å¯ç”¨ã€‚å–å¾— <a href=\"%s\">更多資訊</a>"
#: updater.php:77
msgid "up to date"
@@ -152,4 +157,4 @@ msgstr "檢查更新已åœç”¨"
#: vcategories.php:188 vcategories.php:249
#, php-format
msgid "Could not find category \"%s\""
-msgstr "找ä¸åˆ°åˆ†é¡ž-\"%s\""
+msgstr "找ä¸åˆ°åˆ†é¡žï¼š\"%s\""
diff --git a/l10n/zh_TW/settings.po b/l10n/zh_TW/settings.po
index ca897a2325b..36a92e308c2 100644
--- a/l10n/zh_TW/settings.po
+++ b/l10n/zh_TW/settings.po
@@ -5,6 +5,7 @@
# Translators:
# Donahue Chuang <soshinwu@gmail.com>, 2012.
# <dw4dev@gmail.com>, 2012.
+# <nfsmwlin@gmail.com>, 2013.
# <sy6614@yahoo.com.hk>, 2012.
# <weiyu871@ms14.url.com.tw>, 2012.
# <wu0809@msn.com>, 2012.
@@ -13,8 +14,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-21 00:10+0100\n"
-"PO-Revision-Date: 2012-12-19 23:20+0000\n"
+"POT-Creation-Date: 2013-01-12 00:09+0100\n"
+"PO-Revision-Date: 2013-01-11 23:09+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Chinese (Taiwan) (http://www.transifex.com/projects/p/owncloud/language/zh_TW/)\n"
"MIME-Version: 1.0\n"
@@ -35,7 +36,7 @@ msgstr "群組已存在"
msgid "Unable to add group"
msgstr "群組增加失敗"
-#: ajax/enableapp.php:12
+#: ajax/enableapp.php:11
msgid "Could not enable app. "
msgstr "未能啟動此app"
@@ -47,14 +48,6 @@ msgstr "Email已儲存"
msgid "Invalid email"
msgstr "無效的email"
-#: ajax/openid.php:13
-msgid "OpenID Changed"
-msgstr "OpenID 已變更"
-
-#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20
-msgid "Invalid request"
-msgstr "無效請求"
-
#: ajax/removegroup.php:13
msgid "Unable to delete group"
msgstr "群組刪除錯誤"
@@ -71,6 +64,10 @@ msgstr "使用者刪除錯誤"
msgid "Language changed"
msgstr "語言已變更"
+#: ajax/setlanguage.php:17 ajax/setlanguage.php:20
+msgid "Invalid request"
+msgstr "無效請求"
+
#: ajax/togglegroups.php:12
msgid "Admins can't remove themself from the admin group"
msgstr "管ç†è€…帳號無法從管ç†è€…群組中移除"
@@ -123,27 +120,27 @@ msgstr "<span class=\"licence\"></span>-核准: <span class=\"author\"></span>"
#: templates/help.php:3
msgid "User Documentation"
-msgstr ""
+msgstr "用戶說明文件"
#: templates/help.php:4
msgid "Administrator Documentation"
-msgstr ""
+msgstr "管ç†è€…說明文件"
#: templates/help.php:6
msgid "Online Documentation"
-msgstr ""
+msgstr "線上說明文件"
#: templates/help.php:7
msgid "Forum"
-msgstr ""
+msgstr "論壇"
#: templates/help.php:9
msgid "Bugtracker"
-msgstr ""
+msgstr "Bugtracker"
#: templates/help.php:11
msgid "Commercial Support"
-msgstr ""
+msgstr "商用支æ´"
#: templates/personal.php:8
#, php-format
@@ -156,17 +153,17 @@ msgstr "客戶"
#: templates/personal.php:13
msgid "Download Desktop Clients"
-msgstr ""
+msgstr "下載桌é¢å®¢æˆ¶ç«¯"
#: templates/personal.php:14
msgid "Download Android Client"
-msgstr ""
+msgstr "下載 Android 客戶端"
#: templates/personal.php:15
msgid "Download iOS Client"
-msgstr ""
+msgstr "下載 iOS 客戶端"
-#: templates/personal.php:21 templates/users.php:23 templates/users.php:77
+#: templates/personal.php:21 templates/users.php:23 templates/users.php:82
msgid "Password"
msgstr "密碼"
@@ -216,15 +213,15 @@ msgstr "幫助翻譯"
#: templates/personal.php:52
msgid "WebDAV"
-msgstr ""
+msgstr "WebDAV"
#: templates/personal.php:54
msgid "Use this address to connect to your ownCloud in your file manager"
-msgstr ""
+msgstr "在您的檔案管ç†å“¡ä¸­ä½¿ç”¨é€™å€‹åœ°å€ä¾†é€£ç·šåˆ° ownCloud"
#: templates/personal.php:63
msgid "Version"
-msgstr ""
+msgstr "版本"
#: templates/personal.php:65
msgid ""
@@ -236,11 +233,11 @@ msgid ""
"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/users.php:21 templates/users.php:76
+#: templates/users.php:21 templates/users.php:81
msgid "Name"
msgstr "å稱"
-#: templates/users.php:26 templates/users.php:78 templates/users.php:98
+#: templates/users.php:26 templates/users.php:83 templates/users.php:103
msgid "Groups"
msgstr "群組"
@@ -249,21 +246,29 @@ msgid "Create"
msgstr "創造"
#: templates/users.php:35
-msgid "Default Quota"
-msgstr "é è¨­å®¹é‡é™åˆ¶"
+msgid "Default Storage"
+msgstr "é è¨­å„²å­˜å€"
-#: templates/users.php:55 templates/users.php:138
+#: templates/users.php:42 templates/users.php:138
+msgid "Unlimited"
+msgstr "ç„¡é™åˆ¶"
+
+#: templates/users.php:60 templates/users.php:153
msgid "Other"
msgstr "å…¶ä»–"
-#: templates/users.php:80 templates/users.php:112
+#: templates/users.php:85 templates/users.php:117
msgid "Group Admin"
msgstr "群組 管ç†å“¡"
-#: templates/users.php:82
-msgid "Quota"
-msgstr "容é‡é™åˆ¶"
+#: templates/users.php:87
+msgid "Storage"
+msgstr "儲存å€"
+
+#: templates/users.php:133
+msgid "Default"
+msgstr "é è¨­"
-#: templates/users.php:146
+#: templates/users.php:161
msgid "Delete"
msgstr "刪除"
diff --git a/l10n/zh_TW/user_ldap.po b/l10n/zh_TW/user_ldap.po
index 2bf0669ac23..e3b5d2655d9 100644
--- a/l10n/zh_TW/user_ldap.po
+++ b/l10n/zh_TW/user_ldap.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-15 00:11+0100\n"
-"PO-Revision-Date: 2012-12-14 23:11+0000\n"
+"POT-Creation-Date: 2013-01-21 00:04+0100\n"
+"PO-Revision-Date: 2013-01-19 23:22+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Chinese (Taiwan) (http://www.transifex.com/projects/p/owncloud/language/zh_TW/)\n"
"MIME-Version: 1.0\n"
@@ -27,13 +27,13 @@ msgstr ""
#: templates/settings.php:11
msgid ""
-"<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will"
-" not work. Please ask your system administrator to install it."
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not "
+"work. Please ask your system administrator to install it."
msgstr ""
#: templates/settings.php:15
msgid "Host"
-msgstr ""
+msgstr "主機"
#: templates/settings.php:15
msgid ""
@@ -45,6 +45,10 @@ msgid "Base DN"
msgstr ""
#: templates/settings.php:16
+msgid "One Base DN per line"
+msgstr ""
+
+#: templates/settings.php:16
msgid "You can specify Base DN for users and groups in the Advanced tab"
msgstr ""
@@ -109,16 +113,24 @@ msgstr ""
#: templates/settings.php:24
msgid "Port"
-msgstr ""
+msgstr "連接阜"
#: templates/settings.php:25
msgid "Base User Tree"
msgstr ""
+#: templates/settings.php:25
+msgid "One User Base DN per line"
+msgstr ""
+
#: templates/settings.php:26
msgid "Base Group Tree"
msgstr ""
+#: templates/settings.php:26
+msgid "One Group Base DN per line"
+msgstr ""
+
#: templates/settings.php:27
msgid "Group-Member association"
msgstr ""
diff --git a/l10n/zh_TW/user_webdavauth.po b/l10n/zh_TW/user_webdavauth.po
index 0870470a5c2..d99e5ba2a7f 100644
--- a/l10n/zh_TW/user_webdavauth.po
+++ b/l10n/zh_TW/user_webdavauth.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-20 00:11+0100\n"
-"PO-Revision-Date: 2012-12-19 23:12+0000\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Chinese (Taiwan) (http://www.transifex.com/projects/p/owncloud/language/zh_TW/)\n"
"MIME-Version: 1.0\n"
@@ -18,13 +18,17 @@ msgstr ""
"Language: zh_TW\n"
"Plural-Forms: nplurals=1; plural=0;\n"
+#: templates/settings.php:3
+msgid "WebDAV Authentication"
+msgstr ""
+
#: templates/settings.php:4
msgid "URL: http://"
msgstr ""
#: templates/settings.php:6
msgid ""
-"ownCloud will send the user credentials to this URL is interpret http 401 "
-"and http 403 as credentials wrong and all other codes as credentials "
-"correct."
+"ownCloud will send the user credentials to this URL. 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 ""
diff --git a/l10n/zu_ZA/core.po b/l10n/zu_ZA/core.po
index 57a6cff9898..c559a642746 100644
--- a/l10n/zu_ZA/core.po
+++ b/l10n/zu_ZA/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: 2012-12-13 00:17+0100\n"
-"PO-Revision-Date: 2012-12-12 23:17+0000\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:03+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Zulu (South Africa) (http://www.transifex.com/projects/p/owncloud/language/zu_ZA/)\n"
"MIME-Version: 1.0\n"
@@ -83,55 +83,55 @@ msgstr ""
msgid "Settings"
msgstr ""
-#: js/js.js:704
+#: js/js.js:711
msgid "seconds ago"
msgstr ""
-#: js/js.js:705
+#: js/js.js:712
msgid "1 minute ago"
msgstr ""
-#: js/js.js:706
+#: js/js.js:713
msgid "{minutes} minutes ago"
msgstr ""
-#: js/js.js:707
+#: js/js.js:714
msgid "1 hour ago"
msgstr ""
-#: js/js.js:708
+#: js/js.js:715
msgid "{hours} hours ago"
msgstr ""
-#: js/js.js:709
+#: js/js.js:716
msgid "today"
msgstr ""
-#: js/js.js:710
+#: js/js.js:717
msgid "yesterday"
msgstr ""
-#: js/js.js:711
+#: js/js.js:718
msgid "{days} days ago"
msgstr ""
-#: js/js.js:712
+#: js/js.js:719
msgid "last month"
msgstr ""
-#: js/js.js:713
+#: js/js.js:720
msgid "{months} months ago"
msgstr ""
-#: js/js.js:714
+#: js/js.js:721
msgid "months ago"
msgstr ""
-#: js/js.js:715
+#: js/js.js:722
msgid "last year"
msgstr ""
-#: js/js.js:716
+#: js/js.js:723
msgid "years ago"
msgstr ""
@@ -161,8 +161,8 @@ msgid "The object type is not specified."
msgstr ""
#: js/oc-vcategories.js:95 js/oc-vcategories.js:125 js/oc-vcategories.js:136
-#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:541
-#: js/share.js:553
+#: js/oc-vcategories.js:195 js/share.js:135 js/share.js:142 js/share.js:554
+#: js/share.js:566
msgid "Error"
msgstr ""
@@ -174,7 +174,7 @@ msgstr ""
msgid "The required file {file} is not installed!"
msgstr ""
-#: js/share.js:124 js/share.js:581
+#: js/share.js:124 js/share.js:594
msgid "Error while sharing"
msgstr ""
@@ -202,12 +202,11 @@ msgstr ""
msgid "Share with link"
msgstr ""
-#: js/share.js:164
+#: js/share.js:166
msgid "Password protect"
msgstr ""
-#: js/share.js:168 templates/installation.php:42 templates/login.php:24
-#: templates/verify.php:13
+#: js/share.js:168 templates/installation.php:44 templates/login.php:35
msgid "Password"
msgstr ""
@@ -271,23 +270,23 @@ msgstr ""
msgid "share"
msgstr ""
-#: js/share.js:353 js/share.js:528 js/share.js:530
+#: js/share.js:356 js/share.js:541
msgid "Password protected"
msgstr ""
-#: js/share.js:541
+#: js/share.js:554
msgid "Error unsetting expiration date"
msgstr ""
-#: js/share.js:553
+#: js/share.js:566
msgid "Error setting expiration date"
msgstr ""
-#: js/share.js:568
+#: js/share.js:581
msgid "Sending ..."
msgstr ""
-#: js/share.js:579
+#: js/share.js:592
msgid "Email sent"
msgstr ""
@@ -311,8 +310,8 @@ msgstr ""
msgid "Request failed!"
msgstr ""
-#: lostpassword/templates/lostpassword.php:11 templates/installation.php:38
-#: templates/login.php:20
+#: lostpassword/templates/lostpassword.php:11 templates/installation.php:39
+#: templates/login.php:28
msgid "Username"
msgstr ""
@@ -401,44 +400,44 @@ msgstr ""
msgid "Create an <strong>admin account</strong>"
msgstr ""
-#: templates/installation.php:48
+#: templates/installation.php:50
msgid "Advanced"
msgstr ""
-#: templates/installation.php:50
+#: templates/installation.php:52
msgid "Data folder"
msgstr ""
-#: templates/installation.php:57
+#: templates/installation.php:59
msgid "Configure the database"
msgstr ""
-#: templates/installation.php:62 templates/installation.php:73
-#: templates/installation.php:83 templates/installation.php:93
+#: templates/installation.php:64 templates/installation.php:75
+#: templates/installation.php:85 templates/installation.php:95
msgid "will be used"
msgstr ""
-#: templates/installation.php:105
+#: templates/installation.php:107
msgid "Database user"
msgstr ""
-#: templates/installation.php:109
+#: templates/installation.php:111
msgid "Database password"
msgstr ""
-#: templates/installation.php:113
+#: templates/installation.php:115
msgid "Database name"
msgstr ""
-#: templates/installation.php:121
+#: templates/installation.php:123
msgid "Database tablespace"
msgstr ""
-#: templates/installation.php:127
+#: templates/installation.php:129
msgid "Database host"
msgstr ""
-#: templates/installation.php:132
+#: templates/installation.php:134
msgid "Finish setup"
msgstr ""
@@ -526,36 +525,32 @@ msgstr ""
msgid "Log out"
msgstr ""
-#: templates/login.php:8
+#: templates/login.php:10
msgid "Automatic logon rejected!"
msgstr ""
-#: templates/login.php:9
+#: templates/login.php:11
msgid ""
"If you did not change your password recently, your account may be "
"compromised!"
msgstr ""
-#: templates/login.php:10
+#: templates/login.php:13
msgid "Please change your password to secure your account again."
msgstr ""
-#: templates/login.php:15
+#: templates/login.php:19
msgid "Lost your password?"
msgstr ""
-#: templates/login.php:27
+#: templates/login.php:39
msgid "remember"
msgstr ""
-#: templates/login.php:28
+#: templates/login.php:41
msgid "Log in"
msgstr ""
-#: templates/logout.php:1
-msgid "You are logged out."
-msgstr ""
-
#: templates/part.pagenavi.php:3
msgid "prev"
msgstr ""
@@ -564,16 +559,7 @@ msgstr ""
msgid "next"
msgstr ""
-#: templates/verify.php:5
-msgid "Security Warning!"
-msgstr ""
-
-#: templates/verify.php:6
-msgid ""
-"Please verify your password. <br/>For security reasons you may be "
-"occasionally asked to enter your password again."
-msgstr ""
-
-#: templates/verify.php:16
-msgid "Verify"
+#: templates/update.php:3
+#, php-format
+msgid "Updating ownCloud to version %s, this may take a while."
msgstr ""
diff --git a/l10n/zu_ZA/files.po b/l10n/zu_ZA/files.po
index 078ee8781ef..ceaf28a6991 100644
--- a/l10n/zu_ZA/files.po
+++ b/l10n/zu_ZA/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: 2012-12-01 00:01+0100\n"
-"PO-Revision-Date: 2012-11-30 23:02+0000\n"
+"POT-Creation-Date: 2013-01-20 00:05+0100\n"
+"PO-Revision-Date: 2013-01-19 23:05+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Zulu (South Africa) (http://www.transifex.com/projects/p/owncloud/language/zu_ZA/)\n"
"MIME-Version: 1.0\n"
@@ -17,46 +17,77 @@ msgstr ""
"Language: zu_ZA\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+#: ajax/delete.php:28 ajax/getstoragestats.php:11 ajax/upload.php:17
+#: ajax/upload.php:76 templates/index.php:18
+msgid "Upload"
+msgstr ""
+
+#: ajax/move.php:17
+#, php-format
+msgid "Could not move %s - File with this name already exists"
+msgstr ""
+
+#: ajax/move.php:24
+#, php-format
+msgid "Could not move %s"
+msgstr ""
+
+#: ajax/rename.php:19
+msgid "Unable to rename file"
+msgstr ""
+
#: ajax/upload.php:20
+msgid "No file was uploaded. Unknown error"
+msgstr ""
+
+#: ajax/upload.php:30
msgid "There is no error, the file uploaded with success"
msgstr ""
-#: ajax/upload.php:21
+#: ajax/upload.php:31
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr ""
-#: ajax/upload.php:23
+#: ajax/upload.php:33
msgid ""
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
"the HTML form"
msgstr ""
-#: ajax/upload.php:25
+#: ajax/upload.php:35
msgid "The uploaded file was only partially uploaded"
msgstr ""
-#: ajax/upload.php:26
+#: ajax/upload.php:36
msgid "No file was uploaded"
msgstr ""
-#: ajax/upload.php:27
+#: ajax/upload.php:37
msgid "Missing a temporary folder"
msgstr ""
-#: ajax/upload.php:28
+#: ajax/upload.php:38
msgid "Failed to write to disk"
msgstr ""
+#: ajax/upload.php:57
+msgid "Not enough space available"
+msgstr ""
+
+#: ajax/upload.php:91
+msgid "Invalid directory."
+msgstr ""
+
#: appinfo/app.php:10
msgid "Files"
msgstr ""
-#: js/fileactions.js:117 templates/index.php:83 templates/index.php:84
+#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
msgid "Unshare"
msgstr ""
-#: js/fileactions.js:119 templates/index.php:89 templates/index.php:90
+#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
msgid "Delete"
msgstr ""
@@ -64,122 +95,136 @@ msgstr ""
msgid "Rename"
msgstr ""
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "{new_name} already exists"
msgstr ""
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "replace"
msgstr ""
-#: js/filelist.js:201
+#: js/filelist.js:205
msgid "suggest name"
msgstr ""
-#: js/filelist.js:201 js/filelist.js:203
+#: js/filelist.js:205 js/filelist.js:207
msgid "cancel"
msgstr ""
-#: js/filelist.js:250
+#: js/filelist.js:254
msgid "replaced {new_name}"
msgstr ""
-#: js/filelist.js:250 js/filelist.js:252 js/filelist.js:284 js/filelist.js:286
+#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
msgid "undo"
msgstr ""
-#: js/filelist.js:252
+#: js/filelist.js:256
msgid "replaced {new_name} with {old_name}"
msgstr ""
-#: js/filelist.js:284
+#: js/filelist.js:288
msgid "unshared {files}"
msgstr ""
-#: js/filelist.js:286
+#: js/filelist.js:290
msgid "deleted {files}"
msgstr ""
-#: js/files.js:33
+#: js/files.js:48
+msgid "'.' is an invalid file name."
+msgstr ""
+
+#: js/files.js:53
+msgid "File name cannot be empty."
+msgstr ""
+
+#: js/files.js:62
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr ""
-#: js/files.js:183
-msgid "generating ZIP-file, it may take some time."
+#: js/files.js:204
+msgid ""
+"Your download is being prepared. This might take some time if the files are "
+"big."
msgstr ""
-#: js/files.js:218
+#: js/files.js:242
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr ""
-#: js/files.js:218
+#: js/files.js:242
msgid "Upload Error"
msgstr ""
-#: js/files.js:235
+#: js/files.js:259
msgid "Close"
msgstr ""
-#: js/files.js:254 js/files.js:368 js/files.js:398
+#: js/files.js:278 js/files.js:397 js/files.js:431
msgid "Pending"
msgstr ""
-#: js/files.js:274
+#: js/files.js:298
msgid "1 file uploading"
msgstr ""
-#: js/files.js:277 js/files.js:331 js/files.js:346
+#: js/files.js:301 js/files.js:357 js/files.js:372
msgid "{count} files uploading"
msgstr ""
-#: js/files.js:349 js/files.js:382
+#: js/files.js:376 js/files.js:414
msgid "Upload cancelled."
msgstr ""
-#: js/files.js:451
+#: js/files.js:486
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr ""
-#: js/files.js:523
-msgid "Invalid folder name. Usage of \"Shared\" is reserved by Owncloud"
+#: js/files.js:559
+msgid "URL cannot be empty."
msgstr ""
-#: js/files.js:704
+#: js/files.js:565
+msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
+msgstr ""
+
+#: js/files.js:775
msgid "{count} files scanned"
msgstr ""
-#: js/files.js:712
+#: js/files.js:783
msgid "error while scanning"
msgstr ""
-#: js/files.js:785 templates/index.php:65
+#: js/files.js:857 templates/index.php:64
msgid "Name"
msgstr ""
-#: js/files.js:786 templates/index.php:76
+#: js/files.js:858 templates/index.php:75
msgid "Size"
msgstr ""
-#: js/files.js:787 templates/index.php:78
+#: js/files.js:859 templates/index.php:77
msgid "Modified"
msgstr ""
-#: js/files.js:814
+#: js/files.js:878
msgid "1 folder"
msgstr ""
-#: js/files.js:816
+#: js/files.js:880
msgid "{count} folders"
msgstr ""
-#: js/files.js:824
+#: js/files.js:888
msgid "1 file"
msgstr ""
-#: js/files.js:826
+#: js/files.js:890
msgid "{count} files"
msgstr ""
@@ -191,27 +236,27 @@ msgstr ""
msgid "Maximum upload size"
msgstr ""
-#: templates/admin.php:9
+#: templates/admin.php:10
msgid "max. possible: "
msgstr ""
-#: templates/admin.php:12
+#: templates/admin.php:15
msgid "Needed for multi-file and folder downloads."
msgstr ""
-#: templates/admin.php:14
+#: templates/admin.php:17
msgid "Enable ZIP-download"
msgstr ""
-#: templates/admin.php:17
+#: templates/admin.php:20
msgid "0 is unlimited"
msgstr ""
-#: templates/admin.php:19
+#: templates/admin.php:22
msgid "Maximum input size for ZIP files"
msgstr ""
-#: templates/admin.php:23
+#: templates/admin.php:26
msgid "Save"
msgstr ""
@@ -231,36 +276,32 @@ msgstr ""
msgid "From link"
msgstr ""
-#: templates/index.php:35
-msgid "Upload"
-msgstr ""
-
-#: templates/index.php:43
+#: templates/index.php:41
msgid "Cancel upload"
msgstr ""
-#: templates/index.php:57
+#: templates/index.php:56
msgid "Nothing in here. Upload something!"
msgstr ""
-#: templates/index.php:71
+#: templates/index.php:70
msgid "Download"
msgstr ""
-#: templates/index.php:103
+#: templates/index.php:102
msgid "Upload too large"
msgstr ""
-#: templates/index.php:105
+#: templates/index.php:104
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr ""
-#: templates/index.php:110
+#: templates/index.php:109
msgid "Files are being scanned, please wait."
msgstr ""
-#: templates/index.php:113
+#: templates/index.php:112
msgid "Current scanning"
msgstr ""
diff --git a/l10n/zu_ZA/files_versions.po b/l10n/zu_ZA/files_versions.po
index 7bc842be419..190d72f8853 100644
--- a/l10n/zu_ZA/files_versions.po
+++ b/l10n/zu_ZA/files_versions.po
@@ -7,9 +7,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-11-06 00:00+0100\n"
-"PO-Revision-Date: 2012-08-12 22:37+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+0000\n"
+"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Zulu (South Africa) (http://www.transifex.com/projects/p/owncloud/language/zu_ZA/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -17,22 +17,10 @@ msgstr ""
"Language: zu_ZA\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: js/settings-personal.js:31 templates/settings-personal.php:10
-msgid "Expire all versions"
-msgstr ""
-
#: js/versions.js:16
msgid "History"
msgstr ""
-#: templates/settings-personal.php:4
-msgid "Versions"
-msgstr ""
-
-#: templates/settings-personal.php:7
-msgid "This will delete all existing backup versions of your files"
-msgstr ""
-
#: templates/settings.php:3
msgid "Files Versioning"
msgstr ""
diff --git a/l10n/zu_ZA/lib.po b/l10n/zu_ZA/lib.po
index 248d04871da..f463152bf30 100644
--- a/l10n/zu_ZA/lib.po
+++ b/l10n/zu_ZA/lib.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-11-16 00:02+0100\n"
-"PO-Revision-Date: 2012-11-14 23:13+0000\n"
+"POT-Creation-Date: 2013-01-17 00:26+0100\n"
+"PO-Revision-Date: 2013-01-16 23:26+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Zulu (South Africa) (http://www.transifex.com/projects/p/owncloud/language/zu_ZA/)\n"
"MIME-Version: 1.0\n"
@@ -17,51 +17,55 @@ msgstr ""
"Language: zu_ZA\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: app.php:285
+#: app.php:301
msgid "Help"
msgstr ""
-#: app.php:292
+#: app.php:308
msgid "Personal"
msgstr ""
-#: app.php:297
+#: app.php:313
msgid "Settings"
msgstr ""
-#: app.php:302
+#: app.php:318
msgid "Users"
msgstr ""
-#: app.php:309
+#: app.php:325
msgid "Apps"
msgstr ""
-#: app.php:311
+#: app.php:327
msgid "Admin"
msgstr ""
-#: files.php:332
+#: files.php:365
msgid "ZIP download is turned off."
msgstr ""
-#: files.php:333
+#: files.php:366
msgid "Files need to be downloaded one by one."
msgstr ""
-#: files.php:333 files.php:358
+#: files.php:366 files.php:391
msgid "Back to Files"
msgstr ""
-#: files.php:357
+#: files.php:390
msgid "Selected files too large to generate zip file."
msgstr ""
+#: helper.php:228
+msgid "couldn't be determined"
+msgstr ""
+
#: json.php:28
msgid "Application is not enabled"
msgstr ""
-#: json.php:39 json.php:64 json.php:77 json.php:89
+#: json.php:39 json.php:62 json.php:73
msgid "Authentication error"
msgstr ""
@@ -81,55 +85,55 @@ msgstr ""
msgid "Images"
msgstr ""
-#: template.php:103
+#: template.php:113
msgid "seconds ago"
msgstr ""
-#: template.php:104
+#: template.php:114
msgid "1 minute ago"
msgstr ""
-#: template.php:105
+#: template.php:115
#, php-format
msgid "%d minutes ago"
msgstr ""
-#: template.php:106
+#: template.php:116
msgid "1 hour ago"
msgstr ""
-#: template.php:107
+#: template.php:117
#, php-format
msgid "%d hours ago"
msgstr ""
-#: template.php:108
+#: template.php:118
msgid "today"
msgstr ""
-#: template.php:109
+#: template.php:119
msgid "yesterday"
msgstr ""
-#: template.php:110
+#: template.php:120
#, php-format
msgid "%d days ago"
msgstr ""
-#: template.php:111
+#: template.php:121
msgid "last month"
msgstr ""
-#: template.php:112
+#: template.php:122
#, php-format
msgid "%d months ago"
msgstr ""
-#: template.php:113
+#: template.php:123
msgid "last year"
msgstr ""
-#: template.php:114
+#: template.php:124
msgid "years ago"
msgstr ""
diff --git a/l10n/zu_ZA/settings.po b/l10n/zu_ZA/settings.po
index d59859009b5..723004ab1e7 100644
--- a/l10n/zu_ZA/settings.po
+++ b/l10n/zu_ZA/settings.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-20 00:11+0100\n"
-"PO-Revision-Date: 2012-12-19 23:11+0000\n"
+"POT-Creation-Date: 2013-01-12 00:09+0100\n"
+"PO-Revision-Date: 2013-01-11 23:09+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Zulu (South Africa) (http://www.transifex.com/projects/p/owncloud/language/zu_ZA/)\n"
"MIME-Version: 1.0\n"
@@ -29,7 +29,7 @@ msgstr ""
msgid "Unable to add group"
msgstr ""
-#: ajax/enableapp.php:12
+#: ajax/enableapp.php:11
msgid "Could not enable app. "
msgstr ""
@@ -41,14 +41,6 @@ msgstr ""
msgid "Invalid email"
msgstr ""
-#: ajax/openid.php:13
-msgid "OpenID Changed"
-msgstr ""
-
-#: ajax/openid.php:15 ajax/setlanguage.php:17 ajax/setlanguage.php:20
-msgid "Invalid request"
-msgstr ""
-
#: ajax/removegroup.php:13
msgid "Unable to delete group"
msgstr ""
@@ -65,6 +57,10 @@ msgstr ""
msgid "Language changed"
msgstr ""
+#: ajax/setlanguage.php:17 ajax/setlanguage.php:20
+msgid "Invalid request"
+msgstr ""
+
#: ajax/togglegroups.php:12
msgid "Admins can't remove themself from the admin group"
msgstr ""
@@ -160,7 +156,7 @@ msgstr ""
msgid "Download iOS Client"
msgstr ""
-#: templates/personal.php:21 templates/users.php:23 templates/users.php:77
+#: templates/personal.php:21 templates/users.php:23 templates/users.php:82
msgid "Password"
msgstr ""
@@ -230,11 +226,11 @@ msgid ""
"License\">AGPL</abbr></a>."
msgstr ""
-#: templates/users.php:21 templates/users.php:76
+#: templates/users.php:21 templates/users.php:81
msgid "Name"
msgstr ""
-#: templates/users.php:26 templates/users.php:78 templates/users.php:98
+#: templates/users.php:26 templates/users.php:83 templates/users.php:103
msgid "Groups"
msgstr ""
@@ -243,21 +239,29 @@ msgid "Create"
msgstr ""
#: templates/users.php:35
-msgid "Default Quota"
+msgid "Default Storage"
+msgstr ""
+
+#: templates/users.php:42 templates/users.php:138
+msgid "Unlimited"
msgstr ""
-#: templates/users.php:55 templates/users.php:138
+#: templates/users.php:60 templates/users.php:153
msgid "Other"
msgstr ""
-#: templates/users.php:80 templates/users.php:112
+#: templates/users.php:85 templates/users.php:117
msgid "Group Admin"
msgstr ""
-#: templates/users.php:82
-msgid "Quota"
+#: templates/users.php:87
+msgid "Storage"
+msgstr ""
+
+#: templates/users.php:133
+msgid "Default"
msgstr ""
-#: templates/users.php:146
+#: templates/users.php:161
msgid "Delete"
msgstr ""
diff --git a/l10n/zu_ZA/user_ldap.po b/l10n/zu_ZA/user_ldap.po
index 3add8a2631e..e02fa17c60c 100644
--- a/l10n/zu_ZA/user_ldap.po
+++ b/l10n/zu_ZA/user_ldap.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-15 00:11+0100\n"
-"PO-Revision-Date: 2012-12-14 23:11+0000\n"
+"POT-Creation-Date: 2013-01-16 00:19+0100\n"
+"PO-Revision-Date: 2013-01-15 23:20+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Zulu (South Africa) (http://www.transifex.com/projects/p/owncloud/language/zu_ZA/)\n"
"MIME-Version: 1.0\n"
@@ -26,8 +26,8 @@ msgstr ""
#: templates/settings.php:11
msgid ""
-"<b>Warning:</b> The PHP LDAP module needs is not installed, the backend will"
-" not work. Please ask your system administrator to install it."
+"<b>Warning:</b> The PHP LDAP module is not installed, the backend will not "
+"work. Please ask your system administrator to install it."
msgstr ""
#: templates/settings.php:15
@@ -44,6 +44,10 @@ msgid "Base DN"
msgstr ""
#: templates/settings.php:16
+msgid "One Base DN per line"
+msgstr ""
+
+#: templates/settings.php:16
msgid "You can specify Base DN for users and groups in the Advanced tab"
msgstr ""
@@ -114,10 +118,18 @@ msgstr ""
msgid "Base User Tree"
msgstr ""
+#: templates/settings.php:25
+msgid "One User Base DN per line"
+msgstr ""
+
#: templates/settings.php:26
msgid "Base Group Tree"
msgstr ""
+#: templates/settings.php:26
+msgid "One Group Base DN per line"
+msgstr ""
+
#: templates/settings.php:27
msgid "Group-Member association"
msgstr ""
diff --git a/l10n/zu_ZA/user_webdavauth.po b/l10n/zu_ZA/user_webdavauth.po
index 3a53e0a85e8..012774040c7 100644
--- a/l10n/zu_ZA/user_webdavauth.po
+++ b/l10n/zu_ZA/user_webdavauth.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2012-12-20 00:11+0100\n"
-"PO-Revision-Date: 2012-12-19 23:12+0000\n"
+"POT-Creation-Date: 2013-01-15 00:03+0100\n"
+"PO-Revision-Date: 2013-01-14 23:04+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Zulu (South Africa) (http://www.transifex.com/projects/p/owncloud/language/zu_ZA/)\n"
"MIME-Version: 1.0\n"
@@ -17,13 +17,17 @@ msgstr ""
"Language: zu_ZA\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+#: templates/settings.php:3
+msgid "WebDAV Authentication"
+msgstr ""
+
#: templates/settings.php:4
msgid "URL: http://"
msgstr ""
#: templates/settings.php:6
msgid ""
-"ownCloud will send the user credentials to this URL is interpret http 401 "
-"and http 403 as credentials wrong and all other codes as credentials "
-"correct."
+"ownCloud will send the user credentials to this URL. 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 ""
diff --git a/lib/MDB2/Driver/sqlite3.php b/lib/MDB2/Driver/sqlite3.php
index 9839dafbce1..8f057cfb6e8 100644
--- a/lib/MDB2/Driver/sqlite3.php
+++ b/lib/MDB2/Driver/sqlite3.php
@@ -98,7 +98,7 @@ class MDB2_Driver_sqlite3 extends MDB2_Driver_Common
if ($this->connection) {
$native_code = $this->connection->lastErrorCode();
}
- $native_msg = html_entity_decode($this->_lasterror);
+ $native_msg = html_entity_decode($this->_lasterror);
// PHP 5.2+ prepends the function name to $php_errormsg, so we need
// this hack to work around it, per bug #9599.
diff --git a/lib/api.php b/lib/api.php
new file mode 100644
index 00000000000..545b55757ff
--- /dev/null
+++ b/lib/api.php
@@ -0,0 +1,204 @@
+<?php
+/**
+* ownCloud
+*
+* @author Tom Needham
+* @author Michael Gapczynski
+* @author Bart Visscher
+* @copyright 2012 Tom Needham tom@owncloud.com
+* @copyright 2012 Michael Gapczynski mtgap@owncloud.com
+* @copyright 2012 Bart Visscher bartv@thisnet.nl
+*
+* 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_API {
+
+ /**
+ * API authentication levels
+ */
+ const GUEST_AUTH = 0;
+ const USER_AUTH = 1;
+ const SUBADMIN_AUTH = 2;
+ const ADMIN_AUTH = 3;
+
+ private static $server;
+
+ /**
+ * initialises the OAuth store and server
+ */
+ private static function init() {
+ self::$server = new OC_OAuth_Server(new OC_OAuth_Store());
+ }
+
+ /**
+ * api actions
+ */
+ protected static $actions = array();
+
+ /**
+ * registers an api call
+ * @param string $method the http method
+ * @param string $url the url to match
+ * @param callable $action the function to run
+ * @param string $app the id of the app registering the call
+ * @param int $authLevel the level of authentication required for the call
+ * @param array $defaults
+ * @param array $requirements
+ */
+ public static function register($method, $url, $action, $app,
+ $authLevel = OC_API::USER_AUTH,
+ $defaults = array(),
+ $requirements = array()) {
+ $name = strtolower($method).$url;
+ $name = str_replace(array('/', '{', '}'), '_', $name);
+ if(!isset(self::$actions[$name])) {
+ OC::getRouter()->useCollection('ocs');
+ OC::getRouter()->create($name, $url)
+ ->method($method)
+ ->action('OC_API', 'call');
+ self::$actions[$name] = array();
+ }
+ self::$actions[$name] = array('app' => $app, 'action' => $action, 'authlevel' => $authLevel);
+ }
+
+ /**
+ * handles an api call
+ * @param array $parameters
+ */
+ public static function call($parameters) {
+ // Prepare the request variables
+ if($_SERVER['REQUEST_METHOD'] == 'PUT') {
+ parse_str(file_get_contents("php://input"), $parameters['_put']);
+ } else if($_SERVER['REQUEST_METHOD'] == 'DELETE'){
+ parse_str(file_get_contents("php://input"), $parameters['_delete']);
+ }
+ $name = $parameters['_route'];
+ // Check authentication and availability
+ if(self::isAuthorised(self::$actions[$name])) {
+ if(is_callable(self::$actions[$name]['action'])) {
+ $response = call_user_func(self::$actions[$name]['action'], $parameters);
+ if(!($response instanceof OC_OCS_Result)) {
+ $response = new OC_OCS_Result(null, 996, 'Internal Server Error');
+ }
+ } else {
+ $response = new OC_OCS_Result(null, 998, 'Api method not found');
+ }
+ } else {
+ header('WWW-Authenticate: Basic realm="Authorization Required"');
+ header('HTTP/1.0 401 Unauthorized');
+ $response = new OC_OCS_Result(null, 997, 'Unauthorised');
+ }
+ // Send the response
+ $formats = array('json', 'xml');
+ $format = !empty($_GET['format']) && in_array($_GET['format'], $formats) ? $_GET['format'] : 'xml';
+ self::respond($response, $format);
+ // logout the user to be stateless
+ OC_User::logout();
+ }
+
+ /**
+ * authenticate the api call
+ * @param array $action the action details as supplied to OC_API::register()
+ * @return bool
+ */
+ private static function isAuthorised($action) {
+ $level = $action['authlevel'];
+ switch($level) {
+ case OC_API::GUEST_AUTH:
+ // Anyone can access
+ return true;
+ break;
+ case OC_API::USER_AUTH:
+ // User required
+ return self::loginUser();
+ break;
+ case OC_API::SUBADMIN_AUTH:
+ // Check for subadmin
+ $user = self::loginUser();
+ if(!$user) {
+ return false;
+ } else {
+ $subAdmin = OC_SubAdmin::isSubAdmin($user);
+ if($subAdmin) {
+ return true;
+ } else {
+ return false;
+ }
+ }
+ break;
+ case OC_API::ADMIN_AUTH:
+ // Check for admin
+ $user = self::loginUser();
+ if(!$user) {
+ return false;
+ } else {
+ return OC_User::isAdminUser($user);
+ }
+ break;
+ default:
+ // oops looks like invalid level supplied
+ return false;
+ break;
+ }
+ }
+
+ /**
+ * http basic auth
+ * @return string|false (username, or false on failure)
+ */
+ private static function loginUser(){
+ $authUser = isset($_SERVER['PHP_AUTH_USER']) ? $_SERVER['PHP_AUTH_USER'] : '';
+ $authPw = isset($_SERVER['PHP_AUTH_PW']) ? $_SERVER['PHP_AUTH_PW'] : '';
+ return OC_User::login($authUser, $authPw) ? $authUser : false;
+ }
+
+ /**
+ * respond to a call
+ * @param int|array $result the result from the api method
+ * @param string $format the format xml|json
+ */
+ private static function respond($result, $format='xml') {
+ $response = array('ocs' => $result->getResult());
+ if ($format == 'json') {
+ OC_JSON::encodedPrint($response);
+ } else if ($format == 'xml') {
+ header('Content-type: text/xml; charset=UTF-8');
+ $writer = new XMLWriter();
+ $writer->openMemory();
+ $writer->setIndent( true );
+ $writer->startDocument();
+ self::toXML($response, $writer);
+ $writer->endDocument();
+ echo $writer->outputMemory(true);
+ }
+ }
+
+ private static function toXML($array, $writer) {
+ foreach($array as $k => $v) {
+ if (is_numeric($k)) {
+ $k = 'element';
+ }
+ if (is_array($v)) {
+ $writer->startElement($k);
+ self::toXML($v, $writer);
+ $writer->endElement();
+ } else {
+ $writer->writeElement($k, $v);
+ }
+ }
+ }
+
+}
diff --git a/lib/app.php b/lib/app.php
index be6d5ab3dd3..108226fc1a1 100755..100644
--- a/lib/app.php
+++ b/lib/app.php
@@ -63,17 +63,17 @@ class OC_App{
if (!defined('DEBUG') || !DEBUG) {
if (is_null($types)
- && empty(OC_Util::$core_scripts)
- && empty(OC_Util::$core_styles)) {
+ && empty(OC_Util::$core_scripts)
+ && empty(OC_Util::$core_styles)) {
OC_Util::$core_scripts = OC_Util::$scripts;
- OC_Util::$scripts = array();
- OC_Util::$core_styles = OC_Util::$styles;
- OC_Util::$styles = array();
- }
+ OC_Util::$scripts = array();
+ OC_Util::$core_styles = OC_Util::$styles;
+ OC_Util::$styles = array();
}
- // return
- return true;
}
+ // return
+ return true;
+}
/**
* load a single app
@@ -139,6 +139,20 @@ class OC_App{
}
/**
+ * check if app is shipped
+ * @param string $appid the id of the app to check
+ * @return bool
+ */
+ public static function isShipped($appid){
+ $info = self::getAppInfo($appid);
+ if(isset($info['shipped']) && $info['shipped']=='true'){
+ return true;
+ } else {
+ return false;
+ }
+ }
+
+ /**
* get all enabled apps
*/
public static function getEnabledApps() {
@@ -285,7 +299,7 @@ class OC_App{
if(OC_Config::getValue('knowledgebaseenabled', true)==true) {
$settings = array(
array( "id" => "help", "order" => 1000, "href" => OC_Helper::linkToRoute( "settings_help" ), "name" => $l->t("Help"), "icon" => OC_Helper::imagePath( "settings", "help.svg" ))
- );
+ );
}
// if the user is logged-in
@@ -299,14 +313,14 @@ class OC_App{
$settings[]=array( "id" => "settings", "order" => 1000, "href" => OC_Helper::linkToRoute( "settings_settings" ), "name" => $l->t("Settings"), "icon" => OC_Helper::imagePath( "settings", "settings.svg" ));
//SubAdmins are also allowed to access user management
- if(OC_SubAdmin::isSubAdmin($_SESSION["user_id"]) || OC_Group::inGroup( $_SESSION["user_id"], "admin" )) {
+ if(OC_SubAdmin::isSubAdmin(OC_User::getUser())) {
// admin users menu
$settings[] = array( "id" => "core_users", "order" => 2, "href" => OC_Helper::linkToRoute( "settings_users" ), "name" => $l->t("Users"), "icon" => OC_Helper::imagePath( "settings", "users.svg" ));
}
// if the user is an admin
- if(OC_Group::inGroup( $_SESSION["user_id"], "admin" )) {
+ if(OC_User::isAdminUser(OC_User::getUser())) {
// admin apps menu
$settings[] = array( "id" => "core_apps", "order" => 3, "href" => OC_Helper::linkToRoute( "settings_apps" ).'?installed', "name" => $l->t("Apps"), "icon" => OC_Helper::imagePath( "settings", "apps.svg" ));
@@ -505,16 +519,16 @@ class OC_App{
$forms=array();
switch($type) {
case 'settings':
- $source=self::$settingsForms;
- break;
+ $source=self::$settingsForms;
+ break;
case 'admin':
- $source=self::$adminForms;
- break;
+ $source=self::$adminForms;
+ break;
case 'personal':
- $source=self::$personalForms;
- break;
+ $source=self::$personalForms;
+ break;
default:
- return array();
+ return array();
}
foreach($source as $form) {
$forms[]=include $form;
@@ -575,6 +589,72 @@ class OC_App{
}
/**
+ * @brief: Lists all apps, this is used in apps.php
+ * @return array
+ */
+ public static function listAllApps() {
+ $installedApps = OC_App::getAllApps();
+
+ //TODO which apps do we want to blacklist and how do we integrate blacklisting with the multi apps folder feature?
+
+ $blacklist = array('files');//we dont want to show configuration for these
+ $appList = array();
+
+ foreach ( $installedApps as $app ) {
+ if ( array_search( $app, $blacklist ) === false ) {
+
+ $info=OC_App::getAppInfo($app);
+
+ if (!isset($info['name'])) {
+ OC_Log::write('core', 'App id "'.$app.'" has no name in appinfo', OC_Log::ERROR);
+ continue;
+ }
+
+ if ( OC_Appconfig::getValue( $app, 'enabled', 'no') == 'yes' ) {
+ $active = true;
+ } else {
+ $active = false;
+ }
+
+ $info['active'] = $active;
+
+ if(isset($info['shipped']) and ($info['shipped']=='true')) {
+ $info['internal']=true;
+ $info['internallabel']='Internal App';
+ } else {
+ $info['internal']=false;
+ $info['internallabel']='3rd Party App';
+ }
+
+ $info['preview'] = OC_Helper::imagePath('settings', 'trans.png');
+ $info['version'] = OC_App::getAppVersion($app);
+ $appList[] = $info;
+ }
+ }
+ $remoteApps = OC_App::getAppstoreApps();
+ if ( $remoteApps ) {
+ // Remove duplicates
+ foreach ( $appList as $app ) {
+ foreach ( $remoteApps AS $key => $remote ) {
+ if (
+ $app['name'] == $remote['name']
+ // To set duplicate detection to use OCS ID instead of string name,
+ // enable this code, remove the line of code above,
+ // and add <ocs_id>[ID]</ocs_id> to info.xml of each 3rd party app:
+ // OR $app['ocs_id'] == $remote['ocs_id']
+ ) {
+ unset( $remoteApps[$key]);
+ }
+ }
+ }
+ $combinedApps = array_merge( $appList, $remoteApps );
+ } else {
+ $combinedApps = $appList;
+ }
+ return $combinedApps;
+}
+
+ /**
* @brief: get a list of all apps on apps.owncloud.com
* @return array, multi-dimensional array of apps. Keys: id, name, type, typename, personid, license, detailpage, preview, changed, description
*/
@@ -634,12 +714,15 @@ class OC_App{
if ($currentVersion) {
$installedVersion = $versions[$app];
if (version_compare($currentVersion, $installedVersion, '>')) {
+ $info = self::getAppInfo($app);
OC_Log::write($app, 'starting app upgrade from '.$installedVersion.' to '.$currentVersion, OC_Log::DEBUG);
try {
OC_App::updateApp($app);
+ OC_Hook::emit('update', 'success', 'Updated '.$info['name'].' app');
}
catch (Exception $e) {
echo 'Failed to upgrade "'.$app.'". Exception="'.$e->getMessage().'"';
+ OC_Hook::emit('update', 'failure', 'Failed to update '.$info['name'].' app: '.$e->getMessage());
die;
}
OC_Appconfig::setValue($app, 'installed_version', OC_App::getAppVersion($app));
@@ -664,6 +747,7 @@ class OC_App{
if(!isset($info['require']) or (($version[0].'.'.$version[1])>$info['require'])) {
OC_Log::write('core', 'App "'.$info['name'].'" ('.$app.') can\'t be used because it is not compatible with this version of ownCloud', OC_Log::ERROR);
OC_App::disable( $app );
+ OC_Hook::emit('update', 'success', 'Disabled '.$info['name'].' app because it is not compatible');
}
}
}
@@ -730,7 +814,7 @@ class OC_App{
}
return new OC_FilesystemView('/'.OC_User::getUser().'/'.$appid);
}else{
- OC_Log::write('core', 'Can\'t get app storage, app, user not logged in', OC_Log::ERROR);
+ OC_Log::write('core', 'Can\'t get app storage, app '.$appid.', user not logged in', OC_Log::ERROR);
return false;
}
}else{
diff --git a/lib/backgroundjob.php b/lib/backgroundjob.php
index 28b5ce3af20..9619dcb732c 100644
--- a/lib/backgroundjob.php
+++ b/lib/backgroundjob.php
@@ -34,7 +34,7 @@ class OC_BackgroundJob{
public static function getExecutionType() {
return OC_Appconfig::getValue( 'core', 'backgroundjobs_mode', 'ajax' );
}
-
+
/**
* @brief sets the background jobs execution type
* @param $type execution type
diff --git a/lib/base.php b/lib/base.php
index 94fb7979620..aff3e1d5a11 100644
--- a/lib/base.php
+++ b/lib/base.php
@@ -29,729 +29,766 @@ require_once 'public/constants.php';
*/
class OC
{
- /**
- * Assoziative array for autoloading. classname => filename
- */
- public static $CLASSPATH = array();
- /**
- * The installation path for owncloud on the server (e.g. /srv/http/owncloud)
- */
- public static $SERVERROOT = '';
- /**
- * the current request path relative to the owncloud root (e.g. files/index.php)
- */
- private static $SUBURI = '';
- /**
- * the owncloud root path for http requests (e.g. owncloud/)
- */
- public static $WEBROOT = '';
- /**
- * The installation path of the 3rdparty folder on the server (e.g. /srv/http/owncloud/3rdparty)
- */
- public static $THIRDPARTYROOT = '';
- /**
- * the root path of the 3rdparty folder for http requests (e.g. owncloud/3rdparty)
- */
- public static $THIRDPARTYWEBROOT = '';
- /**
- * The installation path array of the apps folder on the server (e.g. /srv/http/owncloud) 'path' and
- * web path in 'url'
- */
- public static $APPSROOTS = array();
- /*
- * requested app
- */
- public static $REQUESTEDAPP = '';
- /*
- * requested file of app
- */
- public static $REQUESTEDFILE = '';
- /**
- * check if owncloud runs in cli mode
- */
- public static $CLI = false;
- /*
- * OC router
- */
- protected static $router = null;
-
- /**
- * SPL autoload
- */
- public static function autoload($className)
- {
- if (array_key_exists($className, OC::$CLASSPATH)) {
- $path = OC::$CLASSPATH[$className];
- /** @TODO: Remove this when necessary
- Remove "apps/" from inclusion path for smooth migration to mutli app dir
- */
- if (strpos($path, 'apps/') === 0) {
- OC_Log::write('core', 'include path for class "' . $className . '" starts with "apps/"', OC_Log::DEBUG);
- $path = str_replace('apps/', '', $path);
- }
- } elseif (strpos($className, 'OC_') === 0) {
- $path = strtolower(str_replace('_', '/', substr($className, 3)) . '.php');
- } elseif (strpos($className, 'OC\\') === 0) {
- $path = strtolower(str_replace('\\', '/', substr($className, 3)) . '.php');
- } elseif (strpos($className, 'OCP\\') === 0) {
- $path = 'public/' . strtolower(str_replace('\\', '/', substr($className, 3)) . '.php');
- } elseif (strpos($className, 'OCA\\') === 0) {
- $path = 'apps/' . strtolower(str_replace('\\', '/', substr($className, 3)) . '.php');
- } elseif (strpos($className, 'Sabre_') === 0) {
- $path = str_replace('_', '/', $className) . '.php';
- } elseif (strpos($className, 'Symfony\\Component\\Routing\\') === 0) {
- $path = 'symfony/routing/' . str_replace('\\', '/', $className) . '.php';
- } elseif (strpos($className, 'Sabre\\VObject') === 0) {
- $path = str_replace('\\', '/', $className) . '.php';
- } elseif (strpos($className, 'Test_') === 0) {
- $path = 'tests/lib/' . strtolower(str_replace('_', '/', substr($className, 5)) . '.php');
- } else {
- return false;
- }
-
- if ($fullPath = stream_resolve_include_path($path)) {
- require_once $fullPath;
- }
- return false;
- }
-
- public static function initPaths()
- {
- // calculate the root directories
- OC::$SERVERROOT = str_replace("\\", '/', substr(__DIR__, 0, -4));
- OC::$SUBURI = str_replace("\\", "/", substr(realpath($_SERVER["SCRIPT_FILENAME"]), strlen(OC::$SERVERROOT)));
- $scriptName = $_SERVER["SCRIPT_NAME"];
- if (substr($scriptName, -1) == '/') {
- $scriptName .= 'index.php';
- //make sure suburi follows the same rules as scriptName
- if (substr(OC::$SUBURI, -9) != 'index.php') {
- if (substr(OC::$SUBURI, -1) != '/') {
- OC::$SUBURI = OC::$SUBURI . '/';
- }
- OC::$SUBURI = OC::$SUBURI . 'index.php';
- }
- }
-
- OC::$WEBROOT = substr($scriptName, 0, strlen($scriptName) - strlen(OC::$SUBURI));
-
- if (OC::$WEBROOT != '' and OC::$WEBROOT[0] !== '/') {
- OC::$WEBROOT = '/' . OC::$WEBROOT;
- }
-
- // ensure we can find OC_Config
- set_include_path(
- OC::$SERVERROOT . '/lib' . PATH_SEPARATOR .
- get_include_path()
- );
-
- // search the 3rdparty folder
- if (OC_Config::getValue('3rdpartyroot', '') <> '' and OC_Config::getValue('3rdpartyurl', '') <> '') {
- OC::$THIRDPARTYROOT = OC_Config::getValue('3rdpartyroot', '');
- OC::$THIRDPARTYWEBROOT = OC_Config::getValue('3rdpartyurl', '');
- } elseif (file_exists(OC::$SERVERROOT . '/3rdparty')) {
- OC::$THIRDPARTYROOT = OC::$SERVERROOT;
- OC::$THIRDPARTYWEBROOT = OC::$WEBROOT;
- } elseif (file_exists(OC::$SERVERROOT . '/../3rdparty')) {
- OC::$THIRDPARTYWEBROOT = rtrim(dirname(OC::$WEBROOT), '/');
- OC::$THIRDPARTYROOT = rtrim(dirname(OC::$SERVERROOT), '/');
- } else {
- echo("3rdparty directory not found! Please put the ownCloud 3rdparty folder in the ownCloud folder or the folder above. You can also configure the location in the config.php file.");
- exit;
- }
- // search the apps folder
- $config_paths = OC_Config::getValue('apps_paths', array());
- if (!empty($config_paths)) {
- foreach ($config_paths as $paths) {
- if (isset($paths['url']) && isset($paths['path'])) {
- $paths['url'] = rtrim($paths['url'], '/');
- $paths['path'] = rtrim($paths['path'], '/');
- OC::$APPSROOTS[] = $paths;
- }
- }
- } elseif (file_exists(OC::$SERVERROOT . '/apps')) {
- OC::$APPSROOTS[] = array('path' => OC::$SERVERROOT . '/apps', 'url' => '/apps', 'writable' => true);
- } elseif (file_exists(OC::$SERVERROOT . '/../apps')) {
- OC::$APPSROOTS[] = array('path' => rtrim(dirname(OC::$SERVERROOT), '/') . '/apps', 'url' => '/apps', 'writable' => true);
- }
-
- if (empty(OC::$APPSROOTS)) {
- echo("apps directory not found! Please put the ownCloud apps folder in the ownCloud folder or the folder above. You can also configure the location in the config.php file.");
- exit;
- }
- $paths = array();
- foreach (OC::$APPSROOTS as $path)
- $paths[] = $path['path'];
-
- // set the right include path
- set_include_path(
- OC::$SERVERROOT . '/lib' . PATH_SEPARATOR .
- OC::$SERVERROOT . '/config' . PATH_SEPARATOR .
- OC::$THIRDPARTYROOT . '/3rdparty' . PATH_SEPARATOR .
- implode($paths, PATH_SEPARATOR) . PATH_SEPARATOR .
- get_include_path() . PATH_SEPARATOR .
- OC::$SERVERROOT
- );
- }
-
- public static function checkInstalled()
- {
- // Redirect to installer if not installed
- if (!OC_Config::getValue('installed', false) && OC::$SUBURI != '/index.php') {
- if (!OC::$CLI) {
- $url = 'http://' . $_SERVER['SERVER_NAME'] . OC::$WEBROOT . '/index.php';
- header("Location: $url");
- }
- exit();
- }
- }
-
- public static function checkSSL()
- {
- // redirect to https site if configured
- if (OC_Config::getValue("forcessl", false)) {
- header('Strict-Transport-Security: max-age=31536000');
- ini_set("session.cookie_secure", "on");
- if (OC_Request::serverProtocol() <> 'https' and !OC::$CLI) {
- $url = "https://" . OC_Request::serverHost() . $_SERVER['REQUEST_URI'];
- header("Location: $url");
- exit();
- }
- }
- }
-
- public static function checkUpgrade()
- {
- if (OC_Config::getValue('installed', false)) {
- $installedVersion = OC_Config::getValue('version', '0.0.0');
- $currentVersion = implode('.', OC_Util::getVersion());
- if (version_compare($currentVersion, $installedVersion, '>')) {
- // Check if the .htaccess is existing - this is needed for upgrades from really old ownCloud versions
- if (isset($_SERVER['SERVER_SOFTWARE']) && strstr($_SERVER['SERVER_SOFTWARE'], 'Apache')) {
- if (!OC_Util::ishtaccessworking()) {
- if (!file_exists(OC::$SERVERROOT . '/data/.htaccess')) {
- OC_Setup::protectDataDirectory();
- }
- }
- }
- OC_Log::write('core', 'starting upgrade from ' . $installedVersion . ' to ' . $currentVersion, OC_Log::DEBUG);
- $result = OC_DB::updateDbFromStructure(OC::$SERVERROOT . '/db_structure.xml');
- if (!$result) {
- echo 'Error while upgrading the database';
- die();
- }
- if (file_exists(OC::$SERVERROOT . "/config/config.php") and !is_writable(OC::$SERVERROOT . "/config/config.php")) {
- $tmpl = new OC_Template('', 'error', 'guest');
- $tmpl->assign('errors', array(1 => array('error' => "Can't write into config directory 'config'", 'hint' => "You can usually fix this by giving the webserver user write access to the config directory in owncloud")));
- $tmpl->printPage();
- exit;
- }
- $minimizerCSS = new OC_Minimizer_CSS();
- $minimizerCSS->clearCache();
- $minimizerJS = new OC_Minimizer_JS();
- $minimizerJS->clearCache();
- OC_Config::setValue('version', implode('.', OC_Util::getVersion()));
- OC_App::checkAppsRequirements();
- // load all apps to also upgrade enabled apps
- OC_App::loadApps();
- }
- }
- }
-
- public static function initTemplateEngine()
- {
- // Add the stuff we need always
- OC_Util::addScript("jquery-1.7.2.min");
- OC_Util::addScript("jquery-ui-1.8.16.custom.min");
- OC_Util::addScript("jquery-showpassword");
- OC_Util::addScript("jquery.infieldlabel");
- OC_Util::addScript("jquery-tipsy");
- OC_Util::addScript("oc-dialogs");
- OC_Util::addScript("js");
- OC_Util::addScript("eventsource");
- OC_Util::addScript("config");
- //OC_Util::addScript( "multiselect" );
- OC_Util::addScript('search', 'result');
- OC_Util::addScript('router');
-
- if (OC_Config::getValue('installed', false)) {
- if (OC_Appconfig::getValue('core', 'backgroundjobs_mode', 'ajax') == 'ajax') {
- OC_Util::addScript('backgroundjobs');
- }
- }
-
- OC_Util::addStyle("styles");
- OC_Util::addStyle("multiselect");
- OC_Util::addStyle("jquery-ui-1.8.16.custom");
- OC_Util::addStyle("jquery-tipsy");
- }
-
- public static function initSession()
- {
- // prevents javascript from accessing php session cookies
- ini_set('session.cookie_httponly', '1;');
-
- // set the session name to the instance id - which is unique
- session_name(OC_Util::getInstanceId());
-
- // (re)-initialize session
- session_start();
-
- // regenerate session id periodically to avoid session fixation
- if (!isset($_SESSION['SID_CREATED'])) {
- $_SESSION['SID_CREATED'] = time();
- } else if (time() - $_SESSION['SID_CREATED'] > 900) {
- session_regenerate_id(true);
- $_SESSION['SID_CREATED'] = time();
- }
-
- // session timeout
- if (isset($_SESSION['LAST_ACTIVITY']) && (time() - $_SESSION['LAST_ACTIVITY'] > 3600)) {
- if (isset($_COOKIE[session_name()])) {
- setcookie(session_name(), '', time() - 42000, '/');
- }
- session_unset();
- session_destroy();
- session_start();
- }
- $_SESSION['LAST_ACTIVITY'] = time();
- }
-
- public static function getRouter()
- {
- if (!isset(OC::$router)) {
- OC::$router = new OC_Router();
- OC::$router->loadRoutes();
- }
-
- return OC::$router;
- }
-
- public static function init()
- {
- // register autoloader
- spl_autoload_register(array('OC', 'autoload'));
- setlocale(LC_ALL, 'en_US.UTF-8');
-
- // set some stuff
- //ob_start();
- error_reporting(E_ALL | E_STRICT);
- if (defined('DEBUG') && DEBUG) {
- ini_set('display_errors', 1);
- }
- self::$CLI = (php_sapi_name() == 'cli');
-
- date_default_timezone_set('UTC');
- ini_set('arg_separator.output', '&amp;');
-
- // try to switch magic quotes off.
- if (get_magic_quotes_gpc()) {
- @set_magic_quotes_runtime(false);
- }
-
- //try to configure php to enable big file uploads.
- //this doesn´t work always depending on the webserver and php configuration.
- //Let´s try to overwrite some defaults anyways
-
- //try to set the maximum execution time to 60min
- @set_time_limit(3600);
- @ini_set('max_execution_time', 3600);
- @ini_set('max_input_time', 3600);
-
- //try to set the maximum filesize to 10G
- @ini_set('upload_max_filesize', '10G');
- @ini_set('post_max_size', '10G');
- @ini_set('file_uploads', '50');
-
- //try to set the session lifetime to 60min
- @ini_set('gc_maxlifetime', '3600');
-
- //copy http auth headers for apache+php-fcgid work around
- if (isset($_SERVER['HTTP_XAUTHORIZATION']) && !isset($_SERVER['HTTP_AUTHORIZATION'])) {
- $_SERVER['HTTP_AUTHORIZATION'] = $_SERVER['HTTP_XAUTHORIZATION'];
- }
-
- //set http auth headers for apache+php-cgi work around
- if (isset($_SERVER['HTTP_AUTHORIZATION']) && preg_match('/Basic\s+(.*)$/i', $_SERVER['HTTP_AUTHORIZATION'], $matches)) {
- list($name, $password) = explode(':', base64_decode($matches[1]), 2);
- $_SERVER['PHP_AUTH_USER'] = strip_tags($name);
- $_SERVER['PHP_AUTH_PW'] = strip_tags($password);
- }
-
- //set http auth headers for apache+php-cgi work around if variable gets renamed by apache
- if (isset($_SERVER['REDIRECT_HTTP_AUTHORIZATION']) && preg_match('/Basic\s+(.*)$/i', $_SERVER['REDIRECT_HTTP_AUTHORIZATION'], $matches)) {
- list($name, $password) = explode(':', base64_decode($matches[1]), 2);
- $_SERVER['PHP_AUTH_USER'] = strip_tags($name);
- $_SERVER['PHP_AUTH_PW'] = strip_tags($password);
- }
-
- self::initPaths();
-
- register_shutdown_function(array('OC_Log', 'onShutdown'));
- set_error_handler(array('OC_Log', 'onError'));
- set_exception_handler(array('OC_Log', 'onException'));
-
- // set debug mode if an xdebug session is active
- if (!defined('DEBUG') || !DEBUG) {
- if (isset($_COOKIE['XDEBUG_SESSION'])) {
- define('DEBUG', true);
- }
- }
-
- // register the stream wrappers
- require_once 'streamwrappers.php';
- stream_wrapper_register("fakedir", "OC_FakeDirStream");
- stream_wrapper_register('static', 'OC_StaticStreamWrapper');
- stream_wrapper_register('close', 'OC_CloseStreamWrapper');
-
- self::checkInstalled();
- self::checkSSL();
- self::initSession();
- self::initTemplateEngine();
- self::checkUpgrade();
-
- $errors = OC_Util::checkServer();
- if (count($errors) > 0) {
- OC_Template::printGuestPage('', 'error', array('errors' => $errors));
- exit;
- }
-
- // User and Groups
- if (!OC_Config::getValue("installed", false)) {
- $_SESSION['user_id'] = '';
- }
-
- OC_User::useBackend(new OC_User_Database());
- OC_Group::useBackend(new OC_Group_Database());
-
- if (isset($_SERVER['PHP_AUTH_USER']) && isset($_SESSION['user_id']) && $_SERVER['PHP_AUTH_USER'] != $_SESSION['user_id']) {
- OC_User::logout();
- }
-
- // Load Apps
- // This includes plugins for users and filesystems as well
- global $RUNTIME_NOAPPS;
- global $RUNTIME_APPTYPES;
- if (!$RUNTIME_NOAPPS) {
- if ($RUNTIME_APPTYPES) {
- OC_App::loadApps($RUNTIME_APPTYPES);
- } else {
- OC_App::loadApps();
- }
- }
-
- //setup extra user backends
- OC_User::setupBackends();
-
- self::registerCacheHooks();
- self::registerFilesystemHooks();
- self::registerShareHooks();
-
- //make sure temporary files are cleaned up
- register_shutdown_function(array('OC_Helper', 'cleanTmp'));
-
- //parse the given parameters
- self::$REQUESTEDAPP = (isset($_GET['app']) && trim($_GET['app']) != '' && !is_null($_GET['app']) ? str_replace(array('\0', '/', '\\', '..'), '', strip_tags($_GET['app'])) : OC_Config::getValue('defaultapp', 'files'));
- if (substr_count(self::$REQUESTEDAPP, '?') != 0) {
- $app = substr(self::$REQUESTEDAPP, 0, strpos(self::$REQUESTEDAPP, '?'));
- $param = substr($_GET['app'], strpos($_GET['app'], '?') + 1);
- parse_str($param, $get);
- $_GET = array_merge($_GET, $get);
- self::$REQUESTEDAPP = $app;
- $_GET['app'] = $app;
- }
- self::$REQUESTEDFILE = (isset($_GET['getfile']) ? $_GET['getfile'] : null);
- if (substr_count(self::$REQUESTEDFILE, '?') != 0) {
- $file = substr(self::$REQUESTEDFILE, 0, strpos(self::$REQUESTEDFILE, '?'));
- $param = substr(self::$REQUESTEDFILE, strpos(self::$REQUESTEDFILE, '?') + 1);
- parse_str($param, $get);
- $_GET = array_merge($_GET, $get);
- self::$REQUESTEDFILE = $file;
- $_GET['getfile'] = $file;
- }
- if (!is_null(self::$REQUESTEDFILE)) {
- $subdir = OC_App::getAppPath(OC::$REQUESTEDAPP) . '/' . self::$REQUESTEDFILE;
- $parent = OC_App::getAppPath(OC::$REQUESTEDAPP);
- if (!OC_Helper::issubdirectory($subdir, $parent)) {
- self::$REQUESTEDFILE = null;
- header('HTTP/1.0 404 Not Found');
- exit;
- }
- }
-
- // write error into log if locale can't be set
- if (OC_Util::issetlocaleworking() == false) {
- OC_Log::write('core', 'setting locate to en_US.UTF-8 failed. Support is probably not installed on your system', OC_Log::ERROR);
- }
- }
-
- /**
- * register hooks for the cache
- */
- public static function registerCacheHooks()
- {
- // register cache cleanup jobs
- OC_BackgroundJob_RegularTask::register('OC_Cache_FileGlobal', 'gc');
- OC_Hook::connect('OC_User', 'post_login', 'OC_Cache_File', 'loginListener');
- }
-
- /**
- * register hooks for the filesystem
- */
- public static function registerFilesystemHooks()
- {
- // Check for blacklisted files
- OC_Hook::connect('OC_Filesystem', 'write', 'OC_Filesystem', 'isBlacklisted');
- OC_Hook::connect('OC_Filesystem', 'rename', 'OC_Filesystem', 'isBlacklisted');
- }
-
- /**
- * register hooks for sharing
- */
- public static function registerShareHooks()
- {
- OC_Hook::connect('OC_User', 'post_deleteUser', 'OCP\Share', 'post_deleteUser');
- OC_Hook::connect('OC_User', 'post_addToGroup', 'OCP\Share', 'post_addToGroup');
- OC_Hook::connect('OC_User', 'post_removeFromGroup', 'OCP\Share', 'post_removeFromGroup');
- OC_Hook::connect('OC_User', 'post_deleteGroup', 'OCP\Share', 'post_deleteGroup');
- }
-
- /**
- * @brief Handle the request
- */
- public static function handleRequest()
- {
- if (!OC_Config::getValue('installed', false)) {
- require_once 'core/setup.php';
- exit();
- }
- // Handle redirect URL for logged in users
- if (isset($_REQUEST['redirect_url']) && OC_User::isLoggedIn()) {
- $location = OC_Helper::makeURLAbsolute(urldecode($_REQUEST['redirect_url']));
- header('Location: ' . $location);
- return;
- }
- // Handle WebDAV
- if ($_SERVER['REQUEST_METHOD'] == 'PROPFIND') {
- header('location: ' . OC_Helper::linkToRemote('webdav'));
- return;
- }
- try {
- OC::getRouter()->match(OC_Request::getPathInfo());
- return;
- } catch (Symfony\Component\Routing\Exception\ResourceNotFoundException $e) {
- //header('HTTP/1.0 404 Not Found');
- } catch (Symfony\Component\Routing\Exception\MethodNotAllowedException $e) {
- OC_Response::setStatus(405);
- return;
- }
- $app = OC::$REQUESTEDAPP;
- $file = OC::$REQUESTEDFILE;
- $param = array('app' => $app, 'file' => $file);
- // Handle app css files
- if (substr($file, -3) == 'css') {
- self::loadCSSFile($param);
- return;
- }
- // Someone is logged in :
- if (OC_User::isLoggedIn()) {
- OC_App::loadApps();
- OC_User::setupBackends();
- if (isset($_GET["logout"]) and ($_GET["logout"])) {
- OC_Preferences::deleteKey(OC_User::getUser(), 'login_token', $_COOKIE['oc_token']);
- OC_User::logout();
- header("Location: " . OC::$WEBROOT . '/');
- } else {
- if (is_null($file)) {
- $param['file'] = 'index.php';
- }
- $file_ext = substr($param['file'], -3);
- if ($file_ext != 'php'
- || !self::loadAppScriptFile($param)
- ) {
- header('HTTP/1.0 404 Not Found');
- }
- }
- return;
- }
- // Not handled and not logged in
- self::handleLogin();
- }
-
- public static function loadAppScriptFile($param)
- {
- OC_App::loadApps();
- $app = $param['app'];
- $file = $param['file'];
- $app_path = OC_App::getAppPath($app);
- $file = $app_path . '/' . $file;
- unset($app, $app_path);
- if (file_exists($file)) {
- require_once $file;
- return true;
- }
- return false;
- }
-
- public static function loadCSSFile($param)
- {
- $app = $param['app'];
- $file = $param['file'];
- $app_path = OC_App::getAppPath($app);
- if (file_exists($app_path . '/' . $file)) {
- $app_web_path = OC_App::getAppWebPath($app);
- $filepath = $app_web_path . '/' . $file;
- $minimizer = new OC_Minimizer_CSS();
- $info = array($app_path, $app_web_path, $file);
- $minimizer->output(array($info), $filepath);
- }
- }
-
- protected static function handleLogin()
- {
- OC_App::loadApps(array('prelogin'));
- $error = array();
- // remember was checked after last login
- if (OC::tryRememberLogin()) {
- $error[] = 'invalidcookie';
-
- // Someone wants to log in :
- } elseif (OC::tryFormLogin()) {
- $error[] = 'invalidpassword';
-
- // The user is already authenticated using Apaches AuthType Basic... very usable in combination with LDAP
- } elseif (OC::tryBasicAuthLogin()) {
- $error[] = 'invalidpassword';
- }
- OC_Util::displayLoginPage(array_unique($error));
- }
-
- protected static function cleanupLoginTokens($user)
- {
- $cutoff = time() - OC_Config::getValue('remember_login_cookie_lifetime', 60 * 60 * 24 * 15);
- $tokens = OC_Preferences::getKeys($user, 'login_token');
- foreach ($tokens as $token) {
- $time = OC_Preferences::getValue($user, 'login_token', $token);
- if ($time < $cutoff) {
- OC_Preferences::deleteKey($user, 'login_token', $token);
- }
- }
- }
-
- protected static function tryRememberLogin()
- {
- if (!isset($_COOKIE["oc_remember_login"])
- || !isset($_COOKIE["oc_token"])
- || !isset($_COOKIE["oc_username"])
- || !$_COOKIE["oc_remember_login"]
- ) {
- return false;
- }
- OC_App::loadApps(array('authentication'));
- if (defined("DEBUG") && DEBUG) {
- OC_Log::write('core', 'Trying to login from cookie', OC_Log::DEBUG);
- }
- // confirm credentials in cookie
- if (isset($_COOKIE['oc_token']) && OC_User::userExists($_COOKIE['oc_username'])) {
- // delete outdated cookies
- self::cleanupLoginTokens($_COOKIE['oc_username']);
- // get stored tokens
- $tokens = OC_Preferences::getKeys($_COOKIE['oc_username'], 'login_token');
- // test cookies token against stored tokens
- 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);
- OC_Preferences::setValue($_COOKIE['oc_username'], 'login_token', $token, time());
- OC_User::setMagicInCookie($_COOKIE['oc_username'], $token);
- // login
- OC_User::setUserId($_COOKIE['oc_username']);
- OC_Util::redirectToDefaultPage();
- // doesn't return
- }
- // if you reach this point you have changed your password
- // or you are an attacker
- // we can not delete tokens here because users may reach
- // this point multiple times after a password change
- OC_Log::write('core', 'Authentication cookie rejected for user ' . $_COOKIE['oc_username'], OC_Log::WARN);
- }
- OC_User::unsetMagicInCookie();
- return true;
- }
-
- protected static function tryFormLogin()
- {
- if (!isset($_POST["user"]) || !isset($_POST['password'])) {
- return false;
- }
-
- OC_App::loadApps();
-
- //setup extra user backends
- OC_User::setupBackends();
-
- if (OC_User::login($_POST["user"], $_POST["password"])) {
- // setting up the time zone
- if (isset($_POST['timezone-offset'])) {
- $_SESSION['timezone'] = $_POST['timezone-offset'];
- }
-
- self::cleanupLoginTokens($_POST['user']);
- if (!empty($_POST["remember_login"])) {
- if (defined("DEBUG") && DEBUG) {
- OC_Log::write('core', 'Setting remember login to cookie', OC_Log::DEBUG);
- }
- $token = OC_Util::generate_random_bytes(32);
- OC_Preferences::setValue($_POST['user'], 'login_token', $token, time());
- OC_User::setMagicInCookie($_POST["user"], $token);
- } else {
- OC_User::unsetMagicInCookie();
- }
- OC_Util::redirectToDefaultPage();
- exit();
- }
- return true;
- }
-
- protected static function tryBasicAuthLogin()
- {
- if (!isset($_SERVER["PHP_AUTH_USER"])
- || !isset($_SERVER["PHP_AUTH_PW"])
- ) {
- return false;
- }
- OC_App::loadApps(array('authentication'));
- if (OC_User::login($_SERVER["PHP_AUTH_USER"], $_SERVER["PHP_AUTH_PW"])) {
- //OC_Log::write('core',"Logged in with HTTP Authentication", OC_Log::DEBUG);
- OC_User::unsetMagicInCookie();
- $_REQUEST['redirect_url'] = (isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : '');
- OC_Util::redirectToDefaultPage();
- }
- return true;
- }
+ /**
+ * Associative array for autoloading. classname => filename
+ */
+ public static $CLASSPATH = array();
+ /**
+ * The installation path for owncloud on the server (e.g. /srv/http/owncloud)
+ */
+ public static $SERVERROOT = '';
+ /**
+ * the current request path relative to the owncloud root (e.g. files/index.php)
+ */
+ private static $SUBURI = '';
+ /**
+ * the owncloud root path for http requests (e.g. owncloud/)
+ */
+ public static $WEBROOT = '';
+ /**
+ * The installation path of the 3rdparty folder on the server (e.g. /srv/http/owncloud/3rdparty)
+ */
+ public static $THIRDPARTYROOT = '';
+ /**
+ * the root path of the 3rdparty folder for http requests (e.g. owncloud/3rdparty)
+ */
+ public static $THIRDPARTYWEBROOT = '';
+ /**
+ * The installation path array of the apps folder on the server (e.g. /srv/http/owncloud) 'path' and
+ * web path in 'url'
+ */
+ public static $APPSROOTS = array();
+ /*
+ * requested app
+ */
+ public static $REQUESTEDAPP = '';
+ /*
+ * requested file of app
+ */
+ public static $REQUESTEDFILE = '';
+ /**
+ * check if owncloud runs in cli mode
+ */
+ public static $CLI = false;
+ /*
+ * OC router
+ */
+ protected static $router = null;
+
+ /**
+ * SPL autoload
+ */
+ public static function autoload($className)
+ {
+ if (array_key_exists($className, OC::$CLASSPATH)) {
+ $path = OC::$CLASSPATH[$className];
+ /** @TODO: Remove this when necessary
+ Remove "apps/" from inclusion path for smooth migration to mutli app dir
+ */
+ if (strpos($path, 'apps/') === 0) {
+ OC_Log::write('core', 'include path for class "' . $className . '" starts with "apps/"', OC_Log::DEBUG);
+ $path = str_replace('apps/', '', $path);
+ }
+ } elseif (strpos($className, 'OC_') === 0) {
+ $path = strtolower(str_replace('_', '/', substr($className, 3)) . '.php');
+ } elseif (strpos($className, 'OC\\') === 0) {
+ $path = strtolower(str_replace('\\', '/', substr($className, 3)) . '.php');
+ } elseif (strpos($className, 'OCP\\') === 0) {
+ $path = 'public/' . strtolower(str_replace('\\', '/', substr($className, 3)) . '.php');
+ } elseif (strpos($className, 'OCA\\') === 0) {
+ foreach(self::$APPSROOTS as $appDir) {
+ $path = $appDir['path'] . '/' . strtolower(str_replace('\\', '/', substr($className, 3)) . '.php');
+ $fullPath = stream_resolve_include_path($path);
+ if (file_exists($fullPath)) {
+ require_once $fullPath;
+ return false;
+ }
+ }
+ } elseif (strpos($className, 'Sabre_') === 0) {
+ $path = str_replace('_', '/', $className) . '.php';
+ } elseif (strpos($className, 'Symfony\\Component\\Routing\\') === 0) {
+ $path = 'symfony/routing/' . str_replace('\\', '/', $className) . '.php';
+ } elseif (strpos($className, 'Sabre\\VObject') === 0) {
+ $path = str_replace('\\', '/', $className) . '.php';
+ } elseif (strpos($className, 'Test_') === 0) {
+ $path = 'tests/lib/' . strtolower(str_replace('_', '/', substr($className, 5)) . '.php');
+ } else {
+ return false;
+ }
+
+ if ($fullPath = stream_resolve_include_path($path)) {
+ require_once $fullPath;
+ }
+ return false;
+ }
+
+ public static function initPaths()
+ {
+ // calculate the root directories
+ OC::$SERVERROOT = str_replace("\\", '/', substr(__DIR__, 0, -4));
+ OC::$SUBURI = str_replace("\\", "/", substr(realpath($_SERVER["SCRIPT_FILENAME"]), strlen(OC::$SERVERROOT)));
+ $scriptName = $_SERVER["SCRIPT_NAME"];
+ if (substr($scriptName, -1) == '/') {
+ $scriptName .= 'index.php';
+ //make sure suburi follows the same rules as scriptName
+ if (substr(OC::$SUBURI, -9) != 'index.php') {
+ if (substr(OC::$SUBURI, -1) != '/') {
+ OC::$SUBURI = OC::$SUBURI . '/';
+ }
+ OC::$SUBURI = OC::$SUBURI . 'index.php';
+ }
+ }
+
+ OC::$WEBROOT = substr($scriptName, 0, strlen($scriptName) - strlen(OC::$SUBURI));
+
+ if (OC::$WEBROOT != '' and OC::$WEBROOT[0] !== '/') {
+ OC::$WEBROOT = '/' . OC::$WEBROOT;
+ }
+
+ // ensure we can find OC_Config
+ set_include_path(
+ OC::$SERVERROOT . '/lib' . PATH_SEPARATOR .
+ get_include_path()
+ );
+
+ // search the 3rdparty folder
+ if (OC_Config::getValue('3rdpartyroot', '') <> '' and OC_Config::getValue('3rdpartyurl', '') <> '') {
+ OC::$THIRDPARTYROOT = OC_Config::getValue('3rdpartyroot', '');
+ OC::$THIRDPARTYWEBROOT = OC_Config::getValue('3rdpartyurl', '');
+ } elseif (file_exists(OC::$SERVERROOT . '/3rdparty')) {
+ OC::$THIRDPARTYROOT = OC::$SERVERROOT;
+ OC::$THIRDPARTYWEBROOT = OC::$WEBROOT;
+ } elseif (file_exists(OC::$SERVERROOT . '/../3rdparty')) {
+ OC::$THIRDPARTYWEBROOT = rtrim(dirname(OC::$WEBROOT), '/');
+ OC::$THIRDPARTYROOT = rtrim(dirname(OC::$SERVERROOT), '/');
+ } else {
+ echo("3rdparty directory not found! Please put the ownCloud 3rdparty folder in the ownCloud folder or the folder above. You can also configure the location in the config.php file.");
+ exit;
+ }
+ // search the apps folder
+ $config_paths = OC_Config::getValue('apps_paths', array());
+ if (!empty($config_paths)) {
+ foreach ($config_paths as $paths) {
+ if (isset($paths['url']) && isset($paths['path'])) {
+ $paths['url'] = rtrim($paths['url'], '/');
+ $paths['path'] = rtrim($paths['path'], '/');
+ OC::$APPSROOTS[] = $paths;
+ }
+ }
+ } elseif (file_exists(OC::$SERVERROOT . '/apps')) {
+ OC::$APPSROOTS[] = array('path' => OC::$SERVERROOT . '/apps', 'url' => '/apps', 'writable' => true);
+ } elseif (file_exists(OC::$SERVERROOT . '/../apps')) {
+ OC::$APPSROOTS[] = array('path' => rtrim(dirname(OC::$SERVERROOT), '/') . '/apps', 'url' => '/apps', 'writable' => true);
+ }
+
+ if (empty(OC::$APPSROOTS)) {
+ echo("apps directory not found! Please put the ownCloud apps folder in the ownCloud folder or the folder above. You can also configure the location in the config.php file.");
+ exit;
+ }
+ $paths = array();
+ foreach (OC::$APPSROOTS as $path)
+ $paths[] = $path['path'];
+
+ // set the right include path
+ set_include_path(
+ OC::$SERVERROOT . '/lib' . PATH_SEPARATOR .
+ OC::$SERVERROOT . '/config' . PATH_SEPARATOR .
+ OC::$THIRDPARTYROOT . '/3rdparty' . PATH_SEPARATOR .
+ implode($paths, PATH_SEPARATOR) . PATH_SEPARATOR .
+ get_include_path() . PATH_SEPARATOR .
+ OC::$SERVERROOT
+ );
+ }
+
+ public static function checkConfig() {
+ if (file_exists(OC::$SERVERROOT . "/config/config.php") and !is_writable(OC::$SERVERROOT . "/config/config.php")) {
+ $tmpl = new OC_Template('', 'error', 'guest');
+ $tmpl->assign('errors', array(1 => array('error' => "Can't write into config directory 'config'", 'hint' => "You can usually fix this by giving the webserver user write access to the config directory in owncloud")));
+ $tmpl->printPage();
+ exit();
+ }
+ }
+
+ public static function checkInstalled()
+ {
+ // Redirect to installer if not installed
+ if (!OC_Config::getValue('installed', false) && OC::$SUBURI != '/index.php') {
+ if (!OC::$CLI) {
+ $url = 'http://' . $_SERVER['SERVER_NAME'] . OC::$WEBROOT . '/index.php';
+ header("Location: $url");
+ }
+ exit();
+ }
+ }
+
+ public static function checkSSL()
+ {
+ // redirect to https site if configured
+ if (OC_Config::getValue("forcessl", false)) {
+ header('Strict-Transport-Security: max-age=31536000');
+ ini_set("session.cookie_secure", "on");
+ if (OC_Request::serverProtocol() <> 'https' and !OC::$CLI) {
+ $url = "https://" . OC_Request::serverHost() . $_SERVER['REQUEST_URI'];
+ header("Location: $url");
+ exit();
+ }
+ }
+ }
+
+ public static function checkMaintenanceMode() {
+ // Allow ajax update script to execute without being stopped
+ if (OC_Config::getValue('maintenance', false) && OC::$SUBURI != '/core/ajax/update.php') {
+ // send http status 503
+ header('HTTP/1.1 503 Service Temporarily Unavailable');
+ header('Status: 503 Service Temporarily Unavailable');
+ header('Retry-After: 120');
+
+ // render error page
+ $tmpl = new OC_Template('', 'error', 'guest');
+ $tmpl->assign('errors', array(1 => array('error' => 'ownCloud is in maintenance mode')));
+ $tmpl->printPage();
+ exit();
+ }
+ }
+
+ public static function checkUpgrade($showTemplate = true) {
+ if (OC_Config::getValue('installed', false)) {
+ $installedVersion = OC_Config::getValue('version', '0.0.0');
+ $currentVersion = implode('.', OC_Util::getVersion());
+ if (version_compare($currentVersion, $installedVersion, '>')) {
+ if ($showTemplate && !OC_Config::getValue('maintenance', false)) {
+ OC_Config::setValue('maintenance', true);
+ OC_Log::write('core', 'starting upgrade from ' . $installedVersion . ' to ' . $currentVersion, OC_Log::DEBUG);
+ $tmpl = new OC_Template('', 'update', 'guest');
+ $tmpl->assign('version', OC_Util::getVersionString());
+ $tmpl->printPage();
+ exit();
+ } else {
+ return true;
+ }
+ }
+ return false;
+ }
+ }
+
+ public static function initTemplateEngine()
+ {
+ // Add the stuff we need always
+ OC_Util::addScript("jquery-1.7.2.min");
+ OC_Util::addScript("jquery-ui-1.10.0.custom");
+ OC_Util::addScript("jquery-showpassword");
+ OC_Util::addScript("jquery.infieldlabel");
+ OC_Util::addScript("jquery-tipsy");
+ OC_Util::addScript("oc-dialogs");
+ OC_Util::addScript("js");
+ OC_Util::addScript("eventsource");
+ OC_Util::addScript("config");
+ //OC_Util::addScript( "multiselect" );
+ OC_Util::addScript('search', 'result');
+ OC_Util::addScript('router');
+
+ OC_Util::addStyle("styles");
+ OC_Util::addStyle("multiselect");
+ OC_Util::addStyle("jquery-ui-1.10.0.custom");
+ OC_Util::addStyle("jquery-tipsy");
+ OC_Util::addScript("oc-requesttoken");
+ }
+
+ public static function initSession()
+ {
+ // prevents javascript from accessing php session cookies
+ ini_set('session.cookie_httponly', '1;');
+
+ // set the session name to the instance id - which is unique
+ session_name(OC_Util::getInstanceId());
+
+ // (re)-initialize session
+ session_start();
+
+ // regenerate session id periodically to avoid session fixation
+ if (!isset($_SESSION['SID_CREATED'])) {
+ $_SESSION['SID_CREATED'] = time();
+ } else if (time() - $_SESSION['SID_CREATED'] > 900) {
+ session_regenerate_id(true);
+ $_SESSION['SID_CREATED'] = time();
+ }
+
+ // session timeout
+ if (isset($_SESSION['LAST_ACTIVITY']) && (time() - $_SESSION['LAST_ACTIVITY'] > 3600)) {
+ if (isset($_COOKIE[session_name()])) {
+ setcookie(session_name(), '', time() - 42000, '/');
+ }
+ session_unset();
+ session_destroy();
+ session_start();
+ }
+ $_SESSION['LAST_ACTIVITY'] = time();
+ }
+
+ public static function getRouter()
+ {
+ if (!isset(OC::$router)) {
+ OC::$router = new OC_Router();
+ OC::$router->loadRoutes();
+ }
+
+ return OC::$router;
+ }
+
+
+ public static function loadAppClassPaths()
+ {
+ foreach(OC_APP::getEnabledApps() as $app) {
+ $file = OC_App::getAppPath($app).'/appinfo/classpath.php';
+ if(file_exists($file)) {
+ require_once $file;
+ }
+ }
+ }
+
+
+ public static function init()
+ {
+ // register autoloader
+ spl_autoload_register(array('OC', 'autoload'));
+ setlocale(LC_ALL, 'en_US.UTF-8');
+
+ // set some stuff
+ //ob_start();
+ error_reporting(E_ALL | E_STRICT);
+ if (defined('DEBUG') && DEBUG) {
+ ini_set('display_errors', 1);
+ }
+ self::$CLI = (php_sapi_name() == 'cli');
+
+ date_default_timezone_set('UTC');
+ ini_set('arg_separator.output', '&amp;');
+
+ // try to switch magic quotes off.
+ if (get_magic_quotes_gpc()) {
+ @set_magic_quotes_runtime(false);
+ }
+
+ //try to configure php to enable big file uploads.
+ //this doesn´t work always depending on the webserver and php configuration.
+ //Let´s try to overwrite some defaults anyways
+
+ //try to set the maximum execution time to 60min
+ @set_time_limit(3600);
+ @ini_set('max_execution_time', 3600);
+ @ini_set('max_input_time', 3600);
+
+ //try to set the maximum filesize to 10G
+ @ini_set('upload_max_filesize', '10G');
+ @ini_set('post_max_size', '10G');
+ @ini_set('file_uploads', '50');
+
+ //try to set the session lifetime to 60min
+ @ini_set('gc_maxlifetime', '3600');
+
+ //copy http auth headers for apache+php-fcgid work around
+ if (isset($_SERVER['HTTP_XAUTHORIZATION']) && !isset($_SERVER['HTTP_AUTHORIZATION'])) {
+ $_SERVER['HTTP_AUTHORIZATION'] = $_SERVER['HTTP_XAUTHORIZATION'];
+ }
+
+ //set http auth headers for apache+php-cgi work around
+ if (isset($_SERVER['HTTP_AUTHORIZATION']) && preg_match('/Basic\s+(.*)$/i', $_SERVER['HTTP_AUTHORIZATION'], $matches)) {
+ list($name, $password) = explode(':', base64_decode($matches[1]), 2);
+ $_SERVER['PHP_AUTH_USER'] = strip_tags($name);
+ $_SERVER['PHP_AUTH_PW'] = strip_tags($password);
+ }
+
+ //set http auth headers for apache+php-cgi work around if variable gets renamed by apache
+ if (isset($_SERVER['REDIRECT_HTTP_AUTHORIZATION']) && preg_match('/Basic\s+(.*)$/i', $_SERVER['REDIRECT_HTTP_AUTHORIZATION'], $matches)) {
+ list($name, $password) = explode(':', base64_decode($matches[1]), 2);
+ $_SERVER['PHP_AUTH_USER'] = strip_tags($name);
+ $_SERVER['PHP_AUTH_PW'] = strip_tags($password);
+ }
+
+ self::initPaths();
+
+ register_shutdown_function(array('OC_Log', 'onShutdown'));
+ set_error_handler(array('OC_Log', 'onError'));
+ set_exception_handler(array('OC_Log', 'onException'));
+
+ // set debug mode if an xdebug session is active
+ if (!defined('DEBUG') || !DEBUG) {
+ if (isset($_COOKIE['XDEBUG_SESSION'])) {
+ define('DEBUG', true);
+ }
+ }
+
+ // register the stream wrappers
+ require_once 'streamwrappers.php';
+ stream_wrapper_register("fakedir", "OC_FakeDirStream");
+ stream_wrapper_register('static', 'OC_StaticStreamWrapper');
+ stream_wrapper_register('close', 'OC_CloseStreamWrapper');
+
+ self::checkConfig();
+ self::checkInstalled();
+ self::checkSSL();
+ self::initSession();
+ self::initTemplateEngine();
+ self::checkMaintenanceMode();
+ self::checkUpgrade();
+
+ $errors = OC_Util::checkServer();
+ if (count($errors) > 0) {
+ OC_Template::printGuestPage('', 'error', array('errors' => $errors));
+ exit;
+ }
+
+ // User and Groups
+ if (!OC_Config::getValue("installed", false)) {
+ $_SESSION['user_id'] = '';
+ }
+
+ OC_User::useBackend(new OC_User_Database());
+ OC_Group::useBackend(new OC_Group_Database());
+
+ if (isset($_SERVER['PHP_AUTH_USER']) && isset($_SESSION['user_id']) && $_SERVER['PHP_AUTH_USER'] != $_SESSION['user_id']) {
+ OC_User::logout();
+ }
+
+ // Load Apps
+ // This includes plugins for users and filesystems as well
+ global $RUNTIME_NOAPPS;
+ global $RUNTIME_APPTYPES;
+ if (!$RUNTIME_NOAPPS) {
+ if ($RUNTIME_APPTYPES) {
+ OC_App::loadApps($RUNTIME_APPTYPES);
+ } else {
+ OC_App::loadApps();
+ }
+ }
+
+ //setup extra user backends
+ OC_User::setupBackends();
+
+ self::registerCacheHooks();
+ self::registerFilesystemHooks();
+ self::registerShareHooks();
+
+ //make sure temporary files are cleaned up
+ register_shutdown_function(array('OC_Helper', 'cleanTmp'));
+
+ //parse the given parameters
+ self::$REQUESTEDAPP = (isset($_GET['app']) && trim($_GET['app']) != '' && !is_null($_GET['app']) ? str_replace(array('\0', '/', '\\', '..'), '', strip_tags($_GET['app'])) : OC_Config::getValue('defaultapp', 'files'));
+ if (substr_count(self::$REQUESTEDAPP, '?') != 0) {
+ $app = substr(self::$REQUESTEDAPP, 0, strpos(self::$REQUESTEDAPP, '?'));
+ $param = substr($_GET['app'], strpos($_GET['app'], '?') + 1);
+ parse_str($param, $get);
+ $_GET = array_merge($_GET, $get);
+ self::$REQUESTEDAPP = $app;
+ $_GET['app'] = $app;
+ }
+ self::$REQUESTEDFILE = (isset($_GET['getfile']) ? $_GET['getfile'] : null);
+ if (substr_count(self::$REQUESTEDFILE, '?') != 0) {
+ $file = substr(self::$REQUESTEDFILE, 0, strpos(self::$REQUESTEDFILE, '?'));
+ $param = substr(self::$REQUESTEDFILE, strpos(self::$REQUESTEDFILE, '?') + 1);
+ parse_str($param, $get);
+ $_GET = array_merge($_GET, $get);
+ self::$REQUESTEDFILE = $file;
+ $_GET['getfile'] = $file;
+ }
+ if (!is_null(self::$REQUESTEDFILE)) {
+ $subdir = OC_App::getAppPath(OC::$REQUESTEDAPP) . '/' . self::$REQUESTEDFILE;
+ $parent = OC_App::getAppPath(OC::$REQUESTEDAPP);
+ if (!OC_Helper::issubdirectory($subdir, $parent)) {
+ self::$REQUESTEDFILE = null;
+ header('HTTP/1.0 404 Not Found');
+ exit;
+ }
+ }
+
+ // write error into log if locale can't be set
+ if (OC_Util::issetlocaleworking() == false) {
+ OC_Log::write('core', 'setting locate to en_US.UTF-8 failed. Support is probably not installed on your system', OC_Log::ERROR);
+ }
+ if (OC_Config::getValue('installed', false)) {
+ if (OC_Appconfig::getValue('core', 'backgroundjobs_mode', 'ajax') == 'ajax') {
+ OC_Util::addScript('backgroundjobs');
+ }
+ }
+ }
+
+ /**
+ * register hooks for the cache
+ */
+ public static function registerCacheHooks()
+ {
+ // register cache cleanup jobs
+ OC_BackgroundJob_RegularTask::register('OC_Cache_FileGlobal', 'gc');
+ OC_Hook::connect('OC_User', 'post_login', 'OC_Cache_File', 'loginListener');
+ }
+
+ /**
+ * register hooks for the filesystem
+ */
+ public static function registerFilesystemHooks()
+ {
+ // Check for blacklisted files
+ OC_Hook::connect('OC_Filesystem', 'write', 'OC_Filesystem', 'isBlacklisted');
+ OC_Hook::connect('OC_Filesystem', 'rename', 'OC_Filesystem', 'isBlacklisted');
+ }
+
+ /**
+ * register hooks for sharing
+ */
+ public static function registerShareHooks()
+ {
+ OC_Hook::connect('OC_User', 'post_deleteUser', 'OCP\Share', 'post_deleteUser');
+ OC_Hook::connect('OC_User', 'post_addToGroup', 'OCP\Share', 'post_addToGroup');
+ OC_Hook::connect('OC_User', 'post_removeFromGroup', 'OCP\Share', 'post_removeFromGroup');
+ OC_Hook::connect('OC_User', 'post_deleteGroup', 'OCP\Share', 'post_deleteGroup');
+ }
+
+ /**
+ * @brief Handle the request
+ */
+ public static function handleRequest()
+ {
+ // load all the classpaths from the enabled apps so they are available
+ // in the routing files of each app
+ OC::loadAppClassPaths();
+
+ try {
+ OC::getRouter()->match(OC_Request::getPathInfo());
+ return;
+ } catch (Symfony\Component\Routing\Exception\ResourceNotFoundException $e) {
+ //header('HTTP/1.0 404 Not Found');
+ } catch (Symfony\Component\Routing\Exception\MethodNotAllowedException $e) {
+ OC_Response::setStatus(405);
+ return;
+ }
+ $app = OC::$REQUESTEDAPP;
+ $file = OC::$REQUESTEDFILE;
+ $param = array('app' => $app, 'file' => $file);
+ // Handle app css files
+ if (substr($file, -3) == 'css') {
+ self::loadCSSFile($param);
+ return;
+ }
+
+ if (!OC_Config::getValue('installed', false)) {
+ require_once 'core/setup.php';
+ exit();
+ }
+
+ // Handle redirect URL for logged in users
+ if (isset($_REQUEST['redirect_url']) && OC_User::isLoggedIn()) {
+ $location = OC_Helper::makeURLAbsolute(urldecode($_REQUEST['redirect_url']));
+ header('Location: ' . $location);
+ return;
+ }
+ // Handle WebDAV
+ if ($_SERVER['REQUEST_METHOD'] == 'PROPFIND') {
+ header('location: ' . OC_Helper::linkToRemote('webdav'));
+ return;
+ }
+
+ // Someone is logged in :
+ if (OC_User::isLoggedIn()) {
+ OC_App::loadApps();
+ OC_User::setupBackends();
+ if (isset($_GET["logout"]) and ($_GET["logout"])) {
+ if (isset($_COOKIE['oc_token'])) {
+ OC_Preferences::deleteKey(OC_User::getUser(), 'login_token', $_COOKIE['oc_token']);
+ }
+ OC_User::logout();
+ header("Location: " . OC::$WEBROOT . '/');
+ } else {
+ if (is_null($file)) {
+ $param['file'] = 'index.php';
+ }
+ $file_ext = substr($param['file'], -3);
+ if ($file_ext != 'php'
+ || !self::loadAppScriptFile($param)
+ ) {
+ header('HTTP/1.0 404 Not Found');
+ }
+ }
+ return;
+ }
+ // Not handled and not logged in
+ self::handleLogin();
+ }
+
+ public static function loadAppScriptFile($param)
+ {
+ OC_App::loadApps();
+ $app = $param['app'];
+ $file = $param['file'];
+ $app_path = OC_App::getAppPath($app);
+ $file = $app_path . '/' . $file;
+ unset($app, $app_path);
+ if (file_exists($file)) {
+ require_once $file;
+ return true;
+ }
+ return false;
+ }
+
+ public static function loadCSSFile($param)
+ {
+ $app = $param['app'];
+ $file = $param['file'];
+ $app_path = OC_App::getAppPath($app);
+ if (file_exists($app_path . '/' . $file)) {
+ $app_web_path = OC_App::getAppWebPath($app);
+ $filepath = $app_web_path . '/' . $file;
+ $minimizer = new OC_Minimizer_CSS();
+ $info = array($app_path, $app_web_path, $file);
+ $minimizer->output(array($info), $filepath);
+ }
+ }
+
+ protected static function handleLogin()
+ {
+ OC_App::loadApps(array('prelogin'));
+ $error = array();
+ // remember was checked after last login
+ if (OC::tryRememberLogin()) {
+ $error[] = 'invalidcookie';
+
+ // Someone wants to log in :
+ } elseif (OC::tryFormLogin()) {
+ $error[] = 'invalidpassword';
+
+ // The user is already authenticated using Apaches AuthType Basic... very usable in combination with LDAP
+ } elseif (OC::tryBasicAuthLogin()) {
+ $error[] = 'invalidpassword';
+ }
+ OC_Util::displayLoginPage(array_unique($error));
+ }
+
+ protected static function cleanupLoginTokens($user)
+ {
+ $cutoff = time() - OC_Config::getValue('remember_login_cookie_lifetime', 60 * 60 * 24 * 15);
+ $tokens = OC_Preferences::getKeys($user, 'login_token');
+ foreach ($tokens as $token) {
+ $time = OC_Preferences::getValue($user, 'login_token', $token);
+ if ($time < $cutoff) {
+ OC_Preferences::deleteKey($user, 'login_token', $token);
+ }
+ }
+ }
+
+ protected static function tryRememberLogin()
+ {
+ if (!isset($_COOKIE["oc_remember_login"])
+ || !isset($_COOKIE["oc_token"])
+ || !isset($_COOKIE["oc_username"])
+ || !$_COOKIE["oc_remember_login"]
+ ) {
+ return false;
+ }
+ OC_App::loadApps(array('authentication'));
+ if (defined("DEBUG") && DEBUG) {
+ OC_Log::write('core', 'Trying to login from cookie', OC_Log::DEBUG);
+ }
+ // confirm credentials in cookie
+ if (isset($_COOKIE['oc_token']) && OC_User::userExists($_COOKIE['oc_username'])) {
+ // delete outdated cookies
+ self::cleanupLoginTokens($_COOKIE['oc_username']);
+ // get stored tokens
+ $tokens = OC_Preferences::getKeys($_COOKIE['oc_username'], 'login_token');
+ // test cookies token against stored tokens
+ 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);
+ OC_Preferences::setValue($_COOKIE['oc_username'], 'login_token', $token, time());
+ OC_User::setMagicInCookie($_COOKIE['oc_username'], $token);
+ // login
+ OC_User::setUserId($_COOKIE['oc_username']);
+ OC_Util::redirectToDefaultPage();
+ // doesn't return
+ }
+ // if you reach this point you have changed your password
+ // or you are an attacker
+ // we can not delete tokens here because users may reach
+ // this point multiple times after a password change
+ OC_Log::write('core', 'Authentication cookie rejected for user ' . $_COOKIE['oc_username'], OC_Log::WARN);
+ }
+ OC_User::unsetMagicInCookie();
+ return true;
+ }
+
+ protected static function tryFormLogin()
+ {
+ if (!isset($_POST["user"]) || !isset($_POST['password'])) {
+ return false;
+ }
+
+ OC_App::loadApps();
+
+ //setup extra user backends
+ OC_User::setupBackends();
+
+ if (OC_User::login($_POST["user"], $_POST["password"])) {
+ // setting up the time zone
+ if (isset($_POST['timezone-offset'])) {
+ $_SESSION['timezone'] = $_POST['timezone-offset'];
+ }
+
+ self::cleanupLoginTokens($_POST['user']);
+ if (!empty($_POST["remember_login"])) {
+ if (defined("DEBUG") && DEBUG) {
+ OC_Log::write('core', 'Setting remember login to cookie', OC_Log::DEBUG);
+ }
+ $token = OC_Util::generate_random_bytes(32);
+ OC_Preferences::setValue($_POST['user'], 'login_token', $token, time());
+ OC_User::setMagicInCookie($_POST["user"], $token);
+ } else {
+ OC_User::unsetMagicInCookie();
+ }
+ OC_Util::redirectToDefaultPage();
+ exit();
+ }
+ return true;
+ }
+
+ protected static function tryBasicAuthLogin()
+ {
+ if (!isset($_SERVER["PHP_AUTH_USER"])
+ || !isset($_SERVER["PHP_AUTH_PW"])
+ ) {
+ return false;
+ }
+ OC_App::loadApps(array('authentication'));
+ if (OC_User::login($_SERVER["PHP_AUTH_USER"], $_SERVER["PHP_AUTH_PW"])) {
+ //OC_Log::write('core',"Logged in with HTTP Authentication", OC_Log::DEBUG);
+ OC_User::unsetMagicInCookie();
+ $_REQUEST['redirect_url'] = (isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : '');
+ OC_Util::redirectToDefaultPage();
+ }
+ return true;
+ }
}
// define runtime variables - unless this already has been done
if (!isset($RUNTIME_NOAPPS)) {
- $RUNTIME_NOAPPS = false;
+ $RUNTIME_NOAPPS = false;
}
if (!function_exists('get_temp_dir')) {
- function get_temp_dir()
- {
- if ($temp = ini_get('upload_tmp_dir')) return $temp;
- if ($temp = getenv('TMP')) return $temp;
- if ($temp = getenv('TEMP')) return $temp;
- if ($temp = getenv('TMPDIR')) return $temp;
- $temp = tempnam(__FILE__, '');
- if (file_exists($temp)) {
- unlink($temp);
- return dirname($temp);
- }
- if ($temp = sys_get_temp_dir()) return $temp;
-
- return null;
- }
+ function get_temp_dir()
+ {
+ if ($temp = ini_get('upload_tmp_dir')) return $temp;
+ if ($temp = getenv('TMP')) return $temp;
+ if ($temp = getenv('TEMP')) return $temp;
+ if ($temp = getenv('TMPDIR')) return $temp;
+ $temp = tempnam(__FILE__, '');
+ if (file_exists($temp)) {
+ unlink($temp);
+ return dirname($temp);
+ }
+ if ($temp = sys_get_temp_dir()) return $temp;
+
+ return null;
+ }
}
OC::init();
diff --git a/lib/cache/apc.php b/lib/cache/apc.php
index 6dda0a0ff8c..895d307ea26 100644
--- a/lib/cache/apc.php
+++ b/lib/cache/apc.php
@@ -57,7 +57,7 @@ class OC_Cache_APC {
if(!function_exists('apc_exists')) {
function apc_exists($keys)
{
- $result;
+ $result=false;
apc_fetch($keys, $result);
return $result;
}
diff --git a/lib/connector/sabre/ServiceUnavailable.php b/lib/connector/sabre/ServiceUnavailable.php
new file mode 100644
index 00000000000..c1cc815c989
--- /dev/null
+++ b/lib/connector/sabre/ServiceUnavailable.php
@@ -0,0 +1,22 @@
+<?php
+/**
+ * ownCloud
+ *
+ * @author Thomas Müller
+ * @copyright 2013 Thomas Müller <thomas.mueller@tmit.eu>
+ *
+ * @license AGPL3
+ */
+
+class Sabre_DAV_Exception_ServiceUnavailable extends Sabre_DAV_Exception {
+
+ /**
+ * Returns the HTTP statuscode for this exception
+ *
+ * @return int
+ */
+ public function getHTTPCode() {
+
+ return 503;
+ }
+}
diff --git a/lib/connector/sabre/client.php b/lib/connector/sabre/client.php
deleted file mode 100644
index 8df5fb9a9ad..00000000000
--- a/lib/connector/sabre/client.php
+++ /dev/null
@@ -1,173 +0,0 @@
-<?php
-
-/**
- * ownCloud
- *
- * @author Bjoern Schiessle
- * @copyright 2012 Bjoern Schiessle <schiessle@owncloud.com>
- *
- * 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_Connector_Sabre_Client extends Sabre_DAV_Client {
-
- protected $trustedCertificates;
-
- /**
- * Add trusted root certificates to the webdav client.
- *
- * The parameter certificates should be a absulute path to a file which contains
- * all trusted certificates
- *
- * @param string $certificates
- */
- public function addTrustedCertificates($certificates) {
- $this->trustedCertificates = $certificates;
- }
-
- /**
- * Copied from SabreDAV with some modification to use user defined curlSettings
- * Performs an actual HTTP request, and returns the result.
- *
- * If the specified url is relative, it will be expanded based on the base
- * url.
- *
- * The returned array contains 3 keys:
- * * body - the response body
- * * httpCode - a HTTP code (200, 404, etc)
- * * headers - a list of response http headers. The header names have
- * been lowercased.
- *
- * @param string $method
- * @param string $url
- * @param string $body
- * @param array $headers
- * @return array
- */
- public function request($method, $url = '', $body = null, $headers = array()) {
-
- $url = $this->getAbsoluteUrl($url);
-
- $curlSettings = array(
- CURLOPT_RETURNTRANSFER => true,
- // Return headers as part of the response
- CURLOPT_HEADER => true,
- CURLOPT_POSTFIELDS => $body,
- // Automatically follow redirects
- CURLOPT_FOLLOWLOCATION => true,
- CURLOPT_MAXREDIRS => 5,
- );
-
- if($this->trustedCertificates) {
- $curlSettings[CURLOPT_CAINFO] = $this->trustedCertificates;
- }
-
- switch ($method) {
- case 'HEAD' :
-
- // do not read body with HEAD requests (this is neccessary because cURL does not ignore the body with HEAD
- // requests when the Content-Length header is given - which in turn is perfectly valid according to HTTP
- // specs...) cURL does unfortunately return an error in this case ("transfer closed transfer closed with
- // ... bytes remaining to read") this can be circumvented by explicitly telling cURL to ignore the
- // response body
- $curlSettings[CURLOPT_NOBODY] = true;
- $curlSettings[CURLOPT_CUSTOMREQUEST] = 'HEAD';
- break;
-
- default:
- $curlSettings[CURLOPT_CUSTOMREQUEST] = $method;
- break;
-
- }
-
- // Adding HTTP headers
- $nHeaders = array();
- foreach($headers as $key=>$value) {
-
- $nHeaders[] = $key . ': ' . $value;
-
- }
- $curlSettings[CURLOPT_HTTPHEADER] = $nHeaders;
-
- if ($this->proxy) {
- $curlSettings[CURLOPT_PROXY] = $this->proxy;
- }
-
- if ($this->userName && $this->authType) {
- $curlType = 0;
- if ($this->authType & self::AUTH_BASIC) {
- $curlType |= CURLAUTH_BASIC;
- }
- if ($this->authType & self::AUTH_DIGEST) {
- $curlType |= CURLAUTH_DIGEST;
- }
- $curlSettings[CURLOPT_HTTPAUTH] = $curlType;
- $curlSettings[CURLOPT_USERPWD] = $this->userName . ':' . $this->password;
- }
-
- list(
- $response,
- $curlInfo,
- $curlErrNo,
- $curlError
- ) = $this->curlRequest($url, $curlSettings);
-
- $headerBlob = substr($response, 0, $curlInfo['header_size']);
- $response = substr($response, $curlInfo['header_size']);
-
- // In the case of 100 Continue, or redirects we'll have multiple lists
- // of headers for each separate HTTP response. We can easily split this
- // because they are separated by \r\n\r\n
- $headerBlob = explode("\r\n\r\n", trim($headerBlob, "\r\n"));
-
- // We only care about the last set of headers
- $headerBlob = $headerBlob[count($headerBlob)-1];
-
- // Splitting headers
- $headerBlob = explode("\r\n", $headerBlob);
-
- $headers = array();
- foreach($headerBlob as $header) {
- $parts = explode(':', $header, 2);
- if (count($parts)==2) {
- $headers[strtolower(trim($parts[0]))] = trim($parts[1]);
- }
- }
-
- $response = array(
- 'body' => $response,
- 'statusCode' => $curlInfo['http_code'],
- 'headers' => $headers
- );
-
- if ($curlErrNo) {
- throw new Sabre_DAV_Exception('[CURL] Error while making request: ' . $curlError . ' (error code: ' . $curlErrNo . ')');
- }
-
- if ($response['statusCode']>=400) {
- switch ($response['statusCode']) {
- case 404:
- throw new Sabre_DAV_Exception_NotFound('Resource ' . $url . ' not found.');
- break;
-
- default:
- throw new Sabre_DAV_Exception('HTTP error response. (errorcode ' . $response['statusCode'] . ')');
- }
- }
-
- return $response;
-
- }
-} \ No newline at end of file
diff --git a/lib/connector/sabre/maintenanceplugin.php b/lib/connector/sabre/maintenanceplugin.php
new file mode 100644
index 00000000000..329fa4443ad
--- /dev/null
+++ b/lib/connector/sabre/maintenanceplugin.php
@@ -0,0 +1,56 @@
+<?php
+
+/**
+ * ownCloud
+ *
+ * @author Thomas Müller
+ * @copyright 2013 Thomas Müller <thomas.mueller@tmit.eu>
+ *
+ * @license AGPL3
+ */
+
+require 'ServiceUnavailable.php';
+
+class OC_Connector_Sabre_MaintenancePlugin extends Sabre_DAV_ServerPlugin
+{
+
+ /**
+ * Reference to main server object
+ *
+ * @var Sabre_DAV_Server
+ */
+ private $server;
+
+ /**
+ * This initializes the plugin.
+ *
+ * This function is called by Sabre_DAV_Server, after
+ * addPlugin is called.
+ *
+ * This method should set up the required event subscriptions.
+ *
+ * @param Sabre_DAV_Server $server
+ * @return void
+ */
+ public function initialize(Sabre_DAV_Server $server) {
+
+ $this->server = $server;
+ $this->server->subscribeEvent('beforeMethod', array($this, 'checkMaintenanceMode'), 10);
+ }
+
+ /**
+ * This method is called before any HTTP method and returns http status code 503
+ * in case the system is in maintenance mode.
+ *
+ * @throws Sabre_DAV_Exception_ServiceUnavailable
+ * @internal param string $method
+ * @return bool
+ */
+ public function checkMaintenanceMode() {
+ if (OC_Config::getValue('maintenance', false)) {
+ throw new Sabre_DAV_Exception_ServiceUnavailable();
+ }
+
+ return true;
+ }
+}
diff --git a/lib/connector/sabre/node.php b/lib/connector/sabre/node.php
index 52350072fb2..026ec9f7ec5 100644
--- a/lib/connector/sabre/node.php
+++ b/lib/connector/sabre/node.php
@@ -176,9 +176,9 @@ abstract class OC_Connector_Sabre_Node implements Sabre_DAV_INode, Sabre_DAV_IPr
* @brief Returns a list of properties for this nodes.;
* @param array $properties
* @return array
- * @note The properties list is a list of propertynames the client
- * requested, encoded as xmlnamespace#tagName, for example:
- * http://www.example.org/namespace#author If the array is empty, all
+ * @note The properties list is a list of propertynames the client
+ * requested, encoded as xmlnamespace#tagName, for example:
+ * http://www.example.org/namespace#author If the array is empty, all
* properties should be returned
*/
public function getProperties($properties) {
diff --git a/lib/db.php b/lib/db.php
index 7e60b41d230..51f7c7679d4 100644
--- a/lib/db.php
+++ b/lib/db.php
@@ -41,6 +41,8 @@ class OC_DB {
const BACKEND_PDO=0;
const BACKEND_MDB2=1;
+ static private $preparedQueries = array();
+
/**
* @var MDB2_Driver_Common
*/
@@ -121,6 +123,7 @@ class OC_DB {
return true;
}
}
+ self::$preparedQueries = array();
// The global data we need
$name = OC_Config::getValue( "dbname", "owncloud" );
$host = OC_Config::getValue( "dbhost", "" );
@@ -181,7 +184,14 @@ class OC_DB {
try{
self::$PDO=new PDO($dsn, $user, $pass, $opts);
}catch(PDOException $e) {
- OC_Template::printErrorPage( 'can not connect to database, using '.$type.'. ('.$e->getMessage().')' );
+ OC_Log::write('core', $e->getMessage(), OC_Log::FATAL);
+ OC_User::setUserId(null);
+
+ // send http status 503
+ header('HTTP/1.1 503 Service Temporarily Unavailable');
+ header('Status: 503 Service Temporarily Unavailable');
+ OC_Template::printErrorPage('Failed to connect to database');
+ die();
}
// We always, really always want associative arrays
self::$PDO->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
@@ -201,6 +211,7 @@ class OC_DB {
return true;
}
}
+ self::$preparedQueries = array();
// The global data we need
$name = OC_Config::getValue( "dbname", "owncloud" );
$host = OC_Config::getValue( "dbhost", "" );
@@ -277,7 +288,13 @@ class OC_DB {
if( PEAR::isError( self::$MDB2 )) {
OC_Log::write('core', self::$MDB2->getUserInfo(), OC_Log::FATAL);
OC_Log::write('core', self::$MDB2->getMessage(), OC_Log::FATAL);
- OC_Template::printErrorPage( 'can not connect to database, using '.$type.'. ('.self::$MDB2->getUserInfo().')' );
+ OC_User::setUserId(null);
+
+ // send http status 503
+ header('HTTP/1.1 503 Service Temporarily Unavailable');
+ header('Status: 503 Service Temporarily Unavailable');
+ OC_Template::printErrorPage('Failed to connect to database');
+ die();
}
// We always, really always want associative arrays
@@ -321,7 +338,12 @@ class OC_DB {
$query.=$limitsql;
}
}
+ } else {
+ if (isset(self::$preparedQueries[$query])) {
+ return self::$preparedQueries[$query];
+ }
}
+ $rawQuery = $query;
// Optimize the query
$query = self::processQuery( $query );
@@ -343,6 +365,9 @@ class OC_DB {
}
$result=new PDOStatementWrapper($result);
}
+ if (is_null($limit) || $limit == -1) {
+ self::$preparedQueries[$rawQuery] = $result;
+ }
return $result;
}
@@ -428,6 +453,9 @@ class OC_DB {
$CONFIG_DBTABLEPREFIX = OC_Config::getValue( "dbtableprefix", "oc_" );
$CONFIG_DBTYPE = OC_Config::getValue( "dbtype", "sqlite" );
+ // cleanup the cached queries
+ self::$preparedQueries = array();
+
self::connectScheme();
// read file
@@ -495,8 +523,9 @@ class OC_DB {
if (PEAR::isError($previousSchema)) {
$error = $previousSchema->getMessage();
$detail = $previousSchema->getDebugInfo();
- OC_Log::write('core', 'Failed to get existing database structure for upgrading ('.$error.', '.$detail.')', OC_Log::FATAL);
- return false;
+ $message = 'Failed to get existing database structure for updating ('.$error.', '.$detail.')';
+ OC_Log::write('core', $message, OC_Log::FATAL);
+ throw new Exception($message);
}
// Make changes and save them to an in-memory file
@@ -523,8 +552,9 @@ class OC_DB {
if (PEAR::isError($op)) {
$error = $op->getMessage();
$detail = $op->getDebugInfo();
- OC_Log::write('core', 'Failed to update database structure ('.$error.', '.$detail.')', OC_Log::FATAL);
- return false;
+ $message = 'Failed to update database structure ('.$error.', '.$detail.')';
+ OC_Log::write('core', $message, OC_Log::FATAL);
+ throw new Exception($message);
}
return true;
}
@@ -586,7 +616,7 @@ class OC_DB {
error_log('DB error: '.$entry);
OC_Template::printErrorPage( $entry );
}
-
+
if($result->numRows() == 0) {
$query = 'INSERT INTO "' . $table . '" ("'
. implode('","', array_keys($input)) . '") VALUES("'
@@ -621,7 +651,7 @@ class OC_DB {
return $result->execute();
}
-
+
/**
* @brief does minor changes to query
* @param string $query Query string
diff --git a/lib/filecache.php b/lib/filecache.php
index c3256c783e6..7764890ef1a 100644
--- a/lib/filecache.php
+++ b/lib/filecache.php
@@ -23,9 +23,14 @@
* provide caching for filesystem info in the database
*
* not used by OC_Filesystem for reading filesystem info,
- * instread apps should use OC_FileCache::get where possible
+ * instead apps should use OC_FileCache::get where possible
+ *
+ * It will try to keep the data up to date but changes from outside
+ * ownCloud can invalidate the cache
+ *
+ * Methods that take $path and $root params expect $path to be relative, like
+ * /admin/files/file.txt, if $root is false
*
- * It will try to keep the data up to date but changes from outside ownCloud can invalidate the cache
*/
class OC_FileCache{
@@ -59,7 +64,7 @@ class OC_FileCache{
* @param string $path
* @param array data
* @param string root (optional)
- * @note $data is an associative array in the same format as returned
+ * @note $data is an associative array in the same format as returned
* by get
*/
public static function put($path, $data, $root=false) {
@@ -206,7 +211,7 @@ class OC_FileCache{
OC_Cache::remove('fileid/'.$root.$path);
}
-
+
/**
* return array of filenames matching the querty
* @param string $query
@@ -354,7 +359,7 @@ class OC_FileCache{
public static function increaseSize($path, $sizeDiff, $root=false) {
if($sizeDiff==0) return;
$item = OC_FileCache_Cached::get($path);
- //stop walking up the filetree if we hit a non-folder or reached to root folder
+ //stop walking up the filetree if we hit a non-folder or reached the root folder
if($path == '/' || $path=='' || $item['mimetype'] !== 'httpd/unix-directory') {
return;
}
diff --git a/lib/fileproxy/quota.php b/lib/fileproxy/quota.php
index 742e02d471b..503288142aa 100644
--- a/lib/fileproxy/quota.php
+++ b/lib/fileproxy/quota.php
@@ -76,7 +76,7 @@ class OC_FileProxy_Quota extends OC_FileProxy{
$usedSpace=isset($sharedInfo['size'])?$usedSpace-$sharedInfo['size']:$usedSpace;
return $totalSpace-$usedSpace;
}
-
+
public function postFree_space($path, $space) {
$free=$this->getFreeSpace($path);
if($free==-1) {
diff --git a/lib/files.php b/lib/files.php
index 69097e41074..f4e0f140a44 100644
--- a/lib/files.php
+++ b/lib/files.php
@@ -141,7 +141,7 @@ class OC_Files {
*/
public static function get($dir, $files, $only_header = false) {
$xsendfile = false;
- if (isset($_SERVER['MOD_X_SENDFILE_ENABLED']) ||
+ if (isset($_SERVER['MOD_X_SENDFILE_ENABLED']) ||
isset($_SERVER['MOD_X_ACCEL_REDIRECT_ENABLED'])) {
$xsendfile = true;
}
diff --git a/lib/filestorage.php b/lib/filestorage.php
index dd65f4421b7..2e03c4cb6da 100644
--- a/lib/filestorage.php
+++ b/lib/filestorage.php
@@ -21,7 +21,7 @@
*/
/**
- * Provde a common interface to all different storage options
+ * Provide a common interface to all different storage options
*/
abstract class OC_Filestorage{
abstract public function __construct($parameters);
diff --git a/lib/filestorage/local.php b/lib/filestorage/local.php
index 6fe45acf8c5..4a4019a3224 100644
--- a/lib/filestorage/local.php
+++ b/lib/filestorage/local.php
@@ -29,7 +29,15 @@ class OC_Filestorage_Local extends OC_Filestorage_Common{
return is_file($this->datadir.$path);
}
public function stat($path) {
- return stat($this->datadir.$path);
+ $fullPath = $this->datadir . $path;
+ $statResult = stat($fullPath);
+
+ if ($statResult['size'] < 0) {
+ $size = self::getFileSizeFromOS($fullPath);
+ $statResult['size'] = $size;
+ $statResult[7] = $size;
+ }
+ return $statResult;
}
public function filetype($path) {
$filetype=filetype($this->datadir.$path);
@@ -42,7 +50,13 @@ class OC_Filestorage_Local extends OC_Filestorage_Common{
if($this->is_dir($path)) {
return 0;
}else{
- return filesize($this->datadir.$path);
+ $fullPath = $this->datadir . $path;
+ $fileSize = filesize($fullPath);
+ if ($fileSize < 0) {
+ return self::getFileSizeFromOS($fullPath);
+ }
+
+ return $fileSize;
}
}
public function isReadable($path) {
@@ -78,7 +92,7 @@ class OC_Filestorage_Local extends OC_Filestorage_Common{
public function file_get_contents($path) {
return file_get_contents($this->datadir.$path);
}
- public function file_put_contents($path, $data) {
+ public function file_put_contents($path, $data) {//trigger_error("$path = ".var_export($path, 1));
return file_put_contents($this->datadir.$path, $data);
}
public function unlink($path) {
@@ -156,6 +170,30 @@ class OC_Filestorage_Local extends OC_Filestorage_Common{
return $return;
}
+ private static function getFileSizeFromOS($fullPath) {
+ $name = strtolower(php_uname('s'));
+ // Windows OS: we use COM to access the filesystem
+ if (strpos($name, 'win') !== false) {
+ if (class_exists('COM')) {
+ $fsobj = new COM("Scripting.FileSystemObject");
+ $f = $fsobj->GetFile($fullPath);
+ return $f->Size;
+ }
+ } else if (strpos($name, 'bsd') !== false) {
+ if (\OC_Helper::is_function_enabled('exec')) {
+ return (float)exec('stat -f %z ' . escapeshellarg($fullPath));
+ }
+ } else if (strpos($name, 'linux') !== false) {
+ if (\OC_Helper::is_function_enabled('exec')) {
+ return (float)exec('stat -c %s ' . escapeshellarg($fullPath));
+ }
+ } else {
+ OC_Log::write('core', 'Unable to determine file size of "'.$fullPath.'". Unknown OS: '.$name, OC_Log::ERROR);
+ }
+
+ return 0;
+ }
+
public function hash($path, $type, $raw=false) {
return hash_file($type, $this->datadir.$path, $raw);
}
@@ -190,6 +228,7 @@ class OC_Filestorage_Local extends OC_Filestorage_Common{
/**
* check if a file or folder has been updated since $time
+ * @param string $path
* @param int $time
* @return bool
*/
diff --git a/lib/filesystem.php b/lib/filesystem.php
index aa03593908d..f185d777def 100644
--- a/lib/filesystem.php
+++ b/lib/filesystem.php
@@ -179,11 +179,11 @@ class OC_Filesystem{
$internalPath=substr($path, strlen($mountPoint));
return $internalPath;
}
-
+
static private function mountPointsLoaded($user) {
return in_array($user, self::$loadedUsers);
}
-
+
/**
* get the storage object for a path
* @param string path
@@ -216,7 +216,7 @@ class OC_Filesystem{
self::mount($options['class'], $options['options'], $mountPoint);
}
}
-
+
if(isset($mountConfig['group'])) {
foreach($mountConfig['group'] as $group=>$mounts) {
if(OC_Group::inGroup($user, $group)) {
@@ -230,7 +230,7 @@ class OC_Filesystem{
}
}
}
-
+
if(isset($mountConfig['user'])) {
foreach($mountConfig['user'] as $mountUser=>$mounts) {
if($user==='all' or strtolower($mountUser)===strtolower($user)) {
@@ -244,16 +244,16 @@ class OC_Filesystem{
}
}
}
-
+
$mtime=filemtime(OC::$SERVERROOT.'/config/mount.php');
$previousMTime=OC_Appconfig::getValue('files', 'mountconfigmtime', 0);
if($mtime>$previousMTime) {//mount config has changed, filecache needs to be updated
OC_FileCache::triggerUpdate();
OC_Appconfig::setValue('files', 'mountconfigmtime', $mtime);
}
- }
+ }
}
-
+
static public function init($root, $user = '') {
if(self::$defaultInstance) {
return false;
diff --git a/lib/filesystemview.php b/lib/filesystemview.php
index e944ae5045d..1fc8e83d68f 100644
--- a/lib/filesystemview.php
+++ b/lib/filesystemview.php
@@ -36,8 +36,12 @@
*
* Filesystem functions are not called directly; they are passed to the correct
* OC_Filestorage object
+ *
+ * @note default root (if $root is empty or '/') is /data/[user]/
+ * @note If you don't include a leading slash, you may encounter problems.
+ * e.g. use $v = new \OC_FilesystemView( '/' . $params['uid'] ); not
+ * $v = new \OC_FilesystemView( $params['uid'] );
*/
-
class OC_FilesystemView {
private $fakeRoot='';
private $internal_path_cache=array();
@@ -430,10 +434,10 @@ class OC_FilesystemView {
$target = $this->fopen($path2.$postFix2, 'w');
$result = OC_Helper::streamCopy($source, $target);
}
- if( $this->fakeRoot==OC_Filesystem::getRoot() ) {
- // If the file to be copied originates within
+ if( $this->fakeRoot==OC_Filesystem::getRoot() ) {
+ // If the file to be copied originates within
// the user's data directory
-
+
OC_Hook::emit(
OC_Filesystem::CLASSNAME,
OC_Filesystem::signal_post_copy,
@@ -454,33 +458,33 @@ class OC_FilesystemView {
OC_Filesystem::signal_post_write,
array( OC_Filesystem::signal_param_path => $path2)
);
-
- } else {
- // If this is not a normal file copy operation
- // and the file originates somewhere else
- // (e.g. a version rollback operation), do not
+
+ } else {
+ // If this is not a normal file copy operation
+ // and the file originates somewhere else
+ // (e.g. a version rollback operation), do not
// perform all the other post_write actions
-
+
// Update webdav properties
OC_Filesystem::removeETagHook(array("path" => $path2), $this->fakeRoot);
-
+
$splitPath2 = explode( '/', $path2 );
-
- // Only cache information about files
- // that are being copied from within
- // the user files directory. Caching
+
+ // Only cache information about files
+ // that are being copied from within
+ // the user files directory. Caching
// other files, like VCS backup files,
// serves no purpose
if ( $splitPath2[1] == 'files' ) {
-
+
OC_FileCache_Update::update($path2, $this->fakeRoot);
-
+
}
-
+
}
-
+
return $result;
-
+
}
}
}
diff --git a/lib/helper.php b/lib/helper.php
index be4e4e52677..d2c6b1695bd 100644
--- a/lib/helper.php
+++ b/lib/helper.php
@@ -31,8 +31,9 @@ class OC_Helper {
/**
* @brief Creates an url using a defined route
* @param $route
- * @param $parameters
- * @param $args array with param=>value, will be appended to the returned url
+ * @param array $parameters
+ * @return
+ * @internal param array $args with param=>value, will be appended to the returned url
* @returns the url
*
* Returns a url to the given app and file.
@@ -128,6 +129,7 @@ class OC_Helper {
/**
* @brief Creates an absolute url for remote use
* @param string $service id
+ * @param bool $add_slash
* @return string the url
*
* Returns a absolute url to the given service.
@@ -139,6 +141,7 @@ class OC_Helper {
/**
* @brief Creates an absolute url for public use
* @param string $service id
+ * @param bool $add_slash
* @return string the url
*
* Returns a absolute url to the given service.
@@ -190,8 +193,9 @@ class OC_Helper {
if(isset($alias[$mimetype])) {
$mimetype=$alias[$mimetype];
}
- // Replace slash with a minus
+ // Replace slash and backslash with a minus
$mimetype = str_replace( "/", "-", $mimetype );
+ $mimetype = str_replace( "\\", "-", $mimetype );
// Is it a dir?
if( $mimetype == "dir" ) {
@@ -220,6 +224,10 @@ class OC_Helper {
* Makes 2048 to 2 kB.
*/
public static function humanFileSize( $bytes ) {
+ if( $bytes < 0 ) {
+ $l = OC_L10N::get('lib');
+ return $l->t("couldn't be determined");
+ }
if( $bytes < 1024 ) {
return "$bytes B";
}
@@ -450,12 +458,14 @@ class OC_Helper {
}
/**
- * detect if a given program is found in the search PATH
- *
- * @param string $program name
- * @param string $optional search path, defaults to $PATH
- * @return bool true if executable program found in path
- */
+ * detect if a given program is found in the search PATH
+ *
+ * @param $name
+ * @param bool $path
+ * @internal param string $program name
+ * @internal param string $optional search path, defaults to $PATH
+ * @return bool true if executable program found in path
+ */
public static function canExecute($name, $path = false) {
// path defaults to PATH from environment if not set
if ($path === false) {
@@ -544,7 +554,7 @@ class OC_Helper {
fclose($fh);
return $file;
}
-
+
/**
* create a temporary folder with an unique filename
* @return string
@@ -620,37 +630,17 @@ class OC_Helper {
return $newpath;
}
- /*
- * checks if $sub is a subdirectory of $parent
+ /**
+ * @brief Checks if $sub is a subdirectory of $parent
*
* @param string $sub
* @param string $parent
* @return bool
*/
public static function issubdirectory($sub, $parent) {
- if($sub == null || $sub == '' || $parent == null || $parent == '') {
- return false;
- }
- $realpath_sub = realpath($sub);
- $realpath_parent = realpath($parent);
- if(($realpath_sub == false && substr_count($realpath_sub, './') != 0) || ($realpath_parent == false && substr_count($realpath_parent, './') != 0)) { //it checks for both ./ and ../
- return false;
- }
- if($realpath_sub && $realpath_sub != '' && $realpath_parent && $realpath_parent != '') {
- if(substr($realpath_sub, 0, strlen($realpath_parent)) == $realpath_parent) {
- return true;
- }
- }else{
- if(substr($sub, 0, strlen($parent)) == $parent) {
- return true;
- }
+ if (strpos(realpath($sub), realpath($parent)) === 0) {
+ return true;
}
- /*echo 'SUB: ' . $sub . "\n";
- echo 'PAR: ' . $parent . "\n";
- echo 'REALSUB: ' . $realpath_sub . "\n";
- echo 'REALPAR: ' . $realpath_parent . "\n";
- echo substr($realpath_sub, 0, strlen($realpath_parent));
- exit;*/
return false;
}
@@ -676,22 +666,22 @@ class OC_Helper {
}
/**
- * @brief replaces a copy of string delimited by the start and (optionally) length parameters with the string given in replacement.
- *
- * @param string $input The input string. .Opposite to the PHP build-in function does not accept an array.
- * @param string $replacement The replacement string.
- * @param int $start If start is positive, the replacing will begin at the start'th offset into string. If start is negative, the replacing will begin at the start'th character from the end of string.
- * @param int $length Length of the part to be replaced
- * @param string $encoding The encoding parameter is the character encoding. Defaults to UTF-8
- * @return string
- *
- */
+ * @brief replaces a copy of string delimited by the start and (optionally) length parameters with the string given in replacement.
+ *
+ * @param $string
+ * @param string $replacement The replacement string.
+ * @param int $start If start is positive, the replacing will begin at the start'th offset into string. If start is negative, the replacing will begin at the start'th character from the end of string.
+ * @param int $length Length of the part to be replaced
+ * @param string $encoding The encoding parameter is the character encoding. Defaults to UTF-8
+ * @internal param string $input The input string. .Opposite to the PHP build-in function does not accept an array.
+ * @return string
+ */
public static function mb_substr_replace($string, $replacement, $start, $length = null, $encoding = 'UTF-8') {
$start = intval($start);
$length = intval($length);
$string = mb_substr($string, 0, $start, $encoding) .
- $replacement .
- mb_substr($string, $start+$length, mb_strlen($string, 'UTF-8')-$start, $encoding);
+ $replacement .
+ mb_substr($string, $start+$length, mb_strlen($string, 'UTF-8')-$start, $encoding);
return $string;
}
@@ -758,4 +748,60 @@ class OC_Helper {
}
return $str;
}
+
+ /**
+ * @brief calculates the maximum upload size respecting system settings, free space and user quota
+ *
+ * @param $dir the current folder where the user currently operates
+ * @return number of bytes representing
+ */
+ public static function maxUploadFilesize($dir) {
+ $upload_max_filesize = OCP\Util::computerFileSize(ini_get('upload_max_filesize'));
+ $post_max_size = OCP\Util::computerFileSize(ini_get('post_max_size'));
+ $maxUploadFilesize = min($upload_max_filesize, $post_max_size);
+
+ $freeSpace = OC_Filesystem::free_space($dir);
+ $freeSpace = max($freeSpace, 0);
+
+ return min($maxUploadFilesize, $freeSpace);
+ }
+
+ /**
+ * Checks if a function is available
+ * @param string $function_name
+ * @return bool
+ */
+ public static function is_function_enabled($function_name) {
+ if (!function_exists($function_name)) {
+ return false;
+ }
+ $disabled = explode(', ', ini_get('disable_functions'));
+ if (in_array($function_name, $disabled)) {
+ return false;
+ }
+ $disabled = explode(', ', ini_get('suhosin.executor.func.blacklist'));
+ if (in_array($function_name, $disabled)) {
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * Calculate the disc space
+ */
+ public static function getStorageInfo() {
+ $rootInfo = OC_FileCache::get('');
+ $used = $rootInfo['size'];
+ if ($used < 0) {
+ $used = 0;
+ }
+ $free = OC_Filesystem::free_space();
+ $total = $free + $used;
+ if ($total == 0) {
+ $total = 1; // prevent division by zero
+ }
+ $relative = round(($used / $total) * 10000) / 100;
+
+ return array('free' => $free, 'used' => $used, 'total' => $total, 'relative' => $relative);
+ }
}
diff --git a/lib/image.php b/lib/image.php
index 2043a452541..cfc6d477395 100644
--- a/lib/image.php
+++ b/lib/image.php
@@ -646,7 +646,7 @@ class OC_Image {
fclose($fh);
return $im;
}
-
+
/**
* @brief Resizes the image preserving ratio.
* @param $maxsize The maximum size of either the width or height.
diff --git a/lib/json.php b/lib/json.php
index 204430411c0..f929e958957 100644
--- a/lib/json.php
+++ b/lib/json.php
@@ -57,9 +57,7 @@ class OC_JSON{
* Check if the user is a admin, send json error msg if not
*/
public static function checkAdminUser() {
- self::checkLoggedIn();
- self::verifyUser();
- if( !OC_Group::inGroup( OC_User::getUser(), 'admin' )) {
+ if( !OC_User::isAdminUser(OC_User::getUser())) {
$l = OC_L10N::get('lib');
self::error(array( 'data' => array( 'message' => $l->t('Authentication error') )));
exit();
@@ -70,9 +68,7 @@ class OC_JSON{
* Check if the user is a subadmin, send json error msg if not
*/
public static function checkSubAdminUser() {
- self::checkLoggedIn();
- self::verifyUser();
- if(!OC_Group::inGroup(OC_User::getUser(), 'admin') && !OC_SubAdmin::isSubAdmin(OC_User::getUser())) {
+ if(!OC_SubAdmin::isSubAdmin(OC_User::getUser())) {
$l = OC_L10N::get('lib');
self::error(array( 'data' => array( 'message' => $l->t('Authentication error') )));
exit();
@@ -80,19 +76,6 @@ class OC_JSON{
}
/**
- * Check if the user verified the login with his password
- */
- public static function verifyUser() {
- if(OC_Config::getValue('enhancedauth', false) === true) {
- if(!isset($_SESSION['verifiedLogin']) OR $_SESSION['verifiedLogin'] < time()) {
- $l = OC_L10N::get('lib');
- self::error(array( 'data' => array( 'message' => $l->t('Authentication error') )));
- exit();
- }
- }
- }
-
- /**
* Send json error msg
*/
public static function error($data = array()) {
diff --git a/lib/l10n.php b/lib/l10n.php
index f70dfa5e34e..ca53b3cf65c 100644
--- a/lib/l10n.php
+++ b/lib/l10n.php
@@ -141,15 +141,15 @@ class OC_L10N{
}
}
- /**
- * @brief Translating
- * @param $text String The text we need a translation for
- * @param array $parameters default:array() Parameters for sprintf
- * @return \OC_L10N_String Translation or the same text
- *
- * Returns the translation. If no translation is found, $text will be
- * returned.
- */
+ /**
+ * @brief Translating
+ * @param $text String The text we need a translation for
+ * @param array $parameters default:array() Parameters for sprintf
+ * @return \OC_L10N_String Translation or the same text
+ *
+ * Returns the translation. If no translation is found, $text will be
+ * returned.
+ */
public function t($text, $parameters = array()) {
return new OC_L10N_String($this, $text, $parameters);
}
diff --git a/lib/l10n/bg_BG.php b/lib/l10n/bg_BG.php
index 3eb0660d944..31f37458b81 100644
--- a/lib/l10n/bg_BG.php
+++ b/lib/l10n/bg_BG.php
@@ -1,4 +1,34 @@
<?php $TRANSLATIONS = array(
-"Personal" => "Лично",
-"Authentication error" => "Проблем Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñта"
+"Help" => "Помощ",
+"Personal" => "Лични",
+"Settings" => "ÐаÑтройки",
+"Users" => "Потребители",
+"Apps" => "ПриложениÑ",
+"Admin" => "Ðдмин",
+"ZIP download is turned off." => "ИзтеглÑнето като ZIP е изключено.",
+"Files need to be downloaded one by one." => "Файловете трÑбва да Ñе изтеглÑÑ‚ един по един.",
+"Back to Files" => "Ðазад към файловете",
+"Selected files too large to generate zip file." => "Избраните файлове Ñа прекалено големи за генерирането на ZIP архив.",
+"Application is not enabled" => "Приложението не е включено.",
+"Authentication error" => "Възникна проблем Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñта",
+"Token expired. Please reload page." => "Ключът е изтекъл, Ð¼Ð¾Ð»Ñ Ð¿Ñ€ÐµÐ·Ð°Ñ€ÐµÐ´ÐµÑ‚Ðµ Ñтраницата",
+"Files" => "Файлове",
+"Text" => "ТекÑÑ‚",
+"Images" => "Снимки",
+"seconds ago" => "преди Ñекунди",
+"1 minute ago" => "преди 1 минута",
+"%d minutes ago" => "преди %d минути",
+"1 hour ago" => "преди 1 чаÑ",
+"%d hours ago" => "преди %d чаÑа",
+"today" => "днеÑ",
+"yesterday" => "вчера",
+"%d days ago" => "преди %d дни",
+"last month" => "поÑледниÑÑ‚ меÑец",
+"%d months ago" => "преди %d меÑеца",
+"last year" => "поÑледната година",
+"years ago" => "поÑледните години",
+"%s is available. Get <a href=\"%s\">more information</a>" => "%s е налична. Получете <a href=\"%s\">повече информациÑ</a>",
+"up to date" => "е актуална",
+"updates check is disabled" => "проверката за Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ðµ изключена",
+"Could not find category \"%s\"" => "Ðевъзможно откриване на категориÑта \"%s\""
);
diff --git a/lib/l10n/bn_BD.php b/lib/l10n/bn_BD.php
new file mode 100644
index 00000000000..cb6ff4455a9
--- /dev/null
+++ b/lib/l10n/bn_BD.php
@@ -0,0 +1,29 @@
+<?php $TRANSLATIONS = array(
+"Help" => "সহায়িকা",
+"Personal" => "বà§à¦¯à¦•à§à¦¤à¦¿à¦—ত",
+"Settings" => "নিয়ামকসমূহ",
+"Users" => "বà§à¦¯à¦­à¦¹à¦¾à¦°à¦•ারী",
+"Apps" => "অà§à¦¯à¦¾à¦ª",
+"Admin" => "পà§à¦°à¦¶à¦¾à¦¸à¦•",
+"ZIP download is turned off." => "ZIP ডাউনলোড বনà§à¦§ করা আছে।",
+"Files need to be downloaded one by one." => "ফাইলগà§à¦²à§‹ à¦à¦•ে à¦à¦•ে ডাউনলোড করা আবশà§à¦¯à¦•।",
+"Back to Files" => "ফাইলে ফিরে চল",
+"Selected files too large to generate zip file." => "নিরà§à¦¬à¦¾à¦šà¦¿à¦¤ ফাইলগà§à¦²à§‹ à¦à¦¤à¦‡ বৃহৎ যে জিপ ফাইল তৈরী করা সমà§à¦­à¦¬ নয়।",
+"Application is not enabled" => "অà§à¦¯à¦¾à¦ªà§à¦²à¦¿à¦•েসনটি সকà§à¦°à¦¿à§Ÿ নয়",
+"Authentication error" => "অনà§à¦®à§‹à¦¦à¦¨ ঘটিত সমসà§à¦¯à¦¾",
+"Token expired. Please reload page." => "টোকেন মেয়াদোতà§à¦¤à§€à¦°à§à¦£à¥¤ দয়া করে পৃষà§à¦ à¦¾à¦Ÿà¦¿ পূনরায় লোড করà§à¦¨à¥¤",
+"Files" => "ফাইল",
+"seconds ago" => "সেকেনà§à¦¡ পূরà§à¦¬à§‡",
+"1 minute ago" => "à§§ মিনিট পূরà§à¦¬à§‡",
+"%d minutes ago" => "%d মিনিট পূরà§à¦¬à§‡",
+"1 hour ago" => "1 ঘনà§à¦Ÿà¦¾ পূরà§à¦¬à§‡",
+"today" => "আজ",
+"yesterday" => "গতকাল",
+"%d days ago" => "%d দিন পূরà§à¦¬à§‡",
+"last month" => "গত মাস",
+"last year" => "গত বছর",
+"years ago" => "বছর পূরà§à¦¬à§‡",
+"%s is available. Get <a href=\"%s\">more information</a>" => "%s à¦à¦–ন সà§à¦²à¦­à¥¤ <a href=\"%s\">আরও জানà§à¦¨</a>",
+"up to date" => "সরà§à¦¬à¦¶à§‡à¦·",
+"updates check is disabled" => "পরিবরà§à¦§à¦¨ পরীকà§à¦·à¦£ করা বনà§à¦§ রাখা হয়েছে"
+);
diff --git a/lib/l10n/ca.php b/lib/l10n/ca.php
index b3321ef82e1..f6401fa39b6 100644
--- a/lib/l10n/ca.php
+++ b/lib/l10n/ca.php
@@ -9,6 +9,7 @@
"Files need to be downloaded one by one." => "Els fitxers s'han de baixar d'un en un.",
"Back to Files" => "Torna a Fitxers",
"Selected files too large to generate zip file." => "Els fitxers seleccionats son massa grans per generar un fitxer zip.",
+"couldn't be determined" => "no s'ha pogut determinar",
"Application is not enabled" => "L'aplicació no està habilitada",
"Authentication error" => "Error d'autenticació",
"Token expired. Please reload page." => "El testimoni ha expirat. Torneu a carregar la pàgina.",
diff --git a/lib/l10n/cs_CZ.php b/lib/l10n/cs_CZ.php
index fa11e886774..2c823194b96 100644
--- a/lib/l10n/cs_CZ.php
+++ b/lib/l10n/cs_CZ.php
@@ -9,6 +9,7 @@
"Files need to be downloaded one by one." => "Soubory musí být stahovány jednotlivě.",
"Back to Files" => "Zpět k souborům",
"Selected files too large to generate zip file." => "Vybrané soubory jsou příliš velké pro vytvoření zip souboru.",
+"couldn't be determined" => "nelze zjistit",
"Application is not enabled" => "Aplikace není povolena",
"Authentication error" => "Chyba ověření",
"Token expired. Please reload page." => "Token vypršel. Obnovte prosím stránku.",
diff --git a/lib/l10n/de.php b/lib/l10n/de.php
index 4b77bf7210d..c285a07f63a 100644
--- a/lib/l10n/de.php
+++ b/lib/l10n/de.php
@@ -9,6 +9,7 @@
"Files need to be downloaded one by one." => "Die Dateien müssen einzeln heruntergeladen werden.",
"Back to Files" => "Zurück zu \"Dateien\"",
"Selected files too large to generate zip file." => "Die gewählten Dateien sind zu groß, um eine ZIP-Datei zu erstellen.",
+"couldn't be determined" => "Konnte nicht festgestellt werden",
"Application is not enabled" => "Die Anwendung ist nicht aktiviert",
"Authentication error" => "Authentifizierungs-Fehler",
"Token expired. Please reload page." => "Token abgelaufen. Bitte lade die Seite neu.",
diff --git a/lib/l10n/de_DE.php b/lib/l10n/de_DE.php
index e9f0f34a0e1..625ba2ecf20 100644
--- a/lib/l10n/de_DE.php
+++ b/lib/l10n/de_DE.php
@@ -9,6 +9,7 @@
"Files need to be downloaded one by one." => "Die Dateien müssen einzeln heruntergeladen werden.",
"Back to Files" => "Zurück zu \"Dateien\"",
"Selected files too large to generate zip file." => "Die gewählten Dateien sind zu groß, um eine ZIP-Datei zu erstellen.",
+"couldn't be determined" => "konnte nicht ermittelt werden",
"Application is not enabled" => "Die Anwendung ist nicht aktiviert",
"Authentication error" => "Authentifizierungs-Fehler",
"Token expired. Please reload page." => "Token abgelaufen. Bitte laden Sie die Seite neu.",
diff --git a/lib/l10n/el.php b/lib/l10n/el.php
index 315b995ecc9..cf0be24b432 100644
--- a/lib/l10n/el.php
+++ b/lib/l10n/el.php
@@ -9,6 +9,7 @@
"Files need to be downloaded one by one." => "Τα αÏχεία Ï€Ïέπει να ληφθοÏν ένα-ένα.",
"Back to Files" => "Πίσω στα ΑÏχεία",
"Selected files too large to generate zip file." => "Τα επιλεγμένα αÏχεία είναι μεγάλα ώστε να δημιουÏγηθεί αÏχείο zip.",
+"couldn't be determined" => "δεν μποÏοÏσε να Ï€ÏοσδιοÏισθεί",
"Application is not enabled" => "Δεν ενεÏγοποιήθηκε η εφαÏμογή",
"Authentication error" => "Σφάλμα πιστοποίησης",
"Token expired. Please reload page." => "Το αναγνωÏιστικό έληξε. ΠαÏακαλώ φοÏτώστε ξανά την σελίδα.",
diff --git a/lib/l10n/es.php b/lib/l10n/es.php
index f843c42dfd3..8bbc8a8f7b4 100644
--- a/lib/l10n/es.php
+++ b/lib/l10n/es.php
@@ -9,6 +9,7 @@
"Files need to be downloaded one by one." => "Los archivos deben ser descargados uno por uno.",
"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.",
+"couldn't be determined" => "no pudo ser determinado",
"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/es_AR.php b/lib/l10n/es_AR.php
index 2bbffd39e9e..c32017a10f8 100644
--- a/lib/l10n/es_AR.php
+++ b/lib/l10n/es_AR.php
@@ -9,6 +9,7 @@
"Files need to be downloaded one by one." => "Los archivos deben ser descargados de a uno.",
"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.",
+"couldn't be determined" => "no pudo ser determinado",
"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, recargá la página.",
diff --git a/lib/l10n/eu.php b/lib/l10n/eu.php
index 5d47ecbda23..1941551b176 100644
--- a/lib/l10n/eu.php
+++ b/lib/l10n/eu.php
@@ -9,6 +9,7 @@
"Files need to be downloaded one by one." => "Fitxategiak banan-banan deskargatu behar dira.",
"Back to Files" => "Itzuli fitxategietara",
"Selected files too large to generate zip file." => "Hautatuko fitxategiak oso handiak dira zip fitxategia sortzeko.",
+"couldn't be determined" => "ezin izan da zehaztu",
"Application is not enabled" => "Aplikazioa ez dago gaituta",
"Authentication error" => "Autentikazio errorea",
"Token expired. Please reload page." => "Tokena iraungitu da. Mesedez birkargatu orria.",
diff --git a/lib/l10n/fi_FI.php b/lib/l10n/fi_FI.php
index 6a5734e978d..b8d4b137431 100644
--- a/lib/l10n/fi_FI.php
+++ b/lib/l10n/fi_FI.php
@@ -9,6 +9,7 @@
"Files need to be downloaded one by one." => "Tiedostot on ladattava yksittäin.",
"Back to Files" => "Takaisin tiedostoihin",
"Selected files too large to generate zip file." => "Valitut tiedostot ovat liian suurikokoisia mahtuakseen zip-tiedostoon.",
+"couldn't be determined" => "ei voitu määrittää",
"Application is not enabled" => "Sovellusta ei ole otettu käyttöön",
"Authentication error" => "Todennusvirhe",
"Token expired. Please reload page." => "Valtuutus vanheni. Lataa sivu uudelleen.",
diff --git a/lib/l10n/fr.php b/lib/l10n/fr.php
index 218c22c1d53..c6bf8f7f9c3 100644
--- a/lib/l10n/fr.php
+++ b/lib/l10n/fr.php
@@ -9,6 +9,7 @@
"Files need to be downloaded one by one." => "Les fichiers nécessitent d'être téléchargés un par un.",
"Back to Files" => "Retour aux Fichiers",
"Selected files too large to generate zip file." => "Les fichiers sélectionnés sont trop volumineux pour être compressés.",
+"couldn't be determined" => "impossible à déterminer",
"Application is not enabled" => "L'application n'est pas activée",
"Authentication error" => "Erreur d'authentification",
"Token expired. Please reload page." => "La session a expiré. Veuillez recharger la page.",
diff --git a/lib/l10n/gl.php b/lib/l10n/gl.php
index 1e897959e41..532b3443b44 100644
--- a/lib/l10n/gl.php
+++ b/lib/l10n/gl.php
@@ -9,6 +9,7 @@
"Files need to be downloaded one by one." => "Os ficheiros necesitan seren descargados de un en un.",
"Back to Files" => "Volver aos ficheiros",
"Selected files too large to generate zip file." => "Os ficheiros seleccionados son demasiado grandes como para xerar un ficheiro zip.",
+"couldn't be determined" => "non puido ser determinado",
"Application is not enabled" => "O aplicativo non está activado",
"Authentication error" => "Produciuse un erro na autenticación",
"Token expired. Please reload page." => "Testemuña caducada. Recargue a páxina.",
diff --git a/lib/l10n/hu_HU.php b/lib/l10n/hu_HU.php
index 63704a978c5..e25de3e1ed6 100644
--- a/lib/l10n/hu_HU.php
+++ b/lib/l10n/hu_HU.php
@@ -5,22 +5,31 @@
"Users" => "Felhasználók",
"Apps" => "Alkalmazások",
"Admin" => "Admin",
-"ZIP download is turned off." => "ZIP-letöltés letiltva",
-"Files need to be downloaded one by one." => "A file-okat egyenként kell letölteni",
-"Back to Files" => "Vissza a File-okhoz",
-"Selected files too large to generate zip file." => "Túl nagy file-ok a zip-generáláshoz",
+"ZIP download is turned off." => "A ZIP-letöltés nincs engedélyezve.",
+"Files need to be downloaded one by one." => "A fájlokat egyenként kell letölteni",
+"Back to Files" => "Vissza a Fájlokhoz",
+"Selected files too large to generate zip file." => "A kiválasztott fájlok túl nagyok a zip tömörítéshez.",
+"couldn't be determined" => "nem határozható meg",
"Application is not enabled" => "Az alkalmazás nincs engedélyezve",
"Authentication error" => "Hitelesítési hiba",
-"Token expired. Please reload page." => "A token lejárt. Frissítsd az oldalt.",
+"Token expired. Please reload page." => "A token lejárt. Frissítse az oldalt.",
"Files" => "Fájlok",
"Text" => "Szöveg",
-"seconds ago" => "másodperccel ezelőtt",
-"1 minute ago" => "1 perccel ezelőtt",
-"%d minutes ago" => "%d perccel ezelőtt",
+"Images" => "Képek",
+"seconds ago" => "másodperce",
+"1 minute ago" => "1 perce",
+"%d minutes ago" => "%d perce",
+"1 hour ago" => "1 órája",
+"%d hours ago" => "%d órája",
"today" => "ma",
"yesterday" => "tegnap",
-"%d days ago" => "%d évvel ezelőtt",
+"%d days ago" => "%d napja",
"last month" => "múlt hónapban",
+"%d months ago" => "%d hónapja",
"last year" => "tavaly",
-"years ago" => "évvel ezelőtt"
+"years ago" => "éve",
+"%s is available. Get <a href=\"%s\">more information</a>" => "%s elérhető. <a href=\"%s\">További információ</a>.",
+"up to date" => "a legfrissebb változat",
+"updates check is disabled" => "A frissitések ellenőrzése nincs engedélyezve.",
+"Could not find category \"%s\"" => "Ez a kategória nem található: \"%s\""
);
diff --git a/lib/l10n/id.php b/lib/l10n/id.php
index e31b4caf4f5..8f0e38123b6 100644
--- a/lib/l10n/id.php
+++ b/lib/l10n/id.php
@@ -12,17 +12,23 @@
"Application is not enabled" => "aplikasi tidak diaktifkan",
"Authentication error" => "autentikasi bermasalah",
"Token expired. Please reload page." => "token kadaluarsa.mohon perbaharui laman.",
+"Files" => "Berkas",
"Text" => "teks",
+"Images" => "Gambar",
"seconds ago" => "beberapa detik yang lalu",
"1 minute ago" => "1 menit lalu",
"%d minutes ago" => "%d menit lalu",
+"1 hour ago" => "1 jam yang lalu",
+"%d hours ago" => "%d jam yang lalu",
"today" => "hari ini",
"yesterday" => "kemarin",
"%d days ago" => "%d hari lalu",
"last month" => "bulan kemarin",
+"%d months ago" => "%d bulan yang lalu",
"last year" => "tahun kemarin",
"years ago" => "beberapa tahun lalu",
"%s is available. Get <a href=\"%s\">more information</a>" => "%s tersedia. dapatkan <a href=\"%s\"> info lebih lanjut</a>",
"up to date" => "terbaru",
-"updates check is disabled" => "pengecekan pembaharuan sedang non-aktifkan"
+"updates check is disabled" => "pengecekan pembaharuan sedang non-aktifkan",
+"Could not find category \"%s\"" => "Tidak dapat menemukan kategori \"%s\""
);
diff --git a/lib/l10n/is.php b/lib/l10n/is.php
new file mode 100644
index 00000000000..8fdb45a05cd
--- /dev/null
+++ b/lib/l10n/is.php
@@ -0,0 +1,34 @@
+<?php $TRANSLATIONS = array(
+"Help" => "Hjálp",
+"Personal" => "Um mig",
+"Settings" => "Stillingar",
+"Users" => "Notendur",
+"Apps" => "Forrit",
+"Admin" => "Stjórnun",
+"ZIP download is turned off." => "Slökkt á ZIP niðurhali.",
+"Files need to be downloaded one by one." => "Skrárnar verður að sækja eina og eina",
+"Back to Files" => "Aftur í skrár",
+"Selected files too large to generate zip file." => "Valdar skrár eru of stórar til að búa til ZIP skrá.",
+"Application is not enabled" => "Forrit ekki virkt",
+"Authentication error" => "Villa við auðkenningu",
+"Token expired. Please reload page." => "Auðkenning útrunnin. Vinsamlegast skráðu þig aftur inn.",
+"Files" => "Skrár",
+"Text" => "Texti",
+"Images" => "Myndir",
+"seconds ago" => "sek.",
+"1 minute ago" => "Fyrir 1 mínútu",
+"%d minutes ago" => "fyrir %d mínútum",
+"1 hour ago" => "Fyrir 1 klst.",
+"%d hours ago" => "fyrir %d klst.",
+"today" => "í dag",
+"yesterday" => "í gær",
+"%d days ago" => "fyrir %d dögum",
+"last month" => "síðasta mánuði",
+"%d months ago" => "fyrir %d mánuðum",
+"last year" => "síðasta ári",
+"years ago" => "einhverjum árum",
+"%s is available. Get <a href=\"%s\">more information</a>" => "%s er í boði. Sækja <a href=\"%s\">meiri upplýsingar</a>",
+"up to date" => "nýjasta útgáfa",
+"updates check is disabled" => "uppfærslupróf er ekki virkjað",
+"Could not find category \"%s\"" => "Fann ekki flokkinn \"%s\""
+);
diff --git a/lib/l10n/it.php b/lib/l10n/it.php
index c0fb0babfb3..eb404db7fb5 100644
--- a/lib/l10n/it.php
+++ b/lib/l10n/it.php
@@ -9,6 +9,7 @@
"Files need to be downloaded one by one." => "I file devono essere scaricati uno alla volta.",
"Back to Files" => "Torna ai file",
"Selected files too large to generate zip file." => "I file selezionati sono troppo grandi per generare un file zip.",
+"couldn't be determined" => "non può essere determinato",
"Application is not enabled" => "L'applicazione non è abilitata",
"Authentication error" => "Errore di autenticazione",
"Token expired. Please reload page." => "Token scaduto. Ricarica la pagina.",
diff --git a/lib/l10n/ja_JP.php b/lib/l10n/ja_JP.php
index 854734c9764..11cefe900c2 100644
--- a/lib/l10n/ja_JP.php
+++ b/lib/l10n/ja_JP.php
@@ -9,6 +9,7 @@
"Files need to be downloaded one by one." => "ファイルã¯1ã¤ãšã¤ãƒ€ã‚¦ãƒ³ãƒ­ãƒ¼ãƒ‰ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚",
"Back to Files" => "ãƒ•ã‚¡ã‚¤ãƒ«ã«æˆ»ã‚‹",
"Selected files too large to generate zip file." => "é¸æŠžã—ãŸãƒ•ァイルã¯ZIPファイルã®ç”Ÿæˆã«ã¯å¤§ãã™ãŽã¾ã™ã€‚",
+"couldn't be determined" => "測定ã§ãã¾ã›ã‚“ã§ã—ãŸ",
"Application is not enabled" => "アプリケーションã¯ç„¡åйã§ã™",
"Authentication error" => "èªè¨¼ã‚¨ãƒ©ãƒ¼",
"Token expired. Please reload page." => "トークンãŒç„¡åйã«ãªã‚Šã¾ã—ãŸã€‚ページをå†èª­è¾¼ã—ã¦ãã ã•ã„。",
diff --git a/lib/l10n/lb.php b/lib/l10n/lb.php
index baee630e897..a5a9adca187 100644
--- a/lib/l10n/lb.php
+++ b/lib/l10n/lb.php
@@ -1,6 +1,8 @@
<?php $TRANSLATIONS = array(
+"Help" => "Hëllef",
"Personal" => "Perséinlech",
"Settings" => "Astellungen",
"Authentication error" => "Authentifikatioun's Fehler",
+"Files" => "Dateien",
"Text" => "SMS"
);
diff --git a/lib/l10n/ms_MY.php b/lib/l10n/ms_MY.php
index 86c7e51b486..5afee1cb5a8 100644
--- a/lib/l10n/ms_MY.php
+++ b/lib/l10n/ms_MY.php
@@ -1,4 +1,5 @@
<?php $TRANSLATIONS = array(
+"Help" => "Bantuan",
"Personal" => "Peribadi",
"Settings" => "Tetapan",
"Users" => "Pengguna",
diff --git a/lib/l10n/nb_NO.php b/lib/l10n/nb_NO.php
index b01e0979889..01144672caa 100644
--- a/lib/l10n/nb_NO.php
+++ b/lib/l10n/nb_NO.php
@@ -16,15 +16,19 @@
"Text" => "Tekst",
"Images" => "Bilder",
"seconds ago" => "sekunder siden",
-"1 minute ago" => "1 minuitt siden",
+"1 minute ago" => "1 minutt siden",
"%d minutes ago" => "%d minutter siden",
+"1 hour ago" => "1 time siden",
+"%d hours ago" => "%d timer siden",
"today" => "i dag",
"yesterday" => "i går",
"%d days ago" => "%d dager siden",
"last month" => "forrige måned",
+"%d months ago" => "%d måneder siden",
"last year" => "i fjor",
"years ago" => "Ã¥r siden",
"%s is available. Get <a href=\"%s\">more information</a>" => "%s er tilgjengelig. FÃ¥ <a href=\"%s\">mer informasjon</a>",
"up to date" => "oppdatert",
-"updates check is disabled" => "versjonssjekk er avslått"
+"updates check is disabled" => "versjonssjekk er avslått",
+"Could not find category \"%s\"" => "Kunne ikke finne kategori \"%s\""
);
diff --git a/lib/l10n/nl.php b/lib/l10n/nl.php
index 087cf23a627..7ce134e3621 100644
--- a/lib/l10n/nl.php
+++ b/lib/l10n/nl.php
@@ -9,6 +9,7 @@
"Files need to be downloaded one by one." => "Bestanden moeten één voor één worden gedownload.",
"Back to Files" => "Terug naar bestanden",
"Selected files too large to generate zip file." => "De geselecteerde bestanden zijn te groot om een zip bestand te maken.",
+"couldn't be determined" => "kon niet worden vastgesteld",
"Application is not enabled" => "De applicatie is niet actief",
"Authentication error" => "Authenticatie fout",
"Token expired. Please reload page." => "Token verlopen. Herlaad de pagina.",
diff --git a/lib/l10n/pt_PT.php b/lib/l10n/pt_PT.php
index 84867c4c37c..e35bb489c49 100644
--- a/lib/l10n/pt_PT.php
+++ b/lib/l10n/pt_PT.php
@@ -9,6 +9,7 @@
"Files need to be downloaded one by one." => "Os ficheiros precisam de ser descarregados um por um.",
"Back to Files" => "Voltar a Ficheiros",
"Selected files too large to generate zip file." => "Os ficheiros seleccionados são grandes demais para gerar um ficheiro zip.",
+"couldn't be determined" => "Não foi possível determinar",
"Application is not enabled" => "A aplicação não está activada",
"Authentication error" => "Erro na autenticação",
"Token expired. Please reload page." => "O token expirou. Por favor recarregue a página.",
diff --git a/lib/l10n/ro.php b/lib/l10n/ro.php
index 27912550e17..3f8e59cdac2 100644
--- a/lib/l10n/ro.php
+++ b/lib/l10n/ro.php
@@ -9,21 +9,27 @@
"Files need to be downloaded one by one." => "Fișierele trebuie descărcate unul câte unul.",
"Back to Files" => "Înapoi la fișiere",
"Selected files too large to generate zip file." => "Fișierele selectate sunt prea mari pentru a genera un fișier zip.",
+"couldn't be determined" => "nu poate fi determinat",
"Application is not enabled" => "Aplicația nu este activată",
"Authentication error" => "Eroare la autentificare",
"Token expired. Please reload page." => "Token expirat. Te rugăm să reîncarci pagina.",
"Files" => "Fișiere",
"Text" => "Text",
+"Images" => "Imagini",
"seconds ago" => "secunde în urmă",
"1 minute ago" => "1 minut în urmă",
"%d minutes ago" => "%d minute în urmă",
+"1 hour ago" => "Acum o ora",
+"%d hours ago" => "%d ore in urma",
"today" => "astăzi",
"yesterday" => "ieri",
"%d days ago" => "%d zile în urmă",
"last month" => "ultima lună",
+"%d months ago" => "%d luni in urma",
"last year" => "ultimul an",
"years ago" => "ani în urmă",
"%s is available. Get <a href=\"%s\">more information</a>" => "%s este disponibil. Vezi <a href=\"%s\">mai multe informații</a>",
"up to date" => "la zi",
-"updates check is disabled" => "verificarea după actualizări este dezactivată"
+"updates check is disabled" => "verificarea după actualizări este dezactivată",
+"Could not find category \"%s\"" => "Cloud nu a gasit categoria \"%s\""
);
diff --git a/lib/l10n/sr.php b/lib/l10n/sr.php
index 2ae7400ba79..34ae89a6219 100644
--- a/lib/l10n/sr.php
+++ b/lib/l10n/sr.php
@@ -9,6 +9,7 @@
"Files need to be downloaded one by one." => "Датотеке морате преузимати једну по једну.",
"Back to Files" => "Ðазад на датотеке",
"Selected files too large to generate zip file." => "Изабране датотеке Ñу превелике да биÑте направили ZIP датотеку.",
+"couldn't be determined" => "није одређено",
"Application is not enabled" => "Ðпликација није омогућена",
"Authentication error" => "Грешка при провери идентитета",
"Token expired. Please reload page." => "Жетон је иÑтекао. Поново учитајте Ñтраницу.",
diff --git a/lib/l10n/sv.php b/lib/l10n/sv.php
index 5799e2dd1a8..36f00636b2b 100644
--- a/lib/l10n/sv.php
+++ b/lib/l10n/sv.php
@@ -9,6 +9,7 @@
"Files need to be downloaded one by one." => "Filer laddas ner en åt gången.",
"Back to Files" => "Tillbaka till Filer",
"Selected files too large to generate zip file." => "Valda filer är för stora för att skapa zip-fil.",
+"couldn't be determined" => "kunde inte bestämmas",
"Application is not enabled" => "Applikationen är inte aktiverad",
"Authentication error" => "Fel vid autentisering",
"Token expired. Please reload page." => "Ogiltig token. Ladda om sidan.",
diff --git a/lib/l10n/th_TH.php b/lib/l10n/th_TH.php
index 75fa02f84b0..0da607a0589 100644
--- a/lib/l10n/th_TH.php
+++ b/lib/l10n/th_TH.php
@@ -9,6 +9,7 @@
"Files need to be downloaded one by one." => "ไฟล์สามารถดาวน์โหลดได้ทีละครั้งเท่านั้น",
"Back to Files" => "à¸à¸¥à¸±à¸šà¹„ปที่ไฟล์",
"Selected files too large to generate zip file." => "ไฟล์ที่เลือà¸à¸¡à¸µà¸‚นาดใหà¸à¹ˆà¹€à¸à¸´à¸™à¸à¸§à¹ˆà¸²à¸—ี่จะสร้างเป็นไฟล์ zip",
+"couldn't be determined" => "ไม่สามารถà¸à¸³à¸«à¸™à¸”ได้",
"Application is not enabled" => "à¹à¸­à¸žà¸žà¸¥à¸´à¹€à¸„ชั่นดังà¸à¸¥à¹ˆà¸²à¸§à¸¢à¸±à¸‡à¹„ม่ได้เปิดใช้งาน",
"Authentication error" => "เà¸à¸´à¸”ข้อผิดพลาดในสิทธิ์à¸à¸²à¸£à¹€à¸‚้าใช้งาน",
"Token expired. Please reload page." => "รหัสยืนยันความถูà¸à¸•้องหมดอายุà¹à¸¥à¹‰à¸§ à¸à¸£à¸¸à¸“าโหลดหน้าเว็บใหม่อีà¸à¸„รั้ง",
diff --git a/lib/l10n/tr.php b/lib/l10n/tr.php
index 69067d7ec57..e55caa15972 100644
--- a/lib/l10n/tr.php
+++ b/lib/l10n/tr.php
@@ -3,7 +3,33 @@
"Personal" => "KiÅŸisel",
"Settings" => "Ayarlar",
"Users" => "Kullanıcılar",
+"Apps" => "Uygulamalar",
+"Admin" => "Yönetici",
+"ZIP download is turned off." => "ZIP indirmeleri kapatılmıştır.",
+"Files need to be downloaded one by one." => "Dosyaların birer birer indirilmesi gerekmektedir.",
+"Back to Files" => "Dosyalara dön",
+"Selected files too large to generate zip file." => "Seçilen dosyalar bir zip dosyası oluşturmak için fazla büyüktür.",
+"couldn't be determined" => "tespit edilemedi",
+"Application is not enabled" => "Uygulama etkinleÅŸtirilmedi",
"Authentication error" => "Kimlik doğrulama hatası",
+"Token expired. Please reload page." => "Jetonun süresi geçti. Lütfen sayfayı yenileyin.",
"Files" => "Dosyalar",
-"Text" => "Metin"
+"Text" => "Metin",
+"Images" => "Resimler",
+"seconds ago" => "saniye önce",
+"1 minute ago" => "1 dakika önce",
+"%d minutes ago" => "%d dakika önce",
+"1 hour ago" => "1 saat önce",
+"%d hours ago" => "%d saat önce",
+"today" => "bugün",
+"yesterday" => "dün",
+"%d days ago" => "%d gün önce",
+"last month" => "geçen ay",
+"%d months ago" => "%d ay önce",
+"last year" => "geçen yıl",
+"years ago" => "yıl önce",
+"%s is available. Get <a href=\"%s\">more information</a>" => "%s kullanılabilir durumda. <a href=\"%s\">Daha fazla bilgi</a> alın",
+"up to date" => "güncel",
+"updates check is disabled" => "güncelleme kontrolü kapalı",
+"Could not find category \"%s\"" => "\"%s\" kategorisi bulunamadı"
);
diff --git a/lib/l10n/uk.php b/lib/l10n/uk.php
index f5d52f8682d..053644ddede 100644
--- a/lib/l10n/uk.php
+++ b/lib/l10n/uk.php
@@ -9,6 +9,7 @@
"Files need to be downloaded one by one." => "Файли повинні бути завантаженні поÑлідовно.",
"Back to Files" => "ПовернутиÑÑ Ð´Ð¾ файлів",
"Selected files too large to generate zip file." => "Вибрані фали завеликі Ð´Ð»Ñ Ð³ÐµÐ½ÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ zip файлу.",
+"couldn't be determined" => "не може бути визначено",
"Application is not enabled" => "Додаток не увімкнений",
"Authentication error" => "Помилка автентифікації",
"Token expired. Please reload page." => "Строк дії токена ÑкінчивÑÑ. Будь лаÑка, перезавантажте Ñторінку.",
diff --git a/lib/l10n/zh_TW.php b/lib/l10n/zh_TW.php
index 4dbf89c2e0e..62ab8fedd52 100644
--- a/lib/l10n/zh_TW.php
+++ b/lib/l10n/zh_TW.php
@@ -9,26 +9,27 @@
"Files need to be downloaded one by one." => "檔案需è¦é€ä¸€ä¸‹è¼‰",
"Back to Files" => "回到檔案列表",
"Selected files too large to generate zip file." => "鏿“‡çš„æª”案太大以致於無法產生壓縮檔",
+"couldn't be determined" => "無法判斷",
"Application is not enabled" => "æ‡‰ç”¨ç¨‹å¼æœªå•Ÿç”¨",
"Authentication error" => "èªè­‰éŒ¯èª¤",
-"Token expired. Please reload page." => "Token éŽæœŸ. è«‹é‡æ–°æ•´ç†é é¢",
+"Token expired. Please reload page." => "Token éŽæœŸï¼Œè«‹é‡æ–°æ•´ç†é é¢ã€‚",
"Files" => "檔案",
"Text" => "文字",
"Images" => "圖片",
"seconds ago" => "幾秒å‰",
"1 minute ago" => "1 分é˜å‰",
"%d minutes ago" => "%d 分é˜å‰",
-"1 hour ago" => "1å°æ™‚之å‰",
-"%d hours ago" => "%då°æ™‚之å‰",
+"1 hour ago" => "1 å°æ™‚之å‰",
+"%d hours ago" => "%d å°æ™‚之å‰",
"today" => "今天",
"yesterday" => "昨天",
"%d days ago" => "%d 天å‰",
"last month" => "上個月",
-"%d months ago" => "%d個月之å‰",
+"%d months ago" => "%d 個月之å‰",
"last year" => "去年",
"years ago" => "幾年å‰",
-"%s is available. Get <a href=\"%s\">more information</a>" => "%s 已經å¯ç”¨. å–å¾— <a href=\"%s\">更多資訊</a>",
+"%s is available. Get <a href=\"%s\">more information</a>" => "%s 已經å¯ç”¨ã€‚å–å¾— <a href=\"%s\">更多資訊</a>",
"up to date" => "最新的",
"updates check is disabled" => "檢查更新已åœç”¨",
-"Could not find category \"%s\"" => "找ä¸åˆ°åˆ†é¡ž-\"%s\""
+"Could not find category \"%s\"" => "找ä¸åˆ°åˆ†é¡žï¼š\"%s\""
);
diff --git a/lib/log.php b/lib/log.php
index e9cededa5c0..e869282e88c 100644
--- a/lib/log.php
+++ b/lib/log.php
@@ -39,7 +39,7 @@ class OC_Log {
$log_class::write($app, $message, $level);
}
}
-
+
//Fatal errors handler
public static function onShutdown() {
$error = error_get_last();
@@ -50,7 +50,7 @@ class OC_Log {
return true;
}
}
-
+
// Uncaught exception handler
public static function onException($exception) {
self::write('PHP', $exception->getMessage() . ' at ' . $exception->getFile() . '#' . $exception->getLine(), self::FATAL);
diff --git a/lib/mail.php b/lib/mail.php
index c78fcce88d4..ffc4d01b79f 100644
--- a/lib/mail.php
+++ b/lib/mail.php
@@ -25,15 +25,24 @@ class OC_Mail {
* @param string $mailtext
* @param string $fromaddress
* @param string $fromname
- * @param bool $html
+ * @param bool|int $html
+ * @param string $altbody
+ * @param string $ccaddress
+ * @param string $ccname
+ * @param string $bcc
+ * @throws Exception
*/
public static function send($toaddress,$toname,$subject,$mailtext,$fromaddress,$fromname,$html=0,$altbody='',$ccaddress='',$ccname='', $bcc='') {
$SMTPMODE = OC_Config::getValue( 'mail_smtpmode', 'sendmail' );
$SMTPHOST = OC_Config::getValue( 'mail_smtphost', '127.0.0.1' );
+ $SMTPPORT = OC_Config::getValue( 'mail_smtpport', 25 );
$SMTPAUTH = OC_Config::getValue( 'mail_smtpauth', false );
$SMTPUSERNAME = OC_Config::getValue( 'mail_smtpname', '' );
$SMTPPASSWORD = OC_Config::getValue( 'mail_smtppassword', '' );
+ $SMTPDEBUG = OC_Config::getValue( 'mail_smtpdebug', false );
+ $SMTPTIMEOUT = OC_Config::getValue( 'mail_smtptimeout', 10 );
+ $SMTPSECURE = OC_Config::getValue( 'mail_smtpsecure', '' );
$mailo = new PHPMailer(true);
@@ -49,13 +58,17 @@ class OC_Mail {
$mailo->Host = $SMTPHOST;
+ $mailo->Port = $SMTPPORT;
$mailo->SMTPAuth = $SMTPAUTH;
+ $mailo->SMTPDebug = $SMTPDEBUG;
+ $mailo->SMTPSecure = $SMTPSECURE;
$mailo->Username = $SMTPUSERNAME;
$mailo->Password = $SMTPPASSWORD;
+ $mailo->Timeout = $SMTPTIMEOUT;
- $mailo->From =$fromaddress;
+ $mailo->From = $fromaddress;
$mailo->FromName = $fromname;;
- $mailo->Sender =$fromaddress;
+ $mailo->Sender = $fromaddress;
$a=explode(' ', $toaddress);
try {
foreach($a as $ad) {
@@ -89,8 +102,6 @@ class OC_Mail {
}
}
-
-
/**
* return the footer for a mail
*
@@ -103,7 +114,4 @@ class OC_Mail {
return($txt);
}
-
-
-
}
diff --git a/lib/migrate.php b/lib/migrate.php
index 5ff8e338a44..87bdd016fe4 100644
--- a/lib/migrate.php
+++ b/lib/migrate.php
@@ -219,7 +219,7 @@ class OC_Migrate{
// We need to be an admin if we are not importing our own data
if(($type == 'user' && self::$uid != $currentuser) || $type != 'user' ) {
- if( !OC_Group::inGroup( OC_User::getUser(), 'admin' )) {
+ if( !OC_User::isAdminUser($currentuser)) {
// Naughty.
OC_Log::write( 'migration', 'Import not permitted.', OC_Log::ERROR );
return json_encode( array( 'success' => false ) );
@@ -655,7 +655,7 @@ class OC_Migrate{
$query = OC_DB::prepare( "INSERT INTO `*PREFIX*users` ( `uid`, `password` ) VALUES( ?, ? )" );
$result = $query->execute( array( $uid, $hash));
if( !$result ) {
- OC_Log::write('migration', 'Failed to create the new user "'.$uid."");
+ OC_Log::write('migration', 'Failed to create the new user "'.$uid."", OC_Log::ERROR);
}
return $result ? true : false;
diff --git a/lib/migration/content.php b/lib/migration/content.php
index 00df62f0c7f..e81c8f217ff 100644
--- a/lib/migration/content.php
+++ b/lib/migration/content.php
@@ -66,7 +66,7 @@ class OC_Migration_Content{
// Die if we have an error (error means: bad query, not 0 results!)
if( PEAR::isError( $query ) ) {
- $entry = 'DB Error: "'.$result->getMessage().'"<br />';
+ $entry = 'DB Error: "'.$query->getMessage().'"<br />';
$entry .= 'Offending command was: '.$query.'<br />';
OC_Log::write( 'migration', $entry, OC_Log::FATAL );
return false;
diff --git a/lib/mimetypes.list.php b/lib/mimetypes.list.php
index 77b97917583..fc87d011ecd 100644
--- a/lib/mimetypes.list.php
+++ b/lib/mimetypes.list.php
@@ -95,4 +95,6 @@ return array(
'cdr' => 'application/coreldraw',
'impress' => 'text/impress',
'ai' => 'application/illustrator',
+ 'epub' => 'application/epub+zip',
+ 'mobi' => 'application/x-mobipocket-ebook',
);
diff --git a/lib/ocs.php b/lib/ocs.php
index 1a0abf0e367..879aaa76687 100644
--- a/lib/ocs.php
+++ b/lib/ocs.php
@@ -73,14 +73,7 @@ class OC_OCS {
}
}
- /**
- main function to handle the REST request
- **/
- public static function handle() {
- // overwrite the 404 error page returncode
- header("HTTP/1.0 200 OK");
-
-
+ public static function notFound() {
if($_SERVER['REQUEST_METHOD'] == 'GET') {
$method='get';
}elseif($_SERVER['REQUEST_METHOD'] == 'PUT') {
@@ -94,169 +87,10 @@ class OC_OCS {
}
$format = self::readData($method, 'format', 'text', '');
+ $txt='Invalid query, please check the syntax. API specifications are here: http://www.freedesktop.org/wiki/Specifications/open-collaboration-services. DEBUG OUTPUT:'."\n";
+ $txt.=OC_OCS::getDebugOutput();
+ echo(OC_OCS::generateXml($format,'failed',999,$txt));
- $router = new OC_Router();
- $router->useCollection('root');
- // CONFIG
- $router->create('config', '/config.{format}')
- ->defaults(array('format' => $format))
- ->action('OC_OCS', 'apiConfig')
- ->requirements(array('format'=>'xml|json'));
-
- // PERSON
- $router->create('person_check', '/person/check.{format}')
- ->post()
- ->defaults(array('format' => $format))
- ->action(function ($parameters) {
- $format = $parameters['format'];
- $login = OC_OCS::readData('post', 'login', 'text');
- $passwd = OC_OCS::readData('post', 'password', 'text');
- OC_OCS::personCheck($format, $login, $passwd);
- })
- ->requirements(array('format'=>'xml|json'));
-
- // ACTIVITY
- // activityget - GET ACTIVITY page,pagesize als urlparameter
- $router->create('activity_get', '/activity.{format}')
- ->defaults(array('format' => $format))
- ->action(function ($parameters) {
- $format = $parameters['format'];
- $page = OC_OCS::readData('get', 'page', 'int', 0);
- $pagesize = OC_OCS::readData('get', 'pagesize', 'int', 10);
- if($pagesize<1 or $pagesize>100) $pagesize=10;
- OC_OCS::activityGet($format, $page, $pagesize);
- })
- ->requirements(array('format'=>'xml|json'));
- // activityput - POST ACTIVITY
- $router->create('activity_put', '/activity.{format}')
- ->post()
- ->defaults(array('format' => $format))
- ->action(function ($parameters) {
- $format = $parameters['format'];
- $message = OC_OCS::readData('post', 'message', 'text');
- OC_OCS::activityPut($format, $message);
- })
- ->requirements(array('format'=>'xml|json'));
-
- // PRIVATEDATA
- // get - GET DATA
- $router->create('privatedata_get',
- '/privatedata/getattribute/{app}/{key}.{format}')
- ->defaults(array('app' => '', 'key' => '', 'format' => $format))
- ->action(function ($parameters) {
- $format = $parameters['format'];
- $app = addslashes(strip_tags($parameters['app']));
- $key = addslashes(strip_tags($parameters['key']));
- OC_OCS::privateDataGet($format, $app, $key);
- })
- ->requirements(array('format'=>'xml|json'));
- // set - POST DATA
- $router->create('privatedata_set',
- '/privatedata/setattribute/{app}/{key}.{format}')
- ->post()
- ->defaults(array('format' => $format))
- ->action(function ($parameters) {
- $format = $parameters['format'];
- $app = addslashes(strip_tags($parameters['app']));
- $key = addslashes(strip_tags($parameters['key']));
- $value=OC_OCS::readData('post', 'value', 'text');
- OC_OCS::privateDataSet($format, $app, $key, $value);
- })
- ->requirements(array('format'=>'xml|json'));
- // delete - POST DATA
- $router->create('privatedata_delete',
- '/privatedata/deleteattribute/{app}/{key}.{format}')
- ->post()
- ->defaults(array('format' => $format))
- ->action(function ($parameters) {
- $format = $parameters['format'];
- $app = addslashes(strip_tags($parameters['app']));
- $key = addslashes(strip_tags($parameters['key']));
- OC_OCS::privateDataDelete($format, $app, $key);
- })
- ->requirements(array('format'=>'xml|json'));
-
- // CLOUD
- // systemWebApps
- $router->create('system_webapps',
- '/cloud/system/webapps.{format}')
- ->defaults(array('format' => $format))
- ->action(function ($parameters) {
- $format = $parameters['format'];
- OC_OCS::systemwebapps($format);
- })
- ->requirements(array('format'=>'xml|json'));
-
- // quotaget
- $router->create('quota_get',
- '/cloud/user/{user}.{format}')
- ->defaults(array('format' => $format))
- ->action(function ($parameters) {
- $format = $parameters['format'];
- $user = $parameters['user'];
- OC_OCS::quotaGet($format, $user);
- })
- ->requirements(array('format'=>'xml|json'));
- // quotaset
- $router->create('quota_set',
- '/cloud/user/{user}.{format}')
- ->post()
- ->defaults(array('format' => $format))
- ->action(function ($parameters) {
- $format = $parameters['format'];
- $user = $parameters['user'];
- $quota = self::readData('post', 'quota', 'int');
- OC_OCS::quotaSet($format, $user, $quota);
- })
- ->requirements(array('format'=>'xml|json'));
-
- // keygetpublic
- $router->create('keygetpublic',
- '/cloud/user/{user}/publickey.{format}')
- ->defaults(array('format' => $format))
- ->action(function ($parameters) {
- $format = $parameters['format'];
- $user = $parameters['user'];
- OC_OCS::publicKeyGet($format, $user);
- })
- ->requirements(array('format'=>'xml|json'));
-
- // keygetprivate
- $router->create('keygetpublic',
- '/cloud/user/{user}/privatekey.{format}')
- ->defaults(array('format' => $format))
- ->action(function ($parameters) {
- $format = $parameters['format'];
- $user = $parameters['user'];
- OC_OCS::privateKeyGet($format, $user);
- })
- ->requirements(array('format'=>'xml|json'));
-
-
-// add more calls here
-// please document all the call in the draft spec
-// http://www.freedesktop.org/wiki/Specifications/open-collaboration-services-1.7#CLOUD
-
-// TODO:
-// users
-// groups
-// bookmarks
-// sharing
-// versioning
-// news (rss)
- try {
- $router->match($_SERVER['PATH_INFO']);
- } catch (ResourceNotFoundException $e) {
- $txt='Invalid query, please check the syntax. '
- .'API specifications are here: '
- .'http://www.freedesktop.org/wiki/Specifications/open-collaboration-services.'
- .'DEBUG OUTPUT:'."\n";
- $txt.=OC_OCS::getdebugoutput();
- echo(OC_OCS::generatexml($format, 'failed', 999, $txt));
- } catch (MethodNotAllowedException $e) {
- OC_Response::setStatus(405);
- }
- exit();
}
/**
@@ -273,44 +107,6 @@ class OC_OCS {
return($txt);
}
- /**
- * checks if the user is authenticated
- * checks the IP whitlist, apikeys and login/password combination
- * if $forceuser is true and the authentication failed it returns an 401 http response.
- * if $forceuser is false and authentification fails it returns an empty username string
- * @param bool $forceuser
- * @return username string
- */
- private static function checkPassword($forceuser=true) {
- //valid user account ?
- if(isset($_SERVER['PHP_AUTH_USER'])) $authuser=$_SERVER['PHP_AUTH_USER']; else $authuser='';
- if(isset($_SERVER['PHP_AUTH_PW'])) $authpw=$_SERVER['PHP_AUTH_PW']; else $authpw='';
-
- if(empty($authuser)) {
- if($forceuser) {
- header('WWW-Authenticate: Basic realm="your valid user account or api key"');
- header('HTTP/1.0 401 Unauthorized');
- exit;
- }else{
- $identifieduser='';
- }
- }else{
- if(!OC_User::login($authuser, $authpw)) {
- if($forceuser) {
- header('WWW-Authenticate: Basic realm="your valid user account or api key"');
- header('HTTP/1.0 401 Unauthorized');
- exit;
- }else{
- $identifieduser='';
- }
- }else{
- $identifieduser=$authuser;
- }
- }
-
- return($identifieduser);
- }
-
/**
* generates the xml or json response for the API call from an multidimenional data array.
@@ -432,130 +228,6 @@ class OC_OCS {
}
/**
- * return the config data of this server
- * @param string $format
- * @return string xml/json
- */
- public static function apiConfig($parameters) {
- $format = $parameters['format'];
- $user=OC_OCS::checkpassword(false);
- $url=substr(OCP\Util::getServerHost().$_SERVER['SCRIPT_NAME'], 0, -11).'';
-
- $xml['version']='1.7';
- $xml['website']='ownCloud';
- $xml['host']=OCP\Util::getServerHost();
- $xml['contact']='';
- $xml['ssl']='false';
- echo(OC_OCS::generatexml($format, 'ok', 100, '', $xml, 'config', '', 1));
- }
-
- /**
- * check if the provided login/apikey/password is valid
- * @param string $format
- * @param string $login
- * @param string $passwd
- * @return string xml/json
- */
- private static function personCheck($format, $login, $passwd) {
- if($login<>'') {
- if(OC_User::login($login, $passwd)) {
- $xml['person']['personid']=$login;
- echo(OC_OCS::generatexml($format, 'ok', 100, '', $xml, 'person', 'check', 2));
- }else{
- echo(OC_OCS::generatexml($format, 'failed', 102, 'login not valid'));
- }
- }else{
- echo(OC_OCS::generatexml($format, 'failed', 101, 'please specify all mandatory fields'));
- }
- }
-
- // ACTIVITY API #############################################
-
- /**
- * get my activities
- * @param string $format
- * @param string $page
- * @param string $pagesize
- * @return string xml/json
- */
- private static function activityGet($format, $page, $pagesize) {
- $user=OC_OCS::checkpassword();
-
- //TODO
-
- $txt=OC_OCS::generatexml($format, 'ok', 100, '', $xml, 'activity', 'full', 2, $totalcount, $pagesize);
- echo($txt);
- }
-
- /**
- * submit a activity
- * @param string $format
- * @param string $message
- * @return string xml/json
- */
- private static function activityPut($format, $message) {
- // not implemented in ownCloud
- $user=OC_OCS::checkpassword();
- echo(OC_OCS::generatexml($format, 'ok', 100, ''));
- }
-
- // PRIVATEDATA API #############################################
-
- /**
- * get private data and create the xml for ocs
- * @param string $format
- * @param string $app
- * @param string $key
- * @return string xml/json
- */
- private static function privateDataGet($format, $app="", $key="") {
- $user=OC_OCS::checkpassword();
- $result=OC_OCS::getData($user, $app, $key);
- $xml=array();
- foreach($result as $i=>$log) {
- $xml[$i]['key']=$log['key'];
- $xml[$i]['app']=$log['app'];
- $xml[$i]['value']=$log['value'];
- }
-
-
- $txt=OC_OCS::generatexml($format, 'ok', 100, '', $xml, 'privatedata', 'full', 2, count($xml), 0);//TODO: replace 'privatedata' with 'attribute' once a new libattice has been released that works with it
- echo($txt);
- }
-
- /**
- * set private data referenced by $key to $value and generate the xml for ocs
- * @param string $format
- * @param string $app
- * @param string $key
- * @param string $value
- * @return string xml/json
- */
- private static function privateDataSet($format, $app, $key, $value) {
- $user=OC_OCS::checkpassword();
- if(OC_OCS::setData($user, $app, $key, $value)) {
- echo(OC_OCS::generatexml($format, 'ok', 100, ''));
- }
- }
-
- /**
- * delete private data referenced by $key and generate the xml for ocs
- * @param string $format
- * @param string $app
- * @param string $key
- * @return string xml/json
- */
- private static function privateDataDelete($format, $app, $key) {
- if($key=="" or $app=="") {
- return; //key and app are NOT optional here
- }
- $user=OC_OCS::checkpassword();
- if(OC_OCS::deleteData($user, $app, $key)) {
- echo(OC_OCS::generatexml($format, 'ok', 100, ''));
- }
- }
-
- /**
* get private data
* @param string $user
* @param string $app
@@ -586,156 +258,4 @@ class OC_OCS {
return $result;
}
- /**
- * set private data referenced by $key to $value
- * @param string $user
- * @param string $app
- * @param string $key
- * @param string $value
- * @return bool
- */
- public static function setData($user, $app, $key, $value) {
- return OC_Preferences::setValue($user, $app, $key, $value);
- }
-
- /**
- * delete private data referenced by $key
- * @param string $user
- * @param string $app
- * @param string $key
- * @return string xml/json
- */
- public static function deleteData($user, $app, $key) {
- return OC_Preferences::deleteKey($user, $app, $key);
- }
-
-
- // CLOUD API #############################################
-
- /**
- * get a list of installed web apps
- * @param string $format
- * @return string xml/json
- */
- private static function systemWebApps($format) {
- $login=OC_OCS::checkpassword();
- $apps=OC_App::getEnabledApps();
- $values=array();
- foreach($apps as $app) {
- $info=OC_App::getAppInfo($app);
- if(isset($info['standalone'])) {
- $newvalue=array('name'=>$info['name'], 'url'=>OC_Helper::linkToAbsolute($app, ''), 'icon'=>'');
- $values[]=$newvalue;
- }
-
- }
- $txt=OC_OCS::generatexml($format, 'ok', 100, '', $values, 'cloud', '', 2, 0, 0);
- echo($txt);
-
- }
-
-
- /**
- * get the quota of a user
- * @param string $format
- * @param string $user
- * @return string xml/json
- */
- private static function quotaGet($format, $user) {
- $login=OC_OCS::checkpassword();
- if(OC_Group::inGroup($login, 'admin') or ($login==$user)) {
-
- if(OC_User::userExists($user)) {
- // calculate the disc space
- $user_dir = '/'.$user.'/files';
- OC_Filesystem::init($user_dir);
- $rootInfo=OC_FileCache::get('');
- $sharedInfo=OC_FileCache::get('/Shared');
- $used=$rootInfo['size']-$sharedInfo['size'];
- $free=OC_Filesystem::free_space();
- $total=$free+$used;
- if($total==0) $total=1; // prevent division by zero
- $relative=round(($used/$total)*10000)/100;
-
- $xml=array();
- $xml['quota']=$total;
- $xml['free']=$free;
- $xml['used']=$used;
- $xml['relative']=$relative;
-
- $txt=OC_OCS::generatexml($format, 'ok', 100, '', $xml, 'cloud', '', 1, 0, 0);
- echo($txt);
- }else{
- echo self::generateXml('', 'fail', 300, 'User does not exist');
- }
- }else{
- echo self::generateXml('', 'fail', 300, 'You don´t have permission to access this ressource.');
- }
- }
-
- /**
- * set the quota of a user
- * @param string $format
- * @param string $user
- * @param string $quota
- * @return string xml/json
- */
- private static function quotaSet($format, $user, $quota) {
- $login=OC_OCS::checkpassword();
- if(OC_Group::inGroup($login, 'admin')) {
-
- // todo
- // not yet implemented
- // add logic here
- error_log('OCS call: user:'.$user.' quota:'.$quota);
-
- $xml=array();
- $txt=OC_OCS::generatexml($format, 'ok', 100, '', $xml, 'cloud', '', 1, 0, 0);
- echo($txt);
- }else{
- echo self::generateXml('', 'fail', 300, 'You don´t have permission to access this ressource.');
- }
- }
-
- /**
- * get the public key of a user
- * @param string $format
- * @param string $user
- * @return string xml/json
- */
- private static function publicKeyGet($format, $user) {
- $login=OC_OCS::checkpassword();
-
- if(OC_User::userExists($user)) {
- // calculate the disc space
- $txt='this is the public key of '.$user;
- echo($txt);
- }else{
- echo self::generateXml('', 'fail', 300, 'User does not exist');
- }
- }
-
- /**
- * get the private key of a user
- * @param string $format
- * @param string $user
- * @return string xml/json
- */
- private static function privateKeyGet($format, $user) {
- $login=OC_OCS::checkpassword();
- if(OC_Group::inGroup($login, 'admin') or ($login==$user)) {
-
- if(OC_User::userExists($user)) {
- // calculate the disc space
- $txt='this is the private key of '.$user;
- echo($txt);
- }else{
- echo self::generateXml('', 'fail', 300, 'User does not exist');
- }
- }else{
- echo self::generateXml('', 'fail', 300, 'You don´t have permission to access this ressource.');
- }
- }
-
-
}
diff --git a/lib/ocs/activity.php b/lib/ocs/activity.php
new file mode 100644
index 00000000000..c30e21018d3
--- /dev/null
+++ b/lib/ocs/activity.php
@@ -0,0 +1,28 @@
+<?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/ocs/cloud.php b/lib/ocs/cloud.php
new file mode 100644
index 00000000000..2d18b1db3f2
--- /dev/null
+++ b/lib/ocs/cloud.php
@@ -0,0 +1,98 @@
+<?php
+/**
+* ownCloud
+*
+* @author Frank Karlitschek
+* @author Tom Needham
+* @copyright 2012 Frank Karlitschek frank@owncloud.org
+* @copyright 2012 Tom Needham tom@owncloud.com
+*
+* 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_Cloud {
+
+ public static function getSystemWebApps() {
+ OC_Util::checkLoggedIn();
+ $apps = OC_App::getEnabledApps();
+ $values = array();
+ foreach($apps as $app) {
+ $info = OC_App::getAppInfo($app);
+ if(isset($info['standalone'])) {
+ $newValue = array('name'=>$info['name'],'url'=>OC_Helper::linkToAbsolute($app,''),'icon'=>'');
+ $values[] = $newValue;
+ }
+ }
+ return new OC_OCS_Result($values);
+ }
+
+ public static function getUserQuota($parameters) {
+ $user = OC_User::getUser();
+ if(OC_User::isAdminUser($user) or ($user==$parameters['user'])) {
+
+ if(OC_User::userExists($parameters['user'])) {
+ // calculate the disc space
+ $userDir = '/'.$parameters['user'].'/files';
+ OC_Filesystem::init($userDir);
+ $rootInfo = OC_FileCache::get('');
+ $sharedInfo = OC_FileCache::get('/Shared');
+ $used = $rootInfo['size'] - $sharedInfo['size'];
+ $free = OC_Filesystem::free_space();
+ $total = $free + $used;
+ if($total===0) $total = 1; // prevent division by zero
+ $relative = round(($used/$total)*10000)/100;
+
+ $xml = array();
+ $xml['quota'] = $total;
+ $xml['free'] = $free;
+ $xml['used'] = $used;
+ $xml['relative'] = $relative;
+
+ return new OC_OCS_Result($xml);
+ } else {
+ return new OC_OCS_Result(null, 300);
+ }
+ } else {
+ return new OC_OCS_Result(null, 300);
+ }
+ }
+
+ public static function getUserPublickey($parameters) {
+
+ if(OC_User::userExists($parameters['user'])) {
+ // calculate the disc space
+ // TODO
+ return new OC_OCS_Result(array());
+ } else {
+ return new OC_OCS_Result(null, 300);
+ }
+ }
+
+ public static function getUserPrivatekey($parameters) {
+ $user = OC_User::getUser();
+ if(OC_User::isAdminUser($user) or ($user==$parameters['user'])) {
+
+ if(OC_User::userExists($user)) {
+ // calculate the disc space
+ $txt = 'this is the private key of '.$parameters['user'];
+ echo($txt);
+ } else {
+ return new OC_OCS_Result(null, 300, 'User does not exist');
+ }
+ } else {
+ return new OC_OCS_Result('null', 300, 'You don´t have permission to access this ressource.');
+ }
+ }
+}
diff --git a/lib/ocs/config.php b/lib/ocs/config.php
new file mode 100644
index 00000000000..f19121f4b2b
--- /dev/null
+++ b/lib/ocs/config.php
@@ -0,0 +1,36 @@
+<?php
+/**
+* ownCloud
+*
+* @author Frank Karlitschek
+* @author Tom Needham
+* @copyright 2012 Frank Karlitschek frank@owncloud.org
+* @copyright 2012 Tom Needham tom@owncloud.com
+*
+* 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_Config {
+
+ public static function apiConfig($parameters) {
+ $xml['version'] = '1.7';
+ $xml['website'] = 'ownCloud';
+ $xml['host'] = OCP\Util::getServerHost();
+ $xml['contact'] = '';
+ $xml['ssl'] = 'false';
+ return new OC_OCS_Result($xml);
+ }
+
+}
diff --git a/lib/ocs/person.php b/lib/ocs/person.php
new file mode 100644
index 00000000000..1c8210d0825
--- /dev/null
+++ b/lib/ocs/person.php
@@ -0,0 +1,42 @@
+<?php
+/**
+* ownCloud
+*
+* @author Frank Karlitschek
+* @author Tom Needham
+* @copyright 2012 Frank Karlitschek frank@owncloud.org
+* @copyright 2012 Tom Needham tom@owncloud.com
+*
+* 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_Person {
+
+ public static function check($parameters) {
+ $login = isset($_POST['login']) ? $_POST['login'] : false;
+ $password = isset($_POST['password']) ? $_POST['password'] : false;
+ if($login && $password) {
+ if(OC_User::checkPassword($login, $password)) {
+ $xml['person']['personid'] = $login;
+ return new OC_OCS_Result($xml);
+ } else {
+ return new OC_OCS_Result(null, 102);
+ }
+ } else {
+ return new OC_OCS_Result(null, 101);
+ }
+ }
+
+}
diff --git a/lib/ocs/privatedata.php b/lib/ocs/privatedata.php
new file mode 100644
index 00000000000..311b24269dd
--- /dev/null
+++ b/lib/ocs/privatedata.php
@@ -0,0 +1,66 @@
+<?php
+/**
+* ownCloud
+*
+* @author Frank Karlitschek
+* @author Tom Needham
+* @copyright 2012 Frank Karlitschek frank@owncloud.org
+* @copyright 2012 Tom Needham tom@owncloud.com
+*
+* 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_Privatedata {
+
+ public static function get($parameters) {
+ OC_Util::checkLoggedIn();
+ $user = OC_User::getUser();
+ $app = addslashes(strip_tags($parameters['app']));
+ $key = addslashes(strip_tags($parameters['key']));
+ $result = OC_OCS::getData($user,$app,$key);
+ $xml = array();
+ foreach($result as $i=>$log) {
+ $xml[$i]['key']=$log['key'];
+ $xml[$i]['app']=$log['app'];
+ $xml[$i]['value']=$log['value'];
+ }
+ return new OC_OCS_Result($xml);
+ //TODO: replace 'privatedata' with 'attribute' once a new libattice has been released that works with it
+ }
+
+ public static function set($parameters) {
+ OC_Util::checkLoggedIn();
+ $user = OC_User::getUser();
+ $app = addslashes(strip_tags($parameters['app']));
+ $key = addslashes(strip_tags($parameters['key']));
+ $value = OC_OCS::readData('post', 'value', 'text');
+ if(OC_Preferences::setValue($user, $app, $key, $value)){
+ return new OC_OCS_Result(null, 100);
+ }
+ }
+
+ public static function delete($parameters) {
+ OC_Util::checkLoggedIn();
+ $user = OC_User::getUser();
+ $app = addslashes(strip_tags($parameters['app']));
+ $key = addslashes(strip_tags($parameters['key']));
+ if($key==="" or $app==="") {
+ return new OC_OCS_Result(null, 101); //key and app are NOT optional here
+ }
+ if(OC_Preferences::deleteKey($user, $app, $key)) {
+ return new OC_OCS_Result(null, 100);
+ }
+ }
+}
diff --git a/lib/ocs/result.php b/lib/ocs/result.php
new file mode 100644
index 00000000000..65b2067fc3f
--- /dev/null
+++ b/lib/ocs/result.php
@@ -0,0 +1,75 @@
+<?php
+/**
+* ownCloud
+*
+* @author Tom Needham
+* @copyright 2012 Tom Needham tom@owncloud.com
+*
+* 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_Result{
+
+ private $data, $message, $statusCode, $items, $perPage;
+
+ /**
+ * create the OCS_Result object
+ * @param $data mixed the data to return
+ */
+ public function __construct($data=null, $code=100, $message=null) {
+ $this->data = $data;
+ $this->statusCode = $code;
+ $this->message = $message;
+ }
+
+ /**
+ * optionally set the total number of items available
+ * @param $items int
+ */
+ public function setTotalItems(int $items) {
+ $this->items = $items;
+ }
+
+ /**
+ * optionally set the the number of items per page
+ * @param $items int
+ */
+ public function setItemsPerPage(int $items) {
+ $this->perPage = $items;
+ }
+
+ /**
+ * returns the data associated with the api result
+ * @return array
+ */
+ public function getResult() {
+ $return = array();
+ $return['meta'] = array();
+ $return['meta']['status'] = ($this->statusCode === 100) ? 'ok' : 'failure';
+ $return['meta']['statuscode'] = $this->statusCode;
+ $return['meta']['message'] = $this->message;
+ if(isset($this->items)) {
+ $return['meta']['totalitems'] = $this->items;
+ }
+ if(isset($this->perPage)) {
+ $return['meta']['itemsperpage'] = $this->perPage;
+ }
+ $return['data'] = $this->data;
+ // Return the result data.
+ return $return;
+ }
+
+
+} \ No newline at end of file
diff --git a/lib/ocsclient.php b/lib/ocsclient.php
index 24081425f1e..ca0665da436 100644
--- a/lib/ocsclient.php
+++ b/lib/ocsclient.php
@@ -39,11 +39,11 @@ 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
- */
+ /**
+ * @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);
@@ -59,7 +59,7 @@ class OC_OCSClient{
return($data);
}
- /**
+ /**
* @brief Get all the categories from the OCS server
* @returns array with category ids
* @note returns NULL if config value appstoreenabled is set to false
@@ -242,7 +242,7 @@ class OC_OCSClient{
}
$kbe['totalitems'] = $data->meta->totalitems;
}
- return $kbe;
+ return $kbe;
}
diff --git a/lib/public/api.php b/lib/public/api.php
new file mode 100644
index 00000000000..95d333f2165
--- /dev/null
+++ b/lib/public/api.php
@@ -0,0 +1,44 @@
+<?php
+/**
+* ownCloud
+*
+* @author Tom Needham
+* @copyright 2012 Tom Needham tom@owncloud.com
+*
+* 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/>.
+*
+*/
+
+namespace OCP;
+
+/**
+ * This class provides functions to manage apps in ownCloud
+ */
+class API {
+
+ /**
+ * registers an api call
+ * @param string $method the http method
+ * @param string $url the url to match
+ * @param callable $action the function to run
+ * @param string $app the id of the app registering the call
+ * @param int $authLevel the level of authentication required for the call (See OC_API constants)
+ * @param array $defaults
+ * @param array $requirements
+ */
+ public static function register($method, $url, $action, $app, $authLevel = OC_API::USER_AUTH, $defaults = array(), $requirements = array()){
+ \OC_API::register($method, $url, $action, $app, $authLevel, $defaults, $requirements);
+ }
+
+}
diff --git a/lib/public/app.php b/lib/public/app.php
index 809a656f17f..a1ecf524cc8 100644
--- a/lib/public/app.php
+++ b/lib/public/app.php
@@ -89,7 +89,7 @@ class App {
* @param $page string page to be included
*/
public static function registerPersonal( $app, $page ) {
- return \OC_App::registerPersonal( $app, $page );
+ \OC_App::registerPersonal( $app, $page );
}
/**
@@ -98,7 +98,7 @@ class App {
* @param $page string page to be included
*/
public static function registerAdmin( $app, $page ) {
- return \OC_App::registerAdmin( $app, $page );
+ \OC_App::registerAdmin( $app, $page );
}
/**
@@ -125,10 +125,9 @@ class App {
/**
* @brief Check if the app is enabled, redirects to home if not
* @param $app app
- * @returns true/false
*/
public static function checkAppEnabled( $app ) {
- return \OC_Util::checkAppEnabled( $app );
+ \OC_Util::checkAppEnabled( $app );
}
/**
diff --git a/lib/public/constants.php b/lib/public/constants.php
index bc979c9031f..1495c620dc9 100644
--- a/lib/public/constants.php
+++ b/lib/public/constants.php
@@ -35,4 +35,3 @@ const PERMISSION_UPDATE = 2;
const PERMISSION_DELETE = 8;
const PERMISSION_SHARE = 16;
const PERMISSION_ALL = 31;
-
diff --git a/lib/public/db.php b/lib/public/db.php
index 92ff8f93a22..932e79d9ef1 100644
--- a/lib/public/db.php
+++ b/lib/public/db.php
@@ -36,8 +36,8 @@ namespace OCP;
class DB {
/**
* @brief Prepare a SQL query
- * @param $query Query string
- * @returns prepared SQL query
+ * @param string $query Query string
+ * @return \MDB2_Statement_Common prepared SQL query
*
* SQL query via MDB2 prepare(), needs to be execute()'d!
*/
@@ -49,9 +49,9 @@ class DB {
* @brief Insert a row if a matching row doesn't exists.
* @param $table string The table name (will replace *PREFIX*) to perform the replace on.
* @param $input array
- *
+ *
* The input array if in the form:
- *
+ *
* array ( 'id' => array ( 'value' => 6,
* 'key' => true
* ),
@@ -59,17 +59,17 @@ class DB {
* 'family' => array ('value' => 'Stefanov'),
* 'birth_date' => array ('value' => '1975-06-20')
* );
- * @returns true/false
+ * @return bool
*
*/
public static function insertIfNotExist($table, $input) {
return(\OC_DB::insertIfNotExist($table, $input));
}
-
+
/**
* @brief gets last value of autoincrement
* @param $table string The optional table name (will replace *PREFIX*) and add sequence suffix
- * @returns id
+ * @return int
*
* MDB2 lastInsertID()
*
diff --git a/lib/public/files.php b/lib/public/files.php
index 90889c59ad8..75e1d2fbbc1 100644
--- a/lib/public/files.php
+++ b/lib/public/files.php
@@ -38,9 +38,10 @@ class Files {
* @brief Recusive deletion of folders
* @param string $dir path to the folder
*
+ * @return bool
*/
static function rmdirr( $dir ) {
- \OC_Helper::rmdirr( $dir );
+ return \OC_Helper::rmdirr( $dir );
}
/**
diff --git a/lib/public/response.php b/lib/public/response.php
index 95e67a85720..de0c3f25347 100644
--- a/lib/public/response.php
+++ b/lib/public/response.php
@@ -31,27 +31,27 @@
namespace OCP;
/**
- * This class provides convinient functions to send the correct http response headers
+ * This class provides convenient functions to send the correct http response headers
*/
class Response {
/**
* @brief Enable response caching by sending correct HTTP headers
- * @param $cache_time time to cache the response
+ * @param int $cache_time time to cache the response
* >0 cache time in seconds
* 0 and <0 enable default browser caching
* null cache indefinitly
*/
static public function enableCaching( $cache_time = null ) {
- return(\OC_Response::enableCaching( $cache_time ));
+ \OC_Response::enableCaching( $cache_time );
}
/**
* Checks and set Last-Modified header, when the request matches sends a
* 'not modified' response
- * @param $lastModified time when the reponse was last modified
+ * @param string $lastModified time when the reponse was last modified
*/
static public function setLastModifiedHeader( $lastModified ) {
- return(\OC_Response::setLastModifiedHeader( $lastModified ));
+ \OC_Response::setLastModifiedHeader( $lastModified );
}
/**
@@ -59,41 +59,41 @@ class Response {
* @see enableCaching with cache_time = 0
*/
static public function disableCaching() {
- return(\OC_Response::disableCaching());
+ \OC_Response::disableCaching();
}
/**
* Checks and set ETag header, when the request matches sends a
* 'not modified' response
- * @param $etag token to use for modification check
+ * @param string $etag token to use for modification check
*/
static public function setETagHeader( $etag ) {
- return(\OC_Response::setETagHeader( $etag ));
+ \OC_Response::setETagHeader( $etag );
}
/**
* @brief Send file as response, checking and setting caching headers
- * @param $filepath of file to send
+ * @param string $filepath of file to send
*/
static public function sendFile( $filepath ) {
- return(\OC_Response::sendFile( $filepath ));
+ \OC_Response::sendFile( $filepath );
}
/**
- * @brief Set reponse expire time
- * @param $expires date-time when the response expires
+ * @brief Set response expire time
+ * @param string|\DateTime $expires date-time when the response expires
* string for DateInterval from now
* DateTime object when to expire response
*/
static public function setExpiresHeader( $expires ) {
- return(\OC_Response::setExpiresHeader( $expires ));
+ \OC_Response::setExpiresHeader( $expires );
}
/**
* @brief Send redirect response
- * @param $location to redirect to
+ * @param string $location to redirect to
*/
static public function redirect( $location ) {
- return(\OC_Response::redirect( $location ));
+ \OC_Response::redirect( $location );
}
-} \ No newline at end of file
+}
diff --git a/lib/public/share.php b/lib/public/share.php
index d736871d244..cda583aa073 100644
--- a/lib/public/share.php
+++ b/lib/public/share.php
@@ -37,7 +37,8 @@ class Share {
const SHARE_TYPE_REMOTE = 6;
/** CRUDS permissions (Create, Read, Update, Delete, Share) using a bitmask
- * Construct permissions for share() and setPermissions with Or (|) e.g. Give user read and update permissions: PERMISSION_READ | PERMISSION_UPDATE
+ * Construct permissions for share() and setPermissions with Or (|)
+ * e.g. Give user read and update permissions: PERMISSION_READ | PERMISSION_UPDATE
* Check if permission is granted with And (&) e.g. Check if delete is granted: if ($permissions & PERMISSION_DELETE)
* Remove permissions with And (&) and Not (~) e.g. Remove the update permission: $permissions &= ~PERMISSION_UPDATE
* Apps are required to handle permissions on their own, this class only stores and manages the permissions of shares
@@ -66,14 +67,17 @@ class Share {
public static function registerBackend($itemType, $class, $collectionOf = null, $supportedFileExtensions = null) {
if (self::isEnabled()) {
if (!isset(self::$backendTypes[$itemType])) {
- self::$backendTypes[$itemType] = array('class' => $class, 'collectionOf' => $collectionOf, 'supportedFileExtensions' => $supportedFileExtensions);
+ self::$backendTypes[$itemType] = array('class' => $class,
+ 'collectionOf' => $collectionOf,
+ 'supportedFileExtensions' => $supportedFileExtensions);
if(count(self::$backendTypes) === 1) {
\OC_Util::addScript('core', 'share');
\OC_Util::addStyle('core', 'share');
}
return true;
}
- \OC_Log::write('OCP\Share', 'Sharing backend '.$class.' not registered, '.self::$backendTypes[$itemType]['class'].' is already registered for '.$itemType, \OC_Log::WARN);
+ \OC_Log::write('OCP\Share', 'Sharing backend '.$class.' not registered, '
+ .self::$backendTypes[$itemType]['class'].' is already registered for '.$itemType, \OC_Log::WARN);
}
return false;
}
@@ -99,8 +103,20 @@ class Share {
* @param int Number of items to return (optional) Returns all by default
* @return Return depends on format
*/
- public static function getItemsSharedWith($itemType, $format = self::FORMAT_NONE, $parameters = null, $limit = -1, $includeCollections = false) {
- return self::getItems($itemType, null, self::$shareTypeUserAndGroups, \OC_User::getUser(), null, $format, $parameters, $limit, $includeCollections);
+ public static function getItemsSharedWith($itemType,
+ $format = self::FORMAT_NONE,
+ $parameters = null,
+ $limit = -1,
+ $includeCollections = false) {
+ return self::getItems($itemType,
+ null,
+ self::$shareTypeUserAndGroups,
+ \OC_User::getUser(),
+ null,
+ $format,
+ $parameters,
+ $limit,
+ $includeCollections);
}
/**
@@ -110,8 +126,20 @@ class Share {
* @param int Format (optional) Format type must be defined by the backend
* @return Return depends on format
*/
- public static function getItemSharedWith($itemType, $itemTarget, $format = self::FORMAT_NONE, $parameters = null, $includeCollections = false) {
- return self::getItems($itemType, $itemTarget, self::$shareTypeUserAndGroups, \OC_User::getUser(), null, $format, $parameters, 1, $includeCollections);
+ public static function getItemSharedWith($itemType,
+ $itemTarget,
+ $format = self::FORMAT_NONE,
+ $parameters = null,
+ $includeCollections = false) {
+ return self::getItems($itemType,
+ $itemTarget,
+ self::$shareTypeUserAndGroups,
+ \OC_User::getUser(),
+ null,
+ $format,
+ $parameters,
+ 1,
+ $includeCollections);
}
/**
@@ -121,8 +149,20 @@ class Share {
* @param int Format (optional) Format type must be defined by the backend
* @return Return depends on format
*/
- public static function getItemSharedWithBySource($itemType, $itemSource, $format = self::FORMAT_NONE, $parameters = null, $includeCollections = false) {
- return self::getItems($itemType, $itemSource, self::$shareTypeUserAndGroups, \OC_User::getUser(), null, $format, $parameters, 1, $includeCollections, true);
+ public static function getItemSharedWithBySource($itemType,
+ $itemSource,
+ $format = self::FORMAT_NONE,
+ $parameters = null,
+ $includeCollections = false) {
+ return self::getItems($itemType,
+ $itemSource,
+ self::$shareTypeUserAndGroups,
+ \OC_User::getUser(),
+ null,
+ $format,
+ $parameters,
+ 1,
+ $includeCollections, true);
}
/**
@@ -133,7 +173,14 @@ class Share {
* @return Item
*/
public static function getItemSharedWithByLink($itemType, $itemSource, $uidOwner) {
- return self::getItems($itemType, $itemSource, self::SHARE_TYPE_LINK, null, $uidOwner, self::FORMAT_NONE, null, 1);
+ return self::getItems($itemType,
+ $itemSource,
+ self::SHARE_TYPE_LINK,
+ null,
+ $uidOwner,
+ self::FORMAT_NONE,
+ null,
+ 1);
}
/**
@@ -142,7 +189,7 @@ class Share {
* @return Item
*/
public static function getShareByToken($token) {
- $query = \OC_DB::prepare('SELECT * FROM `*PREFIX*share` WHERE `token` = ?',1);
+ $query = \OC_DB::prepare('SELECT * FROM `*PREFIX*share` WHERE `token` = ?', 1);
$result = $query->execute(array($token));
if (\OC_DB::isError($result)) {
\OC_Log::write('OCP\Share', \OC_DB::getErrorMessage($result) . ', token=' . $token, \OC_Log::ERROR);
@@ -157,8 +204,20 @@ class Share {
* @param int Number of items to return (optional) Returns all by default
* @return Return depends on format
*/
- public static function getItemsShared($itemType, $format = self::FORMAT_NONE, $parameters = null, $limit = -1, $includeCollections = false) {
- return self::getItems($itemType, null, null, null, \OC_User::getUser(), $format, $parameters, $limit, $includeCollections);
+ public static function getItemsShared($itemType,
+ $format = self::FORMAT_NONE,
+ $parameters = null,
+ $limit = -1,
+ $includeCollections = false) {
+ return self::getItems($itemType,
+ null,
+ null,
+ null,
+ \OC_User::getUser(),
+ $format,
+ $parameters,
+ $limit,
+ $includeCollections);
}
/**
@@ -168,8 +227,20 @@ class Share {
* @param int Format (optional) Format type must be defined by the backend
* @return Return depends on format
*/
- public static function getItemShared($itemType, $itemSource, $format = self::FORMAT_NONE, $parameters = null, $includeCollections = false) {
- return self::getItems($itemType, $itemSource, null, null, \OC_User::getUser(), $format, $parameters, -1, $includeCollections);
+ public static function getItemShared($itemType,
+ $itemSource,
+ $format = self::FORMAT_NONE,
+ $parameters = null,
+ $includeCollections = false) {
+ return self::getItems($itemType,
+ $itemSource,
+ null,
+ null,
+ \OC_User::getUser(),
+ $format,
+ $parameters,
+ -1,
+ $includeCollections);
}
/**
@@ -199,14 +270,26 @@ class Share {
if ($sharingPolicy == 'groups_only') {
$inGroup = array_intersect(\OC_Group::getUserGroups($uidOwner), \OC_Group::getUserGroups($shareWith));
if (empty($inGroup)) {
- $message = 'Sharing '.$itemSource.' failed, because the user '.$shareWith.' is not a member of any groups that '.$uidOwner.' is a member of';
+ $message = 'Sharing '.$itemSource.' failed, because the user '.$shareWith.' is not a member'
+ .' of any groups that '.$uidOwner.' is a member of';
\OC_Log::write('OCP\Share', $message, \OC_Log::ERROR);
throw new \Exception($message);
}
}
// Check if the item source is already shared with the user, either from the same owner or a different user
- if ($checkExists = self::getItems($itemType, $itemSource, self::$shareTypeUserAndGroups, $shareWith, null, self::FORMAT_NONE, null, 1, true, true)) {
- // Only allow the same share to occur again if it is the same owner and is not a user share, this use case is for increasing permissions for a specific user
+ $checkExists = self::getItems($itemType,
+ $itemSource,
+ self::$shareTypeUserAndGroups,
+ $shareWith,
+ null,
+ self::FORMAT_NONE,
+ null,
+ 1,
+ true,
+ true);
+ if ($checkExists) {
+ // Only allow the same share to occur again if it is the same owner and is not a user share,
+ // this use case is for increasing permissions for a specific user
if ($checkExists['uid_owner'] != $uidOwner || $checkExists['share_type'] == $shareType) {
$message = 'Sharing '.$itemSource.' failed, because this item is already shared with '.$shareWith;
\OC_Log::write('OCP\Share', $message, \OC_Log::ERROR);
@@ -220,14 +303,26 @@ class Share {
throw new \Exception($message);
}
if ($sharingPolicy == 'groups_only' && !\OC_Group::inGroup($uidOwner, $shareWith)) {
- $message = 'Sharing '.$itemSource.' failed, because '.$uidOwner.' is not a member of the group '.$shareWith;
+ $message = 'Sharing '.$itemSource.' failed, because '.$uidOwner
+ .' is not a member of the group '.$shareWith;
\OC_Log::write('OCP\Share', $message, \OC_Log::ERROR);
throw new \Exception($message);
}
// Check if the item source is already shared with the group, either from the same owner or a different user
// The check for each user in the group is done inside the put() function
- if ($checkExists = self::getItems($itemType, $itemSource, self::SHARE_TYPE_GROUP, $shareWith, null, self::FORMAT_NONE, null, 1, true, true)) {
- // Only allow the same share to occur again if it is the same owner and is not a group share, this use case is for increasing permissions for a specific user
+ $checkExists = self::getItems($itemType,
+ $itemSource,
+ self::SHARE_TYPE_GROUP,
+ $shareWith,
+ null,
+ self::FORMAT_NONE,
+ null,
+ 1,
+ true,
+ true);
+ if ($checkExists) {
+ // Only allow the same share to occur again if it is the same owner and is not a group share,
+ // this use case is for increasing permissions for a specific user
if ($checkExists['uid_owner'] != $uidOwner || $checkExists['share_type'] == $shareType) {
$message = 'Sharing '.$itemSource.' failed, because this item is already shared with '.$shareWith;
\OC_Log::write('OCP\Share', $message, \OC_Log::ERROR);
@@ -242,27 +337,42 @@ class Share {
} else if ($shareType === self::SHARE_TYPE_LINK) {
if (\OC_Appconfig::getValue('core', 'shareapi_allow_links', 'yes') == 'yes') {
// when updating a link share
- if ($checkExists = self::getItems($itemType, $itemSource, self::SHARE_TYPE_LINK, null, $uidOwner, self::FORMAT_NONE, null, 1)) {
+ $checkExists = self::getItems($itemType,
+ $itemSource,
+ self::SHARE_TYPE_LINK,
+ null,
+ $uidOwner,
+ self::FORMAT_NONE,
+ null,
+ 1);
+ if ($checkExists) {
// remember old token
$oldToken = $checkExists['token'];
//delete the old share
self::delete($checkExists['id']);
}
-
+
// Generate hash of password - same method as user passwords
if (isset($shareWith)) {
$forcePortable = (CRYPT_BLOWFISH != 1);
$hasher = new \PasswordHash(8, $forcePortable);
$shareWith = $hasher->HashPassword($shareWith.\OC_Config::getValue('passwordsalt', ''));
}
-
+
// Generate token
if (isset($oldToken)) {
$token = $oldToken;
} else {
$token = \OC_Util::generate_random_bytes(self::TOKEN_LENGTH);
}
- $result = self::put($itemType, $itemSource, $shareType, $shareWith, $uidOwner, $permissions, null, $token);
+ $result = self::put($itemType,
+ $itemSource,
+ $shareType,
+ $shareWith,
+ $uidOwner,
+ $permissions,
+ null,
+ $token);
if ($result) {
return $token;
} else {
@@ -305,19 +415,26 @@ class Share {
if ($parentFolder && $files = \OC_Files::getDirectoryContent($itemSource)) {
for ($i = 0; $i < count($files); $i++) {
$name = substr($files[$i]['name'], strpos($files[$i]['name'], $itemSource) - strlen($itemSource));
- if ($files[$i]['mimetype'] == 'httpd/unix-directory' && $children = \OC_Files::getDirectoryContent($name, '/')) {
+ if ($files[$i]['mimetype'] == 'httpd/unix-directory'
+ && $children = \OC_Files::getDirectoryContent($name, '/')
+ ) {
// Continue scanning into child folders
array_push($files, $children);
} else {
// Check file extension for an equivalent item type to convert to
$extension = strtolower(substr($itemSource, strrpos($itemSource, '.') + 1));
foreach (self::$backends as $type => $backend) {
- if (isset($backend->dependsOn) && $backend->dependsOn == 'file' && isset($backend->supportedFileExtensions) && in_array($extension, $backend->supportedFileExtensions)) {
+ if (isset($backend->dependsOn)
+ && $backend->dependsOn == 'file'
+ && isset($backend->supportedFileExtensions)
+ && in_array($extension, $backend->supportedFileExtensions)
+ ) {
$itemType = $type;
break;
}
}
- // Pass on to put() to check if this item should be converted, the item won't be inserted into the database unless it can be converted
+ // Pass on to put() to check if this item should be converted,
+ // the item won't be inserted into the database unless it can be converted
self::put($itemType, $name, $shareType, $shareWith, $uidOwner, $permissions, $parentFolder);
}
}
@@ -339,7 +456,15 @@ class Share {
* @return Returns true on success or false on failure
*/
public static function unshare($itemType, $itemSource, $shareType, $shareWith) {
- if ($item = self::getItems($itemType, $itemSource, $shareType, $shareWith, \OC_User::getUser(), self::FORMAT_NONE, null, 1)) {
+ $item = self::getItems($itemType,
+ $itemSource,
+ $shareType,
+ $shareWith,
+ \OC_User::getUser(),
+ self::FORMAT_NONE,
+ null,
+ 1);
+ if ($item) {
self::delete($item['id']);
return true;
}
@@ -353,7 +478,8 @@ class Share {
* @return Returns true on success or false on failure
*/
public static function unshareAll($itemType, $itemSource) {
- if ($shares = self::getItemShared($itemType, $itemSource)) {
+ $shares = self::getItemShared($itemType, $itemSource);
+ if ($shares) {
foreach ($shares as $share) {
self::delete($share['id']);
}
@@ -372,11 +498,27 @@ class Share {
*
*/
public static function unshareFromSelf($itemType, $itemTarget) {
- if ($item = self::getItemSharedWith($itemType, $itemTarget)) {
+ $item = self::getItemSharedWith($itemType, $itemTarget);
+ if ($item) {
if ((int)$item['share_type'] === self::SHARE_TYPE_GROUP) {
- // Insert an extra row for the group share and set permission to 0 to prevent it from showing up for the user
- $query = \OC_DB::prepare('INSERT INTO `*PREFIX*share` (`item_type`, `item_source`, `item_target`, `parent`, `share_type`, `share_with`, `uid_owner`, `permissions`, `stime`, `file_source`, `file_target`) VALUES (?,?,?,?,?,?,?,?,?,?,?)');
- $query->execute(array($item['item_type'], $item['item_source'], $item['item_target'], $item['id'], self::$shareTypeGroupUserUnique, \OC_User::getUser(), $item['uid_owner'], 0, $item['stime'], $item['file_source'], $item['file_target']));
+ // Insert an extra row for the group share and set permission to 0
+ // to prevent it from showing up for the user
+ $query = \OC_DB::prepare('INSERT INTO `*PREFIX*share` ('
+ .'`item_type`, `item_source`, `item_target`, `parent`, `share_type`, `share_with`, '
+ .'`uid_owner`, `permissions`, `stime`, `file_source`, `file_target`'
+ .') VALUES (?,?,?,?,?,?,?,?,?,?,?)');
+ $query->execute(array(
+ $item['item_type'],
+ $item['item_source'],
+ $item['item_target'],
+ $item['id'],
+ self::$shareTypeGroupUserUnique,
+ \OC_User::getUser(),
+ $item['uid_owner'],
+ 0,
+ $item['stime'],
+ $item['file_source'],
+ $item['file_target']));
\OC_DB::insertid('*PREFIX*share');
// Delete all reshares by this user of the group share
self::delete($item['id'], true, \OC_User::getUser());
@@ -403,13 +545,24 @@ class Share {
* @return Returns true on success or false on failure
*/
public static function setPermissions($itemType, $itemSource, $shareType, $shareWith, $permissions) {
- if ($item = self::getItems($itemType, $itemSource, $shareType, $shareWith, \OC_User::getUser(), self::FORMAT_NONE, null, 1, false)) {
- // Check if this item is a reshare and verify that the permissions granted don't exceed the parent shared item
+ $item = self::getItems($itemType,
+ $itemSource,
+ $shareType,
+ $shareWith,
+ \OC_User::getUser(),
+ self::FORMAT_NONE,
+ null,
+ 1,
+ false);
+ if ($item) {
+ // Check if this item is a reshare and
+ // verify that the permissions granted don't exceed the parent shared item
if (isset($item['parent'])) {
$query = \OC_DB::prepare('SELECT `permissions` FROM `*PREFIX*share` WHERE `id` = ?', 1);
$result = $query->execute(array($item['parent']))->fetchRow();
if (~(int)$result['permissions'] & $permissions) {
- $message = 'Setting permissions for '.$itemSource.' failed, because the permissions exceed permissions granted to '.\OC_User::getUser();
+ $message = 'Setting permissions for '.$itemSource.' failed, '
+ .'because the permissions exceed permissions granted to '.\OC_User::getUser();
\OC_Log::write('OCP\Share', $message, \OC_Log::ERROR);
throw new \Exception($message);
}
@@ -426,9 +579,12 @@ class Share {
$parents = array($item['id']);
while (!empty($parents)) {
$parents = "'".implode("','", $parents)."'";
- $query = \OC_DB::prepare('SELECT `id`, `permissions` FROM `*PREFIX*share` WHERE `parent` IN ('.$parents.')');
+ $query = \OC_DB::prepare('SELECT `id`, `permissions`'
+ .' FROM `*PREFIX*share`'
+ .' WHERE `parent` IN ('.$parents.')');
$result = $query->execute();
- // Reset parents array, only go through loop again if items are found that need permissions removed
+ // Reset parents array,
+ // only go through loop again if items are found that need permissions removed
$parents = array();
while ($item = $result->fetchRow()) {
// Check if permissions need to be removed
@@ -442,7 +598,9 @@ class Share {
// Remove the permissions for all reshares of this item
if (!empty($ids)) {
$ids = "'".implode("','", $ids)."'";
- $query = \OC_DB::prepare('UPDATE `*PREFIX*share` SET `permissions` = `permissions` & ? WHERE `id` IN ('.$ids.')');
+ $query = \OC_DB::prepare('UPDATE `*PREFIX*share`'
+ .' SET `permissions` = `permissions` & ?'
+ .' WHERE `id` IN ('.$ids.')');
$query->execute(array($permissions));
}
}
@@ -455,7 +613,16 @@ class Share {
}
public static function setExpirationDate($itemType, $itemSource, $date) {
- if ($items = self::getItems($itemType, $itemSource, null, null, \OC_User::getUser(), self::FORMAT_NONE, null, -1, false)) {
+ $items = self::getItems($itemType,
+ $itemSource,
+ null,
+ null,
+ \OC_User::getUser(),
+ self::FORMAT_NONE,
+ null,
+ -1,
+ false);
+ if ($items) {
if (!empty($items)) {
if ($date == '') {
$date = null;
@@ -517,7 +684,8 @@ class Share {
if (!self::getBackend($itemType) instanceof Share_Backend_Collection) {
unset($collectionTypes[0]);
}
- // Return array if collections were found or the item type is a collection itself - collections can be inside collections
+ // Return array if collections were found or the item type is a collection itself
+ // - collections can be inside collections
if (count($collectionTypes) > 0) {
return $collectionTypes;
}
@@ -528,7 +696,8 @@ class Share {
* @brief Get shared items from the database
* @param string Item type
* @param string Item source or target (optional)
- * @param int SHARE_TYPE_USER, SHARE_TYPE_GROUP, SHARE_TYPE_LINK, $shareTypeUserAndGroups, or $shareTypeGroupUserUnique
+ * @param int SHARE_TYPE_USER, SHARE_TYPE_GROUP, SHARE_TYPE_LINK,
+ * $shareTypeUserAndGroups, or $shareTypeGroupUserUnique
* @param string User or group the item is being shared with
* @param string User that is the owner of shared items (optional)
* @param int Format to convert items to with formatItems()
@@ -540,7 +709,16 @@ class Share {
* See public functions getItem(s)... for parameter usage
*
*/
- private static function getItems($itemType, $item = null, $shareType = null, $shareWith = null, $uidOwner = null, $format = self::FORMAT_NONE, $parameters = null, $limit = -1, $includeCollections = false, $itemShareWithBySource = false) {
+ private static function getItems($itemType,
+ $item = null,
+ $shareType = null,
+ $shareWith = null,
+ $uidOwner = null,
+ $format = self::FORMAT_NONE,
+ $parameters = null,
+ $limit = -1,
+ $includeCollections = false,
+ $itemShareWithBySource = false) {
if (!self::isEnabled()) {
if ($limit == 1 || (isset($uidOwner) && isset($item))) {
return false;
@@ -549,7 +727,8 @@ class Share {
}
}
$backend = self::getBackend($itemType);
- // Get filesystem root to add it to the file target and remove from the file source, match file_source with the file cache
+ // Get filesystem root to add it to the file target and remove from the file source,
+ // match file_source with the file cache
if ($itemType == 'file' || $itemType == 'folder') {
$root = \OC_Filesystem::getRoot();
$where = 'INNER JOIN `*PREFIX*fscache` ON `file_source` = `*PREFIX*fscache`.`id`';
@@ -569,7 +748,7 @@ class Share {
$itemTypes = $collectionTypes;
}
$placeholders = join(',', array_fill(0, count($itemTypes), '?'));
- $where .= ' WHERE `item_type` IN ('.$placeholders.'))';
+ $where = ' WHERE `item_type` IN ('.$placeholders.'))';
$queryArgs = $itemTypes;
} else {
$where = ' WHERE `item_type` = ?';
@@ -652,7 +831,8 @@ class Share {
}
if ($limit != -1 && !$includeCollections) {
if ($shareType == self::$shareTypeUserAndGroups) {
- // Make sure the unique user target is returned if it exists, unique targets should follow the group share in the database
+ // Make sure the unique user target is returned if it exists,
+ // unique targets should follow the group share in the database
// If the limit is not 1, the filtering can be done later
$where .= ' ORDER BY `*PREFIX*share`.`id` DESC';
}
@@ -668,23 +848,34 @@ class Share {
// TODO Optimize selects
if ($format == self::FORMAT_STATUSES) {
if ($itemType == 'file' || $itemType == 'folder') {
- $select = '`*PREFIX*share`.`id`, `item_type`, `*PREFIX*share`.`parent`, `share_type`, `file_source`, `path`, `expiration`';
+ $select = '`*PREFIX*share`.`id`, `item_type`, `*PREFIX*share`.`parent`, '
+ .'`share_type`, `file_source`, `path`, `expiration`';
} else {
$select = '`id`, `item_type`, `item_source`, `parent`, `share_type`, `expiration`';
}
} else {
if (isset($uidOwner)) {
if ($itemType == 'file' || $itemType == 'folder') {
- $select = '`*PREFIX*share`.`id`, `item_type`, `*PREFIX*share`.`parent`, `share_type`, `share_with`, `file_source`, `path`, `permissions`, `stime`, `expiration`, `token`';
+ $select = '`*PREFIX*share`.`id`, `item_type`, `*PREFIX*share`.`parent`, `share_type`, '
+ .'`share_with`, `file_source`, `path`, `permissions`, `stime`, `expiration`, `token`';
} else {
- $select = '`id`, `item_type`, `item_source`, `parent`, `share_type`, `share_with`, `permissions`, `stime`, `file_source`, `expiration`, `token`';
+ $select = '`id`, `item_type`, `item_source`, `parent`, `share_type`, `share_with`, '
+ .'`permissions`, `stime`, `file_source`, `expiration`, `token`';
}
} else {
if ($fileDependent) {
- if (($itemType == 'file' || $itemType == 'folder') && $format == \OC_Share_Backend_File::FORMAT_FILE_APP || $format == \OC_Share_Backend_File::FORMAT_FILE_APP_ROOT) {
- $select = '`*PREFIX*share`.`id`, `item_type`, `*PREFIX*share`.`parent`, `uid_owner`, `share_type`, `share_with`, `file_source`, `path`, `file_target`, `permissions`, `expiration`, `name`, `ctime`, `mtime`, `mimetype`, `size`, `encrypted`, `versioned`, `writable`';
+ if (($itemType == 'file' || $itemType == 'folder')
+ && $format == \OC_Share_Backend_File::FORMAT_FILE_APP
+ || $format == \OC_Share_Backend_File::FORMAT_FILE_APP_ROOT
+ ) {
+ $select = '`*PREFIX*share`.`id`, `item_type`, `*PREFIX*share`.`parent`, `uid_owner`, '
+ .'`share_type`, `share_with`, `file_source`, `path`, `file_target`, `permissions`, '
+ .'`expiration`, `name`, `ctime`, `mtime`, `mimetype`, `size`, `encrypted`, '
+ .'`versioned`, `writable`';
} else {
- $select = '`*PREFIX*share`.`id`, `item_type`, `item_source`, `item_target`, `*PREFIX*share`.`parent`, `share_type`, `share_with`, `uid_owner`, `file_source`, `path`, `file_target`, `permissions`, `stime`, `expiration`, `token`';
+ $select = '`*PREFIX*share`.`id`, `item_type`, `item_source`, `item_target`, '
+ .'`*PREFIX*share`.`parent`, `share_type`, `share_with`, `uid_owner`, `file_source`, '
+ .'`path`, `file_target`, `permissions`, `stime`, `expiration`, `token`';
}
} else {
$select = '*';
@@ -695,7 +886,9 @@ class Share {
$query = \OC_DB::prepare('SELECT '.$select.' FROM `*PREFIX*share` '.$where, $queryLimit);
$result = $query->execute($queryArgs);
if (\OC_DB::isError($result)) {
- \OC_Log::write('OCP\Share', \OC_DB::getErrorMessage($result) . ', select=' . $select . ' where=' . $where, \OC_Log::ERROR);
+ \OC_Log::write('OCP\Share', \OC_DB::getErrorMessage($result)
+ . ', select=' . $select
+ . ' where=' . $where, \OC_Log::ERROR);
}
$items = array();
$targets = array();
@@ -712,7 +905,8 @@ class Share {
} else if (!isset($uidOwner)) {
// Check if the same target already exists
if (isset($targets[$row[$column]])) {
- // Check if the same owner shared with the user twice through a group and user share - this is allowed
+ // Check if the same owner shared with the user twice through a group and user share
+ // - this is allowed
$id = $targets[$row[$column]];
if ($items[$id]['uid_owner'] == $row['uid_owner']) {
// Switch to group share type to ensure resharing conditions aren't bypassed
@@ -720,8 +914,11 @@ class Share {
$items[$id]['share_type'] = self::SHARE_TYPE_GROUP;
$items[$id]['share_with'] = $row['share_with'];
}
- // Switch ids if sharing permission is granted on only one share to ensure correct parent is used if resharing
- if (~(int)$items[$id]['permissions'] & PERMISSION_SHARE && (int)$row['permissions'] & PERMISSION_SHARE) {
+ // Switch ids if sharing permission is granted on only one share
+ // to ensure correct parent is used if resharing
+ if (~(int)$items[$id]['permissions'] & PERMISSION_SHARE
+ && (int)$row['permissions'] & PERMISSION_SHARE
+ ) {
$items[$row['id']] = $items[$id];
unset($items[$id]);
$id = $row['id'];
@@ -764,7 +961,9 @@ class Share {
}
// Check if this is a collection of the requested item type
if ($includeCollections && $collectionTypes && in_array($row['item_type'], $collectionTypes)) {
- if (($collectionBackend = self::getBackend($row['item_type'])) && $collectionBackend instanceof Share_Backend_Collection) {
+ if (($collectionBackend = self::getBackend($row['item_type']))
+ && $collectionBackend instanceof Share_Backend_Collection
+ ) {
// Collections can be inside collections, check if the item is a collection
if (isset($item) && $row['item_type'] == $itemType && $row[$column] == $item) {
$collectionItems[] = $row;
@@ -856,10 +1055,18 @@ class Share {
* @param bool|array Parent folder target (optional)
* @return bool Returns true on success or false on failure
*/
- private static function put($itemType, $itemSource, $shareType, $shareWith, $uidOwner, $permissions, $parentFolder = null, $token = null) {
+ private static function put($itemType,
+ $itemSource,
+ $shareType,
+ $shareWith,
+ $uidOwner,
+ $permissions,
+ $parentFolder = null,
+ $token = null) {
$backend = self::getBackend($itemType);
// Check if this is a reshare
- if ($checkReshare = self::getItemSharedWithBySource($itemType, $itemSource, self::FORMAT_NONE, null, true)) {
+ $checkReshare = self::getItemSharedWithBySource($itemType, $itemSource, self::FORMAT_NONE, null, true);
+ if ($checkReshare) {
// Check if attempting to share back to owner
if ($checkReshare['uid_owner'] == $shareWith && $shareType == self::SHARE_TYPE_USER) {
$message = 'Sharing '.$itemSource.' failed, because the user '.$shareWith.' is the original sharer';
@@ -869,7 +1076,8 @@ class Share {
// Check if share permissions is granted
if ((int)$checkReshare['permissions'] & PERMISSION_SHARE) {
if (~(int)$checkReshare['permissions'] & $permissions) {
- $message = 'Sharing '.$itemSource.' failed, because the permissions exceed permissions granted to '.$uidOwner;
+ $message = 'Sharing '.$itemSource.' failed, '
+ .'because the permissions exceed permissions granted to '.$uidOwner;
\OC_Log::write('OCP\Share', $message, \OC_Log::ERROR);
throw new \Exception($message);
} else {
@@ -891,7 +1099,8 @@ class Share {
$suggestedItemTarget = null;
$suggestedFileTarget = null;
if (!$backend->isValidSource($itemSource, $uidOwner)) {
- $message = 'Sharing '.$itemSource.' failed, because the sharing backend for '.$itemType.' could not find its source';
+ $message = 'Sharing '.$itemSource.' failed, '
+ .'because the sharing backend for '.$itemType.' could not find its source';
\OC_Log::write('OCP\Share', $message, \OC_Log::ERROR);
throw new \Exception($message);
}
@@ -913,14 +1122,27 @@ class Share {
$fileSource = null;
}
}
- $query = \OC_DB::prepare('INSERT INTO `*PREFIX*share` (`item_type`, `item_source`, `item_target`, `parent`, `share_type`, `share_with`, `uid_owner`, `permissions`, `stime`, `file_source`, `file_target`, `token`) VALUES (?,?,?,?,?,?,?,?,?,?,?,?)');
+ $query = \OC_DB::prepare('INSERT INTO `*PREFIX*share` (`item_type`, `item_source`, `item_target`, `parent`,'
+ .' `share_type`, `share_with`, `uid_owner`, `permissions`,'
+ .' `stime`, `file_source`, `file_target`, `token`'
+ .') VALUES (?,?,?,?,?,?,?,?,?,?,?,?)');
// Share with a group
if ($shareType == self::SHARE_TYPE_GROUP) {
- $groupItemTarget = self::generateTarget($itemType, $itemSource, $shareType, $shareWith['group'], $uidOwner, $suggestedItemTarget);
+ $groupItemTarget = self::generateTarget($itemType,
+ $itemSource,
+ $shareType,
+ $shareWith['group'],
+ $uidOwner,
+ $suggestedItemTarget);
if (isset($fileSource)) {
if ($parentFolder) {
if ($parentFolder === true) {
- $groupFileTarget = self::generateTarget('file', $filePath, $shareType, $shareWith['group'], $uidOwner, $suggestedFileTarget);
+ $groupFileTarget = self::generateTarget('file',
+ $filePath,
+ $shareType,
+ $shareWith['group'],
+ $uidOwner,
+ $suggestedFileTarget);
// Set group default file target for future use
$parentFolders[0]['folder'] = $groupFileTarget;
} else {
@@ -929,21 +1151,50 @@ class Share {
$parent = $parentFolder[0]['id'];
}
} else {
- $groupFileTarget = self::generateTarget('file', $filePath, $shareType, $shareWith['group'], $uidOwner, $suggestedFileTarget);
+ $groupFileTarget = self::generateTarget('file',
+ $filePath,
+ $shareType,
+ $shareWith['group'],
+ $uidOwner,
+ $suggestedFileTarget);
}
} else {
$groupFileTarget = null;
}
- $query->execute(array($itemType, $itemSource, $groupItemTarget, $parent, $shareType, $shareWith['group'], $uidOwner, $permissions, time(), $fileSource, $groupFileTarget, $token));
+ $query->execute(array(
+ $itemType,
+ $itemSource,
+ $groupItemTarget,
+ $parent,
+ $shareType,
+ $shareWith['group'],
+ $uidOwner,
+ $permissions,
+ time(),
+ $fileSource,
+ $groupFileTarget,
+ $token));
// Save this id, any extra rows for this group share will need to reference it
$parent = \OC_DB::insertid('*PREFIX*share');
// Loop through all users of this group in case we need to add an extra row
foreach ($shareWith['users'] as $uid) {
- $itemTarget = self::generateTarget($itemType, $itemSource, self::SHARE_TYPE_USER, $uid, $uidOwner, $suggestedItemTarget, $parent);
+ $itemTarget = self::generateTarget($itemType,
+ $itemSource,
+ self::SHARE_TYPE_USER,
+ $uid,
+ $uidOwner,
+ $suggestedItemTarget,
+ $parent);
if (isset($fileSource)) {
if ($parentFolder) {
if ($parentFolder === true) {
- $fileTarget = self::generateTarget('file', $filePath, self::SHARE_TYPE_USER, $uid, $uidOwner, $suggestedFileTarget, $parent);
+ $fileTarget = self::generateTarget('file',
+ $filePath,
+ self::SHARE_TYPE_USER,
+ $uid,
+ $uidOwner,
+ $suggestedFileTarget,
+ $parent);
if ($fileTarget != $groupFileTarget) {
$parentFolders[$uid]['folder'] = $fileTarget;
}
@@ -952,7 +1203,13 @@ class Share {
$parent = $parentFolder[$uid]['id'];
}
} else {
- $fileTarget = self::generateTarget('file', $filePath, self::SHARE_TYPE_USER, $uid, $uidOwner, $suggestedFileTarget, $parent);
+ $fileTarget = self::generateTarget('file',
+ $filePath,
+ self::SHARE_TYPE_USER,
+ $uid,
+ $uidOwner,
+ $suggestedFileTarget,
+ $parent);
}
} else {
$fileTarget = null;
@@ -973,7 +1230,19 @@ class Share {
));
// Insert an extra row for the group share if the item or file target is unique for this user
if ($itemTarget != $groupItemTarget || (isset($fileSource) && $fileTarget != $groupFileTarget)) {
- $query->execute(array($itemType, $itemSource, $itemTarget, $parent, self::$shareTypeGroupUserUnique, $uid, $uidOwner, $permissions, time(), $fileSource, $fileTarget, $token));
+ $query->execute(array(
+ $itemType,
+ $itemSource,
+ $itemTarget,
+ $parent,
+ self::$shareTypeGroupUserUnique,
+ $uid,
+ $uidOwner,
+ $permissions,
+ time(),
+ $fileSource,
+ $fileTarget,
+ $token));
$id = \OC_DB::insertid('*PREFIX*share');
}
}
@@ -982,23 +1251,50 @@ class Share {
return $parentFolders;
}
} else {
- $itemTarget = self::generateTarget($itemType, $itemSource, $shareType, $shareWith, $uidOwner, $suggestedItemTarget);
+ $itemTarget = self::generateTarget($itemType,
+ $itemSource,
+ $shareType,
+ $shareWith,
+ $uidOwner,
+ $suggestedItemTarget);
if (isset($fileSource)) {
if ($parentFolder) {
if ($parentFolder === true) {
- $fileTarget = self::generateTarget('file', $filePath, $shareType, $shareWith, $uidOwner, $suggestedFileTarget);
+ $fileTarget = self::generateTarget('file',
+ $filePath,
+ $shareType,
+ $shareWith,
+ $uidOwner,
+ $suggestedFileTarget);
$parentFolders['folder'] = $fileTarget;
} else {
$fileTarget = $parentFolder['folder'].$itemSource;
$parent = $parentFolder['id'];
}
} else {
- $fileTarget = self::generateTarget('file', $filePath, $shareType, $shareWith, $uidOwner, $suggestedFileTarget);
+ $fileTarget = self::generateTarget('file',
+ $filePath,
+ $shareType,
+ $shareWith,
+ $uidOwner,
+ $suggestedFileTarget);
}
} else {
$fileTarget = null;
}
- $query->execute(array($itemType, $itemSource, $itemTarget, $parent, $shareType, $shareWith, $uidOwner, $permissions, time(), $fileSource, $fileTarget, $token));
+ $query->execute(array(
+ $itemType,
+ $itemSource,
+ $itemTarget,
+ $parent,
+ $shareType,
+ $shareWith,
+ $uidOwner,
+ $permissions,
+ time(),
+ $fileSource,
+ $fileTarget,
+ $token));
$id = \OC_DB::insertid('*PREFIX*share');
\OC_Hook::emit('OCP\Share', 'post_shared', array(
'itemType' => $itemType,
@@ -1033,7 +1329,13 @@ class Share {
* @param int The id of the parent group share (optional)
* @return string Item target
*/
- private static function generateTarget($itemType, $itemSource, $shareType, $shareWith, $uidOwner, $suggestedTarget = null, $groupParent = null) {
+ private static function generateTarget($itemType,
+ $itemSource,
+ $shareType,
+ $shareWith,
+ $uidOwner,
+ $suggestedTarget = null,
+ $groupParent = null) {
$backend = self::getBackend($itemType);
if ($shareType == self::SHARE_TYPE_LINK) {
if (isset($suggestedTarget)) {
@@ -1099,18 +1401,43 @@ class Share {
// Find similar targets to improve backend's chances to generate a unqiue target
if ($userAndGroups) {
if ($column == 'file_target') {
- $checkTargets = \OC_DB::prepare('SELECT `'.$column.'` FROM `*PREFIX*share` WHERE `item_type` IN (\'file\', \'folder\') AND `share_type` IN (?,?,?) AND `share_with` IN (\''.implode('\',\'', $userAndGroups).'\')');
- $result = $checkTargets->execute(array(self::SHARE_TYPE_USER, self::SHARE_TYPE_GROUP, self::$shareTypeGroupUserUnique));
+ $checkTargets = \OC_DB::prepare('SELECT `'.$column.'`'
+ .' FROM `*PREFIX*share`'
+ .' WHERE `item_type` IN (\'file\', \'folder\')'
+ .' AND `share_type` IN (?,?,?)'
+ .' AND `share_with`'
+ .' IN (\''.implode('\',\'', $userAndGroups).'\')');
+ $result = $checkTargets->execute(array(
+ self::SHARE_TYPE_USER,
+ self::SHARE_TYPE_GROUP,
+ self::$shareTypeGroupUserUnique));
} else {
- $checkTargets = \OC_DB::prepare('SELECT `'.$column.'` FROM `*PREFIX*share` WHERE `item_type` = ? AND `share_type` IN (?,?,?) AND `share_with` IN (\''.implode('\',\'', $userAndGroups).'\')');
- $result = $checkTargets->execute(array($itemType, self::SHARE_TYPE_USER, self::SHARE_TYPE_GROUP, self::$shareTypeGroupUserUnique));
+ $checkTargets = \OC_DB::prepare('SELECT `'.$column.'`'
+ .' FROM `*PREFIX*share`'
+ .' WHERE `item_type` = ?'
+ .' AND `share_type` IN (?,?,?)'
+ .' AND `share_with`'
+ .' IN (\''.implode('\',\'', $userAndGroups).'\')');
+ $result = $checkTargets->execute(array(
+ $itemType,
+ self::SHARE_TYPE_USER,
+ self::SHARE_TYPE_GROUP,
+ self::$shareTypeGroupUserUnique));
}
} else {
if ($column == 'file_target') {
- $checkTargets = \OC_DB::prepare('SELECT `'.$column.'` FROM `*PREFIX*share` WHERE `item_type` IN (\'file\', \'folder\') AND `share_type` = ? AND `share_with` = ?');
+ $checkTargets = \OC_DB::prepare('SELECT `'.$column.'`'
+ .' FROM `*PREFIX*share`'
+ .' WHERE `item_type` IN (\'file\', \'folder\')'
+ .' AND `share_type` = ?'
+ .' AND `share_with` = ?');
$result = $checkTargets->execute(array(self::SHARE_TYPE_GROUP, $shareWith));
} else {
- $checkTargets = \OC_DB::prepare('SELECT `'.$column.'` FROM `*PREFIX*share` WHERE `item_type` = ? AND `share_type` = ? AND `share_with` = ?');
+ $checkTargets = \OC_DB::prepare('SELECT `'.$column.'`'
+ .' FROM `*PREFIX*share`'
+ .' WHERE `item_type` = ?'
+ .' AND `share_type` = ?'
+ .' AND `share_with` = ?');
$result = $checkTargets->execute(array($itemType, self::SHARE_TYPE_GROUP, $shareWith));
}
}
@@ -1138,21 +1465,43 @@ class Share {
$parents = array($parent);
while (!empty($parents)) {
$parents = "'".implode("','", $parents)."'";
- // Check the owner on the first search of reshares, useful for finding and deleting the reshares by a single user of a group share
+ // Check the owner on the first search of reshares,
+ // useful for finding and deleting the reshares by a single user of a group share
if (count($ids) == 1 && isset($uidOwner)) {
- $query = \OC_DB::prepare('SELECT `id`, `uid_owner`, `item_type`, `item_target`, `parent` FROM `*PREFIX*share` WHERE `parent` IN ('.$parents.') AND `uid_owner` = ?');
+ $query = \OC_DB::prepare('SELECT `id`, `uid_owner`, `item_type`, `item_target`, `parent`'
+ .' FROM `*PREFIX*share`'
+ .' WHERE `parent` IN ('.$parents.')'
+ .' AND `uid_owner` = ?');
$result = $query->execute(array($uidOwner));
} else {
- $query = \OC_DB::prepare('SELECT `id`, `item_type`, `item_target`, `parent`, `uid_owner` FROM `*PREFIX*share` WHERE `parent` IN ('.$parents.')');
+ $query = \OC_DB::prepare('SELECT `id`, `item_type`, `item_target`, `parent`, `uid_owner`'
+ .' FROM `*PREFIX*share`'
+ .' WHERE `parent` IN ('.$parents.')');
$result = $query->execute();
}
// Reset parents array, only go through loop again if items are found
$parents = array();
while ($item = $result->fetchRow()) {
- // Search for a duplicate parent share, this occurs when an item is shared to the same user through a group and user or the same item is shared by different users
+ // Search for a duplicate parent share,
+ // this occurs when an item is shared to the same user through a group and user
+ // or the same item is shared by different users
$userAndGroups = array_merge(array($item['uid_owner']), \OC_Group::getUserGroups($item['uid_owner']));
- $query = \OC_DB::prepare('SELECT `id`, `permissions` FROM `*PREFIX*share` WHERE `item_type` = ? AND `item_target` = ? AND `share_type` IN (?,?,?) AND `share_with` IN (\''.implode('\',\'', $userAndGroups).'\') AND `uid_owner` != ? AND `id` != ?');
- $duplicateParent = $query->execute(array($item['item_type'], $item['item_target'], self::SHARE_TYPE_USER, self::SHARE_TYPE_GROUP, self::$shareTypeGroupUserUnique, $item['uid_owner'], $item['parent']))->fetchRow();
+ $query = \OC_DB::prepare('SELECT `id`, `permissions`'
+ .' FROM `*PREFIX*share`'
+ .' WHERE `item_type` = ?'
+ .' AND `item_target` = ?'
+ .' AND `share_type` IN (?,?,?)'
+ .' AND `share_with` IN (\''.implode('\',\'', $userAndGroups).'\')'
+ .' AND `uid_owner` != ?'
+ .' AND `id` != ?');
+ $duplicateParent = $query->execute(array(
+ $item['item_type'],
+ $item['item_target'],
+ self::SHARE_TYPE_USER,
+ self::SHARE_TYPE_GROUP,
+ self::$shareTypeGroupUserUnique,
+ $item['uid_owner'],
+ $item['parent']))->fetchRow();
if ($duplicateParent) {
// Change the parent to the other item id if share permission is granted
if ($duplicateParent['permissions'] & PERMISSION_SHARE) {
@@ -1181,7 +1530,10 @@ class Share {
public static function post_deleteUser($arguments) {
// Delete any items shared with the deleted user
- $query = \OC_DB::prepare('DELETE FROM `*PREFIX*share` WHERE `share_with` = ? AND `share_type` = ? OR `share_type` = ?');
+ $query = \OC_DB::prepare('DELETE FROM `*PREFIX*share`'
+ .' WHERE `share_with` = ?'
+ .' AND `share_type` = ?'
+ .' OR `share_type` = ?');
$result = $query->execute(array($arguments['uid'], self::SHARE_TYPE_USER, self::$shareTypeGroupUserUnique));
// Delete any items the deleted user shared
$query = \OC_DB::prepare('SELECT `id` FROM `*PREFIX*share` WHERE `uid_owner` = ?');
@@ -1195,21 +1547,46 @@ class Share {
// Find the group shares and check if the user needs a unique target
$query = \OC_DB::prepare('SELECT * FROM `*PREFIX*share` WHERE `share_type` = ? AND `share_with` = ?');
$result = $query->execute(array(self::SHARE_TYPE_GROUP, $arguments['gid']));
- $query = \OC_DB::prepare('INSERT INTO `*PREFIX*share` (`item_type`, `item_source`, `item_target`, `parent`, `share_type`, `share_with`, `uid_owner`, `permissions`, `stime`, `file_source`, `file_target`) VALUES (?,?,?,?,?,?,?,?,?,?,?)');
+ $query = \OC_DB::prepare('INSERT INTO `*PREFIX*share` (`item_type`, `item_source`, `item_target`, `parent`,'
+ .' `share_type`, `share_with`, `uid_owner`, `permissions`, `stime`, `file_source`,'
+ .' `file_target`)'
+ .' VALUES (?,?,?,?,?,?,?,?,?,?,?)');
while ($item = $result->fetchRow()) {
if ($item['item_type'] == 'file' || $item['item_type'] == 'file') {
$itemTarget = null;
} else {
- $itemTarget = self::generateTarget($item['item_type'], $item['item_source'], self::SHARE_TYPE_USER, $arguments['uid'], $item['uid_owner'], $item['item_target'], $item['id']);
+ $itemTarget = self::generateTarget($item['item_type'],
+ $item['item_source'],
+ self::SHARE_TYPE_USER,
+ $arguments['uid'],
+ $item['uid_owner'],
+ $item['item_target'],
+ $item['id']);
}
if (isset($item['file_source'])) {
- $fileTarget = self::generateTarget($item['item_type'], $item['item_source'], self::SHARE_TYPE_USER, $arguments['uid'], $item['uid_owner'], $item['file_target'], $item['id']);
+ $fileTarget = self::generateTarget($item['item_type'],
+ $item['item_source'],
+ self::SHARE_TYPE_USER,
+ $arguments['uid'],
+ $item['uid_owner'],
+ $item['file_target'],
+ $item['id']);
} else {
$fileTarget = null;
}
// Insert an extra row for the group share if the item or file target is unique for this user
if ($itemTarget != $item['item_target'] || $fileTarget != $item['file_target']) {
- $query->execute(array($item['item_type'], $item['item_source'], $itemTarget, $item['id'], self::$shareTypeGroupUserUnique, $arguments['uid'], $item['uid_owner'], $item['permissions'], $item['stime'], $item['file_source'], $fileTarget));
+ $query->execute(array($item['item_type'],
+ $item['item_source'],
+ $itemTarget,
+ $item['id'],
+ self::$shareTypeGroupUserUnique,
+ $arguments['uid'],
+ $item['uid_owner'],
+ $item['permissions'],
+ $item['stime'],
+ $item['file_source'],
+ $fileTarget));
\OC_DB::insertid('*PREFIX*share');
}
}
@@ -1217,8 +1594,15 @@ class Share {
public static function post_removeFromGroup($arguments) {
// TODO Don't call if user deleted?
- $query = \OC_DB::prepare('SELECT `id`, `share_type` FROM `*PREFIX*share` WHERE (`share_type` = ? AND `share_with` = ?) OR (`share_type` = ? AND `share_with` = ?)');
- $result = $query->execute(array(self::SHARE_TYPE_GROUP, $arguments['gid'], self::$shareTypeGroupUserUnique, $arguments['uid']));
+ $query = \OC_DB::prepare('SELECT `id`, `share_type`'
+ .' FROM `*PREFIX*share`'
+ .' WHERE (`share_type` = ? AND `share_with` = ?)'
+ .' OR (`share_type` = ? AND `share_with` = ?)');
+ $result = $query->execute(array(
+ self::SHARE_TYPE_GROUP,
+ $arguments['gid'],
+ self::$shareTypeGroupUserUnique,
+ $arguments['uid']));
while ($item = $result->fetchRow()) {
if ($item['share_type'] == self::SHARE_TYPE_GROUP) {
// Delete all reshares by this user of the group share
@@ -1275,10 +1659,13 @@ interface Share_Backend {
* @param int Format
* @return ?
*
- * The items array is a 3-dimensional array with the item_source as the first key and the share id as the second key to an array with the share info.
+ * The items array is a 3-dimensional array with the item_source as the first key
+ * and the share id as the second key to an array with the share info.
* The key/value pairs included in the share info depend on the function originally called:
- * If called by getItem(s)Shared: id, item_type, item, item_source, share_type, share_with, permissions, stime, file_source
- * If called by getItem(s)SharedWith: id, item_type, item, item_source, item_target, share_type, share_with, permissions, stime, file_source, file_target
+ * If called by getItem(s)Shared: id, item_type, item, item_source,
+ * share_type, share_with, permissions, stime, file_source
+ * If called by getItem(s)SharedWith: id, item_type, item, item_source,
+ * item_target, share_type, share_with, permissions, stime, file_source, file_target
* This function allows the backend to control the output of shared items with custom formats.
* It is only called through calls to the public getItem(s)Shared(With) functions.
*/
@@ -1311,7 +1698,8 @@ interface Share_Backend_Collection extends Share_Backend {
/**
* @brief Get the sources of the children of the item
* @param string Item source
- * @return array Returns an array of children each inside an array with the keys: source, target, and file_path if applicable
+ * @return array Returns an array of children each inside an array with the keys:
+ * source, target, and file_path if applicable
*/
public function getChildren($itemSource);
diff --git a/lib/public/user.php b/lib/public/user.php
index 9e50115ab70..204d8e4c0f1 100644
--- a/lib/public/user.php
+++ b/lib/public/user.php
@@ -65,7 +65,7 @@ class User {
/**
* @brief check if a user exists
* @param string $uid the username
- * @param string $excludingBackend (default none)
+ * @param string $excludingBackend (default none)
* @return boolean
*/
public static function userExists( $uid, $excludingBackend = null ) {
@@ -73,12 +73,10 @@ class User {
}
/**
* @brief Loggs the user out including all the session data
- * @returns true
- *
* Logout, destroys session
*/
public static function logout() {
- return \OC_USER::logout();
+ \OC_USER::logout();
}
/**
diff --git a/lib/public/util.php b/lib/public/util.php
index af782b01483..413dbcccd28 100644
--- a/lib/public/util.php
+++ b/lib/public/util.php
@@ -68,7 +68,7 @@ class Util {
* @brief write a message in the log
* @param string $app
* @param string $message
- * @param int level
+ * @param int $level
*/
public static function writeLog( $app, $message, $level ) {
// call the internal log class
@@ -77,7 +77,7 @@ class Util {
/**
* @brief add a css file
- * @param url $url
+ * @param string $url
*/
public static function addStyle( $application, $file = null ) {
\OC_Util::addStyle( $application, $file );
@@ -85,8 +85,8 @@ class Util {
/**
* @brief add a javascript file
- * @param appid $application
- * @param filename $file
+ * @param string $application
+ * @param string $file
*/
public static function addScript( $application, $file = null ) {
\OC_Util::addScript( $application, $file );
@@ -94,7 +94,7 @@ class Util {
/**
* @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
*/
@@ -104,8 +104,8 @@ class Util {
/**
* @brief formats a timestamp in the "right" way
- * @param int timestamp $timestamp
- * @param bool dateOnly option to ommit time from the result
+ * @param int $timestamp $timestamp
+ * @param bool $dateOnly option to omit time from the result
*/
public static function formatDate( $timestamp, $dateOnly=false) {
return(\OC_Util::formatDate( $timestamp, $dateOnly ));
@@ -113,11 +113,11 @@ class Util {
/**
* @brief Creates an absolute url
- * @param $app app
- * @param $file file
- * @param $args array with param=>value, will be appended to the returned url
+ * @param string $app app
+ * @param string $file file
+ * @param array $args array with param=>value, will be appended to the returned url
* The value of $args will be urlencoded
- * @returns the url
+ * @returns string the url
*
* Returns a absolute url to the given app and file.
*/
@@ -127,8 +127,8 @@ class Util {
/**
* @brief Creates an absolute url for remote use
- * @param $service id
- * @returns the url
+ * @param string $service id
+ * @returns string the url
*
* Returns a absolute url to the given app and file.
*/
@@ -138,8 +138,8 @@ class Util {
/**
* @brief Creates an absolute url for public use
- * @param $service id
- * @returns the url
+ * @param string $service id
+ * @returns string the url
*
* Returns a absolute url to the given app and file.
*/
@@ -149,11 +149,11 @@ class Util {
/**
* @brief Creates an url
- * @param $app app
- * @param $file file
- * @param $args array with param=>value, will be appended to the returned url
+ * @param string $app app
+ * @param string $file file
+ * @param array $args array with param=>value, will be appended to the returned url
* The value of $args will be urlencoded
- * @returns the url
+ * @returns string the url
*
* Returns a url to the given app and file.
*/
@@ -163,7 +163,7 @@ class Util {
/**
* @brief Returns the server host
- * @returns the server host
+ * @returns string the server host
*
* Returns the server host, even if the website uses one or more
* reverse proxies
@@ -174,7 +174,7 @@ class Util {
/**
* @brief returns the server hostname
- * @returns the server hostname
+ * @returns string the server hostname
*
* Returns the server host name without an eventual port number
*/
@@ -190,8 +190,8 @@ class Util {
/**
* @brief Returns the default email address
- * @param $user_part the user part of the address
- * @returns the default email address
+ * @param string $user_part the user part of the address
+ * @returns string the default email address
*
* Assembles a default email address (using the server hostname
* and the given user part, and returns it
@@ -203,14 +203,14 @@ class Util {
$host_name = self::getServerHostName();
// handle localhost installations
if ($host_name === 'localhost') {
- $host_name = "example.com";
+ $host_name = "example.com";
}
return $user_part.'@'.$host_name;
}
/**
* @brief Returns the server protocol
- * @returns the server protocol
+ * @returns string the server protocol
*
* Returns the server protocol. It respects reverse proxy servers and load balancers
*/
@@ -220,9 +220,9 @@ class Util {
/**
* @brief Creates path to an image
- * @param $app app
- * @param $image image name
- * @returns the url
+ * @param string $app app
+ * @param string $image image name
+ * @returns string the url
*
* Returns the path to the image.
*/
@@ -232,8 +232,8 @@ class Util {
/**
* @brief Make a human file size
- * @param $bytes file size in bytes
- * @returns a human readable file size
+ * @param int $bytes file size in bytes
+ * @returns string a human readable file size
*
* Makes 2048 to 2 kB.
*/
@@ -243,8 +243,8 @@ class Util {
/**
* @brief Make a computer file size
- * @param $str file size in a fancy format
- * @returns a file size in bytes
+ * @param string $str file size in a fancy format
+ * @returns int a file size in bytes
*
* Makes 2kB to 2048.
*
@@ -256,11 +256,11 @@ class Util {
/**
* @brief connects a function to a hook
- * @param $signalclass class name of emitter
- * @param $signalname name of signal
- * @param $slotclass class name of slot
- * @param $slotname name of slot
- * @returns true/false
+ * @param string $signalclass class name of emitter
+ * @param string $signalname name of signal
+ * @param string $slotclass class name of slot
+ * @param string $slotname name of slot
+ * @returns bool
*
* This function makes it very easy to connect to use hooks.
*
@@ -272,10 +272,10 @@ class Util {
/**
* @brief emitts a signal
- * @param $signalclass class name of emitter
- * @param $signalname name of signal
- * @param $params defautl: array() array with additional data
- * @returns true if slots exists or false if not
+ * @param string $signalclass class name of emitter
+ * @param string $signalname name of signal
+ * @param string $params defautl: array() array with additional data
+ * @returns bool true if slots exists or false if not
*
* Emits a signal. To get data from the slot use references!
*
@@ -298,7 +298,7 @@ class Util {
* Todo: Write howto
*/
public static function callCheck() {
- return(\OC_Util::callCheck());
+ \OC_Util::callCheck();
}
/**
@@ -306,7 +306,7 @@ class 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 sinitized string, depends on the input parameter.
*/
public static function sanitizeHTML( $value ) {
@@ -316,9 +316,9 @@ class Util {
/**
* @brief Returns an array with all keys from input lowercased or uppercased. Numbered indices are left as is.
*
- * @param $input The array to work on
- * @param $case Either MB_CASE_UPPER or MB_CASE_LOWER (default)
- * @param $encoding The encoding parameter is the character encoding. Defaults to UTF-8
+ * @param array $input The array to work on
+ * @param int $case Either MB_CASE_UPPER or MB_CASE_LOWER (default)
+ * @param string $encoding The encoding parameter is the character encoding. Defaults to UTF-8
* @return array
*
*
@@ -330,11 +330,11 @@ class Util {
/**
* @brief replaces a copy of string delimited by the start and (optionally) length parameters with the string given in replacement.
*
- * @param $input The input string. .Opposite to the PHP build-in function does not accept an array.
- * @param $replacement The replacement string.
- * @param $start If start is positive, the replacing will begin at the start'th offset into string. If start is negative, the replacing will begin at the start'th character from the end of string.
- * @param $length Length of the part to be replaced
- * @param $encoding The encoding parameter is the character encoding. Defaults to UTF-8
+ * @param string $input The input string. .Opposite to the PHP build-in function does not accept an array.
+ * @param string $replacement The replacement string.
+ * @param int $start If start is positive, the replacing will begin at the start'th offset into string. If start is negative, the replacing will begin at the start'th character from the end of string.
+ * @param int $length Length of the part to be replaced
+ * @param string $encoding The encoding parameter is the character encoding. Defaults to UTF-8
* @return string
*
*/
@@ -345,11 +345,11 @@ class Util {
/**
* @brief Replace all occurrences of the search string with the replacement string
*
- * @param $search The value being searched for, otherwise known as the needle. String.
- * @param $replace The replacement string.
- * @param $subject The string or array being searched and replaced on, otherwise known as the haystack.
- * @param $encoding The encoding parameter is the character encoding. Defaults to UTF-8
- * @param $count If passed, this will be set to the number of replacements performed.
+ * @param string $search The value being searched for, otherwise known as the needle. String.
+ * @param string $replace The replacement string.
+ * @param string $subject The string or array being searched and replaced on, otherwise known as the haystack.
+ * @param string $encoding The encoding parameter is the character encoding. Defaults to UTF-8
+ * @param int $count If passed, this will be set to the number of replacements performed.
* @return string
*
*/
@@ -359,12 +359,22 @@ class Util {
/**
* @brief performs a search in a nested array
- * @param haystack the array to be searched
- * @param needle the search string
- * @param $index optional, only search this key name
- * @return the key of the matching field, otherwise false
+ * @param array $haystack the array to be searched
+ * @param string $needle the search string
+ * @param int $index optional, only search this key name
+ * @return mixed the key of the matching field, otherwise false
*/
public static function recursiveArraySearch($haystack, $needle, $index = null) {
return(\OC_Helper::recursiveArraySearch($haystack, $needle, $index));
}
+
+ /**
+ * @brief calculates the maximum upload size respecting system settings, free space and user quota
+ *
+ * @param $dir the current folder where the user currently operates
+ * @return number of bytes representing
+ */
+ public static function maxUploadFilesize($dir) {
+ return \OC_Helper::maxUploadFilesize($dir);
+ }
}
diff --git a/lib/request.php b/lib/request.php
index 99a77e1b59e..f2f15c21103 100755
--- a/lib/request.php
+++ b/lib/request.php
@@ -19,7 +19,7 @@ class OC_Request {
return 'localhost';
}
if(OC_Config::getValue('overwritehost', '')<>'') {
- return OC_Config::getValue('overwritehost');
+ return OC_Config::getValue('overwritehost');
}
if (isset($_SERVER['HTTP_X_FORWARDED_HOST'])) {
if (strpos($_SERVER['HTTP_X_FORWARDED_HOST'], ",") !== false) {
@@ -44,7 +44,7 @@ class OC_Request {
*/
public static function serverProtocol() {
if(OC_Config::getValue('overwriteprotocol', '')<>'') {
- return OC_Config::getValue('overwriteprotocol');
+ return OC_Config::getValue('overwriteprotocol');
}
if (isset($_SERVER['HTTP_X_FORWARDED_PROTO'])) {
$proto = strtolower($_SERVER['HTTP_X_FORWARDED_PROTO']);
diff --git a/lib/router.php b/lib/router.php
index 8cb8fd4f33b..746b68c2c0c 100644
--- a/lib/router.php
+++ b/lib/router.php
@@ -49,6 +49,7 @@ class OC_Router {
$files = $this->getRoutingFiles();
$files[] = 'settings/routes.php';
$files[] = 'core/routes.php';
+ $files[] = 'ocs/routes.php';
$this->cache_key = OC_Cache::generateCacheKeyFromFiles($files);
}
return $this->cache_key;
@@ -67,6 +68,11 @@ class OC_Router {
$this->useCollection('root');
require_once 'settings/routes.php';
require_once 'core/routes.php';
+
+ // include ocs routes
+ require_once 'ocs/routes.php';
+ $collection = $this->getCollection('ocs');
+ $this->root->addCollection($collection, '/ocs');
}
protected function getCollection($name) {
diff --git a/lib/setup.php b/lib/setup.php
index fdd10be6824..4dd190b99fb 100644
--- a/lib/setup.php
+++ b/lib/setup.php
@@ -1,5 +1,23 @@
<?php
+class DatabaseSetupException extends Exception
+{
+ private $hint;
+
+ public function __construct($message, $hint, $code = 0, Exception $previous = null) {
+ $this->hint = $hint;
+ parent::__construct($message, $code, $previous);
+ }
+
+ public function __toString() {
+ return __CLASS__ . ": [{$this->code}]: {$this->message} ({$this->hint})\n";
+ }
+
+ public function getHint() {
+ return $this->hint;
+ }
+}
+
class OC_Setup {
public static function install($options) {
$error = array();
@@ -19,9 +37,9 @@ class OC_Setup {
if($dbtype=='mysql')
$dbprettyname = 'MySQL';
else if($dbtype=='pgsql')
- $dbprettyname = 'PostgreSQL';
+ $dbprettyname = 'PostgreSQL';
else
- $dbprettyname = 'Oracle';
+ $dbprettyname = 'Oracle';
if(empty($options['dbuser'])) {
@@ -69,10 +87,16 @@ class OC_Setup {
try {
self::setupMySQLDatabase($dbhost, $dbuser, $dbpass, $dbname, $dbtableprefix, $username);
+ } catch (DatabaseSetupException $e) {
+ $error[] = array(
+ 'error' => $e->getMessage(),
+ 'hint' => $e->getHint()
+ );
+ return($error);
} catch (Exception $e) {
$error[] = array(
- 'error' => 'MySQL username and/or password not valid',
- 'hint' => 'You need to enter either an existing account or the administrator.'
+ 'error' => $e->getMessage(),
+ 'hint' => ''
);
return($error);
}
@@ -141,7 +165,9 @@ class OC_Setup {
if(count($error) == 0) {
OC_Appconfig::setValue('core', 'installedat', microtime(true));
OC_Appconfig::setValue('core', 'lastupdatedat', microtime(true));
-
+ OC_AppConfig::setValue('core', 'remote_core.css', '/core/minimizer.php');
+ OC_AppConfig::setValue('core', 'remote_core.js', '/core/minimizer.php');
+
OC_Group::createGroup('admin');
OC_Group::addToGroup($username, 'admin');
OC_User::login($username, $password);
@@ -153,7 +179,7 @@ class OC_Setup {
if (isset($_SERVER['SERVER_SOFTWARE']) && strstr($_SERVER['SERVER_SOFTWARE'], 'Apache')) {
self::createHtaccess();
}
-
+
//and we are done
OC_Config::setValue('installed', true);
}
@@ -166,7 +192,7 @@ class OC_Setup {
//check if the database user has admin right
$connection = @mysql_connect($dbhost, $dbuser, $dbpass);
if(!$connection) {
- throw new Exception('MySQL username and/or password not valid');
+ throw new DatabaseSetupException('MySQL username and/or password not valid','You need to enter either an existing account or the administrator.');
}
$oldUser=OC_Config::getValue('dbuser', false);
@@ -229,8 +255,14 @@ class OC_Setup {
// the anonymous user would take precedence when there is one.
$query = "CREATE USER '$name'@'localhost' IDENTIFIED BY '$password'";
$result = mysql_query($query, $connection);
+ if (!$result) {
+ throw new DatabaseSetupException("MySQL user '" . "$name" . "'@'localhost' already exists","Delete this user from MySQL.");
+ }
$query = "CREATE USER '$name'@'%' IDENTIFIED BY '$password'";
$result = mysql_query($query, $connection);
+ if (!$result) {
+ throw new DatabaseSetupException("MySQL user '" . "$name" . "'@'%' already exists","Delete this user from MySQL.");
+ }
}
private static function setupPostgreSQLDatabase($dbhost, $dbuser, $dbpass, $dbname, $dbtableprefix, $username) {
diff --git a/lib/subadmin.php b/lib/subadmin.php
index 9e83e6da430..8cda7240ac9 100644
--- a/lib/subadmin.php
+++ b/lib/subadmin.php
@@ -122,6 +122,11 @@ class OC_SubAdmin{
* @return bool
*/
public static function isSubAdmin($uid) {
+ // Check if the user is already an admin
+ if(OC_Group::inGroup($uid, 'admin' )) {
+ return true;
+ }
+
$stmt = OC_DB::prepare('SELECT COUNT(*) AS `count` FROM `*PREFIX*group_admin` WHERE `uid` = ?');
$result = $stmt->execute(array($uid));
$result = $result->fetchRow();
@@ -141,7 +146,7 @@ class OC_SubAdmin{
if(!self::isSubAdmin($subadmin)) {
return false;
}
- if(OC_Group::inGroup($user, 'admin')) {
+ if(OC_User::isAdminUser($user)) {
return false;
}
$accessiblegroups = self::getSubAdminsGroups($subadmin);
diff --git a/lib/template.php b/lib/template.php
index 04667d73a2c..238d8a8ad0f 100644
--- a/lib/template.php
+++ b/lib/template.php
@@ -85,15 +85,25 @@ function human_file_size( $bytes ) {
}
function simple_file_size($bytes) {
- $mbytes = round($bytes/(1024*1024), 1);
- if($bytes == 0) { return '0'; }
- else if($mbytes < 0.1) { return '&lt; 0.1'; }
- else if($mbytes > 1000) { return '&gt; 1000'; }
- else { return number_format($mbytes, 1); }
+ if ($bytes < 0) {
+ return '?';
+ }
+ $mbytes = round($bytes / (1024 * 1024), 1);
+ if ($bytes == 0) {
+ return '0';
+ }
+ if ($mbytes < 0.1) {
+ return '&lt; 0.1';
+ }
+ if ($mbytes > 1000) {
+ return '&gt; 1000';
+ } else {
+ return number_format($mbytes, 1);
+ }
}
function relative_modified_date($timestamp) {
- $l=OC_L10N::get('lib');
+ $l=OC_L10N::get('lib');
$timediff = time() - $timestamp;
$diffminutes = round($timediff/60);
$diffhours = round($diffminutes/60);
@@ -176,9 +186,15 @@ class OC_Template{
$this->l10n = OC_L10N::get($parts[0]);
// Some headers to enhance security
- header('X-Frame-Options: Sameorigin');
- header('X-XSS-Protection: 1; mode=block');
- header('X-Content-Type-Options: nosniff');
+ header('X-Frame-Options: Sameorigin'); // Disallow iFraming from other domains
+ header('X-XSS-Protection: 1; mode=block'); // Enforce browser based XSS filters
+ header('X-Content-Type-Options: nosniff'); // Disable sniffing the content type for IE
+
+ // Content Security Policy
+ // If you change the standard policy, please also change it in config.sample.php
+ $policy = OC_Config::getValue('custom_csp_policy', 'default-src \'self\'; script-src \'self\' \'unsafe-eval\'; style-src \'self\' \'unsafe-inline\'; frame-src *; img-src *');
+ header('Content-Security-Policy:'.$policy); // Standard
+ header('X-WebKit-CSP:'.$policy); // Older webkit browsers
$this->findTemplate($name);
}
diff --git a/lib/templatelayout.php b/lib/templatelayout.php
index 4173e008ba7..83d36199986 100644
--- a/lib/templatelayout.php
+++ b/lib/templatelayout.php
@@ -28,23 +28,16 @@ class OC_TemplateLayout extends OC_Template {
break;
}
}
+ $apps_paths = array();
+ foreach(OC_App::getEnabledApps() as $app) {
+ $apps_paths[$app] = OC_App::getAppWebPath($app);
+ }
+ $this->assign( 'apps_paths', str_replace('\\/', '/', json_encode($apps_paths)), false ); // Ugly unescape slashes waiting for better solution
} else if ($renderas == 'guest') {
parent::__construct('core', 'layout.guest');
} else {
parent::__construct('core', 'layout.base');
}
-
- $apps_paths = array();
- foreach(OC_App::getEnabledApps() as $app) {
- $apps_paths[$app] = OC_App::getAppWebPath($app);
- }
- $this->assign( 'apps_paths', str_replace('\\/', '/', json_encode($apps_paths)), false ); // Ugly unescape slashes waiting for better solution
-
- if (OC_Config::getValue('installed', false) && !OC_AppConfig::getValue('core', 'remote_core.css', false)) {
- OC_AppConfig::setValue('core', 'remote_core.css', '/core/minimizer.php');
- OC_AppConfig::setValue('core', 'remote_core.js', '/core/minimizer.php');
- }
-
// Add the js files
$jsfiles = self::findJavascriptFiles(OC_Util::$scripts);
$this->assign('jsfiles', array(), false);
diff --git a/lib/user.php b/lib/user.php
index 80f88ca7052..fd0ed6ecd3a 100644
--- a/lib/user.php
+++ b/lib/user.php
@@ -260,17 +260,13 @@ class OC_User {
/**
* @brief Sets user id for session and triggers emit
- * @returns true
- *
*/
public static function setUserId($uid) {
$_SESSION['user_id'] = $uid;
- return true;
}
/**
* @brief Logs the current user out and kills all the session data
- * @returns true
*
* Logout, destroys session
*/
@@ -279,7 +275,6 @@ class OC_User {
session_unset();
session_destroy();
OC_User::unsetMagicInCookie();
- return true;
}
/**
@@ -300,6 +295,19 @@ class OC_User {
}
/**
+ * @brief Check if the user is an admin user
+ * @param $uid uid of the admin
+ * @returns bool
+ */
+ public static function isAdminUser($uid) {
+ if(OC_Group::inGroup($uid, 'admin' )) {
+ return true;
+ }
+ return false;
+ }
+
+
+ /**
* @brief get the user id of the user currently logged in.
* @return string uid or false
*/
diff --git a/lib/util.php b/lib/util.php
index 4170de2125a..374baa43dbe 100755
--- a/lib/util.php
+++ b/lib/util.php
@@ -111,7 +111,7 @@ class OC_Util {
* @return string
*/
public static function getEditionString() {
- return '';
+ return '';
}
/**
@@ -311,14 +311,14 @@ class OC_Util {
if (isset($_REQUEST['redirect_url'])) {
$redirect_url = OC_Util::sanitizeHTML($_REQUEST['redirect_url']);
$parameters['redirect_url'] = urlencode($redirect_url);
- }
+ }
OC_Template::printGuestPage("", "login", $parameters);
}
/**
- * Check if the app is enabled, redirects to home if not
- */
+ * Check if the app is enabled, redirects to home if not
+ */
public static function checkAppEnabled($app) {
if( !OC_App::isEnabled($app)) {
header( 'Location: '.OC_Helper::linkToAbsolute( '', 'index.php' ));
@@ -327,9 +327,9 @@ class OC_Util {
}
/**
- * Check if the user is logged in, redirects to home if not. With
- * redirect URL parameter to the request URI.
- */
+ * Check if the user is logged in, redirects to home if not. With
+ * redirect URL parameter to the request URI.
+ */
public static function checkLoggedIn() {
// Check if we are a user
if( !OC_User::isLoggedIn()) {
@@ -339,29 +339,20 @@ class OC_Util {
}
/**
- * Check if the user is a admin, redirects to home if not
- */
+ * Check if the user is a admin, redirects to home if not
+ */
public static function checkAdminUser() {
- // Check if we are a user
- self::checkLoggedIn();
- self::verifyUser();
- if( !OC_Group::inGroup( OC_User::getUser(), 'admin' )) {
+ if( !OC_User::isAdminUser(OC_User::getUser())) {
header( 'Location: '.OC_Helper::linkToAbsolute( '', 'index.php' ));
exit();
}
}
/**
- * Check if the user is a subadmin, redirects to home if not
- * @return array $groups where the current user is subadmin
- */
+ * 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() {
- // Check if we are a user
- self::checkLoggedIn();
- self::verifyUser();
- if(OC_Group::inGroup(OC_User::getUser(), 'admin')) {
- return true;
- }
if(!OC_SubAdmin::isSubAdmin(OC_User::getUser())) {
header( 'Location: '.OC_Helper::linkToAbsolute( '', 'index.php' ));
exit();
@@ -370,42 +361,8 @@ class OC_Util {
}
/**
- * Check if the user verified the login with his password in the last 15 minutes
- * If not, the user will be shown a password verification page
- */
- public static function verifyUser() {
- if(OC_Config::getValue('enhancedauth', false) === true) {
- // Check password to set session
- if(isset($_POST['password'])) {
- if (OC_User::login(OC_User::getUser(), $_POST["password"] ) === true) {
- $_SESSION['verifiedLogin']=time() + OC_Config::getValue('enhancedauthtime', 15 * 60);
- }
- }
-
- // Check if the user verified his password
- if(!isset($_SESSION['verifiedLogin']) OR $_SESSION['verifiedLogin'] < time()) {
- OC_Template::printGuestPage("", "verify", array('username' => OC_User::getUser()));
- exit();
- }
- }
- }
-
- /**
- * Check if the user verified the login with his password
- * @return bool
- */
- public static function isUserVerified() {
- if(OC_Config::getValue('enhancedauth', false) === true) {
- if(!isset($_SESSION['verifiedLogin']) OR $_SESSION['verifiedLogin'] < time()) {
- return false;
- }
- }
- return true;
- }
-
- /**
- * Redirect to the user default page
- */
+ * Redirect to the user default page
+ */
public static function redirectToDefaultPage() {
if(isset($_REQUEST['redirect_url'])) {
$location = OC_Helper::makeURLAbsolute(urldecode($_REQUEST['redirect_url']));
@@ -510,8 +467,11 @@ class OC_Util {
* @return array with sanitized strings or a single sanitized string, depends on the input parameter.
*/
public static function sanitizeHTML( &$value ) {
- if (is_array($value) || is_object($value)) array_walk_recursive($value, 'OC_Util::sanitizeHTML');
- else $value = htmlentities($value, ENT_QUOTES, 'UTF-8'); //Specify encoding for PHP<5.4
+ if (is_array($value) || is_object($value)) {
+ array_walk_recursive($value, 'OC_Util::sanitizeHTML');
+ } else {
+ $value = htmlentities($value, ENT_QUOTES, 'UTF-8'); //Specify encoding for PHP<5.4
+ }
return $value;
}
@@ -553,9 +513,9 @@ class OC_Util {
}
- /**
- * Check if the setlocal call doesn't work. This can happen if the right local packages are not available on the server.
- */
+ /**
+ * Check if the setlocal call doesn't work. This can happen if the right local packages are not available on the server.
+ */
public static function issetlocaleworking() {
$result=setlocale(LC_ALL, 'en_US.UTF-8');
if($result==false) {
@@ -565,20 +525,20 @@ class OC_Util {
}
}
- /**
- * Check if the ownCloud server can connect to the internet
- */
+ /**
+ * Check if the ownCloud server can connect to the internet
+ */
public static function isinternetconnectionworking() {
// try to connect to owncloud.org to see if http connections to the internet are possible.
- $connected = @fsockopen("www.owncloud.org", 80);
+ $connected = @fsockopen("www.owncloud.org", 80);
if ($connected) {
fclose($connected);
return true;
}else{
// second try in case one server is down
- $connected = @fsockopen("apps.owncloud.com", 80);
+ $connected = @fsockopen("apps.owncloud.com", 80);
if ($connected) {
fclose($connected);
return true;
@@ -601,11 +561,11 @@ class OC_Util {
/**
- * @brief Generates a cryptographical secure pseudorandom string
- * @param Int with the length of the random string
- * @return String
- * Please also update secureRNG_available if you change something here
- */
+ * @brief Generates a cryptographical secure pseudorandom string
+ * @param Int with the length of the random string
+ * @return String
+ * Please also update secureRNG_available if you change something here
+ */
public static function generate_random_bytes($length = 30) {
// Try to use openssl_random_pseudo_bytes
@@ -637,9 +597,9 @@ class OC_Util {
}
/**
- * @brief Checks if a secure random number generator is available
- * @return bool
- */
+ * @brief Checks if a secure random number generator is available
+ * @return bool
+ */
public static function secureRNG_available() {
// Check openssl_random_pseudo_bytes
@@ -658,48 +618,61 @@ class OC_Util {
return false;
}
-
- /**
- * @Brief Get file content via curl.
- * @param string $url Url to get content
- * @return string of the response or false on error
- * 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')) {
-
- $curl = curl_init();
-
- curl_setopt($curl, CURLOPT_HEADER, 0);
- curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
- curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 10);
- curl_setopt($curl, CURLOPT_URL, $url);
- curl_setopt($curl, CURLOPT_USERAGENT, "ownCloud Server Crawler");
- if(OC_Config::getValue('proxy','')<>'') {
- curl_setopt($curl, CURLOPT_PROXY, OC_Config::getValue('proxy'));
- }
- if(OC_Config::getValue('proxyuserpwd','')<>'') {
- curl_setopt($curl, CURLOPT_PROXYUSERPWD, OC_Config::getValue('proxyuserpwd'));
- }
- $data = curl_exec($curl);
- curl_close($curl);
-
- } else {
-
- $ctx = stream_context_create(
- array(
- 'http' => array(
- 'timeout' => 10
- )
- )
- );
- $data=@file_get_contents($url, 0, $ctx);
-
- }
- return $data;
+
+ /**
+ * @Brief Get file content via curl.
+ * @param string $url Url to get content
+ * @return string of the response or false on error
+ * 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')) {
+
+ $curl = curl_init();
+
+ curl_setopt($curl, CURLOPT_HEADER, 0);
+ curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
+ curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 10);
+ curl_setopt($curl, CURLOPT_URL, $url);
+ curl_setopt($curl, CURLOPT_USERAGENT, "ownCloud Server Crawler");
+ if(OC_Config::getValue('proxy','')<>'') {
+ curl_setopt($curl, CURLOPT_PROXY, OC_Config::getValue('proxy'));
+ }
+ if(OC_Config::getValue('proxyuserpwd','')<>'') {
+ curl_setopt($curl, CURLOPT_PROXYUSERPWD, OC_Config::getValue('proxyuserpwd'));
+ }
+ $data = curl_exec($curl);
+ curl_close($curl);
+
+ } else {
+ $contextArray = null;
+
+ if(OC_Config::getValue('proxy','')<>'') {
+ $contextArray = array(
+ 'http' => array(
+ 'timeout' => 10,
+ 'proxy' => OC_Config::getValue('proxy')
+ )
+ );
+ } else {
+ $contextArray = array(
+ 'http' => array(
+ 'timeout' => 10
+ )
+ );
+ }
+
+
+ $ctx = stream_context_create(
+ $contextArray
+ );
+ $data=@file_get_contents($url, 0, $ctx);
+
+ }
+ return $data;
}
-
+
}
diff --git a/lib/vcategories.php b/lib/vcategories.php
index 406a4eb1074..1700870f91f 100644
--- a/lib/vcategories.php
+++ b/lib/vcategories.php
@@ -763,4 +763,3 @@ class OC_VCategories {
return array_search(strtolower($needle), array_map('strtolower', $haystack));
}
}
-
diff --git a/ocs/routes.php b/ocs/routes.php
new file mode 100644
index 00000000000..d6ee589df6f
--- /dev/null
+++ b/ocs/routes.php
@@ -0,0 +1,20 @@
+<?php
+/**
+ * Copyright (c) 2012, Tom Needham <tom@owncloud.com>
+ * This file is licensed under the Affero General Public License version 3 or later.
+ * See the COPYING-README file.
+ */
+
+// Config
+OC_API::register('get', '/config', array('OC_OCS_Config', 'apiConfig'), 'ocs', OC_API::GUEST_AUTH);
+// Person
+OC_API::register('post', '/person/check', array('OC_OCS_Person', 'check'), 'ocs', OC_API::GUEST_AUTH);
+// Activity
+OC_API::register('get', '/activity', array('OC_OCS_Activity', 'activityGet'), 'ocs', OC_API::USER_AUTH);
+// Privatedata
+OC_API::register('get', '/privatedata/getattribute', array('OC_OCS_Privatedata', 'get'), 'ocs', OC_API::USER_AUTH, array('app' => '', 'key' => ''));
+OC_API::register('get', '/privatedata/getattribute/{app}', array('OC_OCS_Privatedata', 'get'), 'ocs', OC_API::USER_AUTH, array('key' => ''));
+OC_API::register('get', '/privatedata/getattribute/{app}/{key}', array('OC_OCS_Privatedata', 'get'), 'ocs', OC_API::USER_AUTH);
+OC_API::register('post', '/privatedata/setattribute/{app}/{key}', array('OC_OCS_Privatedata', 'set'), 'ocs', OC_API::USER_AUTH);
+OC_API::register('post', '/privatedata/deleteattribute/{app}/{key}', array('OC_OCS_Privatedata', 'delete'), 'ocs', OC_API::USER_AUTH);
+
diff --git a/ocs/v1.php b/ocs/v1.php
index 1652b0bedbe..af83a56ff14 100644
--- a/ocs/v1.php
+++ b/ocs/v1.php
@@ -21,6 +21,15 @@
*
*/
-require_once '../lib/base.php';
-@ob_clean();
-OC_OCS::handle();
+require_once('../lib/base.php');
+use Symfony\Component\Routing\Exception\ResourceNotFoundException;
+use Symfony\Component\Routing\Exception\MethodNotAllowedException;
+
+try {
+ OC::getRouter()->match('/ocs'.$_SERVER['PATH_INFO']);
+} catch (ResourceNotFoundException $e) {
+ OC_OCS::notFound();
+} catch (MethodNotAllowedException $e) {
+ OC_Response::setStatus(405);
+}
+
diff --git a/settings/admin.php b/settings/admin.php
index 04905391138..4d9685ab920 100755
--- a/settings/admin.php
+++ b/settings/admin.php
@@ -33,6 +33,16 @@ $tmpl->assign('internetconnectionworking', OC_Util::isinternetconnectionworking(
$tmpl->assign('islocaleworking', OC_Util::issetlocaleworking());
$tmpl->assign('backgroundjobs_mode', OC_Appconfig::getValue('core', 'backgroundjobs_mode', 'ajax'));
$tmpl->assign('shareAPIEnabled', OC_Appconfig::getValue('core', 'shareapi_enabled', 'yes'));
+
+// Check if connected using HTTPS
+if (OC_Request::serverProtocol() == 'https') {
+ $connectedHTTPS = true;
+} else {
+ $connectedHTTPS = false;
+}
+$tmpl->assign('isConnectedViaHTTPS', $connectedHTTPS);
+$tmpl->assign('enforceHTTPSEnabled', OC_Config::getValue( "forcessl", false));
+
$tmpl->assign('allowLinks', OC_Appconfig::getValue('core', 'shareapi_allow_links', 'yes'));
$tmpl->assign('allowResharing', OC_Appconfig::getValue('core', 'shareapi_allow_resharing', 'yes'));
$tmpl->assign('sharePolicy', OC_Appconfig::getValue('core', 'shareapi_share_policy', 'global'));
diff --git a/settings/ajax/changepassword.php b/settings/ajax/changepassword.php
index b2db2611518..8d45e62e4d8 100644
--- a/settings/ajax/changepassword.php
+++ b/settings/ajax/changepassword.php
@@ -9,7 +9,7 @@ $password = $_POST["password"];
$oldPassword=isset($_POST["oldpassword"])?$_POST["oldpassword"]:'';
$userstatus = null;
-if(OC_Group::inGroup(OC_User::getUser(), 'admin')) {
+if(OC_User::isAdminUser(OC_User::getUser())) {
$userstatus = 'admin';
}
if(OC_SubAdmin::isUserAccessible(OC_User::getUser(), $username)) {
@@ -30,10 +30,6 @@ if(is_null($userstatus)) {
exit();
}
-if($userstatus === 'admin' || $userstatus === 'subadmin') {
- OC_JSON::verifyUser();
-}
-
// Return Success story
if( OC_User::setPassword( $username, $password )) {
OC_JSON::success(array("data" => array( "username" => $username )));
diff --git a/settings/ajax/createuser.php b/settings/ajax/createuser.php
index addae78517a..09ef25d92fa 100644
--- a/settings/ajax/createuser.php
+++ b/settings/ajax/createuser.php
@@ -3,9 +3,7 @@
OCP\JSON::callCheck();
OC_JSON::checkSubAdminUser();
-$isadmin = OC_Group::inGroup(OC_User::getUser(), 'admin')?true:false;
-
-if($isadmin) {
+if(OC_User::isAdminUser(OC_User::getUser())) {
$groups = array();
if( isset( $_POST["groups"] )) {
$groups = $_POST["groups"];
diff --git a/settings/ajax/disableapp.php b/settings/ajax/disableapp.php
index a39b06b9c7d..e89de928eac 100644
--- a/settings/ajax/disableapp.php
+++ b/settings/ajax/disableapp.php
@@ -1,7 +1,6 @@
<?php
OC_JSON::checkAdminUser();
OCP\JSON::callCheck();
-OC_JSON::setContentTypeHeader();
OC_App::disable($_POST['appid']);
diff --git a/settings/ajax/enableapp.php b/settings/ajax/enableapp.php
index f4d5c53adef..18202dc39e9 100644
--- a/settings/ajax/enableapp.php
+++ b/settings/ajax/enableapp.php
@@ -2,7 +2,6 @@
OC_JSON::checkAdminUser();
OCP\JSON::callCheck();
-OC_JSON::setContentTypeHeader();
$appid = OC_App::enable($_POST['appid']);
if($appid !== false) {
diff --git a/settings/ajax/openid.php b/settings/ajax/openid.php
deleted file mode 100644
index 23c43c3c48e..00000000000
--- a/settings/ajax/openid.php
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
-
-$l=OC_L10N::get('settings');
-
-OC_JSON::checkLoggedIn();
-OCP\JSON::callCheck();
-OC_JSON::checkAppEnabled('user_openid');
-
-// Get data
-if( isset( $_POST['identity'] ) ) {
- $identity=$_POST['identity'];
- OC_Preferences::setValue(OC_User::getUser(), 'user_openid', 'identity', $identity);
- OC_JSON::success(array("data" => array( "message" => $l->t("OpenID Changed") )));
-}else{
- OC_JSON::error(array("data" => array( "message" => $l->t("Invalid request") )));
-}
diff --git a/settings/ajax/removeuser.php b/settings/ajax/removeuser.php
index 9ffb32a0b23..bf3a34f1472 100644
--- a/settings/ajax/removeuser.php
+++ b/settings/ajax/removeuser.php
@@ -10,7 +10,7 @@ if(OC_User::getUser() === $username) {
exit;
}
-if(!OC_Group::inGroup(OC_User::getUser(), 'admin') && !OC_SubAdmin::isUserAccessible(OC_User::getUser(), $username)) {
+if(!OC_User::isAdminUser(OC_User::getUser()) && !OC_SubAdmin::isUserAccessible(OC_User::getUser(), $username)) {
$l = OC_L10N::get('core');
OC_JSON::error(array( 'data' => array( 'message' => $l->t('Authentication error') )));
exit();
diff --git a/settings/ajax/setquota.php b/settings/ajax/setquota.php
index 845f8ea408c..356466c0c00 100644
--- a/settings/ajax/setquota.php
+++ b/settings/ajax/setquota.php
@@ -10,7 +10,7 @@ OCP\JSON::callCheck();
$username = isset($_POST["username"])?$_POST["username"]:'';
-if(($username == '' && !OC_Group::inGroup(OC_User::getUser(), 'admin')) || (!OC_Group::inGroup(OC_User::getUser(), 'admin') && !OC_SubAdmin::isUserAccessible(OC_User::getUser(), $username))) {
+if(($username == '' && !OC_User::isAdminUser(OC_User::getUser()))|| (!OC_User::isAdminUser(OC_User::getUser()) && !OC_SubAdmin::isUserAccessible(OC_User::getUser(), $username))) {
$l = OC_L10N::get('core');
OC_JSON::error(array( 'data' => array( 'message' => $l->t('Authentication error') )));
exit();
diff --git a/settings/ajax/setsecurity.php b/settings/ajax/setsecurity.php
new file mode 100644
index 00000000000..16a85aade81
--- /dev/null
+++ b/settings/ajax/setsecurity.php
@@ -0,0 +1,13 @@
+<?php
+/**
+ * Copyright (c) 2013, Lukas Reschke <lukas@statuscode.ch>
+ * This file is licensed under the Affero General Public License version 3 or later.
+ * See the COPYING-README file.
+ */
+
+OC_Util::checkAdminUser();
+OCP\JSON::callCheck();
+
+OC_Config::setValue( 'forcessl', filter_var($_POST['enforceHTTPS'], FILTER_VALIDATE_BOOLEAN));
+
+echo 'true'; \ No newline at end of file
diff --git a/settings/ajax/togglegroups.php b/settings/ajax/togglegroups.php
index 83d455550ae..9bba9c5269d 100644
--- a/settings/ajax/togglegroups.php
+++ b/settings/ajax/togglegroups.php
@@ -7,13 +7,13 @@ $success = true;
$username = $_POST["username"];
$group = $_POST["group"];
-if($username == OC_User::getUser() && $group == "admin" && OC_Group::inGroup($username, 'admin')) {
+if($username == OC_User::getUser() && $group == "admin" && OC_User::isAdminUser($username)) {
$l = OC_L10N::get('core');
OC_JSON::error(array( 'data' => array( 'message' => $l->t('Admins can\'t remove themself from the admin group'))));
exit();
}
-if(!OC_Group::inGroup(OC_User::getUser(), 'admin') && (!OC_SubAdmin::isUserAccessible(OC_User::getUser(), $username) || !OC_SubAdmin::isGroupAccessible(OC_User::getUser(), $group))) {
+if(!OC_User::isAdminUser(OC_User::getUser()) && (!OC_SubAdmin::isUserAccessible(OC_User::getUser(), $username) || !OC_SubAdmin::isGroupAccessible(OC_User::getUser(), $group))) {
$l = OC_L10N::get('core');
OC_JSON::error(array( 'data' => array( 'message' => $l->t('Authentication error') )));
exit();
@@ -31,8 +31,8 @@ $action = "add";
// Toggle group
if( OC_Group::inGroup( $username, $group )) {
$action = "remove";
- $error = $l->t("Unable to remove user from group %s", $group);
- $success = OC_Group::removeFromGroup( $username, $group );
+ $error = $l->t("Unable to remove user from group %s", $group);
+ $success = OC_Group::removeFromGroup( $username, $group );
$usersInGroup=OC_Group::usersInGroup($group);
if(count($usersInGroup)==0) {
OC_Group::deleteGroup($group);
diff --git a/settings/ajax/userlist.php b/settings/ajax/userlist.php
index eaeade60a39..9bbff80ea0c 100644
--- a/settings/ajax/userlist.php
+++ b/settings/ajax/userlist.php
@@ -28,7 +28,7 @@ if (isset($_GET['offset'])) {
$offset = 0;
}
$users = array();
-if (OC_Group::inGroup(OC_User::getUser(), 'admin')) {
+if (OC_User::isAdminUser(OC_User::getUser())) {
$batch = OC_User::getUsers('', 10, $offset);
foreach ($batch as $user) {
$users[] = array(
diff --git a/settings/apps.php b/settings/apps.php
index 99a3094399d..b6426a31c97 100644
--- a/settings/apps.php
+++ b/settings/apps.php
@@ -26,99 +26,8 @@ OC_App::loadApps();
// Load the files we need
OC_Util::addStyle( "settings", "settings" );
-OC_Util::addScript( "settings", "apps" );
OC_App::setActiveNavigationEntry( "core_apps" );
-$installedApps = OC_App::getAllApps();
-
-//TODO which apps do we want to blacklist and how do we integrate blacklisting with the multi apps folder feature?
-
-$blacklist = array('files');//we dont want to show configuration for these
-
-$appList = array();
-
-foreach ( $installedApps as $app ) {
-
- if ( array_search( $app, $blacklist ) === false ) {
-
- $info=OC_App::getAppInfo($app);
-
- if (!isset($info['name'])) {
-
- OC_Log::write('core', 'App id "'.$app.'" has no name in appinfo', OC_Log::ERROR);
-
- continue;
-
- }
-
- if ( OC_Appconfig::getValue( $app, 'enabled', 'no') == 'yes' ) {
-
- $active = true;
-
- } else {
-
- $active = false;
-
- }
-
- $info['active'] = $active;
-
- if(isset($info['shipped']) and ($info['shipped']=='true')) {
-
- $info['internal']=true;
-
- $info['internallabel']='Internal App';
-
- }else{
-
- $info['internal']=false;
-
- $info['internallabel']='3rd Party App';
-
- }
-
- $info['preview'] = OC_Helper::imagePath('settings', 'trans.png');
-
- $info['version'] = OC_App::getAppVersion($app);
-
- $appList[] = $info;
-
- }
-}
-
-$remoteApps = OC_App::getAppstoreApps();
-
-if ( $remoteApps ) {
-
- // Remove duplicates
- foreach ( $appList as $app ) {
-
- foreach ( $remoteApps AS $key => $remote ) {
-
- if (
- $app['name'] == $remote['name']
- // To set duplicate detection to use OCS ID instead of string name,
- // enable this code, remove the line of code above,
- // and add <ocs_id>[ID]</ocs_id> to info.xml of each 3rd party app:
- // OR $app['ocs_id'] == $remote['ocs_id']
- ) {
-
- unset( $remoteApps[$key]);
-
- }
-
- }
-
- }
-
- $combinedApps = array_merge( $appList, $remoteApps );
-
-} else {
-
- $combinedApps = $appList;
-
-}
-
function app_sort( $a, $b ) {
if ($a['active'] != $b['active']) {
@@ -131,6 +40,7 @@ function app_sort( $a, $b ) {
}
+$combinedApps = OC_App::listAllApps();
usort( $combinedApps, 'app_sort' );
$tmpl = new OC_Template( "settings", "apps", "user" );
diff --git a/settings/css/oauth.css b/settings/css/oauth.css
new file mode 100644
index 00000000000..ccdb98cfa39
--- /dev/null
+++ b/settings/css/oauth.css
@@ -0,0 +1,4 @@
+.guest-container{ width:35%; margin: 2em auto 0 auto; }
+#oauth-request a.button{ float: right; }
+#oauth-request ul li{ list-style: disc; }
+#oauth-request ul { margin-left: 2em; margin-top: 1em; }
diff --git a/settings/css/settings.css b/settings/css/settings.css
index 36457481911..4d0f6efd2c8 100644
--- a/settings/css/settings.css
+++ b/settings/css/settings.css
@@ -39,7 +39,7 @@ div.quota-select-wrapper { position: relative; }
select.quota { position:absolute; left:0; top:0; width:10em; }
select.quota-user { position:relative; left:0; top:0; width:10em; }
input.quota-other { display:none; position:absolute; left:0.1em; top:0.1em; width:7em; border:none; box-shadow:none; }
-div.quota>span { position:absolute; right:0em; white-space:nowrap; top: 0.7em }
+div.quota>span { position:absolute; right:0; white-space:nowrap; top:.7em; color:#888; text-shadow:0 1px 0 #fff; }
select.quota.active { background: #fff; }
/* APPS */
diff --git a/settings/help.php b/settings/help.php
index cd3d615425c..a5ac11ec9a3 100644
--- a/settings/help.php
+++ b/settings/help.php
@@ -27,7 +27,7 @@ $url1=OC_Helper::linkToRoute( "settings_help" ).'?mode=user';
$url2=OC_Helper::linkToRoute( "settings_help" ).'?mode=admin';
$tmpl = new OC_Template( "settings", "help", "user" );
-$tmpl->assign( "admin", OC_Group::inGroup(OC_User::getUser(), 'admin') );
+$tmpl->assign( "admin", OC_User::isAdminUser(OC_User::getUser()));
$tmpl->assign( "url", $url );
$tmpl->assign( "url1", $url1 );
$tmpl->assign( "url2", $url2 );
diff --git a/settings/js/admin.js b/settings/js/admin.js
index 95b7a503c27..ab218377fb3 100644
--- a/settings/js/admin.js
+++ b/settings/js/admin.js
@@ -30,4 +30,8 @@ $(document).ready(function(){
}
OC.AppConfig.setValue('core', $(this).attr('name'), value);
});
+
+ $('#security').change(function(){
+ $.post(OC.filePath('settings','ajax','setsecurity.php'), { enforceHTTPS: $('#enforceHTTPSEnabled').val() },function(){} );
+ });
});
diff --git a/settings/js/apps-custom.php b/settings/js/apps-custom.php
new file mode 100644
index 00000000000..9ec2a758ee3
--- /dev/null
+++ b/settings/js/apps-custom.php
@@ -0,0 +1,26 @@
+<?php
+/**
+ * Copyright (c) 2013 Lukas Reschke <lukas@statuscode.ch>
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+
+// Check if admin user
+OC_Util::checkAdminUser();
+
+// Set the content type to JSON
+header('Content-type: application/json');
+
+// Disallow caching
+header("Cache-Control: no-cache, must-revalidate");
+header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");
+
+$combinedApps = OC_App::listAllApps();
+
+foreach($combinedApps as $app) {
+ echo("appData_".$app['id']."=".json_encode($app));
+ echo("\n");
+}
+
+echo ("var appid =\"".$_GET['appid']."\";"); \ No newline at end of file
diff --git a/settings/js/isadmin.php b/settings/js/isadmin.php
new file mode 100644
index 00000000000..8b31f8a7cf9
--- /dev/null
+++ b/settings/js/isadmin.php
@@ -0,0 +1,20 @@
+<?php
+/**
+ * Copyright (c) 2013 Lukas Reschke <lukas@statuscode.ch>
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+
+// Set the content type to Javascript
+header("Content-type: text/javascript");
+
+// Disallow caching
+header("Cache-Control: no-cache, must-revalidate");
+header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");
+
+if (OC_User::isAdminUser(OC_User::getUser())) {
+ echo("var isadmin = true;");
+} else {
+ echo("var isadmin = false;");
+} \ No newline at end of file
diff --git a/settings/js/users.js b/settings/js/users.js
index b0e30feb80c..9f0c1ffd111 100644
--- a/settings/js/users.js
+++ b/settings/js/users.js
@@ -26,9 +26,8 @@ var UserList = {
UserList.deleteCanceled = false;
// Provide user with option to undo
- $('#notification').html(t('users', 'deleted') + ' ' + uid + '<span class="undo">' + t('users', 'undo') + '</span>');
$('#notification').data('deleteuser', true);
- $('#notification').fadeIn();
+ OC.Notification.showHtml(t('users', 'deleted') + ' ' + uid + '<span class="undo">' + t('users', 'undo') + '</span>');
},
/**
@@ -53,7 +52,7 @@ var UserList = {
success:function (result) {
if (result.status == 'success') {
// Remove undo option, & remove user from table
- $('#notification').fadeOut();
+ OC.Notification.hide();
$('tr').filterAttr('data-uid', UserList.deleteUid).remove();
UserList.deleteCanceled = true;
if (ready) {
@@ -177,9 +176,9 @@ var UserList = {
} else {
checkHandeler = false;
}
- var addGroup = function (group) {
+ var addGroup = function (select, group) {
$('select[multiple]').each(function (index, element) {
- if ($(element).find('option[value="' + group + '"]').length == 0) {
+ if ($(element).find('option[value="' + group + '"]').length === 0 && select.data('msid') !== $(element).data('msid')) {
$(element).append('<option value="' + group + '">' + group + '</option>');
}
})
@@ -193,10 +192,11 @@ var UserList = {
element.multiSelect({
createCallback:addGroup,
createText:label,
+ selectedFirst:true,
checked:checked,
oncheck:checkHandeler,
onuncheck:checkHandeler,
- minWidth:100,
+ minWidth:100
});
}
if ($(element).attr('class') == 'subadminsselect') {
@@ -231,7 +231,7 @@ var UserList = {
checked:checked,
oncheck:checkHandeler,
onuncheck:checkHandeler,
- minWidth:100,
+ minWidth:100
});
}
}
@@ -388,7 +388,7 @@ $(document).ready(function () {
{
username:username,
password:password,
- groups:groups,
+ groups:groups
},
function (result) {
if (result.status != 'success') {
@@ -401,13 +401,13 @@ $(document).ready(function () {
);
});
// Handle undo notifications
- $('#notification').hide();
+ OC.Notification.hide();
$('#notification .undo').live('click', function () {
if ($('#notification').data('deleteuser')) {
$('tbody tr').filterAttr('data-uid', UserList.deleteUid).show();
UserList.deleteCanceled = true;
}
- $('#notification').fadeOut();
+ OC.Notification.hide();
});
UserList.useUndo = ('onbeforeunload' in window)
$(window).bind('beforeunload', function () {
diff --git a/settings/l10n/ar.php b/settings/l10n/ar.php
index 730db722111..20d4cced233 100644
--- a/settings/l10n/ar.php
+++ b/settings/l10n/ar.php
@@ -5,12 +5,11 @@
"Could not enable app. " => "ÙØ´Ù„ عملية ØªÙØ¹ÙŠÙ„ التطبيق",
"Email saved" => "تم Ø­ÙØ¸ البريد الإلكتروني",
"Invalid email" => "البريد الإلكتروني غير صالح",
-"OpenID Changed" => "تم تغيير ال OpenID",
-"Invalid request" => "طلبك غير Ù…Ùهوم",
"Unable to delete group" => "ÙØ´Ù„ إزالة المجموعة",
"Authentication error" => "لم يتم التأكد من الشخصية بنجاح",
"Unable to delete user" => "ÙØ´Ù„ إزالة المستخدم",
"Language changed" => "تم تغيير اللغة",
+"Invalid request" => "طلبك غير Ù…Ùهوم",
"Admins can't remove themself from the admin group" => "لا يستطيع المدير إزالة حسابه من مجموعة المديرين",
"Unable to add user to group %s" => "ÙØ´Ù„ Ø¥Ø¶Ø§ÙØ© المستخدم الى المجموعة %s",
"Unable to remove user from group %s" => "ÙØ´Ù„ إزالة المستخدم من المجموعة %s",
@@ -53,9 +52,7 @@
"Name" => "الاسم",
"Groups" => "مجموعات",
"Create" => "انشئ",
-"Default Quota" => "الحصة النسبية Ø§Ù„Ø¥ÙØªØ±Ø§Ø¶ÙŠØ©",
"Other" => "شيء آخر",
"Group Admin" => "مدير المجموعة",
-"Quota" => "حصه",
"Delete" => "حذÙ"
);
diff --git a/settings/l10n/bg_BG.php b/settings/l10n/bg_BG.php
index 18784fae7b0..dc4c1cf6431 100644
--- a/settings/l10n/bg_BG.php
+++ b/settings/l10n/bg_BG.php
@@ -1,31 +1,10 @@
<?php $TRANSLATIONS = array(
-"Email saved" => "Е-пощата е запиÑана",
-"Invalid email" => "Ðеправилна е-поща",
-"OpenID Changed" => "OpenID е Ñменено",
+"Authentication error" => "Възникна проблем Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñта",
"Invalid request" => "Ðевалидна заÑвка",
-"Authentication error" => "Проблем Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñта",
-"Language changed" => "Езика е Ñменен",
-"Disable" => "Изключване",
-"Enable" => "Включване",
-"Saving..." => "ЗапиÑване...",
-"Select an App" => "Изберете програма",
-"Clients" => "Клиенти",
+"Enable" => "Включено",
"Password" => "Парола",
-"Unable to change your password" => "Ðевъзможна промÑна на паролата",
-"Current password" => "Текуща парола",
-"New password" => "Ðова парола",
-"show" => "показва",
-"Change password" => "ПромÑна на парола",
-"Email" => "Е-поща",
-"Your email address" => "ÐдреÑÑŠÑ‚ на е-пощата ви",
-"Fill in an email address to enable password recovery" => "Въведете е-поща за възÑтановÑване на паролата",
-"Language" => "Език",
-"Help translate" => "Помощ за превода",
+"Email" => "E-mail",
"Name" => "Име",
"Groups" => "Групи",
-"Create" => "Ðово",
-"Default Quota" => "Квота по подразбиране",
-"Other" => "Друго",
-"Quota" => "Квота",
"Delete" => "Изтриване"
);
diff --git a/settings/l10n/bn_BD.php b/settings/l10n/bn_BD.php
new file mode 100644
index 00000000000..bab6d9ec19c
--- /dev/null
+++ b/settings/l10n/bn_BD.php
@@ -0,0 +1,62 @@
+<?php $TRANSLATIONS = array(
+"Unable to load list from App Store" => "অà§à¦¯à¦¾à¦ªà¦¸à§à¦Ÿà§‹à¦° থেকে তালিকা লোড করতে সকà§à¦·à¦® নয়",
+"Group already exists" => "গোষà§à¦ à§€à¦Ÿà¦¿ পূরà§à¦¬ থেকেই বিদà§à¦¯à¦®à¦¾à¦¨",
+"Unable to add group" => "গোষà§à¦ à§€ যোগ করা সমà§à¦­à¦¬ হলো না",
+"Could not enable app. " => "অà§à¦¯à¦ªà¦Ÿà¦¿ সকà§à¦°à¦¿à§Ÿ করতে সকà§à¦·à¦® নয়।",
+"Email saved" => "ই-মেইল সংরকà§à¦·à¦¨ করা হয়েছে",
+"Invalid email" => "ই-মেইলটি সঠিক নয়",
+"Unable to delete group" => "গোষà§à¦ à§€ মà§à¦›à§‡ ফেলা সমà§à¦­à¦¬ হলো না ",
+"Authentication error" => "অনà§à¦®à§‹à¦¦à¦¨ ঘটিত সমসà§à¦¯à¦¾",
+"Unable to delete user" => "বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•ারী মà§à¦›à§‡ ফেলা সমà§à¦­à¦¬ হলো না ",
+"Language changed" => "ভাষা পরিবরà§à¦¤à¦¨ করা হয়েছে",
+"Invalid request" => "অনà§à¦°à§‹à¦§à¦Ÿà¦¿ যথাযথ নয়",
+"Admins can't remove themself from the admin group" => "পà§à¦°à¦¶à¦¾à¦¸à¦•বৃনà§à¦¦ তাদেরকে পà§à¦°à¦¶à¦¾à¦¸à¦• গোষà§à¦ à§€ থেকে মà§à¦›à§‡ ফেলতে পারবেন না",
+"Unable to add user to group %s" => " %s গোষà§à¦ à§€à¦¤à§‡ বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•ারী যোগ করা সমà§à¦­à¦¬ হলো না ",
+"Unable to remove user from group %s" => "%s গোষà§à¦ à§€ থেকে বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•ারীকে অপসারণ করা সমà§à¦­à¦¬ হলো না",
+"Disable" => "নিষà§à¦•à§à¦°à¦¿à§Ÿ",
+"Enable" => "সকà§à¦°à¦¿à§Ÿ ",
+"Saving..." => "সংরকà§à¦·à¦£ করা হচà§à¦›à§‡..",
+"__language_name__" => "__language_name__",
+"Add your App" => "আপনার অà§à¦¯à¦¾à¦ªà¦Ÿà¦¿ যোগ করà§à¦¨",
+"More Apps" => "আরও অà§à¦¯à¦¾à¦ª",
+"Select an App" => "অà§à¦¯à¦¾à¦ª নিরà§à¦¬à¦¾à¦šà¦¨ করà§à¦¨",
+"See application page at apps.owncloud.com" => "apps.owncloud.com ঠঅà§à¦¯à¦¾à¦ªà§à¦²à¦¿à¦•েসন পৃষà§à¦ à¦¾ দেখà§à¦¨",
+"<span class=\"licence\"></span>-licensed by <span class=\"author\"></span>" => "<span class=\"licence\"></span>-লাইসেনà§à¦¸à¦§à¦¾à¦°à§€ <span class=\"author\"></span>",
+"User Documentation" => "বà§à¦¯à¦¬à¦¹à¦¾à¦°à¦•ারী সহায়িকা",
+"Administrator Documentation" => "পà§à¦°à¦¶à¦¾à¦¸à¦• সহায়িকা",
+"Online Documentation" => "অনলাইন সহায়িকা",
+"Forum" => "ফোরাম",
+"Bugtracker" => "বাগটà§à¦°à§à¦¯à¦¾à¦•ার",
+"Commercial Support" => "বাণিজà§à¦¯à¦¿à¦• সাপোরà§à¦Ÿ",
+"You have used <strong>%s</strong> of the available <strong>%s</strong>" => "আপনি বà§à¦¯à¦¬à¦¹à¦¾à¦° করছেন <strong>%s</strong>, সà§à¦²à¦­ <strong>%s</strong> à¦à¦° মধà§à¦¯à§‡à¥¤",
+"Clients" => "কà§à¦²à¦¾à§Ÿà§‡à¦¨à§à¦Ÿ",
+"Download Desktop Clients" => "ডেসà§à¦•টপ কà§à¦²à¦¾à§Ÿà§‡à¦¨à§à¦Ÿ ডাউনলোড করà§à¦¨",
+"Download Android Client" => "অà§à¦¯à¦¾à¦¨à§à¦¡à§à¦°à§Ÿà§‡à¦¡ কà§à¦²à¦¾à§Ÿà§‡à¦¨à§à¦Ÿ ডাউনলোড করà§à¦¨",
+"Download iOS Client" => "iOS কà§à¦²à¦¾à§Ÿà§‡à¦¨à§à¦Ÿ ডাউনলোড করà§à¦¨",
+"Password" => "কূটশবà§à¦¦",
+"Your password was changed" => "আপনার কূটশবà§à¦¦à¦Ÿà¦¿ পরিবরà§à¦¤à¦¨ করা হয়েছে ",
+"Unable to change your password" => "আপনার কূটশবà§à¦¦à¦Ÿà¦¿ পরিবরà§à¦¤à¦¨ করতে সকà§à¦·à¦® নয়",
+"Current password" => "বরà§à¦¤à¦®à¦¾à¦¨ কূটশবà§à¦¦",
+"New password" => "নতà§à¦¨ কূটশবà§à¦¦",
+"show" => "পà§à¦°à¦¦à¦°à§à¦¶à¦¨",
+"Change password" => "কূটশবà§à¦¦ পরিবরà§à¦¤à¦¨ করà§à¦¨",
+"Email" => "ই-মেইল ",
+"Your email address" => "আপনার ই-মেইল ঠিকানা",
+"Fill in an email address to enable password recovery" => "কূটশবà§à¦¦ পূনরূদà§à¦§à¦¾à¦° সকà§à¦°à¦¿à§Ÿ করার জনà§à¦¯ ই-মেইল ঠিকানাটি পূরণ করà§à¦¨",
+"Language" => "ভাষা",
+"Help translate" => "অনà§à¦¬à¦¾à¦¦ করতে সহায়তা করà§à¦¨",
+"WebDAV" => "WebDAV",
+"Use this address to connect to your ownCloud in your file manager" => "আপনার ownCloud ঠসংযà§à¦•à§à¦¤ হতে à¦à¦‡ ঠিকানাটি আপনার ফাইল বà§à¦¯à¦¬à¦¸à§à¦¥à¦¾à¦ªà¦•ে বà§à¦¯à¦¬à¦¹à¦¾à¦° করà§à¦¨",
+"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 href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a> à¦à¦° অধীনে লাইসেনà§à¦¸à¦•ৃত।",
+"Name" => "রাম",
+"Groups" => "গোষà§à¦ à§€à¦¸à¦®à§‚হ",
+"Create" => "তৈরী কর",
+"Default Storage" => "পূরà§à¦¬à¦¨à¦¿à¦°à§à¦§à¦¾à¦°à¦¿à¦¤ সংরকà§à¦·à¦£à¦¾à¦—ার",
+"Unlimited" => "অসীম",
+"Other" => "অনà§à¦¯à¦¾à¦¨à§à¦¯",
+"Group Admin" => "গোষà§à¦ à§€ পà§à¦°à¦¶à¦¾à¦¸à¦•",
+"Storage" => "সংরকà§à¦·à¦£à¦¾à¦—ার",
+"Default" => "পূরà§à¦¬à¦¨à¦¿à¦°à§à¦§à¦¾à¦°à¦¿à¦¤",
+"Delete" => "মà§à¦›à§‡ ফেল"
+);
diff --git a/settings/l10n/ca.php b/settings/l10n/ca.php
index 0f57387355a..35952475254 100644
--- a/settings/l10n/ca.php
+++ b/settings/l10n/ca.php
@@ -5,12 +5,11 @@
"Could not enable app. " => "No s'ha pogut activar l'apliació",
"Email saved" => "S'ha desat el correu electrònic",
"Invalid email" => "El correu electrònic no és vàlid",
-"OpenID Changed" => "OpenID ha canviat",
-"Invalid request" => "Sol.licitud no vàlida",
"Unable to delete group" => "No es pot eliminar el grup",
"Authentication error" => "Error d'autenticació",
"Unable to delete user" => "No es pot eliminar l'usuari",
"Language changed" => "S'ha canviat l'idioma",
+"Invalid request" => "Sol.licitud no vàlida",
"Admins can't remove themself from the admin group" => "Els administradors no es poden eliminar del grup admin",
"Unable to add user to group %s" => "No es pot afegir l'usuari al grup %s",
"Unable to remove user from group %s" => "No es pot eliminar l'usuari del grup %s",
@@ -53,9 +52,11 @@
"Name" => "Nom",
"Groups" => "Grups",
"Create" => "Crea",
-"Default Quota" => "Quota per defecte",
-"Other" => "Altre",
+"Default Storage" => "Emmagatzemament per defecte",
+"Unlimited" => "Il·limitat",
+"Other" => "Un altre",
"Group Admin" => "Grup Admin",
-"Quota" => "Quota",
+"Storage" => "Emmagatzemament",
+"Default" => "Per defecte",
"Delete" => "Suprimeix"
);
diff --git a/settings/l10n/cs_CZ.php b/settings/l10n/cs_CZ.php
index c88959026da..d20861764a9 100644
--- a/settings/l10n/cs_CZ.php
+++ b/settings/l10n/cs_CZ.php
@@ -5,12 +5,11 @@
"Could not enable app. " => "Nelze povolit aplikaci.",
"Email saved" => "E-mail uložen",
"Invalid email" => "Neplatný e-mail",
-"OpenID Changed" => "OpenID změněno",
-"Invalid request" => "Neplatný požadavek",
"Unable to delete group" => "Nelze smazat skupinu",
"Authentication error" => "Chyba ověření",
"Unable to delete user" => "Nelze smazat uživatele",
"Language changed" => "Jazyk byl změněn",
+"Invalid request" => "Neplatný požadavek",
"Admins can't remove themself from the admin group" => "Správci se nemohou odebrat sami ze skupiny správců",
"Unable to add user to group %s" => "Nelze přidat uživatele do skupiny %s",
"Unable to remove user from group %s" => "Nelze odstranit uživatele ze skupiny %s",
@@ -53,9 +52,11 @@
"Name" => "Jméno",
"Groups" => "Skupiny",
"Create" => "Vytvořit",
-"Default Quota" => "Výchozí kvóta",
+"Default Storage" => "Výchozí úložiště",
+"Unlimited" => "NeomezenÄ›",
"Other" => "Jiná",
"Group Admin" => "Správa skupiny",
-"Quota" => "Kvóta",
+"Storage" => "Úložiště",
+"Default" => "Výchozí",
"Delete" => "Smazat"
);
diff --git a/settings/l10n/da.php b/settings/l10n/da.php
index d8b36266e24..021d7f814bb 100644
--- a/settings/l10n/da.php
+++ b/settings/l10n/da.php
@@ -5,12 +5,11 @@
"Could not enable app. " => "Applikationen kunne ikke aktiveres.",
"Email saved" => "Email adresse gemt",
"Invalid email" => "Ugyldig email adresse",
-"OpenID Changed" => "OpenID ændret",
-"Invalid request" => "Ugyldig forespørgsel",
"Unable to delete group" => "Gruppen kan ikke slettes",
"Authentication error" => "Adgangsfejl",
"Unable to delete user" => "Bruger kan ikke slettes",
"Language changed" => "Sprog ændret",
+"Invalid request" => "Ugyldig forespørgsel",
"Admins can't remove themself from the admin group" => "Administratorer kan ikke fjerne dem selv fra admin gruppen",
"Unable to add user to group %s" => "Brugeren kan ikke tilføjes til gruppen %s",
"Unable to remove user from group %s" => "Brugeren kan ikke fjernes fra gruppen %s",
@@ -53,9 +52,11 @@
"Name" => "Navn",
"Groups" => "Grupper",
"Create" => "Ny",
-"Default Quota" => "Standard kvote",
+"Default Storage" => "Standard opbevaring",
+"Unlimited" => "Ubegrænset",
"Other" => "Andet",
"Group Admin" => "Gruppe Administrator",
-"Quota" => "Kvote",
+"Storage" => "Opbevaring",
+"Default" => "Standard",
"Delete" => "Slet"
);
diff --git a/settings/l10n/de.php b/settings/l10n/de.php
index e27d1c1c432..3bb53f99b2e 100644
--- a/settings/l10n/de.php
+++ b/settings/l10n/de.php
@@ -5,12 +5,11 @@
"Could not enable app. " => "App konnte nicht aktiviert werden.",
"Email saved" => "E-Mail Adresse gespeichert",
"Invalid email" => "Ungültige E-Mail Adresse",
-"OpenID Changed" => "OpenID geändert",
-"Invalid request" => "Ungültige Anfrage",
"Unable to delete group" => "Gruppe konnte nicht gelöscht werden",
"Authentication error" => "Fehler bei der Anmeldung",
"Unable to delete user" => "Benutzer konnte nicht gelöscht werden",
"Language changed" => "Sprache geändert",
+"Invalid request" => "Ungültige Anfrage",
"Admins can't remove themself from the admin group" => "Administratoren können sich nicht selbst aus der Admin-Gruppe löschen.",
"Unable to add user to group %s" => "Der Benutzer konnte nicht zur Gruppe %s hinzugefügt werden",
"Unable to remove user from group %s" => "Der Benutzer konnte nicht aus der Gruppe %s entfernt werden",
@@ -53,9 +52,11 @@
"Name" => "Name",
"Groups" => "Gruppen",
"Create" => "Anlegen",
-"Default Quota" => "Standard-Quota",
+"Default Storage" => "Standard-Speicher",
+"Unlimited" => "Unbegrenzt",
"Other" => "Andere",
"Group Admin" => "Gruppenadministrator",
-"Quota" => "Quota",
+"Storage" => "Speicher",
+"Default" => "Standard",
"Delete" => "Löschen"
);
diff --git a/settings/l10n/de_DE.php b/settings/l10n/de_DE.php
index 99d7c1360ce..dd129fc59eb 100644
--- a/settings/l10n/de_DE.php
+++ b/settings/l10n/de_DE.php
@@ -5,12 +5,11 @@
"Could not enable app. " => "Die Anwendung konnte nicht aktiviert werden.",
"Email saved" => "E-Mail-Adresse gespeichert",
"Invalid email" => "Ungültige E-Mail-Adresse",
-"OpenID Changed" => "OpenID geändert",
-"Invalid request" => "Ungültige Anfrage",
"Unable to delete group" => "Die Gruppe konnte nicht gelöscht werden",
"Authentication error" => "Fehler bei der Anmeldung",
"Unable to delete user" => "Der Benutzer konnte nicht gelöscht werden",
"Language changed" => "Sprache geändert",
+"Invalid request" => "Ungültige Anfrage",
"Admins can't remove themself from the admin group" => "Administratoren können sich nicht selbst aus der admin-Gruppe löschen",
"Unable to add user to group %s" => "Der Benutzer konnte nicht zur Gruppe %s hinzugefügt werden",
"Unable to remove user from group %s" => "Der Benutzer konnte nicht aus der Gruppe %s entfernt werden",
@@ -53,9 +52,11 @@
"Name" => "Name",
"Groups" => "Gruppen",
"Create" => "Anlegen",
-"Default Quota" => "Standard-Quota",
+"Default Storage" => "Standard-Speicher",
+"Unlimited" => "Unbegrenzt",
"Other" => "Andere",
"Group Admin" => "Gruppenadministrator",
-"Quota" => "Quota",
+"Storage" => "Speicher",
+"Default" => "Standard",
"Delete" => "Löschen"
);
diff --git a/settings/l10n/el.php b/settings/l10n/el.php
index 38b96151cb4..ffd6d2a60bf 100644
--- a/settings/l10n/el.php
+++ b/settings/l10n/el.php
@@ -5,12 +5,11 @@
"Could not enable app. " => "Αδυναμία ενεÏγοποίησης εφαÏμογής ",
"Email saved" => "Το email αποθηκεÏτηκε ",
"Invalid email" => "Μη έγκυÏο email",
-"OpenID Changed" => "Το OpenID άλλαξε",
-"Invalid request" => "Μη έγκυÏο αίτημα",
"Unable to delete group" => "Αδυναμία διαγÏαφής ομάδας",
"Authentication error" => "Σφάλμα πιστοποίησης",
"Unable to delete user" => "Αδυναμία διαγÏαφής χÏήστη",
"Language changed" => "Η γλώσσα άλλαξε",
+"Invalid request" => "Μη έγκυÏο αίτημα",
"Admins can't remove themself from the admin group" => "Οι διαχειÏιστές δεν μποÏοÏν να αφαιÏέσουν τους εαυτοÏÏ‚ τους από την ομάδα των διαχειÏιστών",
"Unable to add user to group %s" => "Αδυναμία Ï€Ïοσθήκη χÏήστη στην ομάδα %s",
"Unable to remove user from group %s" => "Αδυναμία αφαίÏεσης χÏήστη από την ομάδα %s",
@@ -53,9 +52,11 @@
"Name" => "Όνομα",
"Groups" => "Ομάδες",
"Create" => "ΔημιουÏγία",
-"Default Quota" => "ΠÏοεπιλεγμένο ÎŒÏιο",
+"Default Storage" => "ΠÏοκαθοÏισμένη Αποθήκευση ",
+"Unlimited" => "ΑπεÏιόÏιστο",
"Other" => "Άλλα",
"Group Admin" => "Ομάδα ΔιαχειÏιστών",
-"Quota" => "ΣÏνολο ΧώÏου",
+"Storage" => "Αποθήκευση",
+"Default" => "ΠÏοκαθοÏισμένο",
"Delete" => "ΔιαγÏαφή"
);
diff --git a/settings/l10n/eo.php b/settings/l10n/eo.php
index 668d48f30b3..ef8615e24e4 100644
--- a/settings/l10n/eo.php
+++ b/settings/l10n/eo.php
@@ -5,12 +5,11 @@
"Could not enable app. " => "Ne eblis kapabligi la aplikaĵon.",
"Email saved" => "La retpoÅtadreso konserviÄis",
"Invalid email" => "Nevalida retpoÅtadreso",
-"OpenID Changed" => "La agordo de OpenID estas ÅanÄita",
-"Invalid request" => "Nevalida peto",
"Unable to delete group" => "Ne eblis forigi la grupon",
"Authentication error" => "AÅ­tentiga eraro",
"Unable to delete user" => "Ne eblis forigi la uzanton",
"Language changed" => "La lingvo estas ÅanÄita",
+"Invalid request" => "Nevalida peto",
"Admins can't remove themself from the admin group" => "Administrantoj ne povas forigi sin mem el la administra grupo.",
"Unable to add user to group %s" => "Ne eblis aldoni la uzanton al la grupo %s",
"Unable to remove user from group %s" => "Ne eblis forigi la uzantan el la grupo %s",
@@ -23,8 +22,17 @@
"Select an App" => "Elekti aplikaĵon",
"See application page at apps.owncloud.com" => "Vidu la paÄon pri aplikaĵoj ĉe apps.owncloud.com",
"<span class=\"licence\"></span>-licensed by <span class=\"author\"></span>" => "<span class=\"licence\"</span>-permesilhavigita de <span class=\"author\"></span>",
+"User Documentation" => "Dokumentaro por uzantoj",
+"Administrator Documentation" => "Dokumentaro por administrantoj",
+"Online Documentation" => "Reta dokumentaro",
+"Forum" => "Forumo",
+"Bugtracker" => "Cimoraportejo",
+"Commercial Support" => "Komerca subteno",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" => "Vi uzas <strong>%s</strong> el la haveblaj <strong>%s</strong>",
"Clients" => "Klientoj",
+"Download Desktop Clients" => "ElÅuti labortablajn klientojn",
+"Download Android Client" => "ElÅuti Android-klienton",
+"Download iOS Client" => "ElÅuti iOS-klienton",
"Password" => "Pasvorto",
"Your password was changed" => "Via pasvorto ÅanÄiÄis",
"Unable to change your password" => "Ne eblis ÅanÄi vian pasvorton",
@@ -37,13 +45,18 @@
"Fill in an email address to enable password recovery" => "Enigu retpoÅtadreson por kapabligi pasvortan restaÅ­ron",
"Language" => "Lingvo",
"Help translate" => "Helpu traduki",
+"WebDAV" => "WebDAV",
+"Use this address to connect to your ownCloud in your file manager" => "Uzu ĉi tiun adreson por konekti al via ownCloud vian dosieradministrilon",
+"Version" => "Eldono",
"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>." => "Ellaborita de la <a href=\"http://ownCloud.org/contact\" target=\"_blank\">komunumo de ownCloud</a>, la <a href=\"https://github.com/owncloud\" target=\"_blank\">fontokodo</a> publikas laÅ­ la permesilo <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
"Name" => "Nomo",
"Groups" => "Grupoj",
"Create" => "Krei",
-"Default Quota" => "DefaÅ­lta kvoto",
+"Default Storage" => "DefaÅ­lta konservejo",
+"Unlimited" => "Senlima",
"Other" => "Alia",
"Group Admin" => "Grupadministranto",
-"Quota" => "Kvoto",
+"Storage" => "Konservejo",
+"Default" => "DefaÅ­lta",
"Delete" => "Forigi"
);
diff --git a/settings/l10n/es.php b/settings/l10n/es.php
index 2f7a639ee00..5434da7f981 100644
--- a/settings/l10n/es.php
+++ b/settings/l10n/es.php
@@ -5,12 +5,11 @@
"Could not enable app. " => "No puedo habilitar la app.",
"Email saved" => "Correo guardado",
"Invalid email" => "Correo no válido",
-"OpenID Changed" => "OpenID cambiado",
-"Invalid request" => "Solicitud no válida",
"Unable to delete group" => "No se pudo eliminar el grupo",
"Authentication error" => "Error de autenticación",
"Unable to delete user" => "No se pudo eliminar el usuario",
"Language changed" => "Idioma cambiado",
+"Invalid request" => "Solicitud no válida",
"Admins can't remove themself from the admin group" => "Los administradores no se pueden eliminar a ellos mismos del grupo de administrador",
"Unable to add user to group %s" => "Imposible añadir el usuario al grupo %s",
"Unable to remove user from group %s" => "Imposible eliminar al usuario del grupo %s",
@@ -23,8 +22,17 @@
"Select an App" => "Seleccionar una aplicación",
"See application page at apps.owncloud.com" => "Echa un vistazo a la web de aplicaciones apps.owncloud.com",
"<span class=\"licence\"></span>-licensed by <span class=\"author\"></span>" => "<span class=\"licence\"></span>-licenciado por <span class=\"author\"></span>",
+"User Documentation" => "Documentación del usuario",
+"Administrator Documentation" => "Documentación del adminsitrador",
+"Online Documentation" => "Documentación en linea",
+"Forum" => "Foro",
+"Bugtracker" => "Rastreador de Bugs",
+"Commercial Support" => "Soporte Comercial",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" => "Ha usado <strong>%s</strong> de <strong>%s</strong> disponibles",
"Clients" => "Clientes",
+"Download Desktop Clients" => "Descargar clientes de escritorio",
+"Download Android Client" => "Descargar cliente para android",
+"Download iOS Client" => "Descargar cliente para iOS",
"Password" => "Contraseña",
"Your password was changed" => "Su contraseña ha sido cambiada",
"Unable to change your password" => "No se ha podido cambiar tu contraseña",
@@ -37,13 +45,18 @@
"Fill in an email address to enable password recovery" => "Escribe una dirección de correo electrónico para restablecer la contraseña",
"Language" => "Idioma",
"Help translate" => "Ayúdanos a traducir",
+"WebDAV" => "WebDAV",
+"Use this address to connect to your ownCloud in your file manager" => "Use esta dirección para conectarse a su cuenta de ownCloud en el administrador de archivos",
+"Version" => "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>." => "Desarrollado por la <a href=\"http://ownCloud.org/contact\" target=\"_blank\">comunidad ownCloud</a>, el <a href=\"https://github.com/owncloud\" target=\"_blank\">código fuente</a> está bajo licencia <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
"Name" => "Nombre",
"Groups" => "Grupos",
"Create" => "Crear",
-"Default Quota" => "Cuota predeterminada",
+"Default Storage" => "Almacenamiento Predeterminado",
+"Unlimited" => "Ilimitado",
"Other" => "Otro",
"Group Admin" => "Grupo admin",
-"Quota" => "Cuota",
+"Storage" => "Alamacenamiento",
+"Default" => "Predeterminado",
"Delete" => "Eliminar"
);
diff --git a/settings/l10n/es_AR.php b/settings/l10n/es_AR.php
index b408405d6da..a652ee13103 100644
--- a/settings/l10n/es_AR.php
+++ b/settings/l10n/es_AR.php
@@ -5,12 +5,11 @@
"Could not enable app. " => "No se puede habilitar la aplicación.",
"Email saved" => "e-mail guardado",
"Invalid email" => "el e-mail no es válido ",
-"OpenID Changed" => "OpenID cambiado",
-"Invalid request" => "Solicitud no válida",
"Unable to delete group" => "No fue posible eliminar el grupo",
"Authentication error" => "Error al autenticar",
"Unable to delete user" => "No fue posible eliminar el usuario",
"Language changed" => "Idioma cambiado",
+"Invalid request" => "Solicitud no válida",
"Admins can't remove themself from the admin group" => "Los administradores no se pueden quitar a ellos mismos del grupo administrador. ",
"Unable to add user to group %s" => "No fue posible añadir el usuario al grupo %s",
"Unable to remove user from group %s" => "No es posible eliminar al usuario del grupo %s",
@@ -23,8 +22,17 @@
"Select an App" => "Seleccionar una aplicación",
"See application page at apps.owncloud.com" => "Mirá la web de aplicaciones apps.owncloud.com",
"<span class=\"licence\"></span>-licensed by <span class=\"author\"></span>" => "<span class=\"licence\"></span>-licenciado por <span class=\"author\">",
+"User Documentation" => "Documentación de Usuario",
+"Administrator Documentation" => "Documentación de Administrador",
+"Online Documentation" => "Documentación en linea",
+"Forum" => "Foro",
+"Bugtracker" => "Informar errores",
+"Commercial Support" => "Soporte comercial",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" => "Usaste <strong>%s</strong> de los <strong>%s</strong> disponibles",
"Clients" => "Clientes",
+"Download Desktop Clients" => "Descargar clientes de escritorio",
+"Download Android Client" => "Descargar cliente de Android",
+"Download iOS Client" => "Descargar cliente de iOS",
"Password" => "Contraseña",
"Your password was changed" => "Tu contraseña fue cambiada",
"Unable to change your password" => "No fue posible cambiar tu contraseña",
@@ -37,13 +45,18 @@
"Fill in an email address to enable password recovery" => "Escribí una dirección de correo electrónico para restablecer la contraseña",
"Language" => "Idioma",
"Help translate" => "Ayudanos a traducir",
+"WebDAV" => "WebDAV",
+"Use this address to connect to your ownCloud in your file manager" => "Utiliza esta dirección para conectarte con ownCloud en tu Administrador de Archivos",
+"Version" => "Versión",
"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>." => "Desarrollado por la <a href=\"http://ownCloud.org/contact\" target=\"_blank\">comunidad ownCloud</a>, el <a href=\"https://github.com/owncloud\" target=\"_blank\">código fuente</a> está bajo licencia <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
"Name" => "Nombre",
"Groups" => "Grupos",
"Create" => "Crear",
-"Default Quota" => "Cuota predeterminada",
+"Default Storage" => "Almacenamiento Predeterminado",
+"Unlimited" => "Ilimitado",
"Other" => "Otro",
"Group Admin" => "Grupo Administrador",
-"Quota" => "Cuota",
+"Storage" => "Almacenamiento",
+"Default" => "Predeterminado",
"Delete" => "Borrar"
);
diff --git a/settings/l10n/et_EE.php b/settings/l10n/et_EE.php
index 7b61ee92eb0..53f61717282 100644
--- a/settings/l10n/et_EE.php
+++ b/settings/l10n/et_EE.php
@@ -5,12 +5,11 @@
"Could not enable app. " => "Rakenduse sisselülitamine ebaõnnestus.",
"Email saved" => "Kiri on salvestatud",
"Invalid email" => "Vigane e-post",
-"OpenID Changed" => "OpenID on muudetud",
-"Invalid request" => "Vigane päring",
"Unable to delete group" => "Keela grupi kustutamine",
"Authentication error" => "Autentimise viga",
"Unable to delete user" => "Keela kasutaja kustutamine",
"Language changed" => "Keel on muudetud",
+"Invalid request" => "Vigane päring",
"Unable to add user to group %s" => "Kasutajat ei saa lisada gruppi %s",
"Unable to remove user from group %s" => "Kasutajat ei saa eemaldada grupist %s",
"Disable" => "Lülita välja",
@@ -38,9 +37,7 @@
"Name" => "Nimi",
"Groups" => "Grupid",
"Create" => "Lisa",
-"Default Quota" => "Vaikimisi kvoot",
"Other" => "Muu",
"Group Admin" => "Grupi admin",
-"Quota" => "Mahupiir",
"Delete" => "Kustuta"
);
diff --git a/settings/l10n/eu.php b/settings/l10n/eu.php
index 463e9c19af9..c122f3b1cda 100644
--- a/settings/l10n/eu.php
+++ b/settings/l10n/eu.php
@@ -5,12 +5,11 @@
"Could not enable app. " => "Ezin izan da aplikazioa gaitu.",
"Email saved" => "Eposta gorde da",
"Invalid email" => "Baliogabeko eposta",
-"OpenID Changed" => "OpenID aldatuta",
-"Invalid request" => "Baliogabeko eskaria",
"Unable to delete group" => "Ezin izan da taldea ezabatu",
"Authentication error" => "Autentifikazio errorea",
"Unable to delete user" => "Ezin izan da erabiltzailea ezabatu",
"Language changed" => "Hizkuntza aldatuta",
+"Invalid request" => "Baliogabeko eskaria",
"Admins can't remove themself from the admin group" => "Kudeatzaileak ezin du bere burua kendu kudeatzaile taldetik",
"Unable to add user to group %s" => "Ezin izan da erabiltzailea %s taldera gehitu",
"Unable to remove user from group %s" => "Ezin izan da erabiltzailea %s taldetik ezabatu",
@@ -23,8 +22,17 @@
"Select an App" => "Aukeratu programa bat",
"See application page at apps.owncloud.com" => "Ikusi programen orria apps.owncloud.com en",
"<span class=\"licence\"></span>-licensed by <span class=\"author\"></span>" => "<span class=\"licence\"></span>-lizentziatua <span class=\"author\"></span>",
+"User Documentation" => "Erabiltzaile dokumentazioa",
+"Administrator Documentation" => "Administradore dokumentazioa",
+"Online Documentation" => "Online dokumentazioa",
+"Forum" => "Foroa",
+"Bugtracker" => "Bugtracker",
+"Commercial Support" => "Babes komertziala",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" => "Dagoeneko <strong>%s</strong> erabili duzu eskuragarri duzun <strong>%s</strong>etatik",
"Clients" => "Bezeroak",
+"Download Desktop Clients" => "Deskargatu mahaigainerako bezeroak",
+"Download Android Client" => "Deskargatu Android bezeroa",
+"Download iOS Client" => "Deskargatu iOS bezeroa",
"Password" => "Pasahitza",
"Your password was changed" => "Zere pasahitza aldatu da",
"Unable to change your password" => "Ezin izan da zure pasahitza aldatu",
@@ -37,13 +45,18 @@
"Fill in an email address to enable password recovery" => "Idatz ezazu e-posta bat pasahitza berreskuratu ahal izateko",
"Language" => "Hizkuntza",
"Help translate" => "Lagundu itzultzen",
+"WebDAV" => "WebDAV",
+"Use this address to connect to your ownCloud in your file manager" => "Erabili helbide hau zure fitxategi kudeatzailean zure ownCloudera konektatzeko",
+"Version" => "Bertsioa",
"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 komunitateak</a> garatuta, <a href=\"https://github.com/owncloud\" target=\"_blank\">itubruru kodea</a><a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr> lizentziarekin banatzen da</a>.",
"Name" => "Izena",
"Groups" => "Taldeak",
"Create" => "Sortu",
-"Default Quota" => "Kuota lehentsia",
+"Default Storage" => "Lehenetsitako Biltegiratzea",
+"Unlimited" => "Mugarik gabe",
"Other" => "Besteak",
"Group Admin" => "Talde administradorea",
-"Quota" => "Kuota",
+"Storage" => "Biltegiratzea",
+"Default" => "Lehenetsia",
"Delete" => "Ezabatu"
);
diff --git a/settings/l10n/fa.php b/settings/l10n/fa.php
index 764bef6dc8b..44872e28f05 100644
--- a/settings/l10n/fa.php
+++ b/settings/l10n/fa.php
@@ -2,10 +2,9 @@
"Unable to load list from App Store" => "قادر به بارگذاری لیست از ÙØ±ÙˆØ´Ú¯Ø§Ù‡ اپ نیستم",
"Email saved" => "ایمیل ذخیره شد",
"Invalid email" => "ایمیل غیر قابل قبول",
-"OpenID Changed" => "OpenID تغییر کرد",
-"Invalid request" => "درخواست غیر قابل قبول",
"Authentication error" => "خطا در اعتبار سنجی",
"Language changed" => "زبان تغییر کرد",
+"Invalid request" => "درخواست غیر قابل قبول",
"Disable" => "ØºÛŒØ±ÙØ¹Ø§Ù„",
"Enable" => "ÙØ¹Ø§Ù„",
"Saving..." => "درحال ذخیره ...",
@@ -29,8 +28,6 @@
"Name" => "نام",
"Groups" => "گروه ها",
"Create" => "ایجاد کردن",
-"Default Quota" => "سهم پیش ÙØ±Ø¶",
"Other" => "سایر",
-"Quota" => "سهم",
"Delete" => "پاک کردن"
);
diff --git a/settings/l10n/fi_FI.php b/settings/l10n/fi_FI.php
index 2d9d6ce941c..dbab88b97a0 100644
--- a/settings/l10n/fi_FI.php
+++ b/settings/l10n/fi_FI.php
@@ -5,12 +5,11 @@
"Could not enable app. " => "Sovelluksen käyttöönotto epäonnistui.",
"Email saved" => "Sähköposti tallennettu",
"Invalid email" => "Virheellinen sähköposti",
-"OpenID Changed" => "OpenID on vaihdettu",
-"Invalid request" => "Virheellinen pyyntö",
"Unable to delete group" => "Ryhmän poisto epäonnistui",
"Authentication error" => "Todennusvirhe",
"Unable to delete user" => "Käyttäjän poisto epäonnistui",
"Language changed" => "Kieli on vaihdettu",
+"Invalid request" => "Virheellinen pyyntö",
"Admins can't remove themself from the admin group" => "Ylläpitäjät eivät poistaa omia tunnuksiaan ylläpitäjien ryhmästä",
"Unable to add user to group %s" => "Käyttäjän tai ryhmän %s lisääminen ei onnistu",
"Unable to remove user from group %s" => "Käyttäjän poistaminen ryhmästä %s ei onnistu",
@@ -53,9 +52,9 @@
"Name" => "Nimi",
"Groups" => "Ryhmät",
"Create" => "Luo",
-"Default Quota" => "Oletuskiintiö",
+"Unlimited" => "Rajoittamaton",
"Other" => "Muu",
"Group Admin" => "Ryhmän ylläpitäjä",
-"Quota" => "Kiintiö",
+"Default" => "Oletus",
"Delete" => "Poista"
);
diff --git a/settings/l10n/fr.php b/settings/l10n/fr.php
index b4b3d46e05f..03a61c69cf8 100644
--- a/settings/l10n/fr.php
+++ b/settings/l10n/fr.php
@@ -5,12 +5,11 @@
"Could not enable app. " => "Impossible d'activer l'Application",
"Email saved" => "E-mail sauvegardé",
"Invalid email" => "E-mail invalide",
-"OpenID Changed" => "Identifiant OpenID changé",
-"Invalid request" => "Requête invalide",
"Unable to delete group" => "Impossible de supprimer le groupe",
"Authentication error" => "Erreur d'authentification",
"Unable to delete user" => "Impossible de supprimer l'utilisateur",
"Language changed" => "Langue changée",
+"Invalid request" => "Requête invalide",
"Admins can't remove themself from the admin group" => "Les administrateurs ne peuvent pas se retirer eux-mêmes du groupe admin",
"Unable to add user to group %s" => "Impossible d'ajouter l'utilisateur au groupe %s",
"Unable to remove user from group %s" => "Impossible de supprimer l'utilisateur du groupe %s",
@@ -31,7 +30,7 @@
"Commercial Support" => "Support commercial",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" => "Vous avez utilisé <strong>%s</strong> des <strong>%s<strong> disponibles",
"Clients" => "Clients",
-"Download Desktop Clients" => "Télécharger des clients de bureau",
+"Download Desktop Clients" => "Télécharger le client de synchronisation pour votre ordinateur",
"Download Android Client" => "Télécharger le client Android",
"Download iOS Client" => "Télécharger le client iOS",
"Password" => "Mot de passe",
@@ -53,9 +52,11 @@
"Name" => "Nom",
"Groups" => "Groupes",
"Create" => "Créer",
-"Default Quota" => "Quota par défaut",
+"Default Storage" => "Support de stockage par défaut",
+"Unlimited" => "Illimité",
"Other" => "Autre",
"Group Admin" => "Groupe Admin",
-"Quota" => "Quota",
+"Storage" => "Support de stockage",
+"Default" => "Défaut",
"Delete" => "Supprimer"
);
diff --git a/settings/l10n/gl.php b/settings/l10n/gl.php
index b322c6f8bcf..ddd5661fe72 100644
--- a/settings/l10n/gl.php
+++ b/settings/l10n/gl.php
@@ -1,49 +1,62 @@
<?php $TRANSLATIONS = array(
-"Unable to load list from App Store" => "Non se puido cargar a lista desde a App Store",
+"Unable to load list from App Store" => "Non foi posíbel cargar a lista desde a App Store",
"Group already exists" => "O grupo xa existe",
-"Unable to add group" => "Non se pode engadir o grupo",
-"Could not enable app. " => "Con se puido activar o aplicativo.",
-"Email saved" => "Correo electrónico gardado",
-"Invalid email" => "correo electrónico non válido",
-"OpenID Changed" => "Mudou o OpenID",
+"Unable to add group" => "Non é posíbel engadir o grupo",
+"Could not enable app. " => "Non é posíbel activar o aplicativo.",
+"Email saved" => "Correo gardado",
+"Invalid email" => "correo incorrecto",
+"Unable to delete group" => "Non é posíbel eliminar o grupo.",
+"Authentication error" => "Produciuse un erro de autenticación",
+"Unable to delete user" => "Non é posíbel eliminar o usuario",
+"Language changed" => "O idioma cambiou",
"Invalid request" => "Petición incorrecta",
-"Unable to delete group" => "Non se pode eliminar o grupo.",
-"Authentication error" => "Erro na autenticación",
-"Unable to delete user" => "Non se pode eliminar o usuario",
-"Language changed" => "O idioma mudou",
"Admins can't remove themself from the admin group" => "Os administradores non se pode eliminar a si mesmos do grupo admin",
-"Unable to add user to group %s" => "Non se puido engadir o usuario ao grupo %s",
-"Unable to remove user from group %s" => "Non se puido eliminar o usuario do grupo %s",
+"Unable to add user to group %s" => "Non é posíbel engadir o usuario ao grupo %s",
+"Unable to remove user from group %s" => "Non é posíbel eliminar o usuario do grupo %s",
"Disable" => "Desactivar",
"Enable" => "Activar",
"Saving..." => "Gardando...",
"__language_name__" => "Galego",
-"Add your App" => "Engade o teu aplicativo",
+"Add your App" => "Engada o seu aplicativo",
"More Apps" => "Máis aplicativos",
-"Select an App" => "Escolla un Aplicativo",
-"See application page at apps.owncloud.com" => "Vexa a páxina do aplicativo en apps.owncloud.com",
+"Select an App" => "Escolla un aplicativo",
+"See application page at apps.owncloud.com" => "Consulte a páxina do aplicativo en apps.owncloud.com",
"<span class=\"licence\"></span>-licensed by <span class=\"author\"></span>" => "<span class=\"licence\"></span>-licenciado por<span class=\"author\"></span>",
-"You have used <strong>%s</strong> of the available <strong>%s</strong>" => "Tes usados <strong>%s</strong> do total dispoñíbel de <strong>%s</strong>",
+"User Documentation" => "Documentación do usuario",
+"Administrator Documentation" => "Documentación do administrador",
+"Online Documentation" => "Documentación na Rede",
+"Forum" => "Foro",
+"Bugtracker" => "Seguemento de fallos",
+"Commercial Support" => "Asistencia comercial",
+"You have used <strong>%s</strong> of the available <strong>%s</strong>" => "Te en uso <strong>%s</strong> do total dispoñíbel de <strong>%s</strong>",
"Clients" => "Clientes",
+"Download Desktop Clients" => "Descargar clientes para escritorio",
+"Download Android Client" => "Descargar clientes para Android",
+"Download iOS Client" => "Descargar clientes ra iOS",
"Password" => "Contrasinal",
"Your password was changed" => "O seu contrasinal foi cambiado",
-"Unable to change your password" => "Incapaz de trocar o seu contrasinal",
+"Unable to change your password" => "Non é posíbel cambiar o seu contrasinal",
"Current password" => "Contrasinal actual",
"New password" => "Novo contrasinal",
"show" => "amosar",
-"Change password" => "Mudar contrasinal",
-"Email" => "Correo electrónico",
-"Your email address" => "O seu enderezo de correo electrónico",
-"Fill in an email address to enable password recovery" => "Escriba un enderezo de correo electrónico para habilitar a recuperación do contrasinal",
+"Change password" => "Cambiar o contrasinal",
+"Email" => "Correo",
+"Your email address" => "O seu enderezo de correo",
+"Fill in an email address to enable password recovery" => "Escriba un enderezo de correo para activar a recuperación do contrasinal",
"Language" => "Idioma",
"Help translate" => "Axude na tradución",
+"WebDAV" => "WebDAV",
+"Use this address to connect to your ownCloud in your file manager" => "Utilice este enderezo para conectarse ao seu ownCloud co administrador de ficheiros",
+"Version" => "Versión",
"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>." => "Desenvolvido pola <a href=\"http://ownCloud.org/contact\" target=\"_blank\">comunidade ownCloud</a>, o <a href=\"https://github.com/owncloud\" target=\"_blank\">código fonte</a> está baixo a licenza <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
"Name" => "Nome",
"Groups" => "Grupos",
"Create" => "Crear",
-"Default Quota" => "Cota por omisión",
+"Default Storage" => "Almacenamento predeterminado",
+"Unlimited" => "Sen límites",
"Other" => "Outro",
"Group Admin" => "Grupo Admin",
-"Quota" => "Cota",
-"Delete" => "Borrar"
+"Storage" => "Almacenamento",
+"Default" => "Predeterminado",
+"Delete" => "Eliminar"
);
diff --git a/settings/l10n/he.php b/settings/l10n/he.php
index 2524c076b79..bbfe437ba30 100644
--- a/settings/l10n/he.php
+++ b/settings/l10n/he.php
@@ -5,12 +5,11 @@
"Could not enable app. " => "×œ× × ×™×ª×Ÿ להפעיל ×ת היישו×",
"Email saved" => "הדו×״ל נשמר",
"Invalid email" => "דו×״ל ×œ× ×—×•×§×™",
-"OpenID Changed" => "OpenID השתנה",
-"Invalid request" => "בקשה ×œ× ×—×•×§×™×ª",
"Unable to delete group" => "×œ× × ×™×ª×Ÿ למחוק ×ת הקבוצה",
"Authentication error" => "שגי×ת הזדהות",
"Unable to delete user" => "×œ× × ×™×ª×Ÿ למחוק ×ת המשתמש",
"Language changed" => "שפה השתנתה",
+"Invalid request" => "בקשה ×œ× ×—×•×§×™×ª",
"Admins can't remove themself from the admin group" => "×ž× ×”×œ×™× ×œ× ×™×›×•×œ×™× ×œ×”×¡×™×¨ ×ת ×¢×¦×ž× ×ž×§×‘×•×¦×ª המנהלי×",
"Unable to add user to group %s" => "×œ× × ×™×ª×Ÿ להוסיף משתמש לקבוצה %s",
"Unable to remove user from group %s" => "×œ× × ×™×ª×Ÿ להסיר משתמש מהקבוצה %s",
@@ -23,8 +22,16 @@
"Select an App" => "בחירת יישו×",
"See application page at apps.owncloud.com" => "צפה בעמוד ×”×™×©×•× ×‘ apps.owncloud.com",
"<span class=\"licence\"></span>-licensed by <span class=\"author\"></span>" => "ברישיון <span class=\"licence\"></span>לטובת <span class=\"author\"></span>",
+"User Documentation" => "תיעוד משתמש",
+"Administrator Documentation" => "תיעוד מנהלי×",
+"Online Documentation" => "תיעוד מקוון",
+"Forum" => "פורו×",
+"Commercial Support" => "תמיכה בתשלו×",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" => "השתמשת ב־<strong>%s</strong> מתוך <strong>%s</strong> ×”×–×ž×™× ×™× ×œ×š",
"Clients" => "לקוחות",
+"Download Desktop Clients" => "הורד לתוכנה למחשב",
+"Download Android Client" => "הורד תוכנה ל×נדרו×יד",
+"Download iOS Client" => "הורד תוכנה לiOS",
"Password" => "ססמה",
"Your password was changed" => "הססמה שלך הוחלפה",
"Unable to change your password" => "×œ× × ×™×ª×Ÿ לשנות ×ת הססמה שלך",
@@ -37,13 +44,13 @@
"Fill in an email address to enable password recovery" => "× × ×œ×ž×œ× ×ת כתובת הדו×״ל שלך כדי ל×פשר שחזור ססמה",
"Language" => "פה",
"Help translate" => "עזרה בתרגו×",
+"Use this address to connect to your ownCloud in your file manager" => "השתמש בכתובת ×–×ת על מנת להתחבר ×ל ownCloud דרך סייר קבצי×.",
+"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>.",
"Name" => "ש×",
"Groups" => "קבוצות",
"Create" => "יצירה",
-"Default Quota" => "מכסת בררת המחדל",
"Other" => "×חר",
"Group Admin" => "מנהל הקבוצה",
-"Quota" => "מכסה",
"Delete" => "מחיקה"
);
diff --git a/settings/l10n/hr.php b/settings/l10n/hr.php
index 437afeb7f59..14053cb98a4 100644
--- a/settings/l10n/hr.php
+++ b/settings/l10n/hr.php
@@ -2,10 +2,9 @@
"Unable to load list from App Store" => "Nemogićnost uÄitavanja liste sa Apps Stora",
"Email saved" => "Email spremljen",
"Invalid email" => "Neispravan email",
-"OpenID Changed" => "OpenID promijenjen",
-"Invalid request" => "Neispravan zahtjev",
"Authentication error" => "Greška kod autorizacije",
"Language changed" => "Jezik promijenjen",
+"Invalid request" => "Neispravan zahtjev",
"Disable" => "IskljuÄi",
"Enable" => "UkljuÄi",
"Saving..." => "Spremanje...",
@@ -28,9 +27,7 @@
"Name" => "Ime",
"Groups" => "Grupe",
"Create" => "Izradi",
-"Default Quota" => "standardni kvota",
"Other" => "ostali",
"Group Admin" => "Grupa Admin",
-"Quota" => "kvota",
"Delete" => "Obriši"
);
diff --git a/settings/l10n/hu_HU.php b/settings/l10n/hu_HU.php
index 18f21129b85..35c59bdb2d6 100644
--- a/settings/l10n/hu_HU.php
+++ b/settings/l10n/hu_HU.php
@@ -1,35 +1,62 @@
<?php $TRANSLATIONS = array(
"Unable to load list from App Store" => "Nem tölthető le a lista az App Store-ból",
+"Group already exists" => "A csoport már létezik",
+"Unable to add group" => "A csoport nem hozható létre",
+"Could not enable app. " => "A program nem aktiválható.",
"Email saved" => "Email mentve",
"Invalid email" => "Hibás email",
-"OpenID Changed" => "OpenID megváltozott",
-"Invalid request" => "Érvénytelen kérés",
-"Authentication error" => "Hitelesítési hiba",
+"Unable to delete group" => "A csoport nem törölhető",
+"Authentication error" => "Azonosítási hiba",
+"Unable to delete user" => "A felhasználó nem törölhető",
"Language changed" => "A nyelv megváltozott",
+"Invalid request" => "Érvénytelen kérés",
+"Admins can't remove themself from the admin group" => "Adminisztrátorok nem távolíthatják el magukat az admin csoportból.",
+"Unable to add user to group %s" => "A felhasználó nem adható hozzá ehhez a csoporthoz: %s",
+"Unable to remove user from group %s" => "A felhasználó nem távolítható el ebből a csoportból: %s",
"Disable" => "Letiltás",
"Enable" => "Engedélyezés",
"Saving..." => "Mentés...",
"__language_name__" => "__language_name__",
-"Add your App" => "App hozzáadása",
-"Select an App" => "Egy App kiválasztása",
+"Add your App" => "Az alkalmazás hozzáadása",
+"More Apps" => "További alkalmazások",
+"Select an App" => "Válasszon egy alkalmazást",
"See application page at apps.owncloud.com" => "Lásd apps.owncloud.com, alkalmazások oldal",
+"<span class=\"licence\"></span>-licensed by <span class=\"author\"></span>" => "<span class=\"licence\"></span>-a jogtuladonos <span class=\"author\"></span>",
+"User Documentation" => "Felhasználói leírás",
+"Administrator Documentation" => "Üzemeltetői leírás",
+"Online Documentation" => "Online leírás",
+"Forum" => "Fórum",
+"Bugtracker" => "Hibabejelentések",
+"Commercial Support" => "Megvásárolható támogatás",
+"You have used <strong>%s</strong> of the available <strong>%s</strong>" => "Az Ön tárterület-felhasználása jelenleg: <strong>%s</strong>. Maximálisan ennyi áll rendelkezésére: <strong>%s</strong>",
"Clients" => "Kliensek",
+"Download Desktop Clients" => "Desktop kliensprogramok letöltése",
+"Download Android Client" => "Android kliens letöltése",
+"Download iOS Client" => "iOS kliens letöltése",
"Password" => "Jelszó",
-"Unable to change your password" => "Nem lehet megváltoztatni a jelszavad",
-"Current password" => "Jelenlegi jelszó",
-"New password" => "Új jelszó",
-"show" => "Mutat",
-"Change password" => "Jelszó megváltoztatása",
+"Your password was changed" => "A jelszava megváltozott",
+"Unable to change your password" => "A jelszó nem változtatható meg",
+"Current password" => "A jelenlegi jelszó",
+"New password" => "Az új jelszó",
+"show" => "lássam",
+"Change password" => "A jelszó megváltoztatása",
"Email" => "Email",
-"Your email address" => "Email címed",
-"Fill in an email address to enable password recovery" => "Töltsd ki az email címet, hogy engedélyezhesd a jelszó-visszaállítást",
+"Your email address" => "Az Ön email címe",
+"Fill in an email address to enable password recovery" => "Adja meg az email címét, hogy jelszó-emlékeztetőt kérhessen, ha elfelejtette a jelszavát!",
"Language" => "Nyelv",
-"Help translate" => "Segíts lefordítani!",
+"Help translate" => "Segítsen a fordításban!",
+"WebDAV" => "WebDAV",
+"Use this address to connect to your ownCloud in your file manager" => "Ennek a címnek a megadásával a WebDAV-protokollon keresztül saját gépének fájlkezelőjével is is elérheti az állományait.",
+"Version" => "Verzió",
+"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 programot az <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud közösség</a> fejleszti. A <a href=\"https://github.com/owncloud\" target=\"_blank\">forráskód</a> az <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a> feltételei mellett használható föl.",
"Name" => "Név",
"Groups" => "Csoportok",
"Create" => "Létrehozás",
-"Default Quota" => "Alapértelmezett kvóta",
-"Other" => "Egyéb",
-"Quota" => "Kvóta",
+"Default Storage" => "Alapértelmezett tárhely",
+"Unlimited" => "Korlátlan",
+"Other" => "Más",
+"Group Admin" => "Csoportadminisztrátor",
+"Storage" => "Tárhely",
+"Default" => "Alapértelmezett",
"Delete" => "Törlés"
);
diff --git a/settings/l10n/ia.php b/settings/l10n/ia.php
index f2053b95279..18428709098 100644
--- a/settings/l10n/ia.php
+++ b/settings/l10n/ia.php
@@ -1,7 +1,6 @@
<?php $TRANSLATIONS = array(
-"OpenID Changed" => "OpenID cambiate",
-"Invalid request" => "Requesta invalide",
"Language changed" => "Linguage cambiate",
+"Invalid request" => "Requesta invalide",
"__language_name__" => "Interlingua",
"Add your App" => "Adder tu application",
"Select an App" => "Selectionar un app",
@@ -19,8 +18,6 @@
"Name" => "Nomine",
"Groups" => "Gruppos",
"Create" => "Crear",
-"Default Quota" => "Quota predeterminate",
"Other" => "Altere",
-"Quota" => "Quota",
"Delete" => "Deler"
);
diff --git a/settings/l10n/id.php b/settings/l10n/id.php
index fd2be4856d9..132920a7a04 100644
--- a/settings/l10n/id.php
+++ b/settings/l10n/id.php
@@ -1,10 +1,9 @@
<?php $TRANSLATIONS = array(
"Email saved" => "Email tersimpan",
"Invalid email" => "Email tidak sah",
-"OpenID Changed" => "OpenID telah dirubah",
-"Invalid request" => "Permintaan tidak valid",
"Authentication error" => "autentikasi bermasalah",
"Language changed" => "Bahasa telah diganti",
+"Invalid request" => "Permintaan tidak valid",
"Disable" => "NonAktifkan",
"Enable" => "Aktifkan",
"Saving..." => "Menyimpan...",
@@ -27,9 +26,7 @@
"Name" => "Nama",
"Groups" => "Group",
"Create" => "Buat",
-"Default Quota" => "Kuota default",
"Other" => "Lain-lain",
"Group Admin" => "Admin Grup",
-"Quota" => "Quota",
"Delete" => "Hapus"
);
diff --git a/settings/l10n/is.php b/settings/l10n/is.php
new file mode 100644
index 00000000000..d978957ab48
--- /dev/null
+++ b/settings/l10n/is.php
@@ -0,0 +1,62 @@
+<?php $TRANSLATIONS = array(
+"Unable to load list from App Store" => "Ekki tókst að hlaða lista frá forrita síðu",
+"Group already exists" => "Hópur er þegar til",
+"Unable to add group" => "Ekki tókst að bæta við hóp",
+"Could not enable app. " => "Gat ekki virkjað forrit",
+"Email saved" => "Netfang vistað",
+"Invalid email" => "Ógilt netfang",
+"Unable to delete group" => "Ekki tókst að eyða hóp",
+"Authentication error" => "Villa við auðkenningu",
+"Unable to delete user" => "Ekki tókst að eyða notenda",
+"Language changed" => "Tungumáli breytt",
+"Invalid request" => "Ógild fyrirspurn",
+"Admins can't remove themself from the admin group" => "Stjórnendur geta ekki fjarlægt sjálfa sig úr stjórnendahóp",
+"Unable to add user to group %s" => "Ekki tókst að bæta notenda við hópinn %s",
+"Unable to remove user from group %s" => "Ekki tókst að fjarlægja notanda úr hópnum %s",
+"Disable" => "Gera óvirkt",
+"Enable" => "Virkja",
+"Saving..." => "Er að vista ...",
+"__language_name__" => "__nafn_tungumáls__",
+"Add your App" => "Bæta við forriti",
+"More Apps" => "Fleiri forrit",
+"Select an App" => "Veldu forrit",
+"See application page at apps.owncloud.com" => "Skoða síðu forrits hjá apps.owncloud.com",
+"<span class=\"licence\"></span>-licensed by <span class=\"author\"></span>" => "<span class=\"licence\"></span>-leyfi skráð af <span class=\"author\"></span>",
+"User Documentation" => "Notenda handbók",
+"Administrator Documentation" => "Stjórnenda handbók",
+"Online Documentation" => "Handbók á netinu",
+"Forum" => "Vefspjall",
+"Bugtracker" => "Villubókhald",
+"Commercial Support" => "Borgaður stuðningur",
+"You have used <strong>%s</strong> of the available <strong>%s</strong>" => "Þú hefur notað <strong>%s</strong> af tiltæku <strong>%s</strong>",
+"Clients" => "Notendahugbúnaður",
+"Download Desktop Clients" => "Hlaða niður notendahugbúnaði",
+"Download Android Client" => "Hlaða niður Andoid hugbúnaði",
+"Download iOS Client" => "Hlaða niður iOS hugbúnaði",
+"Password" => "Lykilorð",
+"Your password was changed" => "Lykilorði þínu hefur verið breytt",
+"Unable to change your password" => "Ekki tókst að breyta lykilorðinu þínu",
+"Current password" => "Núverandi lykilorð",
+"New password" => "Nýtt lykilorð",
+"show" => "sýna",
+"Change password" => "Breyta lykilorði",
+"Email" => "Netfang",
+"Your email address" => "Netfangið þitt",
+"Fill in an email address to enable password recovery" => "Sláðu inn netfangið þitt til að virkja endurheimt á lykilorði",
+"Language" => "Tungumál",
+"Help translate" => "Hjálpa við þýðingu",
+"WebDAV" => "WebDAV",
+"Use this address to connect to your ownCloud in your file manager" => "Notaðu þessa vefslóð til að tengjast ownCloud svæðinu þínu",
+"Version" => "Útgáfa",
+"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>." => "Þróað af <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud samfélaginu</a>, <a href=\"https://github.com/owncloud\" target=\"_blank\">forrita kóðinn</a> er skráðu með <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
+"Name" => "Nafn",
+"Groups" => "Hópar",
+"Create" => "Búa til",
+"Default Storage" => "Sjálfgefin gagnageymsla",
+"Unlimited" => "Ótakmarkað",
+"Other" => "Annað",
+"Group Admin" => "Hópstjóri",
+"Storage" => "gagnapláss",
+"Default" => "Sjálfgefið",
+"Delete" => "Eyða"
+);
diff --git a/settings/l10n/it.php b/settings/l10n/it.php
index 79551579fc2..4980d585441 100644
--- a/settings/l10n/it.php
+++ b/settings/l10n/it.php
@@ -5,12 +5,11 @@
"Could not enable app. " => "Impossibile abilitare l'applicazione.",
"Email saved" => "Email salvata",
"Invalid email" => "Email non valida",
-"OpenID Changed" => "OpenID modificato",
-"Invalid request" => "Richiesta non valida",
"Unable to delete group" => "Impossibile eliminare il gruppo",
"Authentication error" => "Errore di autenticazione",
"Unable to delete user" => "Impossibile eliminare l'utente",
"Language changed" => "Lingua modificata",
+"Invalid request" => "Richiesta non valida",
"Admins can't remove themself from the admin group" => "Gli amministratori non possono rimuovere se stessi dal gruppo di amministrazione",
"Unable to add user to group %s" => "Impossibile aggiungere l'utente al gruppo %s",
"Unable to remove user from group %s" => "Impossibile rimuovere l'utente dal gruppo %s",
@@ -53,9 +52,11 @@
"Name" => "Nome",
"Groups" => "Gruppi",
"Create" => "Crea",
-"Default Quota" => "Quota predefinita",
+"Default Storage" => "Archiviazione predefinita",
+"Unlimited" => "Illimitata",
"Other" => "Altro",
-"Group Admin" => "Gruppo di amministrazione",
-"Quota" => "Quote",
+"Group Admin" => "Gruppi amministrati",
+"Storage" => "Archiviazione",
+"Default" => "Predefinito",
"Delete" => "Elimina"
);
diff --git a/settings/l10n/ja_JP.php b/settings/l10n/ja_JP.php
index 847f696037d..a660d21c780 100644
--- a/settings/l10n/ja_JP.php
+++ b/settings/l10n/ja_JP.php
@@ -5,12 +5,11 @@
"Could not enable app. " => "アプリを有効ã«ã§ãã¾ã›ã‚“ã§ã—ãŸã€‚",
"Email saved" => "メールアドレスをä¿å­˜ã—ã¾ã—ãŸ",
"Invalid email" => "無効ãªãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹",
-"OpenID Changed" => "OpenIDãŒå¤‰æ›´ã•れã¾ã—ãŸ",
-"Invalid request" => "無効ãªãƒªã‚¯ã‚¨ã‚¹ãƒˆã§ã™",
"Unable to delete group" => "グループを削除ã§ãã¾ã›ã‚“",
"Authentication error" => "èªè¨¼ã‚¨ãƒ©ãƒ¼",
"Unable to delete user" => "ユーザを削除ã§ãã¾ã›ã‚“",
"Language changed" => "言語ãŒå¤‰æ›´ã•れã¾ã—ãŸ",
+"Invalid request" => "無効ãªãƒªã‚¯ã‚¨ã‚¹ãƒˆã§ã™",
"Admins can't remove themself from the admin group" => "管ç†è€…ã¯è‡ªèº«ã‚’管ç†è€…グループã‹ã‚‰å‰Šé™¤ã§ãã¾ã›ã‚“。",
"Unable to add user to group %s" => "ユーザをグループ %s ã«è¿½åŠ ã§ãã¾ã›ã‚“",
"Unable to remove user from group %s" => "ユーザをグループ %s ã‹ã‚‰å‰Šé™¤ã§ãã¾ã›ã‚“",
@@ -53,9 +52,11 @@
"Name" => "åå‰",
"Groups" => "グループ",
"Create" => "作æˆ",
-"Default Quota" => "デフォルトã®ã‚¯ã‚©ãƒ¼ã‚¿ã‚µã‚¤ã‚º",
+"Default Storage" => "デフォルトストレージ",
+"Unlimited" => "無制é™",
"Other" => "ãã®ä»–",
"Group Admin" => "グループ管ç†è€…",
-"Quota" => "クオータ",
+"Storage" => "ストレージ",
+"Default" => "デフォルト",
"Delete" => "削除"
);
diff --git a/settings/l10n/ka_GE.php b/settings/l10n/ka_GE.php
index 26720b20619..68dbc736dcd 100644
--- a/settings/l10n/ka_GE.php
+++ b/settings/l10n/ka_GE.php
@@ -5,12 +5,11 @@
"Could not enable app. " => "ვერ მáƒáƒ®áƒ”რხდრáƒáƒžáƒšáƒ˜áƒ™áƒáƒªáƒ˜áƒ˜áƒ¡ ჩáƒáƒ áƒ—ვáƒ.",
"Email saved" => "იმეილი შენáƒáƒ®áƒ£áƒšáƒ˜áƒ",
"Invalid email" => "áƒáƒ áƒáƒ¡áƒ¬áƒáƒ áƒ˜ იმეილი",
-"OpenID Changed" => "OpenID შეცვლილიáƒ",
-"Invalid request" => "áƒáƒ áƒáƒ¡áƒ¬áƒáƒ áƒ˜ მáƒáƒ—ხáƒáƒ•ნáƒ",
"Unable to delete group" => "ჯგუფის წáƒáƒ¨áƒšáƒ ვერ მáƒáƒ®áƒ”რხდáƒ",
"Authentication error" => "áƒáƒ•თენტიფიკáƒáƒªáƒ˜áƒ˜áƒ¡ შეცდáƒáƒ›áƒ",
"Unable to delete user" => "მáƒáƒ›áƒ®áƒ›áƒáƒ áƒ”ბლის წáƒáƒ¨áƒšáƒ ვერ მáƒáƒ®áƒ”რხდáƒ",
"Language changed" => "ენრშეცვლილიáƒ",
+"Invalid request" => "áƒáƒ áƒáƒ¡áƒ¬áƒáƒ áƒ˜ მáƒáƒ—ხáƒáƒ•ნáƒ",
"Unable to add user to group %s" => "მáƒáƒ›áƒ®áƒ›áƒáƒ áƒ”ბლის დáƒáƒ›áƒáƒ¢áƒ”ბრვერ მáƒáƒ®áƒ”ხდრჯგუფში %s",
"Unable to remove user from group %s" => "მáƒáƒ›áƒ®áƒ›áƒáƒ áƒ”ბლის წáƒáƒ¨áƒšáƒ ვერ მáƒáƒ®áƒ”ხდრჯგუფიდáƒáƒœ %s",
"Disable" => "გáƒáƒ›áƒáƒ áƒ—ვáƒ",
@@ -38,9 +37,7 @@
"Name" => "სáƒáƒ®áƒ”ლი",
"Groups" => "ჯგუფი",
"Create" => "შექმნáƒ",
-"Default Quota" => "სáƒáƒ¬áƒ§áƒ˜áƒ¡áƒ˜ ქვáƒáƒ¢áƒ",
"Other" => "სხვáƒ",
"Group Admin" => "ჯგუფის áƒáƒ“მინისტრáƒáƒ¢áƒáƒ áƒ˜",
-"Quota" => "ქვáƒáƒ¢áƒ",
"Delete" => "წáƒáƒ¨áƒšáƒ"
);
diff --git a/settings/l10n/ko.php b/settings/l10n/ko.php
index 286cac87c53..4a7817b8401 100644
--- a/settings/l10n/ko.php
+++ b/settings/l10n/ko.php
@@ -5,12 +5,11 @@
"Could not enable app. " => "ì•±ì„ í™œì„±í™”í•  수 없습니다.",
"Email saved" => "ì´ë©”ì¼ ì €ìž¥ë¨",
"Invalid email" => "ìž˜ëª»ëœ ì´ë©”ì¼ ì£¼ì†Œ",
-"OpenID Changed" => "OpenID 변경ë¨",
-"Invalid request" => "ìž˜ëª»ëœ ìš”ì²­",
"Unable to delete group" => "ê·¸ë£¹ì„ ì‚­ì œí•  수 없습니다.",
"Authentication error" => "ì¸ì¦ 오류",
"Unable to delete user" => "사용ìžë¥¼ 삭제할 수 없습니다.",
"Language changed" => "언어가 변경ë˜ì—ˆìŠµë‹ˆë‹¤",
+"Invalid request" => "ìž˜ëª»ëœ ìš”ì²­",
"Admins can't remove themself from the admin group" => "ê´€ë¦¬ìž ìžì‹ ì„ ê´€ë¦¬ìž ê·¸ë£¹ì—서 삭제할 수 없습니다",
"Unable to add user to group %s" => "그룹 %sì— ì‚¬ìš©ìžë¥¼ 추가할 수 없습니다.",
"Unable to remove user from group %s" => "그룹 %sì—서 사용ìžë¥¼ 삭제할 수 없습니다.",
@@ -23,8 +22,17 @@
"Select an App" => "앱 ì„ íƒ",
"See application page at apps.owncloud.com" => "apps.owncloud.comì— ìžˆëŠ” 앱 페ì´ì§€ë¥¼ 참고하십시오",
"<span class=\"licence\"></span>-licensed by <span class=\"author\"></span>" => "<span class=\"licence\"></span>-ë¼ì´ì„ ìФ ë³´ìœ ìž <span class=\"author\"></span>",
+"User Documentation" => "유저 문서",
+"Administrator Documentation" => "ê´€ë¦¬ìž ë¬¸ì„œ",
+"Online Documentation" => "온ë¼ì¸ 문서",
+"Forum" => "í¬ëŸ¼",
+"Bugtracker" => "버그트래커",
+"Commercial Support" => "ìƒì—…ìš© ì§€ì›",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" => "현재 공간 <strong>%s</strong>/<strong>%s</strong>ì„(를) 사용 중입니다",
"Clients" => "ê³ ê°",
+"Download Desktop Clients" => "ë°ìФí¬íƒ‘ í´ë¼ì´ì–¸íЏ 다운로드",
+"Download Android Client" => "안드로ì´ë“œ í´ë¼ì´ì–¸íЏ 다운로드",
+"Download iOS Client" => "iOS í´ë¼ì´ì–¸íЏ 다운로드",
"Password" => "암호",
"Your password was changed" => "암호가 변경ë˜ì—ˆìŠµë‹ˆë‹¤",
"Unable to change your password" => "암호를 변경할 수 ì—†ìŒ",
@@ -37,13 +45,18 @@
"Fill in an email address to enable password recovery" => "암호 찾기 ê¸°ëŠ¥ì„ ì‚¬ìš©í•˜ë ¤ë©´ ì´ë©”ì¼ ì£¼ì†Œë¥¼ 입력하십시오.",
"Language" => "언어",
"Help translate" => "번역 ë•기",
+"WebDAV" => "WebDAV",
+"Use this address to connect to your ownCloud in your file manager" => "íŒŒì¼ ë§¤ë‹ˆì €ì—서 사용ìžì˜ ownCloudì— ì ‘ì†í•˜ê¸° 위해 ì´ ì£¼ì†Œë¥¼ 사용하십시요.",
+"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>ì— ë”°ë¼ ì‚¬ìš©ì´ í—ˆê°€ë©ë‹ˆë‹¤.",
"Name" => "ì´ë¦„",
"Groups" => "그룹",
"Create" => "만들기",
-"Default Quota" => "기본 할당량",
+"Default Storage" => "기본 저장소",
+"Unlimited" => "무제한",
"Other" => "기타",
"Group Admin" => "그룹 관리ìž",
-"Quota" => "할당량",
+"Storage" => "저장소",
+"Default" => "기본값",
"Delete" => "삭제"
);
diff --git a/settings/l10n/lb.php b/settings/l10n/lb.php
index baa89a033b6..1f9ea35e885 100644
--- a/settings/l10n/lb.php
+++ b/settings/l10n/lb.php
@@ -2,10 +2,9 @@
"Unable to load list from App Store" => "Konnt Lescht net vum App Store lueden",
"Email saved" => "E-mail gespäichert",
"Invalid email" => "Ongülteg e-mail",
-"OpenID Changed" => "OpenID huet geännert",
-"Invalid request" => "Ongülteg Requête",
"Authentication error" => "Authentifikatioun's Fehler",
"Language changed" => "Sprooch huet geännert",
+"Invalid request" => "Ongülteg Requête",
"Disable" => "Ofschalten",
"Enable" => "Aschalten",
"Saving..." => "Speicheren...",
@@ -28,9 +27,7 @@
"Name" => "Numm",
"Groups" => "Gruppen",
"Create" => "Erstellen",
-"Default Quota" => "Standard Quota",
"Other" => "Aner",
"Group Admin" => "Gruppen Admin",
-"Quota" => "Quota",
"Delete" => "Läschen"
);
diff --git a/settings/l10n/lt_LT.php b/settings/l10n/lt_LT.php
index f5fa8e29d96..73af4f3b27b 100644
--- a/settings/l10n/lt_LT.php
+++ b/settings/l10n/lt_LT.php
@@ -3,10 +3,9 @@
"Could not enable app. " => "Nepavyksta įjungti aplikacijos.",
"Email saved" => "El. paštas išsaugotas",
"Invalid email" => "Netinkamas el. paštas",
-"OpenID Changed" => "OpenID pakeistas",
-"Invalid request" => "Klaidinga užklausa",
"Authentication error" => "Autentikacijos klaida",
"Language changed" => "Kalba pakeista",
+"Invalid request" => "Klaidinga užklausa",
"Disable" => "Išjungti",
"Enable" => "Įjungti",
"Saving..." => "Saugoma..",
@@ -31,8 +30,6 @@
"Name" => "Vardas",
"Groups" => "GrupÄ—s",
"Create" => "Sukurti",
-"Default Quota" => "Numatytoji kvota",
"Other" => "Kita",
-"Quota" => "Limitas",
"Delete" => "Ištrinti"
);
diff --git a/settings/l10n/lv.php b/settings/l10n/lv.php
index 3f45d669b59..ba44fdbb3e2 100644
--- a/settings/l10n/lv.php
+++ b/settings/l10n/lv.php
@@ -5,12 +5,11 @@
"Could not enable app. " => "Nevar ieslÄ“gt aplikÄciju.",
"Email saved" => "Epasts tika saglabÄts",
"Invalid email" => "Nepareizs epasts",
-"OpenID Changed" => "OpenID nomainīts",
-"Invalid request" => "Nepareizs vaicÄjums",
"Unable to delete group" => "Nevar izdzēst grupu",
"Authentication error" => "IelogoÅ¡anÄs kļūme",
"Unable to delete user" => "Nevar izdzÄ“st lietotÄju",
"Language changed" => "Valoda tika nomainīta",
+"Invalid request" => "Nepareizs vaicÄjums",
"Unable to add user to group %s" => "Nevar pievienot lietotÄju grupai %s",
"Unable to remove user from group %s" => "Nevar noņemt lietotÄju no grupas %s",
"Disable" => "Atvienot",
@@ -39,9 +38,7 @@
"Name" => "VÄrds",
"Groups" => "Grupas",
"Create" => "Izveidot",
-"Default Quota" => "Apjoms pēc noklusējuma",
"Other" => "Cits",
"Group Admin" => "Grupas administrators",
-"Quota" => "Apjoms",
"Delete" => "Izdzēst"
);
diff --git a/settings/l10n/mk.php b/settings/l10n/mk.php
index 25a3fa80c47..52fafc56479 100644
--- a/settings/l10n/mk.php
+++ b/settings/l10n/mk.php
@@ -5,12 +5,11 @@
"Could not enable app. " => "Ðеможе да овозможам апликација.",
"Email saved" => "ЕлектронÑката пошта е Ñнимена",
"Invalid email" => "ÐеиÑправна електронÑка пошта",
-"OpenID Changed" => "OpenID Ñменето",
-"Invalid request" => "неправилно барање",
"Unable to delete group" => "Ðеможе да избришам група",
"Authentication error" => "Грешка во автентикација",
"Unable to delete user" => "Ðеможам да избришам кориÑник",
"Language changed" => "Јазикот е Ñменет",
+"Invalid request" => "неправилно барање",
"Admins can't remove themself from the admin group" => "ÐдминиÑтраторите неможе да Ñе избришат ÑебеÑи од админ групата",
"Unable to add user to group %s" => "Ðеможе да додадам кориÑник во група %s",
"Unable to remove user from group %s" => "Ðеможе да избришам кориÑник од група %s",
@@ -52,9 +51,7 @@
"Name" => "Име",
"Groups" => "Групи",
"Create" => "Создај",
-"Default Quota" => "Предефинирана квота",
"Other" => "ОÑтанато",
"Group Admin" => "ÐдминиÑтратор на група",
-"Quota" => "Квота",
"Delete" => "Избриши"
);
diff --git a/settings/l10n/ms_MY.php b/settings/l10n/ms_MY.php
index 608ed7e05d5..87f45d3c9a0 100644
--- a/settings/l10n/ms_MY.php
+++ b/settings/l10n/ms_MY.php
@@ -1,10 +1,9 @@
<?php $TRANSLATIONS = array(
"Email saved" => "Emel disimpan",
"Invalid email" => "Emel tidak sah",
-"OpenID Changed" => "OpenID diubah",
-"Invalid request" => "Permintaan tidak sah",
"Authentication error" => "Ralat pengesahan",
"Language changed" => "Bahasa diubah",
+"Invalid request" => "Permintaan tidak sah",
"Disable" => "Nyahaktif",
"Enable" => "Aktif",
"Saving..." => "Simpan...",
@@ -27,8 +26,6 @@
"Name" => "Nama",
"Groups" => "Kumpulan",
"Create" => "Buat",
-"Default Quota" => "Kuota Lalai",
"Other" => "Lain",
-"Quota" => "Kuota",
"Delete" => "Padam"
);
diff --git a/settings/l10n/nb_NO.php b/settings/l10n/nb_NO.php
index 0800b6682e6..52cfc92040b 100644
--- a/settings/l10n/nb_NO.php
+++ b/settings/l10n/nb_NO.php
@@ -5,12 +5,11 @@
"Could not enable app. " => "Kan ikke aktivere app.",
"Email saved" => "Epost lagret",
"Invalid email" => "Ugyldig epost",
-"OpenID Changed" => "OpenID endret",
-"Invalid request" => "Ugyldig forespørsel",
"Unable to delete group" => "Kan ikke slette gruppe",
"Authentication error" => "Autentikasjonsfeil",
"Unable to delete user" => "Kan ikke slette bruker",
"Language changed" => "Språk endret",
+"Invalid request" => "Ugyldig forespørsel",
"Unable to add user to group %s" => "Kan ikke legge bruker til gruppen %s",
"Unable to remove user from group %s" => "Kan ikke slette bruker fra gruppen %s",
"Disable" => "Slå avBehandle ",
@@ -21,7 +20,14 @@
"More Apps" => "Flere Apps",
"Select an App" => "Velg en app",
"See application page at apps.owncloud.com" => "Se applikasjonens side på apps.owncloud.org",
+"User Documentation" => "Brukerdokumentasjon",
+"Administrator Documentation" => "Administratordokumentasjon",
+"Commercial Support" => "Kommersiell støtte",
+"You have used <strong>%s</strong> of the available <strong>%s</strong>" => "Du har brukt <strong>%s</strong> av tilgjengelig <strong>%s</strong>",
"Clients" => "Klienter",
+"Download Desktop Clients" => "Last ned skrivebordsklienter",
+"Download Android Client" => "Last ned Android-klient",
+"Download iOS Client" => "Last ned iOS-klient",
"Password" => "Passord",
"Your password was changed" => "Passord har blitt endret",
"Unable to change your password" => "Kunne ikke endre passordet ditt",
@@ -34,12 +40,12 @@
"Fill in an email address to enable password recovery" => "Oppi epostadressen du vil tilbakestille passordet for",
"Language" => "Språk",
"Help translate" => "Bidra til oversettelsen",
+"WebDAV" => "WebDAV",
+"Version" => "Versjon",
"Name" => "Navn",
"Groups" => "Grupper",
"Create" => "Opprett",
-"Default Quota" => "Standard Kvote",
"Other" => "Annet",
"Group Admin" => "Gruppeadministrator",
-"Quota" => "Kvote",
"Delete" => "Slett"
);
diff --git a/settings/l10n/nl.php b/settings/l10n/nl.php
index 40d8742d7b3..2b6fdbd6082 100644
--- a/settings/l10n/nl.php
+++ b/settings/l10n/nl.php
@@ -5,12 +5,11 @@
"Could not enable app. " => "Kan de app. niet activeren",
"Email saved" => "E-mail bewaard",
"Invalid email" => "Ongeldige e-mail",
-"OpenID Changed" => "OpenID is aangepast",
-"Invalid request" => "Ongeldig verzoek",
"Unable to delete group" => "Niet in staat om groep te verwijderen",
"Authentication error" => "Authenticatie fout",
"Unable to delete user" => "Niet in staat om gebruiker te verwijderen",
"Language changed" => "Taal aangepast",
+"Invalid request" => "Ongeldig verzoek",
"Admins can't remove themself from the admin group" => "Admins kunnen zichzelf niet uit de admin groep verwijderen",
"Unable to add user to group %s" => "Niet in staat om gebruiker toe te voegen aan groep %s",
"Unable to remove user from group %s" => "Niet in staat om gebruiker te verwijderen uit groep %s",
@@ -53,9 +52,11 @@
"Name" => "Naam",
"Groups" => "Groepen",
"Create" => "Creëer",
-"Default Quota" => "Standaard limiet",
+"Default Storage" => "Default opslag",
+"Unlimited" => "Ongelimiteerd",
"Other" => "Andere",
"Group Admin" => "Groep beheerder",
-"Quota" => "Limieten",
+"Storage" => "Opslag",
+"Default" => "Default",
"Delete" => "verwijderen"
);
diff --git a/settings/l10n/nn_NO.php b/settings/l10n/nn_NO.php
index 92ff6d22df2..923f5481d5a 100644
--- a/settings/l10n/nn_NO.php
+++ b/settings/l10n/nn_NO.php
@@ -2,10 +2,9 @@
"Unable to load list from App Store" => "Klarer ikkje å laste inn liste fra App Store",
"Email saved" => "E-postadresse lagra",
"Invalid email" => "Ugyldig e-postadresse",
-"OpenID Changed" => "OpenID endra",
-"Invalid request" => "Ugyldig førespurnad",
"Authentication error" => "Feil i autentisering",
"Language changed" => "Språk endra",
+"Invalid request" => "Ugyldig førespurnad",
"Disable" => "Slå av",
"Enable" => "Slå på",
"__language_name__" => "Nynorsk",
@@ -26,6 +25,5 @@
"Groups" => "Grupper",
"Create" => "Lag",
"Other" => "Anna",
-"Quota" => "Kvote",
"Delete" => "Slett"
);
diff --git a/settings/l10n/oc.php b/settings/l10n/oc.php
index 0bed7a9a416..39445570fdb 100644
--- a/settings/l10n/oc.php
+++ b/settings/l10n/oc.php
@@ -5,12 +5,11 @@
"Could not enable app. " => "Pòt pas activar app. ",
"Email saved" => "Corrièl enregistrat",
"Invalid email" => "Corrièl incorrècte",
-"OpenID Changed" => "OpenID cambiat",
-"Invalid request" => "Demanda invalida",
"Unable to delete group" => "Pas capable d'escafar un grop",
"Authentication error" => "Error d'autentificacion",
"Unable to delete user" => "Pas capable d'escafar un usancièr",
"Language changed" => "Lengas cambiadas",
+"Invalid request" => "Demanda invalida",
"Unable to add user to group %s" => "Pas capable d'apondre un usancièr al grop %s",
"Unable to remove user from group %s" => "Pas capable de tira un usancièr del grop %s",
"Disable" => "Desactiva",
@@ -37,9 +36,7 @@
"Name" => "Nom",
"Groups" => "Grops",
"Create" => "Crea",
-"Default Quota" => "Quota per defaut",
"Other" => "Autres",
"Group Admin" => "Grop Admin",
-"Quota" => "Quota",
"Delete" => "Escafa"
);
diff --git a/settings/l10n/pl.php b/settings/l10n/pl.php
index 3668421d9c7..ae4d335c72b 100644
--- a/settings/l10n/pl.php
+++ b/settings/l10n/pl.php
@@ -5,12 +5,11 @@
"Could not enable app. " => "Nie można włączyć aplikacji.",
"Email saved" => "Email zapisany",
"Invalid email" => "Niepoprawny email",
-"OpenID Changed" => "Zmieniono OpenID",
-"Invalid request" => "Nieprawidłowe żądanie",
"Unable to delete group" => "Nie można usunąć grupy",
"Authentication error" => "Błąd uwierzytelniania",
"Unable to delete user" => "Nie można usunąć użytkownika",
"Language changed" => "Język zmieniony",
+"Invalid request" => "Nieprawidłowe żądanie",
"Admins can't remove themself from the admin group" => "Administratorzy nie mogą usunąć się sami z grupy administratorów.",
"Unable to add user to group %s" => "Nie można dodać użytkownika do grupy %s",
"Unable to remove user from group %s" => "Nie można usunąć użytkownika z grupy %s",
@@ -23,8 +22,17 @@
"Select an App" => "Zaznacz aplikacje",
"See application page at apps.owncloud.com" => "Zobacz stronÄ™ aplikacji na apps.owncloud.com",
"<span class=\"licence\"></span>-licensed by <span class=\"author\"></span>" => "<span class=\"licence\"></span>-licencjonowane przez <span class=\"author\"></span>",
+"User Documentation" => "Dokumentacja użytkownika",
+"Administrator Documentation" => "Dokumentacja Administratora",
+"Online Documentation" => "Dokumentacja Online",
+"Forum" => "Forum",
+"Bugtracker" => "Zgłaszanie błędów",
+"Commercial Support" => "Wsparcie komercyjne",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" => "Korzystasz z <strong>%s</strong> z dostępnych <strong>%s</strong>",
"Clients" => "Klienci",
+"Download Desktop Clients" => "Pobierz klienta dla Komputera",
+"Download Android Client" => "Pobierz klienta dla Androida",
+"Download iOS Client" => "Pobierz klienta dla iOS",
"Password" => "Hasło",
"Your password was changed" => "Twoje hasło zostało zmienione",
"Unable to change your password" => "Nie można zmienić hasła",
@@ -37,13 +45,18 @@
"Fill in an email address to enable password recovery" => "Proszę wprowadzić adres e-mail, aby uzyskać możliwość odzyskania hasła",
"Language" => "Język",
"Help translate" => "Pomóż w tłumaczeniu",
-"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>." => "Stwirzone przez <a href=\"http://ownCloud.org/contact\" target=\"_blank\"> społeczność ownCloud</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">kod źródłowy</a> na licencji <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
+"WebDAV" => "WebDAV",
+"Use this address to connect to your ownCloud in your file manager" => "Użyj tego adresu aby podłączyć zasób ownCloud w menedżerze plików",
+"Version" => "Wersja",
+"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>." => "Stworzone przez <a href=\"http://ownCloud.org/contact\" target=\"_blank\"> społeczność ownCloud</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">kod źródłowy</a> na licencji <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
"Name" => "Nazwa",
"Groups" => "Grupy",
"Create" => "Utwórz",
-"Default Quota" => "Domyślny udział",
+"Default Storage" => "Domyślny magazyn",
+"Unlimited" => "Bez limitu",
"Other" => "Inne",
"Group Admin" => "Grupa Admin",
-"Quota" => "Udział",
+"Storage" => "Magazyn",
+"Default" => "Domyślny",
"Delete" => "UsunÌ"
);
diff --git a/settings/l10n/pt_BR.php b/settings/l10n/pt_BR.php
index ebbdc85e45b..ebb9b72b19a 100644
--- a/settings/l10n/pt_BR.php
+++ b/settings/l10n/pt_BR.php
@@ -5,19 +5,18 @@
"Could not enable app. " => "Não pôde habilitar aplicação",
"Email saved" => "Email gravado",
"Invalid email" => "Email inválido",
-"OpenID Changed" => "Mudou OpenID",
-"Invalid request" => "Pedido inválido",
"Unable to delete group" => "Não foi possivel remover grupo",
"Authentication error" => "erro de autenticação",
"Unable to delete user" => "Não foi possivel remover usuário",
"Language changed" => "Mudou Idioma",
+"Invalid request" => "Pedido inválido",
"Admins can't remove themself from the admin group" => "Admins não podem se remover do grupo admin",
"Unable to add user to group %s" => "Não foi possivel adicionar usuário ao grupo %s",
"Unable to remove user from group %s" => "Não foi possivel remover usuário ao grupo %s",
"Disable" => "Desabilitado",
"Enable" => "Habilitado",
"Saving..." => "Gravando...",
-"__language_name__" => "Português",
+"__language_name__" => "Português do Brasil",
"Add your App" => "Adicione seu Aplicativo",
"More Apps" => "Mais Apps",
"Select an App" => "Selecione uma Aplicação",
@@ -41,9 +40,7 @@
"Name" => "Nome",
"Groups" => "Grupos",
"Create" => "Criar",
-"Default Quota" => "Quota Padrão",
"Other" => "Outro",
"Group Admin" => "Grupo Administrativo",
-"Quota" => "Cota",
"Delete" => "Apagar"
);
diff --git a/settings/l10n/pt_PT.php b/settings/l10n/pt_PT.php
index 6c2a50047db..6bccb49d649 100644
--- a/settings/l10n/pt_PT.php
+++ b/settings/l10n/pt_PT.php
@@ -5,12 +5,11 @@
"Could not enable app. " => "Não foi possível activar a app.",
"Email saved" => "Email guardado",
"Invalid email" => "Email inválido",
-"OpenID Changed" => "OpenID alterado",
-"Invalid request" => "Pedido inválido",
"Unable to delete group" => "Impossível apagar grupo",
"Authentication error" => "Erro de autenticação",
"Unable to delete user" => "Impossível apagar utilizador",
"Language changed" => "Idioma alterado",
+"Invalid request" => "Pedido inválido",
"Admins can't remove themself from the admin group" => "Os administradores não se podem remover a eles mesmos do grupo admin.",
"Unable to add user to group %s" => "Impossível acrescentar utilizador ao grupo %s",
"Unable to remove user from group %s" => "Impossível apagar utilizador do grupo %s",
@@ -53,9 +52,11 @@
"Name" => "Nome",
"Groups" => "Grupos",
"Create" => "Criar",
-"Default Quota" => "Quota por padrão",
+"Default Storage" => "Armazenamento Padrão",
+"Unlimited" => "Ilimitado",
"Other" => "Outro",
"Group Admin" => "Grupo Administrador",
-"Quota" => "Quota",
+"Storage" => "Armazenamento",
+"Default" => "Padrão",
"Delete" => "Apagar"
);
diff --git a/settings/l10n/ro.php b/settings/l10n/ro.php
index 26865c8c711..1166f9587e9 100644
--- a/settings/l10n/ro.php
+++ b/settings/l10n/ro.php
@@ -5,12 +5,12 @@
"Could not enable app. " => "Nu s-a putut activa aplicația.",
"Email saved" => "E-mail salvat",
"Invalid email" => "E-mail nevalid",
-"OpenID Changed" => "OpenID schimbat",
-"Invalid request" => "Cerere eronată",
"Unable to delete group" => "Nu s-a putut șterge grupul",
"Authentication error" => "Eroare de autentificare",
"Unable to delete user" => "Nu s-a putut șterge utilizatorul",
"Language changed" => "Limba a fost schimbată",
+"Invalid request" => "Cerere eronată",
+"Admins can't remove themself from the admin group" => "Administratorii nu se pot șterge singuri din grupul admin",
"Unable to add user to group %s" => "Nu s-a putut adăuga utilizatorul la grupul %s",
"Unable to remove user from group %s" => "Nu s-a putut elimina utilizatorul din grupul %s",
"Disable" => "Dezactivați",
@@ -18,10 +18,21 @@
"Saving..." => "Salvez...",
"__language_name__" => "_language_name_",
"Add your App" => "Adaugă aplicația ta",
+"More Apps" => "Mai multe aplicații",
"Select an App" => "Selectează o aplicație",
"See application page at apps.owncloud.com" => "Vizualizează pagina applicației pe apps.owncloud.com",
"<span class=\"licence\"></span>-licensed by <span class=\"author\"></span>" => "<span class=\"licence\"></span>-licențiat <span class=\"author\"></span>",
+"User Documentation" => "Documentație utilizator",
+"Administrator Documentation" => "Documentație administrator",
+"Online Documentation" => "Documentație online",
+"Forum" => "Forum",
+"Bugtracker" => "Urmărire bug-uri",
+"Commercial Support" => "Suport comercial",
+"You have used <strong>%s</strong> of the available <strong>%s</strong>" => "Ați utilizat <strong>%s</strong> din <strong>%s</strong> disponibile",
"Clients" => "Clienți",
+"Download Desktop Clients" => "Descarcă client desktop",
+"Download Android Client" => "Descarcă client Android",
+"Download iOS Client" => "Descarcă client iOS",
"Password" => "Parolă",
"Your password was changed" => "Parola a fost modificată",
"Unable to change your password" => "Imposibil de-ați schimbat parola",
@@ -34,13 +45,18 @@
"Fill in an email address to enable password recovery" => "Completează o adresă de mail pentru a-ți putea recupera parola",
"Language" => "Limba",
"Help translate" => "Ajută la traducere",
+"WebDAV" => "WebDAV",
+"Use this address to connect to your ownCloud in your file manager" => "Folosește această adresă pentru a conecta ownCloud cu managerul de fișiere",
+"Version" => "Versiunea",
"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>." => "Dezvoltat de the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">comunitatea ownCloud</a>, <a href=\"https://github.com/owncloud\" target=\"_blank\">codul sursă</a> este licențiat sub <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
"Name" => "Nume",
"Groups" => "Grupuri",
"Create" => "Crează",
-"Default Quota" => "Cotă implicită",
+"Default Storage" => "Stocare implicită",
+"Unlimited" => "Nelimitată",
"Other" => "Altele",
"Group Admin" => "Grupul Admin ",
-"Quota" => "Cotă",
+"Storage" => "Stocare",
+"Default" => "Implicită",
"Delete" => "Șterge"
);
diff --git a/settings/l10n/ru.php b/settings/l10n/ru.php
index ba26cb13353..5c05f32636a 100644
--- a/settings/l10n/ru.php
+++ b/settings/l10n/ru.php
@@ -5,12 +5,11 @@
"Could not enable app. " => "Ðе удалоÑÑŒ включить приложение.",
"Email saved" => "Email Ñохранен",
"Invalid email" => "Ðеправильный Email",
-"OpenID Changed" => "OpenID изменён",
-"Invalid request" => "Ðеверный запроÑ",
"Unable to delete group" => "Ðевозможно удалить группу",
"Authentication error" => "Ошибка авторизации",
"Unable to delete user" => "Ðевозможно удалить пользователÑ",
"Language changed" => "Язык изменён",
+"Invalid request" => "Ðеверный запроÑ",
"Admins can't remove themself from the admin group" => "ÐдминиÑтратор не может удалить Ñам ÑÐµÐ±Ñ Ð¸Ð· группы admin",
"Unable to add user to group %s" => "Ðевозможно добавить Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð² группу %s",
"Unable to remove user from group %s" => "Ðевозможно удалить Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¸Ð· группы %s",
@@ -23,8 +22,17 @@
"Select an App" => "Выберите приложение",
"See application page at apps.owncloud.com" => "Смотрите Ð´Ð¾Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð½Ð° apps.owncloud.com",
"<span class=\"licence\"></span>-licensed by <span class=\"author\"></span>" => "<span class=\"licence\"></span> лицензиÑ. Ðвтор <span class=\"author\"></span>",
+"User Documentation" => "ПользовательÑÐºÐ°Ñ Ð´Ð¾ÐºÑƒÐ¼ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ñ",
+"Administrator Documentation" => "Ð”Ð¾ÐºÑƒÐ¼ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ñ Ð°Ð´Ð¼Ð¸Ð½Ð¸Ñтратора",
+"Online Documentation" => "Online документациÑ",
+"Forum" => "Форум",
+"Bugtracker" => "Bugtracker",
+"Commercial Support" => "КоммерчеÑÐºÐ°Ñ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶ÐºÐ°",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" => "Ð’Ñ‹ иÑпользовали <strong>%s</strong> из доÑтупных <strong>%s</strong>",
"Clients" => "Клиенты",
+"Download Desktop Clients" => "Загрузка приложений Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¿ÑŒÑŽÑ‚ÐµÑ€Ð°",
+"Download Android Client" => "Загрузка Android-приложениÑ",
+"Download iOS Client" => "Загрузка iOS-приложениÑ",
"Password" => "Пароль",
"Your password was changed" => "Ваш пароль изменён",
"Unable to change your password" => "Ðевозможно Ñменить пароль",
@@ -37,13 +45,18 @@
"Fill in an email address to enable password recovery" => "Введите Ð°Ð´Ñ€ÐµÑ Ñлектронной почты, чтобы поÑвилаÑÑŒ возможноÑть воÑÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð°Ñ€Ð¾Ð»Ñ",
"Language" => "Язык",
"Help translate" => "Помочь Ñ Ð¿ÐµÑ€ÐµÐ²Ð¾Ð´Ð¾Ð¼",
+"WebDAV" => "WebDAV",
+"Use this address to connect to your ownCloud in your file manager" => "ИÑпользуйте Ñтот URL Ð´Ð»Ñ Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð²Ð¾Ð³Ð¾ менеджера к Вашему хранилищу",
+"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>.",
"Name" => "ИмÑ",
"Groups" => "Группы",
"Create" => "Создать",
-"Default Quota" => "Квота по умолчанию",
+"Default Storage" => "Хранилище по-умолчанию",
+"Unlimited" => "Ðеограниченно",
"Other" => "Другое",
"Group Admin" => "Группа ÐдминиÑтраторы",
-"Quota" => "Квота",
+"Storage" => "Хранилище",
+"Default" => "По-умолчанию",
"Delete" => "Удалить"
);
diff --git a/settings/l10n/ru_RU.php b/settings/l10n/ru_RU.php
index a964fe9166e..26179eeb329 100644
--- a/settings/l10n/ru_RU.php
+++ b/settings/l10n/ru_RU.php
@@ -5,12 +5,11 @@
"Could not enable app. " => "Ðе удалоÑÑŒ запуÑтить приложение",
"Email saved" => "Email Ñохранен",
"Invalid email" => "Ðеверный email",
-"OpenID Changed" => "OpenID изменен",
-"Invalid request" => "Ðеверный запроÑ",
"Unable to delete group" => "Ðевозможно удалить группу",
"Authentication error" => "Ошибка авторизации",
"Unable to delete user" => "Ðевозможно удалить пользователÑ",
"Language changed" => "Язык изменен",
+"Invalid request" => "Ðеверный запроÑ",
"Admins can't remove themself from the admin group" => "ÐдминиÑтраторы не могут удалить Ñами ÑÐµÐ±Ñ Ð¸Ð· группы админиÑтраторов",
"Unable to add user to group %s" => "Ðевозможно добавить Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð² группу %s",
"Unable to remove user from group %s" => "Ðевозможно удалить Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¸Ð· группы %s",
@@ -52,9 +51,7 @@
"Name" => "ИмÑ",
"Groups" => "Группы",
"Create" => "Создать",
-"Default Quota" => "Квота по умолчанию",
"Other" => "Другой",
"Group Admin" => "Группа Admin",
-"Quota" => "квота",
"Delete" => "Удалить"
);
diff --git a/settings/l10n/si_LK.php b/settings/l10n/si_LK.php
index 6c46834beb1..45cb9a4a4fb 100644
--- a/settings/l10n/si_LK.php
+++ b/settings/l10n/si_LK.php
@@ -4,12 +4,11 @@
"Could not enable app. " => "යෙදුම සක්â€à¶»à·“ය à¶šà·… නොහà·à¶šà·’ විය.",
"Email saved" => "වි-à¶­à·à¶´à·‘à¶½ සුරකින ලදී",
"Invalid email" => "අවලංගු වි-à¶­à·à¶´à·‘à¶½",
-"OpenID Changed" => "විවෘත à·„à·à¶³à·”නුම à¶±à·à¶­à·„ොත් OpenID වෙනස්විය.",
-"Invalid request" => "අවලංගු අයදුම",
"Unable to delete group" => "à¶šà¶«à·Šà¶©à·à¶ºà¶¸ මà·à¶šà·“මට නොහà·à¶š",
"Authentication error" => "සත්â€à¶ºà·à¶´à¶± දà·à·‚යක්",
"Unable to delete user" => "පරිà·à·“ලකය෠මà·à¶šà·“මට නොහà·à¶š",
"Language changed" => "à¶·à·à·‚à·à·€ à·à·€à¶±à·ƒà·Š කිරීම",
+"Invalid request" => "අවලංගු අයදුම",
"Unable to add user to group %s" => "පරිà·à·“ලකය෠%s à¶šà¶«à·Šà¶©à·à¶ºà¶¸à¶§ à¶‘à¶šà¶­à·” à¶šà·… නොහà·à¶š",
"Unable to remove user from group %s" => "පරිà·à·“ලකය෠%s à¶šà¶«à·Šà¶©à·à¶ºà¶¸à·’න් ඉවත් à¶šà·… නොහà·à¶š",
"Disable" => "à¶…à¶šà·Šâ€à¶»à·’ය කරන්න",
@@ -35,9 +34,7 @@
"Name" => "à¶±à·à¶¸à¶º",
"Groups" => "සමූහය",
"Create" => "තනන්න",
-"Default Quota" => "à·ƒà·à¶¸à·à¶±à·Šâ€à¶º සලà·à¶šà¶º",
"Other" => "වෙනත්",
"Group Admin" => "à¶šà·à¶«à·Šà¶© පරිපà·à¶½à¶š",
-"Quota" => "සලà·à¶šà¶º",
"Delete" => "මක෠දමනවà·"
);
diff --git a/settings/l10n/sk_SK.php b/settings/l10n/sk_SK.php
index 08b9079c3ae..884e785ad8d 100644
--- a/settings/l10n/sk_SK.php
+++ b/settings/l10n/sk_SK.php
@@ -5,12 +5,11 @@
"Could not enable app. " => "Nie je možné zapnúť aplikáciu.",
"Email saved" => "Email uložený",
"Invalid email" => "Neplatný email",
-"OpenID Changed" => "OpenID zmenené",
-"Invalid request" => "Neplatná požiadavka",
"Unable to delete group" => "Nie je možné odstrániť skupinu",
"Authentication error" => "Chyba pri autentifikácii",
"Unable to delete user" => "Nie je možné odstrániť používateľa",
"Language changed" => "Jazyk zmenený",
+"Invalid request" => "Neplatná požiadavka",
"Admins can't remove themself from the admin group" => "Administrátori nesmú odstrániť sami seba zo skupiny admin",
"Unable to add user to group %s" => "Nie je možné pridať užívateľa do skupiny %s",
"Unable to remove user from group %s" => "Nie je možné odstrániť používateľa zo skupiny %s",
@@ -23,8 +22,16 @@
"Select an App" => "Vyberte aplikáciu",
"See application page at apps.owncloud.com" => "Pozrite si stránku aplikácií na apps.owncloud.com",
"<span class=\"licence\"></span>-licensed by <span class=\"author\"></span>" => "<span class=\"licence\"></span>-licencované <span class=\"author\"></span>",
+"User Documentation" => "PríruÄka používateľa",
+"Administrator Documentation" => "PríruÄka správcu",
+"Online Documentation" => "Online príruÄka",
+"Forum" => "Fórum",
+"Commercial Support" => "KomerÄná podpora",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" => "Použili ste <strong>%s</strong> z <strong>%s</strong> dostupných ",
"Clients" => "Klienti",
+"Download Desktop Clients" => "Stiahnuť desktopového klienta",
+"Download Android Client" => "Stiahnuť Android klienta",
+"Download iOS Client" => "Stiahnuť iOS klienta",
"Password" => "Heslo",
"Your password was changed" => "Heslo bolo zmenené",
"Unable to change your password" => "Nie je možné zmeniť vaše heslo",
@@ -37,13 +44,18 @@
"Fill in an email address to enable password recovery" => "Vyplňte emailovú adresu pre aktivovanie obnovy hesla",
"Language" => "Jazyk",
"Help translate" => "Pomôcť s prekladom",
+"WebDAV" => "WebDAV",
+"Use this address to connect to your ownCloud in your file manager" => "Použite túto adresu pre pripojenie vášho ownCloud k súborovému správcovi",
+"Version" => "Verzia",
"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>." => "Vyvinuté <a href=\"http://ownCloud.org/contact\" target=\"_blank\">komunitou ownCloud</a>,<a href=\"https://github.com/owncloud\" target=\"_blank\">zdrojový kód</a> je licencovaný pod <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
"Name" => "Meno",
"Groups" => "Skupiny",
"Create" => "Vytvoriť",
-"Default Quota" => "Predvolená kvóta",
+"Default Storage" => "Predvolené úložisko",
+"Unlimited" => "Nelimitované",
"Other" => "Iné",
"Group Admin" => "Správca skupiny",
-"Quota" => "Kvóta",
+"Storage" => "Úložisko",
+"Default" => "Predvolené",
"Delete" => "Odstrániť"
);
diff --git a/settings/l10n/sl.php b/settings/l10n/sl.php
index 01d1d481b97..24bea147993 100644
--- a/settings/l10n/sl.php
+++ b/settings/l10n/sl.php
@@ -5,12 +5,11 @@
"Could not enable app. " => "Programa ni mogoÄe omogoÄiti.",
"Email saved" => "Elektronski naslov je shranjen",
"Invalid email" => "Neveljaven elektronski naslov",
-"OpenID Changed" => "OpenID je bil spremenjen",
-"Invalid request" => "Neveljavna zahteva",
"Unable to delete group" => "Ni mogoÄe izbrisati skupine",
"Authentication error" => "Napaka overitve",
"Unable to delete user" => "Ni mogoÄe izbrisati uporabnika",
"Language changed" => "Jezik je bil spremenjen",
+"Invalid request" => "Neveljavna zahteva",
"Admins can't remove themself from the admin group" => "Administratorji sebe ne morejo odstraniti iz skupine admin",
"Unable to add user to group %s" => "Uporabnika ni mogoÄe dodati k skupini %s",
"Unable to remove user from group %s" => "Uporabnika ni mogoÄe odstraniti iz skupine %s",
@@ -23,8 +22,17 @@
"Select an App" => "Izberite program",
"See application page at apps.owncloud.com" => "ObiÅ¡Äite spletno stran programa na apps.owncloud.com",
"<span class=\"licence\"></span>-licensed by <span class=\"author\"></span>" => "<span class=\"licence\"></span>-z dovoljenjem s strani <span class=\"author\"></span>",
+"User Documentation" => "Uporabniška dokumentacija",
+"Administrator Documentation" => "Administratorjeva dokumentacija",
+"Online Documentation" => "Spletna dokumentacija",
+"Forum" => "Forum",
+"Bugtracker" => "Sistem za sledenje napakam",
+"Commercial Support" => "Komercialna podpora",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" => "Uporabljate <strong>%s</strong> od razpoložljivih <strong>%s</strong>",
"Clients" => "Stranka",
+"Download Desktop Clients" => "Prenesi namizne odjemalce",
+"Download Android Client" => "Prenesi Android odjemalec",
+"Download iOS Client" => "Prenesi iOS odjemalec",
"Password" => "Geslo",
"Your password was changed" => "Vaše geslo je spremenjeno",
"Unable to change your password" => "Gesla ni mogoÄe spremeniti.",
@@ -37,13 +45,18 @@
"Fill in an email address to enable password recovery" => "VpiÅ¡ite vaÅ¡ elektronski naslov in s tem omogoÄite obnovitev gesla",
"Language" => "Jezik",
"Help translate" => "Pomagajte pri prevajanju",
+"WebDAV" => "WebDAV",
+"Use this address to connect to your ownCloud in your file manager" => "Uporabite ta naslov za povezavo do ownCloud v vašem upravljalniku datotek.",
+"Version" => "RazliÄica",
"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>." => "Programski paket razvija <a href=\"http://ownCloud.org/contact\" target=\"_blank\">skupnost ownCloud</a>. <a href=\"https://github.com/owncloud\" target=\"_blank\">Izvorna koda</a> je objavljena pod pogoji dovoljenja <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Splošno javno dovoljenje Affero\">AGPL</abbr></a>.",
"Name" => "Ime",
"Groups" => "Skupine",
"Create" => "Ustvari",
-"Default Quota" => "Privzeta koliÄinska omejitev",
+"Default Storage" => "Privzeta shramba",
+"Unlimited" => "Neomejeno",
"Other" => "Drugo",
"Group Admin" => "Skrbnik skupine",
-"Quota" => "KoliÄinska omejitev",
+"Storage" => "Shramba",
+"Default" => "Privzeto",
"Delete" => "Izbriši"
);
diff --git a/settings/l10n/sr.php b/settings/l10n/sr.php
index be30ab45f53..d230adb9275 100644
--- a/settings/l10n/sr.php
+++ b/settings/l10n/sr.php
@@ -5,12 +5,11 @@
"Could not enable app. " => "Ðе могу да укључим програм",
"Email saved" => "Е-порука Ñачувана",
"Invalid email" => "ÐеиÑправна е-адреÑа",
-"OpenID Changed" => "OpenID је измењен",
-"Invalid request" => "ÐеиÑправан захтев",
"Unable to delete group" => "Ðе могу да уклоним групу",
"Authentication error" => "Грешка при аутентификацији",
"Unable to delete user" => "Ðе могу да уклоним кориÑника",
"Language changed" => "Језик је промењен",
+"Invalid request" => "ÐеиÑправан захтев",
"Admins can't remove themself from the admin group" => "Управници не могу Ñебе уклонити из админ групе",
"Unable to add user to group %s" => "Ðе могу да додам кориÑника у групу %s",
"Unable to remove user from group %s" => "Ðе могу да уклоним кориÑника из групе %s",
@@ -41,9 +40,7 @@
"Name" => "Име",
"Groups" => "Групе",
"Create" => "Ðаправи",
-"Default Quota" => "Подразумевано ограничење",
"Other" => "Друго",
"Group Admin" => "Управник групе",
-"Quota" => "Ограничење",
"Delete" => "Обриши"
);
diff --git a/settings/l10n/sr@latin.php b/settings/l10n/sr@latin.php
index 9ee84bc255a..7677fbcf33c 100644
--- a/settings/l10n/sr@latin.php
+++ b/settings/l10n/sr@latin.php
@@ -1,8 +1,7 @@
<?php $TRANSLATIONS = array(
-"OpenID Changed" => "OpenID je izmenjen",
-"Invalid request" => "Neispravan zahtev",
"Authentication error" => "Greška pri autentifikaciji",
"Language changed" => "Jezik je izmenjen",
+"Invalid request" => "Neispravan zahtev",
"Select an App" => "Izaberite program",
"Clients" => "Klijenti",
"Password" => "Lozinka",
diff --git a/settings/l10n/sv.php b/settings/l10n/sv.php
index 15e4bfd035e..e99fad96172 100644
--- a/settings/l10n/sv.php
+++ b/settings/l10n/sv.php
@@ -5,12 +5,11 @@
"Could not enable app. " => "Kunde inte aktivera appen.",
"Email saved" => "E-post sparad",
"Invalid email" => "Ogiltig e-post",
-"OpenID Changed" => "OpenID ändrat",
-"Invalid request" => "Ogiltig begäran",
"Unable to delete group" => "Kan inte radera grupp",
"Authentication error" => "Autentiseringsfel",
"Unable to delete user" => "Kan inte radera användare",
"Language changed" => "Språk ändrades",
+"Invalid request" => "Ogiltig begäran",
"Admins can't remove themself from the admin group" => "Administratörer kan inte ta bort sig själva från admingruppen",
"Unable to add user to group %s" => "Kan inte lägga till användare i gruppen %s",
"Unable to remove user from group %s" => "Kan inte radera användare från gruppen %s",
@@ -53,9 +52,11 @@
"Name" => "Namn",
"Groups" => "Grupper",
"Create" => "Skapa",
-"Default Quota" => "Förvald datakvot",
+"Default Storage" => "Förvald lagring",
+"Unlimited" => "Obegränsad",
"Other" => "Annat",
"Group Admin" => "Gruppadministratör",
-"Quota" => "Kvot",
+"Storage" => "Lagring",
+"Default" => "Förvald",
"Delete" => "Radera"
);
diff --git a/settings/l10n/ta_LK.php b/settings/l10n/ta_LK.php
index cbc2eec8fb7..9771e167e4b 100644
--- a/settings/l10n/ta_LK.php
+++ b/settings/l10n/ta_LK.php
@@ -5,12 +5,11 @@
"Could not enable app. " => "செயலியை இயலà¯à®®à¯ˆà®ªà¯à®ªà®Ÿà¯à®¤à¯à®¤ à®®à¯à®Ÿà®¿à®¯à®¾à®¤à¯",
"Email saved" => "மினà¯à®©à®žà¯à®šà®²à¯ சேமிகà¯à®•பà¯à®ªà®Ÿà¯à®Ÿà®¤à¯",
"Invalid email" => "செலà¯à®²à¯à®ªà®Ÿà®¿à®¯à®±à¯à®± மினà¯à®©à®žà¯à®šà®²à¯",
-"OpenID Changed" => "OpenID மாறà¯à®±à®ªà¯à®ªà®Ÿà¯à®Ÿà®¤à¯",
-"Invalid request" => "செலà¯à®²à¯à®ªà®Ÿà®¿à®¯à®±à¯à®± வேணà¯à®Ÿà¯à®•ோளà¯",
"Unable to delete group" => "கà¯à®´à¯à®µà¯ˆ நீகà¯à®• à®®à¯à®Ÿà®¿à®¯à®¾à®¤à¯",
"Authentication error" => "அதà¯à®¤à®¾à®Ÿà¯à®šà®¿à®ªà¯à®ªà®Ÿà¯à®¤à¯à®¤à®²à®¿à®²à¯ வழà¯",
"Unable to delete user" => "பயனாளரை நீகà¯à®• à®®à¯à®Ÿà®¿à®¯à®¾à®¤à¯",
"Language changed" => "மொழி மாறà¯à®±à®ªà¯à®ªà®Ÿà¯à®Ÿà®¤à¯",
+"Invalid request" => "செலà¯à®²à¯à®ªà®Ÿà®¿à®¯à®±à¯à®± வேணà¯à®Ÿà¯à®•ோளà¯",
"Unable to add user to group %s" => "கà¯à®´à¯ %s இல௠பயனாளரை சேரà¯à®•à¯à®• à®®à¯à®Ÿà®¿à®¯à®¾à®¤à¯",
"Unable to remove user from group %s" => "கà¯à®´à¯ %s இலிரà¯à®¨à¯à®¤à¯ பயனாளரை நீகà¯à®•à®®à¯à®Ÿà®¿à®¯à®¾à®¤à¯",
"Disable" => "இயலà¯à®®à¯ˆà®ªà¯à®ª",
@@ -40,9 +39,7 @@
"Name" => "பெயரà¯",
"Groups" => "கà¯à®´à¯à®•à¯à®•ளà¯",
"Create" => "உரà¯à®µà®¾à®•à¯à®•à¯à®•",
-"Default Quota" => "பொத௠இரà¯à®ªà¯à®ªà¯ பஙà¯à®•à¯",
"Other" => "மறà¯à®±à®µà¯ˆ",
"Group Admin" => "கà¯à®´à¯ நிரà¯à®µà®¾à®•ி",
-"Quota" => "பஙà¯à®•à¯",
"Delete" => "அழிகà¯à®•"
);
diff --git a/settings/l10n/th_TH.php b/settings/l10n/th_TH.php
index 063ec8733ae..c0c606662e5 100644
--- a/settings/l10n/th_TH.php
+++ b/settings/l10n/th_TH.php
@@ -5,12 +5,12 @@
"Could not enable app. " => "ไม่สามารถเปิดใช้งานà¹à¸­à¸›à¹„ด้",
"Email saved" => "อีเมลถูà¸à¸šà¸±à¸™à¸—ึà¸à¹à¸¥à¹‰à¸§",
"Invalid email" => "อีเมลไม่ถูà¸à¸•้อง",
-"OpenID Changed" => "เปลี่ยนชื่อบัà¸à¸Šà¸µ OpenID à¹à¸¥à¹‰à¸§",
-"Invalid request" => "คำร้องขอไม่ถูà¸à¸•้อง",
"Unable to delete group" => "ไม่สามารถลบà¸à¸¥à¸¸à¹ˆà¸¡à¹„ด้",
"Authentication error" => "เà¸à¸´à¸”ข้อผิดพลาดเà¸à¸µà¹ˆà¸¢à¸§à¸à¸±à¸šà¸ªà¸´à¸—ธิ์à¸à¸²à¸£à¹€à¸‚้าใช้งาน",
"Unable to delete user" => "ไม่สามารถลบผู้ใช้งานได้",
"Language changed" => "เปลี่ยนภาษาเรียบร้อยà¹à¸¥à¹‰à¸§",
+"Invalid request" => "คำร้องขอไม่ถูà¸à¸•้อง",
+"Admins can't remove themself from the admin group" => "ผู้ดูà¹à¸¥à¸£à¸°à¸šà¸šà¹„ม่สามารถลบตัวเองออà¸à¸ˆà¸²à¸à¸à¸¥à¸¸à¹ˆà¸¡à¸œà¸¹à¹‰à¸”ูà¹à¸¥à¹„ด้",
"Unable to add user to group %s" => "ไม่สามารถเพิ่มผู้ใช้งานเข้าไปที่à¸à¸¥à¸¸à¹ˆà¸¡ %s ได้",
"Unable to remove user from group %s" => "ไม่สามารถลบผู้ใช้งานออà¸à¸ˆà¸²à¸à¸à¸¥à¸¸à¹ˆà¸¡ %s ได้",
"Disable" => "ปิดใช้งาน",
@@ -22,8 +22,17 @@
"Select an App" => "เลือภApp",
"See application page at apps.owncloud.com" => "ดูหน้าà¹à¸­à¸žà¸žà¸¥à¸´à¹€à¸„ชั่นที่ apps.owncloud.com",
"<span class=\"licence\"></span>-licensed by <span class=\"author\"></span>" => "<span class=\"licence\"></span>-ลิขสิทธิ์à¸à¸²à¸£à¹ƒà¸Šà¹‰à¸‡à¸²à¸™à¹‚ดย <span class=\"author\"></span>",
+"User Documentation" => "เอà¸à¸ªà¸²à¸£à¸„ู่มือà¸à¸²à¸£à¹ƒà¸Šà¹‰à¸‡à¸²à¸™à¸ªà¸³à¸«à¸£à¸±à¸šà¸œà¸¹à¹‰à¹ƒà¸Šà¹‰à¸‡à¸²à¸™",
+"Administrator Documentation" => "เอà¸à¸ªà¸²à¸£à¸„ู่มือà¸à¸²à¸£à¹ƒà¸Šà¹‰à¸‡à¸²à¸™à¸ªà¸³à¸«à¸£à¸±à¸šà¸œà¸¹à¹‰à¸”ูà¹à¸¥à¸£à¸°à¸šà¸š",
+"Online Documentation" => "เอà¸à¸ªà¸²à¸£à¸„ู่มือà¸à¸²à¸£à¹ƒà¸Šà¹‰à¸‡à¸²à¸™à¸­à¸­à¸™à¹„ลน์",
+"Forum" => "à¸à¸£à¸°à¸”านสนทนา",
+"Bugtracker" => "Bugtracker",
+"Commercial Support" => "บริà¸à¸²à¸£à¸¥à¸¹à¸à¸„้าà¹à¸šà¸šà¹€à¸ªà¸µà¸¢à¸„่าใช้จ่าย",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" => "คุณได้ใช้งานไปà¹à¸¥à¹‰à¸§ <strong>%s</strong> จาà¸à¸ˆà¸³à¸™à¸§à¸™à¸—ี่สามารถใช้ได้ <strong>%s</strong>",
"Clients" => "ลูà¸à¸„้า",
+"Download Desktop Clients" => "ดาวน์โหลดโปรà¹à¸à¸£à¸¡à¹„คลเอนต์สำหรับเครื่องเดสà¸à¹Œà¸—็อป",
+"Download Android Client" => "ดาวน์โหลดโปรà¹à¸à¸£à¸¡à¹„คลเอนต์สำหรับà¹à¸­à¸™à¸”รอยด์",
+"Download iOS Client" => "ดาวน์โหลดโปรà¹à¸à¸£à¸¡à¹„คลเอนต์สำหรับ iOS",
"Password" => "รหัสผ่าน",
"Your password was changed" => "รหัสผ่านของคุณถูà¸à¹€à¸›à¸¥à¸µà¹ˆà¸¢à¸™à¹à¸¥à¹‰à¸§",
"Unable to change your password" => "ไม่สามารถเปลี่ยนรหัสผ่านของคุณได้",
@@ -36,13 +45,18 @@
"Fill in an email address to enable password recovery" => "à¸à¸£à¸­à¸à¸—ี่อยู่อีเมล์ของคุณเพื่อเปิดให้มีà¸à¸²à¸£à¸à¸¹à¹‰à¸„ืนรหัสผ่านได้",
"Language" => "ภาษา",
"Help translate" => "ช่วยà¸à¸±à¸™à¹à¸›à¸¥",
+"WebDAV" => "WebDAV",
+"Use this address to connect to your ownCloud in your file manager" => "ใช้ที่อยู่นี้เพื่อเชื่อมต่อà¸à¸±à¸š ownCloud ในโปรà¹à¸à¸£à¸¡à¸ˆà¸±à¸”à¸à¸²à¸£à¹„ฟล์ของคุณ",
+"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>." => "พัฒนาโดย the <a href=\"http://ownCloud.org/contact\" target=\"_blank\">ชุมชนผู้ใช้งาน ownCloud</a>, the <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>.",
"Name" => "ชื่อ",
"Groups" => "à¸à¸¥à¸¸à¹ˆà¸¡",
"Create" => "สร้าง",
-"Default Quota" => "โควต้าที่à¸à¸³à¸«à¸™à¸”ไว้เริ่มต้น",
+"Default Storage" => "พื้นที่จำà¸à¸±à¸”ข้อมูลเริ่มต้น",
+"Unlimited" => "ไม่จำà¸à¸±à¸”จำนวน",
"Other" => "อื่นๆ",
"Group Admin" => "ผู้ดูà¹à¸¥à¸à¸¥à¸¸à¹ˆà¸¡",
-"Quota" => "พื้นที่",
+"Storage" => "พื้นที่จัดเà¸à¹‡à¸šà¸‚้อมูล",
+"Default" => "ค่าเริ่มต้น",
"Delete" => "ลบ"
);
diff --git a/settings/l10n/tr.php b/settings/l10n/tr.php
index f8acb9b28f2..f754bb90fcf 100644
--- a/settings/l10n/tr.php
+++ b/settings/l10n/tr.php
@@ -5,12 +5,11 @@
"Could not enable app. " => "Uygulama devreye alınamadı",
"Email saved" => "Eposta kaydedildi",
"Invalid email" => "Geçersiz eposta",
-"OpenID Changed" => "OpenID DeÄŸiÅŸtirildi",
-"Invalid request" => "Geçersiz istek",
"Unable to delete group" => "Grup silinemiyor",
"Authentication error" => "EÅŸleÅŸme hata",
"Unable to delete user" => "Kullanıcı silinemiyor",
"Language changed" => "Dil deÄŸiÅŸtirildi",
+"Invalid request" => "Geçersiz istek",
"Unable to add user to group %s" => "Kullanıcı %s grubuna eklenemiyor",
"Disable" => "Etkin deÄŸil",
"Enable" => "Etkin",
@@ -20,7 +19,16 @@
"More Apps" => "Daha fazla App",
"Select an App" => "Bir uygulama seçin",
"See application page at apps.owncloud.com" => "Uygulamanın sayfasına apps.owncloud.com adresinden bakın ",
+"User Documentation" => "Kullanıcı Belgelendirmesi",
+"Administrator Documentation" => "Yönetici Belgelendirmesi",
+"Online Documentation" => "Çevrimiçi Belgelendirme",
+"Forum" => "Forum",
+"Bugtracker" => "Hata Takip Sistemi",
+"Commercial Support" => "Ticari Destek",
"Clients" => "Müşteriler",
+"Download Desktop Clients" => "Masaüstü İstemcilerini İndir",
+"Download Android Client" => "Android İstemcisini İndir",
+"Download iOS Client" => "iOS İstemcisini İndir",
"Password" => "Parola",
"Your password was changed" => "Åžifreniz deÄŸiÅŸtirildi",
"Unable to change your password" => "Parolanız değiştirilemiyor",
@@ -33,13 +41,13 @@
"Fill in an email address to enable password recovery" => "Parola sıfırlamayı aktifleştirmek için eposta adresi girin",
"Language" => "Dil",
"Help translate" => "Çevirilere yardım edin",
+"WebDAV" => "WebDAV",
+"Version" => "Sürüm",
"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>." => "Geliştirilen Taraf<a href=\"http://ownCloud.org/contact\" target=\"_blank\">ownCloud community</a>, the <a href=\"https://github.com/owncloud\" target=\"_blank\">source code</a> is altında lisanslanmıştır <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>.",
"Name" => "Ad",
"Groups" => "Gruplar",
"Create" => "OluÅŸtur",
-"Default Quota" => "Varsayılan Kota",
"Other" => "DiÄŸer",
"Group Admin" => "Yönetici Grubu ",
-"Quota" => "Kota",
"Delete" => "Sil"
);
diff --git a/settings/l10n/uk.php b/settings/l10n/uk.php
index b9f48b2e881..19b84edfc78 100644
--- a/settings/l10n/uk.php
+++ b/settings/l10n/uk.php
@@ -5,12 +5,11 @@
"Could not enable app. " => "Ðе вдалоÑÑ Ð°ÐºÑ‚Ð¸Ð²ÑƒÐ²Ð°Ñ‚Ð¸ програму. ",
"Email saved" => "ÐдреÑу збережено",
"Invalid email" => "Ðевірна адреÑа",
-"OpenID Changed" => "OpenID змінено",
-"Invalid request" => "Помилковий запит",
"Unable to delete group" => "Ðе вдалоÑÑ Ð²Ð¸Ð´Ð°Ð»Ð¸Ñ‚Ð¸ групу",
"Authentication error" => "Помилка автентифікації",
"Unable to delete user" => "Ðе вдалоÑÑ Ð²Ð¸Ð´Ð°Ð»Ð¸Ñ‚Ð¸ кориÑтувача",
"Language changed" => "Мова змінена",
+"Invalid request" => "Помилковий запит",
"Admins can't remove themself from the admin group" => "ÐдмініÑтратор не може видалити Ñебе з групи адмінів",
"Unable to add user to group %s" => "Ðе вдалоÑÑ Ð´Ð¾Ð´Ð°Ñ‚Ð¸ кориÑтувача у групу %s",
"Unable to remove user from group %s" => "Ðе вдалоÑÑ Ð²Ð¸Ð´Ð°Ð»Ð¸Ñ‚Ð¸ кориÑтувача із групи %s",
@@ -53,9 +52,11 @@
"Name" => "Ім'Ñ",
"Groups" => "Групи",
"Create" => "Створити",
-"Default Quota" => "Квота за замовчуваннÑм",
+"Default Storage" => "Ñховище за замовчуваннÑм",
+"Unlimited" => "Ðеобмежено",
"Other" => "Інше",
"Group Admin" => "ÐдмініÑтратор групи",
-"Quota" => "Квота",
+"Storage" => "Сховище",
+"Default" => "За замовчуваннÑм",
"Delete" => "Видалити"
);
diff --git a/settings/l10n/vi.php b/settings/l10n/vi.php
index 50259953acd..2354ba2a16e 100644
--- a/settings/l10n/vi.php
+++ b/settings/l10n/vi.php
@@ -5,12 +5,11 @@
"Could not enable app. " => "không thể kích hoạt ứng dụng.",
"Email saved" => "Lưu email",
"Invalid email" => "Email không hợp lệ",
-"OpenID Changed" => "Äổi OpenID",
-"Invalid request" => "Yêu cầu không hợp lệ",
"Unable to delete group" => "Không thể xóa nhóm",
"Authentication error" => "Lỗi xác thực",
"Unable to delete user" => "Không thể xóa ngưá»i dùng",
"Language changed" => "Ngôn ngữ đã được thay đổi",
+"Invalid request" => "Yêu cầu không hợp lệ",
"Admins can't remove themself from the admin group" => "Quản trị viên không thể loại bá» chính há» khá»i nhóm quản lý",
"Unable to add user to group %s" => "Không thể thêm ngưá»i dùng vào nhóm %s",
"Unable to remove user from group %s" => "Không thể xóa ngưá»i dùng từ nhóm %s",
@@ -41,9 +40,7 @@
"Name" => "Tên",
"Groups" => "Nhóm",
"Create" => "Tạo",
-"Default Quota" => "Hạn ngạch mặt định",
"Other" => "Khác",
"Group Admin" => "Nhóm quản trị",
-"Quota" => "Hạn ngạch",
"Delete" => "Xóa"
);
diff --git a/settings/l10n/zh_CN.GB2312.php b/settings/l10n/zh_CN.GB2312.php
index cd6610d5a17..b34b20d5aed 100644
--- a/settings/l10n/zh_CN.GB2312.php
+++ b/settings/l10n/zh_CN.GB2312.php
@@ -5,12 +5,11 @@
"Could not enable app. " => "未能å¯ç”¨åº”用",
"Email saved" => "Email ä¿å­˜äº†",
"Invalid email" => "éžæ³•Email",
-"OpenID Changed" => "OpenID 改å˜äº†",
-"Invalid request" => "éžæ³•请求",
"Unable to delete group" => "未能删除群组",
"Authentication error" => "认è¯é”™è¯¯",
"Unable to delete user" => "未能删除用户",
"Language changed" => "语言改å˜äº†",
+"Invalid request" => "éžæ³•请求",
"Unable to add user to group %s" => "未能添加用户到群组 %s",
"Unable to remove user from group %s" => "未能将用户从群组 %s 移除",
"Disable" => "ç¦ç”¨",
@@ -39,9 +38,7 @@
"Name" => "åå­—",
"Groups" => "组",
"Create" => "新建",
-"Default Quota" => "默认é™é¢",
"Other" => "å…¶ä»–çš„",
"Group Admin" => "群组管ç†å‘˜",
-"Quota" => "é™é¢",
"Delete" => "删除"
);
diff --git a/settings/l10n/zh_CN.php b/settings/l10n/zh_CN.php
index 99fb0b2279c..407177d2ac4 100644
--- a/settings/l10n/zh_CN.php
+++ b/settings/l10n/zh_CN.php
@@ -5,12 +5,11 @@
"Could not enable app. " => "无法开å¯App",
"Email saved" => "电å­é‚®ä»¶å·²ä¿å­˜",
"Invalid email" => "无效的电å­é‚®ä»¶",
-"OpenID Changed" => "OpenID 已修改",
-"Invalid request" => "éžæ³•请求",
"Unable to delete group" => "无法删除组",
"Authentication error" => "认è¯é”™è¯¯",
"Unable to delete user" => "无法删除用户",
"Language changed" => "语言已修改",
+"Invalid request" => "éžæ³•请求",
"Admins can't remove themself from the admin group" => "管ç†å‘˜ä¸èƒ½å°†è‡ªå·±ç§»å‡ºç®¡ç†ç»„。",
"Unable to add user to group %s" => "无法把用户添加到组 %s",
"Unable to remove user from group %s" => "无法从组%s中移除用户",
@@ -53,9 +52,11 @@
"Name" => "åç§°",
"Groups" => "组",
"Create" => "创建",
-"Default Quota" => "默认é…é¢",
+"Default Storage" => "默认存储",
+"Unlimited" => "æ— é™",
"Other" => "其它",
"Group Admin" => "组管ç†å‘˜",
-"Quota" => "é…é¢",
+"Storage" => "存储",
+"Default" => "默认",
"Delete" => "删除"
);
diff --git a/settings/l10n/zh_TW.php b/settings/l10n/zh_TW.php
index 6589973bf99..7681b10affa 100644
--- a/settings/l10n/zh_TW.php
+++ b/settings/l10n/zh_TW.php
@@ -5,12 +5,11 @@
"Could not enable app. " => "未能啟動此app",
"Email saved" => "Email已儲存",
"Invalid email" => "無效的email",
-"OpenID Changed" => "OpenID 已變更",
-"Invalid request" => "無效請求",
"Unable to delete group" => "群組刪除錯誤",
"Authentication error" => "èªè­‰éŒ¯èª¤",
"Unable to delete user" => "使用者刪除錯誤",
"Language changed" => "語言已變更",
+"Invalid request" => "無效請求",
"Admins can't remove themself from the admin group" => "管ç†è€…帳號無法從管ç†è€…群組中移除",
"Unable to add user to group %s" => "使用者加入群組%s錯誤",
"Unable to remove user from group %s" => "使用者移出群組%s錯誤",
@@ -23,8 +22,17 @@
"Select an App" => "鏿“‡ä¸€å€‹æ‡‰ç”¨ç¨‹å¼",
"See application page at apps.owncloud.com" => "查看應用程å¼é é¢æ–¼ apps.owncloud.com",
"<span class=\"licence\"></span>-licensed by <span class=\"author\"></span>" => "<span class=\"licence\"></span>-核准: <span class=\"author\"></span>",
+"User Documentation" => "用戶說明文件",
+"Administrator Documentation" => "管ç†è€…說明文件",
+"Online Documentation" => "線上說明文件",
+"Forum" => "論壇",
+"Bugtracker" => "Bugtracker",
+"Commercial Support" => "商用支æ´",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" => "您已經使用了 <strong>%s</strong> ,目å‰å¯ç”¨ç©ºé–“為 <strong>%s</strong>",
"Clients" => "客戶",
+"Download Desktop Clients" => "下載桌é¢å®¢æˆ¶ç«¯",
+"Download Android Client" => "下載 Android 客戶端",
+"Download iOS Client" => "下載 iOS 客戶端",
"Password" => "密碼",
"Your password was changed" => "你的密碼已更改",
"Unable to change your password" => "無法變更你的密碼",
@@ -37,13 +45,18 @@
"Fill in an email address to enable password recovery" => "請填入電å­éƒµä»¶ä¿¡ç®±ä»¥ä¾¿å›žå¾©å¯†ç¢¼",
"Language" => "語言",
"Help translate" => "幫助翻譯",
+"WebDAV" => "WebDAV",
+"Use this address to connect to your ownCloud in your file manager" => "在您的檔案管ç†å“¡ä¸­ä½¿ç”¨é€™å€‹åœ°å€ä¾†é€£ç·šåˆ° ownCloud",
+"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>許å¯è­‰ä¸‹ç™¼å¸ƒã€‚",
"Name" => "å稱",
"Groups" => "群組",
"Create" => "創造",
-"Default Quota" => "é è¨­å®¹é‡é™åˆ¶",
+"Default Storage" => "é è¨­å„²å­˜å€",
+"Unlimited" => "ç„¡é™åˆ¶",
"Other" => "å…¶ä»–",
"Group Admin" => "群組 管ç†å“¡",
-"Quota" => "容é‡é™åˆ¶",
+"Storage" => "儲存å€",
+"Default" => "é è¨­",
"Delete" => "刪除"
);
diff --git a/settings/oauth.php b/settings/oauth.php
new file mode 100644
index 00000000000..8dba9b33a53
--- /dev/null
+++ b/settings/oauth.php
@@ -0,0 +1,98 @@
+<?php
+/**
+ * Copyright (c) 2012, Tom Needham <tom@owncloud.com>
+ * This file is licensed under the Affero General Public License version 3 or later.
+ * See the COPYING-README file.
+ */
+
+require_once('../lib/base.php');
+// Logic
+$operation = isset($_GET['operation']) ? $_GET['operation'] : '';
+$server = OC_OAuth_server::init();
+
+switch($operation){
+
+ case 'register':
+
+ // Here external apps can register with an ownCloud
+ if(empty($_GET['name']) || empty($_GET['url'])){
+ // Invalid request
+ echo 401;
+ } else {
+ $callbacksuccess = empty($_GET['callback_success']) ? null : $_GET['callback_success'];
+ $callbackfail = empty($_GET['callback_fail']) ? null : $_GET['callback_fail'];
+ $consumer = OC_OAuth_Server::register_consumer($_GET['name'], $_GET['url'], $callbacksuccess, $callbackfail);
+
+ echo 'Registered consumer successfully! </br></br>Key: ' . $consumer->key . '</br>Secret: ' . $consumer->secret;
+ }
+ break;
+
+ case 'request_token':
+
+ try {
+ $request = OAuthRequest::from_request();
+ $token = $server->get_request_token($request);
+ echo $token;
+ } catch (OAuthException $exception) {
+ OC_Log::write('OC_OAuth_Server', $exception->getMessage(), OC_LOG::ERROR);
+ echo $exception->getMessage();
+ }
+
+ break;
+ case 'authorise';
+
+ OC_API::checkLoggedIn();
+ // Example
+ $consumer = array(
+ 'name' => 'Firefox Bookmark Sync',
+ 'scopes' => array('ookmarks'),
+ );
+
+ // Check that the scopes are real and installed
+ $apps = OC_App::getEnabledApps();
+ $notfound = array();
+ foreach($consumer['scopes'] as $requiredapp){
+ // App scopes are in this format: app_$appname
+ $requiredapp = end(explode('_', $requiredapp));
+ if(!in_array($requiredapp, $apps)){
+ $notfound[] = $requiredapp;
+ }
+ }
+ if(!empty($notfound)){
+ // We need more apps :( Show error
+ if(count($notfound)==1){
+ $message = 'requires that you have an extra app installed on your ownCloud. Please contact your ownCloud administrator and ask them to install the app below.';
+ } else {
+ $message = 'requires that you have some extra apps installed on your ownCloud. Please contract your ownCloud administrator and ask them to install the apps below.';
+ }
+ $t = new OC_Template('settings', 'oauth-required-apps', 'guest');
+ OC_Util::addStyle('settings', 'oauth');
+ $t->assign('requiredapps', $notfound);
+ $t->assign('consumer', $consumer);
+ $t->assign('message', $message);
+ $t->printPage();
+ } else {
+ $t = new OC_Template('settings', 'oauth', 'guest');
+ OC_Util::addStyle('settings', 'oauth');
+ $t->assign('consumer', $consumer);
+ $t->printPage();
+ }
+ break;
+
+ case 'access_token';
+ try {
+ $request = OAuthRequest::from_request();
+ $token = $server->fetch_access_token($request);
+ echo $token;
+ } catch (OAuthException $exception) {
+ OC_Log::write('OC_OAuth_Server', $exception->getMessage(), OC_LOG::ERROR);
+ echo $exception->getMessage();
+ }
+
+ break;
+ default:
+ // Something went wrong, we need an operation!
+ OC_Response::setStatus(400);
+ break;
+
+}
diff --git a/settings/personal.php b/settings/personal.php
index 47dbcc53ebc..4624bda8397 100644
--- a/settings/personal.php
+++ b/settings/personal.php
@@ -15,15 +15,7 @@ OC_Util::addScript( '3rdparty', 'chosen/chosen.jquery.min' );
OC_Util::addStyle( '3rdparty', 'chosen' );
OC_App::setActiveNavigationEntry( 'personal' );
-// calculate the disc space
-$rootInfo=OC_FileCache::get('');
-$sharedInfo=OC_FileCache::get('/Shared');
-$used=$rootInfo['size'];
-if($used<0) $used=0;
-$free=OC_Filesystem::free_space();
-$total=$free+$used;
-if($total==0) $total=1; // prevent division by zero
-$relative=round(($used/$total)*10000)/100;
+$storageInfo=OC_Helper::getStorageInfo();
$email=OC_Preferences::getValue(OC_User::getUser(), 'settings', 'email', '');
@@ -50,9 +42,9 @@ foreach($languageCodes as $lang) {
// Return template
$tmpl = new OC_Template( 'settings', 'personal', 'user');
-$tmpl->assign('usage', OC_Helper::humanFileSize($used));
-$tmpl->assign('total_space', OC_Helper::humanFileSize($total));
-$tmpl->assign('usage_relative', $relative);
+$tmpl->assign('usage', OC_Helper::humanFileSize($storageInfo['used']));
+$tmpl->assign('total_space', OC_Helper::humanFileSize($storageInfo['total']));
+$tmpl->assign('usage_relative', $storageInfo['relative']);
$tmpl->assign('email', $email);
$tmpl->assign('languages', $languages);
diff --git a/settings/routes.php b/settings/routes.php
index 8239fe005db..1c766837dd1 100644
--- a/settings/routes.php
+++ b/settings/routes.php
@@ -53,12 +53,14 @@ $this->create('settings_ajax_disableapp', '/settings/ajax/disableapp.php')
->actionInclude('settings/ajax/disableapp.php');
$this->create('settings_ajax_navigationdetect', '/settings/ajax/navigationdetect.php')
->actionInclude('settings/ajax/navigationdetect.php');
+$this->create('apps_custom', '/settings/js/apps-custom.js')
+ ->actionInclude('settings/js/apps-custom.php');
// admin
$this->create('settings_ajax_getlog', '/settings/ajax/getlog.php')
->actionInclude('settings/ajax/getlog.php');
$this->create('settings_ajax_setloglevel', '/settings/ajax/setloglevel.php')
->actionInclude('settings/ajax/setloglevel.php');
-
-// apps/user_openid
-$this->create('settings_ajax_openid', '/settings/ajax/openid.php')
- ->actionInclude('settings/ajax/openid.php');
+$this->create('settings_ajax_setsecurity', '/settings/ajax/setsecurity.php')
+ ->actionInclude('settings/ajax/setsecurity.php');
+$this->create('isadmin', '/settings/js/isadmin.js')
+ ->actionInclude('settings/js/isadmin.php');
diff --git a/settings/settings.php b/settings/settings.php
index add94b5b011..1e05452ec4d 100644
--- a/settings/settings.php
+++ b/settings/settings.php
@@ -6,7 +6,6 @@
*/
OC_Util::checkLoggedIn();
-OC_Util::verifyUser();
OC_App::loadApps();
OC_Util::addStyle( 'settings', 'settings' );
diff --git a/settings/templates/admin.php b/settings/templates/admin.php
index 26335063d4b..0097489743f 100644
--- a/settings/templates/admin.php
+++ b/settings/templates/admin.php
@@ -10,13 +10,13 @@ $levels = array('Debug', 'Info', 'Warning', 'Error', 'Fatal');
// is htaccess working ?
if (!$_['htaccessworking']) {
- ?>
+ ?>
<fieldset class="personalblock">
- <legend><strong><?php echo $l->t('Security Warning');?></strong></legend>
+ <legend><strong><?php echo $l->t('Security Warning');?></strong></legend>
<span class="securitywarning">
- <?php echo $l->t('Your data directory and your files are probably accessible from the internet. The .htaccess file that ownCloud provides 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.'); ?>
- </span>
+ <?php echo $l->t('Your data directory and your files are probably accessible from the internet. The .htaccess file that ownCloud provides 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.'); ?>
+ </span>
</fieldset>
<?php
@@ -24,13 +24,13 @@ if (!$_['htaccessworking']) {
// is locale working ?
if (!$_['islocaleworking']) {
- ?>
+ ?>
<fieldset class="personalblock">
- <legend><strong><?php echo $l->t('Locale not working');?></strong></legend>
+ <legend><strong><?php echo $l->t('Locale not working');?></strong></legend>
- <span class="connectionwarning">
- <?php echo $l->t('This ownCloud server can\'t set system locale to "en_US.UTF-8". 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 en_US.UTF-8.'); ?>
- </span>
+ <span class="connectionwarning">
+ <?php echo $l->t('This ownCloud server can\'t set system locale to "en_US.UTF-8". 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 en_US.UTF-8.'); ?>
+ </span>
</fieldset>
<?php
@@ -38,13 +38,13 @@ if (!$_['islocaleworking']) {
// is internet connection working ?
if (!$_['internetconnectionworking']) {
- ?>
+ ?>
<fieldset class="personalblock">
- <legend><strong><?php echo $l->t('Internet connection not working');?></strong></legend>
+ <legend><strong><?php echo $l->t('Internet connection not working');?></strong></legend>
- <span class="connectionwarning">
- <?php echo $l->t('This ownCloud 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 of ownCloud.'); ?>
- </span>
+ <span class="connectionwarning">
+ <?php echo $l->t('This ownCloud 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 of ownCloud.'); ?>
+ </span>
</fieldset>
<?php
@@ -52,125 +52,152 @@ if (!$_['internetconnectionworking']) {
?>
<?php foreach ($_['forms'] as $form) {
- echo $form;
+ echo $form;
}
;?>
<fieldset class="personalblock" id="backgroundjobs">
- <legend><strong><?php echo $l->t('Cron');?></strong></legend>
- <table class="nostyle">
- <tr>
- <td>
- <input type="radio" name="mode" value="ajax"
- id="backgroundjobs_ajax" <?php if ($_['backgroundjobs_mode'] == "ajax") {
- echo 'checked="checked"';
- } ?>>
- <label for="backgroundjobs_ajax">AJAX</label><br/>
- <em><?php echo $l->t("Execute one task with each page loaded"); ?></em>
- </td>
- </tr>
- <tr>
- <td>
- <input type="radio" name="mode" value="webcron"
- id="backgroundjobs_webcron" <?php if ($_['backgroundjobs_mode'] == "webcron") {
- echo 'checked="checked"';
- } ?>>
- <label for="backgroundjobs_webcron">Webcron</label><br/>
- <em><?php echo $l->t("cron.php is registered at a webcron service. Call the cron.php page in the owncloud root once a minute over http."); ?></em>
- </td>
- </tr>
- <tr>
- <td>
- <input type="radio" name="mode" value="cron"
- id="backgroundjobs_cron" <?php if ($_['backgroundjobs_mode'] == "cron") {
- echo 'checked="checked"';
- } ?>>
- <label for="backgroundjobs_cron">Cron</label><br/>
- <em><?php echo $l->t("Use systems cron service. Call the cron.php file in the owncloud folder via a system cronjob once a minute."); ?></em>
- </td>
- </tr>
- </table>
+ <legend><strong><?php echo $l->t('Cron');?></strong></legend>
+ <table class="nostyle">
+ <tr>
+ <td>
+ <input type="radio" name="mode" value="ajax"
+ id="backgroundjobs_ajax" <?php if ($_['backgroundjobs_mode'] == "ajax") {
+ echo 'checked="checked"';
+ } ?>>
+ <label for="backgroundjobs_ajax">AJAX</label><br/>
+ <em><?php echo $l->t("Execute one task with each page loaded"); ?></em>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <input type="radio" name="mode" value="webcron"
+ id="backgroundjobs_webcron" <?php if ($_['backgroundjobs_mode'] == "webcron") {
+ echo 'checked="checked"';
+ } ?>>
+ <label for="backgroundjobs_webcron">Webcron</label><br/>
+ <em><?php echo $l->t("cron.php is registered at a webcron service. Call the cron.php page in the owncloud root once a minute over http."); ?></em>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <input type="radio" name="mode" value="cron"
+ id="backgroundjobs_cron" <?php if ($_['backgroundjobs_mode'] == "cron") {
+ echo 'checked="checked"';
+ } ?>>
+ <label for="backgroundjobs_cron">Cron</label><br/>
+ <em><?php echo $l->t("Use systems cron service. Call the cron.php file in the owncloud folder via a system cronjob once a minute."); ?></em>
+ </td>
+ </tr>
+ </table>
</fieldset>
<fieldset class="personalblock" id="shareAPI">
- <legend><strong><?php echo $l->t('Sharing');?></strong></legend>
- <table class="shareAPI nostyle">
- <tr>
- <td id="enable">
- <input type="checkbox" name="shareapi_enabled" id="shareAPIEnabled"
- value="1" <?php if ($_['shareAPIEnabled'] == 'yes') echo 'checked="checked"'; ?> />
- <label for="shareAPIEnabled"><?php echo $l->t('Enable Share API');?></label><br/>
- <em><?php echo $l->t('Allow apps to use the Share API'); ?></em>
- </td>
- </tr>
- <tr>
- <td <?php if ($_['shareAPIEnabled'] == 'no') echo 'style="display:none"';?>>
- <input type="checkbox" name="shareapi_allow_links" id="allowLinks"
- value="1" <?php if ($_['allowLinks'] == 'yes') echo 'checked="checked"'; ?> />
- <label for="allowLinks"><?php echo $l->t('Allow links');?></label><br/>
- <em><?php echo $l->t('Allow users to share items to the public with links'); ?></em>
- </td>
- </tr>
- <tr>
- <td <?php if ($_['shareAPIEnabled'] == 'no') echo 'style="display:none"';?>>
- <input type="checkbox" name="shareapi_allow_resharing" id="allowResharing"
- value="1" <?php if ($_['allowResharing'] == 'yes') echo 'checked="checked"'; ?> />
- <label for="allowResharing"><?php echo $l->t('Allow resharing');?></label><br/>
- <em><?php echo $l->t('Allow users to share items shared with them again'); ?></em>
- </td>
- </tr>
- <tr>
- <td <?php if ($_['shareAPIEnabled'] == 'no') echo 'style="display:none"';?>>
- <input type="radio" name="shareapi_share_policy" id="sharePolicyGlobal"
- value="global" <?php if ($_['sharePolicy'] == 'global') echo 'checked="checked"'; ?> />
- <label for="sharePolicyGlobal"><?php echo $l->t('Allow users to share with anyone'); ?></label><br/>
- <input type="radio" name="shareapi_share_policy" id="sharePolicyGroupsOnly"
- value="groups_only" <?php if ($_['sharePolicy'] == 'groups_only') echo 'checked="checked"'; ?> />
- <label for="sharePolicyGroupsOnly"><?php echo $l->t('Allow users to only share with users in their groups');?></label><br/>
- </td>
- </tr>
- </table>
+ <legend><strong><?php echo $l->t('Sharing');?></strong></legend>
+ <table class="shareAPI nostyle">
+ <tr>
+ <td id="enable">
+ <input type="checkbox" name="shareapi_enabled" id="shareAPIEnabled"
+ value="1" <?php if ($_['shareAPIEnabled'] == 'yes') echo 'checked="checked"'; ?> />
+ <label for="shareAPIEnabled"><?php echo $l->t('Enable Share API');?></label><br/>
+ <em><?php echo $l->t('Allow apps to use the Share API'); ?></em>
+ </td>
+ </tr>
+ <tr>
+ <td <?php if ($_['shareAPIEnabled'] == 'no') echo 'style="display:none"';?>>
+ <input type="checkbox" name="shareapi_allow_links" id="allowLinks"
+ value="1" <?php if ($_['allowLinks'] == 'yes') echo 'checked="checked"'; ?> />
+ <label for="allowLinks"><?php echo $l->t('Allow links');?></label><br/>
+ <em><?php echo $l->t('Allow users to share items to the public with links'); ?></em>
+ </td>
+ </tr>
+ <tr>
+ <td <?php if ($_['shareAPIEnabled'] == 'no') echo 'style="display:none"';?>>
+ <input type="checkbox" name="shareapi_allow_resharing" id="allowResharing"
+ value="1" <?php if ($_['allowResharing'] == 'yes') echo 'checked="checked"'; ?> />
+ <label for="allowResharing"><?php echo $l->t('Allow resharing');?></label><br/>
+ <em><?php echo $l->t('Allow users to share items shared with them again'); ?></em>
+ </td>
+ </tr>
+ <tr>
+ <td <?php if ($_['shareAPIEnabled'] == 'no') echo 'style="display:none"';?>>
+ <input type="radio" name="shareapi_share_policy" id="sharePolicyGlobal"
+ value="global" <?php if ($_['sharePolicy'] == 'global') echo 'checked="checked"'; ?> />
+ <label for="sharePolicyGlobal"><?php echo $l->t('Allow users to share with anyone'); ?></label><br/>
+ <input type="radio" name="shareapi_share_policy" id="sharePolicyGroupsOnly"
+ value="groups_only" <?php if ($_['sharePolicy'] == 'groups_only') echo 'checked="checked"'; ?> />
+ <label for="sharePolicyGroupsOnly"><?php echo $l->t('Allow users to only share with users in their groups');?></label><br/>
+ </td>
+ </tr>
+ </table>
+</fieldset>
+
+<fieldset class="personalblock" id="security">
+ <legend><strong><?php echo $l->t('Security');?></strong></legend>
+ <table class="nostyle">
+ <tr>
+ <td id="enable">
+ <input type="checkbox" name="forcessl" id="enforceHTTPSEnabled"
+ <?php if ($_['enforceHTTPSEnabled']) {
+ echo 'checked="checked" ';
+ echo 'value="false"';
+ } else {
+ echo 'value="true"';
+ }
+ ?>
+ <?php if (!$_['isConnectedViaHTTPS']) echo 'disabled'; ?> />
+ <label for="forcessl"><?php echo $l->t('Enforce HTTPS');?></label><br/>
+ <em><?php echo $l->t('Enforces the clients to connect to ownCloud via an encrypted connection.'); ?></em>
+ <?php if (!$_['isConnectedViaHTTPS']) {
+ echo "<br/><em>";
+ echo $l->t('Please connect to this ownCloud instance via HTTPS to enable or disable the SSL enforcement.');
+ echo "</em>";
+ }
+ ?>
+ </td>
+ </tr>
+ </table>
</fieldset>
<fieldset class="personalblock">
- <legend><strong><?php echo $l->t('Log');?></strong></legend>
- <?php echo $l->t('Log level');?> <select name='loglevel' id='loglevel'>
- <option value='<?php echo $_['loglevel']?>'><?php echo $levels[$_['loglevel']]?></option>
- <?php for ($i = 0; $i < 5; $i++):
- if ($i != $_['loglevel']):?>
- <option value='<?php echo $i?>'><?php echo $levels[$i]?></option>
- <?php endif;
+ <legend><strong><?php echo $l->t('Log');?></strong></legend>
+ <?php echo $l->t('Log level');?> <select name='loglevel' id='loglevel'>
+ <option value='<?php echo $_['loglevel']?>'><?php echo $levels[$_['loglevel']]?></option>
+ <?php for ($i = 0; $i < 5; $i++):
+ if ($i != $_['loglevel']):?>
+ <option value='<?php echo $i?>'><?php echo $levels[$i]?></option>
+ <?php endif;
endfor;?>
</select>
- <table id='log'>
- <?php foreach ($_['entries'] as $entry): ?>
- <tr>
- <td>
- <?php echo $levels[$entry->level];?>
- </td>
- <td>
- <?php echo $entry->app;?>
- </td>
- <td>
- <?php echo $entry->message;?>
- </td>
- <td>
- <?php echo OC_Util::formatDate($entry->time);?>
- </td>
- </tr>
- <?php endforeach;?>
- </table>
- <?php if ($_['entriesremain']): ?>
- <input id='moreLog' type='button' value='<?php echo $l->t('More');?>...'></input>
- <?php endif; ?>
+ <table id='log'>
+ <?php foreach ($_['entries'] as $entry): ?>
+ <tr>
+ <td>
+ <?php echo $levels[$entry->level];?>
+ </td>
+ <td>
+ <?php echo $entry->app;?>
+ </td>
+ <td>
+ <?php echo $entry->message;?>
+ </td>
+ <td>
+ <?php echo OC_Util::formatDate($entry->time);?>
+ </td>
+ </tr>
+ <?php endforeach;?>
+ </table>
+ <?php if ($_['entriesremain']): ?>
+ <input id='moreLog' type='button' value='<?php echo $l->t('More');?>...'>
+ <?php endif; ?>
</fieldset>
<fieldset class="personalblock">
- <legend><strong><?php echo $l->t('Version');?></strong></legend>
- <strong>ownCloud</strong> <?php echo(OC_Util::getVersionString()); ?> <?php echo(OC_Util::getEditionString()); ?>
- (<?php echo(OC_Updater::ShowUpdatingHint()); ?>)<br/>
- <?php echo $l->t('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>.'); ?>
+ <legend><strong><?php echo $l->t('Version');?></strong></legend>
+ <strong>ownCloud</strong> <?php echo(OC_Util::getVersionString()); ?> <?php echo(OC_Util::getEditionString()); ?>
+ (<?php echo(OC_Updater::ShowUpdatingHint()); ?>)<br/>
+ <?php echo $l->t('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>.'); ?>
</fieldset>
diff --git a/settings/templates/apps.php b/settings/templates/apps.php
index 38e2af8a51a..d418b9a66a1 100644
--- a/settings/templates/apps.php
+++ b/settings/templates/apps.php
@@ -3,9 +3,9 @@
* This file is licensed under the Affero General Public License version 3 or later.
* See the COPYING-README file.
*/?>
-<script type='text/javascript'>
- var appid = '<?php echo $_['appid']; ?>';
-</script>
+ <script type="text/javascript" src="<?php echo OC_Helper::linkToRoute('apps_custom');?>?appid=<?php echo $_['appid']; ?>"></script>
+ <script type="text/javascript" src="<?php echo OC_Helper::linkTo('settings/js', 'apps.js');?>"></script>
+
<div id="controls">
<a class="button" target="_blank" href="http://owncloud.org/dev/apps/getting-started/"><?php echo $l->t('Add your App');?></a>
<a class="button" target="_blank" href="http://apps.owncloud.com"><?php echo $l->t('More Apps');?></a>
@@ -15,9 +15,6 @@
<li <?php if($app['active']) echo 'class="active"'?> data-id="<?php echo $app['id'] ?>" <?php if ( isset( $app['ocs_id'] ) ) { echo "data-id-ocs=\"{$app['ocs_id']}\""; } ?>
data-type="<?php echo $app['internal'] ? 'internal' : 'external' ?>" data-installed="1">
<a class="app<?php if(!$app['internal']) echo ' externalapp' ?>" href="?appid=<?php echo $app['id'] ?>"><?php echo htmlentities($app['name']) ?></a>
- <script type="application/javascript">
- appData_<?php echo $app['id'] ?>=<?php OC_JSON::encodedPrint($app, false) ?>;
- </script>
<?php if(!$app['internal']) echo '<small class="externalapp list">3rd party</small>' ?>
</li>
<?php endforeach;?>
@@ -29,7 +26,7 @@
<p class="description"></p>
<img src="" class="preview" />
<p class="appslink hidden"><a href="#" target="_blank"><?php echo $l->t('See application page at apps.owncloud.com');?></a></p>
- <p class="license hidden"><?php echo $l->t('<span class="licence"></span>-licensed by <span class="author"></span>');?></p>
+ <p class="license hidden"><?php echo $l->t('<span class="licence"></span>-licensed by <span class="author"></span>');?></p>
<input class="enable hidden" type="submit" />
</div>
-</div>
+</div> \ No newline at end of file
diff --git a/settings/templates/help.php b/settings/templates/help.php
index b697905f7ef..7383fdcf56a 100644
--- a/settings/templates/help.php
+++ b/settings/templates/help.php
@@ -1,35 +1,14 @@
<div id="controls">
- <?php if($_['admin']) { ?>
+ <?php if($_['admin']) { ?>
<a class="button newquestion <?php echo($_['style1']); ?>" href="<?php echo($_['url1']); ?>"><?php echo $l->t( 'User Documentation' ); ?></a>
- <a class="button newquestion <?php echo($_['style2']); ?>" href="<?php echo($_['url2']); ?>"><?php echo $l->t( 'Administrator Documentation' ); ?></a>
+ <a class="button newquestion <?php echo($_['style2']); ?>" href="<?php echo($_['url2']); ?>"><?php echo $l->t( 'Administrator Documentation' ); ?></a>
<?php } ?>
- <a class="button newquestion" href="http://owncloud.org/support" target="_blank"><?php echo $l->t( 'Online Documentation' ); ?></a>
- <a class="button newquestion" href="http://forum.owncloud.org" target="_blank"><?php echo $l->t( 'Forum' ); ?></a>
- <?php if($_['admin']) { ?>
+ <a class="button newquestion" href="http://owncloud.org/support" target="_blank"><?php echo $l->t( 'Online Documentation' ); ?></a>
+ <a class="button newquestion" href="http://forum.owncloud.org" target="_blank"><?php echo $l->t( 'Forum' ); ?></a>
+ <?php if($_['admin']) { ?>
<a class="button newquestion" href="https://github.com/owncloud/core/issues" target="_blank"><?php echo $l->t( 'Bugtracker' ); ?></a>
<?php } ?>
- <a class="button newquestion" href="http://owncloud.com" target="_blank"><?php echo $l->t( 'Commercial Support' ); ?></a>
+ <a class="button newquestion" href="http://owncloud.com" target="_blank"><?php echo $l->t( 'Commercial Support' ); ?></a>
</div>
<br /><br />
-<iframe src="<?php echo($_['url']); ?>" width="100%" id="ifm" ></iframe>
-
-
-<script language="JavaScript">
-<!--
-
-function pageY(elem) {
- return elem.offsetParent ? (elem.offsetTop + pageY(elem.offsetParent)) : elem.offsetTop;
-}
-var buffer = 5; //scroll bar buffer
-function resizeIframe() {
- var height = document.documentElement.clientHeight;
- height -= pageY(document.getElementById('ifm'))+ buffer ;
- height = (height < 0) ? 0 : height;
- document.getElementById('ifm').style.height = height + 'px';
-}
-
-document.getElementById('ifm').onload=resizeIframe;
-window.onresize = resizeIframe;
-
-//-->
-</script>
+<iframe src="<?php echo($_['url']); ?>" width="100%" id="ifm" ></iframe> \ No newline at end of file
diff --git a/settings/templates/oauth-required-apps.php b/settings/templates/oauth-required-apps.php
new file mode 100644
index 00000000000..d4fce54c59c
--- /dev/null
+++ b/settings/templates/oauth-required-apps.php
@@ -0,0 +1,19 @@
+<?php
+/**
+ * Copyright (c) 2012, Tom Needham <tom@owncloud.com>
+ * This file is licensed under the Affero General Public License version 3 or later.
+ * See the COPYING-README file.
+ */
+?>
+<div id="oauth-request" class="guest-container">
+ <p><strong><?php echo $_['consumer']['name'].'</strong> '.$_['message']; ?></p>
+ <ul>
+ <?php
+ // Foreach requested scope
+ foreach($_['requiredapps'] as $requiredapp){
+ echo '<li>'.$requiredapp.'</li>';
+ }
+ ?>
+ </ul>
+ <a href="<?php echo OC::$WEBROOT; ?>" id="back-home" class="button">Back to ownCloud</a>
+</div>
diff --git a/settings/templates/oauth.php b/settings/templates/oauth.php
new file mode 100644
index 00000000000..053a8aee6d3
--- /dev/null
+++ b/settings/templates/oauth.php
@@ -0,0 +1,20 @@
+<?php
+/**
+ * Copyright (c) 2012, Tom Needham <tom@owncloud.com>
+ * This file is licensed under the Affero General Public License version 3 or later.
+ * See the COPYING-README file.
+ */
+?>
+<div id="oauth-request" class="guest-container">
+ <p><strong><?php echo $_['consumer']['name']; ?></strong> is requesting your permission to read, write, modify and delete data from the following apps:</p>
+ <ul>
+ <?php
+ // Foreach requested scope
+ foreach($_['consumer']['scopes'] as $app){
+ echo '<li>'.$app.'</li>';
+ }
+ ?>
+ </ul>
+ <a href="#" class="button">Allow</a>
+ <a href="#" class="button">Disallow</a>
+</div>
diff --git a/settings/templates/personal.php b/settings/templates/personal.php
index 35eb0ef5e9a..0e1677bdea8 100644
--- a/settings/templates/personal.php
+++ b/settings/templates/personal.php
@@ -62,7 +62,7 @@
<fieldset class="personalblock">
<legend><strong><?php echo $l->t('Version');?></strong></legend>
<strong>ownCloud</strong> <?php echo(OC_Util::getVersionString()); ?> <?php echo(OC_Util::getEditionString()); ?> <br />
- <?php echo $l->t('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>.'); ?>
+ <?php echo $l->t('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>.'); ?>
</fieldset>
diff --git a/settings/templates/users.php b/settings/templates/users.php
index de7e50da8f3..c88966f7137 100644
--- a/settings/templates/users.php
+++ b/settings/templates/users.php
@@ -13,9 +13,9 @@ $items = array_flip($_['subadmingroups']);
unset($items['admin']);
$_['subadmingroups'] = array_flip($items);
?>
-<script>
-var isadmin = <?php echo $_['isadmin']?'true':'false'; ?>;
-</script>
+
+<script type="text/javascript" src="<?php echo OC_Helper::linkToRoute('isadmin');?>"></script>
+
<div id="controls">
<form id="newuser" autocomplete="off">
<input id="newusername" type="text" placeholder="<?php echo $l->t('Name')?>" /> <input
@@ -32,10 +32,15 @@ var isadmin = <?php echo $_['isadmin']?'true':'false'; ?>;
</select> <input type="submit" value="<?php echo $l->t('Create')?>" />
</form>
<div class="quota">
- <span><?php echo $l->t('Default Quota');?>:</span>
+ <span><?php echo $l->t('Default Storage');?></span>
<div class="quota-select-wrapper">
<?php if((bool) $_['isadmin']): ?>
<select class='quota'>
+ <option
+ <?php if($_['default_quota']=='none') echo 'selected="selected"';?>
+ value='none'>
+ <?php echo $l->t('Unlimited');?>
+ </option>
<?php foreach($_['quota_preset'] as $preset):?>
<?php if($preset!='default'):?>
<option
@@ -45,7 +50,7 @@ var isadmin = <?php echo $_['isadmin']?'true':'false'; ?>;
</option>
<?php endif;?>
<?php endforeach;?>
- <?php if(array_search($_['default_quota'], $_['quota_preset'])===false):?>
+ <?php if($_['defaultQuotaIsUserDefined']):?>
<option selected="selected"
value='<?php echo $_['default_quota'];?>'>
<?php echo $_['default_quota'];?>
@@ -55,7 +60,7 @@ var isadmin = <?php echo $_['isadmin']?'true':'false'; ?>;
<?php echo $l->t('Other');?>
...
</option>
- </select> <input class='quota-other'></input>
+ </select> <input class='quota-other'/>
<?php endif; ?>
<?php if((bool) !$_['isadmin']): ?>
<select class='quota' disabled="disabled">
@@ -68,8 +73,6 @@ var isadmin = <?php echo $_['isadmin']?'true':'false'; ?>;
</div>
</div>
-<div id='notification'></div>
-
<table data-groups="<?php echo implode(', ', $allGroups);?>">
<thead>
<tr>
@@ -79,7 +82,7 @@ var isadmin = <?php echo $_['isadmin']?'true':'false'; ?>;
<?php if(is_array($_['subadmins']) || $_['subadmins']): ?>
<th id="headerSubAdmins"><?php echo $l->t('Group Admin'); ?></th>
<?php endif;?>
- <th id="headerQuota"><?php echo $l->t( 'Quota' ); ?></th>
+ <th id="headerQuota"><?php echo $l->t('Storage'); ?></th>
<th id="headerRemove">&nbsp;</th>
</tr>
</thead>
@@ -122,6 +125,16 @@ var isadmin = <?php echo $_['isadmin']?'true':'false'; ?>;
<td class="quota">
<div class="quota-select-wrapper">
<select class='quota-user'>
+ <option
+ <?php if($user['quota']=='default') echo 'selected="selected"';?>
+ value='default'>
+ <?php echo $l->t('Default');?>
+ </option>
+ <option
+ <?php if($user['quota']=='none') echo 'selected="selected"';?>
+ value='none'>
+ <?php echo $l->t('Unlimited');?>
+ </option>
<?php foreach($_['quota_preset'] as $preset):?>
<option
<?php if($user['quota']==$preset) echo 'selected="selected"';?>
@@ -129,7 +142,7 @@ var isadmin = <?php echo $_['isadmin']?'true':'false'; ?>;
<?php echo $preset;?>
</option>
<?php endforeach;?>
- <?php if(array_search($user['quota'], $_['quota_preset'])===false):?>
+ <?php if($user['isQuotaUserDefined']):?>
<option selected="selected" value='<?php echo $user['quota'];?>'>
<?php echo $user['quota'];?>
</option>
@@ -138,7 +151,7 @@ var isadmin = <?php echo $_['isadmin']?'true':'false'; ?>;
<?php echo $l->t('Other');?>
...
</option>
- </select> <input class='quota-other'></input>
+ </select> <input class='quota-other'/>
</div>
</td>
<td class="remove">
@@ -151,4 +164,4 @@ var isadmin = <?php echo $_['isadmin']?'true':'false'; ?>;
</tr>
<?php endforeach; ?>
</tbody>
-</table> \ No newline at end of file
+</table>
diff --git a/settings/users.php b/settings/users.php
index 93a259f1cd8..668d974693a 100644
--- a/settings/users.php
+++ b/settings/users.php
@@ -18,7 +18,8 @@ OC_App::setActiveNavigationEntry( 'core_users' );
$users = array();
$groups = array();
-$isadmin = OC_Group::inGroup(OC_User::getUser(), 'admin')?true:false;
+$isadmin = OC_User::isAdminUser(OC_User::getUser());
+
if($isadmin) {
$accessiblegroups = OC_Group::getGroups();
$accessibleusers = OC_User::getUsers('', 30);
@@ -29,11 +30,27 @@ if($isadmin) {
$subadmins = false;
}
+// load preset quotas
+$quotaPreset=OC_Appconfig::getValue('files', 'quota_preset', '1 GB, 5 GB, 10 GB');
+$quotaPreset=explode(',', $quotaPreset);
+foreach($quotaPreset as &$preset) {
+ $preset=trim($preset);
+}
+$quotaPreset=array_diff($quotaPreset, array('default', 'none'));
+
+$defaultQuota=OC_Appconfig::getValue('files', 'default_quota', 'none');
+$defaultQuotaIsUserDefined=array_search($defaultQuota, $quotaPreset)===false && array_search($defaultQuota, array('none', 'default'))===false;
+
+// load users and quota
foreach($accessibleusers as $i) {
+ $quota=OC_Preferences::getValue($i, 'files', 'quota', 'default');
+ $isQuotaUserDefined=array_search($quota, $quotaPreset)===false && array_search($quota, array('none', 'default'))===false;
+
$users[] = array(
"name" => $i,
"groups" => join( ", ", /*array_intersect(*/OC_Group::getUserGroups($i)/*, OC_SubAdmin::getSubAdminsGroups(OC_User::getUser()))*/),
- 'quota'=>OC_Preferences::getValue($i, 'files', 'quota', 'default'),
+ 'quota'=>$quota,
+ 'isQuotaUserDefined'=>$isQuotaUserDefined,
'subadmin'=>implode(', ', OC_SubAdmin::getSubAdminsGroups($i)));
}
@@ -41,20 +58,14 @@ foreach( $accessiblegroups as $i ) {
// Do some more work here soon
$groups[] = array( "name" => $i );
}
-$quotaPreset=OC_Appconfig::getValue('files', 'quota_preset', 'default,none,1 GB, 5 GB, 10 GB');
-$quotaPreset=explode(',', $quotaPreset);
-foreach($quotaPreset as &$preset) {
- $preset=trim($preset);
-}
-
-$defaultQuota=OC_Appconfig::getValue('files', 'default_quota', 'none');
$tmpl = new OC_Template( "settings", "users", "user" );
-$tmpl->assign( "users", $users );
-$tmpl->assign( "groups", $groups );
+$tmpl->assign( 'users', $users );
+$tmpl->assign( 'groups', $groups );
$tmpl->assign( 'isadmin', (int) $isadmin);
$tmpl->assign( 'subadmins', $subadmins);
$tmpl->assign( 'numofgroups', count($accessiblegroups));
$tmpl->assign( 'quota_preset', $quotaPreset);
$tmpl->assign( 'default_quota', $defaultQuota);
+$tmpl->assign( 'defaultQuotaIsUserDefined', $defaultQuotaIsUserDefined);
$tmpl->printPage();
diff --git a/tests/bootstrap.php b/tests/bootstrap.php
index 115a15883a0..b97161ee6e4 100644
--- a/tests/bootstrap.php
+++ b/tests/bootstrap.php
@@ -8,24 +8,5 @@ if(!class_exists('PHPUnit_Framework_TestCase')) {
require_once('PHPUnit/Autoload.php');
}
-//SimpleTest compatibility
-abstract class UnitTestCase extends PHPUnit_Framework_TestCase{
- function assertEqual($expected, $actual, $string='') {
- $this->assertEquals($expected, $actual, $string);
- }
-
- function assertNotEqual($expected, $actual, $string='') {
- $this->assertNotEquals($expected, $actual, $string);
- }
-
- static function assertTrue($actual, $string='') {
- parent::assertTrue((bool)$actual, $string);
- }
-
- static function assertFalse($actual, $string='') {
- parent::assertFalse((bool)$actual, $string);
- }
-}
-
OC_Hook::clear();
OC_Log::$enabled = false;
diff --git a/tests/enable_all.php b/tests/enable_all.php
index 16838398f17..44af0115650 100644
--- a/tests/enable_all.php
+++ b/tests/enable_all.php
@@ -10,7 +10,8 @@ require_once __DIR__.'/../lib/base.php';
OC_App::enable('calendar');
OC_App::enable('contacts');
-OC_App::enable('apptemplate_advanced');
+OC_App::enable('apptemplateadvanced');
+OC_App::enable('appframework');
#OC_App::enable('files_archive');
#OC_App::enable('mozilla_sync');
#OC_App::enable('news');
diff --git a/tests/lib/archive.php b/tests/lib/archive.php
index cd2ca6630a5..be5cc897a67 100644
--- a/tests/lib/archive.php
+++ b/tests/lib/archive.php
@@ -6,7 +6,7 @@
* See the COPYING-README file.
*/
-abstract class Test_Archive extends UnitTestCase {
+abstract class Test_Archive extends PHPUnit_Framework_TestCase {
/**
* @var OC_Archive
*/
@@ -27,7 +27,7 @@ abstract class Test_Archive extends UnitTestCase {
$this->instance=$this->getExisting();
$allFiles=$this->instance->getFiles();
$expected=array('lorem.txt','logo-wide.png','dir/', 'dir/lorem.txt');
- $this->assertEqual(4, count($allFiles), 'only found '.count($allFiles).' out of 4 expected files');
+ $this->assertEquals(4, count($allFiles), 'only found '.count($allFiles).' out of 4 expected files');
foreach($expected as $file) {
$this->assertContains($file, $allFiles, 'cant find '. $file . ' in archive');
$this->assertTrue($this->instance->fileExists($file), 'file '.$file.' does not exist in archive');
@@ -36,14 +36,14 @@ abstract class Test_Archive extends UnitTestCase {
$rootContent=$this->instance->getFolder('');
$expected=array('lorem.txt','logo-wide.png', 'dir/');
- $this->assertEqual(3, count($rootContent));
+ $this->assertEquals(3, count($rootContent));
foreach($expected as $file) {
$this->assertContains($file, $rootContent, 'cant find '. $file . ' in archive');
}
$dirContent=$this->instance->getFolder('dir/');
$expected=array('lorem.txt');
- $this->assertEqual(1, count($dirContent));
+ $this->assertEquals(1, count($dirContent));
foreach($expected as $file) {
$this->assertContains($file, $dirContent, 'cant find '. $file . ' in archive');
}
@@ -53,36 +53,36 @@ abstract class Test_Archive extends UnitTestCase {
$this->instance=$this->getExisting();
$dir=OC::$SERVERROOT.'/tests/data';
$textFile=$dir.'/lorem.txt';
- $this->assertEqual(file_get_contents($textFile), $this->instance->getFile('lorem.txt'));
+ $this->assertEquals(file_get_contents($textFile), $this->instance->getFile('lorem.txt'));
$tmpFile=OCP\Files::tmpFile('.txt');
$this->instance->extractFile('lorem.txt', $tmpFile);
- $this->assertEqual(file_get_contents($textFile), file_get_contents($tmpFile));
+ $this->assertEquals(file_get_contents($textFile), file_get_contents($tmpFile));
}
public function testWrite() {
$dir=OC::$SERVERROOT.'/tests/data';
$textFile=$dir.'/lorem.txt';
$this->instance=$this->getNew();
- $this->assertEqual(0, count($this->instance->getFiles()));
+ $this->assertEquals(0, count($this->instance->getFiles()));
$this->instance->addFile('lorem.txt', $textFile);
- $this->assertEqual(1, count($this->instance->getFiles()));
+ $this->assertEquals(1, count($this->instance->getFiles()));
$this->assertTrue($this->instance->fileExists('lorem.txt'));
$this->assertFalse($this->instance->fileExists('lorem.txt/'));
- $this->assertEqual(file_get_contents($textFile), $this->instance->getFile('lorem.txt'));
+ $this->assertEquals(file_get_contents($textFile), $this->instance->getFile('lorem.txt'));
$this->instance->addFile('lorem.txt', 'foobar');
- $this->assertEqual('foobar', $this->instance->getFile('lorem.txt'));
+ $this->assertEquals('foobar', $this->instance->getFile('lorem.txt'));
}
public function testReadStream() {
$dir=OC::$SERVERROOT.'/tests/data';
$this->instance=$this->getExisting();
$fh=$this->instance->getStream('lorem.txt', 'r');
- $this->assertTrue($fh);
+ $this->assertTrue((bool)$fh);
$content=fread($fh, $this->instance->filesize('lorem.txt'));
fclose($fh);
- $this->assertEqual(file_get_contents($dir.'/lorem.txt'), $content);
+ $this->assertEquals(file_get_contents($dir.'/lorem.txt'), $content);
}
public function testWriteStream() {
$dir=OC::$SERVERROOT.'/tests/data';
@@ -93,7 +93,7 @@ abstract class Test_Archive extends UnitTestCase {
fclose($source);
fclose($fh);
$this->assertTrue($this->instance->fileExists('lorem.txt'));
- $this->assertEqual(file_get_contents($dir.'/lorem.txt'), $this->instance->getFile('lorem.txt'));
+ $this->assertEquals(file_get_contents($dir.'/lorem.txt'), $this->instance->getFile('lorem.txt'));
}
public function testFolder() {
$this->instance=$this->getNew();
@@ -111,10 +111,10 @@ abstract class Test_Archive extends UnitTestCase {
$this->instance=$this->getExisting();
$tmpDir=OCP\Files::tmpFolder();
$this->instance->extract($tmpDir);
- $this->assertEqual(true, file_exists($tmpDir.'lorem.txt'));
- $this->assertEqual(true, file_exists($tmpDir.'dir/lorem.txt'));
- $this->assertEqual(true, file_exists($tmpDir.'logo-wide.png'));
- $this->assertEqual(file_get_contents($dir.'/lorem.txt'), file_get_contents($tmpDir.'lorem.txt'));
+ $this->assertEquals(true, file_exists($tmpDir.'lorem.txt'));
+ $this->assertEquals(true, file_exists($tmpDir.'dir/lorem.txt'));
+ $this->assertEquals(true, file_exists($tmpDir.'logo-wide.png'));
+ $this->assertEquals(file_get_contents($dir.'/lorem.txt'), file_get_contents($tmpDir.'lorem.txt'));
OCP\Files::rmdirr($tmpDir);
}
public function testMoveRemove() {
@@ -126,7 +126,7 @@ abstract class Test_Archive extends UnitTestCase {
$this->instance->rename('lorem.txt', 'target.txt');
$this->assertTrue($this->instance->fileExists('target.txt'));
$this->assertFalse($this->instance->fileExists('lorem.txt'));
- $this->assertEqual(file_get_contents($textFile), $this->instance->getFile('target.txt'));
+ $this->assertEquals(file_get_contents($textFile), $this->instance->getFile('target.txt'));
$this->instance->remove('target.txt');
$this->assertFalse($this->instance->fileExists('target.txt'));
}
diff --git a/tests/lib/cache.php b/tests/lib/cache.php
index 1a1287ff135..3dcf39f7d60 100644
--- a/tests/lib/cache.php
+++ b/tests/lib/cache.php
@@ -6,7 +6,7 @@
* See the COPYING-README file.
*/
-abstract class Test_Cache extends UnitTestCase {
+abstract class Test_Cache extends PHPUnit_Framework_TestCase {
/**
* @var OC_Cache cache;
*/
@@ -26,19 +26,19 @@ abstract class Test_Cache extends UnitTestCase {
$this->instance->set('value1', $value);
$this->assertTrue($this->instance->hasKey('value1'));
$received=$this->instance->get('value1');
- $this->assertEqual($value, $received, 'Value recieved from cache not equal to the original');
+ $this->assertEquals($value, $received, 'Value recieved from cache not equal to the original');
$value='ipsum lorum';
$this->instance->set('value1', $value);
$received=$this->instance->get('value1');
- $this->assertEqual($value, $received, 'Value not overwritten by second set');
+ $this->assertEquals($value, $received, 'Value not overwritten by second set');
$value2='foobar';
$this->instance->set('value2', $value2);
$received2=$this->instance->get('value2');
$this->assertTrue($this->instance->hasKey('value1'));
$this->assertTrue($this->instance->hasKey('value2'));
- $this->assertEqual($value, $received, 'Value changed while setting other variable');
- $this->assertEqual($value2, $received2, 'Second value not equal to original');
+ $this->assertEquals($value, $received, 'Value changed while setting other variable');
+ $this->assertEquals($value2, $received2, 'Second value not equal to original');
$this->assertFalse($this->instance->hasKey('not_set'));
$this->assertNull($this->instance->get('not_set'), 'Unset value not equal to null');
diff --git a/tests/lib/db.php b/tests/lib/db.php
index c2eb38dae83..440f3fb6bfd 100644
--- a/tests/lib/db.php
+++ b/tests/lib/db.php
@@ -6,7 +6,7 @@
* See the COPYING-README file.
*/
-class Test_DB extends UnitTestCase {
+class Test_DB extends PHPUnit_Framework_TestCase {
protected $backupGlobals = FALSE;
protected static $schema_file = 'static://test_db_scheme';
@@ -35,18 +35,18 @@ class Test_DB extends UnitTestCase {
public function testQuotes() {
$query = OC_DB::prepare('SELECT `fullname` FROM *PREFIX*'.$this->table2.' WHERE `uri` = ?');
$result = $query->execute(array('uri_1'));
- $this->assertTrue($result);
+ $this->assertTrue((bool)$result);
$row = $result->fetchRow();
$this->assertFalse($row);
$query = OC_DB::prepare('INSERT INTO *PREFIX*'.$this->table2.' (`fullname`,`uri`) VALUES (?,?)');
$result = $query->execute(array('fullname test', 'uri_1'));
- $this->assertTrue($result);
+ $this->assertTrue((bool)$result);
$query = OC_DB::prepare('SELECT `fullname`,`uri` FROM *PREFIX*'.$this->table2.' WHERE `uri` = ?');
$result = $query->execute(array('uri_1'));
- $this->assertTrue($result);
+ $this->assertTrue((bool)$result);
$row = $result->fetchRow();
$this->assertArrayHasKey('fullname', $row);
- $this->assertEqual($row['fullname'], 'fullname test');
+ $this->assertEquals($row['fullname'], 'fullname test');
$row = $result->fetchRow();
$this->assertFalse($row);
}
@@ -54,19 +54,19 @@ class Test_DB extends UnitTestCase {
public function testNOW() {
$query = OC_DB::prepare('INSERT INTO *PREFIX*'.$this->table2.' (`fullname`,`uri`) VALUES (NOW(),?)');
$result = $query->execute(array('uri_2'));
- $this->assertTrue($result);
+ $this->assertTrue((bool)$result);
$query = OC_DB::prepare('SELECT `fullname`,`uri` FROM *PREFIX*'.$this->table2.' WHERE `uri` = ?');
$result = $query->execute(array('uri_2'));
- $this->assertTrue($result);
+ $this->assertTrue((bool)$result);
}
public function testUNIX_TIMESTAMP() {
$query = OC_DB::prepare('INSERT INTO *PREFIX*'.$this->table2.' (`fullname`,`uri`) VALUES (UNIX_TIMESTAMP(),?)');
$result = $query->execute(array('uri_3'));
- $this->assertTrue($result);
+ $this->assertTrue((bool)$result);
$query = OC_DB::prepare('SELECT `fullname`,`uri` FROM *PREFIX*'.$this->table2.' WHERE `uri` = ?');
$result = $query->execute(array('uri_3'));
- $this->assertTrue($result);
+ $this->assertTrue((bool)$result);
}
public function testinsertIfNotExist() {
@@ -85,13 +85,13 @@ class Test_DB extends UnitTestCase {
'type' => $entry['type'],
'category' => $entry['category'],
));
- $this->assertTrue($result);
+ $this->assertTrue((bool)$result);
}
$query = OC_DB::prepare('SELECT * FROM *PREFIX*'.$this->table3);
$result = $query->execute();
- $this->assertTrue($result);
- $this->assertEqual('4', $result->numRows());
+ $this->assertTrue((bool)$result);
+ $this->assertEquals('4', $result->numRows());
}
public function testinsertIfNotExistDontOverwrite() {
@@ -102,14 +102,14 @@ class Test_DB extends UnitTestCase {
// Normal test to have same known data inserted.
$query = OC_DB::prepare('INSERT INTO *PREFIX*'.$this->table2.' (`fullname`, `uri`, `carddata`) VALUES (?, ?, ?)');
$result = $query->execute(array($fullname, $uri, $carddata));
- $this->assertTrue($result);
+ $this->assertTrue((bool)$result);
$query = OC_DB::prepare('SELECT `fullname`, `uri`, `carddata` FROM *PREFIX*'.$this->table2.' WHERE `uri` = ?');
$result = $query->execute(array($uri));
- $this->assertTrue($result);
+ $this->assertTrue((bool)$result);
$row = $result->fetchRow();
$this->assertArrayHasKey('carddata', $row);
- $this->assertEqual($carddata, $row['carddata']);
- $this->assertEqual('1', $result->numRows());
+ $this->assertEquals($carddata, $row['carddata']);
+ $this->assertEquals('1', $result->numRows());
// Try to insert a new row
$result = OC_DB::insertIfNotExist('*PREFIX*'.$this->table2,
@@ -117,17 +117,17 @@ class Test_DB extends UnitTestCase {
'fullname' => $fullname,
'uri' => $uri,
));
- $this->assertTrue($result);
+ $this->assertTrue((bool)$result);
$query = OC_DB::prepare('SELECT `fullname`, `uri`, `carddata` FROM *PREFIX*'.$this->table2.' WHERE `uri` = ?');
$result = $query->execute(array($uri));
- $this->assertTrue($result);
+ $this->assertTrue((bool)$result);
$row = $result->fetchRow();
$this->assertArrayHasKey('carddata', $row);
// Test that previously inserted data isn't overwritten
- $this->assertEqual($carddata, $row['carddata']);
+ $this->assertEquals($carddata, $row['carddata']);
// And that a new row hasn't been inserted.
- $this->assertEqual('1', $result->numRows());
+ $this->assertEquals('1', $result->numRows());
}
}
diff --git a/tests/lib/dbschema.php b/tests/lib/dbschema.php
index cd408160afb..fb60ce7dbb7 100644
--- a/tests/lib/dbschema.php
+++ b/tests/lib/dbschema.php
@@ -6,7 +6,7 @@
* See the COPYING-README file.
*/
-class Test_DBSchema extends UnitTestCase {
+class Test_DBSchema extends PHPUnit_Framework_TestCase {
protected static $schema_file = 'static://test_db_scheme';
protected static $schema_file2 = 'static://test_db_scheme2';
protected $test_prefix;
diff --git a/tests/lib/filestorage.php b/tests/lib/filestorage.php
index e82a6f54e3d..c408efb7543 100644
--- a/tests/lib/filestorage.php
+++ b/tests/lib/filestorage.php
@@ -20,7 +20,7 @@
*
*/
-abstract class Test_FileStorage extends UnitTestCase {
+abstract class Test_FileStorage extends PHPUnit_Framework_TestCase {
/**
* @var OC_Filestorage instance
*/
@@ -34,7 +34,7 @@ abstract class Test_FileStorage extends UnitTestCase {
$this->assertTrue($this->instance->isReadable('/'), 'Root folder is not readable');
$this->assertTrue($this->instance->is_dir('/'), 'Root folder is not a directory');
$this->assertFalse($this->instance->is_file('/'), 'Root folder is a file');
- $this->assertEqual('dir', $this->instance->filetype('/'));
+ $this->assertEquals('dir', $this->instance->filetype('/'));
//without this, any further testing would be useless, not an acutal requirement for filestorage though
$this->assertTrue($this->instance->isUpdatable('/'), 'Root folder is not writable');
@@ -48,8 +48,8 @@ abstract class Test_FileStorage extends UnitTestCase {
$this->assertTrue($this->instance->file_exists('/folder'));
$this->assertTrue($this->instance->is_dir('/folder'));
$this->assertFalse($this->instance->is_file('/folder'));
- $this->assertEqual('dir', $this->instance->filetype('/folder'));
- $this->assertEqual(0, $this->instance->filesize('/folder'));
+ $this->assertEquals('dir', $this->instance->filetype('/folder'));
+ $this->assertEquals(0, $this->instance->filesize('/folder'));
$this->assertTrue($this->instance->isReadable('/folder'));
$this->assertTrue($this->instance->isUpdatable('/folder'));
@@ -60,7 +60,7 @@ abstract class Test_FileStorage extends UnitTestCase {
$content[] = $file;
}
}
- $this->assertEqual(array('folder'), $content);
+ $this->assertEquals(array('folder'), $content);
$this->assertFalse($this->instance->mkdir('/folder')); //cant create existing folders
$this->assertTrue($this->instance->rmdir('/folder'));
@@ -76,7 +76,7 @@ abstract class Test_FileStorage extends UnitTestCase {
$content[] = $file;
}
}
- $this->assertEqual(array(), $content);
+ $this->assertEquals(array(), $content);
}
/**
@@ -89,31 +89,31 @@ abstract class Test_FileStorage extends UnitTestCase {
//fill a file with string data
$this->instance->file_put_contents('/lorem.txt', $sourceText);
$this->assertFalse($this->instance->is_dir('/lorem.txt'));
- $this->assertEqual($sourceText, $this->instance->file_get_contents('/lorem.txt'), 'data returned from file_get_contents is not equal to the source data');
+ $this->assertEquals($sourceText, $this->instance->file_get_contents('/lorem.txt'), 'data returned from file_get_contents is not equal to the source data');
//empty the file
$this->instance->file_put_contents('/lorem.txt', '');
- $this->assertEqual('', $this->instance->file_get_contents('/lorem.txt'), 'file not emptied');
+ $this->assertEquals('', $this->instance->file_get_contents('/lorem.txt'), 'file not emptied');
}
/**
* test various known mimetypes
*/
public function testMimeType() {
- $this->assertEqual('httpd/unix-directory', $this->instance->getMimeType('/'));
- $this->assertEqual(false, $this->instance->getMimeType('/non/existing/file'));
+ $this->assertEquals('httpd/unix-directory', $this->instance->getMimeType('/'));
+ $this->assertEquals(false, $this->instance->getMimeType('/non/existing/file'));
$textFile = OC::$SERVERROOT . '/tests/data/lorem.txt';
$this->instance->file_put_contents('/lorem.txt', file_get_contents($textFile, 'r'));
- $this->assertEqual('text/plain', $this->instance->getMimeType('/lorem.txt'));
+ $this->assertEquals('text/plain', $this->instance->getMimeType('/lorem.txt'));
$pngFile = OC::$SERVERROOT . '/tests/data/logo-wide.png';
$this->instance->file_put_contents('/logo-wide.png', file_get_contents($pngFile, 'r'));
- $this->assertEqual('image/png', $this->instance->getMimeType('/logo-wide.png'));
+ $this->assertEquals('image/png', $this->instance->getMimeType('/logo-wide.png'));
$svgFile = OC::$SERVERROOT . '/tests/data/logo-wide.svg';
$this->instance->file_put_contents('/logo-wide.svg', file_get_contents($svgFile, 'r'));
- $this->assertEqual('image/svg+xml', $this->instance->getMimeType('/logo-wide.svg'));
+ $this->assertEquals('image/svg+xml', $this->instance->getMimeType('/logo-wide.svg'));
}
public function testCopyAndMove() {
@@ -121,12 +121,12 @@ abstract class Test_FileStorage extends UnitTestCase {
$this->instance->file_put_contents('/source.txt', file_get_contents($textFile));
$this->instance->copy('/source.txt', '/target.txt');
$this->assertTrue($this->instance->file_exists('/target.txt'));
- $this->assertEqual($this->instance->file_get_contents('/source.txt'), $this->instance->file_get_contents('/target.txt'));
+ $this->assertEquals($this->instance->file_get_contents('/source.txt'), $this->instance->file_get_contents('/target.txt'));
$this->instance->rename('/source.txt', '/target2.txt');
$this->assertTrue($this->instance->file_exists('/target2.txt'));
$this->assertFalse($this->instance->file_exists('/source.txt'));
- $this->assertEqual(file_get_contents($textFile), $this->instance->file_get_contents('/target.txt'));
+ $this->assertEquals(file_get_contents($textFile), $this->instance->file_get_contents('/target.txt'));
}
public function testLocal() {
@@ -134,7 +134,7 @@ abstract class Test_FileStorage extends UnitTestCase {
$this->instance->file_put_contents('/lorem.txt', file_get_contents($textFile));
$localFile = $this->instance->getLocalFile('/lorem.txt');
$this->assertTrue(file_exists($localFile));
- $this->assertEqual(file_get_contents($localFile), file_get_contents($textFile));
+ $this->assertEquals(file_get_contents($localFile), file_get_contents($textFile));
$this->instance->mkdir('/folder');
$this->instance->file_put_contents('/folder/lorem.txt', file_get_contents($textFile));
@@ -145,9 +145,9 @@ abstract class Test_FileStorage extends UnitTestCase {
$this->assertTrue(is_dir($localFolder));
$this->assertTrue(file_exists($localFolder . '/lorem.txt'));
- $this->assertEqual(file_get_contents($localFolder . '/lorem.txt'), file_get_contents($textFile));
- $this->assertEqual(file_get_contents($localFolder . '/bar.txt'), 'asd');
- $this->assertEqual(file_get_contents($localFolder . '/recursive/file.txt'), 'foo');
+ $this->assertEquals(file_get_contents($localFolder . '/lorem.txt'), file_get_contents($textFile));
+ $this->assertEquals(file_get_contents($localFolder . '/bar.txt'), 'asd');
+ $this->assertEquals(file_get_contents($localFolder . '/recursive/file.txt'), 'foo');
}
public function testStat() {
@@ -162,12 +162,12 @@ abstract class Test_FileStorage extends UnitTestCase {
$this->assertTrue(($ctimeStart - 1) <= $mTime);
$this->assertTrue($mTime <= ($ctimeEnd + 1));
- $this->assertEqual(filesize($textFile), $this->instance->filesize('/lorem.txt'));
+ $this->assertEquals(filesize($textFile), $this->instance->filesize('/lorem.txt'));
$stat = $this->instance->stat('/lorem.txt');
//only size and mtime are requered in the result
- $this->assertEqual($stat['size'], $this->instance->filesize('/lorem.txt'));
- $this->assertEqual($stat['mtime'], $mTime);
+ $this->assertEquals($stat['size'], $this->instance->filesize('/lorem.txt'));
+ $this->assertEquals($stat['mtime'], $mTime);
$mtimeStart = time();
$supportsTouch = $this->instance->touch('/lorem.txt');
@@ -181,7 +181,7 @@ abstract class Test_FileStorage extends UnitTestCase {
if ($this->instance->touch('/lorem.txt', 100) !== false) {
$mTime = $this->instance->filemtime('/lorem.txt');
- $this->assertEqual($mTime, 100);
+ $this->assertEquals($mTime, 100);
}
}
@@ -207,7 +207,7 @@ abstract class Test_FileStorage extends UnitTestCase {
$svgFile = OC::$SERVERROOT . '/tests/data/logo-wide.svg';
$this->instance->file_put_contents('/logo-wide.svg', file_get_contents($svgFile, 'r'));
$result = $this->instance->search('logo');
- $this->assertEqual(2, count($result));
+ $this->assertEquals(2, count($result));
$this->assertContains('/logo-wide.svg', $result);
$this->assertContains('/logo-wide.png', $result);
}
@@ -229,6 +229,6 @@ abstract class Test_FileStorage extends UnitTestCase {
$fh = $this->instance->fopen('foo', 'r');
$content = stream_get_contents($fh);
- $this->assertEqual(file_get_contents($textFile), $content);
+ $this->assertEquals(file_get_contents($textFile), $content);
}
}
diff --git a/tests/lib/filestorage/commontest.php b/tests/lib/filestorage/commontest.php
index 89e83589e5d..6719fcff4e8 100644
--- a/tests/lib/filestorage/commontest.php
+++ b/tests/lib/filestorage/commontest.php
@@ -38,4 +38,3 @@ class Test_Filestorage_CommonTest extends Test_FileStorage {
}
}
-?> \ No newline at end of file
diff --git a/tests/lib/filestorage/local.php b/tests/lib/filestorage/local.php
index f68fb69b97f..d7d71e8f372 100644
--- a/tests/lib/filestorage/local.php
+++ b/tests/lib/filestorage/local.php
@@ -35,4 +35,3 @@ class Test_Filestorage_Local extends Test_FileStorage {
}
}
-?> \ No newline at end of file
diff --git a/tests/lib/filesystem.php b/tests/lib/filesystem.php
index 5cced4946d9..ee31ef4364d 100644
--- a/tests/lib/filesystem.php
+++ b/tests/lib/filesystem.php
@@ -20,7 +20,7 @@
*
*/
-class Test_Filesystem extends UnitTestCase {
+class Test_Filesystem extends PHPUnit_Framework_TestCase {
/**
* @var array tmpDirs
*/
@@ -47,28 +47,28 @@ class Test_Filesystem extends UnitTestCase {
public function testMount() {
OC_Filesystem::mount('OC_Filestorage_Local', self::getStorageData(), '/');
- $this->assertEqual('/', OC_Filesystem::getMountPoint('/'));
- $this->assertEqual('/', OC_Filesystem::getMountPoint('/some/folder'));
- $this->assertEqual('', OC_Filesystem::getInternalPath('/'));
- $this->assertEqual('some/folder', OC_Filesystem::getInternalPath('/some/folder'));
+ $this->assertEquals('/', OC_Filesystem::getMountPoint('/'));
+ $this->assertEquals('/', OC_Filesystem::getMountPoint('/some/folder'));
+ $this->assertEquals('', OC_Filesystem::getInternalPath('/'));
+ $this->assertEquals('some/folder', OC_Filesystem::getInternalPath('/some/folder'));
OC_Filesystem::mount('OC_Filestorage_Local', self::getStorageData(), '/some');
- $this->assertEqual('/', OC_Filesystem::getMountPoint('/'));
- $this->assertEqual('/some/', OC_Filesystem::getMountPoint('/some/folder'));
- $this->assertEqual('/some/', OC_Filesystem::getMountPoint('/some/'));
- $this->assertEqual('/', OC_Filesystem::getMountPoint('/some'));
- $this->assertEqual('folder', OC_Filesystem::getInternalPath('/some/folder'));
+ $this->assertEquals('/', OC_Filesystem::getMountPoint('/'));
+ $this->assertEquals('/some/', OC_Filesystem::getMountPoint('/some/folder'));
+ $this->assertEquals('/some/', OC_Filesystem::getMountPoint('/some/'));
+ $this->assertEquals('/', OC_Filesystem::getMountPoint('/some'));
+ $this->assertEquals('folder', OC_Filesystem::getInternalPath('/some/folder'));
}
public function testNormalize() {
- $this->assertEqual('/path', OC_Filesystem::normalizePath('/path/'));
- $this->assertEqual('/path/', OC_Filesystem::normalizePath('/path/', false));
- $this->assertEqual('/path', OC_Filesystem::normalizePath('path'));
- $this->assertEqual('/path', OC_Filesystem::normalizePath('\path'));
- $this->assertEqual('/foo/bar', OC_Filesystem::normalizePath('/foo//bar/'));
- $this->assertEqual('/foo/bar', OC_Filesystem::normalizePath('/foo////bar'));
+ $this->assertEquals('/path', OC_Filesystem::normalizePath('/path/'));
+ $this->assertEquals('/path/', OC_Filesystem::normalizePath('/path/', false));
+ $this->assertEquals('/path', OC_Filesystem::normalizePath('path'));
+ $this->assertEquals('/path', OC_Filesystem::normalizePath('\path'));
+ $this->assertEquals('/foo/bar', OC_Filesystem::normalizePath('/foo//bar/'));
+ $this->assertEquals('/foo/bar', OC_Filesystem::normalizePath('/foo////bar'));
if (class_exists('Normalizer')) {
- $this->assertEqual("/foo/bar\xC3\xBC", OC_Filesystem::normalizePath("/foo/baru\xCC\x88"));
+ $this->assertEquals("/foo/bar\xC3\xBC", OC_Filesystem::normalizePath("/foo/baru\xCC\x88"));
}
}
@@ -100,10 +100,10 @@ class Test_Filesystem extends UnitTestCase {
$rootView->mkdir('/' . $user);
$rootView->mkdir('/' . $user . '/files');
- $this->assertFalse($rootView->file_put_contents('/.htaccess', 'foo'));
- $this->assertFalse(OC_Filesystem::file_put_contents('/.htaccess', 'foo'));
+ $this->assertFalse((bool)$rootView->file_put_contents('/.htaccess', 'foo'));
+ $this->assertFalse((bool)OC_Filesystem::file_put_contents('/.htaccess', 'foo'));
$fh = fopen(__FILE__, 'r');
- $this->assertFalse(OC_Filesystem::file_put_contents('/.htaccess', $fh));
+ $this->assertFalse((bool)OC_Filesystem::file_put_contents('/.htaccess', $fh));
}
public function testHooks() {
@@ -134,6 +134,6 @@ class Test_Filesystem extends UnitTestCase {
public function dummyHook($arguments) {
$path = $arguments['path'];
- $this->assertEqual($path, OC_Filesystem::normalizePath($path)); //the path passed to the hook should already be normalized
+ $this->assertEquals($path, OC_Filesystem::normalizePath($path)); //the path passed to the hook should already be normalized
}
}
diff --git a/tests/lib/geo.php b/tests/lib/geo.php
index d4951ee79e7..82e61608687 100644
--- a/tests/lib/geo.php
+++ b/tests/lib/geo.php
@@ -6,7 +6,7 @@
* See the COPYING-README file.
*/
-class Test_Geo extends UnitTestCase {
+class Test_Geo extends PHPUnit_Framework_TestCase {
function testTimezone() {
$result = OC_Geo::timezone(3, 3);
$expected = 'Africa/Porto-Novo';
diff --git a/tests/lib/group.php b/tests/lib/group.php
index 28264b0f168..9128bd7ddce 100644
--- a/tests/lib/group.php
+++ b/tests/lib/group.php
@@ -22,7 +22,7 @@
*
*/
-class Test_Group extends UnitTestCase {
+class Test_Group extends PHPUnit_Framework_TestCase {
function setUp() {
OC_Group::clearBackends();
}
@@ -43,24 +43,24 @@ class Test_Group extends UnitTestCase {
$this->assertFalse(OC_Group::inGroup($user1, $group2));
$this->assertFalse(OC_Group::inGroup($user2, $group2));
- $this->assertTrue(OC_Group::addToGroup($user1, $group1));
+ $this->assertTrue((bool)OC_Group::addToGroup($user1, $group1));
$this->assertTrue(OC_Group::inGroup($user1, $group1));
$this->assertFalse(OC_Group::inGroup($user2, $group1));
$this->assertFalse(OC_Group::inGroup($user1, $group2));
$this->assertFalse(OC_Group::inGroup($user2, $group2));
- $this->assertFalse(OC_Group::addToGroup($user1, $group1));
+ $this->assertFalse((bool)OC_Group::addToGroup($user1, $group1));
- $this->assertEqual(array($user1), OC_Group::usersInGroup($group1));
- $this->assertEqual(array(), OC_Group::usersInGroup($group2));
+ $this->assertEquals(array($user1), OC_Group::usersInGroup($group1));
+ $this->assertEquals(array(), OC_Group::usersInGroup($group2));
- $this->assertEqual(array($group1), OC_Group::getUserGroups($user1));
- $this->assertEqual(array(), OC_Group::getUserGroups($user2));
+ $this->assertEquals(array($group1), OC_Group::getUserGroups($user1));
+ $this->assertEquals(array(), OC_Group::getUserGroups($user2));
OC_Group::deleteGroup($group1);
- $this->assertEqual(array(), OC_Group::getUserGroups($user1));
- $this->assertEqual(array(), OC_Group::usersInGroup($group1));
+ $this->assertEquals(array(), OC_Group::getUserGroups($user1));
+ $this->assertEquals(array(), OC_Group::usersInGroup($group1));
$this->assertFalse(OC_Group::inGroup($user1, $group1));
}
@@ -69,7 +69,7 @@ class Test_Group extends UnitTestCase {
OC_Group::useBackend(new OC_Group_Dummy());
$emptyGroup = null;
- $this->assertEqual(false, OC_Group::createGroup($emptyGroup));
+ $this->assertEquals(false, OC_Group::createGroup($emptyGroup));
}
@@ -80,8 +80,8 @@ class Test_Group extends UnitTestCase {
$groupCopy = $group;
- $this->assertEqual(false, OC_Group::createGroup($groupCopy));
- $this->assertEqual(array($group), OC_Group::getGroups());
+ $this->assertEquals(false, OC_Group::createGroup($groupCopy));
+ $this->assertEquals(array($group), OC_Group::getGroups());
}
@@ -90,8 +90,8 @@ class Test_Group extends UnitTestCase {
$adminGroup = 'admin';
OC_Group::createGroup($adminGroup);
- $this->assertEqual(false, OC_Group::deleteGroup($adminGroup));
- $this->assertEqual(array($adminGroup), OC_Group::getGroups());
+ $this->assertEquals(false, OC_Group::deleteGroup($adminGroup));
+ $this->assertEquals(array($adminGroup), OC_Group::getGroups());
}
@@ -100,8 +100,8 @@ class Test_Group extends UnitTestCase {
$groupNonExistent = 'notExistent';
$user = uniqid();
- $this->assertEqual(false, OC_Group::addToGroup($user, $groupNonExistent));
- $this->assertEqual(array(), OC_Group::getGroups());
+ $this->assertEquals(false, OC_Group::addToGroup($user, $groupNonExistent));
+ $this->assertEquals(array(), OC_Group::getGroups());
}
@@ -122,7 +122,7 @@ class Test_Group extends UnitTestCase {
OC_Group::addToGroup($user3, $group1);
OC_Group::addToGroup($user3, $group2);
- $this->assertEqual(array($user1, $user2, $user3),
+ $this->assertEquals(array($user1, $user2, $user3),
OC_Group::usersInGroups(array($group1, $group2, $group3)));
// FIXME: needs more parameter variation
@@ -141,16 +141,16 @@ class Test_Group extends UnitTestCase {
OC_Group::createGroup($group1);
//groups should be added to the first registered backend
- $this->assertEqual(array($group1), $backend1->getGroups());
- $this->assertEqual(array(), $backend2->getGroups());
+ $this->assertEquals(array($group1), $backend1->getGroups());
+ $this->assertEquals(array(), $backend2->getGroups());
- $this->assertEqual(array($group1), OC_Group::getGroups());
+ $this->assertEquals(array($group1), OC_Group::getGroups());
$this->assertTrue(OC_Group::groupExists($group1));
$this->assertFalse(OC_Group::groupExists($group2));
$backend1->createGroup($group2);
- $this->assertEqual(array($group1, $group2), OC_Group::getGroups());
+ $this->assertEquals(array($group1, $group2), OC_Group::getGroups());
$this->assertTrue(OC_Group::groupExists($group1));
$this->assertTrue(OC_Group::groupExists($group2));
@@ -161,22 +161,22 @@ class Test_Group extends UnitTestCase {
$this->assertFalse(OC_Group::inGroup($user2, $group1));
- $this->assertTrue(OC_Group::addToGroup($user1, $group1));
+ $this->assertTrue((bool)OC_Group::addToGroup($user1, $group1));
$this->assertTrue(OC_Group::inGroup($user1, $group1));
$this->assertFalse(OC_Group::inGroup($user2, $group1));
$this->assertFalse($backend2->inGroup($user1, $group1));
- $this->assertFalse(OC_Group::addToGroup($user1, $group1));
+ $this->assertFalse((bool)OC_Group::addToGroup($user1, $group1));
- $this->assertEqual(array($user1), OC_Group::usersInGroup($group1));
+ $this->assertEquals(array($user1), OC_Group::usersInGroup($group1));
- $this->assertEqual(array($group1), OC_Group::getUserGroups($user1));
- $this->assertEqual(array(), OC_Group::getUserGroups($user2));
+ $this->assertEquals(array($group1), OC_Group::getUserGroups($user1));
+ $this->assertEquals(array(), OC_Group::getUserGroups($user2));
OC_Group::deleteGroup($group1);
- $this->assertEqual(array(), OC_Group::getUserGroups($user1));
- $this->assertEqual(array(), OC_Group::usersInGroup($group1));
+ $this->assertEquals(array(), OC_Group::getUserGroups($user1));
+ $this->assertEquals(array(), OC_Group::usersInGroup($group1));
$this->assertFalse(OC_Group::inGroup($user1, $group1));
}
}
diff --git a/tests/lib/group/backend.php b/tests/lib/group/backend.php
index f61abed5f29..d308232a78b 100644
--- a/tests/lib/group/backend.php
+++ b/tests/lib/group/backend.php
@@ -20,7 +20,7 @@
*
*/
-abstract class Test_Group_Backend extends UnitTestCase {
+abstract class Test_Group_Backend extends PHPUnit_Framework_TestCase {
/**
* @var OC_Group_Backend $backend
*/
@@ -52,18 +52,18 @@ abstract class Test_Group_Backend extends UnitTestCase {
$name2=$this->getGroupName();
$this->backend->createGroup($name1);
$count=count($this->backend->getGroups())-$startCount;
- $this->assertEqual(1, $count);
+ $this->assertEquals(1, $count);
$this->assertTrue((array_search($name1, $this->backend->getGroups())!==false));
$this->assertFalse((array_search($name2, $this->backend->getGroups())!==false));
$this->backend->createGroup($name2);
$count=count($this->backend->getGroups())-$startCount;
- $this->assertEqual(2, $count);
+ $this->assertEquals(2, $count);
$this->assertTrue((array_search($name1, $this->backend->getGroups())!==false));
$this->assertTrue((array_search($name2, $this->backend->getGroups())!==false));
$this->backend->deleteGroup($name2);
$count=count($this->backend->getGroups())-$startCount;
- $this->assertEqual(1, $count);
+ $this->assertEquals(1, $count);
$this->assertTrue((array_search($name1, $this->backend->getGroups())!==false));
$this->assertFalse((array_search($name2, $this->backend->getGroups())!==false));
}
@@ -91,15 +91,15 @@ abstract class Test_Group_Backend extends UnitTestCase {
$this->assertFalse($this->backend->addToGroup($user1, $group1));
- $this->assertEqual(array($user1), $this->backend->usersInGroup($group1));
- $this->assertEqual(array(), $this->backend->usersInGroup($group2));
+ $this->assertEquals(array($user1), $this->backend->usersInGroup($group1));
+ $this->assertEquals(array(), $this->backend->usersInGroup($group2));
- $this->assertEqual(array($group1), $this->backend->getUserGroups($user1));
- $this->assertEqual(array(), $this->backend->getUserGroups($user2));
+ $this->assertEquals(array($group1), $this->backend->getUserGroups($user1));
+ $this->assertEquals(array(), $this->backend->getUserGroups($user2));
$this->backend->deleteGroup($group1);
- $this->assertEqual(array(), $this->backend->getUserGroups($user1));
- $this->assertEqual(array(), $this->backend->usersInGroup($group1));
+ $this->assertEquals(array(), $this->backend->getUserGroups($user1));
+ $this->assertEquals(array(), $this->backend->usersInGroup($group1));
$this->assertFalse($this->backend->inGroup($user1, $group1));
}
}
diff --git a/tests/lib/helper.php b/tests/lib/helper.php
index cfb9a799579..336e8f8b3c5 100644
--- a/tests/lib/helper.php
+++ b/tests/lib/helper.php
@@ -6,7 +6,7 @@
* See the COPYING-README file.
*/
-class Test_Helper extends UnitTestCase {
+class Test_Helper extends PHPUnit_Framework_TestCase {
function testHumanFileSize() {
$result = OC_Helper::humanFileSize(0);
diff --git a/tests/lib/share/share.php b/tests/lib/share/share.php
index 92f5d065cf2..ab43e47726b 100644
--- a/tests/lib/share/share.php
+++ b/tests/lib/share/share.php
@@ -19,7 +19,7 @@
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
*/
-class Test_Share extends UnitTestCase {
+class Test_Share extends PHPUnit_Framework_TestCase {
protected $itemType;
protected $userBackend;
diff --git a/tests/lib/streamwrappers.php b/tests/lib/streamwrappers.php
index 89b2785fca6..aebbc93b902 100644
--- a/tests/lib/streamwrappers.php
+++ b/tests/lib/streamwrappers.php
@@ -20,7 +20,7 @@
*
*/
-class Test_StreamWrappers extends UnitTestCase {
+class Test_StreamWrappers extends PHPUnit_Framework_TestCase {
public function testFakeDir() {
$items=array('foo', 'bar');
OC_FakeDirStream::$dirs['test']=$items;
@@ -30,7 +30,7 @@ class Test_StreamWrappers extends UnitTestCase {
$result[]=$file;
$this->assertContains($file, $items);
}
- $this->assertEqual(count($items), count($result));
+ $this->assertEquals(count($items), count($result));
}
public function testStaticStream() {
@@ -39,7 +39,7 @@ class Test_StreamWrappers extends UnitTestCase {
$this->assertFalse(file_exists($staticFile));
file_put_contents($staticFile, file_get_contents($sourceFile));
$this->assertTrue(file_exists($staticFile));
- $this->assertEqual(file_get_contents($sourceFile), file_get_contents($staticFile));
+ $this->assertEquals(file_get_contents($sourceFile), file_get_contents($staticFile));
unlink($staticFile);
clearstatcache();
$this->assertFalse(file_exists($staticFile));
@@ -52,7 +52,7 @@ class Test_StreamWrappers extends UnitTestCase {
$file='close://'.$tmpFile;
$this->assertTrue(file_exists($file));
file_put_contents($file, file_get_contents($sourceFile));
- $this->assertEqual(file_get_contents($sourceFile), file_get_contents($file));
+ $this->assertEquals(file_get_contents($sourceFile), file_get_contents($file));
unlink($file);
clearstatcache();
$this->assertFalse(file_exists($file));
@@ -68,7 +68,7 @@ class Test_StreamWrappers extends UnitTestCase {
$this->fail('Expected exception');
}catch(Exception $e) {
$path=$e->getMessage();
- $this->assertEqual($path, $tmpFile);
+ $this->assertEquals($path, $tmpFile);
}
}
diff --git a/tests/lib/template.php b/tests/lib/template.php
index 736bc95255c..6e88d4c07fc 100644
--- a/tests/lib/template.php
+++ b/tests/lib/template.php
@@ -22,7 +22,7 @@
OC::autoload('OC_Template');
-class Test_TemplateFunctions extends UnitTestCase {
+class Test_TemplateFunctions extends PHPUnit_Framework_TestCase {
public function testP() {
// FIXME: do we need more testcases?
@@ -30,9 +30,8 @@ class Test_TemplateFunctions extends UnitTestCase {
ob_start();
p($htmlString);
$result = ob_get_clean();
- ob_end_clean();
- $this->assertEqual("&lt;script&gt;alert(&#039;xss&#039;);&lt;/script&gt;", $result);
+ $this->assertEquals("&lt;script&gt;alert(&#039;xss&#039;);&lt;/script&gt;", $result);
}
public function testPNormalString() {
@@ -40,9 +39,8 @@ class Test_TemplateFunctions extends UnitTestCase {
ob_start();
p($normalString);
$result = ob_get_clean();
- ob_end_clean();
- $this->assertEqual("This is a good string!", $result);
+ $this->assertEquals("This is a good string!", $result);
}
@@ -52,9 +50,8 @@ class Test_TemplateFunctions extends UnitTestCase {
ob_start();
print_unescaped($htmlString);
$result = ob_get_clean();
- ob_end_clean();
- $this->assertEqual($htmlString, $result);
+ $this->assertEquals($htmlString, $result);
}
public function testPrintUnescapedNormalString() {
@@ -62,9 +59,8 @@ class Test_TemplateFunctions extends UnitTestCase {
ob_start();
print_unescaped($normalString);
$result = ob_get_clean();
- ob_end_clean();
- $this->assertEqual("This is a good string!", $result);
+ $this->assertEquals("This is a good string!", $result);
}
diff --git a/tests/lib/user/backend.php b/tests/lib/user/backend.php
index 0b744770ea2..40674424c96 100644
--- a/tests/lib/user/backend.php
+++ b/tests/lib/user/backend.php
@@ -30,7 +30,7 @@
* For an example see /tests/lib/user/dummy.php
*/
-abstract class Test_User_Backend extends UnitTestCase {
+abstract class Test_User_Backend extends PHPUnit_Framework_TestCase {
/**
* @var OC_User_Backend $backend
*/
@@ -53,18 +53,18 @@ abstract class Test_User_Backend extends UnitTestCase {
$name2=$this->getUser();
$this->backend->createUser($name1, '');
$count=count($this->backend->getUsers())-$startCount;
- $this->assertEqual(1, $count);
+ $this->assertEquals(1, $count);
$this->assertTrue((array_search($name1, $this->backend->getUsers())!==false));
$this->assertFalse((array_search($name2, $this->backend->getUsers())!==false));
$this->backend->createUser($name2, '');
$count=count($this->backend->getUsers())-$startCount;
- $this->assertEqual(2, $count);
+ $this->assertEquals(2, $count);
$this->assertTrue((array_search($name1, $this->backend->getUsers())!==false));
$this->assertTrue((array_search($name2, $this->backend->getUsers())!==false));
$this->backend->deleteUser($name2);
$count=count($this->backend->getUsers())-$startCount;
- $this->assertEqual(1, $count);
+ $this->assertEquals(1, $count);
$this->assertTrue((array_search($name1, $this->backend->getUsers())!==false));
$this->assertFalse((array_search($name2, $this->backend->getUsers())!==false));
}
diff --git a/tests/lib/util.php b/tests/lib/util.php
index 27635cb8055..ebff3c7381a 100644
--- a/tests/lib/util.php
+++ b/tests/lib/util.php
@@ -6,7 +6,7 @@
* See the COPYING-README file.
*/
-class Test_Util extends UnitTestCase {
+class Test_Util extends PHPUnit_Framework_TestCase {
// Constructor
function Test_Util() {
diff --git a/tests/lib/vcategories.php b/tests/lib/vcategories.php
index 63516a063da..e79dd49870c 100644
--- a/tests/lib/vcategories.php
+++ b/tests/lib/vcategories.php
@@ -22,7 +22,7 @@
//require_once("../lib/template.php");
-class Test_VCategories extends UnitTestCase {
+class Test_VCategories extends PHPUnit_Framework_TestCase {
protected $objectType;
protected $user;
@@ -49,7 +49,7 @@ class Test_VCategories extends UnitTestCase {
$catmgr = new OC_VCategories($this->objectType, $this->user, $defcategories);
- $this->assertEqual(4, count($catmgr->categories()));
+ $this->assertEquals(4, count($catmgr->categories()));
}
public function testAddCategories() {
@@ -59,25 +59,25 @@ class Test_VCategories extends UnitTestCase {
foreach($categories as $category) {
$result = $catmgr->add($category);
- $this->assertTrue($result);
+ $this->assertTrue((bool)$result);
}
$this->assertFalse($catmgr->add('Family'));
$this->assertFalse($catmgr->add('fAMILY'));
- $this->assertEqual(4, count($catmgr->categories()));
+ $this->assertEquals(4, count($catmgr->categories()));
}
public function testdeleteCategories() {
$defcategories = array('Friends', 'Family', 'Work', 'Other');
$catmgr = new OC_VCategories($this->objectType, $this->user, $defcategories);
- $this->assertEqual(4, count($catmgr->categories()));
+ $this->assertEquals(4, count($catmgr->categories()));
$catmgr->delete('family');
- $this->assertEqual(3, count($catmgr->categories()));
+ $this->assertEquals(3, count($catmgr->categories()));
$catmgr->delete(array('Friends', 'Work', 'Other'));
- $this->assertEqual(0, count($catmgr->categories()));
+ $this->assertEquals(0, count($catmgr->categories()));
}
@@ -90,8 +90,8 @@ class Test_VCategories extends UnitTestCase {
$catmgr->addToCategory($id, 'Family');
}
- $this->assertEqual(1, count($catmgr->categories()));
- $this->assertEqual(9, count($catmgr->idsForCategory('Family')));
+ $this->assertEquals(1, count($catmgr->categories()));
+ $this->assertEquals(9, count($catmgr->idsForCategory('Family')));
}
/**
@@ -110,8 +110,8 @@ class Test_VCategories extends UnitTestCase {
$this->assertFalse(in_array($id, $catmgr->idsForCategory('Family')));
}
- $this->assertEqual(1, count($catmgr->categories()));
- $this->assertEqual(0, count($catmgr->idsForCategory('Family')));
+ $this->assertEquals(1, count($catmgr->categories()));
+ $this->assertEquals(0, count($catmgr->idsForCategory('Family')));
}
}
diff --git a/tests/phpunit.xml b/tests/phpunit.xml
index 23cd123edc6..f5a686c3020 100644
--- a/tests/phpunit.xml
+++ b/tests/phpunit.xml
@@ -11,4 +11,7 @@
<directory suffix=".php">../3rdparty</directory>
</exclude>
</whitelist>
+ <listeners>
+ <listener class="PHPUnit_Util_Log_JSON"></listener>
+ </listeners>
</phpunit>