summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--apps/files/admin.php4
-rw-r--r--apps/files/ajax/delete.php23
-rw-r--r--apps/files/ajax/getstoragestats.php9
-rw-r--r--apps/files/ajax/upload.php87
-rw-r--r--apps/files/css/files.css2
-rw-r--r--apps/files/download.php3
-rw-r--r--apps/files/index.php8
-rw-r--r--apps/files/js/filelist.js33
-rw-r--r--apps/files/js/files.js75
-rw-r--r--apps/files/l10n/ar.php2
-rw-r--r--apps/files/l10n/bg_BG.php2
-rw-r--r--apps/files/l10n/bn_BD.php3
-rw-r--r--apps/files/l10n/ca.php6
-rw-r--r--apps/files/l10n/cs_CZ.php6
-rw-r--r--apps/files/l10n/da.php2
-rw-r--r--apps/files/l10n/de.php3
-rw-r--r--apps/files/l10n/de_DE.php6
-rw-r--r--apps/files/l10n/el.php6
-rw-r--r--apps/files/l10n/eo.php3
-rw-r--r--apps/files/l10n/es.php3
-rw-r--r--apps/files/l10n/es_AR.php3
-rw-r--r--apps/files/l10n/et_EE.php2
-rw-r--r--apps/files/l10n/eu.php7
-rw-r--r--apps/files/l10n/fa.php29
-rw-r--r--apps/files/l10n/fi_FI.php6
-rw-r--r--apps/files/l10n/fr.php4
-rw-r--r--apps/files/l10n/gl.php3
-rw-r--r--apps/files/l10n/he.php2
-rw-r--r--apps/files/l10n/hr.php2
-rw-r--r--apps/files/l10n/hu_HU.php6
-rw-r--r--apps/files/l10n/ia.php2
-rw-r--r--apps/files/l10n/id.php2
-rw-r--r--apps/files/l10n/is.php3
-rw-r--r--apps/files/l10n/it.php6
-rw-r--r--apps/files/l10n/ja_JP.php3
-rw-r--r--apps/files/l10n/ka_GE.php2
-rw-r--r--apps/files/l10n/ko.php3
-rw-r--r--apps/files/l10n/ku_IQ.php2
-rw-r--r--apps/files/l10n/lb.php3
-rw-r--r--apps/files/l10n/lt_LT.php2
-rw-r--r--apps/files/l10n/lv.php2
-rw-r--r--apps/files/l10n/mk.php2
-rw-r--r--apps/files/l10n/ms_MY.php2
-rw-r--r--apps/files/l10n/nb_NO.php2
-rw-r--r--apps/files/l10n/nl.php3
-rw-r--r--apps/files/l10n/nn_NO.php2
-rw-r--r--apps/files/l10n/oc.php2
-rw-r--r--apps/files/l10n/pl.php3
-rw-r--r--apps/files/l10n/pt_BR.php2
-rw-r--r--apps/files/l10n/pt_PT.php10
-rw-r--r--apps/files/l10n/ro.php5
-rw-r--r--apps/files/l10n/ru.php3
-rw-r--r--apps/files/l10n/ru_RU.php2
-rw-r--r--apps/files/l10n/si_LK.php2
-rw-r--r--apps/files/l10n/sk_SK.php10
-rw-r--r--apps/files/l10n/sl.php2
-rw-r--r--apps/files/l10n/sr.php2
-rw-r--r--apps/files/l10n/sr@latin.php2
-rw-r--r--apps/files/l10n/sv.php3
-rw-r--r--apps/files/l10n/ta_LK.php2
-rw-r--r--apps/files/l10n/th_TH.php3
-rw-r--r--apps/files/l10n/tr.php3
-rw-r--r--apps/files/l10n/uk.php2
-rw-r--r--apps/files/l10n/vi.php2
-rw-r--r--apps/files/l10n/zh_CN.GB2312.php2
-rw-r--r--apps/files/l10n/zh_CN.php3
-rw-r--r--apps/files/l10n/zh_TW.php3
-rw-r--r--apps/files/lib/helper.php20
-rw-r--r--apps/files/settings.php4
-rw-r--r--apps/files/templates/index.php2
-rw-r--r--apps/files/templates/part.list.php8
-rw-r--r--apps/files_encryption/l10n/ca.php11
-rw-r--r--apps/files_encryption/l10n/de_DE.php3
-rw-r--r--apps/files_encryption/l10n/el.php2
-rw-r--r--apps/files_encryption/l10n/es.php3
-rw-r--r--apps/files_encryption/l10n/fr.php11
-rw-r--r--apps/files_encryption/l10n/hu_HU.php11
-rw-r--r--apps/files_encryption/l10n/it.php2
-rw-r--r--apps/files_encryption/l10n/ro.php11
-rw-r--r--apps/files_encryption/l10n/sv.php11
-rw-r--r--apps/files_encryption/l10n/zh_TW.php11
-rwxr-xr-xapps/files_encryption/test/crypt.php20
-rw-r--r--apps/files_encryption/test/proxy.php24
-rw-r--r--apps/files_encryption/test/stream.php22
-rwxr-xr-xapps/files_encryption/test/util.php2
-rw-r--r--apps/files_external/l10n/ro.php8
-rw-r--r--apps/files_external/tests/ftp.php8
-rw-r--r--apps/files_sharing/js/share.js4
-rw-r--r--apps/files_sharing/l10n/lb.php3
-rw-r--r--apps/files_sharing/l10n/zh_TW.php3
-rw-r--r--apps/files_sharing/public.php2
-rw-r--r--apps/files_sharing/templates/public.php8
-rw-r--r--apps/files_versions/l10n/lb.php5
-rw-r--r--apps/user_ldap/l10n/fr.php8
-rw-r--r--apps/user_ldap/l10n/lb.php1
-rw-r--r--apps/user_ldap/l10n/ro.php4
-rw-r--r--apps/user_ldap/tests/group_ldap.php2
-rw-r--r--apps/user_webdavauth/l10n/fr.php4
-rw-r--r--apps/user_webdavauth/l10n/hu_HU.php4
-rw-r--r--apps/user_webdavauth/l10n/ro.php4
-rw-r--r--apps/user_webdavauth/l10n/sk_SK.php3
-rw-r--r--build/phpcs.xml2
-rw-r--r--config/config.sample.php9
-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/styles.css7
-rw-r--r--core/js/config.php41
-rw-r--r--core/js/eventsource.js2
-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.js74
-rw-r--r--core/js/oc-requesttoken.js3
-rw-r--r--core/js/setup.js9
-rw-r--r--core/js/share.js23
-rw-r--r--core/js/update.js23
-rw-r--r--core/js/visitortimezone.js4
-rw-r--r--core/l10n/ar.php38
-rw-r--r--core/l10n/bg_BG.php1
-rw-r--r--core/l10n/bn_BD.php38
-rw-r--r--core/l10n/ca.php38
-rw-r--r--core/l10n/cs_CZ.php38
-rw-r--r--core/l10n/da.php41
-rw-r--r--core/l10n/de.php38
-rw-r--r--core/l10n/de_DE.php38
-rw-r--r--core/l10n/el.php38
-rw-r--r--core/l10n/eo.php38
-rw-r--r--core/l10n/es.php38
-rw-r--r--core/l10n/es_AR.php38
-rw-r--r--core/l10n/et_EE.php38
-rw-r--r--core/l10n/eu.php38
-rw-r--r--core/l10n/fa.php86
-rw-r--r--core/l10n/fi_FI.php38
-rw-r--r--core/l10n/fr.php38
-rw-r--r--core/l10n/gl.php38
-rw-r--r--core/l10n/he.php38
-rw-r--r--core/l10n/hr.php38
-rw-r--r--core/l10n/hu_HU.php40
-rw-r--r--core/l10n/ia.php38
-rw-r--r--core/l10n/id.php38
-rw-r--r--core/l10n/is.php38
-rw-r--r--core/l10n/it.php38
-rw-r--r--core/l10n/ja_JP.php38
-rw-r--r--core/l10n/ka_GE.php38
-rw-r--r--core/l10n/ko.php38
-rw-r--r--core/l10n/lb.php51
-rw-r--r--core/l10n/lt_LT.php38
-rw-r--r--core/l10n/lv.php20
-rw-r--r--core/l10n/mk.php38
-rw-r--r--core/l10n/ms_MY.php38
-rw-r--r--core/l10n/nb_NO.php38
-rw-r--r--core/l10n/nl.php38
-rw-r--r--core/l10n/nn_NO.php38
-rw-r--r--core/l10n/oc.php38
-rw-r--r--core/l10n/pl.php38
-rw-r--r--core/l10n/pt_BR.php38
-rw-r--r--core/l10n/pt_PT.php52
-rw-r--r--core/l10n/ro.php57
-rw-r--r--core/l10n/ru.php38
-rw-r--r--core/l10n/ru_RU.php38
-rw-r--r--core/l10n/si_LK.php38
-rw-r--r--core/l10n/sk_SK.php38
-rw-r--r--core/l10n/sl.php38
-rw-r--r--core/l10n/sr.php38
-rw-r--r--core/l10n/sr@latin.php38
-rw-r--r--core/l10n/sv.php38
-rw-r--r--core/l10n/ta_LK.php38
-rw-r--r--core/l10n/th_TH.php38
-rw-r--r--core/l10n/tr.php38
-rw-r--r--core/l10n/uk.php38
-rw-r--r--core/l10n/vi.php38
-rw-r--r--core/l10n/zh_CN.GB2312.php38
-rw-r--r--core/l10n/zh_CN.php38
-rw-r--r--core/l10n/zh_TW.php38
-rw-r--r--core/routes.php3
-rw-r--r--core/templates/layout.base.php6
-rw-r--r--core/templates/layout.guest.php11
-rw-r--r--core/templates/layout.user.php25
-rw-r--r--core/templates/login.php7
-rw-r--r--core/templates/update.php26
-rw-r--r--l10n/ar/core.po199
-rw-r--r--l10n/ar/files.po123
-rw-r--r--l10n/bg_BG/core.po201
-rw-r--r--l10n/bg_BG/files.po123
-rw-r--r--l10n/bn_BD/core.po199
-rw-r--r--l10n/bn_BD/files.po125
-rw-r--r--l10n/ca/core.po199
-rw-r--r--l10n/ca/files.po123
-rw-r--r--l10n/ca/files_encryption.po29
-rw-r--r--l10n/cs_CZ/core.po199
-rw-r--r--l10n/cs_CZ/files.po125
-rw-r--r--l10n/da/core.po202
-rw-r--r--l10n/da/files.po123
-rw-r--r--l10n/de/core.po199
-rw-r--r--l10n/de/files.po127
-rw-r--r--l10n/de/settings.po35
-rw-r--r--l10n/de_DE/core.po201
-rw-r--r--l10n/de_DE/files.po128
-rw-r--r--l10n/de_DE/files_encryption.po13
-rw-r--r--l10n/de_DE/settings.po35
-rw-r--r--l10n/el/core.po201
-rw-r--r--l10n/el/files.po125
-rw-r--r--l10n/el/files_encryption.po8
-rw-r--r--l10n/eo/core.po199
-rw-r--r--l10n/eo/files.po127
-rw-r--r--l10n/es/core.po199
-rw-r--r--l10n/es/files.po127
-rw-r--r--l10n/es/files_encryption.po13
-rw-r--r--l10n/es_AR/core.po199
-rw-r--r--l10n/es_AR/files.po127
-rw-r--r--l10n/et_EE/core.po199
-rw-r--r--l10n/et_EE/files.po123
-rw-r--r--l10n/eu/core.po201
-rw-r--r--l10n/eu/files.po131
-rw-r--r--l10n/fa/core.po296
-rw-r--r--l10n/fa/files.po176
-rw-r--r--l10n/fa/lib.po8
-rw-r--r--l10n/fi_FI/core.po201
-rw-r--r--l10n/fi_FI/files.po125
-rw-r--r--l10n/fr/core.po199
-rw-r--r--l10n/fr/files.po127
-rw-r--r--l10n/fr/files_encryption.po30
-rw-r--r--l10n/fr/lib.po12
-rw-r--r--l10n/fr/user_ldap.po20
-rw-r--r--l10n/fr/user_webdavauth.po10
-rw-r--r--l10n/gl/core.po199
-rw-r--r--l10n/gl/files.po125
-rw-r--r--l10n/he/core.po199
-rw-r--r--l10n/he/files.po123
-rw-r--r--l10n/hi/core.po199
-rw-r--r--l10n/hi/files.po123
-rw-r--r--l10n/hr/core.po199
-rw-r--r--l10n/hr/files.po123
-rw-r--r--l10n/hu_HU/core.po204
-rw-r--r--l10n/hu_HU/files.po128
-rw-r--r--l10n/hu_HU/files_encryption.po30
-rw-r--r--l10n/hu_HU/lib.po8
-rw-r--r--l10n/hu_HU/user_webdavauth.po11
-rw-r--r--l10n/ia/core.po199
-rw-r--r--l10n/ia/files.po123
-rw-r--r--l10n/id/core.po199
-rw-r--r--l10n/id/files.po123
-rw-r--r--l10n/is/core.po199
-rw-r--r--l10n/is/files.po125
-rw-r--r--l10n/it/core.po199
-rw-r--r--l10n/it/files.po125
-rw-r--r--l10n/it/files_encryption.po8
-rw-r--r--l10n/ja_JP/core.po199
-rw-r--r--l10n/ja_JP/files.po127
-rw-r--r--l10n/ka_GE/core.po199
-rw-r--r--l10n/ka_GE/files.po123
-rw-r--r--l10n/ko/core.po199
-rw-r--r--l10n/ko/files.po125
-rw-r--r--l10n/ku_IQ/core.po199
-rw-r--r--l10n/ku_IQ/files.po123
-rw-r--r--l10n/lb/core.po224
-rw-r--r--l10n/lb/files.po125
-rw-r--r--l10n/lb/files_sharing.po16
-rw-r--r--l10n/lb/files_versions.po13
-rw-r--r--l10n/lb/lib.po14
-rw-r--r--l10n/lb/user_ldap.po6
-rw-r--r--l10n/lt_LT/core.po199
-rw-r--r--l10n/lt_LT/files.po123
-rw-r--r--l10n/lv/core.po201
-rw-r--r--l10n/lv/files.po123
-rw-r--r--l10n/lv/settings.po32
-rw-r--r--l10n/mk/core.po199
-rw-r--r--l10n/mk/files.po123
-rw-r--r--l10n/ms_MY/core.po199
-rw-r--r--l10n/ms_MY/files.po123
-rw-r--r--l10n/nb_NO/core.po199
-rw-r--r--l10n/nb_NO/files.po123
-rw-r--r--l10n/nl/core.po199
-rw-r--r--l10n/nl/files.po127
-rw-r--r--l10n/nn_NO/core.po199
-rw-r--r--l10n/nn_NO/files.po123
-rw-r--r--l10n/oc/core.po199
-rw-r--r--l10n/oc/files.po123
-rw-r--r--l10n/pl/core.po199
-rw-r--r--l10n/pl/files.po125
-rw-r--r--l10n/pl/lib.po12
-rw-r--r--l10n/pl_PL/core.po199
-rw-r--r--l10n/pl_PL/files.po123
-rw-r--r--l10n/pt_BR/core.po199
-rw-r--r--l10n/pt_BR/files.po123
-rw-r--r--l10n/pt_PT/core.po214
-rw-r--r--l10n/pt_PT/files.po132
-rw-r--r--l10n/ro/core.po232
-rw-r--r--l10n/ro/files.po130
-rw-r--r--l10n/ro/files_encryption.po29
-rw-r--r--l10n/ro/files_external.po29
-rw-r--r--l10n/ro/lib.po11
-rw-r--r--l10n/ro/settings.po19
-rw-r--r--l10n/ro/user_ldap.po16
-rw-r--r--l10n/ro/user_webdavauth.po11
-rw-r--r--l10n/ru/core.po199
-rw-r--r--l10n/ru/files.po125
-rw-r--r--l10n/ru_RU/core.po199
-rw-r--r--l10n/ru_RU/files.po123
-rw-r--r--l10n/si_LK/core.po199
-rw-r--r--l10n/si_LK/files.po123
-rw-r--r--l10n/sk_SK/core.po201
-rw-r--r--l10n/sk_SK/files.po140
-rw-r--r--l10n/sk_SK/settings.po37
-rw-r--r--l10n/sk_SK/user_webdavauth.po11
-rw-r--r--l10n/sl/core.po199
-rw-r--r--l10n/sl/files.po123
-rw-r--r--l10n/sr/core.po201
-rw-r--r--l10n/sr/files.po123
-rw-r--r--l10n/sr@latin/core.po199
-rw-r--r--l10n/sr@latin/files.po123
-rw-r--r--l10n/sv/core.po199
-rw-r--r--l10n/sv/files.po127
-rw-r--r--l10n/sv/files_encryption.po30
-rw-r--r--l10n/ta_LK/core.po199
-rw-r--r--l10n/ta_LK/files.po123
-rw-r--r--l10n/templates/core.pot197
-rw-r--r--l10n/templates/files.pot121
-rw-r--r--l10n/templates/files_encryption.pot2
-rw-r--r--l10n/templates/files_external.pot2
-rw-r--r--l10n/templates/files_sharing.pot12
-rw-r--r--l10n/templates/files_versions.pot2
-rw-r--r--l10n/templates/lib.pot2
-rw-r--r--l10n/templates/settings.pot28
-rw-r--r--l10n/templates/user_ldap.pot2
-rw-r--r--l10n/templates/user_webdavauth.pot2
-rw-r--r--l10n/th_TH/core.po201
-rw-r--r--l10n/th_TH/files.po127
-rw-r--r--l10n/tr/core.po201
-rw-r--r--l10n/tr/files.po127
-rw-r--r--l10n/uk/core.po201
-rw-r--r--l10n/uk/files.po123
-rw-r--r--l10n/vi/core.po199
-rw-r--r--l10n/vi/files.po123
-rw-r--r--l10n/zh_CN.GB2312/core.po199
-rw-r--r--l10n/zh_CN.GB2312/files.po123
-rw-r--r--l10n/zh_CN/core.po201
-rw-r--r--l10n/zh_CN/files.po127
-rw-r--r--l10n/zh_HK/core.po199
-rw-r--r--l10n/zh_HK/files.po123
-rw-r--r--l10n/zh_TW/core.po199
-rw-r--r--l10n/zh_TW/files.po127
-rw-r--r--l10n/zh_TW/files_encryption.po29
-rw-r--r--l10n/zh_TW/files_sharing.po9
-rw-r--r--lib/api.php3
-rw-r--r--lib/app.php98
-rw-r--r--lib/base.php54
-rw-r--r--lib/helper.php19
-rw-r--r--lib/l10n/fa.php1
-rw-r--r--lib/l10n/fr.php1
-rw-r--r--lib/l10n/hu_HU.php4
-rw-r--r--lib/l10n/lb.php6
-rw-r--r--lib/l10n/pl.php1
-rw-r--r--lib/l10n/ro.php1
-rw-r--r--lib/mail.php2
-rw-r--r--lib/template.php12
-rw-r--r--lib/templatelayout.php5
-rw-r--r--lib/user.php4
-rw-r--r--robots.txt2
-rw-r--r--settings/apps.php92
-rw-r--r--settings/js/apps-custom.php26
-rw-r--r--settings/js/isadmin.php20
-rw-r--r--settings/js/users.js15
-rw-r--r--settings/l10n/de.php2
-rw-r--r--settings/l10n/de_DE.php2
-rw-r--r--settings/l10n/lv.php1
-rw-r--r--settings/l10n/ro.php3
-rw-r--r--settings/l10n/sk_SK.php15
-rw-r--r--settings/personal.php16
-rw-r--r--settings/routes.php4
-rw-r--r--settings/templates/apps.php11
-rw-r--r--settings/templates/help.php23
-rw-r--r--settings/templates/users.php8
-rw-r--r--tests/bootstrap.php19
-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/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.php10
-rw-r--r--tests/lib/user/backend.php8
-rw-r--r--tests/lib/util.php2
-rw-r--r--tests/lib/vcategories.php22
402 files changed, 29259 insertions, 12847 deletions
diff --git a/apps/files/admin.php b/apps/files/admin.php
index f747f8645f6..02c3147dba5 100644
--- a/apps/files/admin.php
+++ b/apps/files/admin.php
@@ -21,10 +21,6 @@
*
*/
-
-// Init owncloud
-
-
OCP\User::checkAdminUser();
$htaccessWorking=(getenv('htaccessWorking')=='true');
diff --git a/apps/files/ajax/delete.php b/apps/files/ajax/delete.php
index 293543c547f..575b8c8d9ea 100644
--- a/apps/files/ajax/delete.php
+++ b/apps/files/ajax/delete.php
@@ -14,27 +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;
}
}
-// updated max file size after upload
-$l=new OC_L10N('files');
-$maxUploadFilesize=OCP\Util::maxUploadFilesize($dir);
-$maxHumanFilesize=OCP\Util::humanFileSize($maxUploadFilesize);
-$maxHumanFilesize=$l->t('Upload') . ' max. '.$maxHumanFilesize;
+// 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( "dir" => $dir, "files" => $files,
- 'uploadMaxFilesize'=>$maxUploadFilesize,
- 'maxHumanFilesize'=>$maxHumanFilesize
- )));
+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,
- 'uploadMaxFilesize'=>$maxUploadFilesize,
- 'maxHumanFilesize'=>$maxHumanFilesize
- )));
+ 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
index e55e346ed67..7a2b642a9bd 100644
--- a/apps/files/ajax/getstoragestats.php
+++ b/apps/files/ajax/getstoragestats.php
@@ -5,12 +5,5 @@ $RUNTIME_APPTYPES = array('filesystem');
OCP\JSON::checkLoggedIn();
-$l=new OC_L10N('files');
-$maxUploadFilesize = OCP\Util::maxUploadFilesize($dir);
-$maxHumanFilesize = OCP\Util::humanFileSize($maxUploadFilesize);
-$maxHumanFilesize = $l->t('Upload') . ' max. ' . $maxHumanFilesize;
-
// send back json
-OCP\JSON::success(array('data' => array('uploadMaxFilesize' => $maxUploadFilesize,
- 'maxHumanFilesize' => $maxHumanFilesize
-)));
+OCP\JSON::success(array('data' => \OCA\files\lib\Helper::buildFileStorageStatistics('/')));
diff --git a/apps/files/ajax/upload.php b/apps/files/ajax/upload.php
index 93398019608..415524be629 100644
--- a/apps/files/ajax/upload.php
+++ b/apps/files/ajax/upload.php
@@ -8,90 +8,73 @@ OCP\JSON::setContentTypeHeader('text/plain');
OCP\JSON::checkLoggedIn();
OCP\JSON::callCheck();
-$l=OC_L10N::get('files');
+$l = OC_L10N::get('files');
-// current max upload size
-$l=new OC_L10N('files');
-$maxUploadFilesize=OCP\Util::maxUploadFilesize($dir);
-$maxHumanFilesize=OCP\Util::humanFileSize($maxUploadFilesize);
-$maxHumanFilesize=$l->t('Upload') . ' max. '.$maxHumanFilesize;
+// 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' => $l->t( 'No file was uploaded. Unknown error' ),
- 'uploadMaxFilesize'=>$maxUploadFilesize,
- 'maxHumanFilesize'=>$maxHumanFilesize
- )));
+ 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) {
$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],
- 'uploadMaxFilesize'=>$maxUploadFilesize,
- 'maxHumanFilesize'=>$maxHumanFilesize
- )));
+ 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' => $l->t( 'Not enough space available' ),
- 'uploadMaxFilesize'=>$maxUploadFilesize,
- 'maxHumanFilesize'=>$maxHumanFilesize)));
+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);
+
// updated max file size after upload
- $maxUploadFilesize=OCP\Util::maxUploadFilesize($dir);
- $maxHumanFilesize=OCP\Util::humanFileSize($maxUploadFilesize);
- $maxHumanFilesize=$l->t('Upload') . ' max. '.$maxHumanFilesize;
+ $storageStats = \OCA\files\lib\Helper::buildFileStorageStatistics($dir);
- $result[]=array( 'status' => 'success',
- 'mime'=>$meta['mimetype'],
- 'size'=>$meta['size'],
- 'id'=>$id,
- 'name'=>basename($target),
- 'uploadMaxFilesize'=>$maxUploadFilesize,
- 'maxHumanFilesize'=>$maxHumanFilesize
+ $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=$l->t( 'Invalid directory.' );
+ $error = $l->t('Invalid directory.');
}
-OCP\JSON::error(array('data' => array('message' => $error,
- 'uploadMaxFilesize'=>$maxUploadFilesize,
- 'maxHumanFilesize'=>$maxHumanFilesize
-)));
+OCP\JSON::error(array('data' => array_merge(array('message' => $error), $storageStats)));
diff --git a/apps/files/css/files.css b/apps/files/css/files.css
index 0c97b009b88..e65f724f688 100644
--- a/apps/files/css/files.css
+++ b/apps/files/css/files.css
@@ -104,7 +104,7 @@ table td.filename form { font-size:.85em; margin-left:3em; margin-right:3em; }
#fileList tr:hover .fileactions { /* background to distinguish when overlaying with file names */
background:rgba(248,248,248,.9); box-shadow:-5px 0 7px rgba(248,248,248,.9);
}
-#fileList tr.selected:hover .fileactions { /* slightly darker color for selected rows */
+#fileList tr.selected:hover .fileactions, #fileList tr.mouseOver .fileactions { /* slightly darker color for selected rows */
background:rgba(238,238,238,.9); box-shadow:-5px 0 7px rgba(238,238,238,.9);
}
#fileList .fileactions a.action img { position:relative; top:.2em; }
diff --git a/apps/files/download.php b/apps/files/download.php
index e2149cd4135..1b70b1e38f8 100644
--- a/apps/files/download.php
+++ b/apps/files/download.php
@@ -21,9 +21,6 @@
*
*/
-// Init owncloud
-
-
// Check if we are a user
OCP\User::checkLoggedIn();
diff --git a/apps/files/index.php b/apps/files/index.php
index 1c4b7fbd497..e3197b9e3c0 100644
--- a/apps/files/index.php
+++ b/apps/files/index.php
@@ -76,6 +76,7 @@ $list = new OCP\Template('files', 'part.list', '');
$list->assign('files', $files, false);
$list->assign('baseURL', OCP\Util::linkTo('files', 'index.php') . '?dir=', false);
$list->assign('downloadURL', OCP\Util::linkTo('files', 'download.php') . '?file=', false);
+$list->assign('disableSharing', false);
$breadcrumbNav = new OCP\Template('files', 'part.breadcrumb', '');
$breadcrumbNav->assign('breadcrumb', $breadcrumb, false);
$breadcrumbNav->assign('baseURL', OCP\Util::linkTo('files', 'index.php') . '?dir=', false);
@@ -83,6 +84,9 @@ $breadcrumbNav->assign('baseURL', OCP\Util::linkTo('files', 'index.php') . '?dir
$maxUploadFilesize=OCP\Util::maxUploadFilesize($dir);
$permissions = OCP\PERMISSION_READ;
+if (OC_Filesystem::isCreatable($dir . '/')) {
+ $permissions |= OCP\PERMISSION_CREATE;
+}
if (OC_Filesystem::isUpdatable($dir . '/')) {
$permissions |= OCP\PERMISSION_UPDATE;
}
@@ -93,6 +97,9 @@ if (OC_Filesystem::isSharable($dir . '/')) {
$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);
@@ -103,4 +110,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/filelist.js b/apps/files/js/filelist.js
index 66697bbbf56..04b7d92e2c3 100644
--- a/apps/files/js/filelist.js
+++ b/apps/files/js/filelist.js
@@ -201,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;
@@ -251,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) {
@@ -285,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){
@@ -302,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);
});
@@ -362,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 c1abe205151..6486468eafd 100644
--- a/apps/files/js/files.js
+++ b/apps/files/js/files.js
@@ -32,26 +32,28 @@ Files={
}
if(response.data !== undefined && response.data.uploadMaxFilesize !== undefined) {
$('#max_upload').val(response.data.uploadMaxFilesize);
- $('#data-upload-form a').attr('original-title', response.data.maxHumanFilesize);
+ $('#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);
- $('#data-upload-form a').attr('original-title', response[0].maxHumanFilesize);
+ $('#upload.button').attr('original-title', response[0].maxHumanFilesize);
+ $('#usedSpacePercent').val(response[0].usedSpacePercent);
+ Files.displayStorageWarnings();
}
},
isFileNameValid:function (name) {
if (name === '.') {
- $('#notification').text(t('files', '\'.\' is an invalid file name.'));
- $('#notification').fadeIn();
+ OC.Notification.show(t('files', '\'.\' is an invalid file name.'));
return false;
}
if (name.length == 0) {
- $('#notification').text(t('files', 'File name cannot be empty.'));
- $('#notification').fadeIn();
+ OC.Notification.show(t('files', 'File name cannot be empty.'));
return false;
}
@@ -59,13 +61,26 @@ Files={
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();
+ OC.Notification.show(t('files', "Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed."));
return false;
}
}
- $('#notification').fadeOut();
+ 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() {
@@ -201,8 +216,7 @@ $(document).ready(function() {
$('.download').click('click',function(event) {
var files=getSelectedFiles('name').join(';');
var dir=$('#dir').val()||'/';
- $('#notification').text(t('files','Your download is being prepared. This might take some time if the files are big.'));
- $('#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;
@@ -331,8 +345,7 @@ $(document).ready(function() {
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];
@@ -372,9 +385,7 @@ $(document).ready(function() {
uploadtext.text(t('files', '{count} files uploading', {count: currentUploads}));
}
delete uploadingFiles[dirName][fileName];
- $('#notification').hide();
- $('#notification').text(t('files', 'Upload cancelled.'));
- $('#notification').fadeIn();
+ OC.Notification.show(t('files', 'Upload cancelled.'));
}
});
//TODO test with filenames containing slashes
@@ -401,20 +412,17 @@ $(document).ready(function() {
FileList.loadingDone(file.name, file.id);
} else {
Files.cancelUpload(this.files[0].name);
- $('#notification').text(t('files', response.data.message));
- $('#notification').fadeIn();
+ 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') {
- Files.cancelUpload(this.files[0].name);
- $('#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;
}
}
@@ -435,8 +443,7 @@ $(document).ready(function() {
FileList.loadingDone(file.name, file.id);
} else {
//TODO Files.cancelUpload(/*where do we get the filename*/);
- $('#notification').text(t('files', response.data.message));
- $('#notification').fadeIn();
+ OC.Notification.show(t('files', response.data.message));
$('#fileList > tr').not('[data-mime]').fadeOut();
$('#fileList > tr').not('[data-mime]').remove();
}
@@ -556,14 +563,12 @@ $(document).ready(function() {
event.preventDefault();
var newname=input.val();
if(type == 'web' && newname.length == 0) {
- $('#notification').text(t('files', 'URL cannot be empty.'));
- $('#notification').fadeIn();
+ 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') {
- $('#notification').text(t('files','Invalid folder name. Usage of \'Shared\' is reserved by Owncloud'));
- $('#notification').fadeIn();
+ OC.Notification.show(t('files','Invalid folder name. Usage of \'Shared\' is reserved by Owncloud'));
return false;
}
if (FileList.lastAction) {
@@ -734,6 +739,10 @@ $(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) {
diff --git a/apps/files/l10n/ar.php b/apps/files/l10n/ar.php
index d468b102875..b741815be45 100644
--- a/apps/files/l10n/ar.php
+++ b/apps/files/l10n/ar.php
@@ -1,5 +1,4 @@
<?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" => "تم ترÙيع جزء من الملÙات الذي تريد ترÙيعها Ùقط",
@@ -12,6 +11,7 @@
"Name" => "الاسم",
"Size" => "حجم",
"Modified" => "معدل",
+"Upload" => "إرÙع",
"Maximum upload size" => "الحد الأقصى لحجم الملÙات التي يمكن رÙعها",
"Save" => "Ø­Ùظ",
"New" => "جديد",
diff --git a/apps/files/l10n/bg_BG.php b/apps/files/l10n/bg_BG.php
index a8c2dc97e00..ae49f516999 100644
--- a/apps/files/l10n/bg_BG.php
+++ b/apps/files/l10n/bg_BG.php
@@ -1,5 +1,4 @@
<?php $TRANSLATIONS = array(
-"Upload" => "Качване",
"Missing a temporary folder" => "ЛипÑва временна папка",
"Files" => "Файлове",
"Delete" => "Изтриване",
@@ -11,6 +10,7 @@
"Name" => "Име",
"Size" => "Размер",
"Modified" => "Променено",
+"Upload" => "Качване",
"Maximum upload size" => "МакÑимален размер за качване",
"0 is unlimited" => "Ползвайте 0 за без ограничениÑ",
"Save" => "ЗапиÑ",
diff --git a/apps/files/l10n/bn_BD.php b/apps/files/l10n/bn_BD.php
index e8e19c6898f..d59463bb7a0 100644
--- a/apps/files/l10n/bn_BD.php
+++ b/apps/files/l10n/bn_BD.php
@@ -1,5 +1,4 @@
<?php $TRANSLATIONS = array(
-"Upload" => "আপলোড",
"Could not move %s - File with this name already exists" => "%s কে সà§à¦¥à¦¾à¦¨à¦¾à¦¨à§à¦¤à¦° করা সমà§à¦­à¦¬ হলো না - à¦à¦‡ নামের ফাইল বিদà§à¦¯à¦®à¦¾à¦¨",
"Could not move %s" => "%s কে সà§à¦¥à¦¾à¦¨à¦¾à¦¨à§à¦¤à¦° করা সমà§à¦­à¦¬ হলো না",
"Unable to rename file" => "ফাইলের নাম পরিবরà§à¦¤à¦¨ করা সমà§à¦­à¦¬ হলো না",
@@ -11,7 +10,6 @@
"No file was uploaded" => "কোন ফাইল আপলোড করা হয় নি",
"Missing a temporary folder" => "অসà§à¦¥à¦¾à§Ÿà§€ ফোলà§à¦¡à¦¾à¦° খোয়া গিয়েছে",
"Failed to write to disk" => "ডিসà§à¦•à§‡ লিখতে বà§à¦¯à¦°à§à¦¥",
-"Not enough space available" => "যথেষà§à¦  পরিমাণ সà§à¦¥à¦¾à¦¨ নেই",
"Invalid directory." => "ভà§à¦² ডিরেকà§à¦Ÿà¦°à¦¿",
"Files" => "ফাইল",
"Unshare" => "ভাগাভাগি বাতিল ",
@@ -48,6 +46,7 @@
"{count} folders" => "{count} টি ফোলà§à¦¡à¦¾à¦°",
"1 file" => "১টি ফাইল",
"{count} files" => "{count} টি ফাইল",
+"Upload" => "আপলোড",
"File handling" => "ফাইল হà§à¦¯à¦¾à¦°à§à¦¡à¦²à¦¿à¦‚",
"Maximum upload size" => "আপলোডের সরà§à¦¬à§‹à¦šà§à¦š আকার",
"max. possible: " => "অনà§à¦®à§‹à¦¦à¦¿à¦¤ সরà§à¦¬à§‹à¦šà§à¦š আকার",
diff --git a/apps/files/l10n/ca.php b/apps/files/l10n/ca.php
index b35a9299de0..ceec0264788 100644
--- a/apps/files/l10n/ca.php
+++ b/apps/files/l10n/ca.php
@@ -1,5 +1,4 @@
<?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",
@@ -11,7 +10,7 @@
"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",
+"Not enough storage available" => "No hi ha prou espai disponible",
"Invalid directory." => "Directori no vàlid.",
"Files" => "Fitxers",
"Unshare" => "Deixa de compartir",
@@ -29,6 +28,8 @@
"'.' 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.",
+"Your storage is full, files can not be updated or synced anymore!" => "El vostre espai d'emmagatzemament és ple, els fitxers ja no es poden actualitzar o sincronitzar!",
+"Your storage is almost full ({usedSpacePercent}%)" => "El vostre espai d'emmagatzemament és gairebé ple ({usedSpacePercent}%)",
"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",
@@ -49,6 +50,7 @@
"{count} folders" => "{count} carpetes",
"1 file" => "1 fitxer",
"{count} files" => "{count} fitxers",
+"Upload" => "Puja",
"File handling" => "Gestió de fitxers",
"Maximum upload size" => "Mida màxima de pujada",
"max. possible: " => "màxim possible:",
diff --git a/apps/files/l10n/cs_CZ.php b/apps/files/l10n/cs_CZ.php
index a8d82ba5111..86b254ca8cb 100644
--- a/apps/files/l10n/cs_CZ.php
+++ b/apps/files/l10n/cs_CZ.php
@@ -1,5 +1,4 @@
<?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",
@@ -11,7 +10,7 @@
"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",
+"Not enough storage available" => "Nedostatek dostupného úložného prostoru",
"Invalid directory." => "Neplatný adresář",
"Files" => "Soubory",
"Unshare" => "Zrušit sdílení",
@@ -29,6 +28,8 @@
"'.' 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.",
+"Your storage is full, files can not be updated or synced anymore!" => "Vaše úložiště je plné, nelze aktualizovat ani synchronizovat soubory.",
+"Your storage is almost full ({usedSpacePercent}%)" => "Vaše úložiště je téměř plné ({usedSpacePercent}%)",
"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í",
@@ -49,6 +50,7 @@
"{count} folders" => "{count} složky",
"1 file" => "1 soubor",
"{count} files" => "{count} soubory",
+"Upload" => "Odeslat",
"File handling" => "Zacházení se soubory",
"Maximum upload size" => "Maximální velikost pro odesílání",
"max. possible: " => "největší možná: ",
diff --git a/apps/files/l10n/da.php b/apps/files/l10n/da.php
index 010af12e960..c5e3647a7f4 100644
--- a/apps/files/l10n/da.php
+++ b/apps/files/l10n/da.php
@@ -1,5 +1,4 @@
<?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",
@@ -40,6 +39,7 @@
"{count} folders" => "{count} mapper",
"1 file" => "1 fil",
"{count} files" => "{count} filer",
+"Upload" => "Upload",
"File handling" => "Filhåndtering",
"Maximum upload size" => "Maksimal upload-størrelse",
"max. possible: " => "max. mulige: ",
diff --git a/apps/files/l10n/de.php b/apps/files/l10n/de.php
index c851f7df2a7..84aed12b5c1 100644
--- a/apps/files/l10n/de.php
+++ b/apps/files/l10n/de.php
@@ -1,5 +1,4 @@
<?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",
@@ -11,7 +10,6 @@
"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",
@@ -49,6 +47,7 @@
"{count} folders" => "{count} Ordner",
"1 file" => "1 Datei",
"{count} files" => "{count} Dateien",
+"Upload" => "Hochladen",
"File handling" => "Dateibehandlung",
"Maximum upload size" => "Maximale Upload-Größe",
"max. possible: " => "maximal möglich:",
diff --git a/apps/files/l10n/de_DE.php b/apps/files/l10n/de_DE.php
index 281685b78df..72751a7fb6f 100644
--- a/apps/files/l10n/de_DE.php
+++ b/apps/files/l10n/de_DE.php
@@ -1,5 +1,4 @@
<?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",
@@ -11,7 +10,7 @@
"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",
+"Not enough storage available" => "Nicht genug Speicher vorhanden.",
"Invalid directory." => "Ungültiges Verzeichnis.",
"Files" => "Dateien",
"Unshare" => "Nicht mehr freigeben",
@@ -29,6 +28,8 @@
"'.' 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.",
+"Your storage is full, files can not be updated or synced anymore!" => "Ihr Speicher ist voll. Daher können keine Dateien mehr aktualisiert oder synchronisiert werden!",
+"Your storage is almost full ({usedSpacePercent}%)" => "Ihr Speicher ist fast voll ({usedSpacePercent}%)",
"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",
@@ -49,6 +50,7 @@
"{count} folders" => "{count} Ordner",
"1 file" => "1 Datei",
"{count} files" => "{count} Dateien",
+"Upload" => "Hochladen",
"File handling" => "Dateibehandlung",
"Maximum upload size" => "Maximale Upload-Größe",
"max. possible: " => "maximal möglich:",
diff --git a/apps/files/l10n/el.php b/apps/files/l10n/el.php
index cc93943d286..196831b985d 100644
--- a/apps/files/l10n/el.php
+++ b/apps/files/l10n/el.php
@@ -1,5 +1,4 @@
<?php $TRANSLATIONS = array(
-"Upload" => "Αποστολή",
"Could not move %s - File with this name already exists" => "Αδυναμία μετακίνησης του %s - υπάÏχει ήδη αÏχείο με αυτό το όνομα",
"Could not move %s" => "Αδυναμία μετακίνησης του %s",
"Unable to rename file" => "Αδυναμία μετονομασίας αÏχείου",
@@ -11,7 +10,7 @@
"No file was uploaded" => "Κανένα αÏχείο δεν στάλθηκε",
"Missing a temporary folder" => "Λείπει ο Ï€ÏοσωÏινός φάκελος",
"Failed to write to disk" => "Αποτυχία εγγÏαφής στο δίσκο",
-"Not enough space available" => "Δεν υπάÏχει αÏκετός διαθέσιμος χώÏος",
+"Not enough storage available" => "Μη επαÏκής διαθέσιμος αποθηκευτικός χώÏος",
"Invalid directory." => "Μη έγκυÏος φάκελος.",
"Files" => "ΑÏχεία",
"Unshare" => "Διακοπή κοινής χÏήσης",
@@ -29,6 +28,8 @@
"'.' is an invalid file name." => "'.' είναι μη έγκυÏο όνομα αÏχείου.",
"File name cannot be empty." => "Το όνομα αÏχείου δεν Ï€Ïέπει να είναι κενό.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Μη έγκυÏο όνομα, '\\', '/', '<', '>', ':', '\"', '|', '?' και '*' δεν επιτÏέπονται.",
+"Your storage is full, files can not be updated or synced anymore!" => "Ο αποθηκευτικός σας χώÏος είναι γεμάτος, τα αÏχεία δεν μποÏοÏν να ενημεÏωθοÏν ή να συγχÏονιστοÏν πια!",
+"Your storage is almost full ({usedSpacePercent}%)" => "Ο αποθηκευτικός χώÏος είναι σχεδόν γεμάτος ({usedSpacePercent}%)",
"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" => "Σφάλμα Αποστολής",
@@ -49,6 +50,7 @@
"{count} folders" => "{count} φάκελοι",
"1 file" => "1 αÏχείο",
"{count} files" => "{count} αÏχεία",
+"Upload" => "Αποστολή",
"File handling" => "ΔιαχείÏιση αÏχείων",
"Maximum upload size" => "Μέγιστο μέγεθος αποστολής",
"max. possible: " => "μέγιστο δυνατό:",
diff --git a/apps/files/l10n/eo.php b/apps/files/l10n/eo.php
index 0aebf9c034e..fc4367c55a3 100644
--- a/apps/files/l10n/eo.php
+++ b/apps/files/l10n/eo.php
@@ -1,5 +1,4 @@
<?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",
@@ -11,7 +10,6 @@
"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",
@@ -49,6 +47,7 @@
"{count} folders" => "{count} dosierujoj",
"1 file" => "1 dosiero",
"{count} files" => "{count} dosierujoj",
+"Upload" => "AlÅuti",
"File handling" => "Dosieradministro",
"Maximum upload size" => "Maksimuma alÅutogrando",
"max. possible: " => "maks. ebla: ",
diff --git a/apps/files/l10n/es.php b/apps/files/l10n/es.php
index c76431ef383..1620208559f 100644
--- a/apps/files/l10n/es.php
+++ b/apps/files/l10n/es.php
@@ -1,5 +1,4 @@
<?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",
@@ -11,7 +10,6 @@
"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",
@@ -49,6 +47,7 @@
"{count} folders" => "{count} carpetas",
"1 file" => "1 archivo",
"{count} files" => "{count} archivos",
+"Upload" => "Subir",
"File handling" => "Tratamiento de archivos",
"Maximum upload size" => "Tamaño máximo de subida",
"max. possible: " => "máx. posible:",
diff --git a/apps/files/l10n/es_AR.php b/apps/files/l10n/es_AR.php
index 418844007b2..cd8347a14ad 100644
--- a/apps/files/l10n/es_AR.php
+++ b/apps/files/l10n/es_AR.php
@@ -1,5 +1,4 @@
<?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",
@@ -11,7 +10,6 @@
"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",
@@ -49,6 +47,7 @@
"{count} folders" => "{count} directorios",
"1 file" => "1 archivo",
"{count} files" => "{count} archivos",
+"Upload" => "Subir",
"File handling" => "Tratamiento de archivos",
"Maximum upload size" => "Tamaño máximo de subida",
"max. possible: " => "máx. posible:",
diff --git a/apps/files/l10n/et_EE.php b/apps/files/l10n/et_EE.php
index 8305cf0edea..1df237baa82 100644
--- a/apps/files/l10n/et_EE.php
+++ b/apps/files/l10n/et_EE.php
@@ -1,5 +1,4 @@
<?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",
@@ -39,6 +38,7 @@
"{count} folders" => "{count} kausta",
"1 file" => "1 fail",
"{count} files" => "{count} faili",
+"Upload" => "Lae üles",
"File handling" => "Failide käsitlemine",
"Maximum upload size" => "Maksimaalne üleslaadimise suurus",
"max. possible: " => "maks. võimalik: ",
diff --git a/apps/files/l10n/eu.php b/apps/files/l10n/eu.php
index a1cb5632121..8b8f6d2bd17 100644
--- a/apps/files/l10n/eu.php
+++ b/apps/files/l10n/eu.php
@@ -1,5 +1,4 @@
<?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",
@@ -11,7 +10,7 @@
"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.",
+"Not enough storage available" => "Ez dago behar aina leku erabilgarri,",
"Invalid directory." => "Baliogabeko karpeta.",
"Files" => "Fitxategiak",
"Unshare" => "Ez elkarbanatu",
@@ -29,6 +28,9 @@
"'.' 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.",
+"Your storage is full, files can not be updated or synced anymore!" => "Zure biltegiratzea beterik dago, ezingo duzu aurrerantzean fitxategirik igo edo sinkronizatu!",
+"Your storage is almost full ({usedSpacePercent}%)" => "Zure biltegiratzea nahiko beterik dago (%{usedSpacePercent})",
+"Your download is being prepared. This might take some time if the files are big." => "Zure deskarga prestatu egin behar da. Denbora bat har lezake fitxategiak handiak badira. ",
"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",
@@ -48,6 +50,7 @@
"{count} folders" => "{count} karpeta",
"1 file" => "fitxategi bat",
"{count} files" => "{count} fitxategi",
+"Upload" => "Igo",
"File handling" => "Fitxategien kudeaketa",
"Maximum upload size" => "Igo daitekeen gehienezko tamaina",
"max. possible: " => "max, posiblea:",
diff --git a/apps/files/l10n/fa.php b/apps/files/l10n/fa.php
index ec8b5cdec4e..3d3bfad1f9b 100644
--- a/apps/files/l10n/fa.php
+++ b/apps/files/l10n/fa.php
@@ -1,27 +1,53 @@
<?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 استÙاده کرده است.",
"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" => "مقدار Ú©Ù…ÛŒ از Ùایل بارگذاری شده",
"No file was uploaded" => "هیچ Ùایلی بارگذاری نشده",
"Missing a temporary folder" => "یک پوشه موقت گم شده است",
"Failed to write to disk" => "نوشتن بر روی دیسک سخت ناموÙÙ‚ بود",
+"Invalid directory." => "Ùهرست راهنما نامعتبر Ù…ÛŒ باشد.",
"Files" => "Ùایل ها",
"Unshare" => "لغو اشتراک",
"Delete" => "پاک کردن",
"Rename" => "تغییرنام",
+"{new_name} already exists" => "{نام _جدید} در حال حاضر وجود دارد.",
"replace" => "جایگزین",
+"suggest name" => "پیشنهاد نام",
"cancel" => "لغو",
+"replaced {new_name}" => "{نام _جدید} جایگزین شد ",
"undo" => "بازگشت",
+"replaced {new_name} with {old_name}" => "{نام_جدید} با { نام_قدیمی} جایگزین شد.",
+"unshared {files}" => "{ Ùایل های } قسمت نشده",
+"deleted {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" => "{ شمار } Ùایل های در حال آپلود",
"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" => "{ شمار } Ùایل های اسکن شده",
+"error while scanning" => "خطا در حال انجام اسکن ",
"Name" => "نام",
"Size" => "اندازه",
"Modified" => "تغییر یاÙته",
+"1 folder" => "1 پوشه",
+"{count} folders" => "{ شمار} پوشه ها",
+"1 file" => "1 پرونده",
+"{count} files" => "{ شمار } Ùایل ها",
+"Upload" => "بارگذاری",
"File handling" => "اداره پرونده ها",
"Maximum upload size" => "حداکثر اندازه بارگزاری",
"max. possible: " => "حداکثرمقدارممکن:",
@@ -33,6 +59,7 @@
"New" => "جدید",
"Text file" => "Ùایل متنی",
"Folder" => "پوشه",
+"From link" => "از پیوند",
"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 fac93b1246b..999bd7884d3 100644
--- a/apps/files/l10n/fi_FI.php
+++ b/apps/files/l10n/fi_FI.php
@@ -1,5 +1,4 @@
<?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",
@@ -10,7 +9,7 @@
"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",
+"Not enough storage available" => "Tallennustilaa ei ole riittävästi käytettävissä",
"Invalid directory." => "Virheellinen kansio.",
"Files" => "Tiedostot",
"Unshare" => "Peru jakaminen",
@@ -24,6 +23,8 @@
"'.' 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.",
+"Your storage is full, files can not be updated or synced anymore!" => "Tallennustila on loppu, tiedostoja ei voi enää päivittää tai synkronoida!",
+"Your storage is almost full ({usedSpacePercent}%)" => "Tallennustila on melkein loppu ({usedSpacePercent}%)",
"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.",
@@ -39,6 +40,7 @@
"{count} folders" => "{count} kansiota",
"1 file" => "1 tiedosto",
"{count} files" => "{count} tiedostoa",
+"Upload" => "Lähetä",
"File handling" => "Tiedostonhallinta",
"Maximum upload size" => "Lähetettävän tiedoston suurin sallittu koko",
"max. possible: " => "suurin mahdollinen:",
diff --git a/apps/files/l10n/fr.php b/apps/files/l10n/fr.php
index 162c2e2dfda..6229b7e3a4d 100644
--- a/apps/files/l10n/fr.php
+++ b/apps/files/l10n/fr.php
@@ -1,5 +1,4 @@
<?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",
@@ -11,7 +10,6 @@
"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",
@@ -29,6 +27,7 @@
"'.' is an invalid file name." => "'.' n'est pas un nom de fichier valide.",
"File name cannot be empty." => "Le nom de fichier ne peut être vide.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nom invalide, les caractères '\\', '/', '<', '>', ':', '\"', '|', '?' et '*' ne sont pas autorisés.",
+"Your 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",
@@ -48,6 +47,7 @@
"{count} folders" => "{count} dossiers",
"1 file" => "1 fichier",
"{count} files" => "{count} fichiers",
+"Upload" => "Envoyer",
"File handling" => "Gestion des fichiers",
"Maximum upload size" => "Taille max. d'envoi",
"max. possible: " => "Max. possible :",
diff --git a/apps/files/l10n/gl.php b/apps/files/l10n/gl.php
index d24680eaa86..3bac12b351e 100644
--- a/apps/files/l10n/gl.php
+++ b/apps/files/l10n/gl.php
@@ -1,5 +1,4 @@
<?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",
@@ -11,7 +10,6 @@
"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",
@@ -48,6 +46,7 @@
"{count} folders" => "{count} cartafoles",
"1 file" => "1 ficheiro",
"{count} files" => "{count} ficheiros",
+"Upload" => "Enviar",
"File handling" => "Manexo de ficheiro",
"Maximum upload size" => "Tamaño máximo de envío",
"max. possible: " => "máx. posible: ",
diff --git a/apps/files/l10n/he.php b/apps/files/l10n/he.php
index 8acc544cf5f..62b397e129e 100644
--- a/apps/files/l10n/he.php
+++ b/apps/files/l10n/he.php
@@ -1,5 +1,4 @@
<?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:",
@@ -40,6 +39,7 @@
"{count} folders" => "{count} תיקיות",
"1 file" => "קובץ ×חד",
"{count} files" => "{count} קבצי×",
+"Upload" => "העל××”",
"File handling" => "טיפול בקבצי×",
"Maximum upload size" => "גודל העל××” מקסימלי",
"max. possible: " => "המרבי ×”×פשרי: ",
diff --git a/apps/files/l10n/hr.php b/apps/files/l10n/hr.php
index a9a7354d1d6..7000caf0d17 100644
--- a/apps/files/l10n/hr.php
+++ b/apps/files/l10n/hr.php
@@ -1,5 +1,4 @@
<?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",
@@ -25,6 +24,7 @@
"Name" => "Naziv",
"Size" => "VeliÄina",
"Modified" => "Zadnja promjena",
+"Upload" => "Pošalji",
"File handling" => "datoteka za rukovanje",
"Maximum upload size" => "Maksimalna veliÄina prijenosa",
"max. possible: " => "maksimalna moguća: ",
diff --git a/apps/files/l10n/hu_HU.php b/apps/files/l10n/hu_HU.php
index 21797809b69..be3dd1b9c3c 100644
--- a/apps/files/l10n/hu_HU.php
+++ b/apps/files/l10n/hu_HU.php
@@ -1,5 +1,4 @@
<?php $TRANSLATIONS = array(
-"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",
@@ -11,7 +10,7 @@
"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",
+"Not enough storage available" => "Nincs elég szabad hely.",
"Invalid directory." => "Érvénytelen mappa.",
"Files" => "Fájlok",
"Unshare" => "Megosztás visszavonása",
@@ -29,6 +28,8 @@
"'.' 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 storage is full, files can not be updated or synced anymore!" => "A tároló tele van, a fájlok nem frissíthetőek vagy szinkronizálhatóak a jövőben.",
+"Your storage is almost full ({usedSpacePercent}%)" => "A tároló majdnem tele van ({usedSpacePercent}%)",
"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",
@@ -49,6 +50,7 @@
"{count} folders" => "{count} mappa",
"1 file" => "1 fájl",
"{count} files" => "{count} fájl",
+"Upload" => "Feltöltés",
"File handling" => "Fájlkezelés",
"Maximum upload size" => "Maximális feltölthető fájlméret",
"max. possible: " => "max. lehetséges: ",
diff --git a/apps/files/l10n/ia.php b/apps/files/l10n/ia.php
index a7babb27d9e..ae614c1bf5d 100644
--- a/apps/files/l10n/ia.php
+++ b/apps/files/l10n/ia.php
@@ -1,5 +1,4 @@
<?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",
@@ -9,6 +8,7 @@
"Name" => "Nomine",
"Size" => "Dimension",
"Modified" => "Modificate",
+"Upload" => "Incargar",
"Maximum upload size" => "Dimension maxime de incargamento",
"Save" => "Salveguardar",
"New" => "Nove",
diff --git a/apps/files/l10n/id.php b/apps/files/l10n/id.php
index 46d9ad1a75a..3ebb9983291 100644
--- a/apps/files/l10n/id.php
+++ b/apps/files/l10n/id.php
@@ -1,5 +1,4 @@
<?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",
@@ -21,6 +20,7 @@
"Name" => "Nama",
"Size" => "Ukuran",
"Modified" => "Dimodifikasi",
+"Upload" => "Unggah",
"File handling" => "Penanganan berkas",
"Maximum upload size" => "Ukuran unggah maksimum",
"max. possible: " => "Kemungkinan maks:",
diff --git a/apps/files/l10n/is.php b/apps/files/l10n/is.php
index c3adf0984e5..297853c8161 100644
--- a/apps/files/l10n/is.php
+++ b/apps/files/l10n/is.php
@@ -1,5 +1,4 @@
<?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á",
@@ -11,7 +10,6 @@
"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",
@@ -48,6 +46,7 @@
"{count} folders" => "{count} möppur",
"1 file" => "1 skrá",
"{count} files" => "{count} skrár",
+"Upload" => "Senda inn",
"File handling" => "Meðhöndlun skrár",
"Maximum upload size" => "Hámarks stærð innsendingar",
"max. possible: " => "hámark mögulegt: ",
diff --git a/apps/files/l10n/it.php b/apps/files/l10n/it.php
index 9e211ae21ac..63bc71d6729 100644
--- a/apps/files/l10n/it.php
+++ b/apps/files/l10n/it.php
@@ -1,5 +1,4 @@
<?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",
@@ -11,7 +10,7 @@
"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",
+"Not enough storage available" => "Spazio di archiviazione insufficiente",
"Invalid directory." => "Cartella non valida.",
"Files" => "File",
"Unshare" => "Rimuovi condivisione",
@@ -29,6 +28,8 @@
"'.' 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.",
+"Your storage is full, files can not be updated or synced anymore!" => "Lo spazio di archiviazione è pieno, i file non possono essere più aggiornati o sincronizzati!",
+"Your storage is almost full ({usedSpacePercent}%)" => "Lo spazio di archiviazione è quasi pieno ({usedSpacePercent}%)",
"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",
@@ -49,6 +50,7 @@
"{count} folders" => "{count} cartelle",
"1 file" => "1 file",
"{count} files" => "{count} file",
+"Upload" => "Carica",
"File handling" => "Gestione file",
"Maximum upload size" => "Dimensione massima upload",
"max. possible: " => "numero mass.: ",
diff --git a/apps/files/l10n/ja_JP.php b/apps/files/l10n/ja_JP.php
index 548263f54a3..5d4bf93e5eb 100644
--- a/apps/files/l10n/ja_JP.php
+++ b/apps/files/l10n/ja_JP.php
@@ -1,5 +1,4 @@
<?php $TRANSLATIONS = array(
-"Upload" => "アップロード",
"Could not move %s - File with this name already exists" => "%s を移動ã§ãã¾ã›ã‚“ã§ã—㟠― ã“ã®åå‰ã®ãƒ•ã‚¡ã‚¤ãƒ«ã¯ã™ã§ã«å­˜åœ¨ã—ã¾ã™",
"Could not move %s" => "%s を移動ã§ãã¾ã›ã‚“ã§ã—ãŸ",
"Unable to rename file" => "ファイルåã®å¤‰æ›´ãŒã§ãã¾ã›ã‚“",
@@ -11,7 +10,6 @@
"No file was uploaded" => "ファイルã¯ã‚¢ãƒƒãƒ—ロードã•ã‚Œã¾ã›ã‚“ã§ã—ãŸ",
"Missing a temporary folder" => "テンãƒãƒ©ãƒªãƒ•ã‚©ãƒ«ãƒ€ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“",
"Failed to write to disk" => "ディスクã¸ã®æ›¸ãè¾¼ã¿ã«å¤±æ•—ã—ã¾ã—ãŸ",
-"Not enough space available" => "利用å¯èƒ½ãªã‚¹ãƒšãƒ¼ã‚¹ãŒå分ã«ã‚ã‚Šã¾ã›ã‚“",
"Invalid directory." => "無効ãªãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã§ã™ã€‚",
"Files" => "ファイル",
"Unshare" => "共有ã—ãªã„",
@@ -49,6 +47,7 @@
"{count} folders" => "{count} フォルダ",
"1 file" => "1 ファイル",
"{count} files" => "{count} ファイル",
+"Upload" => "アップロード",
"File handling" => "ファイルæ“作",
"Maximum upload size" => "最大アップロードサイズ",
"max. possible: " => "最大容é‡: ",
diff --git a/apps/files/l10n/ka_GE.php b/apps/files/l10n/ka_GE.php
index 3f5a532f6bd..08225c114d1 100644
--- a/apps/files/l10n/ka_GE.php
+++ b/apps/files/l10n/ka_GE.php
@@ -1,5 +1,4 @@
<?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" => "áƒáƒ¢áƒ•áƒ˜áƒ áƒ—ული ფáƒáƒ˜áƒšáƒ˜ მხáƒáƒšáƒáƒ“ ნáƒáƒ¬áƒ˜áƒšáƒáƒ‘რივ áƒáƒ˜áƒ¢áƒ•áƒ˜áƒ áƒ—áƒ",
@@ -36,6 +35,7 @@
"{count} folders" => "{count} სáƒáƒ¥áƒáƒ¦áƒáƒšáƒ“ე",
"1 file" => "1 ფáƒáƒ˜áƒšáƒ˜",
"{count} files" => "{count} ფáƒáƒ˜áƒšáƒ˜",
+"Upload" => "áƒáƒ¢áƒ•áƒ˜áƒ áƒ—ვáƒ",
"File handling" => "ფáƒáƒ˜áƒšáƒ˜áƒ¡ დáƒáƒ›áƒ£áƒ¨áƒáƒ•áƒ”ბáƒ",
"Maximum upload size" => "მáƒáƒ¥áƒ¡áƒ˜áƒ›áƒ£áƒ› áƒáƒ¢áƒ•áƒ˜áƒ áƒ—ის ზáƒáƒ›áƒ",
"max. possible: " => "მáƒáƒ¥áƒ¡. შესáƒáƒ«áƒšáƒ”ბელი:",
diff --git a/apps/files/l10n/ko.php b/apps/files/l10n/ko.php
index 891b036761d..cd95d61e4dc 100644
--- a/apps/files/l10n/ko.php
+++ b/apps/files/l10n/ko.php
@@ -1,5 +1,4 @@
<?php $TRANSLATIONS = array(
-"Upload" => "업로드",
"Could not move %s - File with this name already exists" => "%s í•­ëª©ì„ ì´ë™ì‹œí‚¤ì§€ ëª»í•˜ì˜€ìŒ - íŒŒì¼ ì´ë¦„ì´ ì´ë¯¸ 존재함",
"Could not move %s" => "%s í•­ëª©ì„ ì´ë”©ì‹œí‚¤ì§€ 못하였ìŒ",
"Unable to rename file" => "íŒŒì¼ ì´ë¦„바꾸기 í•  수 ì—†ìŒ",
@@ -11,7 +10,6 @@
"No file was uploaded" => "ì—…ë¡œë“œëœ íŒŒì¼ ì—†ìŒ",
"Missing a temporary folder" => "ìž„ì‹œ í´ë”ê°€ 사ë¼ì§",
"Failed to write to disk" => "디스í¬ì— 쓰지 못했습니다",
-"Not enough space available" => "ì—¬ìœ ê³µê°„ì´ ë¶€ì¡±í•©ë‹ˆë‹¤",
"Invalid directory." => "올바르지 ì•Šì€ ë””ë ‰í† ë¦¬ìž…ë‹ˆë‹¤.",
"Files" => "파ì¼",
"Unshare" => "공유 해제",
@@ -48,6 +46,7 @@
"{count} folders" => "í´ë” {count}ê°œ",
"1 file" => "íŒŒì¼ 1ê°œ",
"{count} files" => "íŒŒì¼ {count}ê°œ",
+"Upload" => "업로드",
"File handling" => "íŒŒì¼ ì²˜ë¦¬",
"Maximum upload size" => "최대 업로드 í¬ê¸°",
"max. possible: " => "최대 가능:",
diff --git a/apps/files/l10n/ku_IQ.php b/apps/files/l10n/ku_IQ.php
index ddd2c142788..5c5a3d6bd8f 100644
--- a/apps/files/l10n/ku_IQ.php
+++ b/apps/files/l10n/ku_IQ.php
@@ -1,8 +1,8 @@
<?php $TRANSLATIONS = array(
-"Upload" => "بارکردن",
"Close" => "داخستن",
"URL cannot be empty." => "ناونیشانی به‌سته‌ر نابێت به‌تاڵ بێت.",
"Name" => "ناو",
+"Upload" => "بارکردن",
"Save" => "پاشکه‌وتکردن",
"Folder" => "بوخچه",
"Download" => "داگرتن"
diff --git a/apps/files/l10n/lb.php b/apps/files/l10n/lb.php
index b041079f0d8..79ef4bc9417 100644
--- a/apps/files/l10n/lb.php
+++ b/apps/files/l10n/lb.php
@@ -1,5 +1,4 @@
<?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",
@@ -7,6 +6,7 @@
"Missing a temporary folder" => "Et feelt en temporären Dossier",
"Failed to write to disk" => "Konnt net op den Disk schreiwen",
"Files" => "Dateien",
+"Unshare" => "Net méi deelen",
"Delete" => "Läschen",
"replace" => "ersetzen",
"cancel" => "ofbriechen",
@@ -19,6 +19,7 @@
"Name" => "Numm",
"Size" => "Gréisst",
"Modified" => "Geännert",
+"Upload" => "Eroplueden",
"File handling" => "Fichier handling",
"Maximum upload size" => "Maximum Upload Gréisst ",
"max. possible: " => "max. méiglech:",
diff --git a/apps/files/l10n/lt_LT.php b/apps/files/l10n/lt_LT.php
index 22490f8e9fd..da209619e2a 100644
--- a/apps/files/l10n/lt_LT.php
+++ b/apps/files/l10n/lt_LT.php
@@ -1,5 +1,4 @@
<?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",
@@ -36,6 +35,7 @@
"{count} folders" => "{count} aplankalai",
"1 file" => "1 failas",
"{count} files" => "{count} failai",
+"Upload" => "Įkelti",
"File handling" => "Failų tvarkymas",
"Maximum upload size" => "Maksimalus įkeliamo failo dydis",
"max. possible: " => "maks. galima:",
diff --git a/apps/files/l10n/lv.php b/apps/files/l10n/lv.php
index 589b7020c4a..b175b19bba9 100644
--- a/apps/files/l10n/lv.php
+++ b/apps/files/l10n/lv.php
@@ -1,5 +1,4 @@
<?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",
@@ -20,6 +19,7 @@
"Name" => "Nosaukums",
"Size" => "Izmērs",
"Modified" => "Izmainīts",
+"Upload" => "AugÅ¡uplÄdet",
"File handling" => "Failu pÄrvaldÄ«ba",
"Maximum upload size" => "MaksimÄlais failu augÅ¡uplÄdes apjoms",
"max. possible: " => "maksÄ«mÄlais iespÄ“jamais:",
diff --git a/apps/files/l10n/mk.php b/apps/files/l10n/mk.php
index 2916e86a94d..0ca08d6bc6a 100644
--- a/apps/files/l10n/mk.php
+++ b/apps/files/l10n/mk.php
@@ -1,5 +1,4 @@
<?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:",
@@ -40,6 +39,7 @@
"{count} folders" => "{count} папки",
"1 file" => "1 датотека",
"{count} files" => "{count} датотеки",
+"Upload" => "Подигни",
"File handling" => "Ракување Ñо датотеки",
"Maximum upload size" => "МакÑимална големина за подигање",
"max. possible: " => "макÑ. можно:",
diff --git a/apps/files/l10n/ms_MY.php b/apps/files/l10n/ms_MY.php
index 23a2783cd9a..4ac26d80918 100644
--- a/apps/files/l10n/ms_MY.php
+++ b/apps/files/l10n/ms_MY.php
@@ -1,5 +1,4 @@
<?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 ",
@@ -19,6 +18,7 @@
"Name" => "Nama ",
"Size" => "Saiz",
"Modified" => "Dimodifikasi",
+"Upload" => "Muat naik",
"File handling" => "Pengendalian fail",
"Maximum upload size" => "Saiz maksimum muat naik",
"max. possible: " => "maksimum:",
diff --git a/apps/files/l10n/nb_NO.php b/apps/files/l10n/nb_NO.php
index 48b873e1ef0..8bb7cfb2f9c 100644
--- a/apps/files/l10n/nb_NO.php
+++ b/apps/files/l10n/nb_NO.php
@@ -1,5 +1,4 @@
<?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",
@@ -38,6 +37,7 @@
"{count} folders" => "{count} mapper",
"1 file" => "1 fil",
"{count} files" => "{count} filer",
+"Upload" => "Last opp",
"File handling" => "Filhåndtering",
"Maximum upload size" => "Maksimum opplastingsstørrelse",
"max. possible: " => "max. mulige:",
diff --git a/apps/files/l10n/nl.php b/apps/files/l10n/nl.php
index 4a9685e06c9..c78ac346d13 100644
--- a/apps/files/l10n/nl.php
+++ b/apps/files/l10n/nl.php
@@ -1,5 +1,4 @@
<?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",
@@ -11,7 +10,6 @@
"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",
@@ -49,6 +47,7 @@
"{count} folders" => "{count} mappen",
"1 file" => "1 bestand",
"{count} files" => "{count} bestanden",
+"Upload" => "Upload",
"File handling" => "Bestand",
"Maximum upload size" => "Maximale bestandsgrootte voor uploads",
"max. possible: " => "max. mogelijk: ",
diff --git a/apps/files/l10n/nn_NO.php b/apps/files/l10n/nn_NO.php
index 8abbe1b6cd3..8a4ab91ea7e 100644
--- a/apps/files/l10n/nn_NO.php
+++ b/apps/files/l10n/nn_NO.php
@@ -1,5 +1,4 @@
<?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",
@@ -11,6 +10,7 @@
"Name" => "Namn",
"Size" => "Storleik",
"Modified" => "Endra",
+"Upload" => "Last opp",
"Maximum upload size" => "Maksimal opplastingsstorleik",
"Save" => "Lagre",
"New" => "Ny",
diff --git a/apps/files/l10n/oc.php b/apps/files/l10n/oc.php
index 87ec98e4cf8..76c8d6b655a 100644
--- a/apps/files/l10n/oc.php
+++ b/apps/files/l10n/oc.php
@@ -1,5 +1,4 @@
<?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",
@@ -24,6 +23,7 @@
"Name" => "Nom",
"Size" => "Talha",
"Modified" => "Modificat",
+"Upload" => "Amontcarga",
"File handling" => "Manejament de fichièr",
"Maximum upload size" => "Talha maximum d'amontcargament",
"max. possible: " => "max. possible: ",
diff --git a/apps/files/l10n/pl.php b/apps/files/l10n/pl.php
index 4166bac545d..477e14491f7 100644
--- a/apps/files/l10n/pl.php
+++ b/apps/files/l10n/pl.php
@@ -1,5 +1,4 @@
<?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",
@@ -11,7 +10,6 @@
"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",
@@ -48,6 +46,7 @@
"{count} folders" => "{count} foldery",
"1 file" => "1 plik",
"{count} files" => "{count} pliki",
+"Upload" => "Prześlij",
"File handling" => "ZarzÄ…dzanie plikami",
"Maximum upload size" => "Maksymalny rozmiar wysyłanego pliku",
"max. possible: " => "max. możliwych",
diff --git a/apps/files/l10n/pt_BR.php b/apps/files/l10n/pt_BR.php
index b199ded9fe0..33014297ee5 100644
--- a/apps/files/l10n/pt_BR.php
+++ b/apps/files/l10n/pt_BR.php
@@ -1,5 +1,4 @@
<?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: ",
@@ -40,6 +39,7 @@
"{count} folders" => "{count} pastas",
"1 file" => "1 arquivo",
"{count} files" => "{count} arquivos",
+"Upload" => "Carregar",
"File handling" => "Tratamento de Arquivo",
"Maximum upload size" => "Tamanho máximo para carregar",
"max. possible: " => "max. possível:",
diff --git a/apps/files/l10n/pt_PT.php b/apps/files/l10n/pt_PT.php
index 0ed13fa9983..6cee8d9d88e 100644
--- a/apps/files/l10n/pt_PT.php
+++ b/apps/files/l10n/pt_PT.php
@@ -1,5 +1,4 @@
<?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",
@@ -11,7 +10,7 @@
"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!",
+"Not enough storage available" => "Não há espaço suficiente em disco",
"Invalid directory." => "Directório Inválido",
"Files" => "Ficheiros",
"Unshare" => "Deixar de partilhar",
@@ -19,7 +18,7 @@
"Rename" => "Renomear",
"{new_name} already exists" => "O nome {new_name} já existe",
"replace" => "substituir",
-"suggest name" => "Sugira um nome",
+"suggest name" => "sugira um nome",
"cancel" => "cancelar",
"replaced {new_name}" => "{new_name} substituido",
"undo" => "desfazer",
@@ -29,6 +28,8 @@
"'.' is an invalid file name." => "'.' não é um nome de ficheiro válido!",
"File name cannot be empty." => "O nome do ficheiro não pode estar vazio.",
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nome Inválido, os caracteres '\\', '/', '<', '>', ':', '\"', '|', '?' e '*' não são permitidos.",
+"Your storage is full, files can not be updated or synced anymore!" => "O seu armazenamento está cheio, os ficheiros não podem ser sincronizados.",
+"Your storage is almost full ({usedSpacePercent}%)" => "O seu espaço de armazenamento está quase cheiro ({usedSpacePercent}%)",
"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",
@@ -36,7 +37,7 @@
"Pending" => "Pendente",
"1 file uploading" => "A enviar 1 ficheiro",
"{count} files uploading" => "A carregar {count} ficheiros",
-"Upload cancelled." => "O envio foi cancelado.",
+"Upload cancelled." => "Envio 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.",
"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",
@@ -49,6 +50,7 @@
"{count} folders" => "{count} pastas",
"1 file" => "1 ficheiro",
"{count} files" => "{count} ficheiros",
+"Upload" => "Enviar",
"File handling" => "Manuseamento de ficheiros",
"Maximum upload size" => "Tamanho máximo de envio",
"max. possible: " => "max. possivel: ",
diff --git a/apps/files/l10n/ro.php b/apps/files/l10n/ro.php
index fdba003bf3e..424450e920f 100644
--- a/apps/files/l10n/ro.php
+++ b/apps/files/l10n/ro.php
@@ -1,5 +1,5 @@
<?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ă",
@@ -10,7 +10,6 @@
"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",
@@ -28,6 +27,7 @@
"'.' 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",
@@ -47,6 +47,7 @@
"{count} folders" => "{count} foldare",
"1 file" => "1 fisier",
"{count} files" => "{count} fisiere",
+"Upload" => "Încarcă",
"File handling" => "Manipulare fișiere",
"Maximum upload size" => "Dimensiune maximă admisă la încărcare",
"max. possible: " => "max. posibil:",
diff --git a/apps/files/l10n/ru.php b/apps/files/l10n/ru.php
index cb17476b9f8..ae103a9e810 100644
--- a/apps/files/l10n/ru.php
+++ b/apps/files/l10n/ru.php
@@ -1,5 +1,4 @@
<?php $TRANSLATIONS = array(
-"Upload" => "Загрузить",
"Could not move %s - File with this name already exists" => "Ðевозможно перемеÑтить %s - файл Ñ Ñ‚Ð°ÐºÐ¸Ð¼ именем уже ÑущеÑтвует",
"Could not move %s" => "Ðевозможно перемеÑтить %s",
"Unable to rename file" => "Ðевозможно переименовать файл",
@@ -11,7 +10,6 @@
"No file was uploaded" => "Файл не был загружен",
"Missing a temporary folder" => "Ðевозможно найти временную папку",
"Failed to write to disk" => "Ошибка запиÑи на диÑк",
-"Not enough space available" => "ÐедоÑтаточно Ñвободного меÑта",
"Invalid directory." => "Ðеправильный каталог.",
"Files" => "Файлы",
"Unshare" => "Отменить публикацию",
@@ -48,6 +46,7 @@
"{count} folders" => "{count} папок",
"1 file" => "1 файл",
"{count} files" => "{count} файлов",
+"Upload" => "Загрузить",
"File handling" => "Управление файлами",
"Maximum upload size" => "МакÑимальный размер загружаемого файла",
"max. possible: " => "макÑ. возможно: ",
diff --git a/apps/files/l10n/ru_RU.php b/apps/files/l10n/ru_RU.php
index 4f8bd1d5b95..60a7fd0f71e 100644
--- a/apps/files/l10n/ru_RU.php
+++ b/apps/files/l10n/ru_RU.php
@@ -1,5 +1,4 @@
<?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:",
@@ -40,6 +39,7 @@
"{count} folders" => "{количеÑтво} папок",
"1 file" => "1 файл",
"{count} files" => "{количеÑтво} файлов",
+"Upload" => "Загрузить ",
"File handling" => "Работа Ñ Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸",
"Maximum upload size" => "МакÑимальный размер загружаемого файла",
"max. possible: " => "МакÑимально возможный",
diff --git a/apps/files/l10n/si_LK.php b/apps/files/l10n/si_LK.php
index 8b276bdaa8f..133737cb57a 100644
--- a/apps/files/l10n/si_LK.php
+++ b/apps/files/l10n/si_LK.php
@@ -1,5 +1,4 @@
<?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 විà·à·à¶½à¶­à·Šà·€à¶ºà¶§ වඩ෠වà·à¶©à·’ය",
@@ -27,6 +26,7 @@
"Modified" => "වෙනස් කළ",
"1 folder" => "1 ෆොල්ඩරයක්",
"1 file" => "1 ගොනුවක්",
+"Upload" => "උඩුගත කිරීම",
"File handling" => "ගොනු පරිහරණය",
"Maximum upload size" => "උඩුගත කිරීමක උපරිම ප්â€à¶»à¶¸à·à¶«à¶º",
"max. possible: " => "à·„à·à¶šà·’ උපරිමය:",
diff --git a/apps/files/l10n/sk_SK.php b/apps/files/l10n/sk_SK.php
index b28e2648fef..bae5670d061 100644
--- a/apps/files/l10n/sk_SK.php
+++ b/apps/files/l10n/sk_SK.php
@@ -1,5 +1,7 @@
<?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:",
@@ -8,6 +10,7 @@
"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",
+"Invalid directory." => "Neplatný adresár",
"Files" => "Súbory",
"Unshare" => "Nezdielať",
"Delete" => "Odstrániť",
@@ -21,7 +24,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.",
+"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ť",
@@ -31,6 +37,7 @@
"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.",
"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",
@@ -40,6 +47,7 @@
"{count} folders" => "{count} prieÄinkov",
"1 file" => "1 súbor",
"{count} files" => "{count} súborov",
+"Upload" => "Odoslať",
"File handling" => "Nastavenie správanie k súborom",
"Maximum upload size" => "Maximálna veľkosť odosielaného súboru",
"max. possible: " => "najväÄÅ¡ie možné:",
diff --git a/apps/files/l10n/sl.php b/apps/files/l10n/sl.php
index 34544e3401c..fbc6ab83b8b 100644
--- a/apps/files/l10n/sl.php
+++ b/apps/files/l10n/sl.php
@@ -1,5 +1,4 @@
<?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:",
@@ -40,6 +39,7 @@
"{count} folders" => "{count} map",
"1 file" => "1 datoteka",
"{count} files" => "{count} datotek",
+"Upload" => "Pošlji",
"File handling" => "Upravljanje z datotekami",
"Maximum upload size" => "NajveÄja velikost za poÅ¡iljanja",
"max. possible: " => "najveÄ mogoÄe:",
diff --git a/apps/files/l10n/sr.php b/apps/files/l10n/sr.php
index 3da6e27373f..71da2da4d14 100644
--- a/apps/files/l10n/sr.php
+++ b/apps/files/l10n/sr.php
@@ -1,5 +1,4 @@
<?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 обраÑцу",
@@ -38,6 +37,7 @@
"{count} folders" => "{count} фаÑцикле/и",
"1 file" => "1 датотека",
"{count} files" => "{count} датотеке/а",
+"Upload" => "Отпреми",
"File handling" => "Управљање датотекама",
"Maximum upload size" => "Ðајвећа величина датотеке",
"max. possible: " => "највећа величина:",
diff --git a/apps/files/l10n/sr@latin.php b/apps/files/l10n/sr@latin.php
index 117d437f0bb..0fda24532dc 100644
--- a/apps/files/l10n/sr@latin.php
+++ b/apps/files/l10n/sr@latin.php
@@ -1,5 +1,4 @@
<?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!",
@@ -11,6 +10,7 @@
"Name" => "Ime",
"Size" => "VeliÄina",
"Modified" => "Zadnja izmena",
+"Upload" => "Pošalji",
"Maximum upload size" => "Maksimalna veliÄina poÅ¡iljke",
"Save" => "Snimi",
"Nothing in here. Upload something!" => "Ovde nema niÄeg. PoÅ¡aljite neÅ¡to!",
diff --git a/apps/files/l10n/sv.php b/apps/files/l10n/sv.php
index 7597f6908eb..5cb8d58e3a7 100644
--- a/apps/files/l10n/sv.php
+++ b/apps/files/l10n/sv.php
@@ -1,5 +1,4 @@
<?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",
@@ -11,7 +10,6 @@
"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",
@@ -49,6 +47,7 @@
"{count} folders" => "{count} mappar",
"1 file" => "1 fil",
"{count} files" => "{count} filer",
+"Upload" => "Ladda upp",
"File handling" => "Filhantering",
"Maximum upload size" => "Maximal storlek att ladda upp",
"max. possible: " => "max. möjligt:",
diff --git a/apps/files/l10n/ta_LK.php b/apps/files/l10n/ta_LK.php
index d7a9313d974..52916fed774 100644
--- a/apps/files/l10n/ta_LK.php
+++ b/apps/files/l10n/ta_LK.php
@@ -1,5 +1,4 @@
<?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 ஠விட கூடியதà¯",
@@ -39,6 +38,7 @@
"{count} folders" => "{எணà¯à®£à®¿à®•à¯à®•à¯ˆ} கோபà¯à®ªà¯à®±à¯ˆà®•à®³à¯",
"1 file" => "1 கோபà¯à®ªà¯",
"{count} files" => "{எணà¯à®£à®¿à®•à¯à®•à¯ˆ} கோபà¯à®ªà¯à®•à®³à¯",
+"Upload" => "பதிவேறà¯à®±à¯à®•",
"File handling" => "கோபà¯à®ªà¯ கையாளà¯à®¤à®²à¯",
"Maximum upload size" => "பதிவேறà¯à®±à®•à¯à®•à¯‚டிய ஆககà¯à®•à¯‚டிய அளவ௠",
"max. possible: " => "ஆகக௠கூடியதà¯:",
diff --git a/apps/files/l10n/th_TH.php b/apps/files/l10n/th_TH.php
index 43a905ea3bc..de5c7bec833 100644
--- a/apps/files/l10n/th_TH.php
+++ b/apps/files/l10n/th_TH.php
@@ -1,5 +1,4 @@
<?php $TRANSLATIONS = array(
-"Upload" => "อัพโหลด",
"Could not move %s - File with this name already exists" => "ไม่สามารถย้าย %s ได้ - ไฟล์ที่ใช้ชื่อนี้มีอยู่à¹à¸¥à¹‰à¸§",
"Could not move %s" => "ไม่สามารถย้าย %s ได้",
"Unable to rename file" => "ไม่สามารถเปลี่ยนชื่อไฟล์ได้",
@@ -11,7 +10,6 @@
"No file was uploaded" => "ยังไม่มีไฟล์ที่ถูà¸à¸­à¸±à¸žà¹‚หลด",
"Missing a temporary folder" => "à¹à¸Ÿà¹‰à¸¡à¹€à¸­à¸à¸ªà¸²à¸£à¸Šà¸±à¹ˆà¸§à¸„ราวเà¸à¸´à¸”à¸à¸²à¸£à¸ªà¸¹à¸à¸«à¸²à¸¢",
"Failed to write to disk" => "เขียนข้อมูลลงà¹à¸œà¹ˆà¸™à¸”ิสà¸à¹Œà¸¥à¹‰à¸¡à¹€à¸«à¸¥à¸§",
-"Not enough space available" => "มีพื้นที่เหลือไม่เพียงพอ",
"Invalid directory." => "ไดเร็à¸à¸—อรี่ไม่ถูà¸à¸•à¹‰à¸­à¸‡",
"Files" => "ไฟล์",
"Unshare" => "ยà¸à¹€à¸¥à¸´à¸à¸à¸²à¸£à¹à¸Šà¸£à¹Œà¸‚้อมูล",
@@ -49,6 +47,7 @@
"{count} folders" => "{count} โฟลเดอร์",
"1 file" => "1 ไฟล์",
"{count} files" => "{count} ไฟล์",
+"Upload" => "อัพโหลด",
"File handling" => "à¸à¸²à¸£à¸ˆà¸±à¸”à¸à¸²à¹„ฟล์",
"Maximum upload size" => "ขนาดไฟล์สูงสุดที่อัพโหลดได้",
"max. possible: " => "จำนวนสูงสุดที่สามารถทำได้: ",
diff --git a/apps/files/l10n/tr.php b/apps/files/l10n/tr.php
index 6b390570f30..2eba20fd0ae 100644
--- a/apps/files/l10n/tr.php
+++ b/apps/files/l10n/tr.php
@@ -1,5 +1,4 @@
<?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",
@@ -11,7 +10,6 @@
"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",
@@ -49,6 +47,7 @@
"{count} folders" => "{count} dizin",
"1 file" => "1 dosya",
"{count} files" => "{count} dosya",
+"Upload" => "Yükle",
"File handling" => "Dosya taşıma",
"Maximum upload size" => "Maksimum yükleme boyutu",
"max. possible: " => "mümkün olan en fazla: ",
diff --git a/apps/files/l10n/uk.php b/apps/files/l10n/uk.php
index f1279bc77c8..aafa035ea09 100644
--- a/apps/files/l10n/uk.php
+++ b/apps/files/l10n/uk.php
@@ -1,5 +1,4 @@
<?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: ",
@@ -40,6 +39,7 @@
"{count} folders" => "{count} папок",
"1 file" => "1 файл",
"{count} files" => "{count} файлів",
+"Upload" => "Відвантажити",
"File handling" => "Робота з файлами",
"Maximum upload size" => "МакÑимальний розмір відвантажень",
"max. possible: " => "макÑ.можливе:",
diff --git a/apps/files/l10n/vi.php b/apps/files/l10n/vi.php
index dcaf8900014..ce4f3a7973f 100644
--- a/apps/files/l10n/vi.php
+++ b/apps/files/l10n/vi.php
@@ -1,5 +1,4 @@
<?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",
@@ -39,6 +38,7 @@
"{count} folders" => "{count} thư mục",
"1 file" => "1 tập tin",
"{count} files" => "{count} tập tin",
+"Upload" => "Tải lên",
"File handling" => "Xử lý tập tin",
"Maximum upload size" => "Kích thước tối đa ",
"max. possible: " => "tối đa cho phép:",
diff --git a/apps/files/l10n/zh_CN.GB2312.php b/apps/files/l10n/zh_CN.GB2312.php
index 4416ce9a4a2..ae1b603369a 100644
--- a/apps/files/l10n/zh_CN.GB2312.php
+++ b/apps/files/l10n/zh_CN.GB2312.php
@@ -1,5 +1,4 @@
<?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",
@@ -38,6 +37,7 @@
"{count} folders" => "{count} 个文件夹",
"1 file" => "1 个文件",
"{count} files" => "{count} 个文件",
+"Upload" => "上传",
"File handling" => "文件处ç†ä¸­",
"Maximum upload size" => "最大上传大å°",
"max. possible: " => "最大å¯èƒ½",
diff --git a/apps/files/l10n/zh_CN.php b/apps/files/l10n/zh_CN.php
index f8dedc118e0..2e0f938dcd8 100644
--- a/apps/files/l10n/zh_CN.php
+++ b/apps/files/l10n/zh_CN.php
@@ -1,5 +1,4 @@
<?php $TRANSLATIONS = array(
-"Upload" => "上传",
"Could not move %s - File with this name already exists" => "无法移动 %s - åŒå文件已存在",
"Could not move %s" => "无法移动 %s",
"Unable to rename file" => "无法é‡å‘½å文件",
@@ -11,7 +10,6 @@
"No file was uploaded" => "文件没有上传",
"Missing a temporary folder" => "缺少临时目录",
"Failed to write to disk" => "写入ç£ç›˜å¤±è´¥",
-"Not enough space available" => "没有足够å¯ç”¨ç©ºé—´",
"Invalid directory." => "无效文件夹。",
"Files" => "文件",
"Unshare" => "å–消分享",
@@ -49,6 +47,7 @@
"{count} folders" => "{count} 个文件夹",
"1 file" => "1 个文件",
"{count} files" => "{count} 个文件",
+"Upload" => "上传",
"File handling" => "文件处ç†",
"Maximum upload size" => "最大上传大å°",
"max. possible: " => "最大å…许: ",
diff --git a/apps/files/l10n/zh_TW.php b/apps/files/l10n/zh_TW.php
index 2bf15af1c42..8d41a927355 100644
--- a/apps/files/l10n/zh_TW.php
+++ b/apps/files/l10n/zh_TW.php
@@ -1,5 +1,4 @@
<?php $TRANSLATIONS = array(
-"Upload" => "上傳",
"Could not move %s - File with this name already exists" => "無法移動 %s - åŒå的檔案已經存在",
"Could not move %s" => "無法移動 %s",
"Unable to rename file" => "無法é‡æ–°å‘½å檔案",
@@ -11,7 +10,6 @@
"No file was uploaded" => "無已上傳檔案",
"Missing a temporary folder" => "éºå¤±æš«å­˜è³‡æ–™å¤¾",
"Failed to write to disk" => "寫入硬碟失敗",
-"Not enough space available" => "沒有足夠的å¯ç”¨ç©ºé–“",
"Invalid directory." => "無效的資料夾。",
"Files" => "檔案",
"Unshare" => "å–消共享",
@@ -49,6 +47,7 @@
"{count} folders" => "{count} 個資料夾",
"1 file" => "1 個檔案",
"{count} files" => "{count} 個檔案",
+"Upload" => "上傳",
"File handling" => "檔案處ç†",
"Maximum upload size" => "最大上傳檔案大å°",
"max. possible: " => "最大å…許:",
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/settings.php b/apps/files/settings.php
index 52ec9fd0fe3..ea730a5a727 100644
--- a/apps/files/settings.php
+++ b/apps/files/settings.php
@@ -21,10 +21,6 @@
*
*/
-
-// Init owncloud
-
-
// Check if we are a user
OCP\User::checkLoggedIn();
diff --git a/apps/files/templates/index.php b/apps/files/templates/index.php
index 2e0772443f2..b66b523ae38 100644
--- a/apps/files/templates/index.php
+++ b/apps/files/templates/index.php
@@ -50,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>
@@ -115,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.list.php b/apps/files/templates/part.list.php
index dfac43d1b12..f3f06d61d66 100644
--- a/apps/files/templates/part.list.php
+++ b/apps/files/templates/part.list.php
@@ -1,10 +1,4 @@
-<script type="text/javascript">
-<?php if ( array_key_exists('publicListView', $_) && $_['publicListView'] == true ) :?>
- var publicListView = true;
-<?php else: ?>
- var publicListView = false;
-<?php endif; ?>
-</script>
+<input type="hidden" id="disableSharing" data-status="<?php echo $_['disableSharing']; ?>">
<?php foreach($_['files'] as $file):
$simple_file_size = OCP\simple_file_size($file['size']);
diff --git a/apps/files_encryption/l10n/ca.php b/apps/files_encryption/l10n/ca.php
index d97a8666df4..56c81e747f7 100644
--- a/apps/files_encryption/l10n/ca.php
+++ b/apps/files_encryption/l10n/ca.php
@@ -1,4 +1,15 @@
<?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"
diff --git a/apps/files_encryption/l10n/de_DE.php b/apps/files_encryption/l10n/de_DE.php
index 34c596dc4bb..261c52a75f7 100644
--- a/apps/files_encryption/l10n/de_DE.php
+++ b/apps/files_encryption/l10n/de_DE.php
@@ -1,4 +1,7 @@
<?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"
diff --git a/apps/files_encryption/l10n/el.php b/apps/files_encryption/l10n/el.php
index cbf65b5cfa0..50b812c82df 100644
--- a/apps/files_encryption/l10n/el.php
+++ b/apps/files_encryption/l10n/el.php
@@ -1,5 +1,7 @@
<?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" => "ΕξαίÏεση των παÏακάτω Ï„Ïπων αÏχείων από την κÏυπτογÏάφηση",
diff --git a/apps/files_encryption/l10n/es.php b/apps/files_encryption/l10n/es.php
index 1fea54ff358..89ccb852978 100644
--- a/apps/files_encryption/l10n/es.php
+++ b/apps/files_encryption/l10n/es.php
@@ -1,4 +1,7 @@
<?php $TRANSLATIONS = array(
+"switched to client side encryption" => "Cambiar a encriptación en lado cliente",
+"Please check your passwords and try again." => "Por favor revise su contraseña e intentelo de nuevo.",
+"Choose encryption mode:" => "Elegir el modo de encriptado:",
"Encryption" => "Cifrado",
"Exclude the following file types from encryption" => "Excluir del cifrado los siguientes tipos de archivo",
"None" => "Ninguno"
diff --git a/apps/files_encryption/l10n/fr.php b/apps/files_encryption/l10n/fr.php
index f78a90ad59b..41e37134d4e 100644
--- a/apps/files_encryption/l10n/fr.php
+++ b/apps/files_encryption/l10n/fr.php
@@ -1,4 +1,15 @@
<?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"
diff --git a/apps/files_encryption/l10n/hu_HU.php b/apps/files_encryption/l10n/hu_HU.php
index 1ef1effd41e..e32de01f973 100644
--- a/apps/files_encryption/l10n/hu_HU.php
+++ b/apps/files_encryption/l10n/hu_HU.php
@@ -1,4 +1,15 @@
<?php $TRANSLATIONS = array(
+"Please switch to your ownCloud client and change your encryption password to complete the conversion." => "Kérjük, hogy váltson át az ownCloud kliensére, és változtassa meg a titkosítási jelszót az átalakítás befejezéséhez.",
+"switched to client side encryption" => "átváltva a kliens oldalai titkosításra",
+"Change encryption password to login password" => "Titkosítási jelszó módosítása a bejelentkezési jelszóra",
+"Please check your passwords and try again." => "Kérjük, ellenőrizze a jelszavait, és próbálja meg újra.",
+"Could not change your file encryption password to your login password" => "Nem módosíthatja a fájltitkosítási jelszavát a bejelentkezési jelszavára",
+"Choose encryption mode:" => "Válassza ki a titkosítási módot:",
+"Client side encryption (most secure but makes it impossible to access your data from the web interface)" => "Kliens oldali titkosítás (biztonságosabb, de lehetetlenné teszi a fájlok elérését a böngészőből)",
+"Server side encryption (allows you to access your files from the web interface and the desktop client)" => "Kiszolgáló oldali titkosítás (lehetővé teszi a fájlok elérését úgy böngészőből mint az asztali kliensből)",
+"None (no encryption at all)" => "Semmi (semmilyen titkosítás)",
+"Important: Once you selected an encryption mode there is no way to change it back" => "Fontos: Ha egyszer kiválasztotta a titkosítás módját, többé már nem lehet megváltoztatni",
+"User specific (let the user decide)" => "Felhasználó specifikus (a felhasználó választhat)",
"Encryption" => "Titkosítás",
"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/it.php b/apps/files_encryption/l10n/it.php
index de62f0508f3..0c394564e0f 100644
--- a/apps/files_encryption/l10n/it.php
+++ b/apps/files_encryption/l10n/it.php
@@ -1,7 +1,9 @@
<?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",
+"Change encryption password to login password" => "Converti la password di cifratura nella password di accesso",
"Please check your passwords and try again." => "Controlla la password e prova ancora.",
+"Could not change your file encryption password to your login password" => "Impossibile convertire la password di cifratura nella password di accesso",
"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)",
diff --git a/apps/files_encryption/l10n/ro.php b/apps/files_encryption/l10n/ro.php
index fc0f24f483d..f958692dd8d 100644
--- a/apps/files_encryption/l10n/ro.php
+++ b/apps/files_encryption/l10n/ro.php
@@ -1,4 +1,15 @@
<?php $TRANSLATIONS = array(
+"Please switch to your ownCloud client and change your encryption password to complete the conversion." => "Te rugăm să mergi în clientul ownCloud și să schimbi parola pentru a finisa conversia",
+"switched to client side encryption" => "setat la encriptare locală",
+"Change encryption password to login password" => "Schimbă parola de ecriptare în parolă de acces",
+"Please check your passwords and try again." => "Verifică te rog parolele și înceracă din nou.",
+"Could not change your file encryption password to your login password" => "Nu s-a putut schimba parola de encripție a fișierelor ca parolă de acces",
+"Choose encryption mode:" => "Alege tipul de ecripție",
+"Client side encryption (most secure but makes it impossible to access your data from the web interface)" => "Encripție locală (cea mai sigură, dar face ca datele să nu mai fie accesibile din interfața web)",
+"Server side encryption (allows you to access your files from the web interface and the desktop client)" => "Encripție pe server (permite să accesezi datele tale din interfața web și din clientul pentru calculator)",
+"None (no encryption at all)" => "Fără (nici un fel de ecriptare)",
+"Important: Once you selected an encryption mode there is no way to change it back" => "Important: Din moment ce ai setat un mod de encriptare, nu mai există metode de a-l schimba înapoi",
+"User specific (let the user decide)" => "Spefic fiecărui utilizator (lasă utilizatorul să decidă)",
"Encryption" => "ÃŽncriptare",
"Exclude the following file types from encryption" => "Exclude următoarele tipuri de fișiere de la încriptare",
"None" => "Niciuna"
diff --git a/apps/files_encryption/l10n/sv.php b/apps/files_encryption/l10n/sv.php
index c154de1a768..9b6ce141782 100644
--- a/apps/files_encryption/l10n/sv.php
+++ b/apps/files_encryption/l10n/sv.php
@@ -1,4 +1,15 @@
<?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"
diff --git a/apps/files_encryption/l10n/zh_TW.php b/apps/files_encryption/l10n/zh_TW.php
index fecebbe2509..146724def08 100644
--- a/apps/files_encryption/l10n/zh_TW.php
+++ b/apps/files_encryption/l10n/zh_TW.php
@@ -1,4 +1,15 @@
<?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" => "ç„¡"
diff --git a/apps/files_encryption/test/crypt.php b/apps/files_encryption/test/crypt.php
index 5a7820dc9da..19c10ab0ab5 100755
--- a/apps/files_encryption/test/crypt.php
+++ b/apps/files_encryption/test/crypt.php
@@ -609,42 +609,42 @@ class Test_Crypt extends \PHPUnit_Framework_TestCase {
// $decrypted=OC_Encryption\Crypt::decrypt($encrypted,$key);
// $decrypted=rtrim($decrypted, "\0");
// $this->assertNotEquals($encrypted,$source);
-// $this->assertEqual($decrypted,$source);
+// $this->assertEquals($decrypted,$source);
//
// $chunk=substr($source,0,8192);
// $encrypted=OC_Encryption\Crypt::encrypt($chunk,$key);
-// $this->assertEqual(strlen($chunk),strlen($encrypted));
+// $this->assertEquals(strlen($chunk),strlen($encrypted));
// $decrypted=OC_Encryption\Crypt::decrypt($encrypted,$key);
// $decrypted=rtrim($decrypted, "\0");
-// $this->assertEqual($decrypted,$chunk);
+// $this->assertEquals($decrypted,$chunk);
//
// $encrypted=OC_Encryption\Crypt::blockEncrypt($source,$key);
// $decrypted=OC_Encryption\Crypt::blockDecrypt($encrypted,$key);
// $this->assertNotEquals($encrypted,$source);
-// $this->assertEqual($decrypted,$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->assertEqual($decrypted,$source);
+// $this->assertEquals($decrypted,$source);
//
// $tmpFileDecrypted=OCP\Files::tmpFile();
// OC_Encryption\Crypt::decryptfile($tmpFileEncrypted,$tmpFileDecrypted,$key);
// $decrypted=file_get_contents($tmpFileDecrypted);
-// $this->assertEqual($decrypted,$source);
+// $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->assertEqual($decrypted,$source);
+// $this->assertEquals($decrypted,$source);
//
// $encrypted=OC_Encryption\Crypt::blockEncrypt($source,$key);
// $decrypted=OC_Encryption\Crypt::blockDecrypt($encrypted,$key);
-// $this->assertEqual($decrypted,$source);
+// $this->assertEquals($decrypted,$source);
//
// }
//
@@ -657,11 +657,11 @@ class Test_Crypt extends \PHPUnit_Framework_TestCase {
// $decrypted=OC_Encryption\Crypt::decrypt($encrypted,$key);
//
// $decrypted=rtrim($decrypted, "\0");
-// $this->assertEqual($decrypted,$source);
+// $this->assertEquals($decrypted,$source);
//
// $encrypted=OC_Encryption\Crypt::blockEncrypt($source,$key);
// $decrypted=OC_Encryption\Crypt::blockDecrypt($encrypted,$key,strlen($source));
-// $this->assertEqual($decrypted,$source);
+// $this->assertEquals($decrypted,$source);
// }
}
diff --git a/apps/files_encryption/test/proxy.php b/apps/files_encryption/test/proxy.php
index 51e77100baa..709730f7609 100644
--- a/apps/files_encryption/test/proxy.php
+++ b/apps/files_encryption/test/proxy.php
@@ -109,7 +109,7 @@
//
// }
-// class Test_CryptProxy extends UnitTestCase {
+// class Test_CryptProxy extends PHPUnit_Framework_TestCase {
// private $oldConfig;
// private $oldKey;
//
@@ -161,9 +161,9 @@
// 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);
+// $this->assertNotEquals($original,$stored);
+// $this->assertEquals(strlen($original),strlen($fromFile));
+// $this->assertEquals($original,$fromFile);
//
// }
//
@@ -181,12 +181,12 @@
// $stored=$rootView->file_get_contents($userDir.'/file');
// OC_FileProxy::$enabled=true;
//
-// $this->assertNotEqual($original,$stored);
+// $this->assertNotEquals($original,$stored);
// $fromFile=$rootView->file_get_contents($userDir.'/file');
-// $this->assertEqual($original,$fromFile);
+// $this->assertEquals($original,$fromFile);
//
// $fromFile=$view->file_get_contents('files/file');
-// $this->assertEqual($original,$fromFile);
+// $this->assertEquals($original,$fromFile);
// }
//
// public function testBinary(){
@@ -200,9 +200,9 @@
// 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);
+// $this->assertNotEquals($original,$stored);
+// $this->assertEquals(strlen($original),strlen($fromFile));
+// $this->assertEquals($original,$fromFile);
//
// $file=__DIR__.'/zeros';
// $original=file_get_contents($file);
@@ -214,7 +214,7 @@
// OC_FileProxy::$enabled=true;
//
// $fromFile=OC_Filesystem::file_get_contents('/file');
-// $this->assertNotEqual($original,$stored);
-// $this->assertEqual(strlen($original),strlen($fromFile));
+// $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
index 4211cab3104..ba82ac80eab 100644
--- a/apps/files_encryption/test/stream.php
+++ b/apps/files_encryption/test/stream.php
@@ -117,7 +117,7 @@
// //
// // fclose( $stream );
// //
-// // $this->assertEqual( 'foobar', $data );
+// // $this->assertEquals( 'foobar', $data );
// //
// //
// // $file = OC::$SERVERROOT.'/3rdparty/MDB2.php';
@@ -139,15 +139,15 @@
// //
// // $original = file_get_contents( $file );
// //
-// // $this->assertEqual( strlen( $original ), strlen( $data ) );
+// // $this->assertEquals( strlen( $original ), strlen( $data ) );
// //
-// // $this->assertEqual( $original, $data );
+// // $this->assertEquals( $original, $data );
// //
// // }
//
// }
//
-// // class Test_CryptStream extends UnitTestCase {
+// // class Test_CryptStream extends PHPUnit_Framework_TestCase {
// // private $tmpFiles=array();
// //
// // function testStream(){
@@ -158,7 +158,7 @@
// // $stream=$this->getStream('test1','r',strlen('foobar'));
// // $data=fread($stream,6);
// // fclose($stream);
-// // $this->assertEqual('foobar',$data);
+// // $this->assertEquals('foobar',$data);
// //
// // $file=OC::$SERVERROOT.'/3rdparty/MDB2.php';
// // $source=fopen($file,'r');
@@ -170,8 +170,8 @@
// // $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);
+// // $this->assertEquals(strlen($original),strlen($data));
+// // $this->assertEquals($original,$data);
// // }
// //
// // /**
@@ -207,8 +207,8 @@
// // $stream=$this->getStream('test','r',strlen($source));
// // $data=stream_get_contents($stream);
// // fclose($stream);
-// // $this->assertEqual(strlen($data),strlen($source));
-// // $this->assertEqual($source,$data);
+// // $this->assertEquals(strlen($data),strlen($source));
+// // $this->assertEquals($source,$data);
// //
// // $file=__DIR__.'/zeros';
// // $source=file_get_contents($file);
@@ -220,7 +220,7 @@
// // $stream=$this->getStream('test2','r',strlen($source));
// // $data=stream_get_contents($stream);
// // fclose($stream);
-// // $this->assertEqual(strlen($data),strlen($source));
-// // $this->assertEqual($source,$data);
+// // $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
index 016787fbfba..a299ec67f59 100755
--- a/apps/files_encryption/test/util.php
+++ b/apps/files_encryption/test/util.php
@@ -203,7 +203,7 @@ class Test_Enc_Util extends \PHPUnit_Framework_TestCase {
//
// $decrypted = $c->legacyDecrypt( $encrypted, $c->legacyKey );
//
-// $this->assertEqual( $decrypted, $this->data );
+// $this->assertEquals( $decrypted, $this->data );
//
// }
diff --git a/apps/files_external/l10n/ro.php b/apps/files_external/l10n/ro.php
index 6a152786808..ca2c9f7e5c8 100644
--- a/apps/files_external/l10n/ro.php
+++ b/apps/files_external/l10n/ro.php
@@ -1,4 +1,12 @@
<?php $TRANSLATIONS = array(
+"Access granted" => "Acces permis",
+"Error configuring Dropbox storage" => "Eroare la configurarea mediului de stocare Dropbox",
+"Grant access" => "Permite accesul",
+"Fill out all required fields" => "Completează toate câmpurile necesare",
+"Please provide a valid Dropbox app key and secret." => "Prezintă te rog o cheie de Dropbox validă și parola",
+"Error configuring Google Drive storage" => "Eroare la configurarea mediului de stocare 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>Atenție:</b> \"smbclient\" nu este instalat. Montarea mediilor CIFS/SMB partajate nu este posibilă. Solicită administratorului sistemului tău să îl instaleaze.",
+"<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>Atenție:</b> suportul pentru FTP în PHP nu este activat sau instalat. Montarea mediilor FPT partajate nu este posibilă. Solicită administratorului sistemului tău să îl instaleze.",
"External Storage" => "Stocare externă",
"Mount point" => "Punctul de montare",
"Backend" => "Backend",
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/js/share.js b/apps/files_sharing/js/share.js
index a46d0179801..eb5a6e8cb7f 100644
--- a/apps/files_sharing/js/share.js
+++ b/apps/files_sharing/js/share.js
@@ -1,6 +1,8 @@
$(document).ready(function() {
- if (typeof OC.Share !== 'undefined' && typeof FileActions !== 'undefined' && !publicListView) {
+ var disableSharing = $('#disableSharing').data('status');
+
+ 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() == '/') {
diff --git a/apps/files_sharing/l10n/lb.php b/apps/files_sharing/l10n/lb.php
new file mode 100644
index 00000000000..8aba5806aa0
--- /dev/null
+++ b/apps/files_sharing/l10n/lb.php
@@ -0,0 +1,3 @@
+<?php $TRANSLATIONS = array(
+"Password" => "Passwuert"
+);
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 93f3b4da2bd..5672c78dc33 100644
--- a/apps/files_sharing/public.php
+++ b/apps/files_sharing/public.php
@@ -258,7 +258,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', '' );
diff --git a/apps/files_sharing/templates/public.php b/apps/files_sharing/templates/public.php
index 13af528ce80..71fca09ed6d 100644
--- a/apps/files_sharing/templates/public.php
+++ b/apps/files_sharing/templates/public.php
@@ -1,11 +1,3 @@
-<script type="text/javascript">
- <?php if ( array_key_exists('publicListView', $_) && $_['publicListView'] == true ) {
- echo "var publicListView = true;";
- } else {
- echo "var publicListView = false;";
- }
- ?>
-</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/l10n/lb.php b/apps/files_versions/l10n/lb.php
new file mode 100644
index 00000000000..3aa625ffc97
--- /dev/null
+++ b/apps/files_versions/l10n/lb.php
@@ -0,0 +1,5 @@
+<?php $TRANSLATIONS = array(
+"History" => "Historique",
+"Files Versioning" => "Fichier's Versionéierung ",
+"Enable" => "Aschalten"
+);
diff --git a/apps/user_ldap/l10n/fr.php b/apps/user_ldap/l10n/fr.php
index dd2fb08091c..28ee6346ef4 100644
--- a/apps/user_ldap/l10n/fr.php
+++ b/apps/user_ldap/l10n/fr.php
@@ -1,11 +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 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",
@@ -19,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/lb.php b/apps/user_ldap/l10n/lb.php
index 2926538b5b0..6d70f682ddb 100644
--- a/apps/user_ldap/l10n/lb.php
+++ b/apps/user_ldap/l10n/lb.php
@@ -1,3 +1,4 @@
<?php $TRANSLATIONS = array(
+"Password" => "Passwuert",
"Help" => "Hëllef"
);
diff --git a/apps/user_ldap/l10n/ro.php b/apps/user_ldap/l10n/ro.php
index 3ab336cfffb..d83c890b747 100644
--- a/apps/user_ldap/l10n/ro.php
+++ b/apps/user_ldap/l10n/ro.php
@@ -1,8 +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.",
@@ -19,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/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/fr.php b/apps/user_webdavauth/l10n/fr.php
index 339931c7cee..9d528a3a9d2 100644
--- a/apps/user_webdavauth/l10n/fr.php
+++ b/apps/user_webdavauth/l10n/fr.php
@@ -1,3 +1,5 @@
<?php $TRANSLATIONS = array(
-"URL: http://" => "URL : 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/hu_HU.php b/apps/user_webdavauth/l10n/hu_HU.php
index 245a5101341..64352801142 100644
--- a/apps/user_webdavauth/l10n/hu_HU.php
+++ b/apps/user_webdavauth/l10n/hu_HU.php
@@ -1,3 +1,5 @@
<?php $TRANSLATIONS = array(
-"URL: http://" => "URL: http://"
+"WebDAV Authentication" => "WebDAV hitelesítés",
+"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." => "Az ownCloud elküldi a felhasználói fiók adatai a következő URL-re. Ez a bővítőmodul leellenőrzi a választ és ha a HTTP hibakód nem 401 vagy 403 azaz érvénytelen hitelesítő, akkor minden más válasz érvényes lesz."
);
diff --git a/apps/user_webdavauth/l10n/ro.php b/apps/user_webdavauth/l10n/ro.php
index 245a5101341..9df490e81ec 100644
--- a/apps/user_webdavauth/l10n/ro.php
+++ b/apps/user_webdavauth/l10n/ro.php
@@ -1,3 +1,5 @@
<?php $TRANSLATIONS = array(
-"URL: http://" => "URL: http://"
+"WebDAV Authentication" => "Autentificare 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 va trimite datele de autentificare la acest URL. Acest modul verifică răspunsul și va interpreta codurile de status HTTP 401 sau 403 ca fiind date de autentificare invalide, și orice alt răspuns ca fiind date valide."
);
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/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 f26a53c1553..78d513c7f23 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(
@@ -90,6 +92,10 @@ $CONFIG = array(
*/
"mail_smtpauth" => false,
+/* authentication type needed to send mail, depends on mail_smtpmode if this is used
+ * Can be LOGIN (default), PLAIN or NTLM */
+"mail_smtpauthtype" => "LOGIN",
+
/* Username to use for sendmail mail, depends on mail_smtpauth if this is used */
"mail_smtpname" => "",
@@ -114,6 +120,9 @@ $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.
*/
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/styles.css b/core/css/styles.css
index 3c172d11df8..7fb800f79e2 100644
--- a/core/css/styles.css
+++ b/core/css/styles.css
@@ -191,11 +191,12 @@ 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; }
-tr:hover .action, .selectedActions a { -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; filter:alpha(opacity=50); opacity:.5; }
+tr .action:not(.permanent), .selectedActions a { -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; filter:alpha(opacity=0); opacity:0; }
+tr:hover .action, tr .action.permanent, .selectedActions a { -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; filter:alpha(opacity=50); opacity:.5; }
tr .action { width:16px; height:16px; }
.header-action { -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=80)"; filter:alpha(opacity=80); opacity:.8; }
tr:hover .action:hover, .selectedActions a:hover, .header-action:hover { -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; filter:alpha(opacity=100); opacity:1; }
diff --git a/core/js/config.php b/core/js/config.php
new file mode 100644
index 00000000000..9069175ed6f
--- /dev/null
+++ b/core/js/config.php
@@ -0,0 +1,41 @@
+<?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
+$apps_paths = array();
+foreach(OC_App::getEnabledApps() as $app) {
+ $apps_paths[$app] = OC_App::getAppWebPath($app);
+}
+
+$array = array(
+ "oc_debug" => (defined('DEBUG') && DEBUG) ? 'true' : 'false',
+ "oc_webroot" => "\"".OC::$WEBROOT."\"",
+ "oc_appswebroots" => str_replace('\\/', '/', json_encode($apps_paths)), // Ugly unescape slashes waiting for better solution
+ "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/eventsource.js b/core/js/eventsource.js
index 0c2a995f331..f783ade7ae9 100644
--- a/core/js/eventsource.js
+++ b/core/js/eventsource.js
@@ -40,7 +40,7 @@ OC.EventSource=function(src,data){
dataStr+=name+'='+encodeURIComponent(data[name])+'&';
}
}
- dataStr+='requesttoken='+OC.EventSource.requesttoken;
+ dataStr+='requesttoken='+oc_requesttoken;
if(!this.useFallBack && typeof EventSource !='undefined'){
var joinChar = '&';
if(src.indexOf('?') == -1) {
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 6241036b1b8..01e47edf268 100644
--- a/core/js/js.js
+++ b/core/js/js.js
@@ -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);
@@ -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:[],
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/share.js b/core/js/share.js
index 1486d7f1773..0c45765bd8b 100644
--- a/core/js/share.js
+++ b/core/js/share.js
@@ -23,7 +23,10 @@ OC.Share={
} else {
var file = $('tr').filterAttr('data-file', OC.basename(item));
if (file.length > 0) {
- $(file).find('.fileactions .action').filterAttr('data-action', 'Share').find('img').attr('src', image);
+ var action = $(file).find('.fileactions .action').filterAttr('data-action', 'Share');
+ action.find('img').attr('src', image);
+ action.addClass('permanent');
+ action.html(action.html().replace(t('core', 'Share'), t('core', 'Shared')));
}
var dir = $('#dir').val();
if (dir.length > 1) {
@@ -32,9 +35,12 @@ OC.Share={
// Search for possible parent folders that are shared
while (path != last) {
if (path == item) {
- var img = $('.fileactions .action').filterAttr('data-action', 'Share').find('img');
+ var action = $('.fileactions .action').filterAttr('data-action', 'Share');
+ var img = action.find('img');
if (img.attr('src') != OC.imagePath('core', 'actions/public')) {
img.attr('src', image);
+ action.addClass('permanent');
+ action.html(action.html().replace(t('core', 'Share'), t('core', 'Shared')));
}
}
last = path;
@@ -48,7 +54,8 @@ OC.Share={
},
updateIcon:function(itemType, itemSource) {
if (itemType == 'file' || itemType == 'folder') {
- var filename = $('tr').filterAttr('data-id', String(itemSource)).data('file');
+ var file = $('tr').filterAttr('data-id', String(itemSource));
+ var filename = file.data('file');
if ($('#dir').val() == '/') {
itemSource = $('#dir').val() + filename;
} else {
@@ -75,6 +82,16 @@ OC.Share={
});
if (itemType != 'file' && itemType != 'folder') {
$('a.share[data-item="'+itemSource+'"]').css('background', 'url('+image+') no-repeat center');
+ } else {
+ var action = $(file).find('.fileactions .action').filterAttr('data-action', 'Share');
+ action.find('img').attr('src', image);
+ if (shares) {
+ action.addClass('permanent');
+ action.html(action.html().replace(t('core', 'Share'), t('core', 'Shared')));
+ } else {
+ action.removeClass('permanent');
+ action.html(action.html().replace(t('core', 'Shared'), t('core', 'Share')));
+ }
}
if (shares) {
OC.Share.statuses[itemSource] = link;
diff --git a/core/js/update.js b/core/js/update.js
new file mode 100644
index 00000000000..8ab02bbf935
--- /dev/null
+++ b/core/js/update.js
@@ -0,0 +1,23 @@
+$(document).ready(function () {
+ 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);
+ });
+}); \ No newline at end of file
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 38450f8d54f..495bfbd0eac 100644
--- a/core/l10n/ar.php
+++ b/core/l10n/ar.php
@@ -2,6 +2,25 @@
"No category to add?" => "ألا توجد Ùئة للإضاÙة؟",
"This category already exists: " => "هذه الÙئة موجودة مسبقاً",
"No categories selected for deletion." => "لم يتم اختيار Ùئة للحذÙ",
+"Sunday" => "الاحد",
+"Monday" => "الأثنين",
+"Tuesday" => "الثلاثاء",
+"Wednesday" => "الاربعاء",
+"Thursday" => "الخميس",
+"Friday" => "الجمعه",
+"Saturday" => "السبت",
+"January" => "كانون الثاني",
+"February" => "شباط",
+"March" => "آذار",
+"April" => "نيسان",
+"May" => "أيار",
+"June" => "حزيران",
+"July" => "تموز",
+"August" => "آب",
+"September" => "أيلول",
+"October" => "تشرين الاول",
+"November" => "تشرين الثاني",
+"December" => "كانون الاول",
"Settings" => "تعديلات",
"seconds ago" => "منذ ثواني",
"1 minute ago" => "منذ دقيقة",
@@ -71,25 +90,6 @@
"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" => "الخروج",
"Automatic logon rejected!" => "تم رÙض تسجيل الدخول التلقائي!",
diff --git a/core/l10n/bg_BG.php b/core/l10n/bg_BG.php
index a7cba523be2..9a2716277a3 100644
--- a/core/l10n/bg_BG.php
+++ b/core/l10n/bg_BG.php
@@ -8,6 +8,7 @@
"last month" => "поÑледниÑÑ‚ меÑец",
"last year" => "поÑледната година",
"years ago" => "поÑледните години",
+"Error" => "Грешка",
"Password" => "Парола",
"Personal" => "Лични",
"Users" => "Потребители",
diff --git a/core/l10n/bn_BD.php b/core/l10n/bn_BD.php
index 333e4bf0be5..2f13a497948 100644
--- a/core/l10n/bn_BD.php
+++ b/core/l10n/bn_BD.php
@@ -11,6 +11,25 @@
"Error adding %s to favorites." => "পà§à¦°à¦¿à§Ÿà¦¤à§‡ %s যোগ করতে সমসà§à¦¯à¦¾ দেখা দিয়েছে।",
"No categories selected for deletion." => "মà§à¦›à§‡ ফেলার জনà§à¦¯ কোন কà§à¦¯à¦¾à¦Ÿà§‡à¦—রি নিরà§à¦¬à¦¾à¦šà¦¨ করা হয় নি ।",
"Error removing %s from favorites." => "পà§à¦°à¦¿à§Ÿ থেকে %s সরিয়ে ফেলতে সমসà§à¦¯à¦¾ দেখা দিয়েছে।",
+"Sunday" => "রবিবার",
+"Monday" => "সোমবার",
+"Tuesday" => "মঙà§à¦—লবার",
+"Wednesday" => "বà§à¦§à¦¬à¦¾à¦°",
+"Thursday" => "বৃহষà§à¦ªà¦¤à¦¿à¦¬à¦¾à¦°",
+"Friday" => "শà§à¦•à§à¦°à¦¬à¦¾à¦°",
+"Saturday" => "শনিবার",
+"January" => "জানà§à§Ÿà¦¾à¦°à¦¿",
+"February" => "ফেবà§à¦°à§à§Ÿà¦¾à¦°à¦¿",
+"March" => "মারà§à¦š",
+"April" => "à¦à¦ªà§à¦°à¦¿à¦²",
+"May" => "মে",
+"June" => "জà§à¦¨",
+"July" => "জà§à¦²à¦¾à¦‡",
+"August" => "অগাষà§à¦Ÿ",
+"September" => "সেপà§à¦Ÿà§‡à¦®à§à¦¬à¦°",
+"October" => "অকà§à¦Ÿà§‹à¦¬à¦°",
+"November" => "নভেমà§à¦¬à¦°",
+"December" => "ডিসেমà§à¦¬à¦°",
"Settings" => "নিয়ামকসমূহ",
"seconds ago" => "সেকেনà§à¦¡ পূরà§à¦¬à§‡",
"1 minute ago" => "1 মিনিট পূরà§à¦¬à§‡",
@@ -95,25 +114,6 @@
"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?" => "কূটশবà§à¦¦ হারিয়েছেন?",
diff --git a/core/l10n/ca.php b/core/l10n/ca.php
index e66bad25e43..4d643873f18 100644
--- a/core/l10n/ca.php
+++ b/core/l10n/ca.php
@@ -11,6 +11,25 @@
"Error adding %s to favorites." => "Error en afegir %s als preferits.",
"No categories selected for deletion." => "No hi ha categories per eliminar.",
"Error removing %s from favorites." => "Error en eliminar %s dels preferits.",
+"Sunday" => "Diumenge",
+"Monday" => "Dilluns",
+"Tuesday" => "Dimarts",
+"Wednesday" => "Dimecres",
+"Thursday" => "Dijous",
+"Friday" => "Divendres",
+"Saturday" => "Dissabte",
+"January" => "Gener",
+"February" => "Febrer",
+"March" => "Març",
+"April" => "Abril",
+"May" => "Maig",
+"June" => "Juny",
+"July" => "Juliol",
+"August" => "Agost",
+"September" => "Setembre",
+"October" => "Octubre",
+"November" => "Novembre",
+"December" => "Desembre",
"Settings" => "Arranjament",
"seconds ago" => "segons enrere",
"1 minute ago" => "fa 1 minut",
@@ -98,25 +117,6 @@
"Database tablespace" => "Espai de taula de la base de dades",
"Database host" => "Ordinador central de la base de dades",
"Finish setup" => "Acaba la configuració",
-"Sunday" => "Diumenge",
-"Monday" => "Dilluns",
-"Tuesday" => "Dimarts",
-"Wednesday" => "Dimecres",
-"Thursday" => "Dijous",
-"Friday" => "Divendres",
-"Saturday" => "Dissabte",
-"January" => "Gener",
-"February" => "Febrer",
-"March" => "Març",
-"April" => "Abril",
-"May" => "Maig",
-"June" => "Juny",
-"July" => "Juliol",
-"August" => "Agost",
-"September" => "Setembre",
-"October" => "Octubre",
-"November" => "Novembre",
-"December" => "Desembre",
"web services under your control" => "controleu els vostres serveis web",
"Log out" => "Surt",
"Automatic logon rejected!" => "L'ha rebutjat l'acceditació automàtica!",
diff --git a/core/l10n/cs_CZ.php b/core/l10n/cs_CZ.php
index 7a766bd7176..16d51032e3c 100644
--- a/core/l10n/cs_CZ.php
+++ b/core/l10n/cs_CZ.php
@@ -11,6 +11,25 @@
"Error adding %s to favorites." => "Chyba při přidávání %s k oblíbeným.",
"No categories selected for deletion." => "Žádné kategorie nebyly vybrány ke smazání.",
"Error removing %s from favorites." => "Chyba při odebírání %s z oblíbených.",
+"Sunday" => "Neděle",
+"Monday" => "Pondělí",
+"Tuesday" => "Úterý",
+"Wednesday" => "Středa",
+"Thursday" => "ÄŒtvrtek",
+"Friday" => "Pátek",
+"Saturday" => "Sobota",
+"January" => "Leden",
+"February" => "Únor",
+"March" => "Březen",
+"April" => "Duben",
+"May" => "Květen",
+"June" => "ÄŒerven",
+"July" => "ÄŒervenec",
+"August" => "Srpen",
+"September" => "Září",
+"October" => "Říjen",
+"November" => "Listopad",
+"December" => "Prosinec",
"Settings" => "Nastavení",
"seconds ago" => "před pár vteřinami",
"1 minute ago" => "před minutou",
@@ -98,25 +117,6 @@
"Database tablespace" => "Tabulkový prostor databáze",
"Database host" => "Hostitel databáze",
"Finish setup" => "DokonÄit nastavení",
-"Sunday" => "Neděle",
-"Monday" => "Pondělí",
-"Tuesday" => "Úterý",
-"Wednesday" => "Středa",
-"Thursday" => "ÄŒtvrtek",
-"Friday" => "Pátek",
-"Saturday" => "Sobota",
-"January" => "Leden",
-"February" => "Únor",
-"March" => "Březen",
-"April" => "Duben",
-"May" => "Květen",
-"June" => "ÄŒerven",
-"July" => "ÄŒervenec",
-"August" => "Srpen",
-"September" => "Září",
-"October" => "Říjen",
-"November" => "Listopad",
-"December" => "Prosinec",
"web services under your control" => "webové služby pod Vaší kontrolou",
"Log out" => "Odhlásit se",
"Automatic logon rejected!" => "Automatické přihlášení odmítnuto.",
diff --git a/core/l10n/da.php b/core/l10n/da.php
index e8155c298c0..12c4c693c83 100644
--- a/core/l10n/da.php
+++ b/core/l10n/da.php
@@ -11,6 +11,25 @@
"Error adding %s to favorites." => "Fejl ved tilføjelse af %s til favoritter.",
"No categories selected for deletion." => "Ingen kategorier valgt",
"Error removing %s from favorites." => "Fejl ved fjernelse af %s fra favoritter.",
+"Sunday" => "Søndag",
+"Monday" => "Mandag",
+"Tuesday" => "Tirsdag",
+"Wednesday" => "Onsdag",
+"Thursday" => "Torsdag",
+"Friday" => "Fredag",
+"Saturday" => "Lørdag",
+"January" => "Januar",
+"February" => "Februar",
+"March" => "Marts",
+"April" => "April",
+"May" => "Maj",
+"June" => "Juni",
+"July" => "Juli",
+"August" => "August",
+"September" => "September",
+"October" => "Oktober",
+"November" => "November",
+"December" => "December",
"Settings" => "Indstillinger",
"seconds ago" => "sekunder siden",
"1 minute ago" => "1 minut siden",
@@ -98,25 +117,6 @@
"Database tablespace" => "Database tabelplads",
"Database host" => "Databasehost",
"Finish setup" => "Afslut opsætning",
-"Sunday" => "Søndag",
-"Monday" => "Mandag",
-"Tuesday" => "Tirsdag",
-"Wednesday" => "Onsdag",
-"Thursday" => "Torsdag",
-"Friday" => "Fredag",
-"Saturday" => "Lørdag",
-"January" => "Januar",
-"February" => "Februar",
-"March" => "Marts",
-"April" => "April",
-"May" => "Maj",
-"June" => "Juni",
-"July" => "Juli",
-"August" => "August",
-"September" => "September",
-"October" => "Oktober",
-"November" => "November",
-"December" => "December",
"web services under your control" => "Webtjenester under din kontrol",
"Log out" => "Log ud",
"Automatic logon rejected!" => "Automatisk login afvist!",
@@ -126,5 +126,6 @@
"remember" => "husk",
"Log in" => "Log ind",
"prev" => "forrige",
-"next" => "næste"
+"next" => "næste",
+"Updating ownCloud to version %s, this may take a while." => "Opdatere Owncloud til version %s, dette kan tage et stykke tid."
);
diff --git a/core/l10n/de.php b/core/l10n/de.php
index 89846301a58..b7ad57cf4c5 100644
--- a/core/l10n/de.php
+++ b/core/l10n/de.php
@@ -11,6 +11,25 @@
"Error adding %s to favorites." => "Fehler beim Hinzufügen von %s zu den Favoriten.",
"No categories selected for deletion." => "Es wurde keine Kategorien zum Löschen ausgewählt.",
"Error removing %s from favorites." => "Fehler beim Entfernen von %s von den Favoriten.",
+"Sunday" => "Sonntag",
+"Monday" => "Montag",
+"Tuesday" => "Dienstag",
+"Wednesday" => "Mittwoch",
+"Thursday" => "Donnerstag",
+"Friday" => "Freitag",
+"Saturday" => "Samstag",
+"January" => "Januar",
+"February" => "Februar",
+"March" => "März",
+"April" => "April",
+"May" => "Mai",
+"June" => "Juni",
+"July" => "Juli",
+"August" => "August",
+"September" => "September",
+"October" => "Oktober",
+"November" => "November",
+"December" => "Dezember",
"Settings" => "Einstellungen",
"seconds ago" => "Gerade eben",
"1 minute ago" => "vor einer Minute",
@@ -98,25 +117,6 @@
"Database tablespace" => "Datenbank-Tablespace",
"Database host" => "Datenbank-Host",
"Finish setup" => "Installation abschließen",
-"Sunday" => "Sonntag",
-"Monday" => "Montag",
-"Tuesday" => "Dienstag",
-"Wednesday" => "Mittwoch",
-"Thursday" => "Donnerstag",
-"Friday" => "Freitag",
-"Saturday" => "Samstag",
-"January" => "Januar",
-"February" => "Februar",
-"March" => "März",
-"April" => "April",
-"May" => "Mai",
-"June" => "Juni",
-"July" => "Juli",
-"August" => "August",
-"September" => "September",
-"October" => "Oktober",
-"November" => "November",
-"December" => "Dezember",
"web services under your control" => "Web-Services unter Ihrer Kontrolle",
"Log out" => "Abmelden",
"Automatic logon rejected!" => "Automatischer Login zurückgewiesen!",
diff --git a/core/l10n/de_DE.php b/core/l10n/de_DE.php
index d62b000c0ab..2e9231c1510 100644
--- a/core/l10n/de_DE.php
+++ b/core/l10n/de_DE.php
@@ -11,6 +11,25 @@
"Error adding %s to favorites." => "Fehler beim Hinzufügen von %s zu den Favoriten.",
"No categories selected for deletion." => "Es wurden keine Kategorien zum Löschen ausgewählt.",
"Error removing %s from favorites." => "Fehler beim Entfernen von %s von den Favoriten.",
+"Sunday" => "Sonntag",
+"Monday" => "Montag",
+"Tuesday" => "Dienstag",
+"Wednesday" => "Mittwoch",
+"Thursday" => "Donnerstag",
+"Friday" => "Freitag",
+"Saturday" => "Samstag",
+"January" => "Januar",
+"February" => "Februar",
+"March" => "März",
+"April" => "April",
+"May" => "Mai",
+"June" => "Juni",
+"July" => "Juli",
+"August" => "August",
+"September" => "September",
+"October" => "Oktober",
+"November" => "November",
+"December" => "Dezember",
"Settings" => "Einstellungen",
"seconds ago" => "Gerade eben",
"1 minute ago" => "Vor 1 Minute",
@@ -98,25 +117,6 @@
"Database tablespace" => "Datenbank-Tablespace",
"Database host" => "Datenbank-Host",
"Finish setup" => "Installation abschließen",
-"Sunday" => "Sonntag",
-"Monday" => "Montag",
-"Tuesday" => "Dienstag",
-"Wednesday" => "Mittwoch",
-"Thursday" => "Donnerstag",
-"Friday" => "Freitag",
-"Saturday" => "Samstag",
-"January" => "Januar",
-"February" => "Februar",
-"March" => "März",
-"April" => "April",
-"May" => "Mai",
-"June" => "Juni",
-"July" => "Juli",
-"August" => "August",
-"September" => "September",
-"October" => "Oktober",
-"November" => "November",
-"December" => "Dezember",
"web services under your control" => "Web-Services unter Ihrer Kontrolle",
"Log out" => "Abmelden",
"Automatic logon rejected!" => "Automatische Anmeldung verweigert.",
diff --git a/core/l10n/el.php b/core/l10n/el.php
index c029b01fd9c..79cffb0685d 100644
--- a/core/l10n/el.php
+++ b/core/l10n/el.php
@@ -11,6 +11,25 @@
"Error adding %s to favorites." => "Σφάλμα Ï€Ïοσθήκης %s στα αγαπημένα.",
"No categories selected for deletion." => "Δεν επιλέχτηκαν κατηγοÏίες για διαγÏαφή.",
"Error removing %s from favorites." => "Σφάλμα αφαίÏεσης %s από τα αγαπημένα.",
+"Sunday" => "ΚυÏιακή",
+"Monday" => "ΔευτέÏα",
+"Tuesday" => "ΤÏίτη",
+"Wednesday" => "ΤετάÏτη",
+"Thursday" => "Πέμπτη",
+"Friday" => "ΠαÏασκευή",
+"Saturday" => "Σάββατο",
+"January" => "ΙανουάÏιος",
+"February" => "ΦεβÏουάÏιος",
+"March" => "ΜάÏτιος",
+"April" => "ΑπÏίλιος",
+"May" => "Μάϊος",
+"June" => "ΙοÏνιος",
+"July" => "ΙοÏλιος",
+"August" => "ΑÏγουστος",
+"September" => "ΣεπτέμβÏιος",
+"October" => "ΟκτώβÏιος",
+"November" => "ÎοέμβÏιος",
+"December" => "ΔεκέμβÏιος",
"Settings" => "Ρυθμίσεις",
"seconds ago" => "δευτεÏόλεπτα Ï€Ïιν",
"1 minute ago" => "1 λεπτό Ï€Ïιν",
@@ -98,25 +117,6 @@
"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" => "ΥπηÏεσίες web υπό τον έλεγχό σας",
"Log out" => "ΑποσÏνδεση",
"Automatic logon rejected!" => "ΑποÏÏίφθηκε η αυτόματη σÏνδεση!",
diff --git a/core/l10n/eo.php b/core/l10n/eo.php
index 0319eeef2d4..0839cfe9f6f 100644
--- a/core/l10n/eo.php
+++ b/core/l10n/eo.php
@@ -11,6 +11,25 @@
"Error adding %s to favorites." => "Eraro dum aldono de %s al favoratoj.",
"No categories selected for deletion." => "Neniu kategorio elektiÄis por forigo.",
"Error removing %s from favorites." => "Eraro dum forigo de %s el favoratoj.",
+"Sunday" => "dimanĉo",
+"Monday" => "lundo",
+"Tuesday" => "mardo",
+"Wednesday" => "merkredo",
+"Thursday" => "ĵaŭdo",
+"Friday" => "vendredo",
+"Saturday" => "sabato",
+"January" => "Januaro",
+"February" => "Februaro",
+"March" => "Marto",
+"April" => "Aprilo",
+"May" => "Majo",
+"June" => "Junio",
+"July" => "Julio",
+"August" => "AÅ­gusto",
+"September" => "Septembro",
+"October" => "Oktobro",
+"November" => "Novembro",
+"December" => "Decembro",
"Settings" => "Agordo",
"seconds ago" => "sekundoj antaÅ­e",
"1 minute ago" => "antaÅ­ 1 minuto",
@@ -95,25 +114,6 @@
"Database tablespace" => "Datumbaza tabelospaco",
"Database host" => "Datumbaza gastigo",
"Finish setup" => "Fini la instalon",
-"Sunday" => "dimanĉo",
-"Monday" => "lundo",
-"Tuesday" => "mardo",
-"Wednesday" => "merkredo",
-"Thursday" => "ĵaŭdo",
-"Friday" => "vendredo",
-"Saturday" => "sabato",
-"January" => "Januaro",
-"February" => "Februaro",
-"March" => "Marto",
-"April" => "Aprilo",
-"May" => "Majo",
-"June" => "Junio",
-"July" => "Julio",
-"August" => "AÅ­gusto",
-"September" => "Septembro",
-"October" => "Oktobro",
-"November" => "Novembro",
-"December" => "Decembro",
"web services under your control" => "TTT-servoj sub via kontrolo",
"Log out" => "Elsaluti",
"If you did not change your password recently, your account may be compromised!" => "Se vi ne ÅanÄis vian pasvorton lastatempe, via konto eble kompromitas!",
diff --git a/core/l10n/es.php b/core/l10n/es.php
index 4f8f1936c7f..4bdbcac0e95 100644
--- a/core/l10n/es.php
+++ b/core/l10n/es.php
@@ -11,6 +11,25 @@
"Error adding %s to favorites." => "Error añadiendo %s a los favoritos.",
"No categories selected for deletion." => "No hay categorías seleccionadas para borrar.",
"Error removing %s from favorites." => "Error eliminando %s de los favoritos.",
+"Sunday" => "Domingo",
+"Monday" => "Lunes",
+"Tuesday" => "Martes",
+"Wednesday" => "Miércoles",
+"Thursday" => "Jueves",
+"Friday" => "Viernes",
+"Saturday" => "Sábado",
+"January" => "Enero",
+"February" => "Febrero",
+"March" => "Marzo",
+"April" => "Abril",
+"May" => "Mayo",
+"June" => "Junio",
+"July" => "Julio",
+"August" => "Agosto",
+"September" => "Septiembre",
+"October" => "Octubre",
+"November" => "Noviembre",
+"December" => "Diciembre",
"Settings" => "Ajustes",
"seconds ago" => "hace segundos",
"1 minute ago" => "hace 1 minuto",
@@ -98,25 +117,6 @@
"Database tablespace" => "Espacio de tablas de la base de datos",
"Database host" => "Host de la base de datos",
"Finish setup" => "Completar la instalación",
-"Sunday" => "Domingo",
-"Monday" => "Lunes",
-"Tuesday" => "Martes",
-"Wednesday" => "Miércoles",
-"Thursday" => "Jueves",
-"Friday" => "Viernes",
-"Saturday" => "Sábado",
-"January" => "Enero",
-"February" => "Febrero",
-"March" => "Marzo",
-"April" => "Abril",
-"May" => "Mayo",
-"June" => "Junio",
-"July" => "Julio",
-"August" => "Agosto",
-"September" => "Septiembre",
-"October" => "Octubre",
-"November" => "Noviembre",
-"December" => "Diciembre",
"web services under your control" => "servicios web bajo tu control",
"Log out" => "Salir",
"Automatic logon rejected!" => "¡Inicio de sesión automático rechazado!",
diff --git a/core/l10n/es_AR.php b/core/l10n/es_AR.php
index 374a679260b..d588ac950c9 100644
--- a/core/l10n/es_AR.php
+++ b/core/l10n/es_AR.php
@@ -11,6 +11,25 @@
"Error adding %s to favorites." => "Error al agregar %s a favoritos. ",
"No categories selected for deletion." => "No hay categorías seleccionadas para borrar.",
"Error removing %s from favorites." => "Error al remover %s de favoritos. ",
+"Sunday" => "Domingo",
+"Monday" => "Lunes",
+"Tuesday" => "Martes",
+"Wednesday" => "Miércoles",
+"Thursday" => "Jueves",
+"Friday" => "Viernes",
+"Saturday" => "Sábado",
+"January" => "Enero",
+"February" => "Febrero",
+"March" => "Marzo",
+"April" => "Abril",
+"May" => "Mayo",
+"June" => "Junio",
+"July" => "Julio",
+"August" => "Agosto",
+"September" => "Septiembre",
+"October" => "Octubre",
+"November" => "Noviembre",
+"December" => "Diciembre",
"Settings" => "Ajustes",
"seconds ago" => "segundos atrás",
"1 minute ago" => "hace 1 minuto",
@@ -98,25 +117,6 @@
"Database tablespace" => "Espacio de tablas de la base de datos",
"Database host" => "Host de la base de datos",
"Finish setup" => "Completar la instalación",
-"Sunday" => "Domingo",
-"Monday" => "Lunes",
-"Tuesday" => "Martes",
-"Wednesday" => "Miércoles",
-"Thursday" => "Jueves",
-"Friday" => "Viernes",
-"Saturday" => "Sábado",
-"January" => "Enero",
-"February" => "Febrero",
-"March" => "Marzo",
-"April" => "Abril",
-"May" => "Mayo",
-"June" => "Junio",
-"July" => "Julio",
-"August" => "Agosto",
-"September" => "Septiembre",
-"October" => "Octubre",
-"November" => "Noviembre",
-"December" => "Diciembre",
"web services under your control" => "servicios web sobre los que tenés control",
"Log out" => "Cerrar la sesión",
"Automatic logon rejected!" => "¡El inicio de sesión automático fue rechazado!",
diff --git a/core/l10n/et_EE.php b/core/l10n/et_EE.php
index b79dd4761e7..4e3c003c9f6 100644
--- a/core/l10n/et_EE.php
+++ b/core/l10n/et_EE.php
@@ -2,6 +2,25 @@
"No category to add?" => "Pole kategooriat, mida lisada?",
"This category already exists: " => "See kategooria on juba olemas: ",
"No categories selected for deletion." => "Kustutamiseks pole kategooriat valitud.",
+"Sunday" => "Pühapäev",
+"Monday" => "Esmaspäev",
+"Tuesday" => "Teisipäev",
+"Wednesday" => "Kolmapäev",
+"Thursday" => "Neljapäev",
+"Friday" => "Reede",
+"Saturday" => "Laupäev",
+"January" => "Jaanuar",
+"February" => "Veebruar",
+"March" => "Märts",
+"April" => "Aprill",
+"May" => "Mai",
+"June" => "Juuni",
+"July" => "Juuli",
+"August" => "August",
+"September" => "September",
+"October" => "Oktoober",
+"November" => "November",
+"December" => "Detsember",
"Settings" => "Seaded",
"seconds ago" => "sekundit tagasi",
"1 minute ago" => "1 minut tagasi",
@@ -74,25 +93,6 @@
"Database tablespace" => "Andmebaasi tabeliruum",
"Database host" => "Andmebaasi host",
"Finish setup" => "Lõpeta seadistamine",
-"Sunday" => "Pühapäev",
-"Monday" => "Esmaspäev",
-"Tuesday" => "Teisipäev",
-"Wednesday" => "Kolmapäev",
-"Thursday" => "Neljapäev",
-"Friday" => "Reede",
-"Saturday" => "Laupäev",
-"January" => "Jaanuar",
-"February" => "Veebruar",
-"March" => "Märts",
-"April" => "Aprill",
-"May" => "Mai",
-"June" => "Juuni",
-"July" => "Juuli",
-"August" => "August",
-"September" => "September",
-"October" => "Oktoober",
-"November" => "November",
-"December" => "Detsember",
"web services under your control" => "veebiteenused sinu kontrolli all",
"Log out" => "Logi välja",
"Automatic logon rejected!" => "Automaatne sisselogimine lükati tagasi!",
diff --git a/core/l10n/eu.php b/core/l10n/eu.php
index 3f1a2909531..2bdb8f72b42 100644
--- a/core/l10n/eu.php
+++ b/core/l10n/eu.php
@@ -11,6 +11,25 @@
"Error adding %s to favorites." => "Errorea gertatu da %s gogokoetara gehitzean.",
"No categories selected for deletion." => "Ez da ezabatzeko kategoriarik hautatu.",
"Error removing %s from favorites." => "Errorea gertatu da %s gogokoetatik ezabatzean.",
+"Sunday" => "Igandea",
+"Monday" => "Astelehena",
+"Tuesday" => "Asteartea",
+"Wednesday" => "Asteazkena",
+"Thursday" => "Osteguna",
+"Friday" => "Ostirala",
+"Saturday" => "Larunbata",
+"January" => "Urtarrila",
+"February" => "Otsaila",
+"March" => "Martxoa",
+"April" => "Apirila",
+"May" => "Maiatza",
+"June" => "Ekaina",
+"July" => "Uztaila",
+"August" => "Abuztua",
+"September" => "Iraila",
+"October" => "Urria",
+"November" => "Azaroa",
+"December" => "Abendua",
"Settings" => "Ezarpenak",
"seconds ago" => "segundu",
"1 minute ago" => "orain dela minutu 1",
@@ -98,25 +117,6 @@
"Database tablespace" => "Datu basearen taula-lekua",
"Database host" => "Datubasearen hostalaria",
"Finish setup" => "Bukatu konfigurazioa",
-"Sunday" => "Igandea",
-"Monday" => "Astelehena",
-"Tuesday" => "Asteartea",
-"Wednesday" => "Asteazkena",
-"Thursday" => "Osteguna",
-"Friday" => "Ostirala",
-"Saturday" => "Larunbata",
-"January" => "Urtarrila",
-"February" => "Otsaila",
-"March" => "Martxoa",
-"April" => "Apirila",
-"May" => "Maiatza",
-"June" => "Ekaina",
-"July" => "Uztaila",
-"August" => "Abuztua",
-"September" => "Iraila",
-"October" => "Urria",
-"November" => "Azaroa",
-"December" => "Abendua",
"web services under your control" => "web zerbitzuak zure kontrolpean",
"Log out" => "Saioa bukatu",
"Automatic logon rejected!" => "Saio hasiera automatikoa ez onartuta!",
diff --git a/core/l10n/fa.php b/core/l10n/fa.php
index ad5bafeb1a2..7ed2831d821 100644
--- a/core/l10n/fa.php
+++ b/core/l10n/fa.php
@@ -1,27 +1,89 @@
<?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 ارائه نشده است.",
+"Error adding %s to favorites." => "خطای اضاÙÙ‡ کردن %s به علاقه مندی ها.",
"No categories selected for deletion." => "هیج دسته ای برای پاک شدن انتخاب نشده است",
+"Error removing %s from favorites." => "خطای پاک کردن %s از علاقه مندی ها.",
+"Sunday" => "یکشنبه",
+"Monday" => "دوشنبه",
+"Tuesday" => "سه شنبه",
+"Wednesday" => "چهارشنبه",
+"Thursday" => "پنجشنبه",
+"Friday" => "جمعه",
+"Saturday" => "شنبه",
+"January" => "ژانویه",
+"February" => "Ùبریه",
+"March" => "مارس",
+"April" => "آوریل",
+"May" => "می",
+"June" => "ژوئن",
+"July" => "جولای",
+"August" => "آگوست",
+"September" => "سپتامبر",
+"October" => "اکتبر",
+"November" => "نوامبر",
+"December" => "دسامبر",
"Settings" => "تنظیمات",
"seconds ago" => "ثانیه‌ها پیش",
"1 minute ago" => "1 دقیقه پیش",
+"{minutes} minutes ago" => "{دقیقه ها} دقیقه های پیش",
+"1 hour ago" => "1 ساعت پیش",
+"{hours} hours ago" => "{ساعت ها} ساعت ها پیش",
"today" => "امروز",
"yesterday" => "دیروز",
+"{days} days ago" => "{روزها} روزهای پیش",
"last month" => "ماه قبل",
+"{months} months ago" => "{ماه ها} ماه ها پیش",
"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!" => "پرونده { پرونده} درخواست شده نصب نشده است !",
+"Error while sharing" => "خطا درحال به اشتراک گذاشتن",
+"Error while unsharing" => "خطا درحال لغو اشتراک",
+"Error while changing permissions" => "خطا در حال تغییر مجوز",
+"Shared with you and the group {group} by {owner}" => "به اشتراک گذاشته شده با شما و گروه {گروه} توسط {دارنده}",
+"Shared with you by {owner}" => "به اشتراک گذاشته شده با شما توسط { دارنده}",
+"Share with" => "به اشتراک گذاشتن با",
+"Share with link" => "به اشتراک گذاشتن با پیوند",
+"Password protect" => "نگهداری کردن رمز عبور",
"Password" => "گذرواژه",
+"Email link to person" => "پیوند ایمیل برای شخص.",
+"Set expiration date" => "تنظیم تاریخ انقضا",
+"Expiration date" => "تاریخ انقضا",
+"Share via email:" => "از طریق ایمیل به اشتراک بگذارید :",
+"No people found" => "کسی یاÙت نشد",
+"Resharing is not allowed" => "اشتراک گذاری مجدد مجاز نمی باشد",
+"Shared in {item} with {user}" => "به اشتراک گذاشته شده در {بخش} با {کاربر}",
"Unshare" => "لغو اشتراک",
+"can edit" => "می توان ویرایش کرد",
+"access control" => "کنترل دسترسی",
"create" => "ایجاد",
+"update" => "به روز",
+"delete" => "پاک کردن",
+"share" => "به اشتراک گذاشتن",
+"Password protected" => "نگهداری از رمز عبور",
+"Error unsetting expiration date" => "خطا در تنظیم نکردن تاریخ انقضا ",
+"Error setting expiration date" => "خطا در تنظیم تاریخ انقضا",
"ownCloud password reset" => "پسورد ابرهای شما تغییرکرد",
"Use the following link to reset your password: {link}" => "از لینک زیر جهت دوباره سازی پسورد استÙاده کنید :\n{link}",
"You will receive a link to reset your password via Email." => "شما یک نامه الکترونیکی حاوی یک لینک جهت بازسازی گذرواژه دریاÙت خواهید کرد.",
+"Reset email send." => "تنظیم مجدد ایمیل را بÙرستید.",
+"Request failed!" => "درخواست رد شده است !",
"Username" => "شناسه",
"Request reset" => "درخواست دوباره سازی",
"Your password was reset" => "گذرواژه شما تغییرکرد",
@@ -38,6 +100,7 @@
"Edit categories" => "ویرایش گروه ها",
"Add" => "اÙزودن",
"Security Warning" => "اخطار امنیتی",
+"No secure random number generator is available, please enable the PHP OpenSSL extension." => "هیچ مولد تصادÙÛŒ امن در دسترس نیست، لطÙا Ùرمت PHP OpenSSL را Ùعال نمایید.",
"Create an <strong>admin account</strong>" => "لطÙا یک <strong> شناسه برای مدیر</strong> بسازید",
"Advanced" => "حرÙÙ‡ ای",
"Data folder" => "پوشه اطلاعاتی",
@@ -46,29 +109,14 @@
"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" => "خروج",
+"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" => "ورود",
diff --git a/core/l10n/fi_FI.php b/core/l10n/fi_FI.php
index 751293e1fd5..6b5a833f36e 100644
--- a/core/l10n/fi_FI.php
+++ b/core/l10n/fi_FI.php
@@ -8,6 +8,25 @@
"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.",
+"Sunday" => "Sunnuntai",
+"Monday" => "Maanantai",
+"Tuesday" => "Tiistai",
+"Wednesday" => "Keskiviikko",
+"Thursday" => "Torstai",
+"Friday" => "Perjantai",
+"Saturday" => "Lauantai",
+"January" => "Tammikuu",
+"February" => "Helmikuu",
+"March" => "Maaliskuu",
+"April" => "Huhtikuu",
+"May" => "Toukokuu",
+"June" => "Kesäkuu",
+"July" => "Heinäkuu",
+"August" => "Elokuu",
+"September" => "Syyskuu",
+"October" => "Lokakuu",
+"November" => "Marraskuu",
+"December" => "Joulukuu",
"Settings" => "Asetukset",
"seconds ago" => "sekuntia sitten",
"1 minute ago" => "1 minuutti sitten",
@@ -91,25 +110,6 @@
"Database tablespace" => "Tietokannan taulukkotila",
"Database host" => "Tietokantapalvelin",
"Finish setup" => "Viimeistele asennus",
-"Sunday" => "Sunnuntai",
-"Monday" => "Maanantai",
-"Tuesday" => "Tiistai",
-"Wednesday" => "Keskiviikko",
-"Thursday" => "Torstai",
-"Friday" => "Perjantai",
-"Saturday" => "Lauantai",
-"January" => "Tammikuu",
-"February" => "Helmikuu",
-"March" => "Maaliskuu",
-"April" => "Huhtikuu",
-"May" => "Toukokuu",
-"June" => "Kesäkuu",
-"July" => "Heinäkuu",
-"August" => "Elokuu",
-"September" => "Syyskuu",
-"October" => "Lokakuu",
-"November" => "Marraskuu",
-"December" => "Joulukuu",
"web services under your control" => "verkkopalvelut hallinnassasi",
"Log out" => "Kirjaudu ulos",
"Automatic logon rejected!" => "Automaattinen sisäänkirjautuminen hylättiin!",
diff --git a/core/l10n/fr.php b/core/l10n/fr.php
index 39269e43b5d..e15f69f576c 100644
--- a/core/l10n/fr.php
+++ b/core/l10n/fr.php
@@ -11,6 +11,25 @@
"Error adding %s to favorites." => "Erreur lors de l'ajout de %s aux favoris.",
"No categories selected for deletion." => "Aucune catégorie sélectionnée pour suppression",
"Error removing %s from favorites." => "Erreur lors de la suppression de %s des favoris.",
+"Sunday" => "Dimanche",
+"Monday" => "Lundi",
+"Tuesday" => "Mardi",
+"Wednesday" => "Mercredi",
+"Thursday" => "Jeudi",
+"Friday" => "Vendredi",
+"Saturday" => "Samedi",
+"January" => "janvier",
+"February" => "février",
+"March" => "mars",
+"April" => "avril",
+"May" => "mai",
+"June" => "juin",
+"July" => "juillet",
+"August" => "août",
+"September" => "septembre",
+"October" => "octobre",
+"November" => "novembre",
+"December" => "décembre",
"Settings" => "Paramètres",
"seconds ago" => "il y a quelques secondes",
"1 minute ago" => "il y a une minute",
@@ -98,25 +117,6 @@
"Database tablespace" => "Tablespaces de la base de données",
"Database host" => "Serveur de la base de données",
"Finish setup" => "Terminer l'installation",
-"Sunday" => "Dimanche",
-"Monday" => "Lundi",
-"Tuesday" => "Mardi",
-"Wednesday" => "Mercredi",
-"Thursday" => "Jeudi",
-"Friday" => "Vendredi",
-"Saturday" => "Samedi",
-"January" => "janvier",
-"February" => "février",
-"March" => "mars",
-"April" => "avril",
-"May" => "mai",
-"June" => "juin",
-"July" => "juillet",
-"August" => "août",
-"September" => "septembre",
-"October" => "octobre",
-"November" => "novembre",
-"December" => "décembre",
"web services under your control" => "services web sous votre contrôle",
"Log out" => "Se déconnecter",
"Automatic logon rejected!" => "Connexion automatique rejetée !",
diff --git a/core/l10n/gl.php b/core/l10n/gl.php
index 2642debb288..a45d45d908c 100644
--- a/core/l10n/gl.php
+++ b/core/l10n/gl.php
@@ -11,6 +11,25 @@
"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." => "Produciuse un erro ao eliminar %s dos favoritos.",
+"Sunday" => "Domingo",
+"Monday" => "Luns",
+"Tuesday" => "Martes",
+"Wednesday" => "Mércores",
+"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",
"Settings" => "Configuracións",
"seconds ago" => "segundos atrás",
"1 minute ago" => "hai 1 minuto",
@@ -98,25 +117,6 @@
"Database tablespace" => "Táboa de espazos da base de datos",
"Database host" => "Servidor da base de datos",
"Finish setup" => "Rematar a configuración",
-"Sunday" => "Domingo",
-"Monday" => "Luns",
-"Tuesday" => "Martes",
-"Wednesday" => "Mércores",
-"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",
"web services under your control" => "servizos web baixo o seu control",
"Log out" => "Desconectar",
"Automatic logon rejected!" => "Rexeitouse a entrada automática",
diff --git a/core/l10n/he.php b/core/l10n/he.php
index 59eb3ae14d4..88da2e8ddea 100644
--- a/core/l10n/he.php
+++ b/core/l10n/he.php
@@ -11,6 +11,25 @@
"Error adding %s to favorites." => "×ירעה שגי××” בעת הוספת %s למועדפי×.",
"No categories selected for deletion." => "×œ× × ×‘×—×¨×• קטגוריות למחיקה",
"Error removing %s from favorites." => "שגי××” בהסרת %s מהמועדפי×.",
+"Sunday" => "×™×•× ×¨×שון",
+"Monday" => "×™×•× ×©× ×™",
+"Tuesday" => "×™×•× ×©×œ×™×©×™",
+"Wednesday" => "×™×•× ×¨×‘×™×¢×™",
+"Thursday" => "×™×•× ×—×ž×™×©×™",
+"Friday" => "×™×•× ×©×™×©×™",
+"Saturday" => "שבת",
+"January" => "ינו×ר",
+"February" => "פברו×ר",
+"March" => "מרץ",
+"April" => "×פריל",
+"May" => "מ××™",
+"June" => "יוני",
+"July" => "יולי",
+"August" => "×וגוסט",
+"September" => "ספטמבר",
+"October" => "×וקטובר",
+"November" => "נובמבר",
+"December" => "דצמבר",
"Settings" => "הגדרות",
"seconds ago" => "שניות",
"1 minute ago" => "לפני דקה ×חת",
@@ -98,25 +117,6 @@
"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" => "התנתקות",
"Automatic logon rejected!" => "בקשת הכניסה ×”×וטומטית נדחתה!",
diff --git a/core/l10n/hr.php b/core/l10n/hr.php
index 43dbbe51ae0..32e3779ee4b 100644
--- a/core/l10n/hr.php
+++ b/core/l10n/hr.php
@@ -2,6 +2,25 @@
"No category to add?" => "Nemate kategorija koje možete dodati?",
"This category already exists: " => "Ova kategorija već postoji: ",
"No categories selected for deletion." => "Nema odabranih kategorija za brisanje.",
+"Sunday" => "nedelja",
+"Monday" => "ponedeljak",
+"Tuesday" => "utorak",
+"Wednesday" => "srijeda",
+"Thursday" => "Äetvrtak",
+"Friday" => "petak",
+"Saturday" => "subota",
+"January" => "SijeÄanj",
+"February" => "VeljaÄa",
+"March" => "Ožujak",
+"April" => "Travanj",
+"May" => "Svibanj",
+"June" => "Lipanj",
+"July" => "Srpanj",
+"August" => "Kolovoz",
+"September" => "Rujan",
+"October" => "Listopad",
+"November" => "Studeni",
+"December" => "Prosinac",
"Settings" => "Postavke",
"seconds ago" => "sekundi prije",
"today" => "danas",
@@ -67,25 +86,6 @@
"Database tablespace" => "Database tablespace",
"Database host" => "Poslužitelj baze podataka",
"Finish setup" => "Završi postavljanje",
-"Sunday" => "nedelja",
-"Monday" => "ponedeljak",
-"Tuesday" => "utorak",
-"Wednesday" => "srijeda",
-"Thursday" => "Äetvrtak",
-"Friday" => "petak",
-"Saturday" => "subota",
-"January" => "SijeÄanj",
-"February" => "VeljaÄa",
-"March" => "Ožujak",
-"April" => "Travanj",
-"May" => "Svibanj",
-"June" => "Lipanj",
-"July" => "Srpanj",
-"August" => "Kolovoz",
-"September" => "Rujan",
-"October" => "Listopad",
-"November" => "Studeni",
-"December" => "Prosinac",
"web services under your control" => "web usluge pod vašom kontrolom",
"Log out" => "Odjava",
"Lost your password?" => "Izgubili ste lozinku?",
diff --git a/core/l10n/hu_HU.php b/core/l10n/hu_HU.php
index a9e20fc6466..e03c6af27f5 100644
--- a/core/l10n/hu_HU.php
+++ b/core/l10n/hu_HU.php
@@ -11,6 +11,25 @@
"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" => "pár másodperce",
"1 minute ago" => "1 perce",
@@ -42,7 +61,7 @@
"Share with" => "Kivel osztom meg",
"Share with link" => "Link megadásával osztom meg",
"Password protect" => "Jelszóval is védem",
-"Password" => "Jelszó (tetszőleges)",
+"Password" => "Jelszó",
"Email link to person" => "Email címre küldjük el",
"Send" => "Küldjük el",
"Set expiration date" => "Legyen lejárati idő",
@@ -98,25 +117,6 @@
"Database tablespace" => "Az adatbázis táblázattér (tablespace)",
"Database host" => "Adatbázis szerver",
"Finish setup" => "A beállítások 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 saját kézben",
"Log out" => "Kilépés",
"Automatic logon rejected!" => "Az automatikus bejelentkezés sikertelen!",
diff --git a/core/l10n/ia.php b/core/l10n/ia.php
index d614f8381af..08f283450f8 100644
--- a/core/l10n/ia.php
+++ b/core/l10n/ia.php
@@ -1,5 +1,24 @@
<?php $TRANSLATIONS = array(
"This category already exists: " => "Iste categoria jam existe:",
+"Sunday" => "Dominica",
+"Monday" => "Lunedi",
+"Tuesday" => "Martedi",
+"Wednesday" => "Mercuridi",
+"Thursday" => "Jovedi",
+"Friday" => "Venerdi",
+"Saturday" => "Sabbato",
+"January" => "januario",
+"February" => "Februario",
+"March" => "Martio",
+"April" => "April",
+"May" => "Mai",
+"June" => "Junio",
+"July" => "Julio",
+"August" => "Augusto",
+"September" => "Septembre",
+"October" => "Octobre",
+"November" => "Novembre",
+"December" => "Decembre",
"Settings" => "Configurationes",
"Cancel" => "Cancellar",
"Password" => "Contrasigno",
@@ -28,25 +47,6 @@
"Database password" => "Contrasigno de base de datos",
"Database name" => "Nomine de base de datos",
"Database host" => "Hospite de base de datos",
-"Sunday" => "Dominica",
-"Monday" => "Lunedi",
-"Tuesday" => "Martedi",
-"Wednesday" => "Mercuridi",
-"Thursday" => "Jovedi",
-"Friday" => "Venerdi",
-"Saturday" => "Sabbato",
-"January" => "januario",
-"February" => "Februario",
-"March" => "Martio",
-"April" => "April",
-"May" => "Mai",
-"June" => "Junio",
-"July" => "Julio",
-"August" => "Augusto",
-"September" => "Septembre",
-"October" => "Octobre",
-"November" => "Novembre",
-"December" => "Decembre",
"web services under your control" => "servicios web sub tu controlo",
"Log out" => "Clauder le session",
"Lost your password?" => "Tu perdeva le contrasigno?",
diff --git a/core/l10n/id.php b/core/l10n/id.php
index ee5fad95217..2c66ea8ce3d 100644
--- a/core/l10n/id.php
+++ b/core/l10n/id.php
@@ -2,6 +2,25 @@
"No category to add?" => "Tidak ada kategori yang akan ditambahkan?",
"This category already exists: " => "Kategori ini sudah ada:",
"No categories selected for deletion." => "Tidak ada kategori terpilih untuk penghapusan.",
+"Sunday" => "minggu",
+"Monday" => "senin",
+"Tuesday" => "selasa",
+"Wednesday" => "rabu",
+"Thursday" => "kamis",
+"Friday" => "jumat",
+"Saturday" => "sabtu",
+"January" => "Januari",
+"February" => "Februari",
+"March" => "Maret",
+"April" => "April",
+"May" => "Mei",
+"June" => "Juni",
+"July" => "Juli",
+"August" => "Agustus",
+"September" => "September",
+"October" => "Oktober",
+"November" => "Nopember",
+"December" => "Desember",
"Settings" => "Setelan",
"seconds ago" => "beberapa detik yang lalu",
"1 minute ago" => "1 menit lalu",
@@ -73,25 +92,6 @@
"Database tablespace" => "tablespace basis data",
"Database host" => "Host database",
"Finish setup" => "Selesaikan instalasi",
-"Sunday" => "minggu",
-"Monday" => "senin",
-"Tuesday" => "selasa",
-"Wednesday" => "rabu",
-"Thursday" => "kamis",
-"Friday" => "jumat",
-"Saturday" => "sabtu",
-"January" => "Januari",
-"February" => "Februari",
-"March" => "Maret",
-"April" => "April",
-"May" => "Mei",
-"June" => "Juni",
-"July" => "Juli",
-"August" => "Agustus",
-"September" => "September",
-"October" => "Oktober",
-"November" => "Nopember",
-"December" => "Desember",
"web services under your control" => "web service dibawah kontrol anda",
"Log out" => "Keluar",
"Automatic logon rejected!" => "login otomatis ditolak!",
diff --git a/core/l10n/is.php b/core/l10n/is.php
index e810eb359fd..6df2573100e 100644
--- a/core/l10n/is.php
+++ b/core/l10n/is.php
@@ -11,6 +11,25 @@
"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.",
+"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",
+"April" => "Apríl",
+"May" => "Maí",
+"June" => "Júní",
+"July" => "Júlí",
+"August" => "Ãgúst",
+"September" => "September",
+"October" => "Október",
+"November" => "Nóvember",
+"December" => "Desember",
"Settings" => "Stillingar",
"seconds ago" => "sek síðan",
"1 minute ago" => "1 min síðan",
@@ -98,25 +117,6 @@
"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",
-"April" => "Apríl",
-"May" => "Maí",
-"June" => "Júní",
-"July" => "Júlí",
-"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á",
"Automatic logon rejected!" => "Sjálfvirkri innskráningu hafnað!",
diff --git a/core/l10n/it.php b/core/l10n/it.php
index 89b6a7952a9..00fbe6a3ed5 100644
--- a/core/l10n/it.php
+++ b/core/l10n/it.php
@@ -11,6 +11,25 @@
"Error adding %s to favorites." => "Errore durante l'aggiunta di %s ai preferiti.",
"No categories selected for deletion." => "Nessuna categoria selezionata per l'eliminazione.",
"Error removing %s from favorites." => "Errore durante la rimozione di %s dai preferiti.",
+"Sunday" => "Domenica",
+"Monday" => "Lunedì",
+"Tuesday" => "Martedì",
+"Wednesday" => "Mercoledì",
+"Thursday" => "Giovedì",
+"Friday" => "Venerdì",
+"Saturday" => "Sabato",
+"January" => "Gennaio",
+"February" => "Febbraio",
+"March" => "Marzo",
+"April" => "Aprile",
+"May" => "Maggio",
+"June" => "Giugno",
+"July" => "Luglio",
+"August" => "Agosto",
+"September" => "Settembre",
+"October" => "Ottobre",
+"November" => "Novembre",
+"December" => "Dicembre",
"Settings" => "Impostazioni",
"seconds ago" => "secondi fa",
"1 minute ago" => "Un minuto fa",
@@ -98,25 +117,6 @@
"Database tablespace" => "Spazio delle tabelle del database",
"Database host" => "Host del database",
"Finish setup" => "Termina la configurazione",
-"Sunday" => "Domenica",
-"Monday" => "Lunedì",
-"Tuesday" => "Martedì",
-"Wednesday" => "Mercoledì",
-"Thursday" => "Giovedì",
-"Friday" => "Venerdì",
-"Saturday" => "Sabato",
-"January" => "Gennaio",
-"February" => "Febbraio",
-"March" => "Marzo",
-"April" => "Aprile",
-"May" => "Maggio",
-"June" => "Giugno",
-"July" => "Luglio",
-"August" => "Agosto",
-"September" => "Settembre",
-"October" => "Ottobre",
-"November" => "Novembre",
-"December" => "Dicembre",
"web services under your control" => "servizi web nelle tue mani",
"Log out" => "Esci",
"Automatic logon rejected!" => "Accesso automatico rifiutato.",
diff --git a/core/l10n/ja_JP.php b/core/l10n/ja_JP.php
index 7d4baf94583..7a867834edb 100644
--- a/core/l10n/ja_JP.php
+++ b/core/l10n/ja_JP.php
@@ -11,6 +11,25 @@
"Error adding %s to favorites." => "ãŠæ°—ã«å…¥ã‚Šã« %s を追加エラー",
"No categories selected for deletion." => "削除ã™ã‚‹ã‚«ãƒ†ã‚´ãƒªãŒé¸æŠžã•ã‚Œã¦ã„ã¾ã›ã‚“。",
"Error removing %s from favorites." => "ãŠæ°—ã«å…¥ã‚Šã‹ã‚‰ %s ã®å‰Šé™¤ã‚¨ãƒ©ãƒ¼",
+"Sunday" => "æ—¥",
+"Monday" => "月",
+"Tuesday" => "ç«",
+"Wednesday" => "æ°´",
+"Thursday" => "木",
+"Friday" => "金",
+"Saturday" => "土",
+"January" => "1月",
+"February" => "2月",
+"March" => "3月",
+"April" => "4月",
+"May" => "5月",
+"June" => "6月",
+"July" => "7月",
+"August" => "8月",
+"September" => "9月",
+"October" => "10月",
+"November" => "11月",
+"December" => "12月",
"Settings" => "設定",
"seconds ago" => "秒å‰",
"1 minute ago" => "1 分å‰",
@@ -98,25 +117,6 @@
"Database tablespace" => "データベースã®è¡¨é ˜åŸŸ",
"Database host" => "データベースã®ãƒ›ã‚¹ãƒˆå",
"Finish setup" => "セットアップを完了ã—ã¾ã™",
-"Sunday" => "æ—¥",
-"Monday" => "月",
-"Tuesday" => "ç«",
-"Wednesday" => "æ°´",
-"Thursday" => "木",
-"Friday" => "金",
-"Saturday" => "土",
-"January" => "1月",
-"February" => "2月",
-"March" => "3月",
-"April" => "4月",
-"May" => "5月",
-"June" => "6月",
-"July" => "7月",
-"August" => "8月",
-"September" => "9月",
-"October" => "10月",
-"November" => "11月",
-"December" => "12月",
"web services under your control" => "管ç†ä¸‹ã«ã‚るウェブサービス",
"Log out" => "ログアウト",
"Automatic logon rejected!" => "自動ログインã¯æ‹’å¦ã•ã‚Œã¾ã—ãŸï¼",
diff --git a/core/l10n/ka_GE.php b/core/l10n/ka_GE.php
index aafdacab4c6..58771e080b3 100644
--- a/core/l10n/ka_GE.php
+++ b/core/l10n/ka_GE.php
@@ -2,6 +2,25 @@
"No category to add?" => "áƒáƒ  áƒáƒ áƒ˜áƒ¡ კáƒáƒ¢áƒ”გáƒáƒ áƒ˜áƒ დáƒáƒ¡áƒáƒ›áƒáƒ¢áƒ”ბლáƒáƒ“?",
"This category already exists: " => "კáƒáƒ¢áƒ”გáƒáƒ áƒ˜áƒ უკვე áƒáƒ áƒ¡áƒ”ბáƒáƒ‘ს",
"No categories selected for deletion." => "სáƒáƒ áƒ”დáƒáƒ¥áƒ¢áƒ˜áƒ áƒ”ბელი კáƒáƒ¢áƒ”გáƒáƒ áƒ˜áƒ áƒáƒ  áƒáƒ áƒ˜áƒ¡ áƒáƒ áƒ©áƒ”ული ",
+"Sunday" => "კვირáƒ",
+"Monday" => "áƒáƒ áƒ¨áƒáƒ‘áƒáƒ—ი",
+"Tuesday" => "სáƒáƒ›áƒ¨áƒáƒ‘áƒáƒ—ი",
+"Wednesday" => "áƒáƒ—ხშáƒáƒ‘áƒáƒ—ი",
+"Thursday" => "ხუთშáƒáƒ‘áƒáƒ—ი",
+"Friday" => "პáƒáƒ áƒáƒ¡áƒ™áƒ”ვი",
+"Saturday" => "შáƒáƒ‘áƒáƒ—ი",
+"January" => "იáƒáƒœáƒ•áƒáƒ áƒ˜",
+"February" => "თებერვáƒáƒšáƒ˜",
+"March" => "მáƒáƒ áƒ¢áƒ˜",
+"April" => "áƒáƒžáƒ áƒ˜áƒšáƒ˜",
+"May" => "მáƒáƒ˜áƒ¡áƒ˜",
+"June" => "ივნისი",
+"July" => "ივლისი",
+"August" => "áƒáƒ’ვისტáƒ",
+"September" => "სექტემბერი",
+"October" => "áƒáƒ¥áƒ¢áƒáƒ›áƒ‘ერი",
+"November" => "ნáƒáƒ”მბერი",
+"December" => "დეკემბერი",
"Settings" => "პáƒáƒ áƒáƒ›áƒ”ტრები",
"seconds ago" => "წáƒáƒ›áƒ˜áƒ¡ წინ",
"1 minute ago" => "1 წუთის წინ",
@@ -73,25 +92,6 @@
"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" => "გáƒáƒ›áƒáƒ¡áƒ•áƒšáƒ",
"Automatic logon rejected!" => "áƒáƒ•áƒ¢áƒáƒ›áƒáƒ¢áƒ£áƒ áƒ˜ შესვლრუáƒáƒ áƒ§áƒáƒ¤áƒ˜áƒšáƒ˜áƒ!",
diff --git a/core/l10n/ko.php b/core/l10n/ko.php
index 3db5a501173..5897b890ec5 100644
--- a/core/l10n/ko.php
+++ b/core/l10n/ko.php
@@ -11,6 +11,25 @@
"Error adding %s to favorites." => "ì±…ê°ˆí”¼ì— %sì„(를) 추가할 수 없었습니다.",
"No categories selected for deletion." => "삭제할 분류를 ì„ íƒí•˜ì§€ 않았습니다.",
"Error removing %s from favorites." => "책갈피ì—ì„œ %sì„(를) 삭제할 수 없었습니다.",
+"Sunday" => "ì¼ìš”ì¼",
+"Monday" => "월요ì¼",
+"Tuesday" => "화요ì¼",
+"Wednesday" => "수요ì¼",
+"Thursday" => "목요ì¼",
+"Friday" => "금요ì¼",
+"Saturday" => "토요ì¼",
+"January" => "1ì›”",
+"February" => "2ì›”",
+"March" => "3ì›”",
+"April" => "4ì›”",
+"May" => "5ì›”",
+"June" => "6ì›”",
+"July" => "7ì›”",
+"August" => "8ì›”",
+"September" => "9ì›”",
+"October" => "10ì›”",
+"November" => "11ì›”",
+"December" => "12ì›”",
"Settings" => "설정",
"seconds ago" => "ì´ˆ ì „",
"1 minute ago" => "1분 전",
@@ -98,25 +117,6 @@
"Database tablespace" => "ë°ì´í„°ë² ì´ìŠ¤ í…Œì´ë¸” 공간",
"Database host" => "ë°ì´í„°ë² ì´ìŠ¤ 호스트",
"Finish setup" => "설치 완료",
-"Sunday" => "ì¼ìš”ì¼",
-"Monday" => "월요ì¼",
-"Tuesday" => "화요ì¼",
-"Wednesday" => "수요ì¼",
-"Thursday" => "목요ì¼",
-"Friday" => "금요ì¼",
-"Saturday" => "토요ì¼",
-"January" => "1ì›”",
-"February" => "2ì›”",
-"March" => "3ì›”",
-"April" => "4ì›”",
-"May" => "5ì›”",
-"June" => "6ì›”",
-"July" => "7ì›”",
-"August" => "8ì›”",
-"September" => "9ì›”",
-"October" => "10ì›”",
-"November" => "11ì›”",
-"December" => "12ì›”",
"web services under your control" => "내가 관리하는 웹 서비스",
"Log out" => "로그아웃",
"Automatic logon rejected!" => "ìžë™ 로그ì¸ì´ 거부ë˜ì—ˆìŠµë‹ˆë‹¤!",
diff --git a/core/l10n/lb.php b/core/l10n/lb.php
index 407b8093a27..85d83d1f953 100644
--- a/core/l10n/lb.php
+++ b/core/l10n/lb.php
@@ -2,14 +2,44 @@
"No category to add?" => "Keng Kategorie fir bäizesetzen?",
"This category already exists: " => "Des Kategorie existéiert schonn:",
"No categories selected for deletion." => "Keng Kategorien ausgewielt fir ze läschen.",
+"Sunday" => "Sonndes",
+"Monday" => "Méindes",
+"Tuesday" => "Dënschdes",
+"Wednesday" => "Mëttwoch",
+"Thursday" => "Donneschdes",
+"Friday" => "Freides",
+"Saturday" => "Samschdes",
+"January" => "Januar",
+"February" => "Februar",
+"March" => "Mäerz",
+"April" => "Abrëll",
+"May" => "Mee",
+"June" => "Juni",
+"July" => "Juli",
+"August" => "August",
+"September" => "September",
+"October" => "Oktober",
+"November" => "November",
+"December" => "Dezember",
"Settings" => "Astellungen",
+"1 hour ago" => "vrun 1 Stonn",
+"{hours} hours ago" => "vru {hours} Stonnen",
+"last month" => "Läschte Mount",
+"{months} months ago" => "vru {months} Méint",
+"months ago" => "Méint hier",
+"last year" => "Läscht Joer",
+"years ago" => "Joren hier",
+"Choose" => "Auswielen",
"Cancel" => "Ofbriechen",
"No" => "Nee",
"Yes" => "Jo",
"Ok" => "OK",
"Error" => "Fehler",
"Password" => "Passwuert",
+"Unshare" => "Net méi deelen",
"create" => "erstellen",
+"delete" => "läschen",
+"share" => "deelen",
"ownCloud password reset" => "ownCloud Passwuert reset",
"Use the following link to reset your password: {link}" => "Benotz folgende Link fir däi Passwuert ze reseten: {link}",
"You will receive a link to reset your password via Email." => "Du kriss en Link fir däin Passwuert nei ze setzen via Email geschéckt.",
@@ -30,7 +60,7 @@
"Add" => "Bäisetzen",
"Security Warning" => "Sécherheets Warnung",
"Create an <strong>admin account</strong>" => "En <strong>Admin Account</strong> uleeën",
-"Advanced" => "Advanced",
+"Advanced" => "Avancéiert",
"Data folder" => "Daten Dossier",
"Configure the database" => "Datebank konfiguréieren",
"will be used" => "wärt benotzt ginn",
@@ -40,25 +70,6 @@
"Database tablespace" => "Datebank Tabelle-Gréisst",
"Database host" => "Datebank Server",
"Finish setup" => "Installatioun ofschléissen",
-"Sunday" => "Sonndes",
-"Monday" => "Méindes",
-"Tuesday" => "Dënschdes",
-"Wednesday" => "Mëttwoch",
-"Thursday" => "Donneschdes",
-"Friday" => "Freides",
-"Saturday" => "Samschdes",
-"January" => "Januar",
-"February" => "Februar",
-"March" => "Mäerz",
-"April" => "Abrëll",
-"May" => "Mee",
-"June" => "Juni",
-"July" => "Juli",
-"August" => "August",
-"September" => "September",
-"October" => "Oktober",
-"November" => "November",
-"December" => "Dezember",
"web services under your control" => "Web Servicer ënnert denger Kontroll",
"Log out" => "Ausloggen",
"Lost your password?" => "Passwuert vergiess?",
diff --git a/core/l10n/lt_LT.php b/core/l10n/lt_LT.php
index ec15c646191..040a5a7f7fc 100644
--- a/core/l10n/lt_LT.php
+++ b/core/l10n/lt_LT.php
@@ -2,6 +2,25 @@
"No category to add?" => "NepridÄ—site jokios kategorijos?",
"This category already exists: " => "Tokia kategorija jau yra:",
"No categories selected for deletion." => "Trynimui nepasirinkta jokia kategorija.",
+"Sunday" => "Sekmadienis",
+"Monday" => "Pirmadienis",
+"Tuesday" => "Antradienis",
+"Wednesday" => "TreÄiadienis",
+"Thursday" => "Ketvirtadienis",
+"Friday" => "Penktadienis",
+"Saturday" => "Šeštadienis",
+"January" => "Sausis",
+"February" => "Vasaris",
+"March" => "Kovas",
+"April" => "Balandis",
+"May" => "Gegužė",
+"June" => "Birželis",
+"July" => "Liepa",
+"August" => "Rugpjūtis",
+"September" => "RugsÄ—jis",
+"October" => "Spalis",
+"November" => "Lapkritis",
+"December" => "Gruodis",
"Settings" => "Nustatymai",
"seconds ago" => "prieš sekundę",
"1 minute ago" => "Prieš 1 minutę",
@@ -77,25 +96,6 @@
"Database tablespace" => "Duomenų bazės loginis saugojimas",
"Database host" => "Duomenų bazės serveris",
"Finish setup" => "Baigti diegimÄ…",
-"Sunday" => "Sekmadienis",
-"Monday" => "Pirmadienis",
-"Tuesday" => "Antradienis",
-"Wednesday" => "TreÄiadienis",
-"Thursday" => "Ketvirtadienis",
-"Friday" => "Penktadienis",
-"Saturday" => "Šeštadienis",
-"January" => "Sausis",
-"February" => "Vasaris",
-"March" => "Kovas",
-"April" => "Balandis",
-"May" => "Gegužė",
-"June" => "Birželis",
-"July" => "Liepa",
-"August" => "Rugpjūtis",
-"September" => "RugsÄ—jis",
-"October" => "Spalis",
-"November" => "Lapkritis",
-"December" => "Gruodis",
"web services under your control" => "jūsų valdomos web paslaugos",
"Log out" => "Atsijungti",
"Automatic logon rejected!" => "Automatinis prisijungimas atmestas!",
diff --git a/core/l10n/lv.php b/core/l10n/lv.php
index 8a6dc033de6..66866249e76 100644
--- a/core/l10n/lv.php
+++ b/core/l10n/lv.php
@@ -1,5 +1,25 @@
<?php $TRANSLATIONS = array(
+"Sunday" => "Svētdiena",
+"Monday" => "Pirmdiena",
+"Tuesday" => "Otrdiena",
+"Wednesday" => "Trešdiena",
+"Thursday" => "Ceturtdiena",
+"Friday" => "Piektdiena",
+"Saturday" => "Sestdiena",
+"January" => "JanvÄris",
+"February" => "FebruÄris",
+"March" => "Marts",
+"April" => "Aprīlis",
+"May" => "Maijs",
+"June" => "JÅ«nijs",
+"July" => "JÅ«lijs",
+"August" => "Augusts",
+"September" => "Septembris",
+"October" => "Oktobris",
+"November" => "Novembris",
+"December" => "Decembris",
"Settings" => "Iestatījumi",
+"Cancel" => "Atcelt",
"Error" => "Kļūme",
"Password" => "Parole",
"Unshare" => "PÄrtraukt lÄ«dzdalÄ«Å¡anu",
diff --git a/core/l10n/mk.php b/core/l10n/mk.php
index d8fa16d44f3..3a8991437ba 100644
--- a/core/l10n/mk.php
+++ b/core/l10n/mk.php
@@ -11,6 +11,25 @@
"Error adding %s to favorites." => "Грешка при додавање %s во омилени.",
"No categories selected for deletion." => "Ðе е одбрана категорија за бришење.",
"Error removing %s from favorites." => "Грешка при бришење на %s од омилени.",
+"Sunday" => "Ðедела",
+"Monday" => "Понеделник",
+"Tuesday" => "Вторник",
+"Wednesday" => "Среда",
+"Thursday" => "Четврток",
+"Friday" => "Петок",
+"Saturday" => "Сабота",
+"January" => "Јануари",
+"February" => "Февруари",
+"March" => "Март",
+"April" => "Ðприл",
+"May" => "Мај",
+"June" => "Јуни",
+"July" => "Јули",
+"August" => "ÐвгуÑÑ‚",
+"September" => "Септември",
+"October" => "Октомври",
+"November" => "Ðоември",
+"December" => "Декември",
"Settings" => "ПоÑтавки",
"seconds ago" => "пред Ñекунди",
"1 minute ago" => "пред 1 минута",
@@ -98,25 +117,6 @@
"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" => "Одјава",
"Automatic logon rejected!" => "Одбиена автоматÑка најава!",
diff --git a/core/l10n/ms_MY.php b/core/l10n/ms_MY.php
index b08ccecf616..3eff044ac55 100644
--- a/core/l10n/ms_MY.php
+++ b/core/l10n/ms_MY.php
@@ -2,6 +2,25 @@
"No category to add?" => "Tiada kategori untuk di tambah?",
"This category already exists: " => "Kategori ini telah wujud",
"No categories selected for deletion." => "tiada kategori dipilih untuk penghapusan",
+"Sunday" => "Ahad",
+"Monday" => "Isnin",
+"Tuesday" => "Selasa",
+"Wednesday" => "Rabu",
+"Thursday" => "Khamis",
+"Friday" => "Jumaat",
+"Saturday" => "Sabtu",
+"January" => "Januari",
+"February" => "Februari",
+"March" => "Mac",
+"April" => "April",
+"May" => "Mei",
+"June" => "Jun",
+"July" => "Julai",
+"August" => "Ogos",
+"September" => "September",
+"October" => "Oktober",
+"November" => "November",
+"December" => "Disember",
"Settings" => "Tetapan",
"Cancel" => "Batal",
"No" => "Tidak",
@@ -38,25 +57,6 @@
"Database name" => "Nama pangkalan data",
"Database host" => "Hos pangkalan data",
"Finish setup" => "Setup selesai",
-"Sunday" => "Ahad",
-"Monday" => "Isnin",
-"Tuesday" => "Selasa",
-"Wednesday" => "Rabu",
-"Thursday" => "Khamis",
-"Friday" => "Jumaat",
-"Saturday" => "Sabtu",
-"January" => "Januari",
-"February" => "Februari",
-"March" => "Mac",
-"April" => "April",
-"May" => "Mei",
-"June" => "Jun",
-"July" => "Julai",
-"August" => "Ogos",
-"September" => "September",
-"October" => "Oktober",
-"November" => "November",
-"December" => "Disember",
"web services under your control" => "Perkhidmatan web di bawah kawalan anda",
"Log out" => "Log keluar",
"Lost your password?" => "Hilang kata laluan?",
diff --git a/core/l10n/nb_NO.php b/core/l10n/nb_NO.php
index d985e454b7c..a39e5d44bc4 100644
--- a/core/l10n/nb_NO.php
+++ b/core/l10n/nb_NO.php
@@ -2,6 +2,25 @@
"No category to add?" => "Ingen kategorier å legge til?",
"This category already exists: " => "Denne kategorien finnes allerede:",
"No categories selected for deletion." => "Ingen kategorier merket for sletting.",
+"Sunday" => "Søndag",
+"Monday" => "Mandag",
+"Tuesday" => "Tirsdag",
+"Wednesday" => "Onsdag",
+"Thursday" => "Torsdag",
+"Friday" => "Fredag",
+"Saturday" => "Lørdag",
+"January" => "Januar",
+"February" => "Februar",
+"March" => "Mars",
+"April" => "April",
+"May" => "Mai",
+"June" => "Juni",
+"July" => "Juli",
+"August" => "August",
+"September" => "September",
+"October" => "Oktober",
+"November" => "November",
+"December" => "Desember",
"Settings" => "Innstillinger",
"seconds ago" => "sekunder siden",
"1 minute ago" => "1 minutt siden",
@@ -73,25 +92,6 @@
"Database tablespace" => "Database tabellområde",
"Database host" => "Databasevert",
"Finish setup" => "Fullfør oppsetting",
-"Sunday" => "Søndag",
-"Monday" => "Mandag",
-"Tuesday" => "Tirsdag",
-"Wednesday" => "Onsdag",
-"Thursday" => "Torsdag",
-"Friday" => "Fredag",
-"Saturday" => "Lørdag",
-"January" => "Januar",
-"February" => "Februar",
-"March" => "Mars",
-"April" => "April",
-"May" => "Mai",
-"June" => "Juni",
-"July" => "Juli",
-"August" => "August",
-"September" => "September",
-"October" => "Oktober",
-"November" => "November",
-"December" => "Desember",
"web services under your control" => "nettjenester under din kontroll",
"Log out" => "Logg ut",
"Automatic logon rejected!" => "Automatisk pålogging avvist!",
diff --git a/core/l10n/nl.php b/core/l10n/nl.php
index 739d8181d6f..27d32cfcc5e 100644
--- a/core/l10n/nl.php
+++ b/core/l10n/nl.php
@@ -11,6 +11,25 @@
"Error adding %s to favorites." => "Toevoegen van %s aan favorieten is mislukt.",
"No categories selected for deletion." => "Geen categorie geselecteerd voor verwijdering.",
"Error removing %s from favorites." => "Verwijderen %s van favorieten is mislukt.",
+"Sunday" => "Zondag",
+"Monday" => "Maandag",
+"Tuesday" => "Dinsdag",
+"Wednesday" => "Woensdag",
+"Thursday" => "Donderdag",
+"Friday" => "Vrijdag",
+"Saturday" => "Zaterdag",
+"January" => "januari",
+"February" => "februari",
+"March" => "maart",
+"April" => "april",
+"May" => "mei",
+"June" => "juni",
+"July" => "juli",
+"August" => "augustus",
+"September" => "september",
+"October" => "oktober",
+"November" => "november",
+"December" => "december",
"Settings" => "Instellingen",
"seconds ago" => "seconden geleden",
"1 minute ago" => "1 minuut geleden",
@@ -98,25 +117,6 @@
"Database tablespace" => "Database tablespace",
"Database host" => "Database server",
"Finish setup" => "Installatie afronden",
-"Sunday" => "Zondag",
-"Monday" => "Maandag",
-"Tuesday" => "Dinsdag",
-"Wednesday" => "Woensdag",
-"Thursday" => "Donderdag",
-"Friday" => "Vrijdag",
-"Saturday" => "Zaterdag",
-"January" => "januari",
-"February" => "februari",
-"March" => "maart",
-"April" => "april",
-"May" => "mei",
-"June" => "juni",
-"July" => "juli",
-"August" => "augustus",
-"September" => "september",
-"October" => "oktober",
-"November" => "november",
-"December" => "december",
"web services under your control" => "Webdiensten in eigen beheer",
"Log out" => "Afmelden",
"Automatic logon rejected!" => "Automatische aanmelding geweigerd!",
diff --git a/core/l10n/nn_NO.php b/core/l10n/nn_NO.php
index 8aaf0b705c8..61b2baffbf2 100644
--- a/core/l10n/nn_NO.php
+++ b/core/l10n/nn_NO.php
@@ -1,4 +1,23 @@
<?php $TRANSLATIONS = array(
+"Sunday" => "Søndag",
+"Monday" => "MÃ¥ndag",
+"Tuesday" => "Tysdag",
+"Wednesday" => "Onsdag",
+"Thursday" => "Torsdag",
+"Friday" => "Fredag",
+"Saturday" => "Laurdag",
+"January" => "Januar",
+"February" => "Februar",
+"March" => "Mars",
+"April" => "April",
+"May" => "Mai",
+"June" => "Juni",
+"July" => "Juli",
+"August" => "August",
+"September" => "September",
+"October" => "Oktober",
+"November" => "November",
+"December" => "Desember",
"Settings" => "Innstillingar",
"Cancel" => "Kanseller",
"Error" => "Feil",
@@ -28,25 +47,6 @@
"Database name" => "Databasenamn",
"Database host" => "Databasetenar",
"Finish setup" => "Fullfør oppsettet",
-"Sunday" => "Søndag",
-"Monday" => "MÃ¥ndag",
-"Tuesday" => "Tysdag",
-"Wednesday" => "Onsdag",
-"Thursday" => "Torsdag",
-"Friday" => "Fredag",
-"Saturday" => "Laurdag",
-"January" => "Januar",
-"February" => "Februar",
-"March" => "Mars",
-"April" => "April",
-"May" => "Mai",
-"June" => "Juni",
-"July" => "Juli",
-"August" => "August",
-"September" => "September",
-"October" => "Oktober",
-"November" => "November",
-"December" => "Desember",
"web services under your control" => "Vev tjenester under din kontroll",
"Log out" => "Logg ut",
"Lost your password?" => "Gløymt passordet?",
diff --git a/core/l10n/oc.php b/core/l10n/oc.php
index be6d5aec285..3443f9d501e 100644
--- a/core/l10n/oc.php
+++ b/core/l10n/oc.php
@@ -2,6 +2,25 @@
"No category to add?" => "Pas de categoria d'ajustar ?",
"This category already exists: " => "La categoria exista ja :",
"No categories selected for deletion." => "Pas de categorias seleccionadas per escafar.",
+"Sunday" => "Dimenge",
+"Monday" => "Diluns",
+"Tuesday" => "Dimarç",
+"Wednesday" => "Dimecres",
+"Thursday" => "Dijòus",
+"Friday" => "Divendres",
+"Saturday" => "Dissabte",
+"January" => "Genièr",
+"February" => "Febrièr",
+"March" => "Març",
+"April" => "Abril",
+"May" => "Mai",
+"June" => "Junh",
+"July" => "Julhet",
+"August" => "Agost",
+"September" => "Septembre",
+"October" => "Octobre",
+"November" => "Novembre",
+"December" => "Decembre",
"Settings" => "Configuracion",
"seconds ago" => "segonda a",
"1 minute ago" => "1 minuta a",
@@ -69,25 +88,6 @@
"Database tablespace" => "Espandi de taula de basa de donadas",
"Database host" => "Ã’ste de basa de donadas",
"Finish setup" => "Configuracion acabada",
-"Sunday" => "Dimenge",
-"Monday" => "Diluns",
-"Tuesday" => "Dimarç",
-"Wednesday" => "Dimecres",
-"Thursday" => "Dijòus",
-"Friday" => "Divendres",
-"Saturday" => "Dissabte",
-"January" => "Genièr",
-"February" => "Febrièr",
-"March" => "Març",
-"April" => "Abril",
-"May" => "Mai",
-"June" => "Junh",
-"July" => "Julhet",
-"August" => "Agost",
-"September" => "Septembre",
-"October" => "Octobre",
-"November" => "Novembre",
-"December" => "Decembre",
"web services under your control" => "Services web jos ton contraròtle",
"Log out" => "Sortida",
"Lost your password?" => "L'as perdut lo senhal ?",
diff --git a/core/l10n/pl.php b/core/l10n/pl.php
index 3324040209b..142593930d0 100644
--- a/core/l10n/pl.php
+++ b/core/l10n/pl.php
@@ -11,6 +11,25 @@
"Error adding %s to favorites." => "BÅ‚Ä…d dodania %s do ulubionych.",
"No categories selected for deletion." => "Nie ma kategorii zaznaczonych do usunięcia.",
"Error removing %s from favorites." => "Błąd usunięcia %s z ulubionych.",
+"Sunday" => "Niedziela",
+"Monday" => "Poniedziałek",
+"Tuesday" => "Wtorek",
+"Wednesday" => "Åšroda",
+"Thursday" => "Czwartek",
+"Friday" => "PiÄ…tek",
+"Saturday" => "Sobota",
+"January" => "Styczeń",
+"February" => "Luty",
+"March" => "Marzec",
+"April" => "Kwiecień",
+"May" => "Maj",
+"June" => "Czerwiec",
+"July" => "Lipiec",
+"August" => "Sierpień",
+"September" => "Wrzesień",
+"October" => "Październik",
+"November" => "Listopad",
+"December" => "Grudzień",
"Settings" => "Ustawienia",
"seconds ago" => "sekund temu",
"1 minute ago" => "1 minute temu",
@@ -98,25 +117,6 @@
"Database tablespace" => "Obszar tabel bazy danych",
"Database host" => "Komputer bazy danych",
"Finish setup" => "Zakończ konfigurowanie",
-"Sunday" => "Niedziela",
-"Monday" => "Poniedziałek",
-"Tuesday" => "Wtorek",
-"Wednesday" => "Åšroda",
-"Thursday" => "Czwartek",
-"Friday" => "PiÄ…tek",
-"Saturday" => "Sobota",
-"January" => "Styczeń",
-"February" => "Luty",
-"March" => "Marzec",
-"April" => "Kwiecień",
-"May" => "Maj",
-"June" => "Czerwiec",
-"July" => "Lipiec",
-"August" => "Sierpień",
-"September" => "Wrzesień",
-"October" => "Październik",
-"November" => "Listopad",
-"December" => "Grudzień",
"web services under your control" => "usługi internetowe pod kontrolą",
"Log out" => "Wylogowuje użytkownika",
"Automatic logon rejected!" => "Automatyczne logowanie odrzucone!",
diff --git a/core/l10n/pt_BR.php b/core/l10n/pt_BR.php
index 3b119650268..8ca2dd4fd0e 100644
--- a/core/l10n/pt_BR.php
+++ b/core/l10n/pt_BR.php
@@ -7,6 +7,25 @@
"Error adding %s to favorites." => "Erro ao adicionar %s aos favoritos.",
"No categories selected for deletion." => "Nenhuma categoria selecionada para deletar.",
"Error removing %s from favorites." => "Erro ao remover %s dos favoritos.",
+"Sunday" => "Domingo",
+"Monday" => "Segunda-feira",
+"Tuesday" => "Terça-feira",
+"Wednesday" => "Quarta-feira",
+"Thursday" => "Quinta-feira",
+"Friday" => "Sexta-feira",
+"Saturday" => "Sábado",
+"January" => "Janeiro",
+"February" => "Fevereiro",
+"March" => "Março",
+"April" => "Abril",
+"May" => "Maio",
+"June" => "Junho",
+"July" => "Julho",
+"August" => "Agosto",
+"September" => "Setembro",
+"October" => "Outubro",
+"November" => "Novembro",
+"December" => "Dezembro",
"Settings" => "Configurações",
"seconds ago" => "segundos atrás",
"1 minute ago" => "1 minuto atrás",
@@ -90,25 +109,6 @@
"Database tablespace" => "Espaço de tabela do banco de dados",
"Database host" => "Banco de dados do host",
"Finish setup" => "Concluir configuração",
-"Sunday" => "Domingo",
-"Monday" => "Segunda-feira",
-"Tuesday" => "Terça-feira",
-"Wednesday" => "Quarta-feira",
-"Thursday" => "Quinta-feira",
-"Friday" => "Sexta-feira",
-"Saturday" => "Sábado",
-"January" => "Janeiro",
-"February" => "Fevereiro",
-"March" => "Março",
-"April" => "Abril",
-"May" => "Maio",
-"June" => "Junho",
-"July" => "Julho",
-"August" => "Agosto",
-"September" => "Setembro",
-"October" => "Outubro",
-"November" => "Novembro",
-"December" => "Dezembro",
"web services under your control" => "web services sob seu controle",
"Log out" => "Sair",
"Automatic logon rejected!" => "Entrada Automática no Sistema Rejeitada!",
diff --git a/core/l10n/pt_PT.php b/core/l10n/pt_PT.php
index 6e3a558986c..bfa1c098d1e 100644
--- a/core/l10n/pt_PT.php
+++ b/core/l10n/pt_PT.php
@@ -9,11 +9,30 @@
"Object type not provided." => "Tipo de objecto não fornecido",
"%s ID not provided." => "ID %s não fornecido",
"Error adding %s to favorites." => "Erro a adicionar %s aos favoritos",
-"No categories selected for deletion." => "Nenhuma categoria seleccionar para eliminar",
+"No categories selected for deletion." => "Nenhuma categoria seleccionada para apagar",
"Error removing %s from favorites." => "Erro a remover %s dos favoritos.",
+"Sunday" => "Domingo",
+"Monday" => "Segunda",
+"Tuesday" => "Terça",
+"Wednesday" => "Quarta",
+"Thursday" => "Quinta",
+"Friday" => "Sexta",
+"Saturday" => "Sábado",
+"January" => "Janeiro",
+"February" => "Fevereiro",
+"March" => "Março",
+"April" => "Abril",
+"May" => "Maio",
+"June" => "Junho",
+"July" => "Julho",
+"August" => "Agosto",
+"September" => "Setembro",
+"October" => "Outubro",
+"November" => "Novembro",
+"December" => "Dezembro",
"Settings" => "Definições",
"seconds ago" => "Minutos atrás",
-"1 minute ago" => "Falta 1 minuto",
+"1 minute ago" => "Há 1 minuto",
"{minutes} minutes ago" => "{minutes} minutos atrás",
"1 hour ago" => "Há 1 hora",
"{hours} hours ago" => "Há {hours} horas atrás",
@@ -62,7 +81,7 @@
"Error unsetting expiration date" => "Erro ao retirar a data de expiração",
"Error setting expiration date" => "Erro ao aplicar a data de expiração",
"Sending ..." => "A Enviar...",
-"Email sent" => "E-mail enviado com sucesso!",
+"Email sent" => "E-mail enviado",
"ownCloud password reset" => "Reposição da password ownCloud",
"Use the following link to reset your password: {link}" => "Use o seguinte endereço para repor a sua password: {link}",
"You will receive a link to reset your password via Email." => "Vai receber um endereço para repor a sua password",
@@ -71,7 +90,7 @@
"Username" => "Utilizador",
"Request reset" => "Pedir reposição",
"Your password was reset" => "A sua password foi reposta",
-"To login page" => "Para a página de conexão",
+"To login page" => "Para a página de entrada",
"New password" => "Nova password",
"Reset password" => "Repor password",
"Personal" => "Pessoal",
@@ -96,36 +115,17 @@
"Database password" => "Password da base de dados",
"Database name" => "Nome da base de dados",
"Database tablespace" => "Tablespace da base de dados",
-"Database host" => "Host da base de dados",
+"Database host" => "Anfitrião da base de dados",
"Finish setup" => "Acabar instalação",
-"Sunday" => "Domingo",
-"Monday" => "Segunda",
-"Tuesday" => "Terça",
-"Wednesday" => "Quarta",
-"Thursday" => "Quinta",
-"Friday" => "Sexta",
-"Saturday" => "Sábado",
-"January" => "Janeiro",
-"February" => "Fevereiro",
-"March" => "Março",
-"April" => "Abril",
-"May" => "Maio",
-"June" => "Junho",
-"July" => "Julho",
-"August" => "Agosto",
-"September" => "Setembro",
-"October" => "Outubro",
-"November" => "Novembro",
-"December" => "Dezembro",
"web services under your control" => "serviços web sob o seu controlo",
"Log out" => "Sair",
"Automatic logon rejected!" => "Login automático rejeitado!",
"If you did not change your password recently, your account may be compromised!" => "Se não mudou a sua palavra-passe recentemente, a sua conta pode ter sido comprometida!",
"Please change your password to secure your account again." => "Por favor mude a sua palavra-passe para assegurar a sua conta de novo.",
-"Lost your password?" => "Esqueceu a sua password?",
+"Lost your password?" => "Esqueceu-se da sua password?",
"remember" => "lembrar",
"Log in" => "Entrar",
"prev" => "anterior",
"next" => "seguinte",
-"Updating ownCloud to version %s, this may take a while." => "A Actualizar o ownCloud para a versão %s, esta operação pode demorar."
+"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 c3434706df8..3e389bfab0c 100644
--- a/core/l10n/ro.php
+++ b/core/l10n/ro.php
@@ -1,18 +1,46 @@
<?php $TRANSLATIONS = array(
+"User %s shared a file with you" => "Utilizatorul %s a partajat un fișier cu tine",
+"User %s shared a folder with you" => "Utilizatorul %s a partajat un dosar cu tine",
+"User %s shared the file \"%s\" with you. It is available for download here: %s" => "Utilizatorul %s a partajat fișierul \"%s\" cu tine. Îl poți descărca de aici: %s",
+"User %s shared the folder \"%s\" with you. It is available for download here: %s" => "Utilizatorul %s a partajat dosarul \"%s\" cu tine. Îl poți descărca de aici: %s ",
"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ă",
@@ -21,7 +49,10 @@
"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",
@@ -31,6 +62,8 @@
"Share with link" => "Partajare cu legătură",
"Password protect" => "Protejare cu parolă",
"Password" => "Parola",
+"Email link to person" => "Expediază legătura prin poșta electronică",
+"Send" => "Expediază",
"Set expiration date" => "Specifică data expirării",
"Expiration date" => "Data expirării",
"Share via email:" => "Distribuie prin email:",
@@ -47,6 +80,8 @@
"Password protected" => "Protejare cu parolă",
"Error unsetting expiration date" => "Eroare la anularea datei de expirare",
"Error setting expiration date" => "Eroare la specificarea datei de expirare",
+"Sending ..." => "Se expediază...",
+"Email sent" => "Mesajul a fost expediat",
"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",
@@ -82,25 +117,6 @@
"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",
@@ -110,5 +126,6 @@
"remember" => "amintește",
"Log in" => "Autentificare",
"prev" => "precedentul",
-"next" => "următorul"
+"next" => "următorul",
+"Updating ownCloud to version %s, this may take a while." => "Actualizăm ownCloud la versiunea %s, aceasta poate dura câteva momente."
);
diff --git a/core/l10n/ru.php b/core/l10n/ru.php
index 7434d6af7f8..fd6a7c6094a 100644
--- a/core/l10n/ru.php
+++ b/core/l10n/ru.php
@@ -11,6 +11,25 @@
"Error adding %s to favorites." => "Ошибка Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ %s в избранное",
"No categories selected for deletion." => "Ðет категорий Ð´Ð»Ñ ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ.",
"Error removing %s from favorites." => "Ошибка ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ %s из избранного",
+"Sunday" => "ВоÑкреÑенье",
+"Monday" => "Понедельник",
+"Tuesday" => "Вторник",
+"Wednesday" => "Среда",
+"Thursday" => "Четверг",
+"Friday" => "ПÑтница",
+"Saturday" => "Суббота",
+"January" => "Январь",
+"February" => "Февраль",
+"March" => "Март",
+"April" => "Ðпрель",
+"May" => "Май",
+"June" => "Июнь",
+"July" => "Июль",
+"August" => "ÐвгуÑÑ‚",
+"September" => "СентÑбрь",
+"October" => "ОктÑбрь",
+"November" => "ÐоÑбрь",
+"December" => "Декабрь",
"Settings" => "ÐаÑтройки",
"seconds ago" => "неÑколько Ñекунд назад",
"1 minute ago" => "1 минуту назад",
@@ -98,25 +117,6 @@
"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" => "Выйти",
"Automatic logon rejected!" => "ÐвтоматичеÑкий вход в ÑиÑтему отключен!",
diff --git a/core/l10n/ru_RU.php b/core/l10n/ru_RU.php
index 84bd8f93156..4ede3348286 100644
--- a/core/l10n/ru_RU.php
+++ b/core/l10n/ru_RU.php
@@ -11,6 +11,25 @@
"Error adding %s to favorites." => "Ошибка Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ %s в избранное.",
"No categories selected for deletion." => "Ðет категорий, выбранных Ð´Ð»Ñ ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ.",
"Error removing %s from favorites." => "Ошибка ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ %s из избранного.",
+"Sunday" => "ВоÑкреÑенье",
+"Monday" => "Понедельник",
+"Tuesday" => "Вторник",
+"Wednesday" => "Среда",
+"Thursday" => "Четверг",
+"Friday" => "ПÑтница",
+"Saturday" => "Суббота",
+"January" => "Январь",
+"February" => "Февраль",
+"March" => "Март",
+"April" => "Ðпрель",
+"May" => "Май",
+"June" => "Июнь",
+"July" => "Июль",
+"August" => "ÐвгуÑÑ‚",
+"September" => "СентÑбрь",
+"October" => "ОктÑбрь",
+"November" => "ÐоÑбрь",
+"December" => "Декабрь",
"Settings" => "ÐаÑтройки",
"seconds ago" => "Ñекунд назад",
"1 minute ago" => " 1 минуту назад",
@@ -98,25 +117,6 @@
"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" => "Выйти",
"Automatic logon rejected!" => "ÐвтоматичеÑкий вход в ÑиÑтему отклонен!",
diff --git a/core/l10n/si_LK.php b/core/l10n/si_LK.php
index a6aeb484ed7..3c4e69e89be 100644
--- a/core/l10n/si_LK.php
+++ b/core/l10n/si_LK.php
@@ -1,5 +1,24 @@
<?php $TRANSLATIONS = array(
"No categories selected for deletion." => "මක෠දà·à¶¸à·“ම සඳහ෠ප්â€à¶»à·€à¶»à·Šà¶œà¶ºà¶±à·Š තà·à¶»à· නොමà·à¶­.",
+"Sunday" => "ඉරිදà·",
+"Monday" => "සඳුදà·",
+"Tuesday" => "අඟහරුවà·à¶¯à·",
+"Wednesday" => "බදà·à¶¯à·",
+"Thursday" => "බ්â€à¶»à·„ස්පතින්දà·",
+"Friday" => "සිකුරà·à¶¯à·",
+"Saturday" => "සෙනසුරà·à¶¯à·",
+"January" => "ජනවà·à¶»à·’",
+"February" => "පෙබරවà·à¶»à·’",
+"March" => "මà·à¶»à·Šà¶­à·”",
+"April" => "අප්â€à¶»à·šà¶½à·Š",
+"May" => "මà·à¶ºà·’",
+"June" => "ජූනි",
+"July" => "ජූලි",
+"August" => "අගà·à·ƒà·Šà¶­à·”",
+"September" => "à·ƒà·à¶´à·Šà¶­à·à¶¸à·Šà¶¶à¶»à·Š",
+"October" => "ඔක්තà·à¶¶à¶»à·Š",
+"November" => "නොවà·à¶¸à·Šà¶¶à¶»à·Š",
+"December" => "දෙසà·à¶¸à·Šà¶¶à¶»à·Š",
"Settings" => "à·ƒà·à¶šà·ƒà·”ම්",
"seconds ago" => "තත්පරයන්ට පෙර",
"1 minute ago" => "1 මිනිත්තුවකට පෙර",
@@ -61,25 +80,6 @@
"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" => "දෙසà·à¶¸à·Šà¶¶à¶»à·Š",
"web services under your control" => "ඔබට පà·à¶½à¶±à¶º කළ à·„à·à¶šà·’ වෙබ් සේවà·à·€à¶±à·Š",
"Log out" => "නික්මීම",
"Lost your password?" => "මුරපදය අමතකද?",
diff --git a/core/l10n/sk_SK.php b/core/l10n/sk_SK.php
index 286642ace7a..6e373137e43 100644
--- a/core/l10n/sk_SK.php
+++ b/core/l10n/sk_SK.php
@@ -11,6 +11,25 @@
"Error adding %s to favorites." => "Chyba pri pridávaní %s do obľúbených položiek.",
"No categories selected for deletion." => "Neboli vybrané žiadne kategórie pre odstránenie.",
"Error removing %s from favorites." => "Chyba pri odstraňovaní %s z obľúbených položiek.",
+"Sunday" => "Nedeľa",
+"Monday" => "Pondelok",
+"Tuesday" => "Utorok",
+"Wednesday" => "Streda",
+"Thursday" => "Å tvrtok",
+"Friday" => "Piatok",
+"Saturday" => "Sobota",
+"January" => "Január",
+"February" => "Február",
+"March" => "Marec",
+"April" => "Apríl",
+"May" => "Máj",
+"June" => "Jún",
+"July" => "Júl",
+"August" => "August",
+"September" => "September",
+"October" => "Október",
+"November" => "November",
+"December" => "December",
"Settings" => "Nastavenia",
"seconds ago" => "pred sekundami",
"1 minute ago" => "pred minútou",
@@ -98,25 +117,6 @@
"Database tablespace" => "Tabuľkový priestor databázy",
"Database host" => "Server databázy",
"Finish setup" => "DokonÄiÅ¥ inÅ¡taláciu",
-"Sunday" => "Nedeľa",
-"Monday" => "Pondelok",
-"Tuesday" => "Utorok",
-"Wednesday" => "Streda",
-"Thursday" => "Å tvrtok",
-"Friday" => "Piatok",
-"Saturday" => "Sobota",
-"January" => "Január",
-"February" => "Február",
-"March" => "Marec",
-"April" => "Apríl",
-"May" => "Máj",
-"June" => "Jún",
-"July" => "Júl",
-"August" => "August",
-"September" => "September",
-"October" => "Október",
-"November" => "November",
-"December" => "December",
"web services under your control" => "webové služby pod vašou kontrolou",
"Log out" => "Odhlásiť",
"Automatic logon rejected!" => "Automatické prihlásenie bolo zamietnuté!",
diff --git a/core/l10n/sl.php b/core/l10n/sl.php
index b2c924d412e..413a46ffc79 100644
--- a/core/l10n/sl.php
+++ b/core/l10n/sl.php
@@ -11,6 +11,25 @@
"Error adding %s to favorites." => "Napaka pri dodajanju %s med priljubljene.",
"No categories selected for deletion." => "Za izbris ni izbrana nobena kategorija.",
"Error removing %s from favorites." => "Napaka pri odstranjevanju %s iz priljubljenih.",
+"Sunday" => "nedelja",
+"Monday" => "ponedeljek",
+"Tuesday" => "torek",
+"Wednesday" => "sreda",
+"Thursday" => "Äetrtek",
+"Friday" => "petek",
+"Saturday" => "sobota",
+"January" => "januar",
+"February" => "februar",
+"March" => "marec",
+"April" => "april",
+"May" => "maj",
+"June" => "junij",
+"July" => "julij",
+"August" => "avgust",
+"September" => "september",
+"October" => "oktober",
+"November" => "november",
+"December" => "december",
"Settings" => "Nastavitve",
"seconds ago" => "pred nekaj sekundami",
"1 minute ago" => "pred minuto",
@@ -98,25 +117,6 @@
"Database tablespace" => "Razpredelnica podatkovne zbirke",
"Database host" => "Gostitelj podatkovne zbirke",
"Finish setup" => "DokonÄaj namestitev",
-"Sunday" => "nedelja",
-"Monday" => "ponedeljek",
-"Tuesday" => "torek",
-"Wednesday" => "sreda",
-"Thursday" => "Äetrtek",
-"Friday" => "petek",
-"Saturday" => "sobota",
-"January" => "januar",
-"February" => "februar",
-"March" => "marec",
-"April" => "april",
-"May" => "maj",
-"June" => "junij",
-"July" => "julij",
-"August" => "avgust",
-"September" => "september",
-"October" => "oktober",
-"November" => "november",
-"December" => "december",
"web services under your control" => "spletne storitve pod vašim nadzorom",
"Log out" => "Odjava",
"Automatic logon rejected!" => "Samodejno prijavljanje je zavrnjeno!",
diff --git a/core/l10n/sr.php b/core/l10n/sr.php
index e55ad9250ab..e8547c58acc 100644
--- a/core/l10n/sr.php
+++ b/core/l10n/sr.php
@@ -9,6 +9,25 @@
"Error adding %s to favorites." => "Грешка приликом додавања %s у омиљене.",
"No categories selected for deletion." => "Ðи једна категорија није означена за бриÑање.",
"Error removing %s from favorites." => "Грешка приликом уклањања %s из омиљених",
+"Sunday" => "Ðедеља",
+"Monday" => "Понедељак",
+"Tuesday" => "Уторак",
+"Wednesday" => "Среда",
+"Thursday" => "Четвртак",
+"Friday" => "Петак",
+"Saturday" => "Субота",
+"January" => "Јануар",
+"February" => "Фебруар",
+"March" => "Март",
+"April" => "Ðприл",
+"May" => "Мај",
+"June" => "Јун",
+"July" => "Јул",
+"August" => "ÐвгуÑÑ‚",
+"September" => "Септембар",
+"October" => "Октобар",
+"November" => "Ðовембар",
+"December" => "Децембар",
"Settings" => "Подешавања",
"seconds ago" => "пре неколико Ñекунди",
"1 minute ago" => "пре 1 минут",
@@ -95,25 +114,6 @@
"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" => "Одјава",
"Automatic logon rejected!" => "ÐутоматÑка пријава је одбијена!",
diff --git a/core/l10n/sr@latin.php b/core/l10n/sr@latin.php
index efcb7c10f01..ec3eab34e29 100644
--- a/core/l10n/sr@latin.php
+++ b/core/l10n/sr@latin.php
@@ -1,4 +1,23 @@
<?php $TRANSLATIONS = array(
+"Sunday" => "Nedelja",
+"Monday" => "Ponedeljak",
+"Tuesday" => "Utorak",
+"Wednesday" => "Sreda",
+"Thursday" => "ÄŒetvrtak",
+"Friday" => "Petak",
+"Saturday" => "Subota",
+"January" => "Januar",
+"February" => "Februar",
+"March" => "Mart",
+"April" => "April",
+"May" => "Maj",
+"June" => "Jun",
+"July" => "Jul",
+"August" => "Avgust",
+"September" => "Septembar",
+"October" => "Oktobar",
+"November" => "Novembar",
+"December" => "Decembar",
"Settings" => "Podešavanja",
"Cancel" => "Otkaži",
"Password" => "Lozinka",
@@ -24,25 +43,6 @@
"Database name" => "Ime baze",
"Database host" => "Domaćin baze",
"Finish setup" => "Završi podešavanje",
-"Sunday" => "Nedelja",
-"Monday" => "Ponedeljak",
-"Tuesday" => "Utorak",
-"Wednesday" => "Sreda",
-"Thursday" => "ÄŒetvrtak",
-"Friday" => "Petak",
-"Saturday" => "Subota",
-"January" => "Januar",
-"February" => "Februar",
-"March" => "Mart",
-"April" => "April",
-"May" => "Maj",
-"June" => "Jun",
-"July" => "Jul",
-"August" => "Avgust",
-"September" => "Septembar",
-"October" => "Oktobar",
-"November" => "Novembar",
-"December" => "Decembar",
"Log out" => "Odjava",
"Lost your password?" => "Izgubili ste lozinku?",
"remember" => "upamti",
diff --git a/core/l10n/sv.php b/core/l10n/sv.php
index 70a9871be26..406d51790b7 100644
--- a/core/l10n/sv.php
+++ b/core/l10n/sv.php
@@ -11,6 +11,25 @@
"Error adding %s to favorites." => "Fel vid tillägg av %s till favoriter.",
"No categories selected for deletion." => "Inga kategorier valda för radering.",
"Error removing %s from favorites." => "Fel vid borttagning av %s från favoriter.",
+"Sunday" => "Söndag",
+"Monday" => "MÃ¥ndag",
+"Tuesday" => "Tisdag",
+"Wednesday" => "Onsdag",
+"Thursday" => "Torsdag",
+"Friday" => "Fredag",
+"Saturday" => "Lördag",
+"January" => "Januari",
+"February" => "Februari",
+"March" => "Mars",
+"April" => "April",
+"May" => "Maj",
+"June" => "Juni",
+"July" => "Juli",
+"August" => "Augusti",
+"September" => "September",
+"October" => "Oktober",
+"November" => "November",
+"December" => "December",
"Settings" => "Inställningar",
"seconds ago" => "sekunder sedan",
"1 minute ago" => "1 minut sedan",
@@ -98,25 +117,6 @@
"Database tablespace" => "Databas tabellutrymme",
"Database host" => "Databasserver",
"Finish setup" => "Avsluta installation",
-"Sunday" => "Söndag",
-"Monday" => "MÃ¥ndag",
-"Tuesday" => "Tisdag",
-"Wednesday" => "Onsdag",
-"Thursday" => "Torsdag",
-"Friday" => "Fredag",
-"Saturday" => "Lördag",
-"January" => "Januari",
-"February" => "Februari",
-"March" => "Mars",
-"April" => "April",
-"May" => "Maj",
-"June" => "Juni",
-"July" => "Juli",
-"August" => "Augusti",
-"September" => "September",
-"October" => "Oktober",
-"November" => "November",
-"December" => "December",
"web services under your control" => "webbtjänster under din kontroll",
"Log out" => "Logga ut",
"Automatic logon rejected!" => "Automatisk inloggning inte tillåten!",
diff --git a/core/l10n/ta_LK.php b/core/l10n/ta_LK.php
index 65cfbbf965d..f4f204968ff 100644
--- a/core/l10n/ta_LK.php
+++ b/core/l10n/ta_LK.php
@@ -7,6 +7,25 @@
"Error adding %s to favorites." => "விரà¯à®ªà¯à®ªà®™à¯à®•à®³à¯à®•à¯à®•à¯ %s ஠சேரà¯à®ªà¯à®ªà®¤à®¿à®²à¯ வழà¯",
"No categories selected for deletion." => "நீகà¯à®•à¯à®µà®¤à®±à¯à®•à¯ எநà¯à®¤à®ªà¯ பிரிவà¯à®®à¯ தெரிவà¯à®šà¯†à®¯à¯à®¯à®ªà¯à®ªà®Ÿà®µà®¿à®²à¯à®²à¯ˆ.",
"Error removing %s from favorites." => "விரà¯à®ªà¯à®ªà®¤à¯à®¤à®¿à®²à®¿à®°à¯à®¨à¯à®¤à¯ %s ஠அகறà¯à®±à¯à®µà®¤à®¿à®²à¯ வழà¯.உஇஇ",
+"Sunday" => "ஞாயிறà¯à®±à¯à®•à¯à®•à®¿à®´à®®à¯ˆ",
+"Monday" => "திஙà¯à®•à®Ÿà¯à®•à®¿à®´à®®à¯ˆ",
+"Tuesday" => "செவà¯à®µà®¾à®¯à¯à®•à¯à®•à®¿à®´à®®à¯ˆ",
+"Wednesday" => "பà¯à®¤à®©à¯à®•à®¿à®´à®®à¯ˆ",
+"Thursday" => "வியாழகà¯à®•à®¿à®´à®®à¯ˆ",
+"Friday" => "வெளà¯à®³à®¿à®•à¯à®•à®¿à®´à®®à¯ˆ",
+"Saturday" => "சனிகà¯à®•à®¿à®´à®®à¯ˆ",
+"January" => "தை",
+"February" => "மாசி",
+"March" => "பஙà¯à®•à¯à®©à®¿",
+"April" => "சிதà¯à®¤à®¿à®°à¯ˆ",
+"May" => "வைகாசி",
+"June" => "ஆனி",
+"July" => "ஆடி",
+"August" => "ஆவணி",
+"September" => "பà¯à®°à®Ÿà¯à®Ÿà®¾à®šà®¿",
+"October" => "à®à®ªà¯à®ªà®šà®¿",
+"November" => "காரà¯à®¤à¯à®¤à®¿à®•à¯ˆ",
+"December" => "மாரà¯à®•à®´à®¿",
"Settings" => "அமைபà¯à®ªà¯à®•à®³à¯",
"seconds ago" => "செகà¯à®•à®©à¯à®•à®³à¯à®•à¯à®•à¯ à®®à¯à®©à¯",
"1 minute ago" => "1 நிமிடதà¯à®¤à®¿à®±à¯à®•à¯ à®®à¯à®©à¯ ",
@@ -90,25 +109,6 @@
"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" => "விடà¯à®ªà®¤à®¿à®•à¯ˆ செயà¯à®•",
"Automatic logon rejected!" => "தனà¯à®©à®¿à®šà¯à®šà¯ˆà®¯à®¾à®© பà¯à®•à¯à®ªà®¤à®¿à®•à¯ˆ நிராகரிபà¯à®ªà®Ÿà¯à®Ÿà®¤à¯!",
diff --git a/core/l10n/th_TH.php b/core/l10n/th_TH.php
index bcbd70d03e6..4a17eb3b495 100644
--- a/core/l10n/th_TH.php
+++ b/core/l10n/th_TH.php
@@ -11,6 +11,25 @@
"Error adding %s to favorites." => "เà¸à¸´à¸”ข้อผิดพลาดในà¸à¸²à¸£à¹€à¸žà¸´à¹ˆà¸¡ %s เข้าไปยังรายà¸à¸²à¸£à¹‚ปรด",
"No categories selected for deletion." => "ยังไม่ได้เลือà¸à¸«à¸¡à¸§à¸”หมู่ที่ต้องà¸à¸²à¸£à¸¥à¸š",
"Error removing %s from favorites." => "เà¸à¸´à¸”ข้อผิดพลาดในà¸à¸²à¸£à¸¥à¸š %s ออà¸à¸ˆà¸²à¸à¸£à¸²à¸¢à¸à¸²à¸£à¹‚ปรด",
+"Sunday" => "วันอาทิตย์",
+"Monday" => "วันจันทร์",
+"Tuesday" => "วันอังคาร",
+"Wednesday" => "วันพุธ",
+"Thursday" => "วันพฤหัสบดี",
+"Friday" => "วันศุà¸à¸£à¹Œ",
+"Saturday" => "วันเสาร์",
+"January" => "มà¸à¸£à¸²à¸„ม",
+"February" => "à¸à¸¸à¸¡à¸ à¸²à¸žà¸±à¸™à¸˜à¹Œ",
+"March" => "มีนาคม",
+"April" => "เมษายน",
+"May" => "พฤษภาคม",
+"June" => "มิถุนายน",
+"July" => "à¸à¸£à¸à¸à¸²à¸„ม",
+"August" => "สิงหาคม",
+"September" => "à¸à¸±à¸™à¸¢à¸²à¸¢à¸™",
+"October" => "ตุลาคม",
+"November" => "พฤศจิà¸à¸²à¸¢à¸™",
+"December" => "ธันวาคม",
"Settings" => "ตั้งค่า",
"seconds ago" => "วินาที à¸à¹ˆà¸­à¸™à¸«à¸™à¹‰à¸²à¸™à¸µà¹‰",
"1 minute ago" => "1 นาทีà¸à¹ˆà¸­à¸™à¸«à¸™à¹‰à¸²à¸™à¸µà¹‰",
@@ -98,25 +117,6 @@
"Database tablespace" => "พื้นที่ตารางในà¸à¸²à¸™à¸‚้อมูล",
"Database host" => "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" => "web services under your control",
"Log out" => "ออà¸à¸ˆà¸²à¸à¸£à¸°à¸šà¸š",
"Automatic logon rejected!" => "à¸à¸²à¸£à¹€à¸‚้าสู่ระบบอัตโนมัติถูà¸à¸›à¸à¸´à¹€à¸ªà¸˜à¹à¸¥à¹‰à¸§",
diff --git a/core/l10n/tr.php b/core/l10n/tr.php
index 58e28a9b3b9..f64ecbedd5a 100644
--- a/core/l10n/tr.php
+++ b/core/l10n/tr.php
@@ -11,6 +11,25 @@
"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",
+"Sunday" => "Pazar",
+"Monday" => "Pazartesi",
+"Tuesday" => "Salı",
+"Wednesday" => "Çarşamba",
+"Thursday" => "PerÅŸembe",
+"Friday" => "Cuma",
+"Saturday" => "Cumartesi",
+"January" => "Ocak",
+"February" => "Åžubat",
+"March" => "Mart",
+"April" => "Nisan",
+"May" => "Mayıs",
+"June" => "Haziran",
+"July" => "Temmuz",
+"August" => "AÄŸustos",
+"September" => "Eylül",
+"October" => "Ekim",
+"November" => "Kasım",
+"December" => "Aralık",
"Settings" => "Ayarlar",
"seconds ago" => "saniye önce",
"1 minute ago" => "1 dakika önce",
@@ -98,25 +117,6 @@
"Database tablespace" => "Veritabanı tablo alanı",
"Database host" => "Veritabanı sunucusu",
"Finish setup" => "Kurulumu tamamla",
-"Sunday" => "Pazar",
-"Monday" => "Pazartesi",
-"Tuesday" => "Salı",
-"Wednesday" => "Çarşamba",
-"Thursday" => "PerÅŸembe",
-"Friday" => "Cuma",
-"Saturday" => "Cumartesi",
-"January" => "Ocak",
-"February" => "Åžubat",
-"March" => "Mart",
-"April" => "Nisan",
-"May" => "Mayıs",
-"June" => "Haziran",
-"July" => "Temmuz",
-"August" => "AÄŸustos",
-"September" => "Eylül",
-"October" => "Ekim",
-"November" => "Kasım",
-"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!",
diff --git a/core/l10n/uk.php b/core/l10n/uk.php
index 88e18d3eb28..34387cc914e 100644
--- a/core/l10n/uk.php
+++ b/core/l10n/uk.php
@@ -11,6 +11,25 @@
"Error adding %s to favorites." => "Помилка при додаванні %s до обраного.",
"No categories selected for deletion." => "Жодної категорії не обрано Ð´Ð»Ñ Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ.",
"Error removing %s from favorites." => "Помилка при видалені %s із обраного.",
+"Sunday" => "ÐеділÑ",
+"Monday" => "Понеділок",
+"Tuesday" => "Вівторок",
+"Wednesday" => "Середа",
+"Thursday" => "Четвер",
+"Friday" => "П'ÑтницÑ",
+"Saturday" => "Субота",
+"January" => "Січень",
+"February" => "Лютий",
+"March" => "Березень",
+"April" => "Квітень",
+"May" => "Травень",
+"June" => "Червень",
+"July" => "Липень",
+"August" => "Серпень",
+"September" => "ВереÑень",
+"October" => "Жовтень",
+"November" => "ЛиÑтопад",
+"December" => "Грудень",
"Settings" => "ÐалаштуваннÑ",
"seconds ago" => "Ñекунди тому",
"1 minute ago" => "1 хвилину тому",
@@ -98,25 +117,6 @@
"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" => "Вихід",
"Automatic logon rejected!" => "Ðвтоматичний вхід в ÑиÑтему відхилений!",
diff --git a/core/l10n/vi.php b/core/l10n/vi.php
index c827dc038e6..178ac92d5ad 100644
--- a/core/l10n/vi.php
+++ b/core/l10n/vi.php
@@ -7,6 +7,25 @@
"Error adding %s to favorites." => "Lỗi thêm %s vào mục yêu thích.",
"No categories selected for deletion." => "Không có thể loại nào được chá»n để xóa.",
"Error removing %s from favorites." => "Lỗi xóa %s từ mục yêu thích.",
+"Sunday" => "Chủ nhật",
+"Monday" => "Thứ 2",
+"Tuesday" => "Thứ 3",
+"Wednesday" => "Thứ 4",
+"Thursday" => "Thứ 5",
+"Friday" => "Thứ ",
+"Saturday" => "Thứ 7",
+"January" => "Tháng 1",
+"February" => "Tháng 2",
+"March" => "Tháng 3",
+"April" => "Tháng 4",
+"May" => "Tháng 5",
+"June" => "Tháng 6",
+"July" => "Tháng 7",
+"August" => "Tháng 8",
+"September" => "Tháng 9",
+"October" => "Tháng 10",
+"November" => "Tháng 11",
+"December" => "Tháng 12",
"Settings" => "Cài đặt",
"seconds ago" => "vài giây trước",
"1 minute ago" => "1 phút trước",
@@ -90,25 +109,6 @@
"Database tablespace" => "Cơ sở dữ liệu tablespace",
"Database host" => "Database host",
"Finish setup" => "Cài đặt hoàn tất",
-"Sunday" => "Chủ nhật",
-"Monday" => "Thứ 2",
-"Tuesday" => "Thứ 3",
-"Wednesday" => "Thứ 4",
-"Thursday" => "Thứ 5",
-"Friday" => "Thứ ",
-"Saturday" => "Thứ 7",
-"January" => "Tháng 1",
-"February" => "Tháng 2",
-"March" => "Tháng 3",
-"April" => "Tháng 4",
-"May" => "Tháng 5",
-"June" => "Tháng 6",
-"July" => "Tháng 7",
-"August" => "Tháng 8",
-"September" => "Tháng 9",
-"October" => "Tháng 10",
-"November" => "Tháng 11",
-"December" => "Tháng 12",
"web services under your control" => "các dịch vụ web dưới sự kiểm soát của bạn",
"Log out" => "Äăng xuất",
"Automatic logon rejected!" => "Tự động đăng nhập đã bị từ chối !",
diff --git a/core/l10n/zh_CN.GB2312.php b/core/l10n/zh_CN.GB2312.php
index 74dd9ad8a3f..a76c3a6c796 100644
--- a/core/l10n/zh_CN.GB2312.php
+++ b/core/l10n/zh_CN.GB2312.php
@@ -2,6 +2,25 @@
"No category to add?" => "没有分类添加了?",
"This category already exists: " => "这个分类已ç»å­˜åœ¨äº†:",
"No categories selected for deletion." => "没有选者è¦åˆ é™¤çš„分类.",
+"Sunday" => "星期天",
+"Monday" => "星期一",
+"Tuesday" => "星期二",
+"Wednesday" => "星期三",
+"Thursday" => "星期四",
+"Friday" => "星期五",
+"Saturday" => "星期六",
+"January" => "一月",
+"February" => "二月",
+"March" => "三月",
+"April" => "四月",
+"May" => "五月",
+"June" => "六月",
+"July" => "七月",
+"August" => "八月",
+"September" => "ä¹æœˆ",
+"October" => "å月",
+"November" => "å一月",
+"December" => "å二月",
"Settings" => "设置",
"seconds ago" => "秒å‰",
"1 minute ago" => "1 分钟å‰",
@@ -79,25 +98,6 @@
"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" => "注销",
"Automatic logon rejected!" => "自动登录被拒ç»ï¼",
diff --git a/core/l10n/zh_CN.php b/core/l10n/zh_CN.php
index 626ede4cc70..3918cd165d6 100644
--- a/core/l10n/zh_CN.php
+++ b/core/l10n/zh_CN.php
@@ -11,6 +11,25 @@
"Error adding %s to favorites." => "å‘收è—夹中新增%s时出错。",
"No categories selected for deletion." => "没有选择è¦åˆ é™¤çš„类别",
"Error removing %s from favorites." => "从收è—夹中移除%s时出错。",
+"Sunday" => "星期日",
+"Monday" => "星期一",
+"Tuesday" => "星期二",
+"Wednesday" => "星期三",
+"Thursday" => "星期四",
+"Friday" => "星期五",
+"Saturday" => "星期六",
+"January" => "一月",
+"February" => "二月",
+"March" => "三月",
+"April" => "四月",
+"May" => "五月",
+"June" => "六月",
+"July" => "七月",
+"August" => "八月",
+"September" => "ä¹æœˆ",
+"October" => "å月",
+"November" => "å一月",
+"December" => "å二月",
"Settings" => "设置",
"seconds ago" => "秒å‰",
"1 minute ago" => "一分钟å‰",
@@ -98,25 +117,6 @@
"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" => "注销",
"Automatic logon rejected!" => "自动登录被拒ç»ï¼",
diff --git a/core/l10n/zh_TW.php b/core/l10n/zh_TW.php
index 7537c764451..78a069a63dc 100644
--- a/core/l10n/zh_TW.php
+++ b/core/l10n/zh_TW.php
@@ -11,6 +11,25 @@
"Error adding %s to favorites." => "加入 %s 到最愛時發生錯誤。",
"No categories selected for deletion." => "沒有é¸æ“‡è¦åˆªé™¤çš„分類。",
"Error removing %s from favorites." => "從最愛移除 %s 時發生錯誤。",
+"Sunday" => "週日",
+"Monday" => "週一",
+"Tuesday" => "週二",
+"Wednesday" => "週三",
+"Thursday" => "週四",
+"Friday" => "週五",
+"Saturday" => "週六",
+"January" => "一月",
+"February" => "二月",
+"March" => "三月",
+"April" => "四月",
+"May" => "五月",
+"June" => "六月",
+"July" => "七月",
+"August" => "八月",
+"September" => "ä¹æœˆ",
+"October" => "å月",
+"November" => "å一月",
+"December" => "å二月",
"Settings" => "設定",
"seconds ago" => "幾秒å‰",
"1 minute ago" => "1 分é˜å‰",
@@ -98,25 +117,6 @@
"Database tablespace" => "資料庫 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" => "登出",
"Automatic logon rejected!" => "自動登入被拒ï¼",
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/layout.base.php b/core/templates/layout.base.php
index cb2f9773839..47fb75612cf 100644
--- a/core/templates/layout.base.php
+++ b/core/templates/layout.base.php
@@ -7,11 +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_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 5b39503474d..9aabc08acec 100644
--- a/core/templates/layout.guest.php
+++ b/core/templates/layout.guest.php
@@ -3,19 +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_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 3337449a6c0..2886c3c5a2e 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::getDisplayName()?' ('.OC_Util::sanitizeHTML(OC_User::getDisplayName()).') ':'' ?></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">
diff --git a/core/templates/login.php b/core/templates/login.php
index 43e45997803..c82d2cafa2e 100644
--- a/core/templates/login.php
+++ b/core/templates/login.php
@@ -41,10 +41,5 @@
<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/update.php b/core/templates/update.php
index c9f3144f257..ae714dcfb92 100644
--- a/core/templates/update.php
+++ b/core/templates/update.php
@@ -3,29 +3,3 @@
<?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/l10n/ar/core.po b/l10n/ar/core.po
index c1497f76a41..f4bc70a8a77 100644
--- a/l10n/ar/core.po
+++ b/l10n/ar/core.po
@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-01-15 00:03+0100\n"
-"PO-Revision-Date: 2013-01-14 23:03+0000\n"
+"POT-Creation-Date: 2013-01-29 00:04+0100\n"
+"PO-Revision-Date: 2013-01-28 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"
@@ -81,59 +81,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:32
+msgid "Sunday"
+msgstr "الاحد"
+
+#: js/config.php:32
+msgid "Monday"
+msgstr "الأثنين"
+
+#: js/config.php:32
+msgid "Tuesday"
+msgstr "الثلاثاء"
+
+#: js/config.php:32
+msgid "Wednesday"
+msgstr "الاربعاء"
+
+#: js/config.php:32
+msgid "Thursday"
+msgstr "الخميس"
+
+#: js/config.php:32
+msgid "Friday"
+msgstr "الجمعه"
+
+#: js/config.php:32
+msgid "Saturday"
+msgstr "السبت"
+
+#: js/config.php:33
+msgid "January"
+msgstr "كانون الثاني"
+
+#: js/config.php:33
+msgid "February"
+msgstr "شباط"
+
+#: js/config.php:33
+msgid "March"
+msgstr "آذار"
+
+#: js/config.php:33
+msgid "April"
+msgstr "نيسان"
+
+#: js/config.php:33
+msgid "May"
+msgstr "أيار"
+
+#: js/config.php:33
+msgid "June"
+msgstr "حزيران"
+
+#: js/config.php:33
+msgid "July"
+msgstr "تموز"
+
+#: js/config.php:33
+msgid "August"
+msgstr "آب"
+
+#: js/config.php:33
+msgid "September"
+msgstr "أيلول"
+
+#: js/config.php:33
+msgid "October"
+msgstr "تشرين الاول"
+
+#: js/config.php:33
+msgid "November"
+msgstr "تشرين الثاني"
+
+#: js/config.php:33
+msgid "December"
+msgstr "كانون الاول"
+
+#: js/js.js:280 templates/layout.user.php:47 templates/layout.user.php:48
msgid "Settings"
msgstr "تعديلات"
-#: js/js.js:711
+#: js/js.js:762
msgid "seconds ago"
msgstr "منذ ثواني"
-#: js/js.js:712
+#: js/js.js:763
msgid "1 minute ago"
msgstr "منذ دقيقة"
-#: js/js.js:713
+#: js/js.js:764
msgid "{minutes} minutes ago"
msgstr "{minutes} منذ دقائق"
-#: js/js.js:714
+#: js/js.js:765
msgid "1 hour ago"
msgstr ""
-#: js/js.js:715
+#: js/js.js:766
msgid "{hours} hours ago"
msgstr ""
-#: js/js.js:716
+#: js/js.js:767
msgid "today"
msgstr "اليوم"
-#: js/js.js:717
+#: js/js.js:768
msgid "yesterday"
msgstr ""
-#: js/js.js:718
+#: js/js.js:769
msgid "{days} days ago"
msgstr ""
-#: js/js.js:719
+#: js/js.js:770
msgid "last month"
msgstr ""
-#: js/js.js:720
+#: js/js.js:771
msgid "{months} months ago"
msgstr ""
-#: js/js.js:721
+#: js/js.js:772
msgid "months ago"
msgstr ""
-#: js/js.js:722
+#: js/js.js:773
msgid "last year"
msgstr ""
-#: js/js.js:723
+#: js/js.js:774
msgid "years ago"
msgstr ""
@@ -292,6 +368,17 @@ msgstr ""
msgid "Email sent"
msgstr ""
+#: js/update.js:14
+msgid ""
+"The update was unsuccessful. Please report this issue to the <a "
+"href=\"https://github.com/owncloud/core/issues\" target=\"_blank\">ownCloud "
+"community</a>."
+msgstr ""
+
+#: js/update.js:18
+msgid "The update was successful. Redirecting you to ownCloud now."
+msgstr ""
+
#: lostpassword/controller.php:47
msgid "ownCloud password reset"
msgstr "إعادة تعيين كلمة سر ownCloud"
@@ -443,87 +530,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:34
msgid "web services under your control"
msgstr "خدمات الوب تحت تصرÙÙƒ"
-#: templates/layout.user.php:45
+#: templates/layout.user.php:32
msgid "Log out"
msgstr "الخروج"
diff --git a/l10n/ar/files.po b/l10n/ar/files.po
index 121094a24f7..7063715d2f0 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: 2013-01-20 00:05+0100\n"
-"PO-Revision-Date: 2013-01-19 23:05+0000\n"
+"POT-Creation-Date: 2013-01-27 00:04+0100\n"
+"PO-Revision-Date: 2013-01-26 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,11 +18,6 @@ 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"
@@ -37,46 +32,46 @@ msgstr ""
msgid "Unable to rename file"
msgstr ""
-#: ajax/upload.php:20
+#: ajax/upload.php:17
msgid "No file was uploaded. Unknown error"
msgstr ""
-#: ajax/upload.php:30
+#: ajax/upload.php:24
msgid "There is no error, the file uploaded with success"
msgstr "تم ترÙيع الملÙات بنجاح."
-#: ajax/upload.php:31
+#: ajax/upload.php:25
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr ""
-#: ajax/upload.php:33
+#: ajax/upload.php:27
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:35
+#: ajax/upload.php:29
msgid "The uploaded file was only partially uploaded"
msgstr "تم ترÙيع جزء من الملÙات الذي تريد ترÙيعها Ùقط"
-#: ajax/upload.php:36
+#: ajax/upload.php:30
msgid "No file was uploaded"
msgstr "لم يتم ترÙيع أي من الملÙات"
-#: ajax/upload.php:37
+#: ajax/upload.php:31
msgid "Missing a temporary folder"
msgstr "المجلد المؤقت غير موجود"
-#: ajax/upload.php:38
+#: ajax/upload.php:32
msgid "Failed to write to disk"
msgstr ""
-#: ajax/upload.php:57
-msgid "Not enough space available"
+#: ajax/upload.php:48
+msgid "Not enough storage available"
msgstr ""
-#: ajax/upload.php:91
+#: ajax/upload.php:77
msgid "Invalid directory."
msgstr ""
@@ -84,11 +79,11 @@ msgstr ""
msgid "Files"
msgstr "الملÙات"
-#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
+#: js/fileactions.js:117 templates/index.php:81 templates/index.php:82
msgid "Unshare"
msgstr "إلغاء مشاركة"
-#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
+#: js/fileactions.js:119 templates/index.php:87 templates/index.php:88
msgid "Delete"
msgstr "محذوÙ"
@@ -96,139 +91,151 @@ msgstr "محذوÙ"
msgid "Rename"
msgstr ""
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "{new_name} already exists"
msgstr ""
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "replace"
msgstr ""
-#: js/filelist.js:205
+#: js/filelist.js:208
msgid "suggest name"
msgstr ""
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "cancel"
msgstr ""
-#: js/filelist.js:254
+#: js/filelist.js:253
msgid "replaced {new_name}"
msgstr ""
-#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
+#: js/filelist.js:253 js/filelist.js:255 js/filelist.js:286 js/filelist.js:288
msgid "undo"
msgstr ""
-#: js/filelist.js:256
+#: js/filelist.js:255
msgid "replaced {new_name} with {old_name}"
msgstr ""
-#: js/filelist.js:288
+#: js/filelist.js:286
msgid "unshared {files}"
msgstr ""
-#: js/filelist.js:290
+#: js/filelist.js:288
msgid "deleted {files}"
msgstr ""
-#: js/files.js:48
+#: js/files.js:52
msgid "'.' is an invalid file name."
msgstr ""
-#: js/files.js:53
+#: js/files.js:56
msgid "File name cannot be empty."
msgstr ""
-#: js/files.js:62
+#: js/files.js:64
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr ""
-#: js/files.js:204
+#: js/files.js:78
+msgid "Your storage is full, files can not be updated or synced anymore!"
+msgstr ""
+
+#: js/files.js:82
+msgid "Your storage is almost full ({usedSpacePercent}%)"
+msgstr ""
+
+#: js/files.js:219
msgid ""
"Your download is being prepared. This might take some time if the files are "
"big."
msgstr ""
-#: js/files.js:242
+#: js/files.js:256
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr ""
-#: js/files.js:242
+#: js/files.js:256
msgid "Upload Error"
msgstr ""
-#: js/files.js:259
+#: js/files.js:273
msgid "Close"
msgstr "إغلق"
-#: js/files.js:278 js/files.js:397 js/files.js:431
+#: js/files.js:292 js/files.js:408 js/files.js:439
msgid "Pending"
msgstr ""
-#: js/files.js:298
+#: js/files.js:312
msgid "1 file uploading"
msgstr ""
-#: js/files.js:301 js/files.js:357 js/files.js:372
+#: js/files.js:315 js/files.js:370 js/files.js:385
msgid "{count} files uploading"
msgstr ""
-#: js/files.js:376 js/files.js:414
+#: js/files.js:388 js/files.js:423
msgid "Upload cancelled."
msgstr ""
-#: js/files.js:486
+#: js/files.js:493
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr ""
-#: js/files.js:559
+#: js/files.js:566
msgid "URL cannot be empty."
msgstr ""
-#: js/files.js:565
+#: js/files.js:571
msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
msgstr ""
-#: js/files.js:775
+#: js/files.js:784
msgid "{count} files scanned"
msgstr ""
-#: js/files.js:783
+#: js/files.js:792
msgid "error while scanning"
msgstr ""
-#: js/files.js:857 templates/index.php:64
+#: js/files.js:866 templates/index.php:63
msgid "Name"
msgstr "الاسم"
-#: js/files.js:858 templates/index.php:75
+#: js/files.js:867 templates/index.php:74
msgid "Size"
msgstr "حجم"
-#: js/files.js:859 templates/index.php:77
+#: js/files.js:868 templates/index.php:76
msgid "Modified"
msgstr "معدل"
-#: js/files.js:878
+#: js/files.js:887
msgid "1 folder"
msgstr ""
-#: js/files.js:880
+#: js/files.js:889
msgid "{count} folders"
msgstr ""
-#: js/files.js:888
+#: js/files.js:897
msgid "1 file"
msgstr ""
-#: js/files.js:890
+#: js/files.js:899
msgid "{count} files"
msgstr ""
+#: lib/helper.php:11 templates/index.php:18
+msgid "Upload"
+msgstr "إرÙع"
+
#: templates/admin.php:5
msgid "File handling"
msgstr ""
@@ -281,28 +288,28 @@ msgstr ""
msgid "Cancel upload"
msgstr ""
-#: templates/index.php:56
+#: templates/index.php:55
msgid "Nothing in here. Upload something!"
msgstr "لا يوجد شيء هنا. إرÙع بعض الملÙات!"
-#: templates/index.php:70
+#: templates/index.php:69
msgid "Download"
msgstr "تحميل"
-#: templates/index.php:102
+#: templates/index.php:101
msgid "Upload too large"
msgstr "حجم الترÙيع أعلى من المسموح"
-#: templates/index.php:104
+#: templates/index.php:103
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "حجم الملÙات التي تريد ترÙيعها أعلى من المسموح على الخادم."
-#: templates/index.php:109
+#: templates/index.php:108
msgid "Files are being scanned, please wait."
msgstr ""
-#: templates/index.php:112
+#: templates/index.php:111
msgid "Current scanning"
msgstr ""
diff --git a/l10n/bg_BG/core.po b/l10n/bg_BG/core.po
index a4addcd1355..89887ec847f 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: 2013-01-15 00:03+0100\n"
-"PO-Revision-Date: 2013-01-14 23:03+0000\n"
+"POT-Creation-Date: 2013-01-29 00:04+0100\n"
+"PO-Revision-Date: 2013-01-28 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"
@@ -83,59 +83,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:32
+msgid "Sunday"
+msgstr ""
+
+#: js/config.php:32
+msgid "Monday"
+msgstr ""
+
+#: js/config.php:32
+msgid "Tuesday"
+msgstr ""
+
+#: js/config.php:32
+msgid "Wednesday"
+msgstr ""
+
+#: js/config.php:32
+msgid "Thursday"
+msgstr ""
+
+#: js/config.php:32
+msgid "Friday"
+msgstr ""
+
+#: js/config.php:32
+msgid "Saturday"
+msgstr ""
+
+#: js/config.php:33
+msgid "January"
+msgstr ""
+
+#: js/config.php:33
+msgid "February"
+msgstr ""
+
+#: js/config.php:33
+msgid "March"
+msgstr ""
+
+#: js/config.php:33
+msgid "April"
+msgstr ""
+
+#: js/config.php:33
+msgid "May"
+msgstr ""
+
+#: js/config.php:33
+msgid "June"
+msgstr ""
+
+#: js/config.php:33
+msgid "July"
+msgstr ""
+
+#: js/config.php:33
+msgid "August"
+msgstr ""
+
+#: js/config.php:33
+msgid "September"
+msgstr ""
+
+#: js/config.php:33
+msgid "October"
+msgstr ""
+
+#: js/config.php:33
+msgid "November"
+msgstr ""
+
+#: js/config.php:33
+msgid "December"
+msgstr ""
+
+#: js/js.js:280 templates/layout.user.php:47 templates/layout.user.php:48
msgid "Settings"
msgstr "ÐаÑтройки"
-#: js/js.js:711
+#: js/js.js:762
msgid "seconds ago"
msgstr "преди Ñекунди"
-#: js/js.js:712
+#: js/js.js:763
msgid "1 minute ago"
msgstr "преди 1 минута"
-#: js/js.js:713
+#: js/js.js:764
msgid "{minutes} minutes ago"
msgstr ""
-#: js/js.js:714
+#: js/js.js:765
msgid "1 hour ago"
msgstr "преди 1 чаÑ"
-#: js/js.js:715
+#: js/js.js:766
msgid "{hours} hours ago"
msgstr ""
-#: js/js.js:716
+#: js/js.js:767
msgid "today"
msgstr "днеÑ"
-#: js/js.js:717
+#: js/js.js:768
msgid "yesterday"
msgstr "вчера"
-#: js/js.js:718
+#: js/js.js:769
msgid "{days} days ago"
msgstr ""
-#: js/js.js:719
+#: js/js.js:770
msgid "last month"
msgstr "поÑледниÑÑ‚ меÑец"
-#: js/js.js:720
+#: js/js.js:771
msgid "{months} months ago"
msgstr ""
-#: js/js.js:721
+#: js/js.js:772
msgid "months ago"
msgstr ""
-#: js/js.js:722
+#: js/js.js:773
msgid "last year"
msgstr "поÑледната година"
-#: js/js.js:723
+#: js/js.js:774
msgid "years ago"
msgstr "поÑледните години"
@@ -168,7 +244,7 @@ msgstr ""
#: 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."
@@ -294,6 +370,17 @@ msgstr ""
msgid "Email sent"
msgstr ""
+#: js/update.js:14
+msgid ""
+"The update was unsuccessful. Please report this issue to the <a "
+"href=\"https://github.com/owncloud/core/issues\" target=\"_blank\">ownCloud "
+"community</a>."
+msgstr ""
+
+#: js/update.js:18
+msgid "The update was successful. Redirecting you to ownCloud now."
+msgstr ""
+
#: lostpassword/controller.php:47
msgid "ownCloud password reset"
msgstr ""
@@ -445,87 +532,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:34
msgid "web services under your control"
msgstr "уеб уÑлуги под Ваш контрол"
-#: templates/layout.user.php:45
+#: templates/layout.user.php:32
msgid "Log out"
msgstr ""
diff --git a/l10n/bg_BG/files.po b/l10n/bg_BG/files.po
index 9907862b6a1..2de8fabb143 100644
--- a/l10n/bg_BG/files.po
+++ b/l10n/bg_BG/files.po
@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-01-20 00:05+0100\n"
-"PO-Revision-Date: 2013-01-19 23:05+0000\n"
+"POT-Creation-Date: 2013-01-27 00:04+0100\n"
+"PO-Revision-Date: 2013-01-26 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,11 +19,6 @@ 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"
@@ -38,46 +33,46 @@ msgstr ""
msgid "Unable to rename file"
msgstr ""
-#: ajax/upload.php:20
+#: ajax/upload.php:17
msgid "No file was uploaded. Unknown error"
msgstr ""
-#: ajax/upload.php:30
+#: ajax/upload.php:24
msgid "There is no error, the file uploaded with success"
msgstr ""
-#: ajax/upload.php:31
+#: ajax/upload.php:25
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr ""
-#: ajax/upload.php:33
+#: ajax/upload.php:27
msgid ""
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
"the HTML form"
msgstr ""
-#: ajax/upload.php:35
+#: ajax/upload.php:29
msgid "The uploaded file was only partially uploaded"
msgstr ""
-#: ajax/upload.php:36
+#: ajax/upload.php:30
msgid "No file was uploaded"
msgstr ""
-#: ajax/upload.php:37
+#: ajax/upload.php:31
msgid "Missing a temporary folder"
msgstr "ЛипÑва временна папка"
-#: ajax/upload.php:38
+#: ajax/upload.php:32
msgid "Failed to write to disk"
msgstr ""
-#: ajax/upload.php:57
-msgid "Not enough space available"
+#: ajax/upload.php:48
+msgid "Not enough storage available"
msgstr ""
-#: ajax/upload.php:91
+#: ajax/upload.php:77
msgid "Invalid directory."
msgstr ""
@@ -85,11 +80,11 @@ msgstr ""
msgid "Files"
msgstr "Файлове"
-#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
+#: js/fileactions.js:117 templates/index.php:81 templates/index.php:82
msgid "Unshare"
msgstr ""
-#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
+#: js/fileactions.js:119 templates/index.php:87 templates/index.php:88
msgid "Delete"
msgstr "Изтриване"
@@ -97,139 +92,151 @@ msgstr "Изтриване"
msgid "Rename"
msgstr "Преименуване"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "{new_name} already exists"
msgstr ""
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "replace"
msgstr "препокриване"
-#: js/filelist.js:205
+#: js/filelist.js:208
msgid "suggest name"
msgstr ""
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "cancel"
msgstr "отказ"
-#: js/filelist.js:254
+#: js/filelist.js:253
msgid "replaced {new_name}"
msgstr ""
-#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
+#: js/filelist.js:253 js/filelist.js:255 js/filelist.js:286 js/filelist.js:288
msgid "undo"
msgstr "възтановÑване"
-#: js/filelist.js:256
+#: js/filelist.js:255
msgid "replaced {new_name} with {old_name}"
msgstr ""
-#: js/filelist.js:288
+#: js/filelist.js:286
msgid "unshared {files}"
msgstr ""
-#: js/filelist.js:290
+#: js/filelist.js:288
msgid "deleted {files}"
msgstr ""
-#: js/files.js:48
+#: js/files.js:52
msgid "'.' is an invalid file name."
msgstr ""
-#: js/files.js:53
+#: js/files.js:56
msgid "File name cannot be empty."
msgstr ""
-#: js/files.js:62
+#: js/files.js:64
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr ""
-#: js/files.js:204
+#: js/files.js:78
+msgid "Your storage is full, files can not be updated or synced anymore!"
+msgstr ""
+
+#: js/files.js:82
+msgid "Your storage is almost full ({usedSpacePercent}%)"
+msgstr ""
+
+#: js/files.js:219
msgid ""
"Your download is being prepared. This might take some time if the files are "
"big."
msgstr ""
-#: js/files.js:242
+#: js/files.js:256
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr ""
-#: js/files.js:242
+#: js/files.js:256
msgid "Upload Error"
msgstr ""
-#: js/files.js:259
+#: js/files.js:273
msgid "Close"
msgstr ""
-#: js/files.js:278 js/files.js:397 js/files.js:431
+#: js/files.js:292 js/files.js:408 js/files.js:439
msgid "Pending"
msgstr ""
-#: js/files.js:298
+#: js/files.js:312
msgid "1 file uploading"
msgstr ""
-#: js/files.js:301 js/files.js:357 js/files.js:372
+#: js/files.js:315 js/files.js:370 js/files.js:385
msgid "{count} files uploading"
msgstr ""
-#: js/files.js:376 js/files.js:414
+#: js/files.js:388 js/files.js:423
msgid "Upload cancelled."
msgstr "Качването е ÑпрÑно."
-#: js/files.js:486
+#: js/files.js:493
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr ""
-#: js/files.js:559
+#: js/files.js:566
msgid "URL cannot be empty."
msgstr ""
-#: js/files.js:565
+#: js/files.js:571
msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
msgstr ""
-#: js/files.js:775
+#: js/files.js:784
msgid "{count} files scanned"
msgstr ""
-#: js/files.js:783
+#: js/files.js:792
msgid "error while scanning"
msgstr ""
-#: js/files.js:857 templates/index.php:64
+#: js/files.js:866 templates/index.php:63
msgid "Name"
msgstr "Име"
-#: js/files.js:858 templates/index.php:75
+#: js/files.js:867 templates/index.php:74
msgid "Size"
msgstr "Размер"
-#: js/files.js:859 templates/index.php:77
+#: js/files.js:868 templates/index.php:76
msgid "Modified"
msgstr "Променено"
-#: js/files.js:878
+#: js/files.js:887
msgid "1 folder"
msgstr ""
-#: js/files.js:880
+#: js/files.js:889
msgid "{count} folders"
msgstr ""
-#: js/files.js:888
+#: js/files.js:897
msgid "1 file"
msgstr ""
-#: js/files.js:890
+#: js/files.js:899
msgid "{count} files"
msgstr ""
+#: lib/helper.php:11 templates/index.php:18
+msgid "Upload"
+msgstr "Качване"
+
#: templates/admin.php:5
msgid "File handling"
msgstr ""
@@ -282,28 +289,28 @@ msgstr ""
msgid "Cancel upload"
msgstr ""
-#: templates/index.php:56
+#: templates/index.php:55
msgid "Nothing in here. Upload something!"
msgstr "ÐÑма нищо тук. Качете нещо."
-#: templates/index.php:70
+#: templates/index.php:69
msgid "Download"
msgstr "ИзтеглÑне"
-#: templates/index.php:102
+#: templates/index.php:101
msgid "Upload too large"
msgstr "Файлът който Ñте избрали за качване е прекалено голÑм"
-#: templates/index.php:104
+#: templates/index.php:103
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr ""
-#: templates/index.php:109
+#: templates/index.php:108
msgid "Files are being scanned, please wait."
msgstr ""
-#: templates/index.php:112
+#: templates/index.php:111
msgid "Current scanning"
msgstr ""
diff --git a/l10n/bn_BD/core.po b/l10n/bn_BD/core.po
index 8c24eb72e22..b2c45cf075d 100644
--- a/l10n/bn_BD/core.po
+++ b/l10n/bn_BD/core.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-01-15 00:03+0100\n"
-"PO-Revision-Date: 2013-01-14 23:03+0000\n"
+"POT-Creation-Date: 2013-01-29 00:04+0100\n"
+"PO-Revision-Date: 2013-01-28 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"
@@ -80,59 +80,135 @@ msgstr "মà§à¦›à§‡ ফেলার জনà§à¦¯ কোন কà§à¦¯à¦¾à¦Ÿà§‡à¦
msgid "Error removing %s from favorites."
msgstr "পà§à¦°à¦¿à§Ÿ থেকে %s সরিয়ে ফেলতে সমসà§à¦¯à¦¾ দেখা দিয়েছে।"
-#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61
+#: js/config.php:32
+msgid "Sunday"
+msgstr "রবিবার"
+
+#: js/config.php:32
+msgid "Monday"
+msgstr "সোমবার"
+
+#: js/config.php:32
+msgid "Tuesday"
+msgstr "মঙà§à¦—লবার"
+
+#: js/config.php:32
+msgid "Wednesday"
+msgstr "বà§à¦§à¦¬à¦¾à¦°"
+
+#: js/config.php:32
+msgid "Thursday"
+msgstr "বৃহষà§à¦ªà¦¤à¦¿à¦¬à¦¾à¦°"
+
+#: js/config.php:32
+msgid "Friday"
+msgstr "শà§à¦•à§à¦°à¦¬à¦¾à¦°"
+
+#: js/config.php:32
+msgid "Saturday"
+msgstr "শনিবার"
+
+#: js/config.php:33
+msgid "January"
+msgstr "জানà§à§Ÿà¦¾à¦°à¦¿"
+
+#: js/config.php:33
+msgid "February"
+msgstr "ফেবà§à¦°à§à§Ÿà¦¾à¦°à¦¿"
+
+#: js/config.php:33
+msgid "March"
+msgstr "মারà§à¦š"
+
+#: js/config.php:33
+msgid "April"
+msgstr "à¦à¦ªà§à¦°à¦¿à¦²"
+
+#: js/config.php:33
+msgid "May"
+msgstr "মে"
+
+#: js/config.php:33
+msgid "June"
+msgstr "জà§à¦¨"
+
+#: js/config.php:33
+msgid "July"
+msgstr "জà§à¦²à¦¾à¦‡"
+
+#: js/config.php:33
+msgid "August"
+msgstr "অগাষà§à¦Ÿ"
+
+#: js/config.php:33
+msgid "September"
+msgstr "সেপà§à¦Ÿà§‡à¦®à§à¦¬à¦°"
+
+#: js/config.php:33
+msgid "October"
+msgstr "অকà§à¦Ÿà§‹à¦¬à¦°"
+
+#: js/config.php:33
+msgid "November"
+msgstr "নভেমà§à¦¬à¦°"
+
+#: js/config.php:33
+msgid "December"
+msgstr "ডিসেমà§à¦¬à¦°"
+
+#: js/js.js:280 templates/layout.user.php:47 templates/layout.user.php:48
msgid "Settings"
msgstr "নিয়ামকসমূহ"
-#: js/js.js:711
+#: js/js.js:762
msgid "seconds ago"
msgstr "সেকেনà§à¦¡ পূরà§à¦¬à§‡"
-#: js/js.js:712
+#: js/js.js:763
msgid "1 minute ago"
msgstr "1 মিনিট পূরà§à¦¬à§‡"
-#: js/js.js:713
+#: js/js.js:764
msgid "{minutes} minutes ago"
msgstr "{minutes} মিনিট পূরà§à¦¬à§‡"
-#: js/js.js:714
+#: js/js.js:765
msgid "1 hour ago"
msgstr "1 ঘনà§à¦Ÿà¦¾ পূরà§à¦¬à§‡"
-#: js/js.js:715
+#: js/js.js:766
msgid "{hours} hours ago"
msgstr "{hours} ঘনà§à¦Ÿà¦¾ পূরà§à¦¬à§‡"
-#: js/js.js:716
+#: js/js.js:767
msgid "today"
msgstr "আজ"
-#: js/js.js:717
+#: js/js.js:768
msgid "yesterday"
msgstr "গতকাল"
-#: js/js.js:718
+#: js/js.js:769
msgid "{days} days ago"
msgstr "{days} দিন পূরà§à¦¬à§‡"
-#: js/js.js:719
+#: js/js.js:770
msgid "last month"
msgstr "গতমাস"
-#: js/js.js:720
+#: js/js.js:771
msgid "{months} months ago"
msgstr "{months} মাস পূরà§à¦¬à§‡"
-#: js/js.js:721
+#: js/js.js:772
msgid "months ago"
msgstr "মাস পূরà§à¦¬à§‡"
-#: js/js.js:722
+#: js/js.js:773
msgid "last year"
msgstr "গত বছর"
-#: js/js.js:723
+#: js/js.js:774
msgid "years ago"
msgstr "বছর পূরà§à¦¬à§‡"
@@ -291,6 +367,17 @@ msgstr "পাঠানো হচà§à¦›à§‡......"
msgid "Email sent"
msgstr "ই-মেইল পাঠানো হয়েছে"
+#: js/update.js:14
+msgid ""
+"The update was unsuccessful. Please report this issue to the <a "
+"href=\"https://github.com/owncloud/core/issues\" target=\"_blank\">ownCloud "
+"community</a>."
+msgstr ""
+
+#: js/update.js:18
+msgid "The update was successful. Redirecting you to ownCloud now."
+msgstr ""
+
#: lostpassword/controller.php:47
msgid "ownCloud password reset"
msgstr "ownCloud কূটশবà§à¦¦ পূনঃনিরà§à¦§à¦¾à¦°à¦£"
@@ -442,87 +529,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:34
msgid "web services under your control"
msgstr "ওয়েব সারà§à¦­à¦¿à¦¸à§‡à¦° নিয়নà§à¦¤à§à¦°à¦£ আপনার হাতের মà§à¦ à§‹à§Ÿ"
-#: templates/layout.user.php:45
+#: templates/layout.user.php:32
msgid "Log out"
msgstr "পà§à¦°à¦¸à§à¦¥à¦¾à¦¨"
diff --git a/l10n/bn_BD/files.po b/l10n/bn_BD/files.po
index ad10526f601..5d15b8d5bad 100644
--- a/l10n/bn_BD/files.po
+++ b/l10n/bn_BD/files.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-01-20 00:05+0100\n"
-"PO-Revision-Date: 2013-01-19 23:05+0000\n"
+"POT-Creation-Date: 2013-01-27 00:04+0100\n"
+"PO-Revision-Date: 2013-01-26 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"
@@ -18,11 +18,6 @@ msgstr ""
"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"
@@ -37,46 +32,46 @@ msgstr "%s কে সà§à¦¥à¦¾à¦¨à¦¾à¦¨à§à¦¤à¦° করা সমà§à¦­à¦¬ হà
msgid "Unable to rename file"
msgstr "ফাইলের নাম পরিবরà§à¦¤à¦¨ করা সমà§à¦­à¦¬ হলো না"
-#: ajax/upload.php:20
+#: ajax/upload.php:17
msgid "No file was uploaded. Unknown error"
msgstr "কোন ফাইল আপলোড করা হয় নি। সমসà§à¦¯à¦¾ অজà§à¦žà¦¾à¦¤à¥¤"
-#: ajax/upload.php:30
+#: ajax/upload.php:24
msgid "There is no error, the file uploaded with success"
msgstr "কোন সমসà§à¦¯à¦¾ নেই, ফাইল আপলোড সà§à¦¸à¦®à§à¦ªà¦¨à§à¦¨ হয়েছে"
-#: ajax/upload.php:31
+#: ajax/upload.php:25
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr "আপলোড করা ফাইলটি php.ini তে বরà§à¦£à¦¿à¦¤ upload_max_filesize নিরà§à¦¦à§‡à¦¶à¦¿à¦¤ আয়তন অতিকà§à¦°à¦® করছেঃ"
-#: ajax/upload.php:33
+#: ajax/upload.php:27
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
+#: ajax/upload.php:29
msgid "The uploaded file was only partially uploaded"
msgstr "আপলোড করা ফাইলটি আংশিক আপলোড করা হয়েছে"
-#: ajax/upload.php:36
+#: ajax/upload.php:30
msgid "No file was uploaded"
msgstr "কোন ফাইল আপলোড করা হয় নি"
-#: ajax/upload.php:37
+#: ajax/upload.php:31
msgid "Missing a temporary folder"
msgstr "অসà§à¦¥à¦¾à§Ÿà§€ ফোলà§à¦¡à¦¾à¦° খোয়া গিয়েছে"
-#: ajax/upload.php:38
+#: ajax/upload.php:32
msgid "Failed to write to disk"
msgstr "ডিসà§à¦•à§‡ লিখতে বà§à¦¯à¦°à§à¦¥"
-#: ajax/upload.php:57
-msgid "Not enough space available"
-msgstr "যথেষà§à¦  পরিমাণ সà§à¦¥à¦¾à¦¨ নেই"
+#: ajax/upload.php:48
+msgid "Not enough storage available"
+msgstr ""
-#: ajax/upload.php:91
+#: ajax/upload.php:77
msgid "Invalid directory."
msgstr "ভà§à¦² ডিরেকà§à¦Ÿà¦°à¦¿"
@@ -84,11 +79,11 @@ msgstr "ভà§à¦² ডিরেকà§à¦Ÿà¦°à¦¿"
msgid "Files"
msgstr "ফাইল"
-#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
+#: js/fileactions.js:117 templates/index.php:81 templates/index.php:82
msgid "Unshare"
msgstr "ভাগাভাগি বাতিল "
-#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
+#: js/fileactions.js:119 templates/index.php:87 templates/index.php:88
msgid "Delete"
msgstr "মà§à¦›à§‡ ফেল"
@@ -96,139 +91,151 @@ msgstr "মà§à¦›à§‡ ফেল"
msgid "Rename"
msgstr "পূনঃনামকরণ"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "{new_name} already exists"
msgstr "{new_name} টি বিদà§à¦¯à¦®à¦¾à¦¨"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "replace"
msgstr "পà§à¦°à¦¤à¦¿à¦¸à§à¦¥à¦¾à¦ªà¦¨"
-#: js/filelist.js:205
+#: js/filelist.js:208
msgid "suggest name"
msgstr "নাম সà§à¦ªà¦¾à¦°à¦¿à¦¶ করà§à¦¨"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "cancel"
msgstr "বাতিল"
-#: js/filelist.js:254
+#: js/filelist.js:253
msgid "replaced {new_name}"
msgstr "{new_name} পà§à¦°à¦¤à¦¿à¦¸à§à¦¥à¦¾à¦ªà¦¨ করা হয়েছে"
-#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
+#: js/filelist.js:253 js/filelist.js:255 js/filelist.js:286 js/filelist.js:288
msgid "undo"
msgstr "কà§à¦°à¦¿à§Ÿà¦¾ পà§à¦°à¦¤à§à¦¯à¦¾à¦¹à¦¾à¦°"
-#: js/filelist.js:256
+#: js/filelist.js:255
msgid "replaced {new_name} with {old_name}"
msgstr "{new_name} কে {old_name} নামে পà§à¦°à¦¤à¦¿à¦¸à§à¦¥à¦¾à¦ªà¦¨ করা হয়েছে"
-#: js/filelist.js:288
+#: js/filelist.js:286
msgid "unshared {files}"
msgstr "{files} ভাগাভাগি বাতিল কর"
-#: js/filelist.js:290
+#: js/filelist.js:288
msgid "deleted {files}"
msgstr "{files} মà§à¦›à§‡ ফেলা হয়েছে"
-#: js/files.js:48
+#: js/files.js:52
msgid "'.' is an invalid file name."
msgstr "টি à¦à¦•à¦Ÿà¦¿ অননà§à¦®à§‹à¦¦à¦¿à¦¤ নাম।"
-#: js/files.js:53
+#: js/files.js:56
msgid "File name cannot be empty."
msgstr "ফাইলের নামটি ফাà¦à¦•à¦¾ রাখা যাবে না।"
-#: js/files.js:62
+#: js/files.js:64
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr "নামটি সঠিক নয়, '\\', '/', '<', '>', ':', '\"', '|', '?' à¦à¦¬à¦‚ '*' অনà§à¦®à§‹à¦¦à¦¿à¦¤ নয়।"
-#: js/files.js:204
+#: js/files.js:78
+msgid "Your storage is full, files can not be updated or synced anymore!"
+msgstr ""
+
+#: js/files.js:82
+msgid "Your storage is almost full ({usedSpacePercent}%)"
+msgstr ""
+
+#: js/files.js:219
msgid ""
"Your download is being prepared. This might take some time if the files are "
"big."
msgstr ""
-#: js/files.js:242
+#: js/files.js:256
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr "আপনার ফাইলটি আপলোড করা সমà§à¦­à¦¬ হলো না, কেননা à¦à¦Ÿà¦¿ হয় à¦à¦•à¦Ÿà¦¿ ফোলà§à¦¡à¦¾à¦° কিংবা à¦à¦° আকার ০ বাইট"
-#: js/files.js:242
+#: js/files.js:256
msgid "Upload Error"
msgstr "আপলোড করতে সমসà§à¦¯à¦¾ "
-#: js/files.js:259
+#: js/files.js:273
msgid "Close"
msgstr "বনà§à¦§"
-#: js/files.js:278 js/files.js:397 js/files.js:431
+#: js/files.js:292 js/files.js:408 js/files.js:439
msgid "Pending"
msgstr "মà§à¦²à¦¤à§à¦¬à¦¿"
-#: js/files.js:298
+#: js/files.js:312
msgid "1 file uploading"
msgstr "১টি ফাইল আপলোড করা হচà§à¦›à§‡"
-#: js/files.js:301 js/files.js:357 js/files.js:372
+#: js/files.js:315 js/files.js:370 js/files.js:385
msgid "{count} files uploading"
msgstr "{count} টি ফাইল আপলোড করা হচà§à¦›à§‡"
-#: js/files.js:376 js/files.js:414
+#: js/files.js:388 js/files.js:423
msgid "Upload cancelled."
msgstr "আপলোড বাতিল করা হয়েছে।"
-#: js/files.js:486
+#: js/files.js:493
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr "ফাইল আপলোড চলমান। à¦à¦‡ পৃষà§à¦ à¦¾ পরিতà§à¦¯à¦¾à¦— করলে আপলোড বাতিল করা হবে।"
-#: js/files.js:559
+#: js/files.js:566
msgid "URL cannot be empty."
msgstr "URL ফাà¦à¦•à¦¾ রাখা যাবে না।"
-#: js/files.js:565
+#: js/files.js:571
msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
msgstr "ফোলà§à¦¡à¦¾à¦°à§‡à¦° নামটি সঠিক নয়। 'ভাগাভাগি করা' শà§à¦§à§à¦®à¦¾à¦¤à§à¦° Owncloud à¦à¦° জনà§à¦¯ সংরকà§à¦·à¦¿à¦¤à¥¤"
-#: js/files.js:775
+#: js/files.js:784
msgid "{count} files scanned"
msgstr "{count} টি ফাইল সà§à¦•à§à¦¯à¦¾à¦¨ করা হয়েছে"
-#: js/files.js:783
+#: js/files.js:792
msgid "error while scanning"
msgstr "সà§à¦•à§à¦¯à¦¾à¦¨ করার সময় সমসà§à¦¯à¦¾ দেখা দিয়েছে"
-#: js/files.js:857 templates/index.php:64
+#: js/files.js:866 templates/index.php:63
msgid "Name"
msgstr "নাম"
-#: js/files.js:858 templates/index.php:75
+#: js/files.js:867 templates/index.php:74
msgid "Size"
msgstr "আকার"
-#: js/files.js:859 templates/index.php:77
+#: js/files.js:868 templates/index.php:76
msgid "Modified"
msgstr "পরিবরà§à¦¤à¦¿à¦¤"
-#: js/files.js:878
+#: js/files.js:887
msgid "1 folder"
msgstr "১টি ফোলà§à¦¡à¦¾à¦°"
-#: js/files.js:880
+#: js/files.js:889
msgid "{count} folders"
msgstr "{count} টি ফোলà§à¦¡à¦¾à¦°"
-#: js/files.js:888
+#: js/files.js:897
msgid "1 file"
msgstr "১টি ফাইল"
-#: js/files.js:890
+#: js/files.js:899
msgid "{count} files"
msgstr "{count} টি ফাইল"
+#: lib/helper.php:11 templates/index.php:18
+msgid "Upload"
+msgstr "আপলোড"
+
#: templates/admin.php:5
msgid "File handling"
msgstr "ফাইল হà§à¦¯à¦¾à¦°à§à¦¡à¦²à¦¿à¦‚"
@@ -281,28 +288,28 @@ msgstr " লিংক থেকে"
msgid "Cancel upload"
msgstr "আপলোড বাতিল কর"
-#: templates/index.php:56
+#: templates/index.php:55
msgid "Nothing in here. Upload something!"
msgstr "à¦à¦–ানে কিছà§à¦‡ নেই। কিছৠআপলোড করà§à¦¨ !"
-#: templates/index.php:70
+#: templates/index.php:69
msgid "Download"
msgstr "ডাউনলোড"
-#: templates/index.php:102
+#: templates/index.php:101
msgid "Upload too large"
msgstr "আপলোডের আকারটি অনেক বড়"
-#: templates/index.php:104
+#: templates/index.php:103
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "আপনি à¦à¦‡ সারà§à¦­à¦¾à¦°à§‡ আপলোড করার জনà§à¦¯ অনà§à¦®à§‹à¦¦à¦¿à¦¤ ফাইলের সরà§à¦¬à§‹à¦šà§à¦š আকারের চেয়ে বৃহদাকার ফাইল আপলোড করার চেষà§à¦Ÿà¦¾ করছেন "
-#: templates/index.php:109
+#: templates/index.php:108
msgid "Files are being scanned, please wait."
msgstr "ফাইলগà§à¦²à§‹ সà§à¦•à§à¦¯à¦¾à¦¨ করা হচà§à¦›à§‡, দয়া করে অপেকà§à¦·à¦¾ করà§à¦¨à¥¤"
-#: templates/index.php:112
+#: templates/index.php:111
msgid "Current scanning"
msgstr "বরà§à¦¤à¦®à¦¾à¦¨ সà§à¦•à§à¦¯à¦¾à¦¨à¦¿à¦‚"
diff --git a/l10n/ca/core.po b/l10n/ca/core.po
index a9940eccf88..ef804fffc59 100644
--- a/l10n/ca/core.po
+++ b/l10n/ca/core.po
@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-01-15 00:03+0100\n"
-"PO-Revision-Date: 2013-01-14 23:03+0000\n"
+"POT-Creation-Date: 2013-01-29 00:04+0100\n"
+"PO-Revision-Date: 2013-01-28 23:05+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"
@@ -81,59 +81,135 @@ msgstr "No hi ha categories per eliminar."
msgid "Error removing %s from favorites."
msgstr "Error en eliminar %s dels preferits."
-#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61
+#: js/config.php:32
+msgid "Sunday"
+msgstr "Diumenge"
+
+#: js/config.php:32
+msgid "Monday"
+msgstr "Dilluns"
+
+#: js/config.php:32
+msgid "Tuesday"
+msgstr "Dimarts"
+
+#: js/config.php:32
+msgid "Wednesday"
+msgstr "Dimecres"
+
+#: js/config.php:32
+msgid "Thursday"
+msgstr "Dijous"
+
+#: js/config.php:32
+msgid "Friday"
+msgstr "Divendres"
+
+#: js/config.php:32
+msgid "Saturday"
+msgstr "Dissabte"
+
+#: js/config.php:33
+msgid "January"
+msgstr "Gener"
+
+#: js/config.php:33
+msgid "February"
+msgstr "Febrer"
+
+#: js/config.php:33
+msgid "March"
+msgstr "Març"
+
+#: js/config.php:33
+msgid "April"
+msgstr "Abril"
+
+#: js/config.php:33
+msgid "May"
+msgstr "Maig"
+
+#: js/config.php:33
+msgid "June"
+msgstr "Juny"
+
+#: js/config.php:33
+msgid "July"
+msgstr "Juliol"
+
+#: js/config.php:33
+msgid "August"
+msgstr "Agost"
+
+#: js/config.php:33
+msgid "September"
+msgstr "Setembre"
+
+#: js/config.php:33
+msgid "October"
+msgstr "Octubre"
+
+#: js/config.php:33
+msgid "November"
+msgstr "Novembre"
+
+#: js/config.php:33
+msgid "December"
+msgstr "Desembre"
+
+#: js/js.js:280 templates/layout.user.php:47 templates/layout.user.php:48
msgid "Settings"
msgstr "Arranjament"
-#: js/js.js:711
+#: js/js.js:762
msgid "seconds ago"
msgstr "segons enrere"
-#: js/js.js:712
+#: js/js.js:763
msgid "1 minute ago"
msgstr "fa 1 minut"
-#: js/js.js:713
+#: js/js.js:764
msgid "{minutes} minutes ago"
msgstr "fa {minutes} minuts"
-#: js/js.js:714
+#: js/js.js:765
msgid "1 hour ago"
msgstr "fa 1 hora"
-#: js/js.js:715
+#: js/js.js:766
msgid "{hours} hours ago"
msgstr "fa {hours} hores"
-#: js/js.js:716
+#: js/js.js:767
msgid "today"
msgstr "avui"
-#: js/js.js:717
+#: js/js.js:768
msgid "yesterday"
msgstr "ahir"
-#: js/js.js:718
+#: js/js.js:769
msgid "{days} days ago"
msgstr "fa {days} dies"
-#: js/js.js:719
+#: js/js.js:770
msgid "last month"
msgstr "el mes passat"
-#: js/js.js:720
+#: js/js.js:771
msgid "{months} months ago"
msgstr "fa {months} mesos"
-#: js/js.js:721
+#: js/js.js:772
msgid "months ago"
msgstr "mesos enrere"
-#: js/js.js:722
+#: js/js.js:773
msgid "last year"
msgstr "l'any passat"
-#: js/js.js:723
+#: js/js.js:774
msgid "years ago"
msgstr "anys enrere"
@@ -292,6 +368,17 @@ msgstr "Enviant..."
msgid "Email sent"
msgstr "El correu electrónic s'ha enviat"
+#: js/update.js:14
+msgid ""
+"The update was unsuccessful. Please report this issue to the <a "
+"href=\"https://github.com/owncloud/core/issues\" target=\"_blank\">ownCloud "
+"community</a>."
+msgstr ""
+
+#: js/update.js:18
+msgid "The update was successful. Redirecting you to ownCloud now."
+msgstr ""
+
#: lostpassword/controller.php:47
msgid "ownCloud password reset"
msgstr "estableix de nou la contrasenya Owncloud"
@@ -443,87 +530,11 @@ msgstr "Ordinador central de la base de dades"
msgid "Finish setup"
msgstr "Acaba la configuració"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Sunday"
-msgstr "Diumenge"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Monday"
-msgstr "Dilluns"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Tuesday"
-msgstr "Dimarts"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Wednesday"
-msgstr "Dimecres"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Thursday"
-msgstr "Dijous"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Friday"
-msgstr "Divendres"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Saturday"
-msgstr "Dissabte"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "January"
-msgstr "Gener"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "February"
-msgstr "Febrer"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "March"
-msgstr "Març"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "April"
-msgstr "Abril"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "May"
-msgstr "Maig"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "June"
-msgstr "Juny"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "July"
-msgstr "Juliol"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "August"
-msgstr "Agost"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "September"
-msgstr "Setembre"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "October"
-msgstr "Octubre"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "November"
-msgstr "Novembre"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "December"
-msgstr "Desembre"
-
-#: templates/layout.guest.php:42
+#: templates/layout.guest.php:34
msgid "web services under your control"
msgstr "controleu els vostres serveis web"
-#: templates/layout.user.php:45
+#: templates/layout.user.php:32
msgid "Log out"
msgstr "Surt"
diff --git a/l10n/ca/files.po b/l10n/ca/files.po
index 68ecfef29bc..fef5f92725c 100644
--- a/l10n/ca/files.po
+++ b/l10n/ca/files.po
@@ -14,8 +14,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-01-23 00:05+0100\n"
-"PO-Revision-Date: 2013-01-21 08:39+0000\n"
+"POT-Creation-Date: 2013-01-28 00:04+0100\n"
+"PO-Revision-Date: 2013-01-27 15: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"
@@ -24,11 +24,6 @@ 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"
@@ -43,46 +38,46 @@ msgstr " No s'ha pogut moure %s"
msgid "Unable to rename file"
msgstr "No es pot canviar el nom del fitxer"
-#: ajax/upload.php:20
+#: ajax/upload.php:17
msgid "No file was uploaded. Unknown error"
msgstr "No s'ha carregat cap fitxer. Error desconegut"
-#: ajax/upload.php:30
+#: ajax/upload.php:24
msgid "There is no error, the file uploaded with success"
msgstr "El fitxer s'ha pujat correctament"
-#: ajax/upload.php:31
+#: ajax/upload.php:25
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:33
+#: ajax/upload.php:27
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:35
+#: ajax/upload.php:29
msgid "The uploaded file was only partially uploaded"
msgstr "El fitxer només s'ha pujat parcialment"
-#: ajax/upload.php:36
+#: ajax/upload.php:30
msgid "No file was uploaded"
msgstr "El fitxer no s'ha pujat"
-#: ajax/upload.php:37
+#: ajax/upload.php:31
msgid "Missing a temporary folder"
msgstr "S'ha perdut un fitxer temporal"
-#: ajax/upload.php:38
+#: ajax/upload.php:32
msgid "Failed to write to disk"
msgstr "Ha fallat en escriure al disc"
-#: ajax/upload.php:57
-msgid "Not enough space available"
+#: ajax/upload.php:48
+msgid "Not enough storage available"
msgstr "No hi ha prou espai disponible"
-#: ajax/upload.php:91
+#: ajax/upload.php:77
msgid "Invalid directory."
msgstr "Directori no vàlid."
@@ -90,11 +85,11 @@ msgstr "Directori no vàlid."
msgid "Files"
msgstr "Fitxers"
-#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
+#: js/fileactions.js:117 templates/index.php:81 templates/index.php:82
msgid "Unshare"
msgstr "Deixa de compartir"
-#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
+#: js/fileactions.js:119 templates/index.php:87 templates/index.php:88
msgid "Delete"
msgstr "Suprimeix"
@@ -102,139 +97,151 @@ msgstr "Suprimeix"
msgid "Rename"
msgstr "Reanomena"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "{new_name} already exists"
msgstr "{new_name} ja existeix"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "replace"
msgstr "substitueix"
-#: js/filelist.js:205
+#: js/filelist.js:208
msgid "suggest name"
msgstr "sugereix un nom"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "cancel"
msgstr "cancel·la"
-#: js/filelist.js:254
+#: js/filelist.js:253
msgid "replaced {new_name}"
msgstr "s'ha substituït {new_name}"
-#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
+#: js/filelist.js:253 js/filelist.js:255 js/filelist.js:286 js/filelist.js:288
msgid "undo"
msgstr "desfés"
-#: js/filelist.js:256
+#: js/filelist.js:255
msgid "replaced {new_name} with {old_name}"
msgstr "s'ha substituït {old_name} per {new_name}"
-#: js/filelist.js:288
+#: js/filelist.js:286
msgid "unshared {files}"
msgstr "no compartits {files}"
-#: js/filelist.js:290
+#: js/filelist.js:288
msgid "deleted {files}"
msgstr "eliminats {files}"
-#: js/files.js:48
+#: js/files.js:52
msgid "'.' is an invalid file name."
msgstr "'.' és un nom no vàlid per un fitxer."
-#: js/files.js:53
+#: js/files.js:56
msgid "File name cannot be empty."
msgstr "El nom del fitxer no pot ser buit."
-#: js/files.js:62
+#: js/files.js:64
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr "El nóm no és vàlid, '\\', '/', '<', '>', ':', '\"', '|', '?' i '*' no estan permesos."
-#: js/files.js:204
+#: js/files.js:78
+msgid "Your storage is full, files can not be updated or synced anymore!"
+msgstr "El vostre espai d'emmagatzemament és ple, els fitxers ja no es poden actualitzar o sincronitzar!"
+
+#: js/files.js:82
+msgid "Your storage is almost full ({usedSpacePercent}%)"
+msgstr "El vostre espai d'emmagatzemament és gairebé ple ({usedSpacePercent}%)"
+
+#: js/files.js:219
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:242
+#: js/files.js:256
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:242
+#: js/files.js:256
msgid "Upload Error"
msgstr "Error en la pujada"
-#: js/files.js:259
+#: js/files.js:273
msgid "Close"
msgstr "Tanca"
-#: js/files.js:278 js/files.js:397 js/files.js:431
+#: js/files.js:292 js/files.js:408 js/files.js:439
msgid "Pending"
msgstr "Pendents"
-#: js/files.js:298
+#: js/files.js:312
msgid "1 file uploading"
msgstr "1 fitxer pujant"
-#: js/files.js:301 js/files.js:357 js/files.js:372
+#: js/files.js:315 js/files.js:370 js/files.js:385
msgid "{count} files uploading"
msgstr "{count} fitxers en pujada"
-#: js/files.js:376 js/files.js:414
+#: js/files.js:388 js/files.js:423
msgid "Upload cancelled."
msgstr "La pujada s'ha cancel·lat."
-#: js/files.js:486
+#: js/files.js:493
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:559
+#: js/files.js:566
msgid "URL cannot be empty."
msgstr "La URL no pot ser buida"
-#: js/files.js:565
+#: js/files.js:571
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
+#: js/files.js:784
msgid "{count} files scanned"
msgstr "{count} fitxers escannejats"
-#: js/files.js:783
+#: js/files.js:792
msgid "error while scanning"
msgstr "error durant l'escaneig"
-#: js/files.js:857 templates/index.php:64
+#: js/files.js:866 templates/index.php:63
msgid "Name"
msgstr "Nom"
-#: js/files.js:858 templates/index.php:75
+#: js/files.js:867 templates/index.php:74
msgid "Size"
msgstr "Mida"
-#: js/files.js:859 templates/index.php:77
+#: js/files.js:868 templates/index.php:76
msgid "Modified"
msgstr "Modificat"
-#: js/files.js:878
+#: js/files.js:887
msgid "1 folder"
msgstr "1 carpeta"
-#: js/files.js:880
+#: js/files.js:889
msgid "{count} folders"
msgstr "{count} carpetes"
-#: js/files.js:888
+#: js/files.js:897
msgid "1 file"
msgstr "1 fitxer"
-#: js/files.js:890
+#: js/files.js:899
msgid "{count} files"
msgstr "{count} fitxers"
+#: lib/helper.php:11 templates/index.php:18
+msgid "Upload"
+msgstr "Puja"
+
#: templates/admin.php:5
msgid "File handling"
msgstr "Gestió de fitxers"
@@ -287,28 +294,28 @@ msgstr "Des d'enllaç"
msgid "Cancel upload"
msgstr "Cancel·la la pujada"
-#: templates/index.php:56
+#: templates/index.php:55
msgid "Nothing in here. Upload something!"
msgstr "Res per aquí. Pugeu alguna cosa!"
-#: templates/index.php:70
+#: templates/index.php:69
msgid "Download"
msgstr "Baixa"
-#: templates/index.php:102
+#: templates/index.php:101
msgid "Upload too large"
msgstr "La pujada és massa gran"
-#: templates/index.php:104
+#: templates/index.php:103
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:109
+#: templates/index.php:108
msgid "Files are being scanned, please wait."
msgstr "S'estan escanejant els fitxers, espereu"
-#: templates/index.php:112
+#: templates/index.php:111
msgid "Current scanning"
msgstr "Actualment escanejant"
diff --git a/l10n/ca/files_encryption.po b/l10n/ca/files_encryption.po
index e76e21e1e5b..78e847f6e1e 100644
--- a/l10n/ca/files_encryption.po
+++ b/l10n/ca/files_encryption.po
@@ -3,14 +3,15 @@
# 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: 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"
+"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"
@@ -22,53 +23,53 @@ msgstr ""
msgid ""
"Please switch to your ownCloud client and change your encryption password to"
" complete the conversion."
-msgstr ""
+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 ""
+msgstr "s'ha commutat a l'encriptació per part del client"
#: js/settings-personal.js:21
msgid "Change encryption password to login password"
-msgstr ""
+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 ""
+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 ""
+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 ""
+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 ""
+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 ""
+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 ""
+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 ""
+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 ""
+msgstr "Específic per usuari (permet que l'usuari ho decideixi)"
#: templates/settings.php:65
msgid "Encryption"
diff --git a/l10n/cs_CZ/core.po b/l10n/cs_CZ/core.po
index 66b36315f8e..e82615b933a 100644
--- a/l10n/cs_CZ/core.po
+++ b/l10n/cs_CZ/core.po
@@ -11,8 +11,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-01-15 00:03+0100\n"
-"PO-Revision-Date: 2013-01-14 23:03+0000\n"
+"POT-Creation-Date: 2013-01-29 00:04+0100\n"
+"PO-Revision-Date: 2013-01-28 23:05+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"
@@ -83,59 +83,135 @@ msgstr "Žádné kategorie nebyly vybrány ke smazání."
msgid "Error removing %s from favorites."
msgstr "Chyba při odebírání %s z oblíbených."
-#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61
+#: js/config.php:32
+msgid "Sunday"
+msgstr "Neděle"
+
+#: js/config.php:32
+msgid "Monday"
+msgstr "Pondělí"
+
+#: js/config.php:32
+msgid "Tuesday"
+msgstr "Úterý"
+
+#: js/config.php:32
+msgid "Wednesday"
+msgstr "Středa"
+
+#: js/config.php:32
+msgid "Thursday"
+msgstr "ÄŒtvrtek"
+
+#: js/config.php:32
+msgid "Friday"
+msgstr "Pátek"
+
+#: js/config.php:32
+msgid "Saturday"
+msgstr "Sobota"
+
+#: js/config.php:33
+msgid "January"
+msgstr "Leden"
+
+#: js/config.php:33
+msgid "February"
+msgstr "Únor"
+
+#: js/config.php:33
+msgid "March"
+msgstr "Březen"
+
+#: js/config.php:33
+msgid "April"
+msgstr "Duben"
+
+#: js/config.php:33
+msgid "May"
+msgstr "Květen"
+
+#: js/config.php:33
+msgid "June"
+msgstr "ÄŒerven"
+
+#: js/config.php:33
+msgid "July"
+msgstr "ÄŒervenec"
+
+#: js/config.php:33
+msgid "August"
+msgstr "Srpen"
+
+#: js/config.php:33
+msgid "September"
+msgstr "Září"
+
+#: js/config.php:33
+msgid "October"
+msgstr "Říjen"
+
+#: js/config.php:33
+msgid "November"
+msgstr "Listopad"
+
+#: js/config.php:33
+msgid "December"
+msgstr "Prosinec"
+
+#: js/js.js:280 templates/layout.user.php:47 templates/layout.user.php:48
msgid "Settings"
msgstr "Nastavení"
-#: js/js.js:711
+#: js/js.js:762
msgid "seconds ago"
msgstr "před pár vteřinami"
-#: js/js.js:712
+#: js/js.js:763
msgid "1 minute ago"
msgstr "před minutou"
-#: js/js.js:713
+#: js/js.js:764
msgid "{minutes} minutes ago"
msgstr "před {minutes} minutami"
-#: js/js.js:714
+#: js/js.js:765
msgid "1 hour ago"
msgstr "před hodinou"
-#: js/js.js:715
+#: js/js.js:766
msgid "{hours} hours ago"
msgstr "před {hours} hodinami"
-#: js/js.js:716
+#: js/js.js:767
msgid "today"
msgstr "dnes"
-#: js/js.js:717
+#: js/js.js:768
msgid "yesterday"
msgstr "vÄera"
-#: js/js.js:718
+#: js/js.js:769
msgid "{days} days ago"
msgstr "před {days} dny"
-#: js/js.js:719
+#: js/js.js:770
msgid "last month"
msgstr "minulý mesíc"
-#: js/js.js:720
+#: js/js.js:771
msgid "{months} months ago"
msgstr "před {months} měsíci"
-#: js/js.js:721
+#: js/js.js:772
msgid "months ago"
msgstr "před měsíci"
-#: js/js.js:722
+#: js/js.js:773
msgid "last year"
msgstr "minulý rok"
-#: js/js.js:723
+#: js/js.js:774
msgid "years ago"
msgstr "před lety"
@@ -294,6 +370,17 @@ msgstr "Odesílám..."
msgid "Email sent"
msgstr "E-mail odeslán"
+#: js/update.js:14
+msgid ""
+"The update was unsuccessful. Please report this issue to the <a "
+"href=\"https://github.com/owncloud/core/issues\" target=\"_blank\">ownCloud "
+"community</a>."
+msgstr ""
+
+#: js/update.js:18
+msgid "The update was successful. Redirecting you to ownCloud now."
+msgstr ""
+
#: lostpassword/controller.php:47
msgid "ownCloud password reset"
msgstr "Obnovení hesla pro ownCloud"
@@ -445,87 +532,11 @@ msgstr "Hostitel databáze"
msgid "Finish setup"
msgstr "DokonÄit nastavení"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Sunday"
-msgstr "Neděle"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Monday"
-msgstr "Pondělí"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Tuesday"
-msgstr "Úterý"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Wednesday"
-msgstr "Středa"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Thursday"
-msgstr "ÄŒtvrtek"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Friday"
-msgstr "Pátek"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Saturday"
-msgstr "Sobota"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "January"
-msgstr "Leden"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "February"
-msgstr "Únor"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "March"
-msgstr "Březen"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "April"
-msgstr "Duben"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "May"
-msgstr "Květen"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "June"
-msgstr "ÄŒerven"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "July"
-msgstr "ÄŒervenec"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "August"
-msgstr "Srpen"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "September"
-msgstr "Září"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "October"
-msgstr "Říjen"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "November"
-msgstr "Listopad"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "December"
-msgstr "Prosinec"
-
-#: templates/layout.guest.php:42
+#: templates/layout.guest.php:34
msgid "web services under your control"
msgstr "webové služby pod Vaší kontrolou"
-#: templates/layout.user.php:45
+#: templates/layout.user.php:32
msgid "Log out"
msgstr "Odhlásit se"
diff --git a/l10n/cs_CZ/files.po b/l10n/cs_CZ/files.po
index e9fde9f772e..de2fbc84153 100644
--- a/l10n/cs_CZ/files.po
+++ b/l10n/cs_CZ/files.po
@@ -10,8 +10,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-01-21 00:04+0100\n"
-"PO-Revision-Date: 2013-01-20 10:48+0000\n"
+"POT-Creation-Date: 2013-01-29 00:04+0100\n"
+"PO-Revision-Date: 2013-01-28 07:07+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,11 +20,6 @@ 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"
@@ -39,46 +34,46 @@ msgstr "Nelze přesunout %s"
msgid "Unable to rename file"
msgstr "Nelze přejmenovat soubor"
-#: ajax/upload.php:20
+#: ajax/upload.php:17
msgid "No file was uploaded. Unknown error"
msgstr "Soubor nebyl odeslán. Neznámá chyba"
-#: ajax/upload.php:30
+#: ajax/upload.php:24
msgid "There is no error, the file uploaded with success"
msgstr "Soubor byl odeslán úspěšně"
-#: ajax/upload.php:31
+#: ajax/upload.php:25
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:33
+#: ajax/upload.php:27
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:35
+#: ajax/upload.php:29
msgid "The uploaded file was only partially uploaded"
msgstr "Soubor byl odeslán pouze ÄásteÄnÄ›"
-#: ajax/upload.php:36
+#: ajax/upload.php:30
msgid "No file was uploaded"
msgstr "Žádný soubor nebyl odeslán"
-#: ajax/upload.php:37
+#: ajax/upload.php:31
msgid "Missing a temporary folder"
msgstr "Chybí adresář pro doÄasné soubory"
-#: ajax/upload.php:38
+#: ajax/upload.php:32
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:48
+msgid "Not enough storage available"
+msgstr "Nedostatek dostupného úložného prostoru"
-#: ajax/upload.php:91
+#: ajax/upload.php:77
msgid "Invalid directory."
msgstr "Neplatný adresář"
@@ -86,11 +81,11 @@ msgstr "Neplatný adresář"
msgid "Files"
msgstr "Soubory"
-#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
+#: js/fileactions.js:117 templates/index.php:81 templates/index.php:82
msgid "Unshare"
msgstr "Zrušit sdílení"
-#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
+#: js/fileactions.js:119 templates/index.php:87 templates/index.php:88
msgid "Delete"
msgstr "Smazat"
@@ -98,139 +93,151 @@ msgstr "Smazat"
msgid "Rename"
msgstr "Přejmenovat"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "{new_name} already exists"
msgstr "{new_name} již existuje"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "replace"
msgstr "nahradit"
-#: js/filelist.js:205
+#: js/filelist.js:208
msgid "suggest name"
msgstr "navrhnout název"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "cancel"
msgstr "zrušit"
-#: js/filelist.js:254
+#: js/filelist.js:253
msgid "replaced {new_name}"
msgstr "nahrazeno {new_name}"
-#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
+#: js/filelist.js:253 js/filelist.js:255 js/filelist.js:286 js/filelist.js:288
msgid "undo"
msgstr "zpět"
-#: js/filelist.js:256
+#: js/filelist.js:255
msgid "replaced {new_name} with {old_name}"
msgstr "nahrazeno {new_name} s {old_name}"
-#: js/filelist.js:288
+#: js/filelist.js:286
msgid "unshared {files}"
msgstr "sdílení zrušeno pro {files}"
-#: js/filelist.js:290
+#: js/filelist.js:288
msgid "deleted {files}"
msgstr "smazáno {files}"
-#: js/files.js:48
+#: js/files.js:52
msgid "'.' is an invalid file name."
msgstr "'.' je neplatným názvem souboru."
-#: js/files.js:53
+#: js/files.js:56
msgid "File name cannot be empty."
msgstr "Název souboru nemůže být prázdný řetězec."
-#: js/files.js:62
+#: js/files.js:64
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr "Neplatný název, znaky '\\', '/', '<', '>', ':', '\"', '|', '?' a '*' nejsou povoleny."
-#: js/files.js:204
+#: js/files.js:78
+msgid "Your storage is full, files can not be updated or synced anymore!"
+msgstr "Vaše úložiště je plné, nelze aktualizovat ani synchronizovat soubory."
+
+#: js/files.js:82
+msgid "Your storage is almost full ({usedSpacePercent}%)"
+msgstr "Vaše úložiště je téměř plné ({usedSpacePercent}%)"
+
+#: js/files.js:219
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:242
+#: js/files.js:256
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:242
+#: js/files.js:256
msgid "Upload Error"
msgstr "Chyba odesílání"
-#: js/files.js:259
+#: js/files.js:273
msgid "Close"
msgstr "Zavřít"
-#: js/files.js:278 js/files.js:397 js/files.js:431
+#: js/files.js:292 js/files.js:408 js/files.js:439
msgid "Pending"
msgstr "Čekající"
-#: js/files.js:298
+#: js/files.js:312
msgid "1 file uploading"
msgstr "odesílá se 1 soubor"
-#: js/files.js:301 js/files.js:357 js/files.js:372
+#: js/files.js:315 js/files.js:370 js/files.js:385
msgid "{count} files uploading"
msgstr "odesílám {count} souborů"
-#: js/files.js:376 js/files.js:414
+#: js/files.js:388 js/files.js:423
msgid "Upload cancelled."
msgstr "Odesílání zrušeno."
-#: js/files.js:486
+#: js/files.js:493
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:559
+#: js/files.js:566
msgid "URL cannot be empty."
msgstr "URL nemůže být prázdná"
-#: js/files.js:565
+#: js/files.js:571
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
+#: js/files.js:784
msgid "{count} files scanned"
msgstr "prozkoumáno {count} souborů"
-#: js/files.js:783
+#: js/files.js:792
msgid "error while scanning"
msgstr "chyba při prohledávání"
-#: js/files.js:857 templates/index.php:64
+#: js/files.js:866 templates/index.php:63
msgid "Name"
msgstr "Název"
-#: js/files.js:858 templates/index.php:75
+#: js/files.js:867 templates/index.php:74
msgid "Size"
msgstr "Velikost"
-#: js/files.js:859 templates/index.php:77
+#: js/files.js:868 templates/index.php:76
msgid "Modified"
msgstr "Změněno"
-#: js/files.js:878
+#: js/files.js:887
msgid "1 folder"
msgstr "1 složka"
-#: js/files.js:880
+#: js/files.js:889
msgid "{count} folders"
msgstr "{count} složky"
-#: js/files.js:888
+#: js/files.js:897
msgid "1 file"
msgstr "1 soubor"
-#: js/files.js:890
+#: js/files.js:899
msgid "{count} files"
msgstr "{count} soubory"
+#: lib/helper.php:11 templates/index.php:18
+msgid "Upload"
+msgstr "Odeslat"
+
#: templates/admin.php:5
msgid "File handling"
msgstr "Zacházení se soubory"
@@ -283,28 +290,28 @@ msgstr "Z odkazu"
msgid "Cancel upload"
msgstr "Zrušit odesílání"
-#: templates/index.php:56
+#: templates/index.php:55
msgid "Nothing in here. Upload something!"
msgstr "Žádný obsah. Nahrajte něco."
-#: templates/index.php:70
+#: templates/index.php:69
msgid "Download"
msgstr "Stáhnout"
-#: templates/index.php:102
+#: templates/index.php:101
msgid "Upload too large"
msgstr "Odeslaný soubor je příliš velký"
-#: templates/index.php:104
+#: templates/index.php:103
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:109
+#: templates/index.php:108
msgid "Files are being scanned, please wait."
msgstr "Soubory se prohledávají, prosím Äekejte."
-#: templates/index.php:112
+#: templates/index.php:111
msgid "Current scanning"
msgstr "Aktuální prohledávání"
diff --git a/l10n/da/core.po b/l10n/da/core.po
index 421994c63c8..81b3396d920 100644
--- a/l10n/da/core.po
+++ b/l10n/da/core.po
@@ -8,6 +8,7 @@
# Morten Juhl-Johansen Zölde-Fejér <morten@writtenandread.net>, 2011-2012.
# Ole Holm Frandsen <froksen@gmail.com>, 2012.
# Pascal d'Hermilly <pascal@dhermilly.dk>, 2011.
+# Rasmus Paasch <rasmuspaasch@gmail.com>, 2013.
# <simon@rosmi.dk>, 2012.
# Thomas Tanghus <>, 2012.
# Thomas Tanghus <thomas@tanghus.net>, 2012.
@@ -15,8 +16,8 @@ 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"
+"POT-Creation-Date: 2013-01-29 00:04+0100\n"
+"PO-Revision-Date: 2013-01-28 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"
@@ -87,59 +88,135 @@ msgstr "Ingen kategorier valgt"
msgid "Error removing %s from favorites."
msgstr "Fejl ved fjernelse af %s fra favoritter."
-#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61
+#: js/config.php:32
+msgid "Sunday"
+msgstr "Søndag"
+
+#: js/config.php:32
+msgid "Monday"
+msgstr "Mandag"
+
+#: js/config.php:32
+msgid "Tuesday"
+msgstr "Tirsdag"
+
+#: js/config.php:32
+msgid "Wednesday"
+msgstr "Onsdag"
+
+#: js/config.php:32
+msgid "Thursday"
+msgstr "Torsdag"
+
+#: js/config.php:32
+msgid "Friday"
+msgstr "Fredag"
+
+#: js/config.php:32
+msgid "Saturday"
+msgstr "Lørdag"
+
+#: js/config.php:33
+msgid "January"
+msgstr "Januar"
+
+#: js/config.php:33
+msgid "February"
+msgstr "Februar"
+
+#: js/config.php:33
+msgid "March"
+msgstr "Marts"
+
+#: js/config.php:33
+msgid "April"
+msgstr "April"
+
+#: js/config.php:33
+msgid "May"
+msgstr "Maj"
+
+#: js/config.php:33
+msgid "June"
+msgstr "Juni"
+
+#: js/config.php:33
+msgid "July"
+msgstr "Juli"
+
+#: js/config.php:33
+msgid "August"
+msgstr "August"
+
+#: js/config.php:33
+msgid "September"
+msgstr "September"
+
+#: js/config.php:33
+msgid "October"
+msgstr "Oktober"
+
+#: js/config.php:33
+msgid "November"
+msgstr "November"
+
+#: js/config.php:33
+msgid "December"
+msgstr "December"
+
+#: js/js.js:280 templates/layout.user.php:47 templates/layout.user.php:48
msgid "Settings"
msgstr "Indstillinger"
-#: js/js.js:711
+#: js/js.js:762
msgid "seconds ago"
msgstr "sekunder siden"
-#: js/js.js:712
+#: js/js.js:763
msgid "1 minute ago"
msgstr "1 minut siden"
-#: js/js.js:713
+#: js/js.js:764
msgid "{minutes} minutes ago"
msgstr "{minutes} minutter siden"
-#: js/js.js:714
+#: js/js.js:765
msgid "1 hour ago"
msgstr "1 time siden"
-#: js/js.js:715
+#: js/js.js:766
msgid "{hours} hours ago"
msgstr "{hours} timer siden"
-#: js/js.js:716
+#: js/js.js:767
msgid "today"
msgstr "i dag"
-#: js/js.js:717
+#: js/js.js:768
msgid "yesterday"
msgstr "i går"
-#: js/js.js:718
+#: js/js.js:769
msgid "{days} days ago"
msgstr "{days} dage siden"
-#: js/js.js:719
+#: js/js.js:770
msgid "last month"
msgstr "sidste måned"
-#: js/js.js:720
+#: js/js.js:771
msgid "{months} months ago"
msgstr "{months} måneder siden"
-#: js/js.js:721
+#: js/js.js:772
msgid "months ago"
msgstr "måneder siden"
-#: js/js.js:722
+#: js/js.js:773
msgid "last year"
msgstr "sidste år"
-#: js/js.js:723
+#: js/js.js:774
msgid "years ago"
msgstr "Ã¥r siden"
@@ -298,6 +375,17 @@ msgstr "Sender ..."
msgid "Email sent"
msgstr "E-mail afsendt"
+#: js/update.js:14
+msgid ""
+"The update was unsuccessful. Please report this issue to the <a "
+"href=\"https://github.com/owncloud/core/issues\" target=\"_blank\">ownCloud "
+"community</a>."
+msgstr ""
+
+#: js/update.js:18
+msgid "The update was successful. Redirecting you to ownCloud now."
+msgstr ""
+
#: lostpassword/controller.php:47
msgid "ownCloud password reset"
msgstr "Nulstil ownCloud kodeord"
@@ -449,87 +537,11 @@ msgstr "Databasehost"
msgid "Finish setup"
msgstr "Afslut opsætning"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Sunday"
-msgstr "Søndag"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Monday"
-msgstr "Mandag"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Tuesday"
-msgstr "Tirsdag"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Wednesday"
-msgstr "Onsdag"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Thursday"
-msgstr "Torsdag"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Friday"
-msgstr "Fredag"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Saturday"
-msgstr "Lørdag"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "January"
-msgstr "Januar"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "February"
-msgstr "Februar"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "March"
-msgstr "Marts"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "April"
-msgstr "April"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "May"
-msgstr "Maj"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "June"
-msgstr "Juni"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "July"
-msgstr "Juli"
-
-#: 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 "September"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "October"
-msgstr "Oktober"
-
-#: 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:34
msgid "web services under your control"
msgstr "Webtjenester under din kontrol"
-#: templates/layout.user.php:45
+#: templates/layout.user.php:32
msgid "Log out"
msgstr "Log ud"
@@ -570,4 +582,4 @@ msgstr "næste"
#: templates/update.php:3
#, php-format
msgid "Updating ownCloud to version %s, this may take a while."
-msgstr ""
+msgstr "Opdatere Owncloud til version %s, dette kan tage et stykke tid."
diff --git a/l10n/da/files.po b/l10n/da/files.po
index f7bd3b92597..1181986247a 100644
--- a/l10n/da/files.po
+++ b/l10n/da/files.po
@@ -15,8 +15,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-01-20 00:05+0100\n"
-"PO-Revision-Date: 2013-01-19 23:05+0000\n"
+"POT-Creation-Date: 2013-01-27 00:04+0100\n"
+"PO-Revision-Date: 2013-01-26 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"
@@ -25,11 +25,6 @@ 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"
@@ -44,46 +39,46 @@ msgstr ""
msgid "Unable to rename file"
msgstr ""
-#: ajax/upload.php:20
+#: ajax/upload.php:17
msgid "No file was uploaded. Unknown error"
msgstr "Ingen fil blev uploadet. Ukendt fejl."
-#: ajax/upload.php:30
+#: ajax/upload.php:24
msgid "There is no error, the file uploaded with success"
msgstr "Der er ingen fejl, filen blev uploadet med success"
-#: ajax/upload.php:31
+#: ajax/upload.php:25
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:33
+#: ajax/upload.php:27
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:35
+#: ajax/upload.php:29
msgid "The uploaded file was only partially uploaded"
msgstr "Den uploadede file blev kun delvist uploadet"
-#: ajax/upload.php:36
+#: ajax/upload.php:30
msgid "No file was uploaded"
msgstr "Ingen fil blev uploadet"
-#: ajax/upload.php:37
+#: ajax/upload.php:31
msgid "Missing a temporary folder"
msgstr "Mangler en midlertidig mappe"
-#: ajax/upload.php:38
+#: ajax/upload.php:32
msgid "Failed to write to disk"
msgstr "Fejl ved skrivning til disk."
-#: ajax/upload.php:57
-msgid "Not enough space available"
+#: ajax/upload.php:48
+msgid "Not enough storage available"
msgstr ""
-#: ajax/upload.php:91
+#: ajax/upload.php:77
msgid "Invalid directory."
msgstr ""
@@ -91,11 +86,11 @@ msgstr ""
msgid "Files"
msgstr "Filer"
-#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
+#: js/fileactions.js:117 templates/index.php:81 templates/index.php:82
msgid "Unshare"
msgstr "Fjern deling"
-#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
+#: js/fileactions.js:119 templates/index.php:87 templates/index.php:88
msgid "Delete"
msgstr "Slet"
@@ -103,139 +98,151 @@ msgstr "Slet"
msgid "Rename"
msgstr "Omdøb"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "{new_name} already exists"
msgstr "{new_name} eksisterer allerede"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "replace"
msgstr "erstat"
-#: js/filelist.js:205
+#: js/filelist.js:208
msgid "suggest name"
msgstr "foreslå navn"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "cancel"
msgstr "fortryd"
-#: js/filelist.js:254
+#: js/filelist.js:253
msgid "replaced {new_name}"
msgstr "erstattede {new_name}"
-#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
+#: js/filelist.js:253 js/filelist.js:255 js/filelist.js:286 js/filelist.js:288
msgid "undo"
msgstr "fortryd"
-#: js/filelist.js:256
+#: js/filelist.js:255
msgid "replaced {new_name} with {old_name}"
msgstr "erstattede {new_name} med {old_name}"
-#: js/filelist.js:288
+#: js/filelist.js:286
msgid "unshared {files}"
msgstr "ikke delte {files}"
-#: js/filelist.js:290
+#: js/filelist.js:288
msgid "deleted {files}"
msgstr "slettede {files}"
-#: js/files.js:48
+#: js/files.js:52
msgid "'.' is an invalid file name."
msgstr ""
-#: js/files.js:53
+#: js/files.js:56
msgid "File name cannot be empty."
msgstr ""
-#: js/files.js:62
+#: js/files.js:64
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr "Ugyldigt navn, '\\', '/', '<', '>', ':' | '?', '\"', '', og '*' er ikke tilladt."
-#: js/files.js:204
+#: js/files.js:78
+msgid "Your storage is full, files can not be updated or synced anymore!"
+msgstr ""
+
+#: js/files.js:82
+msgid "Your storage is almost full ({usedSpacePercent}%)"
+msgstr ""
+
+#: js/files.js:219
msgid ""
"Your download is being prepared. This might take some time if the files are "
"big."
msgstr ""
-#: js/files.js:242
+#: js/files.js:256
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:242
+#: js/files.js:256
msgid "Upload Error"
msgstr "Fejl ved upload"
-#: js/files.js:259
+#: js/files.js:273
msgid "Close"
msgstr "Luk"
-#: js/files.js:278 js/files.js:397 js/files.js:431
+#: js/files.js:292 js/files.js:408 js/files.js:439
msgid "Pending"
msgstr "Afventer"
-#: js/files.js:298
+#: js/files.js:312
msgid "1 file uploading"
msgstr "1 fil uploades"
-#: js/files.js:301 js/files.js:357 js/files.js:372
+#: js/files.js:315 js/files.js:370 js/files.js:385
msgid "{count} files uploading"
msgstr "{count} filer uploades"
-#: js/files.js:376 js/files.js:414
+#: js/files.js:388 js/files.js:423
msgid "Upload cancelled."
msgstr "Upload afbrudt."
-#: js/files.js:486
+#: js/files.js:493
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:559
+#: js/files.js:566
msgid "URL cannot be empty."
msgstr "URLen kan ikke være tom."
-#: js/files.js:565
+#: js/files.js:571
msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
msgstr ""
-#: js/files.js:775
+#: js/files.js:784
msgid "{count} files scanned"
msgstr "{count} filer skannet"
-#: js/files.js:783
+#: js/files.js:792
msgid "error while scanning"
msgstr "fejl under scanning"
-#: js/files.js:857 templates/index.php:64
+#: js/files.js:866 templates/index.php:63
msgid "Name"
msgstr "Navn"
-#: js/files.js:858 templates/index.php:75
+#: js/files.js:867 templates/index.php:74
msgid "Size"
msgstr "Størrelse"
-#: js/files.js:859 templates/index.php:77
+#: js/files.js:868 templates/index.php:76
msgid "Modified"
msgstr "Ændret"
-#: js/files.js:878
+#: js/files.js:887
msgid "1 folder"
msgstr "1 mappe"
-#: js/files.js:880
+#: js/files.js:889
msgid "{count} folders"
msgstr "{count} mapper"
-#: js/files.js:888
+#: js/files.js:897
msgid "1 file"
msgstr "1 fil"
-#: js/files.js:890
+#: js/files.js:899
msgid "{count} files"
msgstr "{count} filer"
+#: lib/helper.php:11 templates/index.php:18
+msgid "Upload"
+msgstr "Upload"
+
#: templates/admin.php:5
msgid "File handling"
msgstr "Filhåndtering"
@@ -288,28 +295,28 @@ msgstr "Fra link"
msgid "Cancel upload"
msgstr "Fortryd upload"
-#: templates/index.php:56
+#: templates/index.php:55
msgid "Nothing in here. Upload something!"
msgstr "Her er tomt. Upload noget!"
-#: templates/index.php:70
+#: templates/index.php:69
msgid "Download"
msgstr "Download"
-#: templates/index.php:102
+#: templates/index.php:101
msgid "Upload too large"
msgstr "Upload for stor"
-#: templates/index.php:104
+#: templates/index.php:103
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:109
+#: templates/index.php:108
msgid "Files are being scanned, please wait."
msgstr "Filerne bliver indlæst, vent venligst."
-#: templates/index.php:112
+#: templates/index.php:111
msgid "Current scanning"
msgstr "Indlæser"
diff --git a/l10n/de/core.po b/l10n/de/core.po
index 2210b4b29e2..428459ed0e8 100644
--- a/l10n/de/core.po
+++ b/l10n/de/core.po
@@ -23,8 +23,8 @@ 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"
+"POT-Creation-Date: 2013-01-29 00:04+0100\n"
+"PO-Revision-Date: 2013-01-28 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"
@@ -95,59 +95,135 @@ msgstr "Es wurde keine Kategorien zum Löschen ausgewählt."
msgid "Error removing %s from favorites."
msgstr "Fehler beim Entfernen von %s von den Favoriten."
-#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61
+#: js/config.php:32
+msgid "Sunday"
+msgstr "Sonntag"
+
+#: js/config.php:32
+msgid "Monday"
+msgstr "Montag"
+
+#: js/config.php:32
+msgid "Tuesday"
+msgstr "Dienstag"
+
+#: js/config.php:32
+msgid "Wednesday"
+msgstr "Mittwoch"
+
+#: js/config.php:32
+msgid "Thursday"
+msgstr "Donnerstag"
+
+#: js/config.php:32
+msgid "Friday"
+msgstr "Freitag"
+
+#: js/config.php:32
+msgid "Saturday"
+msgstr "Samstag"
+
+#: js/config.php:33
+msgid "January"
+msgstr "Januar"
+
+#: js/config.php:33
+msgid "February"
+msgstr "Februar"
+
+#: js/config.php:33
+msgid "March"
+msgstr "März"
+
+#: js/config.php:33
+msgid "April"
+msgstr "April"
+
+#: js/config.php:33
+msgid "May"
+msgstr "Mai"
+
+#: js/config.php:33
+msgid "June"
+msgstr "Juni"
+
+#: js/config.php:33
+msgid "July"
+msgstr "Juli"
+
+#: js/config.php:33
+msgid "August"
+msgstr "August"
+
+#: js/config.php:33
+msgid "September"
+msgstr "September"
+
+#: js/config.php:33
+msgid "October"
+msgstr "Oktober"
+
+#: js/config.php:33
+msgid "November"
+msgstr "November"
+
+#: js/config.php:33
+msgid "December"
+msgstr "Dezember"
+
+#: js/js.js:280 templates/layout.user.php:47 templates/layout.user.php:48
msgid "Settings"
msgstr "Einstellungen"
-#: js/js.js:711
+#: js/js.js:762
msgid "seconds ago"
msgstr "Gerade eben"
-#: js/js.js:712
+#: js/js.js:763
msgid "1 minute ago"
msgstr "vor einer Minute"
-#: js/js.js:713
+#: js/js.js:764
msgid "{minutes} minutes ago"
msgstr "Vor {minutes} Minuten"
-#: js/js.js:714
+#: js/js.js:765
msgid "1 hour ago"
msgstr "Vor einer Stunde"
-#: js/js.js:715
+#: js/js.js:766
msgid "{hours} hours ago"
msgstr "Vor {hours} Stunden"
-#: js/js.js:716
+#: js/js.js:767
msgid "today"
msgstr "Heute"
-#: js/js.js:717
+#: js/js.js:768
msgid "yesterday"
msgstr "Gestern"
-#: js/js.js:718
+#: js/js.js:769
msgid "{days} days ago"
msgstr "Vor {days} Tag(en)"
-#: js/js.js:719
+#: js/js.js:770
msgid "last month"
msgstr "Letzten Monat"
-#: js/js.js:720
+#: js/js.js:771
msgid "{months} months ago"
msgstr "Vor {months} Monaten"
-#: js/js.js:721
+#: js/js.js:772
msgid "months ago"
msgstr "Vor Monaten"
-#: js/js.js:722
+#: js/js.js:773
msgid "last year"
msgstr "Letztes Jahr"
-#: js/js.js:723
+#: js/js.js:774
msgid "years ago"
msgstr "Vor Jahren"
@@ -306,6 +382,17 @@ msgstr "Sende ..."
msgid "Email sent"
msgstr "E-Mail wurde verschickt"
+#: js/update.js:14
+msgid ""
+"The update was unsuccessful. Please report this issue to the <a "
+"href=\"https://github.com/owncloud/core/issues\" target=\"_blank\">ownCloud "
+"community</a>."
+msgstr ""
+
+#: js/update.js:18
+msgid "The update was successful. Redirecting you to ownCloud now."
+msgstr ""
+
#: lostpassword/controller.php:47
msgid "ownCloud password reset"
msgstr "ownCloud-Passwort zurücksetzen"
@@ -457,87 +544,11 @@ msgstr "Datenbank-Host"
msgid "Finish setup"
msgstr "Installation abschließen"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Sunday"
-msgstr "Sonntag"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Monday"
-msgstr "Montag"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Tuesday"
-msgstr "Dienstag"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Wednesday"
-msgstr "Mittwoch"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Thursday"
-msgstr "Donnerstag"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Friday"
-msgstr "Freitag"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Saturday"
-msgstr "Samstag"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "January"
-msgstr "Januar"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "February"
-msgstr "Februar"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "March"
-msgstr "März"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "April"
-msgstr "April"
-
-#: 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 "Juni"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "July"
-msgstr "Juli"
-
-#: 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 "September"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "October"
-msgstr "Oktober"
-
-#: 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 "Dezember"
-
-#: templates/layout.guest.php:42
+#: templates/layout.guest.php:34
msgid "web services under your control"
msgstr "Web-Services unter Ihrer Kontrolle"
-#: templates/layout.user.php:45
+#: templates/layout.user.php:32
msgid "Log out"
msgstr "Abmelden"
diff --git a/l10n/de/files.po b/l10n/de/files.po
index 0ee39b9a487..99485b6e829 100644
--- a/l10n/de/files.po
+++ b/l10n/de/files.po
@@ -27,9 +27,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\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"
+"POT-Creation-Date: 2013-01-27 00:04+0100\n"
+"PO-Revision-Date: 2013-01-26 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"
@@ -37,11 +37,6 @@ 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"
@@ -56,46 +51,46 @@ msgstr "Konnte %s nicht verschieben"
msgid "Unable to rename file"
msgstr "Konnte Datei nicht umbenennen"
-#: ajax/upload.php:20
+#: ajax/upload.php:17
msgid "No file was uploaded. Unknown error"
msgstr "Keine Datei hochgeladen. Unbekannter Fehler"
-#: ajax/upload.php:30
+#: ajax/upload.php:24
msgid "There is no error, the file uploaded with success"
msgstr "Datei fehlerfrei hochgeladen."
-#: ajax/upload.php:31
+#: ajax/upload.php:25
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:33
+#: ajax/upload.php:27
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:35
+#: ajax/upload.php:29
msgid "The uploaded file was only partially uploaded"
msgstr "Die Datei wurde nur teilweise hochgeladen."
-#: ajax/upload.php:36
+#: ajax/upload.php:30
msgid "No file was uploaded"
msgstr "Es wurde keine Datei hochgeladen."
-#: ajax/upload.php:37
+#: ajax/upload.php:31
msgid "Missing a temporary folder"
msgstr "Temporärer Ordner fehlt."
-#: ajax/upload.php:38
+#: ajax/upload.php:32
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:48
+msgid "Not enough storage available"
+msgstr ""
-#: ajax/upload.php:91
+#: ajax/upload.php:77
msgid "Invalid directory."
msgstr "Ungültiges Verzeichnis"
@@ -103,11 +98,11 @@ msgstr "Ungültiges Verzeichnis"
msgid "Files"
msgstr "Dateien"
-#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
+#: js/fileactions.js:117 templates/index.php:81 templates/index.php:82
msgid "Unshare"
msgstr "Nicht mehr freigeben"
-#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
+#: js/fileactions.js:119 templates/index.php:87 templates/index.php:88
msgid "Delete"
msgstr "Löschen"
@@ -115,139 +110,151 @@ msgstr "Löschen"
msgid "Rename"
msgstr "Umbenennen"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "{new_name} already exists"
msgstr "{new_name} existiert bereits"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "replace"
msgstr "ersetzen"
-#: js/filelist.js:205
+#: js/filelist.js:208
msgid "suggest name"
msgstr "Name vorschlagen"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "cancel"
msgstr "abbrechen"
-#: js/filelist.js:254
+#: js/filelist.js:253
msgid "replaced {new_name}"
msgstr "{new_name} wurde ersetzt"
-#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
+#: js/filelist.js:253 js/filelist.js:255 js/filelist.js:286 js/filelist.js:288
msgid "undo"
msgstr "rückgängig machen"
-#: js/filelist.js:256
+#: js/filelist.js:255
msgid "replaced {new_name} with {old_name}"
msgstr "{old_name} ersetzt durch {new_name}"
-#: js/filelist.js:288
+#: js/filelist.js:286
msgid "unshared {files}"
msgstr "Freigabe von {files} aufgehoben"
-#: js/filelist.js:290
+#: js/filelist.js:288
msgid "deleted {files}"
msgstr "{files} gelöscht"
-#: js/files.js:48
+#: js/files.js:52
msgid "'.' is an invalid file name."
msgstr "'.' ist kein gültiger Dateiname"
-#: js/files.js:53
+#: js/files.js:56
msgid "File name cannot be empty."
msgstr "Der Dateiname darf nicht leer sein"
-#: js/files.js:62
+#: js/files.js:64
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr "Ungültiger Name, '\\', '/', '<', '>', ':', '\"', '|', '?' und '*' sind nicht zulässig."
-#: js/files.js:204
+#: js/files.js:78
+msgid "Your storage is full, files can not be updated or synced anymore!"
+msgstr ""
+
+#: js/files.js:82
+msgid "Your storage is almost full ({usedSpacePercent}%)"
+msgstr ""
+
+#: js/files.js:219
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:242
+#: js/files.js:256
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:242
+#: js/files.js:256
msgid "Upload Error"
msgstr "Fehler beim Upload"
-#: js/files.js:259
+#: js/files.js:273
msgid "Close"
msgstr "Schließen"
-#: js/files.js:278 js/files.js:397 js/files.js:431
+#: js/files.js:292 js/files.js:408 js/files.js:439
msgid "Pending"
msgstr "Ausstehend"
-#: js/files.js:298
+#: js/files.js:312
msgid "1 file uploading"
msgstr "Eine Datei wird hoch geladen"
-#: js/files.js:301 js/files.js:357 js/files.js:372
+#: js/files.js:315 js/files.js:370 js/files.js:385
msgid "{count} files uploading"
msgstr "{count} Dateien werden hochgeladen"
-#: js/files.js:376 js/files.js:414
+#: js/files.js:388 js/files.js:423
msgid "Upload cancelled."
msgstr "Upload abgebrochen."
-#: js/files.js:486
+#: js/files.js:493
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:559
+#: js/files.js:566
msgid "URL cannot be empty."
msgstr "Die URL darf nicht leer sein"
-#: js/files.js:565
+#: js/files.js:571
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:775
+#: js/files.js:784
msgid "{count} files scanned"
msgstr "{count} Dateien wurden gescannt"
-#: js/files.js:783
+#: js/files.js:792
msgid "error while scanning"
msgstr "Fehler beim Scannen"
-#: js/files.js:857 templates/index.php:64
+#: js/files.js:866 templates/index.php:63
msgid "Name"
msgstr "Name"
-#: js/files.js:858 templates/index.php:75
+#: js/files.js:867 templates/index.php:74
msgid "Size"
msgstr "Größe"
-#: js/files.js:859 templates/index.php:77
+#: js/files.js:868 templates/index.php:76
msgid "Modified"
msgstr "Bearbeitet"
-#: js/files.js:878
+#: js/files.js:887
msgid "1 folder"
msgstr "1 Ordner"
-#: js/files.js:880
+#: js/files.js:889
msgid "{count} folders"
msgstr "{count} Ordner"
-#: js/files.js:888
+#: js/files.js:897
msgid "1 file"
msgstr "1 Datei"
-#: js/files.js:890
+#: js/files.js:899
msgid "{count} files"
msgstr "{count} Dateien"
+#: lib/helper.php:11 templates/index.php:18
+msgid "Upload"
+msgstr "Hochladen"
+
#: templates/admin.php:5
msgid "File handling"
msgstr "Dateibehandlung"
@@ -300,28 +307,28 @@ msgstr "Von einem Link"
msgid "Cancel upload"
msgstr "Upload abbrechen"
-#: templates/index.php:56
+#: templates/index.php:55
msgid "Nothing in here. Upload something!"
msgstr "Alles leer. Lade etwas hoch!"
-#: templates/index.php:70
+#: templates/index.php:69
msgid "Download"
msgstr "Herunterladen"
-#: templates/index.php:102
+#: templates/index.php:101
msgid "Upload too large"
msgstr "Upload zu groß"
-#: templates/index.php:104
+#: templates/index.php:103
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:109
+#: templates/index.php:108
msgid "Files are being scanned, please wait."
msgstr "Dateien werden gescannt, bitte warten."
-#: templates/index.php:112
+#: templates/index.php:111
msgid "Current scanning"
msgstr "Scanne"
diff --git a/l10n/de/settings.po b/l10n/de/settings.po
index 1616f6a893d..ee2da814b8f 100644
--- a/l10n/de/settings.po
+++ b/l10n/de/settings.po
@@ -20,13 +20,14 @@
# Phi Lieb <>, 2012.
# <thomas.mueller@tmit.eu>, 2012.
# <transifex.3.mensaje@spamgourmet.com>, 2012.
+# Tristan <blobbyjj@ymail.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"
+"POT-Creation-Date: 2013-01-27 00:04+0100\n"
+"PO-Revision-Date: 2013-01-26 13:12+0000\n"
+"Last-Translator: Mirodin <blobbyjj@ymail.com>\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"
@@ -104,7 +105,7 @@ msgstr "Aktivieren"
msgid "Saving..."
msgstr "Speichern..."
-#: personal.php:42 personal.php:43
+#: personal.php:34 personal.php:35
msgid "__language_name__"
msgstr "Deutsch (Persönlich)"
@@ -116,15 +117,15 @@ msgstr "Füge Deine Anwendung hinzu"
msgid "More Apps"
msgstr "Weitere Anwendungen"
-#: templates/apps.php:27
+#: templates/apps.php:24
msgid "Select an App"
msgstr "Wähle eine Anwendung aus"
-#: templates/apps.php:31
+#: templates/apps.php:28
msgid "See application page at apps.owncloud.com"
msgstr "Weitere Anwendungen findest Du auf 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>-lizenziert von <span class=\"author\"></span>"
@@ -159,7 +160,7 @@ msgstr "Du verwendest <strong>%s</strong> der verfügbaren <strong>%s<strong>"
#: templates/personal.php:12
msgid "Clients"
-msgstr "Kunden"
+msgstr "Clients"
#: templates/personal.php:13
msgid "Download Desktop Clients"
@@ -173,7 +174,7 @@ msgstr "Android-Client herunterladen"
msgid "Download iOS Client"
msgstr "iOS-Client herunterladen"
-#: templates/personal.php:21 templates/users.php:23 templates/users.php:82
+#: templates/personal.php:21 templates/users.php:23 templates/users.php:80
msgid "Password"
msgstr "Passwort"
@@ -243,11 +244,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:81
+#: templates/users.php:21 templates/users.php:79
msgid "Name"
msgstr "Name"
-#: templates/users.php:26 templates/users.php:83 templates/users.php:103
+#: templates/users.php:26 templates/users.php:81 templates/users.php:101
msgid "Groups"
msgstr "Gruppen"
@@ -259,26 +260,26 @@ msgstr "Anlegen"
msgid "Default Storage"
msgstr "Standard-Speicher"
-#: templates/users.php:42 templates/users.php:138
+#: templates/users.php:42 templates/users.php:136
msgid "Unlimited"
msgstr "Unbegrenzt"
-#: templates/users.php:60 templates/users.php:153
+#: templates/users.php:60 templates/users.php:151
msgid "Other"
msgstr "Andere"
-#: templates/users.php:85 templates/users.php:117
+#: templates/users.php:83 templates/users.php:115
msgid "Group Admin"
msgstr "Gruppenadministrator"
-#: templates/users.php:87
+#: templates/users.php:85
msgid "Storage"
msgstr "Speicher"
-#: templates/users.php:133
+#: templates/users.php:131
msgid "Default"
msgstr "Standard"
-#: templates/users.php:161
+#: templates/users.php:159
msgid "Delete"
msgstr "Löschen"
diff --git a/l10n/de_DE/core.po b/l10n/de_DE/core.po
index 9f9775ff12e..9b94cdb687f 100644
--- a/l10n/de_DE/core.po
+++ b/l10n/de_DE/core.po
@@ -23,9 +23,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\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"
+"POT-Creation-Date: 2013-01-29 00:04+0100\n"
+"PO-Revision-Date: 2013-01-28 23:05+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"
@@ -95,59 +95,135 @@ msgstr "Es wurden keine Kategorien zum Löschen ausgewählt."
msgid "Error removing %s from favorites."
msgstr "Fehler beim Entfernen von %s von den Favoriten."
-#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61
+#: js/config.php:32
+msgid "Sunday"
+msgstr "Sonntag"
+
+#: js/config.php:32
+msgid "Monday"
+msgstr "Montag"
+
+#: js/config.php:32
+msgid "Tuesday"
+msgstr "Dienstag"
+
+#: js/config.php:32
+msgid "Wednesday"
+msgstr "Mittwoch"
+
+#: js/config.php:32
+msgid "Thursday"
+msgstr "Donnerstag"
+
+#: js/config.php:32
+msgid "Friday"
+msgstr "Freitag"
+
+#: js/config.php:32
+msgid "Saturday"
+msgstr "Samstag"
+
+#: js/config.php:33
+msgid "January"
+msgstr "Januar"
+
+#: js/config.php:33
+msgid "February"
+msgstr "Februar"
+
+#: js/config.php:33
+msgid "March"
+msgstr "März"
+
+#: js/config.php:33
+msgid "April"
+msgstr "April"
+
+#: js/config.php:33
+msgid "May"
+msgstr "Mai"
+
+#: js/config.php:33
+msgid "June"
+msgstr "Juni"
+
+#: js/config.php:33
+msgid "July"
+msgstr "Juli"
+
+#: js/config.php:33
+msgid "August"
+msgstr "August"
+
+#: js/config.php:33
+msgid "September"
+msgstr "September"
+
+#: js/config.php:33
+msgid "October"
+msgstr "Oktober"
+
+#: js/config.php:33
+msgid "November"
+msgstr "November"
+
+#: js/config.php:33
+msgid "December"
+msgstr "Dezember"
+
+#: js/js.js:280 templates/layout.user.php:47 templates/layout.user.php:48
msgid "Settings"
msgstr "Einstellungen"
-#: js/js.js:706
+#: js/js.js:762
msgid "seconds ago"
msgstr "Gerade eben"
-#: js/js.js:707
+#: js/js.js:763
msgid "1 minute ago"
msgstr "Vor 1 Minute"
-#: js/js.js:708
+#: js/js.js:764
msgid "{minutes} minutes ago"
msgstr "Vor {minutes} Minuten"
-#: js/js.js:709
+#: js/js.js:765
msgid "1 hour ago"
msgstr "Vor einer Stunde"
-#: js/js.js:710
+#: js/js.js:766
msgid "{hours} hours ago"
msgstr "Vor {hours} Stunden"
-#: js/js.js:711
+#: js/js.js:767
msgid "today"
msgstr "Heute"
-#: js/js.js:712
+#: js/js.js:768
msgid "yesterday"
msgstr "Gestern"
-#: js/js.js:713
+#: js/js.js:769
msgid "{days} days ago"
msgstr "Vor {days} Tag(en)"
-#: js/js.js:714
+#: js/js.js:770
msgid "last month"
msgstr "Letzten Monat"
-#: js/js.js:715
+#: js/js.js:771
msgid "{months} months ago"
msgstr "Vor {months} Monaten"
-#: js/js.js:716
+#: js/js.js:772
msgid "months ago"
msgstr "Vor Monaten"
-#: js/js.js:717
+#: js/js.js:773
msgid "last year"
msgstr "Letztes Jahr"
-#: js/js.js:718
+#: js/js.js:774
msgid "years ago"
msgstr "Vor Jahren"
@@ -306,6 +382,17 @@ msgstr "Sende ..."
msgid "Email sent"
msgstr "Email gesendet"
+#: js/update.js:14
+msgid ""
+"The update was unsuccessful. Please report this issue to the <a "
+"href=\"https://github.com/owncloud/core/issues\" target=\"_blank\">ownCloud "
+"community</a>."
+msgstr ""
+
+#: js/update.js:18
+msgid "The update was successful. Redirecting you to ownCloud now."
+msgstr ""
+
#: lostpassword/controller.php:47
msgid "ownCloud password reset"
msgstr "ownCloud-Passwort zurücksetzen"
@@ -457,87 +544,11 @@ msgstr "Datenbank-Host"
msgid "Finish setup"
msgstr "Installation abschließen"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Sunday"
-msgstr "Sonntag"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Monday"
-msgstr "Montag"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Tuesday"
-msgstr "Dienstag"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Wednesday"
-msgstr "Mittwoch"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Thursday"
-msgstr "Donnerstag"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Friday"
-msgstr "Freitag"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Saturday"
-msgstr "Samstag"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "January"
-msgstr "Januar"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "February"
-msgstr "Februar"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "March"
-msgstr "März"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "April"
-msgstr "April"
-
-#: 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 "Juni"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "July"
-msgstr "Juli"
-
-#: 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 "September"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "October"
-msgstr "Oktober"
-
-#: 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 "Dezember"
-
-#: templates/layout.guest.php:42
+#: templates/layout.guest.php:34
msgid "web services under your control"
msgstr "Web-Services unter Ihrer Kontrolle"
-#: templates/layout.user.php:45
+#: templates/layout.user.php:32
msgid "Log out"
msgstr "Abmelden"
diff --git a/l10n/de_DE/files.po b/l10n/de_DE/files.po
index 99ea2d6f096..d81df74a94a 100644
--- a/l10n/de_DE/files.po
+++ b/l10n/de_DE/files.po
@@ -4,6 +4,7 @@
#
# Translators:
# <admin@s-goecker.de>, 2012.
+# Andreas Tangemann <a.tangemann@web.de>, 2013.
# <a.tangemann@web.de>, 2012-2013.
# <blobbyjj@ymail.com>, 2012.
# I Robot <owncloud-bot@tmit.eu>, 2012-2013.
@@ -27,9 +28,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\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"
+"POT-Creation-Date: 2013-01-29 00:04+0100\n"
+"PO-Revision-Date: 2013-01-28 21:38+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"
@@ -37,11 +38,6 @@ 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"
@@ -56,46 +52,46 @@ msgstr "Konnte %s nicht verschieben"
msgid "Unable to rename file"
msgstr "Konnte Datei nicht umbenennen"
-#: ajax/upload.php:20
+#: ajax/upload.php:17
msgid "No file was uploaded. Unknown error"
msgstr "Keine Datei hochgeladen. Unbekannter Fehler"
-#: ajax/upload.php:30
+#: ajax/upload.php:24
msgid "There is no error, the file uploaded with success"
msgstr "Es sind keine Fehler aufgetreten. Die Datei wurde erfolgreich hochgeladen."
-#: ajax/upload.php:31
+#: ajax/upload.php:25
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:33
+#: ajax/upload.php:27
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:35
+#: ajax/upload.php:29
msgid "The uploaded file was only partially uploaded"
msgstr "Die Datei wurde nur teilweise hochgeladen."
-#: ajax/upload.php:36
+#: ajax/upload.php:30
msgid "No file was uploaded"
msgstr "Es wurde keine Datei hochgeladen."
-#: ajax/upload.php:37
+#: ajax/upload.php:31
msgid "Missing a temporary folder"
msgstr "Der temporäre Ordner fehlt."
-#: ajax/upload.php:38
+#: ajax/upload.php:32
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:48
+msgid "Not enough storage available"
+msgstr "Nicht genug Speicher vorhanden."
-#: ajax/upload.php:91
+#: ajax/upload.php:77
msgid "Invalid directory."
msgstr "Ungültiges Verzeichnis."
@@ -103,11 +99,11 @@ msgstr "Ungültiges Verzeichnis."
msgid "Files"
msgstr "Dateien"
-#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
+#: js/fileactions.js:117 templates/index.php:81 templates/index.php:82
msgid "Unshare"
msgstr "Nicht mehr freigeben"
-#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
+#: js/fileactions.js:119 templates/index.php:87 templates/index.php:88
msgid "Delete"
msgstr "Löschen"
@@ -115,139 +111,151 @@ msgstr "Löschen"
msgid "Rename"
msgstr "Umbenennen"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "{new_name} already exists"
msgstr "{new_name} existiert bereits"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "replace"
msgstr "ersetzen"
-#: js/filelist.js:205
+#: js/filelist.js:208
msgid "suggest name"
msgstr "Name vorschlagen"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "cancel"
msgstr "abbrechen"
-#: js/filelist.js:254
+#: js/filelist.js:253
msgid "replaced {new_name}"
msgstr "{new_name} wurde ersetzt"
-#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
+#: js/filelist.js:253 js/filelist.js:255 js/filelist.js:286 js/filelist.js:288
msgid "undo"
msgstr "rückgängig machen"
-#: js/filelist.js:256
+#: js/filelist.js:255
msgid "replaced {new_name} with {old_name}"
msgstr "{old_name} wurde ersetzt durch {new_name}"
-#: js/filelist.js:288
+#: js/filelist.js:286
msgid "unshared {files}"
msgstr "Freigabe für {files} beendet"
-#: js/filelist.js:290
+#: js/filelist.js:288
msgid "deleted {files}"
msgstr "{files} gelöscht"
-#: js/files.js:48
+#: js/files.js:52
msgid "'.' is an invalid file name."
msgstr "'.' ist kein gültiger Dateiname."
-#: js/files.js:53
+#: js/files.js:56
msgid "File name cannot be empty."
msgstr "Der Dateiname darf nicht leer sein."
-#: js/files.js:62
+#: js/files.js:64
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr "Ungültiger Name, '\\', '/', '<', '>', ':', '\"', '|', '?' und '*' sind nicht zulässig."
-#: js/files.js:204
+#: js/files.js:78
+msgid "Your storage is full, files can not be updated or synced anymore!"
+msgstr "Ihr Speicher ist voll. Daher können keine Dateien mehr aktualisiert oder synchronisiert werden!"
+
+#: js/files.js:82
+msgid "Your storage is almost full ({usedSpacePercent}%)"
+msgstr "Ihr Speicher ist fast voll ({usedSpacePercent}%)"
+
+#: js/files.js:219
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:242
+#: js/files.js:256
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:242
+#: js/files.js:256
msgid "Upload Error"
msgstr "Fehler beim Upload"
-#: js/files.js:259
+#: js/files.js:273
msgid "Close"
msgstr "Schließen"
-#: js/files.js:278 js/files.js:397 js/files.js:431
+#: js/files.js:292 js/files.js:408 js/files.js:439
msgid "Pending"
msgstr "Ausstehend"
-#: js/files.js:298
+#: js/files.js:312
msgid "1 file uploading"
msgstr "1 Datei wird hochgeladen"
-#: js/files.js:301 js/files.js:357 js/files.js:372
+#: js/files.js:315 js/files.js:370 js/files.js:385
msgid "{count} files uploading"
msgstr "{count} Dateien wurden hochgeladen"
-#: js/files.js:376 js/files.js:414
+#: js/files.js:388 js/files.js:423
msgid "Upload cancelled."
msgstr "Upload abgebrochen."
-#: js/files.js:486
+#: js/files.js:493
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:559
+#: js/files.js:566
msgid "URL cannot be empty."
msgstr "Die URL darf nicht leer sein."
-#: js/files.js:565
+#: js/files.js:571
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:775
+#: js/files.js:784
msgid "{count} files scanned"
msgstr "{count} Dateien wurden gescannt"
-#: js/files.js:783
+#: js/files.js:792
msgid "error while scanning"
msgstr "Fehler beim Scannen"
-#: js/files.js:857 templates/index.php:64
+#: js/files.js:866 templates/index.php:63
msgid "Name"
msgstr "Name"
-#: js/files.js:858 templates/index.php:75
+#: js/files.js:867 templates/index.php:74
msgid "Size"
msgstr "Größe"
-#: js/files.js:859 templates/index.php:77
+#: js/files.js:868 templates/index.php:76
msgid "Modified"
msgstr "Bearbeitet"
-#: js/files.js:878
+#: js/files.js:887
msgid "1 folder"
msgstr "1 Ordner"
-#: js/files.js:880
+#: js/files.js:889
msgid "{count} folders"
msgstr "{count} Ordner"
-#: js/files.js:888
+#: js/files.js:897
msgid "1 file"
msgstr "1 Datei"
-#: js/files.js:890
+#: js/files.js:899
msgid "{count} files"
msgstr "{count} Dateien"
+#: lib/helper.php:11 templates/index.php:18
+msgid "Upload"
+msgstr "Hochladen"
+
#: templates/admin.php:5
msgid "File handling"
msgstr "Dateibehandlung"
@@ -300,28 +308,28 @@ msgstr "Von einem Link"
msgid "Cancel upload"
msgstr "Upload abbrechen"
-#: templates/index.php:56
+#: templates/index.php:55
msgid "Nothing in here. Upload something!"
msgstr "Alles leer. Bitte laden Sie etwas hoch!"
-#: templates/index.php:70
+#: templates/index.php:69
msgid "Download"
msgstr "Herunterladen"
-#: templates/index.php:102
+#: templates/index.php:101
msgid "Upload too large"
msgstr "Der Upload ist zu groß"
-#: templates/index.php:104
+#: templates/index.php:103
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:109
+#: templates/index.php:108
msgid "Files are being scanned, please wait."
msgstr "Dateien werden gescannt, bitte warten."
-#: templates/index.php:112
+#: templates/index.php:111
msgid "Current scanning"
msgstr "Scanne"
diff --git a/l10n/de_DE/files_encryption.po b/l10n/de_DE/files_encryption.po
index 749067c3bbc..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: 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"
+"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"
@@ -42,7 +43,7 @@ msgstr ""
#: templates/settings-personal.php:3 templates/settings.php:5
msgid "Choose encryption mode:"
-msgstr ""
+msgstr "Wählen Sie die Verschlüsselungsart:"
#: templates/settings-personal.php:20 templates/settings.php:24
msgid ""
@@ -58,7 +59,7 @@ msgstr ""
#: templates/settings-personal.php:41 templates/settings.php:60
msgid "None (no encryption at all)"
-msgstr ""
+msgstr "Keine (ohne Verschlüsselung)"
#: templates/settings.php:10
msgid ""
@@ -68,7 +69,7 @@ msgstr ""
#: templates/settings.php:48
msgid "User specific (let the user decide)"
-msgstr ""
+msgstr "Benutzerspezifisch (der Benutzer kann entscheiden)"
#: templates/settings.php:65
msgid "Encryption"
diff --git a/l10n/de_DE/settings.po b/l10n/de_DE/settings.po
index 98a84230b5c..6cfee3b4fb8 100644
--- a/l10n/de_DE/settings.po
+++ b/l10n/de_DE/settings.po
@@ -20,13 +20,14 @@
# <thomas.mueller@tmit.eu>, 2012.
# <transifex-2.7.mensaje@spamgourmet.com>, 2012.
# <transifex.3.mensaje@spamgourmet.com>, 2012.
+# Tristan <blobbyjj@ymail.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"
+"POT-Creation-Date: 2013-01-27 00:04+0100\n"
+"PO-Revision-Date: 2013-01-26 13:11+0000\n"
+"Last-Translator: Mirodin <blobbyjj@ymail.com>\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"
@@ -104,7 +105,7 @@ msgstr "Aktivieren"
msgid "Saving..."
msgstr "Speichern..."
-#: personal.php:42 personal.php:43
+#: personal.php:34 personal.php:35
msgid "__language_name__"
msgstr "Deutsch (Förmlich: Sie)"
@@ -116,15 +117,15 @@ msgstr "Fügen Sie Ihre Anwendung hinzu"
msgid "More Apps"
msgstr "Weitere Anwendungen"
-#: templates/apps.php:27
+#: templates/apps.php:24
msgid "Select an App"
msgstr "Wählen Sie eine Anwendung aus"
-#: templates/apps.php:31
+#: templates/apps.php:28
msgid "See application page at apps.owncloud.com"
msgstr "Weitere Anwendungen finden Sie auf 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>-lizenziert von <span class=\"author\"></span>"
@@ -159,7 +160,7 @@ msgstr "Sie verwenden <strong>%s</strong> der verfügbaren <strong>%s</strong>"
#: templates/personal.php:12
msgid "Clients"
-msgstr "Kunden"
+msgstr "Clients"
#: templates/personal.php:13
msgid "Download Desktop Clients"
@@ -173,7 +174,7 @@ msgstr "Android-Client herunterladen"
msgid "Download iOS Client"
msgstr "iOS-Client herunterladen"
-#: templates/personal.php:21 templates/users.php:23 templates/users.php:82
+#: templates/personal.php:21 templates/users.php:23 templates/users.php:80
msgid "Password"
msgstr "Passwort"
@@ -243,11 +244,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:81
+#: templates/users.php:21 templates/users.php:79
msgid "Name"
msgstr "Name"
-#: templates/users.php:26 templates/users.php:83 templates/users.php:103
+#: templates/users.php:26 templates/users.php:81 templates/users.php:101
msgid "Groups"
msgstr "Gruppen"
@@ -259,26 +260,26 @@ msgstr "Anlegen"
msgid "Default Storage"
msgstr "Standard-Speicher"
-#: templates/users.php:42 templates/users.php:138
+#: templates/users.php:42 templates/users.php:136
msgid "Unlimited"
msgstr "Unbegrenzt"
-#: templates/users.php:60 templates/users.php:153
+#: templates/users.php:60 templates/users.php:151
msgid "Other"
msgstr "Andere"
-#: templates/users.php:85 templates/users.php:117
+#: templates/users.php:83 templates/users.php:115
msgid "Group Admin"
msgstr "Gruppenadministrator"
-#: templates/users.php:87
+#: templates/users.php:85
msgid "Storage"
msgstr "Speicher"
-#: templates/users.php:133
+#: templates/users.php:131
msgid "Default"
msgstr "Standard"
-#: templates/users.php:161
+#: templates/users.php:159
msgid "Delete"
msgstr "Löschen"
diff --git a/l10n/el/core.po b/l10n/el/core.po
index 9f541a6eda9..bd3d221969c 100644
--- a/l10n/el/core.po
+++ b/l10n/el/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: 2013-01-18 00:03+0100\n"
-"PO-Revision-Date: 2013-01-17 20:33+0000\n"
-"Last-Translator: xneo1 <vagelis@cyberdest.com>\n"
+"POT-Creation-Date: 2013-01-29 00:04+0100\n"
+"PO-Revision-Date: 2013-01-28 23:05+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"
@@ -87,59 +87,135 @@ msgstr "Δεν επιλέχτηκαν κατηγοÏίες για διαγÏαφ
msgid "Error removing %s from favorites."
msgstr "Σφάλμα αφαίÏεσης %s από τα αγαπημένα."
-#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61
+#: js/config.php:32
+msgid "Sunday"
+msgstr "ΚυÏιακή"
+
+#: js/config.php:32
+msgid "Monday"
+msgstr "ΔευτέÏα"
+
+#: js/config.php:32
+msgid "Tuesday"
+msgstr "ΤÏίτη"
+
+#: js/config.php:32
+msgid "Wednesday"
+msgstr "ΤετάÏτη"
+
+#: js/config.php:32
+msgid "Thursday"
+msgstr "Πέμπτη"
+
+#: js/config.php:32
+msgid "Friday"
+msgstr "ΠαÏασκευή"
+
+#: js/config.php:32
+msgid "Saturday"
+msgstr "Σάββατο"
+
+#: js/config.php:33
+msgid "January"
+msgstr "ΙανουάÏιος"
+
+#: js/config.php:33
+msgid "February"
+msgstr "ΦεβÏουάÏιος"
+
+#: js/config.php:33
+msgid "March"
+msgstr "ΜάÏτιος"
+
+#: js/config.php:33
+msgid "April"
+msgstr "ΑπÏίλιος"
+
+#: js/config.php:33
+msgid "May"
+msgstr "Μάϊος"
+
+#: js/config.php:33
+msgid "June"
+msgstr "ΙοÏνιος"
+
+#: js/config.php:33
+msgid "July"
+msgstr "ΙοÏλιος"
+
+#: js/config.php:33
+msgid "August"
+msgstr "ΑÏγουστος"
+
+#: js/config.php:33
+msgid "September"
+msgstr "ΣεπτέμβÏιος"
+
+#: js/config.php:33
+msgid "October"
+msgstr "ΟκτώβÏιος"
+
+#: js/config.php:33
+msgid "November"
+msgstr "ÎοέμβÏιος"
+
+#: js/config.php:33
+msgid "December"
+msgstr "ΔεκέμβÏιος"
+
+#: js/js.js:280 templates/layout.user.php:47 templates/layout.user.php:48
msgid "Settings"
msgstr "Ρυθμίσεις"
-#: js/js.js:706
+#: js/js.js:762
msgid "seconds ago"
msgstr "δευτεÏόλεπτα Ï€Ïιν"
-#: js/js.js:707
+#: js/js.js:763
msgid "1 minute ago"
msgstr "1 λεπτό Ï€Ïιν"
-#: js/js.js:708
+#: js/js.js:764
msgid "{minutes} minutes ago"
msgstr "{minutes} λεπτά Ï€Ïιν"
-#: js/js.js:709
+#: js/js.js:765
msgid "1 hour ago"
msgstr "1 ÏŽÏα Ï€Ïιν"
-#: js/js.js:710
+#: js/js.js:766
msgid "{hours} hours ago"
msgstr "{hours} ÏŽÏες Ï€Ïιν"
-#: js/js.js:711
+#: js/js.js:767
msgid "today"
msgstr "σήμεÏα"
-#: js/js.js:712
+#: js/js.js:768
msgid "yesterday"
msgstr "χτες"
-#: js/js.js:713
+#: js/js.js:769
msgid "{days} days ago"
msgstr "{days} ημέÏες Ï€Ïιν"
-#: js/js.js:714
+#: js/js.js:770
msgid "last month"
msgstr "τελευταίο μήνα"
-#: js/js.js:715
+#: js/js.js:771
msgid "{months} months ago"
msgstr "{months} μήνες Ï€Ïιν"
-#: js/js.js:716
+#: js/js.js:772
msgid "months ago"
msgstr "μήνες Ï€Ïιν"
-#: js/js.js:717
+#: js/js.js:773
msgid "last year"
msgstr "τελευταίο χÏόνο"
-#: js/js.js:718
+#: js/js.js:774
msgid "years ago"
msgstr "χÏόνια Ï€Ïιν"
@@ -298,6 +374,17 @@ msgstr "Αποστολή..."
msgid "Email sent"
msgstr "Το Email απεστάλη "
+#: js/update.js:14
+msgid ""
+"The update was unsuccessful. Please report this issue to the <a "
+"href=\"https://github.com/owncloud/core/issues\" target=\"_blank\">ownCloud "
+"community</a>."
+msgstr ""
+
+#: js/update.js:18
+msgid "The update was successful. Redirecting you to ownCloud now."
+msgstr ""
+
#: lostpassword/controller.php:47
msgid "ownCloud password reset"
msgstr "ΕπαναφοÏά ÏƒÏ…Î½Î¸Î·Î¼Î±Ï„Î¹ÎºÎ¿Ï ownCloud"
@@ -449,87 +536,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:34
msgid "web services under your control"
msgstr "ΥπηÏεσίες web υπό τον έλεγχό σας"
-#: templates/layout.user.php:45
+#: templates/layout.user.php:32
msgid "Log out"
msgstr "ΑποσÏνδεση"
diff --git a/l10n/el/files.po b/l10n/el/files.po
index d98fff41fb7..d756e7d0b9e 100644
--- a/l10n/el/files.po
+++ b/l10n/el/files.po
@@ -15,8 +15,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-01-23 00:05+0100\n"
-"PO-Revision-Date: 2013-01-22 12:10+0000\n"
+"POT-Creation-Date: 2013-01-29 00:04+0100\n"
+"PO-Revision-Date: 2013-01-28 02:25+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"
@@ -25,11 +25,6 @@ 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"
@@ -44,46 +39,46 @@ msgstr "Αδυναμία μετακίνησης του %s"
msgid "Unable to rename file"
msgstr "Αδυναμία μετονομασίας αÏχείου"
-#: ajax/upload.php:20
+#: ajax/upload.php:17
msgid "No file was uploaded. Unknown error"
msgstr "Δεν ανέβηκε κάποιο αÏχείο. Άγνωστο σφάλμα"
-#: ajax/upload.php:30
+#: ajax/upload.php:24
msgid "There is no error, the file uploaded with success"
msgstr "Δεν υπάÏχει σφάλμα, το αÏχείο εστάλει επιτυχώς"
-#: ajax/upload.php:31
+#: ajax/upload.php:25
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr "Το απεσταλμένο αÏχείο ξεπεÏνά την οδηγία upload_max_filesize στο php.ini:"
-#: ajax/upload.php:33
+#: ajax/upload.php:27
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:35
+#: ajax/upload.php:29
msgid "The uploaded file was only partially uploaded"
msgstr "Το αÏχείο εστάλει μόνο εν μέÏει"
-#: ajax/upload.php:36
+#: ajax/upload.php:30
msgid "No file was uploaded"
msgstr "Κανένα αÏχείο δεν στάλθηκε"
-#: ajax/upload.php:37
+#: ajax/upload.php:31
msgid "Missing a temporary folder"
msgstr "Λείπει ο Ï€ÏοσωÏινός φάκελος"
-#: ajax/upload.php:38
+#: ajax/upload.php:32
msgid "Failed to write to disk"
msgstr "Αποτυχία εγγÏαφής στο δίσκο"
-#: ajax/upload.php:57
-msgid "Not enough space available"
-msgstr "Δεν υπάÏχει αÏκετός διαθέσιμος χώÏος"
+#: ajax/upload.php:48
+msgid "Not enough storage available"
+msgstr "Μη επαÏκής διαθέσιμος αποθηκευτικός χώÏος"
-#: ajax/upload.php:91
+#: ajax/upload.php:77
msgid "Invalid directory."
msgstr "Μη έγκυÏος φάκελος."
@@ -91,11 +86,11 @@ msgstr "Μη έγκυÏος φάκελος."
msgid "Files"
msgstr "ΑÏχεία"
-#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
+#: js/fileactions.js:117 templates/index.php:81 templates/index.php:82
msgid "Unshare"
msgstr "Διακοπή κοινής χÏήσης"
-#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
+#: js/fileactions.js:119 templates/index.php:87 templates/index.php:88
msgid "Delete"
msgstr "ΔιαγÏαφή"
@@ -103,139 +98,151 @@ msgstr "ΔιαγÏαφή"
msgid "Rename"
msgstr "Μετονομασία"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "{new_name} already exists"
msgstr "{new_name} υπάÏχει ήδη"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "replace"
msgstr "αντικατέστησε"
-#: js/filelist.js:205
+#: js/filelist.js:208
msgid "suggest name"
msgstr "συνιστώμενο όνομα"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "cancel"
msgstr "ακÏÏωση"
-#: js/filelist.js:254
+#: js/filelist.js:253
msgid "replaced {new_name}"
msgstr "{new_name} αντικαταστάθηκε"
-#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
+#: js/filelist.js:253 js/filelist.js:255 js/filelist.js:286 js/filelist.js:288
msgid "undo"
msgstr "αναίÏεση"
-#: js/filelist.js:256
+#: js/filelist.js:255
msgid "replaced {new_name} with {old_name}"
msgstr "αντικαταστάθηκε το {new_name} με {old_name}"
-#: js/filelist.js:288
+#: js/filelist.js:286
msgid "unshared {files}"
msgstr "μη διαμοιÏασμένα {files}"
-#: js/filelist.js:290
+#: js/filelist.js:288
msgid "deleted {files}"
msgstr "διαγÏαμμένα {files}"
-#: js/files.js:48
+#: js/files.js:52
msgid "'.' is an invalid file name."
msgstr "'.' είναι μη έγκυÏο όνομα αÏχείου."
-#: js/files.js:53
+#: js/files.js:56
msgid "File name cannot be empty."
msgstr "Το όνομα αÏχείου δεν Ï€Ïέπει να είναι κενό."
-#: js/files.js:62
+#: js/files.js:64
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr "Μη έγκυÏο όνομα, '\\', '/', '<', '>', ':', '\"', '|', '?' και '*' δεν επιτÏέπονται."
-#: js/files.js:204
+#: js/files.js:78
+msgid "Your storage is full, files can not be updated or synced anymore!"
+msgstr "Ο αποθηκευτικός σας χώÏος είναι γεμάτος, τα αÏχεία δεν μποÏοÏν να ενημεÏωθοÏν ή να συγχÏονιστοÏν πια!"
+
+#: js/files.js:82
+msgid "Your storage is almost full ({usedSpacePercent}%)"
+msgstr "Ο αποθηκευτικός χώÏος είναι σχεδόν γεμάτος ({usedSpacePercent}%)"
+
+#: js/files.js:219
msgid ""
"Your download is being prepared. This might take some time if the files are "
"big."
msgstr "Η λήψη Ï€Ïοετοιμάζεται. Αυτό μποÏεί να πάÏει ÏŽÏα εάν τα αÏχεία έχουν μεγάλο μέγεθος."
-#: js/files.js:242
+#: js/files.js:256
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr "Αδυναμία στην αποστολή του αÏχείου σας Î±Ï†Î¿Ï ÎµÎ¯Î½Î±Î¹ φάκελος ή έχει 0 bytes"
-#: js/files.js:242
+#: js/files.js:256
msgid "Upload Error"
msgstr "Σφάλμα Αποστολής"
-#: js/files.js:259
+#: js/files.js:273
msgid "Close"
msgstr "Κλείσιμο"
-#: js/files.js:278 js/files.js:397 js/files.js:431
+#: js/files.js:292 js/files.js:408 js/files.js:439
msgid "Pending"
msgstr "ΕκκÏεμεί"
-#: js/files.js:298
+#: js/files.js:312
msgid "1 file uploading"
msgstr "1 αÏχείο ανεβαίνει"
-#: js/files.js:301 js/files.js:357 js/files.js:372
+#: js/files.js:315 js/files.js:370 js/files.js:385
msgid "{count} files uploading"
msgstr "{count} αÏχεία ανεβαίνουν"
-#: js/files.js:376 js/files.js:414
+#: js/files.js:388 js/files.js:423
msgid "Upload cancelled."
msgstr "Η αποστολή ακυÏώθηκε."
-#: js/files.js:486
+#: js/files.js:493
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr "Η αποστολή του αÏχείου βÏίσκεται σε εξέλιξη. Το κλείσιμο της σελίδας θα ακυÏώσει την αποστολή."
-#: js/files.js:559
+#: js/files.js:566
msgid "URL cannot be empty."
msgstr "Η URL δεν Ï€Ïέπει να είναι κενή."
-#: js/files.js:565
+#: js/files.js:571
msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
msgstr "Μη έγκυÏο όνομα φακέλου. Η χÏήση του 'ΚοινόχÏηστος' χÏησιμοποιείται από ο Owncloud"
-#: js/files.js:775
+#: js/files.js:784
msgid "{count} files scanned"
msgstr "{count} αÏχεία ανιχνεÏτηκαν"
-#: js/files.js:783
+#: js/files.js:792
msgid "error while scanning"
msgstr "σφάλμα κατά την ανίχνευση"
-#: js/files.js:857 templates/index.php:64
+#: js/files.js:866 templates/index.php:63
msgid "Name"
msgstr "Όνομα"
-#: js/files.js:858 templates/index.php:75
+#: js/files.js:867 templates/index.php:74
msgid "Size"
msgstr "Μέγεθος"
-#: js/files.js:859 templates/index.php:77
+#: js/files.js:868 templates/index.php:76
msgid "Modified"
msgstr "ΤÏοποποιήθηκε"
-#: js/files.js:878
+#: js/files.js:887
msgid "1 folder"
msgstr "1 φάκελος"
-#: js/files.js:880
+#: js/files.js:889
msgid "{count} folders"
msgstr "{count} φάκελοι"
-#: js/files.js:888
+#: js/files.js:897
msgid "1 file"
msgstr "1 αÏχείο"
-#: js/files.js:890
+#: js/files.js:899
msgid "{count} files"
msgstr "{count} αÏχεία"
+#: lib/helper.php:11 templates/index.php:18
+msgid "Upload"
+msgstr "Αποστολή"
+
#: templates/admin.php:5
msgid "File handling"
msgstr "ΔιαχείÏιση αÏχείων"
@@ -288,28 +295,28 @@ msgstr "Από σÏνδεσμο"
msgid "Cancel upload"
msgstr "ΑκÏÏωση αποστολής"
-#: templates/index.php:56
+#: templates/index.php:55
msgid "Nothing in here. Upload something!"
msgstr "Δεν υπάÏχει τίποτα εδώ. Ανέβασε κάτι!"
-#: templates/index.php:70
+#: templates/index.php:69
msgid "Download"
msgstr "Λήψη"
-#: templates/index.php:102
+#: templates/index.php:101
msgid "Upload too large"
msgstr "Î Î¿Î»Ï Î¼ÎµÎ³Î¬Î»Î¿ αÏχείο Ï€Ïος αποστολή"
-#: templates/index.php:104
+#: templates/index.php:103
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "Τα αÏχεία που Ï€Ïοσπαθείτε να ανεβάσετε υπεÏβαίνουν το μέγιστο μέγεθος αποστολής αÏχείων σε αυτόν τον διακομιστή."
-#: templates/index.php:109
+#: templates/index.php:108
msgid "Files are being scanned, please wait."
msgstr "Τα αÏχεία σαÏώνονται, παÏακαλώ πεÏιμένετε"
-#: templates/index.php:112
+#: templates/index.php:111
msgid "Current scanning"
msgstr "ΤÏέχουσα αναζήτηση "
diff --git a/l10n/el/files_encryption.po b/l10n/el/files_encryption.po
index db198521dc8..8733b3c0019 100644
--- a/l10n/el/files_encryption.po
+++ b/l10n/el/files_encryption.po
@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-01-24 00:06+0100\n"
-"PO-Revision-Date: 2013-01-22 23:23+0000\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"
@@ -31,7 +31,7 @@ msgstr ""
#: js/settings-personal.js:21
msgid "Change encryption password to login password"
-msgstr ""
+msgstr "Αλλαγή ÏƒÏ…Î½Î¸Î·Î¼Î±Ï„Î¹ÎºÎ¿Ï ÎºÏυπτογÏάφησης στο συνθηματικό εισόδου "
#: js/settings-personal.js:25
msgid "Please check your passwords and try again."
@@ -39,7 +39,7 @@ msgstr "ΠαÏακαλώ ελέγξτε το συνθηματικό σας καÎ
#: js/settings-personal.js:25
msgid "Could not change your file encryption password to your login password"
-msgstr ""
+msgstr "Αδυναμία αλλαγής ÏƒÏ…Î½Î¸Î·Î¼Î±Ï„Î¹ÎºÎ¿Ï ÎºÏυπτογÏάφησης αÏχείων στο συνθηματικό εισόδου σας"
#: templates/settings-personal.php:3 templates/settings.php:5
msgid "Choose encryption mode:"
diff --git a/l10n/eo/core.po b/l10n/eo/core.po
index 27efa5db63f..6fc85d95d72 100644
--- a/l10n/eo/core.po
+++ b/l10n/eo/core.po
@@ -10,8 +10,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-01-15 00:03+0100\n"
-"PO-Revision-Date: 2013-01-14 23:03+0000\n"
+"POT-Creation-Date: 2013-01-29 00:04+0100\n"
+"PO-Revision-Date: 2013-01-28 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"
@@ -82,59 +82,135 @@ msgstr "Neniu kategorio elektiÄis por forigo."
msgid "Error removing %s from favorites."
msgstr "Eraro dum forigo de %s el favoratoj."
-#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61
+#: js/config.php:32
+msgid "Sunday"
+msgstr "dimanĉo"
+
+#: js/config.php:32
+msgid "Monday"
+msgstr "lundo"
+
+#: js/config.php:32
+msgid "Tuesday"
+msgstr "mardo"
+
+#: js/config.php:32
+msgid "Wednesday"
+msgstr "merkredo"
+
+#: js/config.php:32
+msgid "Thursday"
+msgstr "ĵaŭdo"
+
+#: js/config.php:32
+msgid "Friday"
+msgstr "vendredo"
+
+#: js/config.php:32
+msgid "Saturday"
+msgstr "sabato"
+
+#: js/config.php:33
+msgid "January"
+msgstr "Januaro"
+
+#: js/config.php:33
+msgid "February"
+msgstr "Februaro"
+
+#: js/config.php:33
+msgid "March"
+msgstr "Marto"
+
+#: js/config.php:33
+msgid "April"
+msgstr "Aprilo"
+
+#: js/config.php:33
+msgid "May"
+msgstr "Majo"
+
+#: js/config.php:33
+msgid "June"
+msgstr "Junio"
+
+#: js/config.php:33
+msgid "July"
+msgstr "Julio"
+
+#: js/config.php:33
+msgid "August"
+msgstr "AÅ­gusto"
+
+#: js/config.php:33
+msgid "September"
+msgstr "Septembro"
+
+#: js/config.php:33
+msgid "October"
+msgstr "Oktobro"
+
+#: js/config.php:33
+msgid "November"
+msgstr "Novembro"
+
+#: js/config.php:33
+msgid "December"
+msgstr "Decembro"
+
+#: js/js.js:280 templates/layout.user.php:47 templates/layout.user.php:48
msgid "Settings"
msgstr "Agordo"
-#: js/js.js:711
+#: js/js.js:762
msgid "seconds ago"
msgstr "sekundoj antaÅ­e"
-#: js/js.js:712
+#: js/js.js:763
msgid "1 minute ago"
msgstr "antaÅ­ 1 minuto"
-#: js/js.js:713
+#: js/js.js:764
msgid "{minutes} minutes ago"
msgstr "antaÅ­ {minutes} minutoj"
-#: js/js.js:714
+#: js/js.js:765
msgid "1 hour ago"
msgstr "antaÅ­ 1 horo"
-#: js/js.js:715
+#: js/js.js:766
msgid "{hours} hours ago"
msgstr "antaÅ­ {hours} horoj"
-#: js/js.js:716
+#: js/js.js:767
msgid "today"
msgstr "hodiaÅ­"
-#: js/js.js:717
+#: js/js.js:768
msgid "yesterday"
msgstr "hieraÅ­"
-#: js/js.js:718
+#: js/js.js:769
msgid "{days} days ago"
msgstr "antaÅ­ {days} tagoj"
-#: js/js.js:719
+#: js/js.js:770
msgid "last month"
msgstr "lastamonate"
-#: js/js.js:720
+#: js/js.js:771
msgid "{months} months ago"
msgstr "antaÅ­ {months} monatoj"
-#: js/js.js:721
+#: js/js.js:772
msgid "months ago"
msgstr "monatoj antaÅ­e"
-#: js/js.js:722
+#: js/js.js:773
msgid "last year"
msgstr "lastajare"
-#: js/js.js:723
+#: js/js.js:774
msgid "years ago"
msgstr "jaroj antaÅ­e"
@@ -293,6 +369,17 @@ msgstr "Sendante..."
msgid "Email sent"
msgstr "La retpoÅtaĵo sendiÄis"
+#: js/update.js:14
+msgid ""
+"The update was unsuccessful. Please report this issue to the <a "
+"href=\"https://github.com/owncloud/core/issues\" target=\"_blank\">ownCloud "
+"community</a>."
+msgstr ""
+
+#: js/update.js:18
+msgid "The update was successful. Redirecting you to ownCloud now."
+msgstr ""
+
#: lostpassword/controller.php:47
msgid "ownCloud password reset"
msgstr "La pasvorto de ownCloud restariÄis."
@@ -444,87 +531,11 @@ msgstr "Datumbaza gastigo"
msgid "Finish setup"
msgstr "Fini la instalon"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Sunday"
-msgstr "dimanĉo"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Monday"
-msgstr "lundo"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Tuesday"
-msgstr "mardo"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Wednesday"
-msgstr "merkredo"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Thursday"
-msgstr "ĵaŭdo"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Friday"
-msgstr "vendredo"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Saturday"
-msgstr "sabato"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "January"
-msgstr "Januaro"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "February"
-msgstr "Februaro"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "March"
-msgstr "Marto"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "April"
-msgstr "Aprilo"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "May"
-msgstr "Majo"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "June"
-msgstr "Junio"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "July"
-msgstr "Julio"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "August"
-msgstr "AÅ­gusto"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "September"
-msgstr "Septembro"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "October"
-msgstr "Oktobro"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "November"
-msgstr "Novembro"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "December"
-msgstr "Decembro"
-
-#: templates/layout.guest.php:42
+#: templates/layout.guest.php:34
msgid "web services under your control"
msgstr "TTT-servoj sub via kontrolo"
-#: templates/layout.user.php:45
+#: templates/layout.user.php:32
msgid "Log out"
msgstr "Elsaluti"
diff --git a/l10n/eo/files.po b/l10n/eo/files.po
index 25a028204e9..024dea90b07 100644
--- a/l10n/eo/files.po
+++ b/l10n/eo/files.po
@@ -10,9 +10,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-01-21 00:04+0100\n"
-"PO-Revision-Date: 2013-01-20 01:38+0000\n"
-"Last-Translator: Mariano <mstreet@kde.org.ar>\n"
+"POT-Creation-Date: 2013-01-27 00:04+0100\n"
+"PO-Revision-Date: 2013-01-26 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"
@@ -20,11 +20,6 @@ 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"
@@ -39,46 +34,46 @@ msgstr "Ne eblis movi %s"
msgid "Unable to rename file"
msgstr "Ne eblis alinomigi dosieron"
-#: ajax/upload.php:20
+#: ajax/upload.php:17
msgid "No file was uploaded. Unknown error"
msgstr "Neniu dosiero alÅutiÄis. Nekonata eraro."
-#: ajax/upload.php:30
+#: ajax/upload.php:24
msgid "There is no error, the file uploaded with success"
msgstr "Ne estas eraro, la dosiero alÅutiÄis sukcese"
-#: ajax/upload.php:31
+#: ajax/upload.php:25
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:33
+#: ajax/upload.php:27
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:35
+#: ajax/upload.php:29
msgid "The uploaded file was only partially uploaded"
msgstr "La alÅutita dosiero nur parte alÅutiÄis"
-#: ajax/upload.php:36
+#: ajax/upload.php:30
msgid "No file was uploaded"
msgstr "Neniu dosiero estas alÅutita"
-#: ajax/upload.php:37
+#: ajax/upload.php:31
msgid "Missing a temporary folder"
msgstr "Mankas tempa dosierujo"
-#: ajax/upload.php:38
+#: ajax/upload.php:32
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:48
+msgid "Not enough storage available"
+msgstr ""
-#: ajax/upload.php:91
+#: ajax/upload.php:77
msgid "Invalid directory."
msgstr "Nevalida dosierujo."
@@ -86,11 +81,11 @@ msgstr "Nevalida dosierujo."
msgid "Files"
msgstr "Dosieroj"
-#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
+#: js/fileactions.js:117 templates/index.php:81 templates/index.php:82
msgid "Unshare"
msgstr "Malkunhavigi"
-#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
+#: js/fileactions.js:119 templates/index.php:87 templates/index.php:88
msgid "Delete"
msgstr "Forigi"
@@ -98,139 +93,151 @@ msgstr "Forigi"
msgid "Rename"
msgstr "Alinomigi"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "{new_name} already exists"
msgstr "{new_name} jam ekzistas"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "replace"
msgstr "anstataÅ­igi"
-#: js/filelist.js:205
+#: js/filelist.js:208
msgid "suggest name"
msgstr "sugesti nomon"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "cancel"
msgstr "nuligi"
-#: js/filelist.js:254
+#: js/filelist.js:253
msgid "replaced {new_name}"
msgstr "anstataÅ­iÄis {new_name}"
-#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
+#: js/filelist.js:253 js/filelist.js:255 js/filelist.js:286 js/filelist.js:288
msgid "undo"
msgstr "malfari"
-#: js/filelist.js:256
+#: js/filelist.js:255
msgid "replaced {new_name} with {old_name}"
msgstr "anstataÅ­iÄis {new_name} per {old_name}"
-#: js/filelist.js:288
+#: js/filelist.js:286
msgid "unshared {files}"
msgstr "malkunhaviÄis {files}"
-#: js/filelist.js:290
+#: js/filelist.js:288
msgid "deleted {files}"
msgstr "foriÄis {files}"
-#: js/files.js:48
+#: js/files.js:52
msgid "'.' is an invalid file name."
msgstr "'.' ne estas valida dosiernomo."
-#: js/files.js:53
+#: js/files.js:56
msgid "File name cannot be empty."
msgstr "Dosiernomo devas ne malpleni."
-#: js/files.js:62
+#: js/files.js:64
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr "Nevalida nomo: “\\â€, “/â€, “<â€, “>â€, “:â€, “\"â€, “|â€, “?†kaj “*†ne permesatas."
-#: js/files.js:204
+#: js/files.js:78
+msgid "Your storage is full, files can not be updated or synced anymore!"
+msgstr ""
+
+#: js/files.js:82
+msgid "Your storage is almost full ({usedSpacePercent}%)"
+msgstr ""
+
+#: js/files.js:219
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:242
+#: js/files.js:256
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:242
+#: js/files.js:256
msgid "Upload Error"
msgstr "AlÅuta eraro"
-#: js/files.js:259
+#: js/files.js:273
msgid "Close"
msgstr "Fermi"
-#: js/files.js:278 js/files.js:397 js/files.js:431
+#: js/files.js:292 js/files.js:408 js/files.js:439
msgid "Pending"
msgstr "Traktotaj"
-#: js/files.js:298
+#: js/files.js:312
msgid "1 file uploading"
msgstr "1 dosiero estas alÅutata"
-#: js/files.js:301 js/files.js:357 js/files.js:372
+#: js/files.js:315 js/files.js:370 js/files.js:385
msgid "{count} files uploading"
msgstr "{count} dosieroj alÅutatas"
-#: js/files.js:376 js/files.js:414
+#: js/files.js:388 js/files.js:423
msgid "Upload cancelled."
msgstr "La alÅuto nuliÄis."
-#: js/files.js:486
+#: js/files.js:493
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:559
+#: js/files.js:566
msgid "URL cannot be empty."
msgstr "URL ne povas esti malplena."
-#: js/files.js:565
+#: js/files.js:571
msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
msgstr "Nevalida dosierujnomo. Uzo de “Shared†rezervatas de Owncloud."
-#: js/files.js:775
+#: js/files.js:784
msgid "{count} files scanned"
msgstr "{count} dosieroj skaniÄis"
-#: js/files.js:783
+#: js/files.js:792
msgid "error while scanning"
msgstr "eraro dum skano"
-#: js/files.js:857 templates/index.php:64
+#: js/files.js:866 templates/index.php:63
msgid "Name"
msgstr "Nomo"
-#: js/files.js:858 templates/index.php:75
+#: js/files.js:867 templates/index.php:74
msgid "Size"
msgstr "Grando"
-#: js/files.js:859 templates/index.php:77
+#: js/files.js:868 templates/index.php:76
msgid "Modified"
msgstr "Modifita"
-#: js/files.js:878
+#: js/files.js:887
msgid "1 folder"
msgstr "1 dosierujo"
-#: js/files.js:880
+#: js/files.js:889
msgid "{count} folders"
msgstr "{count} dosierujoj"
-#: js/files.js:888
+#: js/files.js:897
msgid "1 file"
msgstr "1 dosiero"
-#: js/files.js:890
+#: js/files.js:899
msgid "{count} files"
msgstr "{count} dosierujoj"
+#: lib/helper.php:11 templates/index.php:18
+msgid "Upload"
+msgstr "AlÅuti"
+
#: templates/admin.php:5
msgid "File handling"
msgstr "Dosieradministro"
@@ -283,28 +290,28 @@ msgstr "El ligilo"
msgid "Cancel upload"
msgstr "Nuligi alÅuton"
-#: templates/index.php:56
+#: templates/index.php:55
msgid "Nothing in here. Upload something!"
msgstr "Nenio estas ĉi tie. AlÅutu ion!"
-#: templates/index.php:70
+#: templates/index.php:69
msgid "Download"
msgstr "ElÅuti"
-#: templates/index.php:102
+#: templates/index.php:101
msgid "Upload too large"
msgstr "ElÅuto tro larÄa"
-#: templates/index.php:104
+#: templates/index.php:103
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:109
+#: templates/index.php:108
msgid "Files are being scanned, please wait."
msgstr "Dosieroj estas skanataj, bonvolu atendi."
-#: templates/index.php:112
+#: templates/index.php:111
msgid "Current scanning"
msgstr "Nuna skano"
diff --git a/l10n/es/core.po b/l10n/es/core.po
index 099b2839a0f..e7260888e07 100644
--- a/l10n/es/core.po
+++ b/l10n/es/core.po
@@ -18,8 +18,8 @@ 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"
+"POT-Creation-Date: 2013-01-29 00:04+0100\n"
+"PO-Revision-Date: 2013-01-28 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"
@@ -90,59 +90,135 @@ msgstr "No hay categorías seleccionadas para borrar."
msgid "Error removing %s from favorites."
msgstr "Error eliminando %s de los favoritos."
-#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61
+#: js/config.php:32
+msgid "Sunday"
+msgstr "Domingo"
+
+#: js/config.php:32
+msgid "Monday"
+msgstr "Lunes"
+
+#: js/config.php:32
+msgid "Tuesday"
+msgstr "Martes"
+
+#: js/config.php:32
+msgid "Wednesday"
+msgstr "Miércoles"
+
+#: js/config.php:32
+msgid "Thursday"
+msgstr "Jueves"
+
+#: js/config.php:32
+msgid "Friday"
+msgstr "Viernes"
+
+#: js/config.php:32
+msgid "Saturday"
+msgstr "Sábado"
+
+#: js/config.php:33
+msgid "January"
+msgstr "Enero"
+
+#: js/config.php:33
+msgid "February"
+msgstr "Febrero"
+
+#: js/config.php:33
+msgid "March"
+msgstr "Marzo"
+
+#: js/config.php:33
+msgid "April"
+msgstr "Abril"
+
+#: js/config.php:33
+msgid "May"
+msgstr "Mayo"
+
+#: js/config.php:33
+msgid "June"
+msgstr "Junio"
+
+#: js/config.php:33
+msgid "July"
+msgstr "Julio"
+
+#: js/config.php:33
+msgid "August"
+msgstr "Agosto"
+
+#: js/config.php:33
+msgid "September"
+msgstr "Septiembre"
+
+#: js/config.php:33
+msgid "October"
+msgstr "Octubre"
+
+#: js/config.php:33
+msgid "November"
+msgstr "Noviembre"
+
+#: js/config.php:33
+msgid "December"
+msgstr "Diciembre"
+
+#: js/js.js:280 templates/layout.user.php:47 templates/layout.user.php:48
msgid "Settings"
msgstr "Ajustes"
-#: js/js.js:711
+#: js/js.js:762
msgid "seconds ago"
msgstr "hace segundos"
-#: js/js.js:712
+#: js/js.js:763
msgid "1 minute ago"
msgstr "hace 1 minuto"
-#: js/js.js:713
+#: js/js.js:764
msgid "{minutes} minutes ago"
msgstr "hace {minutes} minutos"
-#: js/js.js:714
+#: js/js.js:765
msgid "1 hour ago"
msgstr "Hace 1 hora"
-#: js/js.js:715
+#: js/js.js:766
msgid "{hours} hours ago"
msgstr "Hace {hours} horas"
-#: js/js.js:716
+#: js/js.js:767
msgid "today"
msgstr "hoy"
-#: js/js.js:717
+#: js/js.js:768
msgid "yesterday"
msgstr "ayer"
-#: js/js.js:718
+#: js/js.js:769
msgid "{days} days ago"
msgstr "hace {days} días"
-#: js/js.js:719
+#: js/js.js:770
msgid "last month"
msgstr "mes pasado"
-#: js/js.js:720
+#: js/js.js:771
msgid "{months} months ago"
msgstr "Hace {months} meses"
-#: js/js.js:721
+#: js/js.js:772
msgid "months ago"
msgstr "hace meses"
-#: js/js.js:722
+#: js/js.js:773
msgid "last year"
msgstr "año pasado"
-#: js/js.js:723
+#: js/js.js:774
msgid "years ago"
msgstr "hace años"
@@ -301,6 +377,17 @@ msgstr "Enviando..."
msgid "Email sent"
msgstr "Correo electrónico enviado"
+#: js/update.js:14
+msgid ""
+"The update was unsuccessful. Please report this issue to the <a "
+"href=\"https://github.com/owncloud/core/issues\" target=\"_blank\">ownCloud "
+"community</a>."
+msgstr ""
+
+#: js/update.js:18
+msgid "The update was successful. Redirecting you to ownCloud now."
+msgstr ""
+
#: lostpassword/controller.php:47
msgid "ownCloud password reset"
msgstr "Reiniciar contraseña de ownCloud"
@@ -452,87 +539,11 @@ msgstr "Host de la base de datos"
msgid "Finish setup"
msgstr "Completar la instalación"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Sunday"
-msgstr "Domingo"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Monday"
-msgstr "Lunes"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Tuesday"
-msgstr "Martes"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Wednesday"
-msgstr "Miércoles"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Thursday"
-msgstr "Jueves"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Friday"
-msgstr "Viernes"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Saturday"
-msgstr "Sábado"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "January"
-msgstr "Enero"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "February"
-msgstr "Febrero"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "March"
-msgstr "Marzo"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "April"
-msgstr "Abril"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "May"
-msgstr "Mayo"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "June"
-msgstr "Junio"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "July"
-msgstr "Julio"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "August"
-msgstr "Agosto"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "September"
-msgstr "Septiembre"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "October"
-msgstr "Octubre"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "November"
-msgstr "Noviembre"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "December"
-msgstr "Diciembre"
-
-#: templates/layout.guest.php:42
+#: templates/layout.guest.php:34
msgid "web services under your control"
msgstr "servicios web bajo tu control"
-#: templates/layout.user.php:45
+#: templates/layout.user.php:32
msgid "Log out"
msgstr "Salir"
diff --git a/l10n/es/files.po b/l10n/es/files.po
index e8258968172..db49dbe66b4 100644
--- a/l10n/es/files.po
+++ b/l10n/es/files.po
@@ -16,9 +16,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\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"
+"POT-Creation-Date: 2013-01-27 00:04+0100\n"
+"PO-Revision-Date: 2013-01-26 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"
@@ -26,11 +26,6 @@ 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"
@@ -45,46 +40,46 @@ msgstr "No se puede mover %s"
msgid "Unable to rename file"
msgstr "No se puede renombrar el archivo"
-#: ajax/upload.php:20
+#: ajax/upload.php:17
msgid "No file was uploaded. Unknown error"
msgstr "Fallo no se subió el fichero"
-#: ajax/upload.php:30
+#: ajax/upload.php:24
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:31
+#: ajax/upload.php:25
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:33
+#: ajax/upload.php:27
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:35
+#: ajax/upload.php:29
msgid "The uploaded file was only partially uploaded"
msgstr "El archivo que intentas subir solo se subió parcialmente"
-#: ajax/upload.php:36
+#: ajax/upload.php:30
msgid "No file was uploaded"
msgstr "No se ha subido ningún archivo"
-#: ajax/upload.php:37
+#: ajax/upload.php:31
msgid "Missing a temporary folder"
msgstr "Falta un directorio temporal"
-#: ajax/upload.php:38
+#: ajax/upload.php:32
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:48
+msgid "Not enough storage available"
+msgstr ""
-#: ajax/upload.php:91
+#: ajax/upload.php:77
msgid "Invalid directory."
msgstr "Directorio invalido."
@@ -92,11 +87,11 @@ msgstr "Directorio invalido."
msgid "Files"
msgstr "Archivos"
-#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
+#: js/fileactions.js:117 templates/index.php:81 templates/index.php:82
msgid "Unshare"
msgstr "Dejar de compartir"
-#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
+#: js/fileactions.js:119 templates/index.php:87 templates/index.php:88
msgid "Delete"
msgstr "Eliminar"
@@ -104,139 +99,151 @@ msgstr "Eliminar"
msgid "Rename"
msgstr "Renombrar"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "{new_name} already exists"
msgstr "{new_name} ya existe"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "replace"
msgstr "reemplazar"
-#: js/filelist.js:205
+#: js/filelist.js:208
msgid "suggest name"
msgstr "sugerir nombre"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "cancel"
msgstr "cancelar"
-#: js/filelist.js:254
+#: js/filelist.js:253
msgid "replaced {new_name}"
msgstr "reemplazado {new_name}"
-#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
+#: js/filelist.js:253 js/filelist.js:255 js/filelist.js:286 js/filelist.js:288
msgid "undo"
msgstr "deshacer"
-#: js/filelist.js:256
+#: js/filelist.js:255
msgid "replaced {new_name} with {old_name}"
msgstr "reemplazado {new_name} con {old_name}"
-#: js/filelist.js:288
+#: js/filelist.js:286
msgid "unshared {files}"
msgstr "{files} descompartidos"
-#: js/filelist.js:290
+#: js/filelist.js:288
msgid "deleted {files}"
msgstr "{files} eliminados"
-#: js/files.js:48
+#: js/files.js:52
msgid "'.' is an invalid file name."
msgstr "'.' es un nombre de archivo inválido."
-#: js/files.js:53
+#: js/files.js:56
msgid "File name cannot be empty."
msgstr "El nombre de archivo no puede estar vacío."
-#: js/files.js:62
+#: js/files.js:64
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr "Nombre Invalido, \"\\\", \"/\", \"<\", \">\", \":\", \"\", \"|\" \"?\" y \"*\" no están permitidos "
-#: js/files.js:204
+#: js/files.js:78
+msgid "Your storage is full, files can not be updated or synced anymore!"
+msgstr ""
+
+#: js/files.js:82
+msgid "Your storage is almost full ({usedSpacePercent}%)"
+msgstr ""
+
+#: js/files.js:219
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:242
+#: js/files.js:256
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:242
+#: js/files.js:256
msgid "Upload Error"
msgstr "Error al subir el archivo"
-#: js/files.js:259
+#: js/files.js:273
msgid "Close"
msgstr "cerrrar"
-#: js/files.js:278 js/files.js:397 js/files.js:431
+#: js/files.js:292 js/files.js:408 js/files.js:439
msgid "Pending"
msgstr "Pendiente"
-#: js/files.js:298
+#: js/files.js:312
msgid "1 file uploading"
msgstr "subiendo 1 archivo"
-#: js/files.js:301 js/files.js:357 js/files.js:372
+#: js/files.js:315 js/files.js:370 js/files.js:385
msgid "{count} files uploading"
msgstr "Subiendo {count} archivos"
-#: js/files.js:376 js/files.js:414
+#: js/files.js:388 js/files.js:423
msgid "Upload cancelled."
msgstr "Subida cancelada."
-#: js/files.js:486
+#: js/files.js:493
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:559
+#: js/files.js:566
msgid "URL cannot be empty."
msgstr "La URL no puede estar vacía."
-#: js/files.js:565
+#: js/files.js:571
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
+#: js/files.js:784
msgid "{count} files scanned"
msgstr "{count} archivos escaneados"
-#: js/files.js:783
+#: js/files.js:792
msgid "error while scanning"
msgstr "error escaneando"
-#: js/files.js:857 templates/index.php:64
+#: js/files.js:866 templates/index.php:63
msgid "Name"
msgstr "Nombre"
-#: js/files.js:858 templates/index.php:75
+#: js/files.js:867 templates/index.php:74
msgid "Size"
msgstr "Tamaño"
-#: js/files.js:859 templates/index.php:77
+#: js/files.js:868 templates/index.php:76
msgid "Modified"
msgstr "Modificado"
-#: js/files.js:878
+#: js/files.js:887
msgid "1 folder"
msgstr "1 carpeta"
-#: js/files.js:880
+#: js/files.js:889
msgid "{count} folders"
msgstr "{count} carpetas"
-#: js/files.js:888
+#: js/files.js:897
msgid "1 file"
msgstr "1 archivo"
-#: js/files.js:890
+#: js/files.js:899
msgid "{count} files"
msgstr "{count} archivos"
+#: lib/helper.php:11 templates/index.php:18
+msgid "Upload"
+msgstr "Subir"
+
#: templates/admin.php:5
msgid "File handling"
msgstr "Tratamiento de archivos"
@@ -289,28 +296,28 @@ msgstr "Desde el enlace"
msgid "Cancel upload"
msgstr "Cancelar subida"
-#: templates/index.php:56
+#: templates/index.php:55
msgid "Nothing in here. Upload something!"
msgstr "Aquí no hay nada. ¡Sube algo!"
-#: templates/index.php:70
+#: templates/index.php:69
msgid "Download"
msgstr "Descargar"
-#: templates/index.php:102
+#: templates/index.php:101
msgid "Upload too large"
msgstr "El archivo es demasiado grande"
-#: templates/index.php:104
+#: templates/index.php:103
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:109
+#: templates/index.php:108
msgid "Files are being scanned, please wait."
msgstr "Se están escaneando los archivos, por favor espere."
-#: templates/index.php:112
+#: templates/index.php:111
msgid "Current scanning"
msgstr "Ahora escaneando"
diff --git a/l10n/es/files_encryption.po b/l10n/es/files_encryption.po
index c58884a970d..cccce7419a9 100644
--- a/l10n/es/files_encryption.po
+++ b/l10n/es/files_encryption.po
@@ -4,13 +4,14 @@
#
# Translators:
# <juanma@kde.org.ar>, 2012.
+# Raul Fernandez Garcia <raulfg3@gmail.com>, 2013.
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"
+"POT-Creation-Date: 2013-01-27 00:04+0100\n"
+"PO-Revision-Date: 2013-01-26 09:47+0000\n"
+"Last-Translator: Raul Fernandez Garcia <raulfg3@gmail.com>\n"
"Language-Team: Spanish (http://www.transifex.com/projects/p/owncloud/language/es/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -26,7 +27,7 @@ msgstr ""
#: js/settings-personal.js:17
msgid "switched to client side encryption"
-msgstr ""
+msgstr "Cambiar a encriptación en lado cliente"
#: js/settings-personal.js:21
msgid "Change encryption password to login password"
@@ -34,7 +35,7 @@ msgstr ""
#: js/settings-personal.js:25
msgid "Please check your passwords and try again."
-msgstr ""
+msgstr "Por favor revise su contraseña e intentelo de nuevo."
#: js/settings-personal.js:25
msgid "Could not change your file encryption password to your login password"
@@ -42,7 +43,7 @@ msgstr ""
#: templates/settings-personal.php:3 templates/settings.php:5
msgid "Choose encryption mode:"
-msgstr ""
+msgstr "Elegir el modo de encriptado:"
#: templates/settings-personal.php:20 templates/settings.php:24
msgid ""
diff --git a/l10n/es_AR/core.po b/l10n/es_AR/core.po
index c38985419c0..c2c7a160ff2 100644
--- a/l10n/es_AR/core.po
+++ b/l10n/es_AR/core.po
@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-01-15 00:03+0100\n"
-"PO-Revision-Date: 2013-01-14 23:03+0000\n"
+"POT-Creation-Date: 2013-01-29 00:04+0100\n"
+"PO-Revision-Date: 2013-01-28 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"
@@ -81,59 +81,135 @@ msgstr "No hay categorías seleccionadas para borrar."
msgid "Error removing %s from favorites."
msgstr "Error al remover %s de favoritos. "
-#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61
+#: js/config.php:32
+msgid "Sunday"
+msgstr "Domingo"
+
+#: js/config.php:32
+msgid "Monday"
+msgstr "Lunes"
+
+#: js/config.php:32
+msgid "Tuesday"
+msgstr "Martes"
+
+#: js/config.php:32
+msgid "Wednesday"
+msgstr "Miércoles"
+
+#: js/config.php:32
+msgid "Thursday"
+msgstr "Jueves"
+
+#: js/config.php:32
+msgid "Friday"
+msgstr "Viernes"
+
+#: js/config.php:32
+msgid "Saturday"
+msgstr "Sábado"
+
+#: js/config.php:33
+msgid "January"
+msgstr "Enero"
+
+#: js/config.php:33
+msgid "February"
+msgstr "Febrero"
+
+#: js/config.php:33
+msgid "March"
+msgstr "Marzo"
+
+#: js/config.php:33
+msgid "April"
+msgstr "Abril"
+
+#: js/config.php:33
+msgid "May"
+msgstr "Mayo"
+
+#: js/config.php:33
+msgid "June"
+msgstr "Junio"
+
+#: js/config.php:33
+msgid "July"
+msgstr "Julio"
+
+#: js/config.php:33
+msgid "August"
+msgstr "Agosto"
+
+#: js/config.php:33
+msgid "September"
+msgstr "Septiembre"
+
+#: js/config.php:33
+msgid "October"
+msgstr "Octubre"
+
+#: js/config.php:33
+msgid "November"
+msgstr "Noviembre"
+
+#: js/config.php:33
+msgid "December"
+msgstr "Diciembre"
+
+#: js/js.js:280 templates/layout.user.php:47 templates/layout.user.php:48
msgid "Settings"
msgstr "Ajustes"
-#: js/js.js:711
+#: js/js.js:762
msgid "seconds ago"
msgstr "segundos atrás"
-#: js/js.js:712
+#: js/js.js:763
msgid "1 minute ago"
msgstr "hace 1 minuto"
-#: js/js.js:713
+#: js/js.js:764
msgid "{minutes} minutes ago"
msgstr "hace {minutes} minutos"
-#: js/js.js:714
+#: js/js.js:765
msgid "1 hour ago"
msgstr "Hace 1 hora"
-#: js/js.js:715
+#: js/js.js:766
msgid "{hours} hours ago"
msgstr "{hours} horas atrás"
-#: js/js.js:716
+#: js/js.js:767
msgid "today"
msgstr "hoy"
-#: js/js.js:717
+#: js/js.js:768
msgid "yesterday"
msgstr "ayer"
-#: js/js.js:718
+#: js/js.js:769
msgid "{days} days ago"
msgstr "hace {days} días"
-#: js/js.js:719
+#: js/js.js:770
msgid "last month"
msgstr "el mes pasado"
-#: js/js.js:720
+#: js/js.js:771
msgid "{months} months ago"
msgstr "{months} meses atrás"
-#: js/js.js:721
+#: js/js.js:772
msgid "months ago"
msgstr "meses atrás"
-#: js/js.js:722
+#: js/js.js:773
msgid "last year"
msgstr "el año pasado"
-#: js/js.js:723
+#: js/js.js:774
msgid "years ago"
msgstr "años atrás"
@@ -292,6 +368,17 @@ msgstr "Enviando..."
msgid "Email sent"
msgstr "Email enviado"
+#: js/update.js:14
+msgid ""
+"The update was unsuccessful. Please report this issue to the <a "
+"href=\"https://github.com/owncloud/core/issues\" target=\"_blank\">ownCloud "
+"community</a>."
+msgstr ""
+
+#: js/update.js:18
+msgid "The update was successful. Redirecting you to ownCloud now."
+msgstr ""
+
#: lostpassword/controller.php:47
msgid "ownCloud password reset"
msgstr "Restablecer contraseña de ownCloud"
@@ -443,87 +530,11 @@ msgstr "Host de la base de datos"
msgid "Finish setup"
msgstr "Completar la instalación"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Sunday"
-msgstr "Domingo"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Monday"
-msgstr "Lunes"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Tuesday"
-msgstr "Martes"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Wednesday"
-msgstr "Miércoles"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Thursday"
-msgstr "Jueves"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Friday"
-msgstr "Viernes"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Saturday"
-msgstr "Sábado"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "January"
-msgstr "Enero"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "February"
-msgstr "Febrero"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "March"
-msgstr "Marzo"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "April"
-msgstr "Abril"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "May"
-msgstr "Mayo"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "June"
-msgstr "Junio"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "July"
-msgstr "Julio"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "August"
-msgstr "Agosto"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "September"
-msgstr "Septiembre"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "October"
-msgstr "Octubre"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "November"
-msgstr "Noviembre"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "December"
-msgstr "Diciembre"
-
-#: templates/layout.guest.php:42
+#: templates/layout.guest.php:34
msgid "web services under your control"
msgstr "servicios web sobre los que tenés control"
-#: templates/layout.user.php:45
+#: templates/layout.user.php:32
msgid "Log out"
msgstr "Cerrar la sesión"
diff --git a/l10n/es_AR/files.po b/l10n/es_AR/files.po
index 4f9ef6d1b56..7de3e1c837a 100644
--- a/l10n/es_AR/files.po
+++ b/l10n/es_AR/files.po
@@ -9,9 +9,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-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"
+"POT-Creation-Date: 2013-01-27 00:04+0100\n"
+"PO-Revision-Date: 2013-01-26 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"
@@ -19,11 +19,6 @@ 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"
@@ -38,46 +33,46 @@ msgstr "No se pudo mover %s "
msgid "Unable to rename file"
msgstr "No fue posible cambiar el nombre al archivo"
-#: ajax/upload.php:20
+#: ajax/upload.php:17
msgid "No file was uploaded. Unknown error"
msgstr "El archivo no fue subido. Error desconocido"
-#: ajax/upload.php:30
+#: ajax/upload.php:24
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:31
+#: ajax/upload.php:25
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:33
+#: ajax/upload.php:27
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:35
+#: ajax/upload.php:29
msgid "The uploaded file was only partially uploaded"
msgstr "El archivo que intentás subir solo se subió parcialmente"
-#: ajax/upload.php:36
+#: ajax/upload.php:30
msgid "No file was uploaded"
msgstr "El archivo no fue subido"
-#: ajax/upload.php:37
+#: ajax/upload.php:31
msgid "Missing a temporary folder"
msgstr "Falta un directorio temporal"
-#: ajax/upload.php:38
+#: ajax/upload.php:32
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:48
+msgid "Not enough storage available"
+msgstr ""
-#: ajax/upload.php:91
+#: ajax/upload.php:77
msgid "Invalid directory."
msgstr "Directorio invalido."
@@ -85,11 +80,11 @@ msgstr "Directorio invalido."
msgid "Files"
msgstr "Archivos"
-#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
+#: js/fileactions.js:117 templates/index.php:81 templates/index.php:82
msgid "Unshare"
msgstr "Dejar de compartir"
-#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
+#: js/fileactions.js:119 templates/index.php:87 templates/index.php:88
msgid "Delete"
msgstr "Borrar"
@@ -97,139 +92,151 @@ msgstr "Borrar"
msgid "Rename"
msgstr "Cambiar nombre"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "{new_name} already exists"
msgstr "{new_name} ya existe"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "replace"
msgstr "reemplazar"
-#: js/filelist.js:205
+#: js/filelist.js:208
msgid "suggest name"
msgstr "sugerir nombre"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "cancel"
msgstr "cancelar"
-#: js/filelist.js:254
+#: js/filelist.js:253
msgid "replaced {new_name}"
msgstr "reemplazado {new_name}"
-#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
+#: js/filelist.js:253 js/filelist.js:255 js/filelist.js:286 js/filelist.js:288
msgid "undo"
msgstr "deshacer"
-#: js/filelist.js:256
+#: js/filelist.js:255
msgid "replaced {new_name} with {old_name}"
msgstr "reemplazado {new_name} con {old_name}"
-#: js/filelist.js:288
+#: js/filelist.js:286
msgid "unshared {files}"
msgstr "{files} se dejaron de compartir"
-#: js/filelist.js:290
+#: js/filelist.js:288
msgid "deleted {files}"
msgstr "{files} borrados"
-#: js/files.js:48
+#: js/files.js:52
msgid "'.' is an invalid file name."
msgstr "'.' es un nombre de archivo inválido."
-#: js/files.js:53
+#: js/files.js:56
msgid "File name cannot be empty."
msgstr "El nombre del archivo no puede quedar vacío."
-#: js/files.js:62
+#: js/files.js:64
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr "Nombre invalido, '\\', '/', '<', '>', ':', '\"', '|', '?' y '*' no están permitidos."
-#: js/files.js:204
+#: js/files.js:78
+msgid "Your storage is full, files can not be updated or synced anymore!"
+msgstr ""
+
+#: js/files.js:82
+msgid "Your storage is almost full ({usedSpacePercent}%)"
+msgstr ""
+
+#: js/files.js:219
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:242
+#: js/files.js:256
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:242
+#: js/files.js:256
msgid "Upload Error"
msgstr "Error al subir el archivo"
-#: js/files.js:259
+#: js/files.js:273
msgid "Close"
msgstr "Cerrar"
-#: js/files.js:278 js/files.js:397 js/files.js:431
+#: js/files.js:292 js/files.js:408 js/files.js:439
msgid "Pending"
msgstr "Pendiente"
-#: js/files.js:298
+#: js/files.js:312
msgid "1 file uploading"
msgstr "Subiendo 1 archivo"
-#: js/files.js:301 js/files.js:357 js/files.js:372
+#: js/files.js:315 js/files.js:370 js/files.js:385
msgid "{count} files uploading"
msgstr "Subiendo {count} archivos"
-#: js/files.js:376 js/files.js:414
+#: js/files.js:388 js/files.js:423
msgid "Upload cancelled."
msgstr "La subida fue cancelada"
-#: js/files.js:486
+#: js/files.js:493
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:559
+#: js/files.js:566
msgid "URL cannot be empty."
msgstr "La URL no puede estar vacía"
-#: js/files.js:565
+#: js/files.js:571
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:775
+#: js/files.js:784
msgid "{count} files scanned"
msgstr "{count} archivos escaneados"
-#: js/files.js:783
+#: js/files.js:792
msgid "error while scanning"
msgstr "error mientras se escaneaba"
-#: js/files.js:857 templates/index.php:64
+#: js/files.js:866 templates/index.php:63
msgid "Name"
msgstr "Nombre"
-#: js/files.js:858 templates/index.php:75
+#: js/files.js:867 templates/index.php:74
msgid "Size"
msgstr "Tamaño"
-#: js/files.js:859 templates/index.php:77
+#: js/files.js:868 templates/index.php:76
msgid "Modified"
msgstr "Modificado"
-#: js/files.js:878
+#: js/files.js:887
msgid "1 folder"
msgstr "1 directorio"
-#: js/files.js:880
+#: js/files.js:889
msgid "{count} folders"
msgstr "{count} directorios"
-#: js/files.js:888
+#: js/files.js:897
msgid "1 file"
msgstr "1 archivo"
-#: js/files.js:890
+#: js/files.js:899
msgid "{count} files"
msgstr "{count} archivos"
+#: lib/helper.php:11 templates/index.php:18
+msgid "Upload"
+msgstr "Subir"
+
#: templates/admin.php:5
msgid "File handling"
msgstr "Tratamiento de archivos"
@@ -282,28 +289,28 @@ msgstr "Desde enlace"
msgid "Cancel upload"
msgstr "Cancelar subida"
-#: templates/index.php:56
+#: templates/index.php:55
msgid "Nothing in here. Upload something!"
msgstr "No hay nada. ¡Subí contenido!"
-#: templates/index.php:70
+#: templates/index.php:69
msgid "Download"
msgstr "Descargar"
-#: templates/index.php:102
+#: templates/index.php:101
msgid "Upload too large"
msgstr "El archivo es demasiado grande"
-#: templates/index.php:104
+#: templates/index.php:103
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:109
+#: templates/index.php:108
msgid "Files are being scanned, please wait."
msgstr "Se están escaneando los archivos, por favor esperá."
-#: templates/index.php:112
+#: templates/index.php:111
msgid "Current scanning"
msgstr "Escaneo actual"
diff --git a/l10n/et_EE/core.po b/l10n/et_EE/core.po
index ba615076133..808413dbda6 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: 2013-01-15 00:03+0100\n"
-"PO-Revision-Date: 2013-01-14 23:03+0000\n"
+"POT-Creation-Date: 2013-01-29 00:04+0100\n"
+"PO-Revision-Date: 2013-01-28 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"
@@ -80,59 +80,135 @@ msgstr "Kustutamiseks pole kategooriat valitud."
msgid "Error removing %s from favorites."
msgstr ""
-#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61
+#: js/config.php:32
+msgid "Sunday"
+msgstr "Pühapäev"
+
+#: js/config.php:32
+msgid "Monday"
+msgstr "Esmaspäev"
+
+#: js/config.php:32
+msgid "Tuesday"
+msgstr "Teisipäev"
+
+#: js/config.php:32
+msgid "Wednesday"
+msgstr "Kolmapäev"
+
+#: js/config.php:32
+msgid "Thursday"
+msgstr "Neljapäev"
+
+#: js/config.php:32
+msgid "Friday"
+msgstr "Reede"
+
+#: js/config.php:32
+msgid "Saturday"
+msgstr "Laupäev"
+
+#: js/config.php:33
+msgid "January"
+msgstr "Jaanuar"
+
+#: js/config.php:33
+msgid "February"
+msgstr "Veebruar"
+
+#: js/config.php:33
+msgid "March"
+msgstr "Märts"
+
+#: js/config.php:33
+msgid "April"
+msgstr "Aprill"
+
+#: js/config.php:33
+msgid "May"
+msgstr "Mai"
+
+#: js/config.php:33
+msgid "June"
+msgstr "Juuni"
+
+#: js/config.php:33
+msgid "July"
+msgstr "Juuli"
+
+#: js/config.php:33
+msgid "August"
+msgstr "August"
+
+#: js/config.php:33
+msgid "September"
+msgstr "September"
+
+#: js/config.php:33
+msgid "October"
+msgstr "Oktoober"
+
+#: js/config.php:33
+msgid "November"
+msgstr "November"
+
+#: js/config.php:33
+msgid "December"
+msgstr "Detsember"
+
+#: js/js.js:280 templates/layout.user.php:47 templates/layout.user.php:48
msgid "Settings"
msgstr "Seaded"
-#: js/js.js:711
+#: js/js.js:762
msgid "seconds ago"
msgstr "sekundit tagasi"
-#: js/js.js:712
+#: js/js.js:763
msgid "1 minute ago"
msgstr "1 minut tagasi"
-#: js/js.js:713
+#: js/js.js:764
msgid "{minutes} minutes ago"
msgstr "{minutes} minutit tagasi"
-#: js/js.js:714
+#: js/js.js:765
msgid "1 hour ago"
msgstr ""
-#: js/js.js:715
+#: js/js.js:766
msgid "{hours} hours ago"
msgstr ""
-#: js/js.js:716
+#: js/js.js:767
msgid "today"
msgstr "täna"
-#: js/js.js:717
+#: js/js.js:768
msgid "yesterday"
msgstr "eile"
-#: js/js.js:718
+#: js/js.js:769
msgid "{days} days ago"
msgstr "{days} päeva tagasi"
-#: js/js.js:719
+#: js/js.js:770
msgid "last month"
msgstr "viimasel kuul"
-#: js/js.js:720
+#: js/js.js:771
msgid "{months} months ago"
msgstr ""
-#: js/js.js:721
+#: js/js.js:772
msgid "months ago"
msgstr "kuu tagasi"
-#: js/js.js:722
+#: js/js.js:773
msgid "last year"
msgstr "viimasel aastal"
-#: js/js.js:723
+#: js/js.js:774
msgid "years ago"
msgstr "aastat tagasi"
@@ -291,6 +367,17 @@ msgstr ""
msgid "Email sent"
msgstr ""
+#: js/update.js:14
+msgid ""
+"The update was unsuccessful. Please report this issue to the <a "
+"href=\"https://github.com/owncloud/core/issues\" target=\"_blank\">ownCloud "
+"community</a>."
+msgstr ""
+
+#: js/update.js:18
+msgid "The update was successful. Redirecting you to ownCloud now."
+msgstr ""
+
#: lostpassword/controller.php:47
msgid "ownCloud password reset"
msgstr "ownCloud parooli taastamine"
@@ -442,87 +529,11 @@ msgstr "Andmebaasi host"
msgid "Finish setup"
msgstr "Lõpeta seadistamine"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Sunday"
-msgstr "Pühapäev"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Monday"
-msgstr "Esmaspäev"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Tuesday"
-msgstr "Teisipäev"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Wednesday"
-msgstr "Kolmapäev"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Thursday"
-msgstr "Neljapäev"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Friday"
-msgstr "Reede"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Saturday"
-msgstr "Laupäev"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "January"
-msgstr "Jaanuar"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "February"
-msgstr "Veebruar"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "March"
-msgstr "Märts"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "April"
-msgstr "Aprill"
-
-#: 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 "Juuni"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "July"
-msgstr "Juuli"
-
-#: 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 "September"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "October"
-msgstr "Oktoober"
-
-#: 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 "Detsember"
-
-#: templates/layout.guest.php:42
+#: templates/layout.guest.php:34
msgid "web services under your control"
msgstr "veebiteenused sinu kontrolli all"
-#: templates/layout.user.php:45
+#: templates/layout.user.php:32
msgid "Log out"
msgstr "Logi välja"
diff --git a/l10n/et_EE/files.po b/l10n/et_EE/files.po
index 08842493045..ad6acde581c 100644
--- a/l10n/et_EE/files.po
+++ b/l10n/et_EE/files.po
@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-01-20 00:05+0100\n"
-"PO-Revision-Date: 2013-01-19 23:05+0000\n"
+"POT-Creation-Date: 2013-01-27 00:04+0100\n"
+"PO-Revision-Date: 2013-01-26 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,11 +19,6 @@ 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"
@@ -38,46 +33,46 @@ msgstr ""
msgid "Unable to rename file"
msgstr ""
-#: ajax/upload.php:20
+#: ajax/upload.php:17
msgid "No file was uploaded. Unknown error"
msgstr "Ühtegi faili ei laetud üles. Tundmatu viga"
-#: ajax/upload.php:30
+#: ajax/upload.php:24
msgid "There is no error, the file uploaded with success"
msgstr "Ühtegi viga pole, fail on üles laetud"
-#: ajax/upload.php:31
+#: ajax/upload.php:25
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr ""
-#: ajax/upload.php:33
+#: ajax/upload.php:27
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:35
+#: ajax/upload.php:29
msgid "The uploaded file was only partially uploaded"
msgstr "Fail laeti üles ainult osaliselt"
-#: ajax/upload.php:36
+#: ajax/upload.php:30
msgid "No file was uploaded"
msgstr "Ühtegi faili ei laetud üles"
-#: ajax/upload.php:37
+#: ajax/upload.php:31
msgid "Missing a temporary folder"
msgstr "Ajutiste failide kaust puudub"
-#: ajax/upload.php:38
+#: ajax/upload.php:32
msgid "Failed to write to disk"
msgstr "Kettale kirjutamine ebaõnnestus"
-#: ajax/upload.php:57
-msgid "Not enough space available"
+#: ajax/upload.php:48
+msgid "Not enough storage available"
msgstr ""
-#: ajax/upload.php:91
+#: ajax/upload.php:77
msgid "Invalid directory."
msgstr ""
@@ -85,11 +80,11 @@ msgstr ""
msgid "Files"
msgstr "Failid"
-#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
+#: js/fileactions.js:117 templates/index.php:81 templates/index.php:82
msgid "Unshare"
msgstr "Lõpeta jagamine"
-#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
+#: js/fileactions.js:119 templates/index.php:87 templates/index.php:88
msgid "Delete"
msgstr "Kustuta"
@@ -97,139 +92,151 @@ msgstr "Kustuta"
msgid "Rename"
msgstr "ümber"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "{new_name} already exists"
msgstr "{new_name} on juba olemas"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "replace"
msgstr "asenda"
-#: js/filelist.js:205
+#: js/filelist.js:208
msgid "suggest name"
msgstr "soovita nime"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "cancel"
msgstr "loobu"
-#: js/filelist.js:254
+#: js/filelist.js:253
msgid "replaced {new_name}"
msgstr "asendatud nimega {new_name}"
-#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
+#: js/filelist.js:253 js/filelist.js:255 js/filelist.js:286 js/filelist.js:288
msgid "undo"
msgstr "tagasi"
-#: js/filelist.js:256
+#: js/filelist.js:255
msgid "replaced {new_name} with {old_name}"
msgstr "asendas nime {old_name} nimega {new_name}"
-#: js/filelist.js:288
+#: js/filelist.js:286
msgid "unshared {files}"
msgstr "jagamata {files}"
-#: js/filelist.js:290
+#: js/filelist.js:288
msgid "deleted {files}"
msgstr "kustutatud {files}"
-#: js/files.js:48
+#: js/files.js:52
msgid "'.' is an invalid file name."
msgstr ""
-#: js/files.js:53
+#: js/files.js:56
msgid "File name cannot be empty."
msgstr ""
-#: js/files.js:62
+#: js/files.js:64
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr "Vigane nimi, '\\', '/', '<', '>', ':', '\"', '|', '?' ja '*' pole lubatud."
-#: js/files.js:204
+#: js/files.js:78
+msgid "Your storage is full, files can not be updated or synced anymore!"
+msgstr ""
+
+#: js/files.js:82
+msgid "Your storage is almost full ({usedSpacePercent}%)"
+msgstr ""
+
+#: js/files.js:219
msgid ""
"Your download is being prepared. This might take some time if the files are "
"big."
msgstr ""
-#: js/files.js:242
+#: js/files.js:256
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:242
+#: js/files.js:256
msgid "Upload Error"
msgstr "Ãœleslaadimise viga"
-#: js/files.js:259
+#: js/files.js:273
msgid "Close"
msgstr "Sulge"
-#: js/files.js:278 js/files.js:397 js/files.js:431
+#: js/files.js:292 js/files.js:408 js/files.js:439
msgid "Pending"
msgstr "Ootel"
-#: js/files.js:298
+#: js/files.js:312
msgid "1 file uploading"
msgstr "1 faili üleslaadimisel"
-#: js/files.js:301 js/files.js:357 js/files.js:372
+#: js/files.js:315 js/files.js:370 js/files.js:385
msgid "{count} files uploading"
msgstr "{count} faili üleslaadimist"
-#: js/files.js:376 js/files.js:414
+#: js/files.js:388 js/files.js:423
msgid "Upload cancelled."
msgstr "Üleslaadimine tühistati."
-#: js/files.js:486
+#: js/files.js:493
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:559
+#: js/files.js:566
msgid "URL cannot be empty."
msgstr "URL ei saa olla tühi."
-#: js/files.js:565
+#: js/files.js:571
msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
msgstr ""
-#: js/files.js:775
+#: js/files.js:784
msgid "{count} files scanned"
msgstr "{count} faili skännitud"
-#: js/files.js:783
+#: js/files.js:792
msgid "error while scanning"
msgstr "viga skännimisel"
-#: js/files.js:857 templates/index.php:64
+#: js/files.js:866 templates/index.php:63
msgid "Name"
msgstr "Nimi"
-#: js/files.js:858 templates/index.php:75
+#: js/files.js:867 templates/index.php:74
msgid "Size"
msgstr "Suurus"
-#: js/files.js:859 templates/index.php:77
+#: js/files.js:868 templates/index.php:76
msgid "Modified"
msgstr "Muudetud"
-#: js/files.js:878
+#: js/files.js:887
msgid "1 folder"
msgstr "1 kaust"
-#: js/files.js:880
+#: js/files.js:889
msgid "{count} folders"
msgstr "{count} kausta"
-#: js/files.js:888
+#: js/files.js:897
msgid "1 file"
msgstr "1 fail"
-#: js/files.js:890
+#: js/files.js:899
msgid "{count} files"
msgstr "{count} faili"
+#: lib/helper.php:11 templates/index.php:18
+msgid "Upload"
+msgstr "Lae üles"
+
#: templates/admin.php:5
msgid "File handling"
msgstr "Failide käsitlemine"
@@ -282,28 +289,28 @@ msgstr "Allikast"
msgid "Cancel upload"
msgstr "Tühista üleslaadimine"
-#: templates/index.php:56
+#: templates/index.php:55
msgid "Nothing in here. Upload something!"
msgstr "Siin pole midagi. Lae midagi üles!"
-#: templates/index.php:70
+#: templates/index.php:69
msgid "Download"
msgstr "Lae alla"
-#: templates/index.php:102
+#: templates/index.php:101
msgid "Upload too large"
msgstr "Ãœleslaadimine on liiga suur"
-#: templates/index.php:104
+#: templates/index.php:103
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:109
+#: templates/index.php:108
msgid "Files are being scanned, please wait."
msgstr "Faile skannitakse, palun oota"
-#: templates/index.php:112
+#: templates/index.php:111
msgid "Current scanning"
msgstr "Praegune skannimine"
diff --git a/l10n/eu/core.po b/l10n/eu/core.po
index 74900de6d94..a5f1efdf3e9 100644
--- a/l10n/eu/core.po
+++ b/l10n/eu/core.po
@@ -11,9 +11,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-01-20 00:05+0100\n"
-"PO-Revision-Date: 2013-01-19 00:07+0000\n"
-"Last-Translator: asieriko <asieriko@gmail.com>\n"
+"POT-Creation-Date: 2013-01-29 00:04+0100\n"
+"PO-Revision-Date: 2013-01-28 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"
@@ -83,59 +83,135 @@ msgstr "Ez da ezabatzeko kategoriarik hautatu."
msgid "Error removing %s from favorites."
msgstr "Errorea gertatu da %s gogokoetatik ezabatzean."
-#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61
+#: js/config.php:32
+msgid "Sunday"
+msgstr "Igandea"
+
+#: js/config.php:32
+msgid "Monday"
+msgstr "Astelehena"
+
+#: js/config.php:32
+msgid "Tuesday"
+msgstr "Asteartea"
+
+#: js/config.php:32
+msgid "Wednesday"
+msgstr "Asteazkena"
+
+#: js/config.php:32
+msgid "Thursday"
+msgstr "Osteguna"
+
+#: js/config.php:32
+msgid "Friday"
+msgstr "Ostirala"
+
+#: js/config.php:32
+msgid "Saturday"
+msgstr "Larunbata"
+
+#: js/config.php:33
+msgid "January"
+msgstr "Urtarrila"
+
+#: js/config.php:33
+msgid "February"
+msgstr "Otsaila"
+
+#: js/config.php:33
+msgid "March"
+msgstr "Martxoa"
+
+#: js/config.php:33
+msgid "April"
+msgstr "Apirila"
+
+#: js/config.php:33
+msgid "May"
+msgstr "Maiatza"
+
+#: js/config.php:33
+msgid "June"
+msgstr "Ekaina"
+
+#: js/config.php:33
+msgid "July"
+msgstr "Uztaila"
+
+#: js/config.php:33
+msgid "August"
+msgstr "Abuztua"
+
+#: js/config.php:33
+msgid "September"
+msgstr "Iraila"
+
+#: js/config.php:33
+msgid "October"
+msgstr "Urria"
+
+#: js/config.php:33
+msgid "November"
+msgstr "Azaroa"
+
+#: js/config.php:33
+msgid "December"
+msgstr "Abendua"
+
+#: js/js.js:280 templates/layout.user.php:47 templates/layout.user.php:48
msgid "Settings"
msgstr "Ezarpenak"
-#: js/js.js:706
+#: js/js.js:762
msgid "seconds ago"
msgstr "segundu"
-#: js/js.js:707
+#: js/js.js:763
msgid "1 minute ago"
msgstr "orain dela minutu 1"
-#: js/js.js:708
+#: js/js.js:764
msgid "{minutes} minutes ago"
msgstr "orain dela {minutes} minutu"
-#: js/js.js:709
+#: js/js.js:765
msgid "1 hour ago"
msgstr "orain dela ordu bat"
-#: js/js.js:710
+#: js/js.js:766
msgid "{hours} hours ago"
msgstr "orain dela {hours} ordu"
-#: js/js.js:711
+#: js/js.js:767
msgid "today"
msgstr "gaur"
-#: js/js.js:712
+#: js/js.js:768
msgid "yesterday"
msgstr "atzo"
-#: js/js.js:713
+#: js/js.js:769
msgid "{days} days ago"
msgstr "orain dela {days} egun"
-#: js/js.js:714
+#: js/js.js:770
msgid "last month"
msgstr "joan den hilabetean"
-#: js/js.js:715
+#: js/js.js:771
msgid "{months} months ago"
msgstr "orain dela {months} hilabete"
-#: js/js.js:716
+#: js/js.js:772
msgid "months ago"
msgstr "hilabete"
-#: js/js.js:717
+#: js/js.js:773
msgid "last year"
msgstr "joan den urtean"
-#: js/js.js:718
+#: js/js.js:774
msgid "years ago"
msgstr "urte"
@@ -294,6 +370,17 @@ msgstr "Bidaltzen ..."
msgid "Email sent"
msgstr "Eposta bidalia"
+#: js/update.js:14
+msgid ""
+"The update was unsuccessful. Please report this issue to the <a "
+"href=\"https://github.com/owncloud/core/issues\" target=\"_blank\">ownCloud "
+"community</a>."
+msgstr ""
+
+#: js/update.js:18
+msgid "The update was successful. Redirecting you to ownCloud now."
+msgstr ""
+
#: lostpassword/controller.php:47
msgid "ownCloud password reset"
msgstr "ownCloud-en pasahitza berrezarri"
@@ -445,87 +532,11 @@ msgstr "Datubasearen hostalaria"
msgid "Finish setup"
msgstr "Bukatu konfigurazioa"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Sunday"
-msgstr "Igandea"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Monday"
-msgstr "Astelehena"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Tuesday"
-msgstr "Asteartea"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Wednesday"
-msgstr "Asteazkena"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Thursday"
-msgstr "Osteguna"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Friday"
-msgstr "Ostirala"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Saturday"
-msgstr "Larunbata"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "January"
-msgstr "Urtarrila"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "February"
-msgstr "Otsaila"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "March"
-msgstr "Martxoa"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "April"
-msgstr "Apirila"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "May"
-msgstr "Maiatza"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "June"
-msgstr "Ekaina"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "July"
-msgstr "Uztaila"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "August"
-msgstr "Abuztua"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "September"
-msgstr "Iraila"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "October"
-msgstr "Urria"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "November"
-msgstr "Azaroa"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "December"
-msgstr "Abendua"
-
-#: templates/layout.guest.php:42
+#: templates/layout.guest.php:34
msgid "web services under your control"
msgstr "web zerbitzuak zure kontrolpean"
-#: templates/layout.user.php:45
+#: templates/layout.user.php:32
msgid "Log out"
msgstr "Saioa bukatu"
diff --git a/l10n/eu/files.po b/l10n/eu/files.po
index ac12e78e77e..a769d2ce3c3 100644
--- a/l10n/eu/files.po
+++ b/l10n/eu/files.po
@@ -6,14 +6,14 @@
# <asieriko@gmail.com>, 2013.
# <asieriko@gmail.com>, 2012.
# Asier Urio Larrea <asieriko@gmail.com>, 2011.
-# Piarres Beobide <pi@beobide.net>, 2012.
+# Piarres Beobide <pi@beobide.net>, 2012-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"
+"POT-Creation-Date: 2013-01-28 00:04+0100\n"
+"PO-Revision-Date: 2013-01-27 15:41+0000\n"
+"Last-Translator: Piarres Beobide <pi@beobide.net>\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"
@@ -21,11 +21,6 @@ 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"
@@ -40,46 +35,46 @@ msgstr "Ezin dira fitxategiak mugitu %s"
msgid "Unable to rename file"
msgstr "Ezin izan da fitxategia berrizendatu"
-#: ajax/upload.php:20
+#: ajax/upload.php:17
msgid "No file was uploaded. Unknown error"
msgstr "Ez da fitxategirik igo. Errore ezezaguna"
-#: ajax/upload.php:30
+#: ajax/upload.php:24
msgid "There is no error, the file uploaded with success"
msgstr "Ez da arazorik izan, fitxategia ongi igo da"
-#: ajax/upload.php:31
+#: ajax/upload.php:25
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:33
+#: ajax/upload.php:27
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:35
+#: ajax/upload.php:29
msgid "The uploaded file was only partially uploaded"
msgstr "Igotako fitxategiaren zati bat baino gehiago ez da igo"
-#: ajax/upload.php:36
+#: ajax/upload.php:30
msgid "No file was uploaded"
msgstr "Ez da fitxategirik igo"
-#: ajax/upload.php:37
+#: ajax/upload.php:31
msgid "Missing a temporary folder"
msgstr "Aldi baterako karpeta falta da"
-#: ajax/upload.php:38
+#: ajax/upload.php:32
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:48
+msgid "Not enough storage available"
+msgstr "Ez dago behar aina leku erabilgarri,"
-#: ajax/upload.php:91
+#: ajax/upload.php:77
msgid "Invalid directory."
msgstr "Baliogabeko karpeta."
@@ -87,11 +82,11 @@ msgstr "Baliogabeko karpeta."
msgid "Files"
msgstr "Fitxategiak"
-#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
+#: js/fileactions.js:117 templates/index.php:81 templates/index.php:82
msgid "Unshare"
msgstr "Ez elkarbanatu"
-#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
+#: js/fileactions.js:119 templates/index.php:87 templates/index.php:88
msgid "Delete"
msgstr "Ezabatu"
@@ -99,139 +94,151 @@ msgstr "Ezabatu"
msgid "Rename"
msgstr "Berrizendatu"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "{new_name} already exists"
msgstr "{new_name} dagoeneko existitzen da"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "replace"
msgstr "ordeztu"
-#: js/filelist.js:205
+#: js/filelist.js:208
msgid "suggest name"
msgstr "aholkatu izena"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "cancel"
msgstr "ezeztatu"
-#: js/filelist.js:254
+#: js/filelist.js:253
msgid "replaced {new_name}"
msgstr "ordezkatua {new_name}"
-#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
+#: js/filelist.js:253 js/filelist.js:255 js/filelist.js:286 js/filelist.js:288
msgid "undo"
msgstr "desegin"
-#: js/filelist.js:256
+#: js/filelist.js:255
msgid "replaced {new_name} with {old_name}"
msgstr " {new_name}-k {old_name} ordezkatu du"
-#: js/filelist.js:288
+#: js/filelist.js:286
msgid "unshared {files}"
msgstr "elkarbanaketa utzita {files}"
-#: js/filelist.js:290
+#: js/filelist.js:288
msgid "deleted {files}"
msgstr "ezabatuta {files}"
-#: js/files.js:48
+#: js/files.js:52
msgid "'.' is an invalid file name."
msgstr "'.' ez da fitxategi izen baliogarria."
-#: js/files.js:53
+#: js/files.js:56
msgid "File name cannot be empty."
msgstr "Fitxategi izena ezin da hutsa izan."
-#: js/files.js:62
+#: js/files.js:64
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr "IZen aliogabea, '\\', '/', '<', '>', ':', '\"', '|', '?' eta '*' ez daude baimenduta."
-#: js/files.js:204
+#: js/files.js:78
+msgid "Your storage is full, files can not be updated or synced anymore!"
+msgstr "Zure biltegiratzea beterik dago, ezingo duzu aurrerantzean fitxategirik igo edo sinkronizatu!"
+
+#: js/files.js:82
+msgid "Your storage is almost full ({usedSpacePercent}%)"
+msgstr "Zure biltegiratzea nahiko beterik dago (%{usedSpacePercent})"
+
+#: js/files.js:219
msgid ""
"Your download is being prepared. This might take some time if the files are "
"big."
-msgstr ""
+msgstr "Zure deskarga prestatu egin behar da. Denbora bat har lezake fitxategiak handiak badira. "
-#: js/files.js:242
+#: js/files.js:256
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:242
+#: js/files.js:256
msgid "Upload Error"
msgstr "Igotzean errore bat suertatu da"
-#: js/files.js:259
+#: js/files.js:273
msgid "Close"
msgstr "Itxi"
-#: js/files.js:278 js/files.js:397 js/files.js:431
+#: js/files.js:292 js/files.js:408 js/files.js:439
msgid "Pending"
msgstr "Zain"
-#: js/files.js:298
+#: js/files.js:312
msgid "1 file uploading"
msgstr "fitxategi 1 igotzen"
-#: js/files.js:301 js/files.js:357 js/files.js:372
+#: js/files.js:315 js/files.js:370 js/files.js:385
msgid "{count} files uploading"
msgstr "{count} fitxategi igotzen"
-#: js/files.js:376 js/files.js:414
+#: js/files.js:388 js/files.js:423
msgid "Upload cancelled."
msgstr "Igoera ezeztatuta"
-#: js/files.js:486
+#: js/files.js:493
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:559
+#: js/files.js:566
msgid "URL cannot be empty."
msgstr "URLa ezin da hutsik egon."
-#: js/files.js:565
+#: js/files.js:571
msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
msgstr "Baliogabeako karpeta izena. 'Shared' izena Owncloudek erreserbatzen du"
-#: js/files.js:775
+#: js/files.js:784
msgid "{count} files scanned"
msgstr "{count} fitxategi eskaneatuta"
-#: js/files.js:783
+#: js/files.js:792
msgid "error while scanning"
msgstr "errore bat egon da eskaneatzen zen bitartean"
-#: js/files.js:857 templates/index.php:64
+#: js/files.js:866 templates/index.php:63
msgid "Name"
msgstr "Izena"
-#: js/files.js:858 templates/index.php:75
+#: js/files.js:867 templates/index.php:74
msgid "Size"
msgstr "Tamaina"
-#: js/files.js:859 templates/index.php:77
+#: js/files.js:868 templates/index.php:76
msgid "Modified"
msgstr "Aldatuta"
-#: js/files.js:878
+#: js/files.js:887
msgid "1 folder"
msgstr "karpeta bat"
-#: js/files.js:880
+#: js/files.js:889
msgid "{count} folders"
msgstr "{count} karpeta"
-#: js/files.js:888
+#: js/files.js:897
msgid "1 file"
msgstr "fitxategi bat"
-#: js/files.js:890
+#: js/files.js:899
msgid "{count} files"
msgstr "{count} fitxategi"
+#: lib/helper.php:11 templates/index.php:18
+msgid "Upload"
+msgstr "Igo"
+
#: templates/admin.php:5
msgid "File handling"
msgstr "Fitxategien kudeaketa"
@@ -284,28 +291,28 @@ msgstr "Estekatik"
msgid "Cancel upload"
msgstr "Ezeztatu igoera"
-#: templates/index.php:56
+#: templates/index.php:55
msgid "Nothing in here. Upload something!"
msgstr "Ez dago ezer. Igo zerbait!"
-#: templates/index.php:70
+#: templates/index.php:69
msgid "Download"
msgstr "Deskargatu"
-#: templates/index.php:102
+#: templates/index.php:101
msgid "Upload too large"
msgstr "Igotakoa handiegia da"
-#: templates/index.php:104
+#: templates/index.php:103
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:109
+#: templates/index.php:108
msgid "Files are being scanned, please wait."
msgstr "Fitxategiak eskaneatzen ari da, itxoin mezedez."
-#: templates/index.php:112
+#: templates/index.php:111
msgid "Current scanning"
msgstr "Orain eskaneatzen ari da"
diff --git a/l10n/fa/core.po b/l10n/fa/core.po
index 363c28a30ab..b30d0698a47 100644
--- a/l10n/fa/core.po
+++ b/l10n/fa/core.po
@@ -4,12 +4,13 @@
#
# Translators:
# Hossein nag <h.sname@yahoo.com>, 2012.
+# mahdi Kereshteh <miki_mika1362@yahoo.com>, 2013.
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-21 08:21+0000\n"
+"POT-Creation-Date: 2013-01-29 00:04+0100\n"
+"PO-Revision-Date: 2013-01-28 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"
@@ -21,30 +22,30 @@ 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?"
@@ -58,18 +59,18 @@ msgstr "این گروه از قبل اضاÙÙ‡ شده"
#: ajax/vcategories/favorites.php:24
#: ajax/vcategories/removeFromFavorites.php:26
msgid "Object type not provided."
-msgstr ""
+msgstr "نوع شی ارائه نشده است."
#: ajax/vcategories/addToFavorites.php:30
#: ajax/vcategories/removeFromFavorites.php:30
#, php-format
msgid "%s ID not provided."
-msgstr ""
+msgstr "شناسه %s ارائه نشده است."
#: 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."
@@ -78,67 +79,143 @@ msgstr "هیج دسته ای برای پاک شدن انتخاب نشده است
#: ajax/vcategories/removeFromFavorites.php:35
#, php-format
msgid "Error removing %s from favorites."
-msgstr ""
+msgstr "خطای پاک کردن %s از علاقه مندی ها."
+
+#: js/config.php:32
+msgid "Sunday"
+msgstr "یکشنبه"
+
+#: js/config.php:32
+msgid "Monday"
+msgstr "دوشنبه"
+
+#: js/config.php:32
+msgid "Tuesday"
+msgstr "سه شنبه"
+
+#: js/config.php:32
+msgid "Wednesday"
+msgstr "چهارشنبه"
+
+#: js/config.php:32
+msgid "Thursday"
+msgstr "پنجشنبه"
+
+#: js/config.php:32
+msgid "Friday"
+msgstr "جمعه"
+
+#: js/config.php:32
+msgid "Saturday"
+msgstr "شنبه"
+
+#: js/config.php:33
+msgid "January"
+msgstr "ژانویه"
+
+#: js/config.php:33
+msgid "February"
+msgstr "Ùبریه"
+
+#: js/config.php:33
+msgid "March"
+msgstr "مارس"
+
+#: js/config.php:33
+msgid "April"
+msgstr "آوریل"
-#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61
+#: js/config.php:33
+msgid "May"
+msgstr "می"
+
+#: js/config.php:33
+msgid "June"
+msgstr "ژوئن"
+
+#: js/config.php:33
+msgid "July"
+msgstr "جولای"
+
+#: js/config.php:33
+msgid "August"
+msgstr "آگوست"
+
+#: js/config.php:33
+msgid "September"
+msgstr "سپتامبر"
+
+#: js/config.php:33
+msgid "October"
+msgstr "اکتبر"
+
+#: js/config.php:33
+msgid "November"
+msgstr "نوامبر"
+
+#: js/config.php:33
+msgid "December"
+msgstr "دسامبر"
+
+#: js/js.js:280 templates/layout.user.php:47 templates/layout.user.php:48
msgid "Settings"
msgstr "تنظیمات"
-#: js/js.js:706
+#: js/js.js:762
msgid "seconds ago"
msgstr "ثانیه‌ها پیش"
-#: js/js.js:707
+#: js/js.js:763
msgid "1 minute ago"
msgstr "1 دقیقه پیش"
-#: js/js.js:708
+#: js/js.js:764
msgid "{minutes} minutes ago"
-msgstr ""
+msgstr "{دقیقه ها} دقیقه های پیش"
-#: js/js.js:709
+#: js/js.js:765
msgid "1 hour ago"
-msgstr ""
+msgstr "1 ساعت پیش"
-#: js/js.js:710
+#: js/js.js:766
msgid "{hours} hours ago"
-msgstr ""
+msgstr "{ساعت ها} ساعت ها پیش"
-#: js/js.js:711
+#: js/js.js:767
msgid "today"
msgstr "امروز"
-#: js/js.js:712
+#: js/js.js:768
msgid "yesterday"
msgstr "دیروز"
-#: js/js.js:713
+#: js/js.js:769
msgid "{days} days ago"
-msgstr ""
+msgstr "{روزها} روزهای پیش"
-#: js/js.js:714
+#: js/js.js:770
msgid "last month"
msgstr "ماه قبل"
-#: js/js.js:715
+#: js/js.js:771
msgid "{months} months ago"
-msgstr ""
+msgstr "{ماه ها} ماه ها پیش"
-#: js/js.js:716
+#: js/js.js:772
msgid "months ago"
msgstr "ماه‌های قبل"
-#: js/js.js:717
+#: js/js.js:773
msgid "last year"
msgstr "سال قبل"
-#: js/js.js:718
+#: js/js.js:774
msgid "years ago"
msgstr "سال‌های قبل"
#: js/oc-dialogs.js:126
msgid "Choose"
-msgstr ""
+msgstr "انتخاب کردن"
#: js/oc-dialogs.js:146 js/oc-dialogs.js:166
msgid "Cancel"
@@ -159,7 +236,7 @@ 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 ""
+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
@@ -169,43 +246,43 @@ msgstr "خطا"
#: js/oc-vcategories.js:179
msgid "The app name is not specified."
-msgstr ""
+msgstr "نام برنامه تعیین نشده است."
#: js/oc-vcategories.js:194
msgid "The required file {file} is not installed!"
-msgstr ""
+msgstr "پرونده { پرونده} درخواست شده نصب نشده است !"
#: js/share.js:124 js/share.js:594
msgid "Error while sharing"
-msgstr ""
+msgstr "خطا درحال به اشتراک گذاشتن"
#: js/share.js:135
msgid "Error while unsharing"
-msgstr ""
+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 "به اشتراک گذاشته شده با شما و گروه {گروه} توسط {دارنده}"
#: js/share.js:153
msgid "Shared with you by {owner}"
-msgstr ""
+msgstr "به اشتراک گذاشته شده با شما توسط { دارنده}"
#: js/share.js:158
msgid "Share with"
-msgstr ""
+msgstr "به اشتراک گذاشتن با"
#: js/share.js:163
msgid "Share with link"
-msgstr ""
+msgstr "به اشتراک گذاشتن با پیوند"
#: js/share.js:166
msgid "Password protect"
-msgstr ""
+msgstr "نگهداری کردن رمز عبور"
#: js/share.js:168 templates/installation.php:44 templates/login.php:35
msgid "Password"
@@ -213,7 +290,7 @@ msgstr "گذرواژه"
#: js/share.js:172
msgid "Email link to person"
-msgstr ""
+msgstr "پیوند ایمیل برای شخص."
#: js/share.js:173
msgid "Send"
@@ -221,27 +298,27 @@ msgstr ""
#: js/share.js:177
msgid "Set expiration date"
-msgstr ""
+msgstr "تنظیم تاریخ انقضا"
#: js/share.js:178
msgid "Expiration date"
-msgstr ""
+msgstr "تاریخ انقضا"
#: js/share.js:210
msgid "Share via email:"
-msgstr ""
+msgstr "از طریق ایمیل به اشتراک بگذارید :"
#: 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}"
-msgstr ""
+msgstr "به اشتراک گذاشته شده در {بخش} با {کاربر}"
#: js/share.js:296
msgid "Unshare"
@@ -249,11 +326,11 @@ msgstr "لغو اشتراک"
#: js/share.js:308
msgid "can edit"
-msgstr ""
+msgstr "می توان ویرایش کرد"
#: js/share.js:310
msgid "access control"
-msgstr ""
+msgstr "کنترل دسترسی"
#: js/share.js:313
msgid "create"
@@ -261,27 +338,27 @@ msgstr "ایجاد"
#: js/share.js:316
msgid "update"
-msgstr ""
+msgstr "به روز"
#: js/share.js:319
msgid "delete"
-msgstr ""
+msgstr "پاک کردن"
#: js/share.js:322
msgid "share"
-msgstr ""
+msgstr "به اشتراک گذاشتن"
#: js/share.js:356 js/share.js:541
msgid "Password protected"
-msgstr ""
+msgstr "نگهداری از رمز عبور"
#: js/share.js:554
msgid "Error unsetting expiration date"
-msgstr ""
+msgstr "خطا در تنظیم نکردن تاریخ انقضا "
#: js/share.js:566
msgid "Error setting expiration date"
-msgstr ""
+msgstr "خطا در تنظیم تاریخ انقضا"
#: js/share.js:581
msgid "Sending ..."
@@ -291,6 +368,17 @@ msgstr ""
msgid "Email sent"
msgstr ""
+#: js/update.js:14
+msgid ""
+"The update was unsuccessful. Please report this issue to the <a "
+"href=\"https://github.com/owncloud/core/issues\" target=\"_blank\">ownCloud "
+"community</a>."
+msgstr ""
+
+#: js/update.js:18
+msgid "The update was successful. Redirecting you to ownCloud now."
+msgstr ""
+
#: lostpassword/controller.php:47
msgid "ownCloud password reset"
msgstr "پسورد ابرهای شما تغییرکرد"
@@ -305,11 +393,11 @@ 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:39
#: templates/login.php:28
@@ -380,7 +468,7 @@ msgstr "اخطار امنیتی"
msgid ""
"No secure random number generator is available, please enable the PHP "
"OpenSSL extension."
-msgstr ""
+msgstr "هیچ مولد تصادÙÛŒ امن در دسترس نیست، لطÙا Ùرمت PHP OpenSSL را Ùعال نمایید."
#: templates/installation.php:26
msgid ""
@@ -432,7 +520,7 @@ msgstr "نام پایگاه داده"
#: templates/installation.php:123
msgid "Database tablespace"
-msgstr ""
+msgstr "جدول پایگاه داده"
#: templates/installation.php:129
msgid "Database host"
@@ -442,103 +530,27 @@ msgstr "هاست پایگاه داده"
msgid "Finish setup"
msgstr "اتمام نصب"
-#: templates/layout.guest.php:15 templates/layout.user.php:17
-msgid "Sunday"
-msgstr "یکشنبه"
-
-#: templates/layout.guest.php:15 templates/layout.user.php:17
-msgid "Monday"
-msgstr "دوشنبه"
-
-#: templates/layout.guest.php:15 templates/layout.user.php:17
-msgid "Tuesday"
-msgstr "سه شنبه"
-
-#: templates/layout.guest.php:15 templates/layout.user.php:17
-msgid "Wednesday"
-msgstr "چهارشنبه"
-
-#: templates/layout.guest.php:15 templates/layout.user.php:17
-msgid "Thursday"
-msgstr "پنجشنبه"
-
-#: templates/layout.guest.php:15 templates/layout.user.php:17
-msgid "Friday"
-msgstr "جمعه"
-
-#: templates/layout.guest.php:15 templates/layout.user.php:17
-msgid "Saturday"
-msgstr "شنبه"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:18
-msgid "January"
-msgstr "ژانویه"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:18
-msgid "February"
-msgstr "Ùبریه"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:18
-msgid "March"
-msgstr "مارس"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:18
-msgid "April"
-msgstr "آوریل"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:18
-msgid "May"
-msgstr "می"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:18
-msgid "June"
-msgstr "ژوئن"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:18
-msgid "July"
-msgstr "جولای"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:18
-msgid "August"
-msgstr "آگوست"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:18
-msgid "September"
-msgstr "سپتامبر"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:18
-msgid "October"
-msgstr "اکتبر"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:18
-msgid "November"
-msgstr "نوامبر"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:18
-msgid "December"
-msgstr "دسامبر"
-
-#: templates/layout.guest.php:41
+#: templates/layout.guest.php:34
msgid "web services under your control"
msgstr "سرویس وب تحت کنترل شما"
-#: templates/layout.user.php:45
+#: templates/layout.user.php:32
msgid "Log out"
msgstr "خروج"
#: templates/login.php:10
msgid "Automatic logon rejected!"
-msgstr ""
+msgstr "ورود به سیستم اتوماتیک ردشد!"
#: templates/login.php:11
msgid ""
"If you did not change your password recently, your account may be "
"compromised!"
-msgstr ""
+msgstr "اگر شما اخیرا رمزعبور را تغییر نداده اید، حساب شما در معرض خطر می باشد !"
#: templates/login.php:13
msgid "Please change your password to secure your account again."
-msgstr ""
+msgstr "لطÙا رمز عبور خود را تغییر دهید تا مجددا حساب شما در امان باشد."
#: templates/login.php:19
msgid "Lost your password?"
diff --git a/l10n/fa/files.po b/l10n/fa/files.po
index 287637e3398..b153a65abbf 100644
--- a/l10n/fa/files.po
+++ b/l10n/fa/files.po
@@ -4,14 +4,15 @@
#
# Translators:
# Hossein nag <h.sname@yahoo.com>, 2012.
+# mahdi Kereshteh <miki_mika1362@yahoo.com>, 2013.
# Mohammad Dashtizadeh <mohammad@dashtizadeh.net>, 2012.
# vahid chakoshy <vchakoshy@gmail.com>, 2012.
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-21 08:21+0000\n"
+"POT-Creation-Date: 2013-01-27 00:04+0100\n"
+"PO-Revision-Date: 2013-01-26 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"
@@ -20,77 +21,72 @@ 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 ""
+msgstr "%s نمی تواند حرکت کند - در حال حاضر پرونده با این نام وجود دارد. "
#: ajax/move.php:24
#, php-format
msgid "Could not move %s"
-msgstr ""
+msgstr "%s نمی تواند حرکت کند "
#: ajax/rename.php:19
msgid "Unable to rename file"
-msgstr ""
+msgstr "قادر به تغییر نام پرونده نیست."
-#: ajax/upload.php:20
+#: ajax/upload.php:17
msgid "No file was uploaded. Unknown error"
msgstr "هیچ Ùایلی آپلود نشد.خطای ناشناس"
-#: ajax/upload.php:30
+#: ajax/upload.php:24
msgid "There is no error, the file uploaded with success"
msgstr "هیچ خطایی وجود ندارد Ùایل با موÙقیت بار گذاری شد"
-#: ajax/upload.php:31
+#: ajax/upload.php:25
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
-msgstr ""
+msgstr "پرونده آپلود شده بیش ازدستور ماکزیمم_حجم Ùایل_برای آپلود در php.ini استÙاده کرده است."
-#: ajax/upload.php:33
+#: ajax/upload.php:27
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:35
+#: ajax/upload.php:29
msgid "The uploaded file was only partially uploaded"
msgstr "مقدار Ú©Ù…ÛŒ از Ùایل بارگذاری شده"
-#: ajax/upload.php:36
+#: ajax/upload.php:30
msgid "No file was uploaded"
msgstr "هیچ Ùایلی بارگذاری نشده"
-#: ajax/upload.php:37
+#: ajax/upload.php:31
msgid "Missing a temporary folder"
msgstr "یک پوشه موقت گم شده است"
-#: ajax/upload.php:38
+#: ajax/upload.php:32
msgid "Failed to write to disk"
msgstr "نوشتن بر روی دیسک سخت ناموÙÙ‚ بود"
-#: ajax/upload.php:57
-msgid "Not enough space available"
+#: ajax/upload.php:48
+msgid "Not enough storage available"
msgstr ""
-#: ajax/upload.php:91
+#: ajax/upload.php:77
msgid "Invalid directory."
-msgstr ""
+msgstr "Ùهرست راهنما نامعتبر Ù…ÛŒ باشد."
#: appinfo/app.php:10
msgid "Files"
msgstr "Ùایل ها"
-#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
+#: js/fileactions.js:117 templates/index.php:81 templates/index.php:82
msgid "Unshare"
msgstr "لغو اشتراک"
-#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
+#: js/fileactions.js:119 templates/index.php:87 templates/index.php:88
msgid "Delete"
msgstr "پاک کردن"
@@ -98,138 +94,150 @@ msgstr "پاک کردن"
msgid "Rename"
msgstr "تغییرنام"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "{new_name} already exists"
-msgstr ""
+msgstr "{نام _جدید} در حال حاضر وجود دارد."
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "replace"
msgstr "جایگزین"
-#: js/filelist.js:205
+#: js/filelist.js:208
msgid "suggest name"
-msgstr ""
+msgstr "پیشنهاد نام"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "cancel"
msgstr "لغو"
-#: js/filelist.js:254
+#: js/filelist.js:253
msgid "replaced {new_name}"
-msgstr ""
+msgstr "{نام _جدید} جایگزین شد "
-#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
+#: js/filelist.js:253 js/filelist.js:255 js/filelist.js:286 js/filelist.js:288
msgid "undo"
msgstr "بازگشت"
-#: js/filelist.js:256
+#: js/filelist.js:255
msgid "replaced {new_name} with {old_name}"
-msgstr ""
+msgstr "{نام_جدید} با { نام_قدیمی} جایگزین شد."
-#: js/filelist.js:288
+#: js/filelist.js:286
msgid "unshared {files}"
-msgstr ""
+msgstr "{ Ùایل های } قسمت نشده"
-#: js/filelist.js:290
+#: js/filelist.js:288
msgid "deleted {files}"
-msgstr ""
+msgstr "{ Ùایل های } پاک شده"
-#: js/files.js:48
+#: js/files.js:52
msgid "'.' is an invalid file name."
-msgstr ""
+msgstr "'.' یک نام پرونده نامعتبر است."
-#: js/files.js:53
+#: js/files.js:56
msgid "File name cannot be empty."
-msgstr ""
+msgstr "نام پرونده نمی تواند خالی باشد."
-#: js/files.js:62
+#: js/files.js:64
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
+msgstr "نام نامعتبر ، '\\', '/', '<', '>', ':', '\"', '|', '?' و '*' مجاز نمی باشند."
+
+#: js/files.js:78
+msgid "Your storage is full, files can not be updated or synced anymore!"
msgstr ""
-#: js/files.js:204
+#: js/files.js:82
+msgid "Your storage is almost full ({usedSpacePercent}%)"
+msgstr ""
+
+#: js/files.js:219
msgid ""
"Your download is being prepared. This might take some time if the files are "
"big."
-msgstr ""
+msgstr "دانلود شما در حال آماده شدن است. در صورتیکه پرونده ها بزرگ باشند ممکن است مدتی طول بکشد."
-#: js/files.js:242
+#: js/files.js:256
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr "ناتوان در بارگذاری یا Ùایل یک پوشه است یا 0بایت دارد"
-#: js/files.js:242
+#: js/files.js:256
msgid "Upload Error"
msgstr "خطا در بار گذاری"
-#: js/files.js:259
+#: js/files.js:273
msgid "Close"
msgstr "بستن"
-#: js/files.js:278 js/files.js:397 js/files.js:431
+#: js/files.js:292 js/files.js:408 js/files.js:439
msgid "Pending"
msgstr "در انتظار"
-#: js/files.js:298
+#: js/files.js:312
msgid "1 file uploading"
-msgstr ""
+msgstr "1 پرونده آپلود شد."
-#: js/files.js:301 js/files.js:357 js/files.js:372
+#: js/files.js:315 js/files.js:370 js/files.js:385
msgid "{count} files uploading"
-msgstr ""
+msgstr "{ شمار } Ùایل های در حال آپلود"
-#: js/files.js:376 js/files.js:414
+#: js/files.js:388 js/files.js:423
msgid "Upload cancelled."
msgstr "بار گذاری لغو شد"
-#: js/files.js:486
+#: js/files.js:493
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
-msgstr ""
+msgstr "آپلودکردن پرونده در حال پیشرÙت است. در صورت خروج از صÙحه آپلود لغو میگردد. "
-#: js/files.js:559
+#: js/files.js:566
msgid "URL cannot be empty."
-msgstr ""
+msgstr "URL نمی تواند خالی باشد."
-#: js/files.js:565
+#: js/files.js:571
msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
-msgstr ""
+msgstr "نام پوشه نامعتبر است. استÙاده از \" به اشتراک گذاشته شده \" متعلق به سایت Owncloud است."
-#: js/files.js:775
+#: js/files.js:784
msgid "{count} files scanned"
-msgstr ""
+msgstr "{ شمار } Ùایل های اسکن شده"
-#: js/files.js:783
+#: js/files.js:792
msgid "error while scanning"
-msgstr ""
+msgstr "خطا در حال انجام اسکن "
-#: js/files.js:857 templates/index.php:64
+#: js/files.js:866 templates/index.php:63
msgid "Name"
msgstr "نام"
-#: js/files.js:858 templates/index.php:75
+#: js/files.js:867 templates/index.php:74
msgid "Size"
msgstr "اندازه"
-#: js/files.js:859 templates/index.php:77
+#: js/files.js:868 templates/index.php:76
msgid "Modified"
msgstr "تغییر یاÙته"
-#: js/files.js:878
+#: js/files.js:887
msgid "1 folder"
-msgstr ""
+msgstr "1 پوشه"
-#: js/files.js:880
+#: js/files.js:889
msgid "{count} folders"
-msgstr ""
+msgstr "{ شمار} پوشه ها"
-#: js/files.js:888
+#: js/files.js:897
msgid "1 file"
-msgstr ""
+msgstr "1 پرونده"
-#: js/files.js:890
+#: js/files.js:899
msgid "{count} files"
-msgstr ""
+msgstr "{ شمار } Ùایل ها"
+
+#: lib/helper.php:11 templates/index.php:18
+msgid "Upload"
+msgstr "بارگذاری"
#: templates/admin.php:5
msgid "File handling"
@@ -277,34 +285,34 @@ msgstr "پوشه"
#: templates/index.php:14
msgid "From link"
-msgstr ""
+msgstr "از پیوند"
#: templates/index.php:41
msgid "Cancel upload"
msgstr "متوق٠کردن بار گذاری"
-#: templates/index.php:56
+#: templates/index.php:55
msgid "Nothing in here. Upload something!"
msgstr "اینجا هیچ چیز نیست."
-#: templates/index.php:70
+#: templates/index.php:69
msgid "Download"
msgstr "بارگیری"
-#: templates/index.php:102
+#: templates/index.php:101
msgid "Upload too large"
msgstr "حجم بارگذاری بسیار زیاد است"
-#: templates/index.php:104
+#: templates/index.php:103
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:109
+#: templates/index.php:108
msgid "Files are being scanned, please wait."
msgstr "پرونده ها در حال بازرسی هستند لطÙا صبر کنید"
-#: templates/index.php:112
+#: templates/index.php:111
msgid "Current scanning"
msgstr "بازرسی کنونی"
diff --git a/l10n/fa/lib.po b/l10n/fa/lib.po
index 52e8d62eef4..7cceb3e4f3a 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: 2013-01-17 00:26+0100\n"
-"PO-Revision-Date: 2013-01-16 23:26+0000\n"
+"POT-Creation-Date: 2013-01-27 00:04+0100\n"
+"PO-Revision-Date: 2013-01-26 13:36+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"
@@ -58,7 +58,7 @@ msgstr ""
msgid "Selected files too large to generate zip file."
msgstr ""
-#: helper.php:228
+#: helper.php:229
msgid "couldn't be determined"
msgstr ""
@@ -101,7 +101,7 @@ msgstr "%d دقیقه پیش"
#: template.php:116
msgid "1 hour ago"
-msgstr ""
+msgstr "1 ساعت پیش"
#: template.php:117
#, php-format
diff --git a/l10n/fi_FI/core.po b/l10n/fi_FI/core.po
index 7aa46f13517..2aca3ded678 100644
--- a/l10n/fi_FI/core.po
+++ b/l10n/fi_FI/core.po
@@ -14,9 +14,9 @@ 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 09:13+0000\n"
-"Last-Translator: Jiri Grönroos <jiri.gronroos@iki.fi>\n"
+"POT-Creation-Date: 2013-01-29 00:04+0100\n"
+"PO-Revision-Date: 2013-01-28 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"
@@ -86,59 +86,135 @@ msgstr "Luokkia ei valittu poistettavaksi."
msgid "Error removing %s from favorites."
msgstr "Virhe poistaessa kohdetta %s suosikeista."
-#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61
+#: js/config.php:32
+msgid "Sunday"
+msgstr "Sunnuntai"
+
+#: js/config.php:32
+msgid "Monday"
+msgstr "Maanantai"
+
+#: js/config.php:32
+msgid "Tuesday"
+msgstr "Tiistai"
+
+#: js/config.php:32
+msgid "Wednesday"
+msgstr "Keskiviikko"
+
+#: js/config.php:32
+msgid "Thursday"
+msgstr "Torstai"
+
+#: js/config.php:32
+msgid "Friday"
+msgstr "Perjantai"
+
+#: js/config.php:32
+msgid "Saturday"
+msgstr "Lauantai"
+
+#: js/config.php:33
+msgid "January"
+msgstr "Tammikuu"
+
+#: js/config.php:33
+msgid "February"
+msgstr "Helmikuu"
+
+#: js/config.php:33
+msgid "March"
+msgstr "Maaliskuu"
+
+#: js/config.php:33
+msgid "April"
+msgstr "Huhtikuu"
+
+#: js/config.php:33
+msgid "May"
+msgstr "Toukokuu"
+
+#: js/config.php:33
+msgid "June"
+msgstr "Kesäkuu"
+
+#: js/config.php:33
+msgid "July"
+msgstr "Heinäkuu"
+
+#: js/config.php:33
+msgid "August"
+msgstr "Elokuu"
+
+#: js/config.php:33
+msgid "September"
+msgstr "Syyskuu"
+
+#: js/config.php:33
+msgid "October"
+msgstr "Lokakuu"
+
+#: js/config.php:33
+msgid "November"
+msgstr "Marraskuu"
+
+#: js/config.php:33
+msgid "December"
+msgstr "Joulukuu"
+
+#: js/js.js:280 templates/layout.user.php:47 templates/layout.user.php:48
msgid "Settings"
msgstr "Asetukset"
-#: js/js.js:711
+#: js/js.js:762
msgid "seconds ago"
msgstr "sekuntia sitten"
-#: js/js.js:712
+#: js/js.js:763
msgid "1 minute ago"
msgstr "1 minuutti sitten"
-#: js/js.js:713
+#: js/js.js:764
msgid "{minutes} minutes ago"
msgstr "{minutes} minuuttia sitten"
-#: js/js.js:714
+#: js/js.js:765
msgid "1 hour ago"
msgstr "1 tunti sitten"
-#: js/js.js:715
+#: js/js.js:766
msgid "{hours} hours ago"
msgstr "{hours} tuntia sitten"
-#: js/js.js:716
+#: js/js.js:767
msgid "today"
msgstr "tänään"
-#: js/js.js:717
+#: js/js.js:768
msgid "yesterday"
msgstr "eilen"
-#: js/js.js:718
+#: js/js.js:769
msgid "{days} days ago"
msgstr "{days} päivää sitten"
-#: js/js.js:719
+#: js/js.js:770
msgid "last month"
msgstr "viime kuussa"
-#: js/js.js:720
+#: js/js.js:771
msgid "{months} months ago"
msgstr "{months} kuukautta sitten"
-#: js/js.js:721
+#: js/js.js:772
msgid "months ago"
msgstr "kuukautta sitten"
-#: js/js.js:722
+#: js/js.js:773
msgid "last year"
msgstr "viime vuonna"
-#: js/js.js:723
+#: js/js.js:774
msgid "years ago"
msgstr "vuotta sitten"
@@ -297,6 +373,17 @@ msgstr "Lähetetään..."
msgid "Email sent"
msgstr "Sähköposti lähetetty"
+#: js/update.js:14
+msgid ""
+"The update was unsuccessful. Please report this issue to the <a "
+"href=\"https://github.com/owncloud/core/issues\" target=\"_blank\">ownCloud "
+"community</a>."
+msgstr ""
+
+#: js/update.js:18
+msgid "The update was successful. Redirecting you to ownCloud now."
+msgstr ""
+
#: lostpassword/controller.php:47
msgid "ownCloud password reset"
msgstr "ownCloud-salasanan nollaus"
@@ -448,87 +535,11 @@ msgstr "Tietokantapalvelin"
msgid "Finish setup"
msgstr "Viimeistele asennus"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Sunday"
-msgstr "Sunnuntai"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Monday"
-msgstr "Maanantai"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Tuesday"
-msgstr "Tiistai"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Wednesday"
-msgstr "Keskiviikko"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Thursday"
-msgstr "Torstai"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Friday"
-msgstr "Perjantai"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Saturday"
-msgstr "Lauantai"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "January"
-msgstr "Tammikuu"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "February"
-msgstr "Helmikuu"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "March"
-msgstr "Maaliskuu"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "April"
-msgstr "Huhtikuu"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "May"
-msgstr "Toukokuu"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "June"
-msgstr "Kesäkuu"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "July"
-msgstr "Heinäkuu"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "August"
-msgstr "Elokuu"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "September"
-msgstr "Syyskuu"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "October"
-msgstr "Lokakuu"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "November"
-msgstr "Marraskuu"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "December"
-msgstr "Joulukuu"
-
-#: templates/layout.guest.php:42
+#: templates/layout.guest.php:34
msgid "web services under your control"
msgstr "verkkopalvelut hallinnassasi"
-#: templates/layout.user.php:45
+#: templates/layout.user.php:32
msgid "Log out"
msgstr "Kirjaudu ulos"
diff --git a/l10n/fi_FI/files.po b/l10n/fi_FI/files.po
index a0d18954d98..16c19a658af 100644
--- a/l10n/fi_FI/files.po
+++ b/l10n/fi_FI/files.po
@@ -12,8 +12,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-01-21 00:04+0100\n"
-"PO-Revision-Date: 2013-01-20 11:41+0000\n"
+"POT-Creation-Date: 2013-01-29 00:04+0100\n"
+"PO-Revision-Date: 2013-01-28 18:44+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"
@@ -22,11 +22,6 @@ 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"
@@ -41,46 +36,46 @@ msgstr "Kohteen %s siirto ei onnistunut"
msgid "Unable to rename file"
msgstr "Tiedoston nimeäminen uudelleen ei onnistunut"
-#: ajax/upload.php:20
+#: ajax/upload.php:17
msgid "No file was uploaded. Unknown error"
msgstr "Tiedostoa ei lähetetty. Tuntematon virhe"
-#: ajax/upload.php:30
+#: ajax/upload.php:24
msgid "There is no error, the file uploaded with success"
msgstr "Ei virheitä, tiedosto lähetettiin onnistuneesti"
-#: ajax/upload.php:31
+#: ajax/upload.php:25
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr ""
-#: ajax/upload.php:33
+#: ajax/upload.php:27
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:35
+#: ajax/upload.php:29
msgid "The uploaded file was only partially uploaded"
msgstr "Tiedoston lähetys onnistui vain osittain"
-#: ajax/upload.php:36
+#: ajax/upload.php:30
msgid "No file was uploaded"
msgstr "Yhtäkään tiedostoa ei lähetetty"
-#: ajax/upload.php:37
+#: ajax/upload.php:31
msgid "Missing a temporary folder"
msgstr "Väliaikaiskansiota ei ole olemassa"
-#: ajax/upload.php:38
+#: ajax/upload.php:32
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:48
+msgid "Not enough storage available"
+msgstr "Tallennustilaa ei ole riittävästi käytettävissä"
-#: ajax/upload.php:91
+#: ajax/upload.php:77
msgid "Invalid directory."
msgstr "Virheellinen kansio."
@@ -88,11 +83,11 @@ msgstr "Virheellinen kansio."
msgid "Files"
msgstr "Tiedostot"
-#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
+#: js/fileactions.js:117 templates/index.php:81 templates/index.php:82
msgid "Unshare"
msgstr "Peru jakaminen"
-#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
+#: js/fileactions.js:119 templates/index.php:87 templates/index.php:88
msgid "Delete"
msgstr "Poista"
@@ -100,139 +95,151 @@ msgstr "Poista"
msgid "Rename"
msgstr "Nimeä uudelleen"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "{new_name} already exists"
msgstr "{new_name} on jo olemassa"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "replace"
msgstr "korvaa"
-#: js/filelist.js:205
+#: js/filelist.js:208
msgid "suggest name"
msgstr "ehdota nimeä"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "cancel"
msgstr "peru"
-#: js/filelist.js:254
+#: js/filelist.js:253
msgid "replaced {new_name}"
msgstr ""
-#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
+#: js/filelist.js:253 js/filelist.js:255 js/filelist.js:286 js/filelist.js:288
msgid "undo"
msgstr "kumoa"
-#: js/filelist.js:256
+#: js/filelist.js:255
msgid "replaced {new_name} with {old_name}"
msgstr ""
-#: js/filelist.js:288
+#: js/filelist.js:286
msgid "unshared {files}"
msgstr ""
-#: js/filelist.js:290
+#: js/filelist.js:288
msgid "deleted {files}"
msgstr ""
-#: js/files.js:48
+#: js/files.js:52
msgid "'.' is an invalid file name."
msgstr "'.' on virheellinen nimi tiedostolle."
-#: js/files.js:53
+#: js/files.js:56
msgid "File name cannot be empty."
msgstr "Tiedoston nimi ei voi olla tyhjä."
-#: js/files.js:62
+#: js/files.js:64
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr "Virheellinen nimi, merkit '\\', '/', '<', '>', ':', '\"', '|', '?' ja '*' eivät ole sallittuja."
-#: js/files.js:204
+#: js/files.js:78
+msgid "Your storage is full, files can not be updated or synced anymore!"
+msgstr "Tallennustila on loppu, tiedostoja ei voi enää päivittää tai synkronoida!"
+
+#: js/files.js:82
+msgid "Your storage is almost full ({usedSpacePercent}%)"
+msgstr "Tallennustila on melkein loppu ({usedSpacePercent}%)"
+
+#: js/files.js:219
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:242
+#: js/files.js:256
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:242
+#: js/files.js:256
msgid "Upload Error"
msgstr "Lähetysvirhe."
-#: js/files.js:259
+#: js/files.js:273
msgid "Close"
msgstr "Sulje"
-#: js/files.js:278 js/files.js:397 js/files.js:431
+#: js/files.js:292 js/files.js:408 js/files.js:439
msgid "Pending"
msgstr "Odottaa"
-#: js/files.js:298
+#: js/files.js:312
msgid "1 file uploading"
msgstr ""
-#: js/files.js:301 js/files.js:357 js/files.js:372
+#: js/files.js:315 js/files.js:370 js/files.js:385
msgid "{count} files uploading"
msgstr ""
-#: js/files.js:376 js/files.js:414
+#: js/files.js:388 js/files.js:423
msgid "Upload cancelled."
msgstr "Lähetys peruttu."
-#: js/files.js:486
+#: js/files.js:493
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:559
+#: js/files.js:566
msgid "URL cannot be empty."
msgstr "Verkko-osoite ei voi olla tyhjä"
-#: js/files.js:565
+#: js/files.js:571
msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
msgstr ""
-#: js/files.js:775
+#: js/files.js:784
msgid "{count} files scanned"
msgstr ""
-#: js/files.js:783
+#: js/files.js:792
msgid "error while scanning"
msgstr ""
-#: js/files.js:857 templates/index.php:64
+#: js/files.js:866 templates/index.php:63
msgid "Name"
msgstr "Nimi"
-#: js/files.js:858 templates/index.php:75
+#: js/files.js:867 templates/index.php:74
msgid "Size"
msgstr "Koko"
-#: js/files.js:859 templates/index.php:77
+#: js/files.js:868 templates/index.php:76
msgid "Modified"
msgstr "Muutettu"
-#: js/files.js:878
+#: js/files.js:887
msgid "1 folder"
msgstr "1 kansio"
-#: js/files.js:880
+#: js/files.js:889
msgid "{count} folders"
msgstr "{count} kansiota"
-#: js/files.js:888
+#: js/files.js:897
msgid "1 file"
msgstr "1 tiedosto"
-#: js/files.js:890
+#: js/files.js:899
msgid "{count} files"
msgstr "{count} tiedostoa"
+#: lib/helper.php:11 templates/index.php:18
+msgid "Upload"
+msgstr "Lähetä"
+
#: templates/admin.php:5
msgid "File handling"
msgstr "Tiedostonhallinta"
@@ -285,28 +292,28 @@ msgstr "Linkistä"
msgid "Cancel upload"
msgstr "Peru lähetys"
-#: templates/index.php:56
+#: templates/index.php:55
msgid "Nothing in here. Upload something!"
msgstr "Täällä ei ole mitään. Lähetä tänne jotakin!"
-#: templates/index.php:70
+#: templates/index.php:69
msgid "Download"
msgstr "Lataa"
-#: templates/index.php:102
+#: templates/index.php:101
msgid "Upload too large"
msgstr "Lähetettävä tiedosto on liian suuri"
-#: templates/index.php:104
+#: templates/index.php:103
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:109
+#: templates/index.php:108
msgid "Files are being scanned, please wait."
msgstr "Tiedostoja tarkistetaan, odota hetki."
-#: templates/index.php:112
+#: templates/index.php:111
msgid "Current scanning"
msgstr "Tämänhetkinen tutkinta"
diff --git a/l10n/fr/core.po b/l10n/fr/core.po
index 512141ccb68..7e1a32b0354 100644
--- a/l10n/fr/core.po
+++ b/l10n/fr/core.po
@@ -18,8 +18,8 @@ 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"
+"POT-Creation-Date: 2013-01-29 00:04+0100\n"
+"PO-Revision-Date: 2013-01-28 23:05+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"
@@ -90,59 +90,135 @@ msgstr "Aucune catégorie sélectionnée pour suppression"
msgid "Error removing %s from favorites."
msgstr "Erreur lors de la suppression de %s des favoris."
-#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61
+#: js/config.php:32
+msgid "Sunday"
+msgstr "Dimanche"
+
+#: js/config.php:32
+msgid "Monday"
+msgstr "Lundi"
+
+#: js/config.php:32
+msgid "Tuesday"
+msgstr "Mardi"
+
+#: js/config.php:32
+msgid "Wednesday"
+msgstr "Mercredi"
+
+#: js/config.php:32
+msgid "Thursday"
+msgstr "Jeudi"
+
+#: js/config.php:32
+msgid "Friday"
+msgstr "Vendredi"
+
+#: js/config.php:32
+msgid "Saturday"
+msgstr "Samedi"
+
+#: js/config.php:33
+msgid "January"
+msgstr "janvier"
+
+#: js/config.php:33
+msgid "February"
+msgstr "février"
+
+#: js/config.php:33
+msgid "March"
+msgstr "mars"
+
+#: js/config.php:33
+msgid "April"
+msgstr "avril"
+
+#: js/config.php:33
+msgid "May"
+msgstr "mai"
+
+#: js/config.php:33
+msgid "June"
+msgstr "juin"
+
+#: js/config.php:33
+msgid "July"
+msgstr "juillet"
+
+#: js/config.php:33
+msgid "August"
+msgstr "août"
+
+#: js/config.php:33
+msgid "September"
+msgstr "septembre"
+
+#: js/config.php:33
+msgid "October"
+msgstr "octobre"
+
+#: js/config.php:33
+msgid "November"
+msgstr "novembre"
+
+#: js/config.php:33
+msgid "December"
+msgstr "décembre"
+
+#: js/js.js:280 templates/layout.user.php:47 templates/layout.user.php:48
msgid "Settings"
msgstr "Paramètres"
-#: js/js.js:711
+#: js/js.js:762
msgid "seconds ago"
msgstr "il y a quelques secondes"
-#: js/js.js:712
+#: js/js.js:763
msgid "1 minute ago"
msgstr "il y a une minute"
-#: js/js.js:713
+#: js/js.js:764
msgid "{minutes} minutes ago"
msgstr "il y a {minutes} minutes"
-#: js/js.js:714
+#: js/js.js:765
msgid "1 hour ago"
msgstr "Il y a une heure"
-#: js/js.js:715
+#: js/js.js:766
msgid "{hours} hours ago"
msgstr "Il y a {hours} heures"
-#: js/js.js:716
+#: js/js.js:767
msgid "today"
msgstr "aujourd'hui"
-#: js/js.js:717
+#: js/js.js:768
msgid "yesterday"
msgstr "hier"
-#: js/js.js:718
+#: js/js.js:769
msgid "{days} days ago"
msgstr "il y a {days} jours"
-#: js/js.js:719
+#: js/js.js:770
msgid "last month"
msgstr "le mois dernier"
-#: js/js.js:720
+#: js/js.js:771
msgid "{months} months ago"
msgstr "Il y a {months} mois"
-#: js/js.js:721
+#: js/js.js:772
msgid "months ago"
msgstr "il y a plusieurs mois"
-#: js/js.js:722
+#: js/js.js:773
msgid "last year"
msgstr "l'année dernière"
-#: js/js.js:723
+#: js/js.js:774
msgid "years ago"
msgstr "il y a plusieurs années"
@@ -301,6 +377,17 @@ msgstr "En cours d'envoi ..."
msgid "Email sent"
msgstr "Email envoyé"
+#: js/update.js:14
+msgid ""
+"The update was unsuccessful. Please report this issue to the <a "
+"href=\"https://github.com/owncloud/core/issues\" target=\"_blank\">ownCloud "
+"community</a>."
+msgstr ""
+
+#: js/update.js:18
+msgid "The update was successful. Redirecting you to ownCloud now."
+msgstr ""
+
#: lostpassword/controller.php:47
msgid "ownCloud password reset"
msgstr "Réinitialisation de votre mot de passe Owncloud"
@@ -452,87 +539,11 @@ msgstr "Serveur de la base de données"
msgid "Finish setup"
msgstr "Terminer l'installation"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Sunday"
-msgstr "Dimanche"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Monday"
-msgstr "Lundi"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Tuesday"
-msgstr "Mardi"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Wednesday"
-msgstr "Mercredi"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Thursday"
-msgstr "Jeudi"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Friday"
-msgstr "Vendredi"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Saturday"
-msgstr "Samedi"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "January"
-msgstr "janvier"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "February"
-msgstr "février"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "March"
-msgstr "mars"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "April"
-msgstr "avril"
-
-#: 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 "juin"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "July"
-msgstr "juillet"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "August"
-msgstr "août"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "September"
-msgstr "septembre"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "October"
-msgstr "octobre"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "November"
-msgstr "novembre"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "December"
-msgstr "décembre"
-
-#: templates/layout.guest.php:42
+#: templates/layout.guest.php:34
msgid "web services under your control"
msgstr "services web sous votre contrôle"
-#: templates/layout.user.php:45
+#: templates/layout.user.php:32
msgid "Log out"
msgstr "Se déconnecter"
diff --git a/l10n/fr/files.po b/l10n/fr/files.po
index ca272a1b288..2f7153c3b1d 100644
--- a/l10n/fr/files.po
+++ b/l10n/fr/files.po
@@ -19,8 +19,8 @@ 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"
+"POT-Creation-Date: 2013-01-27 00:04+0100\n"
+"PO-Revision-Date: 2013-01-26 23:05+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"
@@ -29,11 +29,6 @@ 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"
@@ -48,46 +43,46 @@ msgstr "Impossible de déplacer %s"
msgid "Unable to rename file"
msgstr "Impossible de renommer le fichier"
-#: ajax/upload.php:20
+#: ajax/upload.php:17
msgid "No file was uploaded. Unknown error"
msgstr "Aucun fichier n'a été chargé. Erreur inconnue"
-#: ajax/upload.php:30
+#: ajax/upload.php:24
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:31
+#: ajax/upload.php:25
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:33
+#: ajax/upload.php:27
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:35
+#: ajax/upload.php:29
msgid "The uploaded file was only partially uploaded"
msgstr "Le fichier n'a été que partiellement téléversé"
-#: ajax/upload.php:36
+#: ajax/upload.php:30
msgid "No file was uploaded"
msgstr "Aucun fichier n'a été téléversé"
-#: ajax/upload.php:37
+#: ajax/upload.php:31
msgid "Missing a temporary folder"
msgstr "Il manque un répertoire temporaire"
-#: ajax/upload.php:38
+#: ajax/upload.php:32
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:48
+msgid "Not enough storage available"
+msgstr ""
-#: ajax/upload.php:91
+#: ajax/upload.php:77
msgid "Invalid directory."
msgstr "Dossier invalide."
@@ -95,11 +90,11 @@ msgstr "Dossier invalide."
msgid "Files"
msgstr "Fichiers"
-#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
+#: js/fileactions.js:117 templates/index.php:81 templates/index.php:82
msgid "Unshare"
msgstr "Ne plus partager"
-#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
+#: js/fileactions.js:119 templates/index.php:87 templates/index.php:88
msgid "Delete"
msgstr "Supprimer"
@@ -107,139 +102,151 @@ msgstr "Supprimer"
msgid "Rename"
msgstr "Renommer"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "{new_name} already exists"
msgstr "{new_name} existe déjà"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "replace"
msgstr "remplacer"
-#: js/filelist.js:205
+#: js/filelist.js:208
msgid "suggest name"
msgstr "Suggérer un nom"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "cancel"
msgstr "annuler"
-#: js/filelist.js:254
+#: js/filelist.js:253
msgid "replaced {new_name}"
msgstr "{new_name} a été remplacé"
-#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
+#: js/filelist.js:253 js/filelist.js:255 js/filelist.js:286 js/filelist.js:288
msgid "undo"
msgstr "annuler"
-#: js/filelist.js:256
+#: js/filelist.js:255
msgid "replaced {new_name} with {old_name}"
msgstr "{new_name} a été remplacé par {old_name}"
-#: js/filelist.js:288
+#: js/filelist.js:286
msgid "unshared {files}"
msgstr "Fichiers non partagés : {files}"
-#: js/filelist.js:290
+#: js/filelist.js:288
msgid "deleted {files}"
msgstr "Fichiers supprimés : {files}"
-#: js/files.js:48
+#: js/files.js:52
msgid "'.' is an invalid file name."
msgstr "'.' n'est pas un nom de fichier valide."
-#: js/files.js:53
+#: js/files.js:56
msgid "File name cannot be empty."
msgstr "Le nom de fichier ne peut être vide."
-#: js/files.js:62
+#: js/files.js:64
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr "Nom invalide, les caractères '\\', '/', '<', '>', ':', '\"', '|', '?' et '*' ne sont pas autorisés."
-#: js/files.js:204
+#: js/files.js:78
+msgid "Your storage is full, files can not be updated or synced anymore!"
+msgstr ""
+
+#: js/files.js:82
+msgid "Your storage is almost full ({usedSpacePercent}%)"
+msgstr ""
+
+#: js/files.js:219
msgid ""
"Your download is being prepared. This might take some time if the files are "
"big."
-msgstr ""
+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:242
+#: js/files.js:256
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:242
+#: js/files.js:256
msgid "Upload Error"
msgstr "Erreur de chargement"
-#: js/files.js:259
+#: js/files.js:273
msgid "Close"
msgstr "Fermer"
-#: js/files.js:278 js/files.js:397 js/files.js:431
+#: js/files.js:292 js/files.js:408 js/files.js:439
msgid "Pending"
msgstr "En cours"
-#: js/files.js:298
+#: js/files.js:312
msgid "1 file uploading"
msgstr "1 fichier en cours de téléchargement"
-#: js/files.js:301 js/files.js:357 js/files.js:372
+#: js/files.js:315 js/files.js:370 js/files.js:385
msgid "{count} files uploading"
msgstr "{count} fichiers téléversés"
-#: js/files.js:376 js/files.js:414
+#: js/files.js:388 js/files.js:423
msgid "Upload cancelled."
msgstr "Chargement annulé."
-#: js/files.js:486
+#: js/files.js:493
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:559
+#: js/files.js:566
msgid "URL cannot be empty."
msgstr "L'URL ne peut-être vide"
-#: js/files.js:565
+#: js/files.js:571
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
+#: js/files.js:784
msgid "{count} files scanned"
msgstr "{count} fichiers indexés"
-#: js/files.js:783
+#: js/files.js:792
msgid "error while scanning"
msgstr "erreur lors de l'indexation"
-#: js/files.js:857 templates/index.php:64
+#: js/files.js:866 templates/index.php:63
msgid "Name"
msgstr "Nom"
-#: js/files.js:858 templates/index.php:75
+#: js/files.js:867 templates/index.php:74
msgid "Size"
msgstr "Taille"
-#: js/files.js:859 templates/index.php:77
+#: js/files.js:868 templates/index.php:76
msgid "Modified"
msgstr "Modifié"
-#: js/files.js:878
+#: js/files.js:887
msgid "1 folder"
msgstr "1 dossier"
-#: js/files.js:880
+#: js/files.js:889
msgid "{count} folders"
msgstr "{count} dossiers"
-#: js/files.js:888
+#: js/files.js:897
msgid "1 file"
msgstr "1 fichier"
-#: js/files.js:890
+#: js/files.js:899
msgid "{count} files"
msgstr "{count} fichiers"
+#: lib/helper.php:11 templates/index.php:18
+msgid "Upload"
+msgstr "Envoyer"
+
#: templates/admin.php:5
msgid "File handling"
msgstr "Gestion des fichiers"
@@ -292,28 +299,28 @@ msgstr "Depuis le lien"
msgid "Cancel upload"
msgstr "Annuler l'envoi"
-#: templates/index.php:56
+#: templates/index.php:55
msgid "Nothing in here. Upload something!"
msgstr "Il n'y a rien ici ! Envoyez donc quelque chose :)"
-#: templates/index.php:70
+#: templates/index.php:69
msgid "Download"
msgstr "Télécharger"
-#: templates/index.php:102
+#: templates/index.php:101
msgid "Upload too large"
msgstr "Fichier trop volumineux"
-#: templates/index.php:104
+#: templates/index.php:103
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:109
+#: templates/index.php:108
msgid "Files are being scanned, please wait."
msgstr "Les fichiers sont en cours d'analyse, veuillez patienter."
-#: templates/index.php:112
+#: templates/index.php:111
msgid "Current scanning"
msgstr "Analyse en cours"
diff --git a/l10n/fr/files_encryption.po b/l10n/fr/files_encryption.po
index 8c8754a7a81..f1305f621d6 100644
--- a/l10n/fr/files_encryption.po
+++ b/l10n/fr/files_encryption.po
@@ -3,14 +3,14 @@
# 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: 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"
+"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"
@@ -22,53 +22,53 @@ msgstr ""
msgid ""
"Please switch to your ownCloud client and change your encryption password to"
" complete the conversion."
-msgstr ""
+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 ""
+msgstr "Mode de chiffrement changé en chiffrement côté client"
#: js/settings-personal.js:21
msgid "Change encryption password to login password"
-msgstr ""
+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 ""
+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 ""
+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 ""
+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 ""
+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 ""
+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 ""
+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 ""
+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 ""
+msgstr "Propre à l'utilisateur (laisse le choix à l'utilisateur)"
#: templates/settings.php:65
msgid "Encryption"
diff --git a/l10n/fr/lib.po b/l10n/fr/lib.po
index 07fd3669c49..0ae131d5c58 100644
--- a/l10n/fr/lib.po
+++ b/l10n/fr/lib.po
@@ -4,14 +4,14 @@
#
# 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: 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"
+"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"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -59,9 +59,9 @@ msgstr "Retour aux Fichiers"
msgid "Selected files too large to generate zip file."
msgstr "Les fichiers sélectionnés sont trop volumineux pour être compressés."
-#: helper.php:228
+#: helper.php:229
msgid "couldn't be determined"
-msgstr ""
+msgstr "impossible à déterminer"
#: json.php:28
msgid "Application is not enabled"
diff --git a/l10n/fr/user_ldap.po b/l10n/fr/user_ldap.po
index c437634e5ed..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: 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"
+"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"
@@ -34,7 +34,7 @@ msgstr "<b>Avertissement:</b> Les applications user_ldap et user_webdavauth sont
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 ""
+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"
@@ -51,11 +51,11 @@ msgstr "DN Racine"
#: templates/settings.php:16
msgid "One Base DN per line"
-msgstr ""
+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"
@@ -66,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"
@@ -126,7 +126,7 @@ msgstr "DN racine de l'arbre utilisateurs"
#: templates/settings.php:25
msgid "One User Base DN per line"
-msgstr ""
+msgstr "Un DN racine utilisateur par ligne"
#: templates/settings.php:26
msgid "Base Group Tree"
@@ -134,7 +134,7 @@ msgstr "DN racine de l'arbre groupes"
#: templates/settings.php:26
msgid "One Group Base DN per line"
-msgstr ""
+msgstr "Un DN racine groupe par ligne"
#: templates/settings.php:27
msgid "Group-Member association"
diff --git a/l10n/fr/user_webdavauth.po b/l10n/fr/user_webdavauth.po
index ec81f76c54d..4d665c8ff42 100644
--- a/l10n/fr/user_webdavauth.po
+++ b/l10n/fr/user_webdavauth.po
@@ -12,9 +12,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-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"
+"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"
@@ -24,7 +24,7 @@ msgstr ""
#: templates/settings.php:3
msgid "WebDAV Authentication"
-msgstr ""
+msgstr "Authentification WebDAV"
#: templates/settings.php:4
msgid "URL: http://"
@@ -35,4 +35,4 @@ 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 ""
+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 de2454855f0..4793450f690 100644
--- a/l10n/gl/core.po
+++ b/l10n/gl/core.po
@@ -10,8 +10,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-01-15 00:03+0100\n"
-"PO-Revision-Date: 2013-01-14 23:03+0000\n"
+"POT-Creation-Date: 2013-01-29 00:04+0100\n"
+"PO-Revision-Date: 2013-01-28 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"
@@ -82,59 +82,135 @@ msgstr "Non hai categorías seleccionadas para eliminar."
msgid "Error removing %s from favorites."
msgstr "Produciuse un erro ao eliminar %s dos favoritos."
-#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61
+#: js/config.php:32
+msgid "Sunday"
+msgstr "Domingo"
+
+#: js/config.php:32
+msgid "Monday"
+msgstr "Luns"
+
+#: js/config.php:32
+msgid "Tuesday"
+msgstr "Martes"
+
+#: js/config.php:32
+msgid "Wednesday"
+msgstr "Mércores"
+
+#: js/config.php:32
+msgid "Thursday"
+msgstr "Xoves"
+
+#: js/config.php:32
+msgid "Friday"
+msgstr "Venres"
+
+#: js/config.php:32
+msgid "Saturday"
+msgstr "Sábado"
+
+#: js/config.php:33
+msgid "January"
+msgstr "xaneiro"
+
+#: js/config.php:33
+msgid "February"
+msgstr "febreiro"
+
+#: js/config.php:33
+msgid "March"
+msgstr "marzo"
+
+#: js/config.php:33
+msgid "April"
+msgstr "abril"
+
+#: js/config.php:33
+msgid "May"
+msgstr "maio"
+
+#: js/config.php:33
+msgid "June"
+msgstr "xuño"
+
+#: js/config.php:33
+msgid "July"
+msgstr "xullo"
+
+#: js/config.php:33
+msgid "August"
+msgstr "agosto"
+
+#: js/config.php:33
+msgid "September"
+msgstr "setembro"
+
+#: js/config.php:33
+msgid "October"
+msgstr "outubro"
+
+#: js/config.php:33
+msgid "November"
+msgstr "novembro"
+
+#: js/config.php:33
+msgid "December"
+msgstr "decembro"
+
+#: js/js.js:280 templates/layout.user.php:47 templates/layout.user.php:48
msgid "Settings"
msgstr "Configuracións"
-#: js/js.js:711
+#: js/js.js:762
msgid "seconds ago"
msgstr "segundos atrás"
-#: js/js.js:712
+#: js/js.js:763
msgid "1 minute ago"
msgstr "hai 1 minuto"
-#: js/js.js:713
+#: js/js.js:764
msgid "{minutes} minutes ago"
msgstr "hai {minutes} minutos"
-#: js/js.js:714
+#: js/js.js:765
msgid "1 hour ago"
msgstr "hai 1 hora"
-#: js/js.js:715
+#: js/js.js:766
msgid "{hours} hours ago"
msgstr "hai {hours} horas"
-#: js/js.js:716
+#: js/js.js:767
msgid "today"
msgstr "hoxe"
-#: js/js.js:717
+#: js/js.js:768
msgid "yesterday"
msgstr "onte"
-#: js/js.js:718
+#: js/js.js:769
msgid "{days} days ago"
msgstr "hai {days} días"
-#: js/js.js:719
+#: js/js.js:770
msgid "last month"
msgstr "último mes"
-#: js/js.js:720
+#: js/js.js:771
msgid "{months} months ago"
msgstr "hai {months} meses"
-#: js/js.js:721
+#: js/js.js:772
msgid "months ago"
msgstr "meses atrás"
-#: js/js.js:722
+#: js/js.js:773
msgid "last year"
msgstr "último ano"
-#: js/js.js:723
+#: js/js.js:774
msgid "years ago"
msgstr "anos atrás"
@@ -293,6 +369,17 @@ msgstr "Enviando..."
msgid "Email sent"
msgstr "Correo enviado"
+#: js/update.js:14
+msgid ""
+"The update was unsuccessful. Please report this issue to the <a "
+"href=\"https://github.com/owncloud/core/issues\" target=\"_blank\">ownCloud "
+"community</a>."
+msgstr ""
+
+#: js/update.js:18
+msgid "The update was successful. Redirecting you to ownCloud now."
+msgstr ""
+
#: lostpassword/controller.php:47
msgid "ownCloud password reset"
msgstr "Restabelecer o contrasinal de ownCloud"
@@ -444,87 +531,11 @@ msgstr "Servidor da base de datos"
msgid "Finish setup"
msgstr "Rematar a configuración"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Sunday"
-msgstr "Domingo"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Monday"
-msgstr "Luns"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Tuesday"
-msgstr "Martes"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Wednesday"
-msgstr "Mércores"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Thursday"
-msgstr "Xoves"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Friday"
-msgstr "Venres"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Saturday"
-msgstr "Sábado"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "January"
-msgstr "xaneiro"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "February"
-msgstr "febreiro"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "March"
-msgstr "marzo"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "April"
-msgstr "abril"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "May"
-msgstr "maio"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "June"
-msgstr "xuño"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "July"
-msgstr "xullo"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "August"
-msgstr "agosto"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "September"
-msgstr "setembro"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "October"
-msgstr "outubro"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "November"
-msgstr "novembro"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "December"
-msgstr "decembro"
-
-#: templates/layout.guest.php:42
+#: templates/layout.guest.php:34
msgid "web services under your control"
msgstr "servizos web baixo o seu control"
-#: templates/layout.user.php:45
+#: templates/layout.user.php:32
msgid "Log out"
msgstr "Desconectar"
diff --git a/l10n/gl/files.po b/l10n/gl/files.po
index d7711dff1bf..a303b105799 100644
--- a/l10n/gl/files.po
+++ b/l10n/gl/files.po
@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-01-20 00:05+0100\n"
-"PO-Revision-Date: 2013-01-19 23:05+0000\n"
+"POT-Creation-Date: 2013-01-27 00:04+0100\n"
+"PO-Revision-Date: 2013-01-26 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"
@@ -19,11 +19,6 @@ 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"
@@ -38,46 +33,46 @@ msgstr "Non se puido mover %s"
msgid "Unable to rename file"
msgstr "Non se pode renomear o ficheiro"
-#: ajax/upload.php:20
+#: ajax/upload.php:17
msgid "No file was uploaded. Unknown error"
msgstr "Non se subiu ningún ficheiro. Erro descoñecido."
-#: ajax/upload.php:30
+#: ajax/upload.php:24
msgid "There is no error, the file uploaded with success"
msgstr "Non hai erros. O ficheiro enviouse correctamente"
-#: ajax/upload.php:31
+#: ajax/upload.php:25
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:33
+#: ajax/upload.php:27
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:35
+#: ajax/upload.php:29
msgid "The uploaded file was only partially uploaded"
msgstr "O ficheiro enviado foi só parcialmente enviado"
-#: ajax/upload.php:36
+#: ajax/upload.php:30
msgid "No file was uploaded"
msgstr "Non se enviou ningún ficheiro"
-#: ajax/upload.php:37
+#: ajax/upload.php:31
msgid "Missing a temporary folder"
msgstr "Falta un cartafol temporal"
-#: ajax/upload.php:38
+#: ajax/upload.php:32
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:48
+msgid "Not enough storage available"
+msgstr ""
-#: ajax/upload.php:91
+#: ajax/upload.php:77
msgid "Invalid directory."
msgstr "O directorio é incorrecto."
@@ -85,11 +80,11 @@ msgstr "O directorio é incorrecto."
msgid "Files"
msgstr "Ficheiros"
-#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
+#: js/fileactions.js:117 templates/index.php:81 templates/index.php:82
msgid "Unshare"
msgstr "Deixar de compartir"
-#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
+#: js/fileactions.js:119 templates/index.php:87 templates/index.php:88
msgid "Delete"
msgstr "Eliminar"
@@ -97,139 +92,151 @@ msgstr "Eliminar"
msgid "Rename"
msgstr "Mudar o nome"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "{new_name} already exists"
msgstr "xa existe un {new_name}"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "replace"
msgstr "substituír"
-#: js/filelist.js:205
+#: js/filelist.js:208
msgid "suggest name"
msgstr "suxerir nome"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "cancel"
msgstr "cancelar"
-#: js/filelist.js:254
+#: js/filelist.js:253
msgid "replaced {new_name}"
msgstr "substituír {new_name}"
-#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
+#: js/filelist.js:253 js/filelist.js:255 js/filelist.js:286 js/filelist.js:288
msgid "undo"
msgstr "desfacer"
-#: js/filelist.js:256
+#: js/filelist.js:255
msgid "replaced {new_name} with {old_name}"
msgstr "substituír {new_name} polo {old_name}"
-#: js/filelist.js:288
+#: js/filelist.js:286
msgid "unshared {files}"
msgstr "{files} sen compartir"
-#: js/filelist.js:290
+#: js/filelist.js:288
msgid "deleted {files}"
msgstr "{files} eliminados"
-#: js/files.js:48
+#: js/files.js:52
msgid "'.' is an invalid file name."
msgstr "'.' é un nonme de ficheiro non válido"
-#: js/files.js:53
+#: js/files.js:56
msgid "File name cannot be empty."
msgstr "O nome de ficheiro non pode estar baldeiro"
-#: js/files.js:62
+#: js/files.js:64
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr "Nome non válido, '\\', '/', '<', '>', ':', '\"', '|', '?' e '*' non se permiten."
-#: js/files.js:204
+#: js/files.js:78
+msgid "Your storage is full, files can not be updated or synced anymore!"
+msgstr ""
+
+#: js/files.js:82
+msgid "Your storage is almost full ({usedSpacePercent}%)"
+msgstr ""
+
+#: js/files.js:219
msgid ""
"Your download is being prepared. This might take some time if the files are "
"big."
msgstr ""
-#: js/files.js:242
+#: js/files.js:256
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:242
+#: js/files.js:256
msgid "Upload Error"
msgstr "Erro na subida"
-#: js/files.js:259
+#: js/files.js:273
msgid "Close"
msgstr "Pechar"
-#: js/files.js:278 js/files.js:397 js/files.js:431
+#: js/files.js:292 js/files.js:408 js/files.js:439
msgid "Pending"
msgstr "Pendentes"
-#: js/files.js:298
+#: js/files.js:312
msgid "1 file uploading"
msgstr "1 ficheiro subíndose"
-#: js/files.js:301 js/files.js:357 js/files.js:372
+#: js/files.js:315 js/files.js:370 js/files.js:385
msgid "{count} files uploading"
msgstr "{count} ficheiros subíndose"
-#: js/files.js:376 js/files.js:414
+#: js/files.js:388 js/files.js:423
msgid "Upload cancelled."
msgstr "Subida cancelada."
-#: js/files.js:486
+#: js/files.js:493
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:559
+#: js/files.js:566
msgid "URL cannot be empty."
msgstr "URL non pode quedar baleiro."
-#: js/files.js:565
+#: js/files.js:571
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
+#: js/files.js:784
msgid "{count} files scanned"
msgstr "{count} ficheiros escaneados"
-#: js/files.js:783
+#: js/files.js:792
msgid "error while scanning"
msgstr "erro mentres analizaba"
-#: js/files.js:857 templates/index.php:64
+#: js/files.js:866 templates/index.php:63
msgid "Name"
msgstr "Nome"
-#: js/files.js:858 templates/index.php:75
+#: js/files.js:867 templates/index.php:74
msgid "Size"
msgstr "Tamaño"
-#: js/files.js:859 templates/index.php:77
+#: js/files.js:868 templates/index.php:76
msgid "Modified"
msgstr "Modificado"
-#: js/files.js:878
+#: js/files.js:887
msgid "1 folder"
msgstr "1 cartafol"
-#: js/files.js:880
+#: js/files.js:889
msgid "{count} folders"
msgstr "{count} cartafoles"
-#: js/files.js:888
+#: js/files.js:897
msgid "1 file"
msgstr "1 ficheiro"
-#: js/files.js:890
+#: js/files.js:899
msgid "{count} files"
msgstr "{count} ficheiros"
+#: lib/helper.php:11 templates/index.php:18
+msgid "Upload"
+msgstr "Enviar"
+
#: templates/admin.php:5
msgid "File handling"
msgstr "Manexo de ficheiro"
@@ -282,28 +289,28 @@ msgstr "Dende a ligazón"
msgid "Cancel upload"
msgstr "Cancelar a subida"
-#: templates/index.php:56
+#: templates/index.php:55
msgid "Nothing in here. Upload something!"
msgstr "Nada por aquí. Envía algo."
-#: templates/index.php:70
+#: templates/index.php:69
msgid "Download"
msgstr "Descargar"
-#: templates/index.php:102
+#: templates/index.php:101
msgid "Upload too large"
msgstr "Envío demasiado grande"
-#: templates/index.php:104
+#: templates/index.php:103
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:109
+#: templates/index.php:108
msgid "Files are being scanned, please wait."
msgstr "Estanse analizando os ficheiros. Agarda."
-#: templates/index.php:112
+#: templates/index.php:111
msgid "Current scanning"
msgstr "Análise actual"
diff --git a/l10n/he/core.po b/l10n/he/core.po
index 78ebe7d5f2d..b1f45d8c27a 100644
--- a/l10n/he/core.po
+++ b/l10n/he/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: 2013-01-15 00:03+0100\n"
-"PO-Revision-Date: 2013-01-14 23:03+0000\n"
+"POT-Creation-Date: 2013-01-29 00:04+0100\n"
+"PO-Revision-Date: 2013-01-28 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"
@@ -84,59 +84,135 @@ msgstr "×œ× × ×‘×—×¨×• קטגוריות למחיקה"
msgid "Error removing %s from favorites."
msgstr "שגי××” בהסרת %s מהמועדפי×."
-#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61
+#: js/config.php:32
+msgid "Sunday"
+msgstr "×™×•× ×¨×שון"
+
+#: js/config.php:32
+msgid "Monday"
+msgstr "×™×•× ×©× ×™"
+
+#: js/config.php:32
+msgid "Tuesday"
+msgstr "×™×•× ×©×œ×™×©×™"
+
+#: js/config.php:32
+msgid "Wednesday"
+msgstr "×™×•× ×¨×‘×™×¢×™"
+
+#: js/config.php:32
+msgid "Thursday"
+msgstr "×™×•× ×—×ž×™×©×™"
+
+#: js/config.php:32
+msgid "Friday"
+msgstr "×™×•× ×©×™×©×™"
+
+#: js/config.php:32
+msgid "Saturday"
+msgstr "שבת"
+
+#: js/config.php:33
+msgid "January"
+msgstr "ינו×ר"
+
+#: js/config.php:33
+msgid "February"
+msgstr "פברו×ר"
+
+#: js/config.php:33
+msgid "March"
+msgstr "מרץ"
+
+#: js/config.php:33
+msgid "April"
+msgstr "×פריל"
+
+#: js/config.php:33
+msgid "May"
+msgstr "מ××™"
+
+#: js/config.php:33
+msgid "June"
+msgstr "יוני"
+
+#: js/config.php:33
+msgid "July"
+msgstr "יולי"
+
+#: js/config.php:33
+msgid "August"
+msgstr "×וגוסט"
+
+#: js/config.php:33
+msgid "September"
+msgstr "ספטמבר"
+
+#: js/config.php:33
+msgid "October"
+msgstr "×וקטובר"
+
+#: js/config.php:33
+msgid "November"
+msgstr "נובמבר"
+
+#: js/config.php:33
+msgid "December"
+msgstr "דצמבר"
+
+#: js/js.js:280 templates/layout.user.php:47 templates/layout.user.php:48
msgid "Settings"
msgstr "הגדרות"
-#: js/js.js:711
+#: js/js.js:762
msgid "seconds ago"
msgstr "שניות"
-#: js/js.js:712
+#: js/js.js:763
msgid "1 minute ago"
msgstr "לפני דקה ×חת"
-#: js/js.js:713
+#: js/js.js:764
msgid "{minutes} minutes ago"
msgstr "לפני {minutes} דקות"
-#: js/js.js:714
+#: js/js.js:765
msgid "1 hour ago"
msgstr "לפני שעה"
-#: js/js.js:715
+#: js/js.js:766
msgid "{hours} hours ago"
msgstr "לפני {hours} שעות"
-#: js/js.js:716
+#: js/js.js:767
msgid "today"
msgstr "היו×"
-#: js/js.js:717
+#: js/js.js:768
msgid "yesterday"
msgstr "×תמול"
-#: js/js.js:718
+#: js/js.js:769
msgid "{days} days ago"
msgstr "לפני {days} ימי×"
-#: js/js.js:719
+#: js/js.js:770
msgid "last month"
msgstr "חודש שעבר"
-#: js/js.js:720
+#: js/js.js:771
msgid "{months} months ago"
msgstr "לפני {months} חודשי×"
-#: js/js.js:721
+#: js/js.js:772
msgid "months ago"
msgstr "חודשי×"
-#: js/js.js:722
+#: js/js.js:773
msgid "last year"
msgstr "שנה שעברה"
-#: js/js.js:723
+#: js/js.js:774
msgid "years ago"
msgstr "שני×"
@@ -295,6 +371,17 @@ msgstr "מתבצעת שליחה ..."
msgid "Email sent"
msgstr "הודעת הדו×״ל נשלחה"
+#: js/update.js:14
+msgid ""
+"The update was unsuccessful. Please report this issue to the <a "
+"href=\"https://github.com/owncloud/core/issues\" target=\"_blank\">ownCloud "
+"community</a>."
+msgstr ""
+
+#: js/update.js:18
+msgid "The update was successful. Redirecting you to ownCloud now."
+msgstr ""
+
#: lostpassword/controller.php:47
msgid "ownCloud password reset"
msgstr "×יפוס הססמה של ownCloud"
@@ -446,87 +533,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:34
msgid "web services under your control"
msgstr "שירותי רשת בשליטתך"
-#: templates/layout.user.php:45
+#: templates/layout.user.php:32
msgid "Log out"
msgstr "התנתקות"
diff --git a/l10n/he/files.po b/l10n/he/files.po
index f3c44d37861..60b53f30b7d 100644
--- a/l10n/he/files.po
+++ b/l10n/he/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: 2013-01-20 00:05+0100\n"
-"PO-Revision-Date: 2013-01-19 23:05+0000\n"
+"POT-Creation-Date: 2013-01-27 00:04+0100\n"
+"PO-Revision-Date: 2013-01-26 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"
@@ -21,11 +21,6 @@ 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"
@@ -40,46 +35,46 @@ msgstr ""
msgid "Unable to rename file"
msgstr ""
-#: ajax/upload.php:20
+#: ajax/upload.php:17
msgid "No file was uploaded. Unknown error"
msgstr "×œ× ×”×•×¢×œ×” קובץ. טעות בלתי מזוהה."
-#: ajax/upload.php:30
+#: ajax/upload.php:24
msgid "There is no error, the file uploaded with success"
msgstr "×œ× ×ירעה תקלה, ×”×§×‘×¦×™× ×”×•×¢×œ×• בהצלחה"
-#: ajax/upload.php:31
+#: ajax/upload.php:25
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr "×”×§×‘×¦×™× ×©× ×©×œ×—×• ×—×•×¨×’×™× ×ž×”×’×•×“×œ שצוין בהגדרה upload_max_filesize שבקובץ php.ini:"
-#: ajax/upload.php:33
+#: ajax/upload.php:27
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:35
+#: ajax/upload.php:29
msgid "The uploaded file was only partially uploaded"
msgstr "הקובץ שהועלה הועלה בצורה חלקית"
-#: ajax/upload.php:36
+#: ajax/upload.php:30
msgid "No file was uploaded"
msgstr "×œ× ×”×•×¢×œ×• קבצי×"
-#: ajax/upload.php:37
+#: ajax/upload.php:31
msgid "Missing a temporary folder"
msgstr "תיקייה זמנית חסרה"
-#: ajax/upload.php:38
+#: ajax/upload.php:32
msgid "Failed to write to disk"
msgstr "הכתיבה לכונן נכשלה"
-#: ajax/upload.php:57
-msgid "Not enough space available"
+#: ajax/upload.php:48
+msgid "Not enough storage available"
msgstr ""
-#: ajax/upload.php:91
+#: ajax/upload.php:77
msgid "Invalid directory."
msgstr ""
@@ -87,11 +82,11 @@ msgstr ""
msgid "Files"
msgstr "קבצי×"
-#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
+#: js/fileactions.js:117 templates/index.php:81 templates/index.php:82
msgid "Unshare"
msgstr "הסר שיתוף"
-#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
+#: js/fileactions.js:119 templates/index.php:87 templates/index.php:88
msgid "Delete"
msgstr "מחיקה"
@@ -99,139 +94,151 @@ msgstr "מחיקה"
msgid "Rename"
msgstr "שינוי ש×"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "{new_name} already exists"
msgstr "{new_name} כבר קיי×"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "replace"
msgstr "החלפה"
-#: js/filelist.js:205
+#: js/filelist.js:208
msgid "suggest name"
msgstr "הצעת ש×"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "cancel"
msgstr "ביטול"
-#: js/filelist.js:254
+#: js/filelist.js:253
msgid "replaced {new_name}"
msgstr "{new_name} הוחלף"
-#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
+#: js/filelist.js:253 js/filelist.js:255 js/filelist.js:286 js/filelist.js:288
msgid "undo"
msgstr "ביטול"
-#: js/filelist.js:256
+#: js/filelist.js:255
msgid "replaced {new_name} with {old_name}"
msgstr "{new_name} הוחלף ב־{old_name}"
-#: js/filelist.js:288
+#: js/filelist.js:286
msgid "unshared {files}"
msgstr "בוטל ×©×™×ª×•×¤× ×©×œ {files}"
-#: js/filelist.js:290
+#: js/filelist.js:288
msgid "deleted {files}"
msgstr "{files} נמחקו"
-#: js/files.js:48
+#: js/files.js:52
msgid "'.' is an invalid file name."
msgstr ""
-#: js/files.js:53
+#: js/files.js:56
msgid "File name cannot be empty."
msgstr ""
-#: js/files.js:62
+#: js/files.js:64
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr "×”×©× ×©×’×•×™, ×סור להשתמש ×‘×ª×•×•×™× '\\', '/', '<', '>', ':', '\"', '|', '?' ו־'*'."
-#: js/files.js:204
+#: js/files.js:78
+msgid "Your storage is full, files can not be updated or synced anymore!"
+msgstr ""
+
+#: js/files.js:82
+msgid "Your storage is almost full ({usedSpacePercent}%)"
+msgstr ""
+
+#: js/files.js:219
msgid ""
"Your download is being prepared. This might take some time if the files are "
"big."
msgstr ""
-#: js/files.js:242
+#: js/files.js:256
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr "×œ× ×™×›×•×œ להעלות ×ת הקובץ מכיוון שזו תקיה ×ו שמשקל הקובץ 0 בתי×"
-#: js/files.js:242
+#: js/files.js:256
msgid "Upload Error"
msgstr "שגי×ת העל××”"
-#: js/files.js:259
+#: js/files.js:273
msgid "Close"
msgstr "סגירה"
-#: js/files.js:278 js/files.js:397 js/files.js:431
+#: js/files.js:292 js/files.js:408 js/files.js:439
msgid "Pending"
msgstr "ממתין"
-#: js/files.js:298
+#: js/files.js:312
msgid "1 file uploading"
msgstr "קובץ ×חד נשלח"
-#: js/files.js:301 js/files.js:357 js/files.js:372
+#: js/files.js:315 js/files.js:370 js/files.js:385
msgid "{count} files uploading"
msgstr "{count} ×§×‘×¦×™× × ×©×œ×—×™×"
-#: js/files.js:376 js/files.js:414
+#: js/files.js:388 js/files.js:423
msgid "Upload cancelled."
msgstr "ההעל××” בוטלה."
-#: js/files.js:486
+#: js/files.js:493
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr "מתבצעת כעת העל×ת קבצי×. עזיבה של העמוד תבטל ×ת ההעל××”."
-#: js/files.js:559
+#: js/files.js:566
msgid "URL cannot be empty."
msgstr "קישור ×ינו יכול להיות ריק."
-#: js/files.js:565
+#: js/files.js:571
msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
msgstr ""
-#: js/files.js:775
+#: js/files.js:784
msgid "{count} files scanned"
msgstr "{count} ×§×‘×¦×™× × ×¡×¨×§×•"
-#: js/files.js:783
+#: js/files.js:792
msgid "error while scanning"
msgstr "×ירעה שגי××” במהלך הסריקה"
-#: js/files.js:857 templates/index.php:64
+#: js/files.js:866 templates/index.php:63
msgid "Name"
msgstr "ש×"
-#: js/files.js:858 templates/index.php:75
+#: js/files.js:867 templates/index.php:74
msgid "Size"
msgstr "גודל"
-#: js/files.js:859 templates/index.php:77
+#: js/files.js:868 templates/index.php:76
msgid "Modified"
msgstr "זמן שינוי"
-#: js/files.js:878
+#: js/files.js:887
msgid "1 folder"
msgstr "תיקייה ×חת"
-#: js/files.js:880
+#: js/files.js:889
msgid "{count} folders"
msgstr "{count} תיקיות"
-#: js/files.js:888
+#: js/files.js:897
msgid "1 file"
msgstr "קובץ ×חד"
-#: js/files.js:890
+#: js/files.js:899
msgid "{count} files"
msgstr "{count} קבצי×"
+#: lib/helper.php:11 templates/index.php:18
+msgid "Upload"
+msgstr "העל××”"
+
#: templates/admin.php:5
msgid "File handling"
msgstr "טיפול בקבצי×"
@@ -284,28 +291,28 @@ msgstr "מקישור"
msgid "Cancel upload"
msgstr "ביטול ההעל××”"
-#: templates/index.php:56
+#: templates/index.php:55
msgid "Nothing in here. Upload something!"
msgstr "×ין ×›×ן ×©×•× ×“×‘×¨. ×ולי ברצונך להעלות משהו?"
-#: templates/index.php:70
+#: templates/index.php:69
msgid "Download"
msgstr "הורדה"
-#: templates/index.php:102
+#: templates/index.php:101
msgid "Upload too large"
msgstr "העל××” גדולה מידי"
-#: templates/index.php:104
+#: templates/index.php:103
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "×”×§×‘×¦×™× ×©× ×™×¡×™×ª להעלות חרגו מהגודל המקסימלי להעל×ת ×§×‘×¦×™× ×¢×œ שרת ×–×”."
-#: templates/index.php:109
+#: templates/index.php:108
msgid "Files are being scanned, please wait."
msgstr "×”×§×‘×¦×™× × ×¡×¨×§×™×, × × ×œ×”×ž×ª×™×Ÿ."
-#: templates/index.php:112
+#: templates/index.php:111
msgid "Current scanning"
msgstr "הסריקה הנוכחית"
diff --git a/l10n/hi/core.po b/l10n/hi/core.po
index 637cb66cc8d..d12a2c0b38b 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: 2013-01-15 00:03+0100\n"
-"PO-Revision-Date: 2013-01-14 23:03+0000\n"
+"POT-Creation-Date: 2013-01-29 00:04+0100\n"
+"PO-Revision-Date: 2013-01-28 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"
@@ -81,59 +81,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:32
+msgid "Sunday"
+msgstr ""
+
+#: js/config.php:32
+msgid "Monday"
+msgstr ""
+
+#: js/config.php:32
+msgid "Tuesday"
+msgstr ""
+
+#: js/config.php:32
+msgid "Wednesday"
+msgstr ""
+
+#: js/config.php:32
+msgid "Thursday"
+msgstr ""
+
+#: js/config.php:32
+msgid "Friday"
+msgstr ""
+
+#: js/config.php:32
+msgid "Saturday"
+msgstr ""
+
+#: js/config.php:33
+msgid "January"
+msgstr ""
+
+#: js/config.php:33
+msgid "February"
+msgstr ""
+
+#: js/config.php:33
+msgid "March"
+msgstr ""
+
+#: js/config.php:33
+msgid "April"
+msgstr ""
+
+#: js/config.php:33
+msgid "May"
+msgstr ""
+
+#: js/config.php:33
+msgid "June"
+msgstr ""
+
+#: js/config.php:33
+msgid "July"
+msgstr ""
+
+#: js/config.php:33
+msgid "August"
+msgstr ""
+
+#: js/config.php:33
+msgid "September"
+msgstr ""
+
+#: js/config.php:33
+msgid "October"
+msgstr ""
+
+#: js/config.php:33
+msgid "November"
+msgstr ""
+
+#: js/config.php:33
+msgid "December"
+msgstr ""
+
+#: js/js.js:280 templates/layout.user.php:47 templates/layout.user.php:48
msgid "Settings"
msgstr ""
-#: js/js.js:711
+#: js/js.js:762
msgid "seconds ago"
msgstr ""
-#: js/js.js:712
+#: js/js.js:763
msgid "1 minute ago"
msgstr ""
-#: js/js.js:713
+#: js/js.js:764
msgid "{minutes} minutes ago"
msgstr ""
-#: js/js.js:714
+#: js/js.js:765
msgid "1 hour ago"
msgstr ""
-#: js/js.js:715
+#: js/js.js:766
msgid "{hours} hours ago"
msgstr ""
-#: js/js.js:716
+#: js/js.js:767
msgid "today"
msgstr ""
-#: js/js.js:717
+#: js/js.js:768
msgid "yesterday"
msgstr ""
-#: js/js.js:718
+#: js/js.js:769
msgid "{days} days ago"
msgstr ""
-#: js/js.js:719
+#: js/js.js:770
msgid "last month"
msgstr ""
-#: js/js.js:720
+#: js/js.js:771
msgid "{months} months ago"
msgstr ""
-#: js/js.js:721
+#: js/js.js:772
msgid "months ago"
msgstr ""
-#: js/js.js:722
+#: js/js.js:773
msgid "last year"
msgstr ""
-#: js/js.js:723
+#: js/js.js:774
msgid "years ago"
msgstr ""
@@ -292,6 +368,17 @@ msgstr ""
msgid "Email sent"
msgstr ""
+#: js/update.js:14
+msgid ""
+"The update was unsuccessful. Please report this issue to the <a "
+"href=\"https://github.com/owncloud/core/issues\" target=\"_blank\">ownCloud "
+"community</a>."
+msgstr ""
+
+#: js/update.js:18
+msgid "The update was successful. Redirecting you to ownCloud now."
+msgstr ""
+
#: lostpassword/controller.php:47
msgid "ownCloud password reset"
msgstr ""
@@ -443,87 +530,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:34
msgid "web services under your control"
msgstr ""
-#: templates/layout.user.php:45
+#: templates/layout.user.php:32
msgid "Log out"
msgstr ""
diff --git a/l10n/hi/files.po b/l10n/hi/files.po
index 7e4cd2a3e6e..0c74c7074fb 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: 2013-01-20 00:05+0100\n"
-"PO-Revision-Date: 2013-01-19 23:05+0000\n"
+"POT-Creation-Date: 2013-01-27 00:04+0100\n"
+"PO-Revision-Date: 2013-01-26 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,11 +17,6 @@ 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"
@@ -36,46 +31,46 @@ msgstr ""
msgid "Unable to rename file"
msgstr ""
-#: ajax/upload.php:20
+#: ajax/upload.php:17
msgid "No file was uploaded. Unknown error"
msgstr ""
-#: ajax/upload.php:30
+#: ajax/upload.php:24
msgid "There is no error, the file uploaded with success"
msgstr ""
-#: ajax/upload.php:31
+#: ajax/upload.php:25
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr ""
-#: ajax/upload.php:33
+#: ajax/upload.php:27
msgid ""
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
"the HTML form"
msgstr ""
-#: ajax/upload.php:35
+#: ajax/upload.php:29
msgid "The uploaded file was only partially uploaded"
msgstr ""
-#: ajax/upload.php:36
+#: ajax/upload.php:30
msgid "No file was uploaded"
msgstr ""
-#: ajax/upload.php:37
+#: ajax/upload.php:31
msgid "Missing a temporary folder"
msgstr ""
-#: ajax/upload.php:38
+#: ajax/upload.php:32
msgid "Failed to write to disk"
msgstr ""
-#: ajax/upload.php:57
-msgid "Not enough space available"
+#: ajax/upload.php:48
+msgid "Not enough storage available"
msgstr ""
-#: ajax/upload.php:91
+#: ajax/upload.php:77
msgid "Invalid directory."
msgstr ""
@@ -83,11 +78,11 @@ msgstr ""
msgid "Files"
msgstr ""
-#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
+#: js/fileactions.js:117 templates/index.php:81 templates/index.php:82
msgid "Unshare"
msgstr ""
-#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
+#: js/fileactions.js:119 templates/index.php:87 templates/index.php:88
msgid "Delete"
msgstr ""
@@ -95,139 +90,151 @@ msgstr ""
msgid "Rename"
msgstr ""
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "{new_name} already exists"
msgstr ""
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "replace"
msgstr ""
-#: js/filelist.js:205
+#: js/filelist.js:208
msgid "suggest name"
msgstr ""
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "cancel"
msgstr ""
-#: js/filelist.js:254
+#: js/filelist.js:253
msgid "replaced {new_name}"
msgstr ""
-#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
+#: js/filelist.js:253 js/filelist.js:255 js/filelist.js:286 js/filelist.js:288
msgid "undo"
msgstr ""
-#: js/filelist.js:256
+#: js/filelist.js:255
msgid "replaced {new_name} with {old_name}"
msgstr ""
-#: js/filelist.js:288
+#: js/filelist.js:286
msgid "unshared {files}"
msgstr ""
-#: js/filelist.js:290
+#: js/filelist.js:288
msgid "deleted {files}"
msgstr ""
-#: js/files.js:48
+#: js/files.js:52
msgid "'.' is an invalid file name."
msgstr ""
-#: js/files.js:53
+#: js/files.js:56
msgid "File name cannot be empty."
msgstr ""
-#: js/files.js:62
+#: js/files.js:64
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr ""
-#: js/files.js:204
+#: js/files.js:78
+msgid "Your storage is full, files can not be updated or synced anymore!"
+msgstr ""
+
+#: js/files.js:82
+msgid "Your storage is almost full ({usedSpacePercent}%)"
+msgstr ""
+
+#: js/files.js:219
msgid ""
"Your download is being prepared. This might take some time if the files are "
"big."
msgstr ""
-#: js/files.js:242
+#: js/files.js:256
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr ""
-#: js/files.js:242
+#: js/files.js:256
msgid "Upload Error"
msgstr ""
-#: js/files.js:259
+#: js/files.js:273
msgid "Close"
msgstr ""
-#: js/files.js:278 js/files.js:397 js/files.js:431
+#: js/files.js:292 js/files.js:408 js/files.js:439
msgid "Pending"
msgstr ""
-#: js/files.js:298
+#: js/files.js:312
msgid "1 file uploading"
msgstr ""
-#: js/files.js:301 js/files.js:357 js/files.js:372
+#: js/files.js:315 js/files.js:370 js/files.js:385
msgid "{count} files uploading"
msgstr ""
-#: js/files.js:376 js/files.js:414
+#: js/files.js:388 js/files.js:423
msgid "Upload cancelled."
msgstr ""
-#: js/files.js:486
+#: js/files.js:493
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr ""
-#: js/files.js:559
+#: js/files.js:566
msgid "URL cannot be empty."
msgstr ""
-#: js/files.js:565
+#: js/files.js:571
msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
msgstr ""
-#: js/files.js:775
+#: js/files.js:784
msgid "{count} files scanned"
msgstr ""
-#: js/files.js:783
+#: js/files.js:792
msgid "error while scanning"
msgstr ""
-#: js/files.js:857 templates/index.php:64
+#: js/files.js:866 templates/index.php:63
msgid "Name"
msgstr ""
-#: js/files.js:858 templates/index.php:75
+#: js/files.js:867 templates/index.php:74
msgid "Size"
msgstr ""
-#: js/files.js:859 templates/index.php:77
+#: js/files.js:868 templates/index.php:76
msgid "Modified"
msgstr ""
-#: js/files.js:878
+#: js/files.js:887
msgid "1 folder"
msgstr ""
-#: js/files.js:880
+#: js/files.js:889
msgid "{count} folders"
msgstr ""
-#: js/files.js:888
+#: js/files.js:897
msgid "1 file"
msgstr ""
-#: js/files.js:890
+#: js/files.js:899
msgid "{count} files"
msgstr ""
+#: lib/helper.php:11 templates/index.php:18
+msgid "Upload"
+msgstr ""
+
#: templates/admin.php:5
msgid "File handling"
msgstr ""
@@ -280,28 +287,28 @@ msgstr ""
msgid "Cancel upload"
msgstr ""
-#: templates/index.php:56
+#: templates/index.php:55
msgid "Nothing in here. Upload something!"
msgstr ""
-#: templates/index.php:70
+#: templates/index.php:69
msgid "Download"
msgstr ""
-#: templates/index.php:102
+#: templates/index.php:101
msgid "Upload too large"
msgstr ""
-#: templates/index.php:104
+#: templates/index.php:103
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr ""
-#: templates/index.php:109
+#: templates/index.php:108
msgid "Files are being scanned, please wait."
msgstr ""
-#: templates/index.php:112
+#: templates/index.php:111
msgid "Current scanning"
msgstr ""
diff --git a/l10n/hr/core.po b/l10n/hr/core.po
index 5d5b9d249ff..622aa007c76 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: 2013-01-15 00:03+0100\n"
-"PO-Revision-Date: 2013-01-14 23:03+0000\n"
+"POT-Creation-Date: 2013-01-29 00:04+0100\n"
+"PO-Revision-Date: 2013-01-28 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"
@@ -83,59 +83,135 @@ msgstr "Nema odabranih kategorija za brisanje."
msgid "Error removing %s from favorites."
msgstr ""
-#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61
+#: js/config.php:32
+msgid "Sunday"
+msgstr "nedelja"
+
+#: js/config.php:32
+msgid "Monday"
+msgstr "ponedeljak"
+
+#: js/config.php:32
+msgid "Tuesday"
+msgstr "utorak"
+
+#: js/config.php:32
+msgid "Wednesday"
+msgstr "srijeda"
+
+#: js/config.php:32
+msgid "Thursday"
+msgstr "Äetvrtak"
+
+#: js/config.php:32
+msgid "Friday"
+msgstr "petak"
+
+#: js/config.php:32
+msgid "Saturday"
+msgstr "subota"
+
+#: js/config.php:33
+msgid "January"
+msgstr "SijeÄanj"
+
+#: js/config.php:33
+msgid "February"
+msgstr "VeljaÄa"
+
+#: js/config.php:33
+msgid "March"
+msgstr "Ožujak"
+
+#: js/config.php:33
+msgid "April"
+msgstr "Travanj"
+
+#: js/config.php:33
+msgid "May"
+msgstr "Svibanj"
+
+#: js/config.php:33
+msgid "June"
+msgstr "Lipanj"
+
+#: js/config.php:33
+msgid "July"
+msgstr "Srpanj"
+
+#: js/config.php:33
+msgid "August"
+msgstr "Kolovoz"
+
+#: js/config.php:33
+msgid "September"
+msgstr "Rujan"
+
+#: js/config.php:33
+msgid "October"
+msgstr "Listopad"
+
+#: js/config.php:33
+msgid "November"
+msgstr "Studeni"
+
+#: js/config.php:33
+msgid "December"
+msgstr "Prosinac"
+
+#: js/js.js:280 templates/layout.user.php:47 templates/layout.user.php:48
msgid "Settings"
msgstr "Postavke"
-#: js/js.js:711
+#: js/js.js:762
msgid "seconds ago"
msgstr "sekundi prije"
-#: js/js.js:712
+#: js/js.js:763
msgid "1 minute ago"
msgstr ""
-#: js/js.js:713
+#: js/js.js:764
msgid "{minutes} minutes ago"
msgstr ""
-#: js/js.js:714
+#: js/js.js:765
msgid "1 hour ago"
msgstr ""
-#: js/js.js:715
+#: js/js.js:766
msgid "{hours} hours ago"
msgstr ""
-#: js/js.js:716
+#: js/js.js:767
msgid "today"
msgstr "danas"
-#: js/js.js:717
+#: js/js.js:768
msgid "yesterday"
msgstr "juÄer"
-#: js/js.js:718
+#: js/js.js:769
msgid "{days} days ago"
msgstr ""
-#: js/js.js:719
+#: js/js.js:770
msgid "last month"
msgstr "prošli mjesec"
-#: js/js.js:720
+#: js/js.js:771
msgid "{months} months ago"
msgstr ""
-#: js/js.js:721
+#: js/js.js:772
msgid "months ago"
msgstr "mjeseci"
-#: js/js.js:722
+#: js/js.js:773
msgid "last year"
msgstr "prošlu godinu"
-#: js/js.js:723
+#: js/js.js:774
msgid "years ago"
msgstr "godina"
@@ -294,6 +370,17 @@ msgstr ""
msgid "Email sent"
msgstr ""
+#: js/update.js:14
+msgid ""
+"The update was unsuccessful. Please report this issue to the <a "
+"href=\"https://github.com/owncloud/core/issues\" target=\"_blank\">ownCloud "
+"community</a>."
+msgstr ""
+
+#: js/update.js:18
+msgid "The update was successful. Redirecting you to ownCloud now."
+msgstr ""
+
#: lostpassword/controller.php:47
msgid "ownCloud password reset"
msgstr "ownCloud resetiranje lozinke"
@@ -445,87 +532,11 @@ msgstr "Poslužitelj baze podataka"
msgid "Finish setup"
msgstr "Završi postavljanje"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Sunday"
-msgstr "nedelja"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Monday"
-msgstr "ponedeljak"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Tuesday"
-msgstr "utorak"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Wednesday"
-msgstr "srijeda"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Thursday"
-msgstr "Äetvrtak"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Friday"
-msgstr "petak"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Saturday"
-msgstr "subota"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "January"
-msgstr "SijeÄanj"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "February"
-msgstr "VeljaÄa"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "March"
-msgstr "Ožujak"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "April"
-msgstr "Travanj"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "May"
-msgstr "Svibanj"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "June"
-msgstr "Lipanj"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "July"
-msgstr "Srpanj"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "August"
-msgstr "Kolovoz"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "September"
-msgstr "Rujan"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "October"
-msgstr "Listopad"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "November"
-msgstr "Studeni"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "December"
-msgstr "Prosinac"
-
-#: templates/layout.guest.php:42
+#: templates/layout.guest.php:34
msgid "web services under your control"
msgstr "web usluge pod vašom kontrolom"
-#: templates/layout.user.php:45
+#: templates/layout.user.php:32
msgid "Log out"
msgstr "Odjava"
diff --git a/l10n/hr/files.po b/l10n/hr/files.po
index 317b0aa768d..edf64baef15 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: 2013-01-20 00:05+0100\n"
-"PO-Revision-Date: 2013-01-19 23:05+0000\n"
+"POT-Creation-Date: 2013-01-27 00:04+0100\n"
+"PO-Revision-Date: 2013-01-26 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,11 +20,6 @@ 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"
@@ -39,46 +34,46 @@ msgstr ""
msgid "Unable to rename file"
msgstr ""
-#: ajax/upload.php:20
+#: ajax/upload.php:17
msgid "No file was uploaded. Unknown error"
msgstr ""
-#: ajax/upload.php:30
+#: ajax/upload.php:24
msgid "There is no error, the file uploaded with success"
msgstr "Datoteka je poslana uspješno i bez pogrešaka"
-#: ajax/upload.php:31
+#: ajax/upload.php:25
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr ""
-#: ajax/upload.php:33
+#: ajax/upload.php:27
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:35
+#: ajax/upload.php:29
msgid "The uploaded file was only partially uploaded"
msgstr "Datoteka je poslana samo djelomiÄno"
-#: ajax/upload.php:36
+#: ajax/upload.php:30
msgid "No file was uploaded"
msgstr "Ni jedna datoteka nije poslana"
-#: ajax/upload.php:37
+#: ajax/upload.php:31
msgid "Missing a temporary folder"
msgstr "Nedostaje privremena mapa"
-#: ajax/upload.php:38
+#: ajax/upload.php:32
msgid "Failed to write to disk"
msgstr "Neuspjelo pisanje na disk"
-#: ajax/upload.php:57
-msgid "Not enough space available"
+#: ajax/upload.php:48
+msgid "Not enough storage available"
msgstr ""
-#: ajax/upload.php:91
+#: ajax/upload.php:77
msgid "Invalid directory."
msgstr ""
@@ -86,11 +81,11 @@ msgstr ""
msgid "Files"
msgstr "Datoteke"
-#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
+#: js/fileactions.js:117 templates/index.php:81 templates/index.php:82
msgid "Unshare"
msgstr "Prekini djeljenje"
-#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
+#: js/fileactions.js:119 templates/index.php:87 templates/index.php:88
msgid "Delete"
msgstr "Briši"
@@ -98,139 +93,151 @@ msgstr "Briši"
msgid "Rename"
msgstr "Promjeni ime"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "{new_name} already exists"
msgstr ""
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "replace"
msgstr "zamjeni"
-#: js/filelist.js:205
+#: js/filelist.js:208
msgid "suggest name"
msgstr "predloži ime"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "cancel"
msgstr "odustani"
-#: js/filelist.js:254
+#: js/filelist.js:253
msgid "replaced {new_name}"
msgstr ""
-#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
+#: js/filelist.js:253 js/filelist.js:255 js/filelist.js:286 js/filelist.js:288
msgid "undo"
msgstr "vrati"
-#: js/filelist.js:256
+#: js/filelist.js:255
msgid "replaced {new_name} with {old_name}"
msgstr ""
-#: js/filelist.js:288
+#: js/filelist.js:286
msgid "unshared {files}"
msgstr ""
-#: js/filelist.js:290
+#: js/filelist.js:288
msgid "deleted {files}"
msgstr ""
-#: js/files.js:48
+#: js/files.js:52
msgid "'.' is an invalid file name."
msgstr ""
-#: js/files.js:53
+#: js/files.js:56
msgid "File name cannot be empty."
msgstr ""
-#: js/files.js:62
+#: js/files.js:64
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr ""
-#: js/files.js:204
+#: js/files.js:78
+msgid "Your storage is full, files can not be updated or synced anymore!"
+msgstr ""
+
+#: js/files.js:82
+msgid "Your storage is almost full ({usedSpacePercent}%)"
+msgstr ""
+
+#: js/files.js:219
msgid ""
"Your download is being prepared. This might take some time if the files are "
"big."
msgstr ""
-#: js/files.js:242
+#: js/files.js:256
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:242
+#: js/files.js:256
msgid "Upload Error"
msgstr "Pogreška pri slanju"
-#: js/files.js:259
+#: js/files.js:273
msgid "Close"
msgstr "Zatvori"
-#: js/files.js:278 js/files.js:397 js/files.js:431
+#: js/files.js:292 js/files.js:408 js/files.js:439
msgid "Pending"
msgstr "U tijeku"
-#: js/files.js:298
+#: js/files.js:312
msgid "1 file uploading"
msgstr "1 datoteka se uÄitava"
-#: js/files.js:301 js/files.js:357 js/files.js:372
+#: js/files.js:315 js/files.js:370 js/files.js:385
msgid "{count} files uploading"
msgstr ""
-#: js/files.js:376 js/files.js:414
+#: js/files.js:388 js/files.js:423
msgid "Upload cancelled."
msgstr "Slanje poništeno."
-#: js/files.js:486
+#: js/files.js:493
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:559
+#: js/files.js:566
msgid "URL cannot be empty."
msgstr ""
-#: js/files.js:565
+#: js/files.js:571
msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
msgstr ""
-#: js/files.js:775
+#: js/files.js:784
msgid "{count} files scanned"
msgstr ""
-#: js/files.js:783
+#: js/files.js:792
msgid "error while scanning"
msgstr "greÄka prilikom skeniranja"
-#: js/files.js:857 templates/index.php:64
+#: js/files.js:866 templates/index.php:63
msgid "Name"
msgstr "Naziv"
-#: js/files.js:858 templates/index.php:75
+#: js/files.js:867 templates/index.php:74
msgid "Size"
msgstr "VeliÄina"
-#: js/files.js:859 templates/index.php:77
+#: js/files.js:868 templates/index.php:76
msgid "Modified"
msgstr "Zadnja promjena"
-#: js/files.js:878
+#: js/files.js:887
msgid "1 folder"
msgstr ""
-#: js/files.js:880
+#: js/files.js:889
msgid "{count} folders"
msgstr ""
-#: js/files.js:888
+#: js/files.js:897
msgid "1 file"
msgstr ""
-#: js/files.js:890
+#: js/files.js:899
msgid "{count} files"
msgstr ""
+#: lib/helper.php:11 templates/index.php:18
+msgid "Upload"
+msgstr "Pošalji"
+
#: templates/admin.php:5
msgid "File handling"
msgstr "datoteka za rukovanje"
@@ -283,28 +290,28 @@ msgstr ""
msgid "Cancel upload"
msgstr "Prekini upload"
-#: templates/index.php:56
+#: templates/index.php:55
msgid "Nothing in here. Upload something!"
msgstr "Nema niÄega u ovoj mapi. PoÅ¡alji neÅ¡to!"
-#: templates/index.php:70
+#: templates/index.php:69
msgid "Download"
msgstr "Preuzmi"
-#: templates/index.php:102
+#: templates/index.php:101
msgid "Upload too large"
msgstr "Prijenos je preobiman"
-#: templates/index.php:104
+#: templates/index.php:103
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:109
+#: templates/index.php:108
msgid "Files are being scanned, please wait."
msgstr "Datoteke se skeniraju, molimo priÄekajte."
-#: templates/index.php:112
+#: templates/index.php:111
msgid "Current scanning"
msgstr "Trenutno skeniranje"
diff --git a/l10n/hu_HU/core.po b/l10n/hu_HU/core.po
index 891c8694dd7..9f6c2f15f77 100644
--- a/l10n/hu_HU/core.po
+++ b/l10n/hu_HU/core.po
@@ -4,6 +4,7 @@
#
# 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.
@@ -11,9 +12,9 @@ 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 08:13+0000\n"
-"Last-Translator: Tamas Nagy <mail@tamas-nagy.net>\n"
+"POT-Creation-Date: 2013-01-29 00:04+0100\n"
+"PO-Revision-Date: 2013-01-28 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"
@@ -83,59 +84,135 @@ msgstr "Nincs törlésre jelölt kategória"
msgid "Error removing %s from favorites."
msgstr "Nem sikerült a kedvencekből törölni ezt: %s"
-#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61
+#: js/config.php:32
+msgid "Sunday"
+msgstr "vasárnap"
+
+#: js/config.php:32
+msgid "Monday"
+msgstr "hétfő"
+
+#: js/config.php:32
+msgid "Tuesday"
+msgstr "kedd"
+
+#: js/config.php:32
+msgid "Wednesday"
+msgstr "szerda"
+
+#: js/config.php:32
+msgid "Thursday"
+msgstr "csütörtök"
+
+#: js/config.php:32
+msgid "Friday"
+msgstr "péntek"
+
+#: js/config.php:32
+msgid "Saturday"
+msgstr "szombat"
+
+#: js/config.php:33
+msgid "January"
+msgstr "január"
+
+#: js/config.php:33
+msgid "February"
+msgstr "február"
+
+#: js/config.php:33
+msgid "March"
+msgstr "március"
+
+#: js/config.php:33
+msgid "April"
+msgstr "április"
+
+#: js/config.php:33
+msgid "May"
+msgstr "május"
+
+#: js/config.php:33
+msgid "June"
+msgstr "június"
+
+#: js/config.php:33
+msgid "July"
+msgstr "július"
+
+#: js/config.php:33
+msgid "August"
+msgstr "augusztus"
+
+#: js/config.php:33
+msgid "September"
+msgstr "szeptember"
+
+#: js/config.php:33
+msgid "October"
+msgstr "október"
+
+#: js/config.php:33
+msgid "November"
+msgstr "november"
+
+#: js/config.php:33
+msgid "December"
+msgstr "december"
+
+#: js/js.js:280 templates/layout.user.php:47 templates/layout.user.php:48
msgid "Settings"
msgstr "Beállítások"
-#: js/js.js:706
+#: js/js.js:762
msgid "seconds ago"
msgstr "pár másodperce"
-#: js/js.js:707
+#: js/js.js:763
msgid "1 minute ago"
msgstr "1 perce"
-#: js/js.js:708
+#: js/js.js:764
msgid "{minutes} minutes ago"
msgstr "{minutes} perce"
-#: js/js.js:709
+#: js/js.js:765
msgid "1 hour ago"
msgstr "1 órája"
-#: js/js.js:710
+#: js/js.js:766
msgid "{hours} hours ago"
msgstr "{hours} órája"
-#: js/js.js:711
+#: js/js.js:767
msgid "today"
msgstr "ma"
-#: js/js.js:712
+#: js/js.js:768
msgid "yesterday"
msgstr "tegnap"
-#: js/js.js:713
+#: js/js.js:769
msgid "{days} days ago"
msgstr "{days} napja"
-#: js/js.js:714
+#: js/js.js:770
msgid "last month"
msgstr "múlt hónapban"
-#: js/js.js:715
+#: js/js.js:771
msgid "{months} months ago"
msgstr "{months} hónapja"
-#: js/js.js:716
+#: js/js.js:772
msgid "months ago"
msgstr "több hónapja"
-#: js/js.js:717
+#: js/js.js:773
msgid "last year"
msgstr "tavaly"
-#: js/js.js:718
+#: js/js.js:774
msgid "years ago"
msgstr "több éve"
@@ -212,7 +289,7 @@ msgstr "Jelszóval is védem"
#: js/share.js:168 templates/installation.php:44 templates/login.php:35
msgid "Password"
-msgstr "Jelszó (tetszőleges)"
+msgstr "Jelszó"
#: js/share.js:172
msgid "Email link to person"
@@ -294,6 +371,17 @@ msgstr "Küldés ..."
msgid "Email sent"
msgstr "Az emailt elküldtük"
+#: js/update.js:14
+msgid ""
+"The update was unsuccessful. Please report this issue to the <a "
+"href=\"https://github.com/owncloud/core/issues\" target=\"_blank\">ownCloud "
+"community</a>."
+msgstr ""
+
+#: js/update.js:18
+msgid "The update was successful. Redirecting you to ownCloud now."
+msgstr ""
+
#: lostpassword/controller.php:47
msgid "ownCloud password reset"
msgstr "ownCloud jelszó-visszaállítás"
@@ -445,87 +533,11 @@ msgstr "Adatbázis szerver"
msgid "Finish setup"
msgstr "A beállítások 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"
-
-#: 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:34
msgid "web services under your control"
msgstr "webszolgáltatások saját kézben"
-#: templates/layout.user.php:45
+#: templates/layout.user.php:32
msgid "Log out"
msgstr "Kilépés"
diff --git a/l10n/hu_HU/files.po b/l10n/hu_HU/files.po
index 98235f04ca2..d5983f63946 100644
--- a/l10n/hu_HU/files.po
+++ b/l10n/hu_HU/files.po
@@ -4,6 +4,7 @@
#
# Translators:
# Adam Toth <adazlord@gmail.com>, 2012.
+# Akos <nagy.akos@libreoffice.ro>, 2013.
# <gyonkibendeguz@gmail.com>, 2013.
# <gyonkibendeguz@gmail.com>, 2013.
# Laszlo Tornoci <torlasz@gmail.com>, 2013.
@@ -13,9 +14,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\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"
+"POT-Creation-Date: 2013-01-29 00:04+0100\n"
+"PO-Revision-Date: 2013-01-28 08:37+0000\n"
+"Last-Translator: akoscomp <nagy.akos@libreoffice.ro>\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,11 +24,6 @@ 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"
@@ -42,46 +38,46 @@ msgstr "Nem sikerült %s áthelyezése"
msgid "Unable to rename file"
msgstr "Nem lehet átnevezni a fájlt"
-#: ajax/upload.php:20
+#: ajax/upload.php:17
msgid "No file was uploaded. Unknown error"
msgstr "Nem történt feltöltés. Ismeretlen hiba"
-#: ajax/upload.php:30
+#: ajax/upload.php:24
msgid "There is no error, the file uploaded with success"
msgstr "A fájlt sikerült feltölteni"
-#: ajax/upload.php:31
+#: ajax/upload.php:25
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
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:33
+#: ajax/upload.php:27
msgid ""
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
"the HTML form"
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:35
+#: ajax/upload.php:29
msgid "The uploaded file was only partially uploaded"
msgstr "Az eredeti fájlt csak részben sikerült feltölteni."
-#: ajax/upload.php:36
+#: ajax/upload.php:30
msgid "No file was uploaded"
msgstr "Nem töltődött fel semmi"
-#: ajax/upload.php:37
+#: ajax/upload.php:31
msgid "Missing a temporary folder"
msgstr "Hiányzik egy ideiglenes mappa"
-#: ajax/upload.php:38
+#: ajax/upload.php:32
msgid "Failed to write to disk"
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:48
+msgid "Not enough storage available"
+msgstr "Nincs elég szabad hely."
-#: ajax/upload.php:91
+#: ajax/upload.php:77
msgid "Invalid directory."
msgstr "Érvénytelen mappa."
@@ -89,11 +85,11 @@ msgstr "Érvénytelen mappa."
msgid "Files"
msgstr "Fájlok"
-#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
+#: js/fileactions.js:117 templates/index.php:81 templates/index.php:82
msgid "Unshare"
msgstr "Megosztás visszavonása"
-#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
+#: js/fileactions.js:119 templates/index.php:87 templates/index.php:88
msgid "Delete"
msgstr "Törlés"
@@ -101,139 +97,151 @@ msgstr "Törlés"
msgid "Rename"
msgstr "Ãtnevezés"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "{new_name} already exists"
msgstr "{new_name} már létezik"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "replace"
msgstr "írjuk fölül"
-#: js/filelist.js:205
+#: js/filelist.js:208
msgid "suggest name"
msgstr "legyen más neve"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "cancel"
msgstr "mégse"
-#: js/filelist.js:254
+#: js/filelist.js:253
msgid "replaced {new_name}"
msgstr "a(z) {new_name} állományt kicseréltük"
-#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
+#: js/filelist.js:253 js/filelist.js:255 js/filelist.js:286 js/filelist.js:288
msgid "undo"
msgstr "visszavonás"
-#: js/filelist.js:256
+#: js/filelist.js:255
msgid "replaced {new_name} with {old_name}"
msgstr "{new_name} fájlt kicseréltük ezzel: {old_name}"
-#: js/filelist.js:288
+#: js/filelist.js:286
msgid "unshared {files}"
msgstr "{files} fájl megosztása visszavonva"
-#: js/filelist.js:290
+#: js/filelist.js:288
msgid "deleted {files}"
msgstr "{files} fájl törölve"
-#: js/files.js:48
+#: js/files.js:52
msgid "'.' is an invalid file name."
msgstr "'.' fájlnév érvénytelen."
-#: js/files.js:53
+#: js/files.js:56
msgid "File name cannot be empty."
msgstr "A fájlnév nem lehet semmi."
-#: js/files.js:62
+#: js/files.js:64
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr "Érvénytelen elnevezés. Ezek a karakterek nem használhatók: '\\', '/', '<', '>', ':', '\"', '|', '?' és '*'"
-#: js/files.js:204
+#: js/files.js:78
+msgid "Your storage is full, files can not be updated or synced anymore!"
+msgstr "A tároló tele van, a fájlok nem frissíthetőek vagy szinkronizálhatóak a jövőben."
+
+#: js/files.js:82
+msgid "Your storage is almost full ({usedSpacePercent}%)"
+msgstr "A tároló majdnem tele van ({usedSpacePercent}%)"
+
+#: js/files.js:219
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:242
+#: js/files.js:256
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:242
+#: js/files.js:256
msgid "Upload Error"
msgstr "Feltöltési hiba"
-#: js/files.js:259
+#: js/files.js:273
msgid "Close"
msgstr "Bezárás"
-#: js/files.js:278 js/files.js:397 js/files.js:431
+#: js/files.js:292 js/files.js:408 js/files.js:439
msgid "Pending"
msgstr "Folyamatban"
-#: js/files.js:298
+#: js/files.js:312
msgid "1 file uploading"
msgstr "1 fájl töltődik föl"
-#: js/files.js:301 js/files.js:357 js/files.js:372
+#: js/files.js:315 js/files.js:370 js/files.js:385
msgid "{count} files uploading"
msgstr "{count} fájl töltődik föl"
-#: js/files.js:376 js/files.js:414
+#: js/files.js:388 js/files.js:423
msgid "Upload cancelled."
msgstr "A feltöltést megszakítottuk."
-#: js/files.js:486
+#: js/files.js:493
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr "Fájlfeltöltés van folyamatban. Az oldal elhagyása megszakítja a feltöltést."
-#: js/files.js:559
+#: js/files.js:566
msgid "URL cannot be empty."
msgstr "Az URL nem lehet semmi."
-#: js/files.js:565
+#: js/files.js:571
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:775
+#: js/files.js:784
msgid "{count} files scanned"
msgstr "{count} fájlt találtunk"
-#: js/files.js:783
+#: js/files.js:792
msgid "error while scanning"
msgstr "Hiba a fájllista-ellenőrzés során"
-#: js/files.js:857 templates/index.php:64
+#: js/files.js:866 templates/index.php:63
msgid "Name"
msgstr "Név"
-#: js/files.js:858 templates/index.php:75
+#: js/files.js:867 templates/index.php:74
msgid "Size"
msgstr "Méret"
-#: js/files.js:859 templates/index.php:77
+#: js/files.js:868 templates/index.php:76
msgid "Modified"
msgstr "Módosítva"
-#: js/files.js:878
+#: js/files.js:887
msgid "1 folder"
msgstr "1 mappa"
-#: js/files.js:880
+#: js/files.js:889
msgid "{count} folders"
msgstr "{count} mappa"
-#: js/files.js:888
+#: js/files.js:897
msgid "1 file"
msgstr "1 fájl"
-#: js/files.js:890
+#: js/files.js:899
msgid "{count} files"
msgstr "{count} fájl"
+#: lib/helper.php:11 templates/index.php:18
+msgid "Upload"
+msgstr "Feltöltés"
+
#: templates/admin.php:5
msgid "File handling"
msgstr "Fájlkezelés"
@@ -286,28 +294,28 @@ msgstr "Feltöltés linkről"
msgid "Cancel upload"
msgstr "A feltöltés megszakítása"
-#: templates/index.php:56
+#: templates/index.php:55
msgid "Nothing in here. Upload something!"
msgstr "Itt nincs semmi. Töltsön fel valamit!"
-#: templates/index.php:70
+#: templates/index.php:69
msgid "Download"
msgstr "Letöltés"
-#: templates/index.php:102
+#: templates/index.php:101
msgid "Upload too large"
msgstr "A feltöltés túl nagy"
-#: templates/index.php:104
+#: templates/index.php:103
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "A feltöltendő állományok mérete meghaladja a kiszolgálón megengedett maximális méretet."
-#: templates/index.php:109
+#: templates/index.php:108
msgid "Files are being scanned, please wait."
msgstr "A fájllista ellenőrzése zajlik, kis türelmet!"
-#: templates/index.php:112
+#: templates/index.php:111
msgid "Current scanning"
msgstr "Ellenőrzés alatt"
diff --git a/l10n/hu_HU/files_encryption.po b/l10n/hu_HU/files_encryption.po
index 4aea6abf217..1a15c06b6fe 100644
--- a/l10n/hu_HU/files_encryption.po
+++ b/l10n/hu_HU/files_encryption.po
@@ -3,14 +3,16 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# Akos <nagy.akos@libreoffice.ro>, 2013.
# Csaba Orban <vicsabi@gmail.com>, 2012.
+# <gyonkibendeguz@gmail.com>, 2013.
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"
+"POT-Creation-Date: 2013-01-29 00:04+0100\n"
+"PO-Revision-Date: 2013-01-28 11:15+0000\n"
+"Last-Translator: akoscomp <nagy.akos@libreoffice.ro>\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,53 +24,53 @@ msgstr ""
msgid ""
"Please switch to your ownCloud client and change your encryption password to"
" complete the conversion."
-msgstr ""
+msgstr "Kérjük, hogy váltson át az ownCloud kliensére, és változtassa meg a titkosítási jelszót az átalakítás befejezéséhez."
#: js/settings-personal.js:17
msgid "switched to client side encryption"
-msgstr ""
+msgstr "átváltva a kliens oldalai titkosításra"
#: js/settings-personal.js:21
msgid "Change encryption password to login password"
-msgstr ""
+msgstr "Titkosítási jelszó módosítása a bejelentkezési jelszóra"
#: js/settings-personal.js:25
msgid "Please check your passwords and try again."
-msgstr ""
+msgstr "Kérjük, ellenőrizze a jelszavait, és próbálja meg újra."
#: js/settings-personal.js:25
msgid "Could not change your file encryption password to your login password"
-msgstr ""
+msgstr "Nem módosíthatja a fájltitkosítási jelszavát a bejelentkezési jelszavára"
#: templates/settings-personal.php:3 templates/settings.php:5
msgid "Choose encryption mode:"
-msgstr ""
+msgstr "Válassza ki a titkosítási módot:"
#: 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 ""
+msgstr "Kliens oldali titkosítás (biztonságosabb, de lehetetlenné teszi a fájlok elérését a böngészőből)"
#: 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 ""
+msgstr "Kiszolgáló oldali titkosítás (lehetővé teszi a fájlok elérését úgy böngészőből mint az asztali kliensből)"
#: templates/settings-personal.php:41 templates/settings.php:60
msgid "None (no encryption at all)"
-msgstr ""
+msgstr "Semmi (semmilyen titkosítás)"
#: templates/settings.php:10
msgid ""
"Important: Once you selected an encryption mode there is no way to change it"
" back"
-msgstr ""
+msgstr "Fontos: Ha egyszer kiválasztotta a titkosítás módját, többé már nem lehet megváltoztatni"
#: templates/settings.php:48
msgid "User specific (let the user decide)"
-msgstr ""
+msgstr "Felhasználó specifikus (a felhasználó választhat)"
#: templates/settings.php:65
msgid "Encryption"
diff --git a/l10n/hu_HU/lib.po b/l10n/hu_HU/lib.po
index 2db700bdfcf..c3c29798b13 100644
--- a/l10n/hu_HU/lib.po
+++ b/l10n/hu_HU/lib.po
@@ -10,8 +10,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-01-20 00:05+0100\n"
-"PO-Revision-Date: 2013-01-19 13:13+0000\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"
@@ -46,7 +46,7 @@ msgstr "Admin"
#: files.php:365
msgid "ZIP download is turned off."
-msgstr "A ZIP-letöltés nem engedélyezett."
+msgstr "A ZIP-letöltés nincs engedélyezve."
#: files.php:366
msgid "Files need to be downloaded one by one."
@@ -62,7 +62,7 @@ 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 sikerült azonosítani"
+msgstr "nem határozható meg"
#: json.php:28
msgid "Application is not enabled"
diff --git a/l10n/hu_HU/user_webdavauth.po b/l10n/hu_HU/user_webdavauth.po
index e7f281281b7..f661c0e4ee0 100644
--- a/l10n/hu_HU/user_webdavauth.po
+++ b/l10n/hu_HU/user_webdavauth.po
@@ -3,13 +3,14 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# Akos <nagy.akos@libreoffice.ro>, 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"
+"POT-Creation-Date: 2013-01-29 00:04+0100\n"
+"PO-Revision-Date: 2013-01-28 11:27+0000\n"
+"Last-Translator: akoscomp <nagy.akos@libreoffice.ro>\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,7 +20,7 @@ msgstr ""
#: templates/settings.php:3
msgid "WebDAV Authentication"
-msgstr ""
+msgstr "WebDAV hitelesítés"
#: templates/settings.php:4
msgid "URL: http://"
@@ -30,4 +31,4 @@ 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 ""
+msgstr "Az ownCloud elküldi a felhasználói fiók adatai a következő URL-re. Ez a bővítőmodul leellenőrzi a választ és ha a HTTP hibakód nem 401 vagy 403 azaz érvénytelen hitelesítő, akkor minden más válasz érvényes lesz."
diff --git a/l10n/ia/core.po b/l10n/ia/core.po
index 984f28fcdf4..5877ff0082a 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: 2013-01-15 00:03+0100\n"
-"PO-Revision-Date: 2013-01-14 23:03+0000\n"
+"POT-Creation-Date: 2013-01-29 00:04+0100\n"
+"PO-Revision-Date: 2013-01-28 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"
@@ -80,59 +80,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:32
+msgid "Sunday"
+msgstr "Dominica"
+
+#: js/config.php:32
+msgid "Monday"
+msgstr "Lunedi"
+
+#: js/config.php:32
+msgid "Tuesday"
+msgstr "Martedi"
+
+#: js/config.php:32
+msgid "Wednesday"
+msgstr "Mercuridi"
+
+#: js/config.php:32
+msgid "Thursday"
+msgstr "Jovedi"
+
+#: js/config.php:32
+msgid "Friday"
+msgstr "Venerdi"
+
+#: js/config.php:32
+msgid "Saturday"
+msgstr "Sabbato"
+
+#: js/config.php:33
+msgid "January"
+msgstr "januario"
+
+#: js/config.php:33
+msgid "February"
+msgstr "Februario"
+
+#: js/config.php:33
+msgid "March"
+msgstr "Martio"
+
+#: js/config.php:33
+msgid "April"
+msgstr "April"
+
+#: js/config.php:33
+msgid "May"
+msgstr "Mai"
+
+#: js/config.php:33
+msgid "June"
+msgstr "Junio"
+
+#: js/config.php:33
+msgid "July"
+msgstr "Julio"
+
+#: js/config.php:33
+msgid "August"
+msgstr "Augusto"
+
+#: js/config.php:33
+msgid "September"
+msgstr "Septembre"
+
+#: js/config.php:33
+msgid "October"
+msgstr "Octobre"
+
+#: js/config.php:33
+msgid "November"
+msgstr "Novembre"
+
+#: js/config.php:33
+msgid "December"
+msgstr "Decembre"
+
+#: js/js.js:280 templates/layout.user.php:47 templates/layout.user.php:48
msgid "Settings"
msgstr "Configurationes"
-#: js/js.js:711
+#: js/js.js:762
msgid "seconds ago"
msgstr ""
-#: js/js.js:712
+#: js/js.js:763
msgid "1 minute ago"
msgstr ""
-#: js/js.js:713
+#: js/js.js:764
msgid "{minutes} minutes ago"
msgstr ""
-#: js/js.js:714
+#: js/js.js:765
msgid "1 hour ago"
msgstr ""
-#: js/js.js:715
+#: js/js.js:766
msgid "{hours} hours ago"
msgstr ""
-#: js/js.js:716
+#: js/js.js:767
msgid "today"
msgstr ""
-#: js/js.js:717
+#: js/js.js:768
msgid "yesterday"
msgstr ""
-#: js/js.js:718
+#: js/js.js:769
msgid "{days} days ago"
msgstr ""
-#: js/js.js:719
+#: js/js.js:770
msgid "last month"
msgstr ""
-#: js/js.js:720
+#: js/js.js:771
msgid "{months} months ago"
msgstr ""
-#: js/js.js:721
+#: js/js.js:772
msgid "months ago"
msgstr ""
-#: js/js.js:722
+#: js/js.js:773
msgid "last year"
msgstr ""
-#: js/js.js:723
+#: js/js.js:774
msgid "years ago"
msgstr ""
@@ -291,6 +367,17 @@ msgstr ""
msgid "Email sent"
msgstr ""
+#: js/update.js:14
+msgid ""
+"The update was unsuccessful. Please report this issue to the <a "
+"href=\"https://github.com/owncloud/core/issues\" target=\"_blank\">ownCloud "
+"community</a>."
+msgstr ""
+
+#: js/update.js:18
+msgid "The update was successful. Redirecting you to ownCloud now."
+msgstr ""
+
#: lostpassword/controller.php:47
msgid "ownCloud password reset"
msgstr "Reinitialisation del contrasigno de ownCLoud"
@@ -442,87 +529,11 @@ msgstr "Hospite de base de datos"
msgid "Finish setup"
msgstr ""
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Sunday"
-msgstr "Dominica"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Monday"
-msgstr "Lunedi"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Tuesday"
-msgstr "Martedi"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Wednesday"
-msgstr "Mercuridi"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Thursday"
-msgstr "Jovedi"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Friday"
-msgstr "Venerdi"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Saturday"
-msgstr "Sabbato"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "January"
-msgstr "januario"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "February"
-msgstr "Februario"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "March"
-msgstr "Martio"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "April"
-msgstr "April"
-
-#: 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 "Junio"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "July"
-msgstr "Julio"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "August"
-msgstr "Augusto"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "September"
-msgstr "Septembre"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "October"
-msgstr "Octobre"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "November"
-msgstr "Novembre"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "December"
-msgstr "Decembre"
-
-#: templates/layout.guest.php:42
+#: templates/layout.guest.php:34
msgid "web services under your control"
msgstr "servicios web sub tu controlo"
-#: templates/layout.user.php:45
+#: templates/layout.user.php:32
msgid "Log out"
msgstr "Clauder le session"
diff --git a/l10n/ia/files.po b/l10n/ia/files.po
index c99fb7952dd..b1a67c83777 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: 2013-01-20 00:05+0100\n"
-"PO-Revision-Date: 2013-01-19 23:05+0000\n"
+"POT-Creation-Date: 2013-01-27 00:04+0100\n"
+"PO-Revision-Date: 2013-01-26 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,11 +19,6 @@ 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"
@@ -38,46 +33,46 @@ msgstr ""
msgid "Unable to rename file"
msgstr ""
-#: ajax/upload.php:20
+#: ajax/upload.php:17
msgid "No file was uploaded. Unknown error"
msgstr ""
-#: ajax/upload.php:30
+#: ajax/upload.php:24
msgid "There is no error, the file uploaded with success"
msgstr ""
-#: ajax/upload.php:31
+#: ajax/upload.php:25
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr ""
-#: ajax/upload.php:33
+#: ajax/upload.php:27
msgid ""
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
"the HTML form"
msgstr ""
-#: ajax/upload.php:35
+#: ajax/upload.php:29
msgid "The uploaded file was only partially uploaded"
msgstr "Le file incargate solmente esseva incargate partialmente"
-#: ajax/upload.php:36
+#: ajax/upload.php:30
msgid "No file was uploaded"
msgstr "Nulle file esseva incargate"
-#: ajax/upload.php:37
+#: ajax/upload.php:31
msgid "Missing a temporary folder"
msgstr "Manca un dossier temporari"
-#: ajax/upload.php:38
+#: ajax/upload.php:32
msgid "Failed to write to disk"
msgstr ""
-#: ajax/upload.php:57
-msgid "Not enough space available"
+#: ajax/upload.php:48
+msgid "Not enough storage available"
msgstr ""
-#: ajax/upload.php:91
+#: ajax/upload.php:77
msgid "Invalid directory."
msgstr ""
@@ -85,11 +80,11 @@ msgstr ""
msgid "Files"
msgstr "Files"
-#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
+#: js/fileactions.js:117 templates/index.php:81 templates/index.php:82
msgid "Unshare"
msgstr ""
-#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
+#: js/fileactions.js:119 templates/index.php:87 templates/index.php:88
msgid "Delete"
msgstr "Deler"
@@ -97,139 +92,151 @@ msgstr "Deler"
msgid "Rename"
msgstr ""
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "{new_name} already exists"
msgstr ""
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "replace"
msgstr ""
-#: js/filelist.js:205
+#: js/filelist.js:208
msgid "suggest name"
msgstr ""
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "cancel"
msgstr ""
-#: js/filelist.js:254
+#: js/filelist.js:253
msgid "replaced {new_name}"
msgstr ""
-#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
+#: js/filelist.js:253 js/filelist.js:255 js/filelist.js:286 js/filelist.js:288
msgid "undo"
msgstr ""
-#: js/filelist.js:256
+#: js/filelist.js:255
msgid "replaced {new_name} with {old_name}"
msgstr ""
-#: js/filelist.js:288
+#: js/filelist.js:286
msgid "unshared {files}"
msgstr ""
-#: js/filelist.js:290
+#: js/filelist.js:288
msgid "deleted {files}"
msgstr ""
-#: js/files.js:48
+#: js/files.js:52
msgid "'.' is an invalid file name."
msgstr ""
-#: js/files.js:53
+#: js/files.js:56
msgid "File name cannot be empty."
msgstr ""
-#: js/files.js:62
+#: js/files.js:64
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr ""
-#: js/files.js:204
+#: js/files.js:78
+msgid "Your storage is full, files can not be updated or synced anymore!"
+msgstr ""
+
+#: js/files.js:82
+msgid "Your storage is almost full ({usedSpacePercent}%)"
+msgstr ""
+
+#: js/files.js:219
msgid ""
"Your download is being prepared. This might take some time if the files are "
"big."
msgstr ""
-#: js/files.js:242
+#: js/files.js:256
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr ""
-#: js/files.js:242
+#: js/files.js:256
msgid "Upload Error"
msgstr ""
-#: js/files.js:259
+#: js/files.js:273
msgid "Close"
msgstr "Clauder"
-#: js/files.js:278 js/files.js:397 js/files.js:431
+#: js/files.js:292 js/files.js:408 js/files.js:439
msgid "Pending"
msgstr ""
-#: js/files.js:298
+#: js/files.js:312
msgid "1 file uploading"
msgstr ""
-#: js/files.js:301 js/files.js:357 js/files.js:372
+#: js/files.js:315 js/files.js:370 js/files.js:385
msgid "{count} files uploading"
msgstr ""
-#: js/files.js:376 js/files.js:414
+#: js/files.js:388 js/files.js:423
msgid "Upload cancelled."
msgstr ""
-#: js/files.js:486
+#: js/files.js:493
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr ""
-#: js/files.js:559
+#: js/files.js:566
msgid "URL cannot be empty."
msgstr ""
-#: js/files.js:565
+#: js/files.js:571
msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
msgstr ""
-#: js/files.js:775
+#: js/files.js:784
msgid "{count} files scanned"
msgstr ""
-#: js/files.js:783
+#: js/files.js:792
msgid "error while scanning"
msgstr ""
-#: js/files.js:857 templates/index.php:64
+#: js/files.js:866 templates/index.php:63
msgid "Name"
msgstr "Nomine"
-#: js/files.js:858 templates/index.php:75
+#: js/files.js:867 templates/index.php:74
msgid "Size"
msgstr "Dimension"
-#: js/files.js:859 templates/index.php:77
+#: js/files.js:868 templates/index.php:76
msgid "Modified"
msgstr "Modificate"
-#: js/files.js:878
+#: js/files.js:887
msgid "1 folder"
msgstr ""
-#: js/files.js:880
+#: js/files.js:889
msgid "{count} folders"
msgstr ""
-#: js/files.js:888
+#: js/files.js:897
msgid "1 file"
msgstr ""
-#: js/files.js:890
+#: js/files.js:899
msgid "{count} files"
msgstr ""
+#: lib/helper.php:11 templates/index.php:18
+msgid "Upload"
+msgstr "Incargar"
+
#: templates/admin.php:5
msgid "File handling"
msgstr ""
@@ -282,28 +289,28 @@ msgstr ""
msgid "Cancel upload"
msgstr ""
-#: templates/index.php:56
+#: templates/index.php:55
msgid "Nothing in here. Upload something!"
msgstr "Nihil hic. Incarga alcun cosa!"
-#: templates/index.php:70
+#: templates/index.php:69
msgid "Download"
msgstr "Discargar"
-#: templates/index.php:102
+#: templates/index.php:101
msgid "Upload too large"
msgstr "Incargamento troppo longe"
-#: templates/index.php:104
+#: templates/index.php:103
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr ""
-#: templates/index.php:109
+#: templates/index.php:108
msgid "Files are being scanned, please wait."
msgstr ""
-#: templates/index.php:112
+#: templates/index.php:111
msgid "Current scanning"
msgstr ""
diff --git a/l10n/id/core.po b/l10n/id/core.po
index 0bf675c92b8..b4947796085 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: 2013-01-15 00:03+0100\n"
-"PO-Revision-Date: 2013-01-14 23:03+0000\n"
+"POT-Creation-Date: 2013-01-29 00:04+0100\n"
+"PO-Revision-Date: 2013-01-28 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"
@@ -83,59 +83,135 @@ msgstr "Tidak ada kategori terpilih untuk penghapusan."
msgid "Error removing %s from favorites."
msgstr ""
-#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61
+#: js/config.php:32
+msgid "Sunday"
+msgstr "minggu"
+
+#: js/config.php:32
+msgid "Monday"
+msgstr "senin"
+
+#: js/config.php:32
+msgid "Tuesday"
+msgstr "selasa"
+
+#: js/config.php:32
+msgid "Wednesday"
+msgstr "rabu"
+
+#: js/config.php:32
+msgid "Thursday"
+msgstr "kamis"
+
+#: js/config.php:32
+msgid "Friday"
+msgstr "jumat"
+
+#: js/config.php:32
+msgid "Saturday"
+msgstr "sabtu"
+
+#: js/config.php:33
+msgid "January"
+msgstr "Januari"
+
+#: js/config.php:33
+msgid "February"
+msgstr "Februari"
+
+#: js/config.php:33
+msgid "March"
+msgstr "Maret"
+
+#: js/config.php:33
+msgid "April"
+msgstr "April"
+
+#: js/config.php:33
+msgid "May"
+msgstr "Mei"
+
+#: js/config.php:33
+msgid "June"
+msgstr "Juni"
+
+#: js/config.php:33
+msgid "July"
+msgstr "Juli"
+
+#: js/config.php:33
+msgid "August"
+msgstr "Agustus"
+
+#: js/config.php:33
+msgid "September"
+msgstr "September"
+
+#: js/config.php:33
+msgid "October"
+msgstr "Oktober"
+
+#: js/config.php:33
+msgid "November"
+msgstr "Nopember"
+
+#: js/config.php:33
+msgid "December"
+msgstr "Desember"
+
+#: js/js.js:280 templates/layout.user.php:47 templates/layout.user.php:48
msgid "Settings"
msgstr "Setelan"
-#: js/js.js:711
+#: js/js.js:762
msgid "seconds ago"
msgstr "beberapa detik yang lalu"
-#: js/js.js:712
+#: js/js.js:763
msgid "1 minute ago"
msgstr "1 menit lalu"
-#: js/js.js:713
+#: js/js.js:764
msgid "{minutes} minutes ago"
msgstr ""
-#: js/js.js:714
+#: js/js.js:765
msgid "1 hour ago"
msgstr ""
-#: js/js.js:715
+#: js/js.js:766
msgid "{hours} hours ago"
msgstr ""
-#: js/js.js:716
+#: js/js.js:767
msgid "today"
msgstr "hari ini"
-#: js/js.js:717
+#: js/js.js:768
msgid "yesterday"
msgstr "kemarin"
-#: js/js.js:718
+#: js/js.js:769
msgid "{days} days ago"
msgstr ""
-#: js/js.js:719
+#: js/js.js:770
msgid "last month"
msgstr "bulan kemarin"
-#: js/js.js:720
+#: js/js.js:771
msgid "{months} months ago"
msgstr ""
-#: js/js.js:721
+#: js/js.js:772
msgid "months ago"
msgstr "beberapa bulan lalu"
-#: js/js.js:722
+#: js/js.js:773
msgid "last year"
msgstr "tahun kemarin"
-#: js/js.js:723
+#: js/js.js:774
msgid "years ago"
msgstr "beberapa tahun lalu"
@@ -294,6 +370,17 @@ msgstr ""
msgid "Email sent"
msgstr ""
+#: js/update.js:14
+msgid ""
+"The update was unsuccessful. Please report this issue to the <a "
+"href=\"https://github.com/owncloud/core/issues\" target=\"_blank\">ownCloud "
+"community</a>."
+msgstr ""
+
+#: js/update.js:18
+msgid "The update was successful. Redirecting you to ownCloud now."
+msgstr ""
+
#: lostpassword/controller.php:47
msgid "ownCloud password reset"
msgstr "reset password ownCloud"
@@ -445,87 +532,11 @@ msgstr "Host database"
msgid "Finish setup"
msgstr "Selesaikan instalasi"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Sunday"
-msgstr "minggu"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Monday"
-msgstr "senin"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Tuesday"
-msgstr "selasa"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Wednesday"
-msgstr "rabu"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Thursday"
-msgstr "kamis"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Friday"
-msgstr "jumat"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Saturday"
-msgstr "sabtu"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "January"
-msgstr "Januari"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "February"
-msgstr "Februari"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "March"
-msgstr "Maret"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "April"
-msgstr "April"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "May"
-msgstr "Mei"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "June"
-msgstr "Juni"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "July"
-msgstr "Juli"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "August"
-msgstr "Agustus"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "September"
-msgstr "September"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "October"
-msgstr "Oktober"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "November"
-msgstr "Nopember"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "December"
-msgstr "Desember"
-
-#: templates/layout.guest.php:42
+#: templates/layout.guest.php:34
msgid "web services under your control"
msgstr "web service dibawah kontrol anda"
-#: templates/layout.user.php:45
+#: templates/layout.user.php:32
msgid "Log out"
msgstr "Keluar"
diff --git a/l10n/id/files.po b/l10n/id/files.po
index 31ff4ad0fe8..50113614716 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: 2013-01-20 00:05+0100\n"
-"PO-Revision-Date: 2013-01-19 23:05+0000\n"
+"POT-Creation-Date: 2013-01-27 00:04+0100\n"
+"PO-Revision-Date: 2013-01-26 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,11 +20,6 @@ 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"
@@ -39,46 +34,46 @@ msgstr ""
msgid "Unable to rename file"
msgstr ""
-#: ajax/upload.php:20
+#: ajax/upload.php:17
msgid "No file was uploaded. Unknown error"
msgstr ""
-#: ajax/upload.php:30
+#: ajax/upload.php:24
msgid "There is no error, the file uploaded with success"
msgstr "Tidak ada galat, berkas sukses diunggah"
-#: ajax/upload.php:31
+#: ajax/upload.php:25
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr ""
-#: ajax/upload.php:33
+#: ajax/upload.php:27
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:35
+#: ajax/upload.php:29
msgid "The uploaded file was only partially uploaded"
msgstr "Berkas hanya diunggah sebagian"
-#: ajax/upload.php:36
+#: ajax/upload.php:30
msgid "No file was uploaded"
msgstr "Tidak ada berkas yang diunggah"
-#: ajax/upload.php:37
+#: ajax/upload.php:31
msgid "Missing a temporary folder"
msgstr "Kehilangan folder temporer"
-#: ajax/upload.php:38
+#: ajax/upload.php:32
msgid "Failed to write to disk"
msgstr "Gagal menulis ke disk"
-#: ajax/upload.php:57
-msgid "Not enough space available"
+#: ajax/upload.php:48
+msgid "Not enough storage available"
msgstr ""
-#: ajax/upload.php:91
+#: ajax/upload.php:77
msgid "Invalid directory."
msgstr ""
@@ -86,11 +81,11 @@ msgstr ""
msgid "Files"
msgstr "Berkas"
-#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
+#: js/fileactions.js:117 templates/index.php:81 templates/index.php:82
msgid "Unshare"
msgstr "batalkan berbagi"
-#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
+#: js/fileactions.js:119 templates/index.php:87 templates/index.php:88
msgid "Delete"
msgstr "Hapus"
@@ -98,139 +93,151 @@ msgstr "Hapus"
msgid "Rename"
msgstr ""
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "{new_name} already exists"
msgstr ""
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "replace"
msgstr "mengganti"
-#: js/filelist.js:205
+#: js/filelist.js:208
msgid "suggest name"
msgstr ""
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "cancel"
msgstr "batalkan"
-#: js/filelist.js:254
+#: js/filelist.js:253
msgid "replaced {new_name}"
msgstr ""
-#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
+#: js/filelist.js:253 js/filelist.js:255 js/filelist.js:286 js/filelist.js:288
msgid "undo"
msgstr "batal dikerjakan"
-#: js/filelist.js:256
+#: js/filelist.js:255
msgid "replaced {new_name} with {old_name}"
msgstr ""
-#: js/filelist.js:288
+#: js/filelist.js:286
msgid "unshared {files}"
msgstr ""
-#: js/filelist.js:290
+#: js/filelist.js:288
msgid "deleted {files}"
msgstr ""
-#: js/files.js:48
+#: js/files.js:52
msgid "'.' is an invalid file name."
msgstr ""
-#: js/files.js:53
+#: js/files.js:56
msgid "File name cannot be empty."
msgstr ""
-#: js/files.js:62
+#: js/files.js:64
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr ""
-#: js/files.js:204
+#: js/files.js:78
+msgid "Your storage is full, files can not be updated or synced anymore!"
+msgstr ""
+
+#: js/files.js:82
+msgid "Your storage is almost full ({usedSpacePercent}%)"
+msgstr ""
+
+#: js/files.js:219
msgid ""
"Your download is being prepared. This might take some time if the files are "
"big."
msgstr ""
-#: js/files.js:242
+#: js/files.js:256
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:242
+#: js/files.js:256
msgid "Upload Error"
msgstr "Terjadi Galat Pengunggahan"
-#: js/files.js:259
+#: js/files.js:273
msgid "Close"
msgstr "tutup"
-#: js/files.js:278 js/files.js:397 js/files.js:431
+#: js/files.js:292 js/files.js:408 js/files.js:439
msgid "Pending"
msgstr "Menunggu"
-#: js/files.js:298
+#: js/files.js:312
msgid "1 file uploading"
msgstr ""
-#: js/files.js:301 js/files.js:357 js/files.js:372
+#: js/files.js:315 js/files.js:370 js/files.js:385
msgid "{count} files uploading"
msgstr ""
-#: js/files.js:376 js/files.js:414
+#: js/files.js:388 js/files.js:423
msgid "Upload cancelled."
msgstr "Pengunggahan dibatalkan."
-#: js/files.js:486
+#: js/files.js:493
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr ""
-#: js/files.js:559
+#: js/files.js:566
msgid "URL cannot be empty."
msgstr "tautan tidak boleh kosong"
-#: js/files.js:565
+#: js/files.js:571
msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
msgstr ""
-#: js/files.js:775
+#: js/files.js:784
msgid "{count} files scanned"
msgstr ""
-#: js/files.js:783
+#: js/files.js:792
msgid "error while scanning"
msgstr ""
-#: js/files.js:857 templates/index.php:64
+#: js/files.js:866 templates/index.php:63
msgid "Name"
msgstr "Nama"
-#: js/files.js:858 templates/index.php:75
+#: js/files.js:867 templates/index.php:74
msgid "Size"
msgstr "Ukuran"
-#: js/files.js:859 templates/index.php:77
+#: js/files.js:868 templates/index.php:76
msgid "Modified"
msgstr "Dimodifikasi"
-#: js/files.js:878
+#: js/files.js:887
msgid "1 folder"
msgstr ""
-#: js/files.js:880
+#: js/files.js:889
msgid "{count} folders"
msgstr ""
-#: js/files.js:888
+#: js/files.js:897
msgid "1 file"
msgstr ""
-#: js/files.js:890
+#: js/files.js:899
msgid "{count} files"
msgstr ""
+#: lib/helper.php:11 templates/index.php:18
+msgid "Upload"
+msgstr "Unggah"
+
#: templates/admin.php:5
msgid "File handling"
msgstr "Penanganan berkas"
@@ -283,28 +290,28 @@ msgstr ""
msgid "Cancel upload"
msgstr "Batal mengunggah"
-#: templates/index.php:56
+#: templates/index.php:55
msgid "Nothing in here. Upload something!"
msgstr "Tidak ada apa-apa di sini. Unggah sesuatu!"
-#: templates/index.php:70
+#: templates/index.php:69
msgid "Download"
msgstr "Unduh"
-#: templates/index.php:102
+#: templates/index.php:101
msgid "Upload too large"
msgstr "Unggahan terlalu besar"
-#: templates/index.php:104
+#: templates/index.php:103
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:109
+#: templates/index.php:108
msgid "Files are being scanned, please wait."
msgstr "Berkas sedang dipindai, silahkan tunggu."
-#: templates/index.php:112
+#: templates/index.php:111
msgid "Current scanning"
msgstr "Sedang memindai"
diff --git a/l10n/is/core.po b/l10n/is/core.po
index a575a9992a8..c8789af9a99 100644
--- a/l10n/is/core.po
+++ b/l10n/is/core.po
@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-01-15 00:03+0100\n"
-"PO-Revision-Date: 2013-01-14 23:03+0000\n"
+"POT-Creation-Date: 2013-01-29 00:04+0100\n"
+"PO-Revision-Date: 2013-01-28 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"
@@ -81,59 +81,135 @@ msgstr "Enginn flokkur valinn til eyðingar."
msgid "Error removing %s from favorites."
msgstr "Villa við að fjarlægja %s úr eftirlæti."
-#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61
+#: js/config.php:32
+msgid "Sunday"
+msgstr "Sunnudagur"
+
+#: js/config.php:32
+msgid "Monday"
+msgstr "Mánudagur"
+
+#: js/config.php:32
+msgid "Tuesday"
+msgstr "Þriðjudagur"
+
+#: js/config.php:32
+msgid "Wednesday"
+msgstr "Miðvikudagur"
+
+#: js/config.php:32
+msgid "Thursday"
+msgstr "Fimmtudagur"
+
+#: js/config.php:32
+msgid "Friday"
+msgstr "Föstudagur"
+
+#: js/config.php:32
+msgid "Saturday"
+msgstr "Laugardagur"
+
+#: js/config.php:33
+msgid "January"
+msgstr "Janúar"
+
+#: js/config.php:33
+msgid "February"
+msgstr "Febrúar"
+
+#: js/config.php:33
+msgid "March"
+msgstr "Mars"
+
+#: js/config.php:33
+msgid "April"
+msgstr "Apríl"
+
+#: js/config.php:33
+msgid "May"
+msgstr "Maí"
+
+#: js/config.php:33
+msgid "June"
+msgstr "Júní"
+
+#: js/config.php:33
+msgid "July"
+msgstr "Júlí"
+
+#: js/config.php:33
+msgid "August"
+msgstr "Ãgúst"
+
+#: js/config.php:33
+msgid "September"
+msgstr "September"
+
+#: js/config.php:33
+msgid "October"
+msgstr "Október"
+
+#: js/config.php:33
+msgid "November"
+msgstr "Nóvember"
+
+#: js/config.php:33
+msgid "December"
+msgstr "Desember"
+
+#: js/js.js:280 templates/layout.user.php:47 templates/layout.user.php:48
msgid "Settings"
msgstr "Stillingar"
-#: js/js.js:711
+#: js/js.js:762
msgid "seconds ago"
msgstr "sek síðan"
-#: js/js.js:712
+#: js/js.js:763
msgid "1 minute ago"
msgstr "1 min síðan"
-#: js/js.js:713
+#: js/js.js:764
msgid "{minutes} minutes ago"
msgstr "{minutes} min síðan"
-#: js/js.js:714
+#: js/js.js:765
msgid "1 hour ago"
msgstr "Fyrir 1 klst."
-#: js/js.js:715
+#: js/js.js:766
msgid "{hours} hours ago"
msgstr "fyrir {hours} klst."
-#: js/js.js:716
+#: js/js.js:767
msgid "today"
msgstr "í dag"
-#: js/js.js:717
+#: js/js.js:768
msgid "yesterday"
msgstr "í gær"
-#: js/js.js:718
+#: js/js.js:769
msgid "{days} days ago"
msgstr "{days} dagar síðan"
-#: js/js.js:719
+#: js/js.js:770
msgid "last month"
msgstr "síðasta mánuði"
-#: js/js.js:720
+#: js/js.js:771
msgid "{months} months ago"
msgstr "fyrir {months} mánuðum"
-#: js/js.js:721
+#: js/js.js:772
msgid "months ago"
msgstr "mánuðir síðan"
-#: js/js.js:722
+#: js/js.js:773
msgid "last year"
msgstr "síðasta ári"
-#: js/js.js:723
+#: js/js.js:774
msgid "years ago"
msgstr "árum síðan"
@@ -292,6 +368,17 @@ msgstr "Sendi ..."
msgid "Email sent"
msgstr "Tölvupóstur sendur"
+#: js/update.js:14
+msgid ""
+"The update was unsuccessful. Please report this issue to the <a "
+"href=\"https://github.com/owncloud/core/issues\" target=\"_blank\">ownCloud "
+"community</a>."
+msgstr ""
+
+#: js/update.js:18
+msgid "The update was successful. Redirecting you to ownCloud now."
+msgstr ""
+
#: lostpassword/controller.php:47
msgid "ownCloud password reset"
msgstr "endursetja ownCloud lykilorð"
@@ -443,87 +530,11 @@ msgstr "Netþjónn gagnagrunns"
msgid "Finish setup"
msgstr "Virkja uppsetningu"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Sunday"
-msgstr "Sunnudagur"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Monday"
-msgstr "Mánudagur"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Tuesday"
-msgstr "Þriðjudagur"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Wednesday"
-msgstr "Miðvikudagur"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Thursday"
-msgstr "Fimmtudagur"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Friday"
-msgstr "Föstudagur"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Saturday"
-msgstr "Laugardagur"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "January"
-msgstr "Janúar"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "February"
-msgstr "Febrúar"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "March"
-msgstr "Mars"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "April"
-msgstr "Apríl"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "May"
-msgstr "Maí"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "June"
-msgstr "Júní"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "July"
-msgstr "Júlí"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "August"
-msgstr "Ãgúst"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "September"
-msgstr "September"
-
-#: 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 "Nóvember"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "December"
-msgstr "Desember"
-
-#: templates/layout.guest.php:42
+#: templates/layout.guest.php:34
msgid "web services under your control"
msgstr "vefþjónusta undir þinni stjórn"
-#: templates/layout.user.php:45
+#: templates/layout.user.php:32
msgid "Log out"
msgstr "Útskrá"
diff --git a/l10n/is/files.po b/l10n/is/files.po
index 6501754dbc6..bd387e20c3f 100644
--- a/l10n/is/files.po
+++ b/l10n/is/files.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-01-20 00:05+0100\n"
-"PO-Revision-Date: 2013-01-19 23:05+0000\n"
+"POT-Creation-Date: 2013-01-27 00:04+0100\n"
+"PO-Revision-Date: 2013-01-26 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"
@@ -18,11 +18,6 @@ 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"
@@ -37,46 +32,46 @@ msgstr "Gat ekki fært %s"
msgid "Unable to rename file"
msgstr "Gat ekki endurskýrt skrá"
-#: ajax/upload.php:20
+#: ajax/upload.php:17
msgid "No file was uploaded. Unknown error"
msgstr "Engin skrá var send inn. Óþekkt villa."
-#: ajax/upload.php:30
+#: ajax/upload.php:24
msgid "There is no error, the file uploaded with success"
msgstr "Engin villa, innsending heppnaðist"
-#: ajax/upload.php:31
+#: ajax/upload.php:25
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr "Innsend skrá er stærri en upload_max stillingin í php.ini:"
-#: ajax/upload.php:33
+#: ajax/upload.php:27
msgid ""
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
"the HTML form"
msgstr "Innsenda skráin er stærri en MAX_FILE_SIZE sem skilgreint er í HTML sniðinu."
-#: ajax/upload.php:35
+#: ajax/upload.php:29
msgid "The uploaded file was only partially uploaded"
msgstr "Einungis hluti af innsendri skrá skilaði sér"
-#: ajax/upload.php:36
+#: ajax/upload.php:30
msgid "No file was uploaded"
msgstr "Engin skrá skilaði sér"
-#: ajax/upload.php:37
+#: ajax/upload.php:31
msgid "Missing a temporary folder"
msgstr "Vantar bráðabirgðamöppu"
-#: ajax/upload.php:38
+#: ajax/upload.php:32
msgid "Failed to write to disk"
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:48
+msgid "Not enough storage available"
+msgstr ""
-#: ajax/upload.php:91
+#: ajax/upload.php:77
msgid "Invalid directory."
msgstr "Ógild mappa."
@@ -84,11 +79,11 @@ msgstr "Ógild mappa."
msgid "Files"
msgstr "Skrár"
-#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
+#: js/fileactions.js:117 templates/index.php:81 templates/index.php:82
msgid "Unshare"
msgstr "Hætta deilingu"
-#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
+#: js/fileactions.js:119 templates/index.php:87 templates/index.php:88
msgid "Delete"
msgstr "Eyða"
@@ -96,139 +91,151 @@ msgstr "Eyða"
msgid "Rename"
msgstr "Endurskýra"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "{new_name} already exists"
msgstr "{new_name} er þegar til"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "replace"
msgstr "yfirskrifa"
-#: js/filelist.js:205
+#: js/filelist.js:208
msgid "suggest name"
msgstr "stinga upp á nafni"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "cancel"
msgstr "hætta við"
-#: js/filelist.js:254
+#: js/filelist.js:253
msgid "replaced {new_name}"
msgstr "endurskýrði {new_name}"
-#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
+#: js/filelist.js:253 js/filelist.js:255 js/filelist.js:286 js/filelist.js:288
msgid "undo"
msgstr "afturkalla"
-#: js/filelist.js:256
+#: js/filelist.js:255
msgid "replaced {new_name} with {old_name}"
msgstr "yfirskrifaði {new_name} með {old_name}"
-#: js/filelist.js:288
+#: js/filelist.js:286
msgid "unshared {files}"
msgstr "Hætti við deilingu á {files}"
-#: js/filelist.js:290
+#: js/filelist.js:288
msgid "deleted {files}"
msgstr "eyddi {files}"
-#: js/files.js:48
+#: js/files.js:52
msgid "'.' is an invalid file name."
msgstr "'.' er ekki leyfilegt nafn."
-#: js/files.js:53
+#: js/files.js:56
msgid "File name cannot be empty."
msgstr "Nafn skráar má ekki vera tómt"
-#: js/files.js:62
+#: js/files.js:64
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr "Ógilt nafn, táknin '\\', '/', '<', '>', ':', '\"', '|', '?' og '*' eru ekki leyfð."
-#: js/files.js:204
+#: js/files.js:78
+msgid "Your storage is full, files can not be updated or synced anymore!"
+msgstr ""
+
+#: js/files.js:82
+msgid "Your storage is almost full ({usedSpacePercent}%)"
+msgstr ""
+
+#: js/files.js:219
msgid ""
"Your download is being prepared. This might take some time if the files are "
"big."
msgstr ""
-#: js/files.js:242
+#: js/files.js:256
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr "Innsending á skrá mistókst, hugsanlega sendir þú möppu eða skráin er 0 bæti."
-#: js/files.js:242
+#: js/files.js:256
msgid "Upload Error"
msgstr "Villa við innsendingu"
-#: js/files.js:259
+#: js/files.js:273
msgid "Close"
msgstr "Loka"
-#: js/files.js:278 js/files.js:397 js/files.js:431
+#: js/files.js:292 js/files.js:408 js/files.js:439
msgid "Pending"
msgstr "Bíður"
-#: js/files.js:298
+#: js/files.js:312
msgid "1 file uploading"
msgstr "1 skrá innsend"
-#: js/files.js:301 js/files.js:357 js/files.js:372
+#: js/files.js:315 js/files.js:370 js/files.js:385
msgid "{count} files uploading"
msgstr "{count} skrár innsendar"
-#: js/files.js:376 js/files.js:414
+#: js/files.js:388 js/files.js:423
msgid "Upload cancelled."
msgstr "Hætt við innsendingu."
-#: js/files.js:486
+#: js/files.js:493
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr "Innsending í gangi. Ef þú ferð af þessari síðu mun innsending misheppnast."
-#: js/files.js:559
+#: js/files.js:566
msgid "URL cannot be empty."
msgstr "Vefslóð má ekki vera tóm."
-#: js/files.js:565
+#: js/files.js:571
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
+#: js/files.js:784
msgid "{count} files scanned"
msgstr "{count} skrár skimaðar"
-#: js/files.js:783
+#: js/files.js:792
msgid "error while scanning"
msgstr "villa við skimun"
-#: js/files.js:857 templates/index.php:64
+#: js/files.js:866 templates/index.php:63
msgid "Name"
msgstr "Nafn"
-#: js/files.js:858 templates/index.php:75
+#: js/files.js:867 templates/index.php:74
msgid "Size"
msgstr "Stærð"
-#: js/files.js:859 templates/index.php:77
+#: js/files.js:868 templates/index.php:76
msgid "Modified"
msgstr "Breytt"
-#: js/files.js:878
+#: js/files.js:887
msgid "1 folder"
msgstr "1 mappa"
-#: js/files.js:880
+#: js/files.js:889
msgid "{count} folders"
msgstr "{count} möppur"
-#: js/files.js:888
+#: js/files.js:897
msgid "1 file"
msgstr "1 skrá"
-#: js/files.js:890
+#: js/files.js:899
msgid "{count} files"
msgstr "{count} skrár"
+#: lib/helper.php:11 templates/index.php:18
+msgid "Upload"
+msgstr "Senda inn"
+
#: templates/admin.php:5
msgid "File handling"
msgstr "Meðhöndlun skrár"
@@ -281,28 +288,28 @@ msgstr "Af tengli"
msgid "Cancel upload"
msgstr "Hætta við innsendingu"
-#: templates/index.php:56
+#: templates/index.php:55
msgid "Nothing in here. Upload something!"
msgstr "Ekkert hér. Settu eitthvað inn!"
-#: templates/index.php:70
+#: templates/index.php:69
msgid "Download"
msgstr "Niðurhal"
-#: templates/index.php:102
+#: templates/index.php:101
msgid "Upload too large"
msgstr "Innsend skrá er of stór"
-#: templates/index.php:104
+#: templates/index.php:103
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "Skrárnar sem þú ert að senda inn eru stærri en hámarks innsendingarstærð á þessum netþjóni."
-#: templates/index.php:109
+#: templates/index.php:108
msgid "Files are being scanned, please wait."
msgstr "Verið er að skima skrár, vinsamlegast hinkraðu."
-#: templates/index.php:112
+#: templates/index.php:111
msgid "Current scanning"
msgstr "Er að skima"
diff --git a/l10n/it/core.po b/l10n/it/core.po
index 5db447c37b6..05f4debbee4 100644
--- a/l10n/it/core.po
+++ b/l10n/it/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: 2013-01-15 00:03+0100\n"
-"PO-Revision-Date: 2013-01-14 23:03+0000\n"
+"POT-Creation-Date: 2013-01-29 00:04+0100\n"
+"PO-Revision-Date: 2013-01-28 23:05+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"
@@ -84,59 +84,135 @@ msgstr "Nessuna categoria selezionata per l'eliminazione."
msgid "Error removing %s from favorites."
msgstr "Errore durante la rimozione di %s dai preferiti."
-#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61
+#: js/config.php:32
+msgid "Sunday"
+msgstr "Domenica"
+
+#: js/config.php:32
+msgid "Monday"
+msgstr "Lunedì"
+
+#: js/config.php:32
+msgid "Tuesday"
+msgstr "Martedì"
+
+#: js/config.php:32
+msgid "Wednesday"
+msgstr "Mercoledì"
+
+#: js/config.php:32
+msgid "Thursday"
+msgstr "Giovedì"
+
+#: js/config.php:32
+msgid "Friday"
+msgstr "Venerdì"
+
+#: js/config.php:32
+msgid "Saturday"
+msgstr "Sabato"
+
+#: js/config.php:33
+msgid "January"
+msgstr "Gennaio"
+
+#: js/config.php:33
+msgid "February"
+msgstr "Febbraio"
+
+#: js/config.php:33
+msgid "March"
+msgstr "Marzo"
+
+#: js/config.php:33
+msgid "April"
+msgstr "Aprile"
+
+#: js/config.php:33
+msgid "May"
+msgstr "Maggio"
+
+#: js/config.php:33
+msgid "June"
+msgstr "Giugno"
+
+#: js/config.php:33
+msgid "July"
+msgstr "Luglio"
+
+#: js/config.php:33
+msgid "August"
+msgstr "Agosto"
+
+#: js/config.php:33
+msgid "September"
+msgstr "Settembre"
+
+#: js/config.php:33
+msgid "October"
+msgstr "Ottobre"
+
+#: js/config.php:33
+msgid "November"
+msgstr "Novembre"
+
+#: js/config.php:33
+msgid "December"
+msgstr "Dicembre"
+
+#: js/js.js:280 templates/layout.user.php:47 templates/layout.user.php:48
msgid "Settings"
msgstr "Impostazioni"
-#: js/js.js:711
+#: js/js.js:762
msgid "seconds ago"
msgstr "secondi fa"
-#: js/js.js:712
+#: js/js.js:763
msgid "1 minute ago"
msgstr "Un minuto fa"
-#: js/js.js:713
+#: js/js.js:764
msgid "{minutes} minutes ago"
msgstr "{minutes} minuti fa"
-#: js/js.js:714
+#: js/js.js:765
msgid "1 hour ago"
msgstr "1 ora fa"
-#: js/js.js:715
+#: js/js.js:766
msgid "{hours} hours ago"
msgstr "{hours} ore fa"
-#: js/js.js:716
+#: js/js.js:767
msgid "today"
msgstr "oggi"
-#: js/js.js:717
+#: js/js.js:768
msgid "yesterday"
msgstr "ieri"
-#: js/js.js:718
+#: js/js.js:769
msgid "{days} days ago"
msgstr "{days} giorni fa"
-#: js/js.js:719
+#: js/js.js:770
msgid "last month"
msgstr "mese scorso"
-#: js/js.js:720
+#: js/js.js:771
msgid "{months} months ago"
msgstr "{months} mesi fa"
-#: js/js.js:721
+#: js/js.js:772
msgid "months ago"
msgstr "mesi fa"
-#: js/js.js:722
+#: js/js.js:773
msgid "last year"
msgstr "anno scorso"
-#: js/js.js:723
+#: js/js.js:774
msgid "years ago"
msgstr "anni fa"
@@ -295,6 +371,17 @@ msgstr "Invio in corso..."
msgid "Email sent"
msgstr "Messaggio inviato"
+#: js/update.js:14
+msgid ""
+"The update was unsuccessful. Please report this issue to the <a "
+"href=\"https://github.com/owncloud/core/issues\" target=\"_blank\">ownCloud "
+"community</a>."
+msgstr ""
+
+#: js/update.js:18
+msgid "The update was successful. Redirecting you to ownCloud now."
+msgstr ""
+
#: lostpassword/controller.php:47
msgid "ownCloud password reset"
msgstr "Ripristino password di ownCloud"
@@ -446,87 +533,11 @@ msgstr "Host del database"
msgid "Finish setup"
msgstr "Termina la configurazione"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Sunday"
-msgstr "Domenica"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Monday"
-msgstr "Lunedì"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Tuesday"
-msgstr "Martedì"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Wednesday"
-msgstr "Mercoledì"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Thursday"
-msgstr "Giovedì"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Friday"
-msgstr "Venerdì"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Saturday"
-msgstr "Sabato"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "January"
-msgstr "Gennaio"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "February"
-msgstr "Febbraio"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "March"
-msgstr "Marzo"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "April"
-msgstr "Aprile"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "May"
-msgstr "Maggio"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "June"
-msgstr "Giugno"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "July"
-msgstr "Luglio"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "August"
-msgstr "Agosto"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "September"
-msgstr "Settembre"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "October"
-msgstr "Ottobre"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "November"
-msgstr "Novembre"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "December"
-msgstr "Dicembre"
-
-#: templates/layout.guest.php:42
+#: templates/layout.guest.php:34
msgid "web services under your control"
msgstr "servizi web nelle tue mani"
-#: templates/layout.user.php:45
+#: templates/layout.user.php:32
msgid "Log out"
msgstr "Esci"
diff --git a/l10n/it/files.po b/l10n/it/files.po
index bf7aa473141..0a161d8c6e3 100644
--- a/l10n/it/files.po
+++ b/l10n/it/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: 2013-01-21 00:04+0100\n"
-"PO-Revision-Date: 2013-01-19 23:20+0000\n"
+"POT-Creation-Date: 2013-01-28 00:04+0100\n"
+"PO-Revision-Date: 2013-01-27 00:03+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,11 +21,6 @@ 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"
@@ -40,46 +35,46 @@ msgstr "Impossibile spostare %s"
msgid "Unable to rename file"
msgstr "Impossibile rinominare il file"
-#: ajax/upload.php:20
+#: ajax/upload.php:17
msgid "No file was uploaded. Unknown error"
msgstr "Nessun file è stato inviato. Errore sconosciuto"
-#: ajax/upload.php:30
+#: ajax/upload.php:24
msgid "There is no error, the file uploaded with success"
msgstr "Non ci sono errori, file caricato con successo"
-#: ajax/upload.php:31
+#: ajax/upload.php:25
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:33
+#: ajax/upload.php:27
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:35
+#: ajax/upload.php:29
msgid "The uploaded file was only partially uploaded"
msgstr "Il file è stato parzialmente caricato"
-#: ajax/upload.php:36
+#: ajax/upload.php:30
msgid "No file was uploaded"
msgstr "Nessun file è stato caricato"
-#: ajax/upload.php:37
+#: ajax/upload.php:31
msgid "Missing a temporary folder"
msgstr "Cartella temporanea mancante"
-#: ajax/upload.php:38
+#: ajax/upload.php:32
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:48
+msgid "Not enough storage available"
+msgstr "Spazio di archiviazione insufficiente"
-#: ajax/upload.php:91
+#: ajax/upload.php:77
msgid "Invalid directory."
msgstr "Cartella non valida."
@@ -87,11 +82,11 @@ msgstr "Cartella non valida."
msgid "Files"
msgstr "File"
-#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
+#: js/fileactions.js:117 templates/index.php:81 templates/index.php:82
msgid "Unshare"
msgstr "Rimuovi condivisione"
-#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
+#: js/fileactions.js:119 templates/index.php:87 templates/index.php:88
msgid "Delete"
msgstr "Elimina"
@@ -99,139 +94,151 @@ msgstr "Elimina"
msgid "Rename"
msgstr "Rinomina"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "{new_name} already exists"
msgstr "{new_name} esiste già"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "replace"
msgstr "sostituisci"
-#: js/filelist.js:205
+#: js/filelist.js:208
msgid "suggest name"
msgstr "suggerisci nome"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "cancel"
msgstr "annulla"
-#: js/filelist.js:254
+#: js/filelist.js:253
msgid "replaced {new_name}"
msgstr "sostituito {new_name}"
-#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
+#: js/filelist.js:253 js/filelist.js:255 js/filelist.js:286 js/filelist.js:288
msgid "undo"
msgstr "annulla"
-#: js/filelist.js:256
+#: js/filelist.js:255
msgid "replaced {new_name} with {old_name}"
msgstr "sostituito {new_name} con {old_name}"
-#: js/filelist.js:288
+#: js/filelist.js:286
msgid "unshared {files}"
msgstr "non condivisi {files}"
-#: js/filelist.js:290
+#: js/filelist.js:288
msgid "deleted {files}"
msgstr "eliminati {files}"
-#: js/files.js:48
+#: js/files.js:52
msgid "'.' is an invalid file name."
msgstr "'.' non è un nome file valido."
-#: js/files.js:53
+#: js/files.js:56
msgid "File name cannot be empty."
msgstr "Il nome del file non può essere vuoto."
-#: js/files.js:62
+#: js/files.js:64
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr "Nome non valido, '\\', '/', '<', '>', ':', '\"', '|', '?' e '*' non sono consentiti."
-#: js/files.js:204
+#: js/files.js:78
+msgid "Your storage is full, files can not be updated or synced anymore!"
+msgstr "Lo spazio di archiviazione è pieno, i file non possono essere più aggiornati o sincronizzati!"
+
+#: js/files.js:82
+msgid "Your storage is almost full ({usedSpacePercent}%)"
+msgstr "Lo spazio di archiviazione è quasi pieno ({usedSpacePercent}%)"
+
+#: js/files.js:219
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:242
+#: js/files.js:256
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:242
+#: js/files.js:256
msgid "Upload Error"
msgstr "Errore di invio"
-#: js/files.js:259
+#: js/files.js:273
msgid "Close"
msgstr "Chiudi"
-#: js/files.js:278 js/files.js:397 js/files.js:431
+#: js/files.js:292 js/files.js:408 js/files.js:439
msgid "Pending"
msgstr "In corso"
-#: js/files.js:298
+#: js/files.js:312
msgid "1 file uploading"
msgstr "1 file in fase di caricamento"
-#: js/files.js:301 js/files.js:357 js/files.js:372
+#: js/files.js:315 js/files.js:370 js/files.js:385
msgid "{count} files uploading"
msgstr "{count} file in fase di caricamentoe"
-#: js/files.js:376 js/files.js:414
+#: js/files.js:388 js/files.js:423
msgid "Upload cancelled."
msgstr "Invio annullato"
-#: js/files.js:486
+#: js/files.js:493
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:559
+#: js/files.js:566
msgid "URL cannot be empty."
msgstr "L'URL non può essere vuoto."
-#: js/files.js:565
+#: js/files.js:571
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
+#: js/files.js:784
msgid "{count} files scanned"
msgstr "{count} file analizzati"
-#: js/files.js:783
+#: js/files.js:792
msgid "error while scanning"
msgstr "errore durante la scansione"
-#: js/files.js:857 templates/index.php:64
+#: js/files.js:866 templates/index.php:63
msgid "Name"
msgstr "Nome"
-#: js/files.js:858 templates/index.php:75
+#: js/files.js:867 templates/index.php:74
msgid "Size"
msgstr "Dimensione"
-#: js/files.js:859 templates/index.php:77
+#: js/files.js:868 templates/index.php:76
msgid "Modified"
msgstr "Modificato"
-#: js/files.js:878
+#: js/files.js:887
msgid "1 folder"
msgstr "1 cartella"
-#: js/files.js:880
+#: js/files.js:889
msgid "{count} folders"
msgstr "{count} cartelle"
-#: js/files.js:888
+#: js/files.js:897
msgid "1 file"
msgstr "1 file"
-#: js/files.js:890
+#: js/files.js:899
msgid "{count} files"
msgstr "{count} file"
+#: lib/helper.php:11 templates/index.php:18
+msgid "Upload"
+msgstr "Carica"
+
#: templates/admin.php:5
msgid "File handling"
msgstr "Gestione file"
@@ -284,28 +291,28 @@ msgstr "Da collegamento"
msgid "Cancel upload"
msgstr "Annulla invio"
-#: templates/index.php:56
+#: templates/index.php:55
msgid "Nothing in here. Upload something!"
msgstr "Non c'è niente qui. Carica qualcosa!"
-#: templates/index.php:70
+#: templates/index.php:69
msgid "Download"
msgstr "Scarica"
-#: templates/index.php:102
+#: templates/index.php:101
msgid "Upload too large"
msgstr "Il file caricato è troppo grande"
-#: templates/index.php:104
+#: templates/index.php:103
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:109
+#: templates/index.php:108
msgid "Files are being scanned, please wait."
msgstr "Scansione dei file in corso, attendi"
-#: templates/index.php:112
+#: templates/index.php:111
msgid "Current scanning"
msgstr "Scansione corrente"
diff --git a/l10n/it/files_encryption.po b/l10n/it/files_encryption.po
index 98ad3bf4627..544caf9fd79 100644
--- a/l10n/it/files_encryption.po
+++ b/l10n/it/files_encryption.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-01-24 00:06+0100\n"
-"PO-Revision-Date: 2013-01-23 14:21+0000\n"
+"POT-Creation-Date: 2013-01-28 00:04+0100\n"
+"PO-Revision-Date: 2013-01-27 19: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"
@@ -30,7 +30,7 @@ msgstr "passato alla cifratura lato client"
#: js/settings-personal.js:21
msgid "Change encryption password to login password"
-msgstr ""
+msgstr "Converti la password di cifratura nella password di accesso"
#: js/settings-personal.js:25
msgid "Please check your passwords and try again."
@@ -38,7 +38,7 @@ 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 ""
+msgstr "Impossibile convertire la password di cifratura nella password di accesso"
#: templates/settings-personal.php:3 templates/settings.php:5
msgid "Choose encryption mode:"
diff --git a/l10n/ja_JP/core.po b/l10n/ja_JP/core.po
index e9ba6cfa4a5..04a4802e9ef 100644
--- a/l10n/ja_JP/core.po
+++ b/l10n/ja_JP/core.po
@@ -10,8 +10,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-01-15 00:03+0100\n"
-"PO-Revision-Date: 2013-01-14 23:03+0000\n"
+"POT-Creation-Date: 2013-01-29 00:04+0100\n"
+"PO-Revision-Date: 2013-01-28 23:05+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"
@@ -82,59 +82,135 @@ msgstr "削除ã™ã‚‹ã‚«ãƒ†ã‚´ãƒªãŒé¸æŠžã•ã‚Œã¦ã„ã¾ã›ã‚“。"
msgid "Error removing %s from favorites."
msgstr "ãŠæ°—ã«å…¥ã‚Šã‹ã‚‰ %s ã®å‰Šé™¤ã‚¨ãƒ©ãƒ¼"
-#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61
+#: js/config.php:32
+msgid "Sunday"
+msgstr "æ—¥"
+
+#: js/config.php:32
+msgid "Monday"
+msgstr "月"
+
+#: js/config.php:32
+msgid "Tuesday"
+msgstr "ç«"
+
+#: js/config.php:32
+msgid "Wednesday"
+msgstr "æ°´"
+
+#: js/config.php:32
+msgid "Thursday"
+msgstr "木"
+
+#: js/config.php:32
+msgid "Friday"
+msgstr "金"
+
+#: js/config.php:32
+msgid "Saturday"
+msgstr "土"
+
+#: js/config.php:33
+msgid "January"
+msgstr "1月"
+
+#: js/config.php:33
+msgid "February"
+msgstr "2月"
+
+#: js/config.php:33
+msgid "March"
+msgstr "3月"
+
+#: js/config.php:33
+msgid "April"
+msgstr "4月"
+
+#: js/config.php:33
+msgid "May"
+msgstr "5月"
+
+#: js/config.php:33
+msgid "June"
+msgstr "6月"
+
+#: js/config.php:33
+msgid "July"
+msgstr "7月"
+
+#: js/config.php:33
+msgid "August"
+msgstr "8月"
+
+#: js/config.php:33
+msgid "September"
+msgstr "9月"
+
+#: js/config.php:33
+msgid "October"
+msgstr "10月"
+
+#: js/config.php:33
+msgid "November"
+msgstr "11月"
+
+#: js/config.php:33
+msgid "December"
+msgstr "12月"
+
+#: js/js.js:280 templates/layout.user.php:47 templates/layout.user.php:48
msgid "Settings"
msgstr "設定"
-#: js/js.js:711
+#: js/js.js:762
msgid "seconds ago"
msgstr "秒å‰"
-#: js/js.js:712
+#: js/js.js:763
msgid "1 minute ago"
msgstr "1 分å‰"
-#: js/js.js:713
+#: js/js.js:764
msgid "{minutes} minutes ago"
msgstr "{minutes} 分å‰"
-#: js/js.js:714
+#: js/js.js:765
msgid "1 hour ago"
msgstr "1 時間å‰"
-#: js/js.js:715
+#: js/js.js:766
msgid "{hours} hours ago"
msgstr "{hours} 時間å‰"
-#: js/js.js:716
+#: js/js.js:767
msgid "today"
msgstr "今日"
-#: js/js.js:717
+#: js/js.js:768
msgid "yesterday"
msgstr "昨日"
-#: js/js.js:718
+#: js/js.js:769
msgid "{days} days ago"
msgstr "{days} æ—¥å‰"
-#: js/js.js:719
+#: js/js.js:770
msgid "last month"
msgstr "一月å‰"
-#: js/js.js:720
+#: js/js.js:771
msgid "{months} months ago"
msgstr "{months} 月å‰"
-#: js/js.js:721
+#: js/js.js:772
msgid "months ago"
msgstr "月å‰"
-#: js/js.js:722
+#: js/js.js:773
msgid "last year"
msgstr "一年å‰"
-#: js/js.js:723
+#: js/js.js:774
msgid "years ago"
msgstr "å¹´å‰"
@@ -293,6 +369,17 @@ msgstr "é€ä¿¡ä¸­..."
msgid "Email sent"
msgstr "メールをé€ä¿¡ã—ã¾ã—ãŸ"
+#: js/update.js:14
+msgid ""
+"The update was unsuccessful. Please report this issue to the <a "
+"href=\"https://github.com/owncloud/core/issues\" target=\"_blank\">ownCloud "
+"community</a>."
+msgstr ""
+
+#: js/update.js:18
+msgid "The update was successful. Redirecting you to ownCloud now."
+msgstr ""
+
#: lostpassword/controller.php:47
msgid "ownCloud password reset"
msgstr "ownCloudã®ãƒ‘スワードをリセットã—ã¾ã™"
@@ -444,87 +531,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 "1月"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "February"
-msgstr "2月"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "March"
-msgstr "3月"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "April"
-msgstr "4月"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "May"
-msgstr "5月"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "June"
-msgstr "6月"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "July"
-msgstr "7月"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "August"
-msgstr "8月"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "September"
-msgstr "9月"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "October"
-msgstr "10月"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "November"
-msgstr "11月"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "December"
-msgstr "12月"
-
-#: templates/layout.guest.php:42
+#: templates/layout.guest.php:34
msgid "web services under your control"
msgstr "管ç†ä¸‹ã«ã‚るウェブサービス"
-#: templates/layout.user.php:45
+#: templates/layout.user.php:32
msgid "Log out"
msgstr "ログアウト"
diff --git a/l10n/ja_JP/files.po b/l10n/ja_JP/files.po
index d94cd87e309..0c460e04c9e 100644
--- a/l10n/ja_JP/files.po
+++ b/l10n/ja_JP/files.po
@@ -11,9 +11,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-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"
+"POT-Creation-Date: 2013-01-27 00:04+0100\n"
+"PO-Revision-Date: 2013-01-26 23:05+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"
@@ -21,11 +21,6 @@ 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"
@@ -40,46 +35,46 @@ msgstr "%s を移動ã§ãã¾ã›ã‚“ã§ã—ãŸ"
msgid "Unable to rename file"
msgstr "ファイルåã®å¤‰æ›´ãŒã§ãã¾ã›ã‚“"
-#: ajax/upload.php:20
+#: ajax/upload.php:17
msgid "No file was uploaded. Unknown error"
msgstr "ファイルã¯ä½•ã‚‚アップロードã•ã‚Œã¦ã„ã¾ã›ã‚“。ä¸æ˜Žãªã‚¨ãƒ©ãƒ¼"
-#: ajax/upload.php:30
+#: ajax/upload.php:24
msgid "There is no error, the file uploaded with success"
msgstr "エラーã¯ã‚ã‚Šã¾ã›ã‚“。ファイルã®ã‚¢ãƒƒãƒ—ロードã¯æˆåŠŸã—ã¾ã—ãŸ"
-#: ajax/upload.php:31
+#: ajax/upload.php:25
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr "アップロードã•ã‚ŒãŸãƒ•ã‚¡ã‚¤ãƒ«ã¯php.ini ã® upload_max_filesize ã«è¨­å®šã•ã‚ŒãŸã‚µã‚¤ã‚ºã‚’超ãˆã¦ã„ã¾ã™:"
-#: ajax/upload.php:33
+#: ajax/upload.php:27
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
+#: ajax/upload.php:29
msgid "The uploaded file was only partially uploaded"
msgstr "ファイルã¯ä¸€éƒ¨åˆ†ã—ã‹ã‚¢ãƒƒãƒ—ロードã•ã‚Œã¾ã›ã‚“ã§ã—ãŸ"
-#: ajax/upload.php:36
+#: ajax/upload.php:30
msgid "No file was uploaded"
msgstr "ファイルã¯ã‚¢ãƒƒãƒ—ロードã•ã‚Œã¾ã›ã‚“ã§ã—ãŸ"
-#: ajax/upload.php:37
+#: ajax/upload.php:31
msgid "Missing a temporary folder"
msgstr "テンãƒãƒ©ãƒªãƒ•ã‚©ãƒ«ãƒ€ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“"
-#: ajax/upload.php:38
+#: ajax/upload.php:32
msgid "Failed to write to disk"
msgstr "ディスクã¸ã®æ›¸ãè¾¼ã¿ã«å¤±æ•—ã—ã¾ã—ãŸ"
-#: ajax/upload.php:57
-msgid "Not enough space available"
-msgstr "利用å¯èƒ½ãªã‚¹ãƒšãƒ¼ã‚¹ãŒå分ã«ã‚ã‚Šã¾ã›ã‚“"
+#: ajax/upload.php:48
+msgid "Not enough storage available"
+msgstr ""
-#: ajax/upload.php:91
+#: ajax/upload.php:77
msgid "Invalid directory."
msgstr "無効ãªãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã§ã™ã€‚"
@@ -87,11 +82,11 @@ msgstr "無効ãªãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã§ã™ã€‚"
msgid "Files"
msgstr "ファイル"
-#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
+#: js/fileactions.js:117 templates/index.php:81 templates/index.php:82
msgid "Unshare"
msgstr "共有ã—ãªã„"
-#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
+#: js/fileactions.js:119 templates/index.php:87 templates/index.php:88
msgid "Delete"
msgstr "削除"
@@ -99,139 +94,151 @@ msgstr "削除"
msgid "Rename"
msgstr "åå‰ã®å¤‰æ›´"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "{new_name} already exists"
msgstr "{new_name} ã¯ã™ã§ã«å­˜åœ¨ã—ã¦ã„ã¾ã™"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "replace"
msgstr "ç½®ãæ›ãˆ"
-#: js/filelist.js:205
+#: js/filelist.js:208
msgid "suggest name"
msgstr "推奨å称"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "cancel"
msgstr "キャンセル"
-#: js/filelist.js:254
+#: js/filelist.js:253
msgid "replaced {new_name}"
msgstr "{new_name} ã‚’ç½®æ›"
-#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
+#: js/filelist.js:253 js/filelist.js:255 js/filelist.js:286 js/filelist.js:288
msgid "undo"
msgstr "å…ƒã«æˆ»ã™"
-#: js/filelist.js:256
+#: js/filelist.js:255
msgid "replaced {new_name} with {old_name}"
msgstr "{old_name} ã‚’ {new_name} ã«ç½®æ›"
-#: js/filelist.js:288
+#: js/filelist.js:286
msgid "unshared {files}"
msgstr "未共有 {files}"
-#: js/filelist.js:290
+#: js/filelist.js:288
msgid "deleted {files}"
msgstr "削除 {files}"
-#: js/files.js:48
+#: js/files.js:52
msgid "'.' is an invalid file name."
msgstr "'.' ã¯ç„¡åŠ¹ãªãƒ•ã‚¡ã‚¤ãƒ«åã§ã™ã€‚"
-#: js/files.js:53
+#: js/files.js:56
msgid "File name cannot be empty."
msgstr "ファイルåを空ã«ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。"
-#: js/files.js:62
+#: js/files.js:64
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr "無効ãªåå‰ã€'\\', '/', '<', '>', ':', '\"', '|', '?', '*' ã¯ä½¿ç”¨ã§ãã¾ã›ã‚“。"
-#: js/files.js:204
+#: js/files.js:78
+msgid "Your storage is full, files can not be updated or synced anymore!"
+msgstr ""
+
+#: js/files.js:82
+msgid "Your storage is almost full ({usedSpacePercent}%)"
+msgstr ""
+
+#: js/files.js:219
msgid ""
"Your download is being prepared. This might take some time if the files are "
"big."
msgstr "ダウンロードã®æº–備中ã§ã™ã€‚ファイルサイズãŒå¤§ãã„å ´åˆã¯å°‘ã—時間ãŒã‹ã‹ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。"
-#: js/files.js:242
+#: js/files.js:256
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr "ディレクトリもã—ãã¯0ãƒã‚¤ãƒˆã®ãƒ•ã‚¡ã‚¤ãƒ«ã¯ã‚¢ãƒƒãƒ—ロードã§ãã¾ã›ã‚“"
-#: js/files.js:242
+#: js/files.js:256
msgid "Upload Error"
msgstr "アップロードエラー"
-#: js/files.js:259
+#: js/files.js:273
msgid "Close"
msgstr "é–‰ã˜ã‚‹"
-#: js/files.js:278 js/files.js:397 js/files.js:431
+#: js/files.js:292 js/files.js:408 js/files.js:439
msgid "Pending"
msgstr "ä¿ç•™"
-#: js/files.js:298
+#: js/files.js:312
msgid "1 file uploading"
msgstr "ファイルを1ã¤ã‚¢ãƒƒãƒ—ロード中"
-#: js/files.js:301 js/files.js:357 js/files.js:372
+#: js/files.js:315 js/files.js:370 js/files.js:385
msgid "{count} files uploading"
msgstr "{count} ファイルをアップロード中"
-#: js/files.js:376 js/files.js:414
+#: js/files.js:388 js/files.js:423
msgid "Upload cancelled."
msgstr "アップロードã¯ã‚­ãƒ£ãƒ³ã‚»ãƒ«ã•ã‚Œã¾ã—ãŸã€‚"
-#: js/files.js:486
+#: js/files.js:493
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr "ファイル転é€ã‚’実行中ã§ã™ã€‚今ã“ã®ãƒšãƒ¼ã‚¸ã‹ã‚‰ç§»å‹•ã™ã‚‹ã¨ã‚¢ãƒƒãƒ—ロードãŒä¸­æ­¢ã•ã‚Œã¾ã™ã€‚"
-#: js/files.js:559
+#: js/files.js:566
msgid "URL cannot be empty."
msgstr "URLã¯ç©ºã«ã§ãã¾ã›ã‚“。"
-#: js/files.js:565
+#: js/files.js:571
msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
msgstr "無効ãªãƒ•ã‚©ãƒ«ãƒ€åã§ã™ã€‚'Shared' ã®åˆ©ç”¨ã¯ ownCloud ãŒäºˆç´„済ã¿ã§ã™ã€‚"
-#: js/files.js:775
+#: js/files.js:784
msgid "{count} files scanned"
msgstr "{count} ファイルをスキャン"
-#: js/files.js:783
+#: js/files.js:792
msgid "error while scanning"
msgstr "スキャン中ã®ã‚¨ãƒ©ãƒ¼"
-#: js/files.js:857 templates/index.php:64
+#: js/files.js:866 templates/index.php:63
msgid "Name"
msgstr "åå‰"
-#: js/files.js:858 templates/index.php:75
+#: js/files.js:867 templates/index.php:74
msgid "Size"
msgstr "サイズ"
-#: js/files.js:859 templates/index.php:77
+#: js/files.js:868 templates/index.php:76
msgid "Modified"
msgstr "更新日時"
-#: js/files.js:878
+#: js/files.js:887
msgid "1 folder"
msgstr "1 フォルダ"
-#: js/files.js:880
+#: js/files.js:889
msgid "{count} folders"
msgstr "{count} フォルダ"
-#: js/files.js:888
+#: js/files.js:897
msgid "1 file"
msgstr "1 ファイル"
-#: js/files.js:890
+#: js/files.js:899
msgid "{count} files"
msgstr "{count} ファイル"
+#: lib/helper.php:11 templates/index.php:18
+msgid "Upload"
+msgstr "アップロード"
+
#: templates/admin.php:5
msgid "File handling"
msgstr "ファイルæ“作"
@@ -284,28 +291,28 @@ msgstr "リンク"
msgid "Cancel upload"
msgstr "アップロードをキャンセル"
-#: templates/index.php:56
+#: templates/index.php:55
msgid "Nothing in here. Upload something!"
msgstr "ã“ã“ã«ã¯ä½•ã‚‚ã‚ã‚Šã¾ã›ã‚“。何ã‹ã‚¢ãƒƒãƒ—ロードã—ã¦ãã ã•ã„。"
-#: templates/index.php:70
+#: templates/index.php:69
msgid "Download"
msgstr "ダウンロード"
-#: templates/index.php:102
+#: templates/index.php:101
msgid "Upload too large"
msgstr "ファイルサイズãŒå¤§ãã™ãŽã¾ã™"
-#: templates/index.php:104
+#: templates/index.php:103
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "アップロードã—よã†ã¨ã—ã¦ã„るファイルã¯ã€ã‚µãƒ¼ãƒã§è¦å®šã•ã‚ŒãŸæœ€å¤§ã‚µã‚¤ã‚ºã‚’超ãˆã¦ã„ã¾ã™ã€‚"
-#: templates/index.php:109
+#: templates/index.php:108
msgid "Files are being scanned, please wait."
msgstr "ファイルをスキャンã—ã¦ã„ã¾ã™ã€ã—ã°ã‚‰ããŠå¾…ã¡ãã ã•ã„。"
-#: templates/index.php:112
+#: templates/index.php:111
msgid "Current scanning"
msgstr "スキャン中"
diff --git a/l10n/ka_GE/core.po b/l10n/ka_GE/core.po
index 19c7defb404..f857fdbb75f 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: 2013-01-15 00:03+0100\n"
-"PO-Revision-Date: 2013-01-14 23:03+0000\n"
+"POT-Creation-Date: 2013-01-29 00:04+0100\n"
+"PO-Revision-Date: 2013-01-28 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"
@@ -80,59 +80,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:32
+msgid "Sunday"
+msgstr "კვირáƒ"
+
+#: js/config.php:32
+msgid "Monday"
+msgstr "áƒáƒ áƒ¨áƒáƒ‘áƒáƒ—ი"
+
+#: js/config.php:32
+msgid "Tuesday"
+msgstr "სáƒáƒ›áƒ¨áƒáƒ‘áƒáƒ—ი"
+
+#: js/config.php:32
+msgid "Wednesday"
+msgstr "áƒáƒ—ხშáƒáƒ‘áƒáƒ—ი"
+
+#: js/config.php:32
+msgid "Thursday"
+msgstr "ხუთშáƒáƒ‘áƒáƒ—ი"
+
+#: js/config.php:32
+msgid "Friday"
+msgstr "პáƒáƒ áƒáƒ¡áƒ™áƒ”ვი"
+
+#: js/config.php:32
+msgid "Saturday"
+msgstr "შáƒáƒ‘áƒáƒ—ი"
+
+#: js/config.php:33
+msgid "January"
+msgstr "იáƒáƒœáƒ•áƒáƒ áƒ˜"
+
+#: js/config.php:33
+msgid "February"
+msgstr "თებერვáƒáƒšáƒ˜"
+
+#: js/config.php:33
+msgid "March"
+msgstr "მáƒáƒ áƒ¢áƒ˜"
+
+#: js/config.php:33
+msgid "April"
+msgstr "áƒáƒžáƒ áƒ˜áƒšáƒ˜"
+
+#: js/config.php:33
+msgid "May"
+msgstr "მáƒáƒ˜áƒ¡áƒ˜"
+
+#: js/config.php:33
+msgid "June"
+msgstr "ივნისი"
+
+#: js/config.php:33
+msgid "July"
+msgstr "ივლისი"
+
+#: js/config.php:33
+msgid "August"
+msgstr "áƒáƒ’ვისტáƒ"
+
+#: js/config.php:33
+msgid "September"
+msgstr "სექტემბერი"
+
+#: js/config.php:33
+msgid "October"
+msgstr "áƒáƒ¥áƒ¢áƒáƒ›áƒ‘ერი"
+
+#: js/config.php:33
+msgid "November"
+msgstr "ნáƒáƒ”მბერი"
+
+#: js/config.php:33
+msgid "December"
+msgstr "დეკემბერი"
+
+#: js/js.js:280 templates/layout.user.php:47 templates/layout.user.php:48
msgid "Settings"
msgstr "პáƒáƒ áƒáƒ›áƒ”ტრები"
-#: js/js.js:711
+#: js/js.js:762
msgid "seconds ago"
msgstr "წáƒáƒ›áƒ˜áƒ¡ წინ"
-#: js/js.js:712
+#: js/js.js:763
msgid "1 minute ago"
msgstr "1 წუთის წინ"
-#: js/js.js:713
+#: js/js.js:764
msgid "{minutes} minutes ago"
msgstr "{minutes} წუთის წინ"
-#: js/js.js:714
+#: js/js.js:765
msgid "1 hour ago"
msgstr ""
-#: js/js.js:715
+#: js/js.js:766
msgid "{hours} hours ago"
msgstr ""
-#: js/js.js:716
+#: js/js.js:767
msgid "today"
msgstr "დღეს"
-#: js/js.js:717
+#: js/js.js:768
msgid "yesterday"
msgstr "გუშინ"
-#: js/js.js:718
+#: js/js.js:769
msgid "{days} days ago"
msgstr "{days} დღის წინ"
-#: js/js.js:719
+#: js/js.js:770
msgid "last month"
msgstr "გáƒáƒ¡áƒ£áƒš თვეში"
-#: js/js.js:720
+#: js/js.js:771
msgid "{months} months ago"
msgstr ""
-#: js/js.js:721
+#: js/js.js:772
msgid "months ago"
msgstr "თვის წინ"
-#: js/js.js:722
+#: js/js.js:773
msgid "last year"
msgstr "ბáƒáƒšáƒ წელს"
-#: js/js.js:723
+#: js/js.js:774
msgid "years ago"
msgstr "წლის წინ"
@@ -291,6 +367,17 @@ msgstr ""
msgid "Email sent"
msgstr ""
+#: js/update.js:14
+msgid ""
+"The update was unsuccessful. Please report this issue to the <a "
+"href=\"https://github.com/owncloud/core/issues\" target=\"_blank\">ownCloud "
+"community</a>."
+msgstr ""
+
+#: js/update.js:18
+msgid "The update was successful. Redirecting you to ownCloud now."
+msgstr ""
+
#: lostpassword/controller.php:47
msgid "ownCloud password reset"
msgstr "ownCloud პáƒáƒ áƒáƒšáƒ˜áƒ¡ შეცვლáƒ"
@@ -442,87 +529,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:34
msgid "web services under your control"
msgstr "თქვენი კáƒáƒœáƒ¢áƒ áƒáƒšáƒ˜áƒ¡ ქვეშ მყáƒáƒ¤áƒ˜ ვებ სერვისები"
-#: templates/layout.user.php:45
+#: templates/layout.user.php:32
msgid "Log out"
msgstr "გáƒáƒ›áƒáƒ¡áƒ•áƒšáƒ"
diff --git a/l10n/ka_GE/files.po b/l10n/ka_GE/files.po
index a789775653e..55891c6815d 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: 2013-01-20 00:05+0100\n"
-"PO-Revision-Date: 2013-01-19 23:05+0000\n"
+"POT-Creation-Date: 2013-01-27 00:04+0100\n"
+"PO-Revision-Date: 2013-01-26 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,11 +18,6 @@ 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"
@@ -37,46 +32,46 @@ msgstr ""
msgid "Unable to rename file"
msgstr ""
-#: ajax/upload.php:20
+#: ajax/upload.php:17
msgid "No file was uploaded. Unknown error"
msgstr ""
-#: ajax/upload.php:30
+#: ajax/upload.php:24
msgid "There is no error, the file uploaded with success"
msgstr "ჭáƒáƒªáƒ“áƒáƒ›áƒ áƒáƒ  დáƒáƒ¤áƒ˜áƒ¥áƒ¡áƒ˜áƒ áƒ“áƒ, ფáƒáƒ˜áƒšáƒ˜ წáƒáƒ áƒ›áƒáƒ¢áƒ”ბით áƒáƒ˜áƒ¢áƒ•áƒ˜áƒ áƒ—áƒ"
-#: ajax/upload.php:31
+#: ajax/upload.php:25
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr ""
-#: ajax/upload.php:33
+#: ajax/upload.php:27
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:35
+#: ajax/upload.php:29
msgid "The uploaded file was only partially uploaded"
msgstr "áƒáƒ¢áƒ•áƒ˜áƒ áƒ—ული ფáƒáƒ˜áƒšáƒ˜ მხáƒáƒšáƒáƒ“ ნáƒáƒ¬áƒ˜áƒšáƒáƒ‘რივ áƒáƒ˜áƒ¢áƒ•áƒ˜áƒ áƒ—áƒ"
-#: ajax/upload.php:36
+#: ajax/upload.php:30
msgid "No file was uploaded"
msgstr "ფáƒáƒ˜áƒšáƒ˜ áƒáƒ  áƒáƒ˜áƒ¢áƒ•áƒ˜áƒ áƒ—áƒ"
-#: ajax/upload.php:37
+#: ajax/upload.php:31
msgid "Missing a temporary folder"
msgstr "დრáƒáƒ”ბითი სáƒáƒ¥áƒáƒ¦áƒáƒšáƒ“ე áƒáƒ  áƒáƒ áƒ¡áƒ”ბáƒáƒ‘ს"
-#: ajax/upload.php:38
+#: ajax/upload.php:32
msgid "Failed to write to disk"
msgstr "შეცდáƒáƒ›áƒ დისკზე ჩáƒáƒ¬áƒ”რისáƒáƒ¡"
-#: ajax/upload.php:57
-msgid "Not enough space available"
+#: ajax/upload.php:48
+msgid "Not enough storage available"
msgstr ""
-#: ajax/upload.php:91
+#: ajax/upload.php:77
msgid "Invalid directory."
msgstr ""
@@ -84,11 +79,11 @@ msgstr ""
msgid "Files"
msgstr "ფáƒáƒ˜áƒšáƒ”ბი"
-#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
+#: js/fileactions.js:117 templates/index.php:81 templates/index.php:82
msgid "Unshare"
msgstr "გáƒáƒ–იáƒáƒ áƒ”ბის მáƒáƒ®áƒ¡áƒœáƒ"
-#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
+#: js/fileactions.js:119 templates/index.php:87 templates/index.php:88
msgid "Delete"
msgstr "წáƒáƒ¨áƒšáƒ"
@@ -96,139 +91,151 @@ msgstr "წáƒáƒ¨áƒšáƒ"
msgid "Rename"
msgstr "გáƒáƒ“áƒáƒ áƒ¥áƒ›áƒ”ვáƒ"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "{new_name} already exists"
msgstr "{new_name} უკვე áƒáƒ áƒ¡áƒ”ბáƒáƒ‘ს"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "replace"
msgstr "შეცვლáƒ"
-#: js/filelist.js:205
+#: js/filelist.js:208
msgid "suggest name"
msgstr "სáƒáƒ®áƒ”ლის შემáƒáƒ—áƒáƒ•áƒáƒ–ებáƒ"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "cancel"
msgstr "უáƒáƒ áƒ§áƒáƒ¤áƒ"
-#: js/filelist.js:254
+#: js/filelist.js:253
msgid "replaced {new_name}"
msgstr "{new_name} შეცვლილიáƒ"
-#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
+#: js/filelist.js:253 js/filelist.js:255 js/filelist.js:286 js/filelist.js:288
msgid "undo"
msgstr "დáƒáƒ‘რუნებáƒ"
-#: js/filelist.js:256
+#: js/filelist.js:255
msgid "replaced {new_name} with {old_name}"
msgstr "{new_name} შეცვლილირ{old_name}–ით"
-#: js/filelist.js:288
+#: js/filelist.js:286
msgid "unshared {files}"
msgstr "გáƒáƒ–იáƒáƒ áƒ”ბრმáƒáƒ®áƒ¡áƒœáƒ˜áƒšáƒ˜ {files}"
-#: js/filelist.js:290
+#: js/filelist.js:288
msgid "deleted {files}"
msgstr "წáƒáƒ¨áƒšáƒ˜áƒšáƒ˜ {files}"
-#: js/files.js:48
+#: js/files.js:52
msgid "'.' is an invalid file name."
msgstr ""
-#: js/files.js:53
+#: js/files.js:56
msgid "File name cannot be empty."
msgstr ""
-#: js/files.js:62
+#: js/files.js:64
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr ""
-#: js/files.js:204
+#: js/files.js:78
+msgid "Your storage is full, files can not be updated or synced anymore!"
+msgstr ""
+
+#: js/files.js:82
+msgid "Your storage is almost full ({usedSpacePercent}%)"
+msgstr ""
+
+#: js/files.js:219
msgid ""
"Your download is being prepared. This might take some time if the files are "
"big."
msgstr ""
-#: js/files.js:242
+#: js/files.js:256
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr "თქვენი ფáƒáƒ˜áƒšáƒ˜áƒ¡ áƒáƒ¢áƒ•áƒ˜áƒ áƒ—ვრვერ მáƒáƒ®áƒ”რხდáƒ. ის áƒáƒ áƒ˜áƒ¡ სáƒáƒ¥áƒáƒ¦áƒáƒšáƒ“ე დრშეიცáƒáƒ•áƒ¡ 0 ბáƒáƒ˜áƒ¢áƒ¡"
-#: js/files.js:242
+#: js/files.js:256
msgid "Upload Error"
msgstr "შეცდáƒáƒ›áƒ áƒáƒ¢áƒ•áƒ˜áƒ áƒ—ვისáƒáƒ¡"
-#: js/files.js:259
+#: js/files.js:273
msgid "Close"
msgstr "დáƒáƒ®áƒ£áƒ áƒ•áƒ"
-#: js/files.js:278 js/files.js:397 js/files.js:431
+#: js/files.js:292 js/files.js:408 js/files.js:439
msgid "Pending"
msgstr "მáƒáƒªáƒ“ის რეჟიმში"
-#: js/files.js:298
+#: js/files.js:312
msgid "1 file uploading"
msgstr "1 ფáƒáƒ˜áƒšáƒ˜áƒ¡ áƒáƒ¢áƒ•áƒ˜áƒ áƒ—ვáƒ"
-#: js/files.js:301 js/files.js:357 js/files.js:372
+#: js/files.js:315 js/files.js:370 js/files.js:385
msgid "{count} files uploading"
msgstr "{count} ფáƒáƒ˜áƒšáƒ˜ იტვირთებáƒ"
-#: js/files.js:376 js/files.js:414
+#: js/files.js:388 js/files.js:423
msgid "Upload cancelled."
msgstr "áƒáƒ¢áƒ•áƒ˜áƒ áƒ—ვრშეჩერებულ იქნáƒ."
-#: js/files.js:486
+#: js/files.js:493
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr "მიმდინáƒáƒ áƒ”áƒáƒ‘ს ფáƒáƒ˜áƒšáƒ˜áƒ¡ áƒáƒ¢áƒ•áƒ˜áƒ áƒ—ვáƒ. სხვრგვერდზე გáƒáƒ“áƒáƒ¡áƒ•áƒšáƒ გáƒáƒ›áƒáƒ˜áƒ¬áƒ•áƒ”ვს áƒáƒ¢áƒ•áƒ˜áƒ áƒ—ვის შეჩერებáƒáƒ¡"
-#: js/files.js:559
+#: js/files.js:566
msgid "URL cannot be empty."
msgstr ""
-#: js/files.js:565
+#: js/files.js:571
msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
msgstr ""
-#: js/files.js:775
+#: js/files.js:784
msgid "{count} files scanned"
msgstr "{count} ფáƒáƒ˜áƒšáƒ˜ სკáƒáƒœáƒ˜áƒ áƒ”ბულიáƒ"
-#: js/files.js:783
+#: js/files.js:792
msgid "error while scanning"
msgstr "შეცდáƒáƒ›áƒ სკáƒáƒœáƒ˜áƒ áƒ”ბისáƒáƒ¡"
-#: js/files.js:857 templates/index.php:64
+#: js/files.js:866 templates/index.php:63
msgid "Name"
msgstr "სáƒáƒ®áƒ”ლი"
-#: js/files.js:858 templates/index.php:75
+#: js/files.js:867 templates/index.php:74
msgid "Size"
msgstr "ზáƒáƒ›áƒ"
-#: js/files.js:859 templates/index.php:77
+#: js/files.js:868 templates/index.php:76
msgid "Modified"
msgstr "შეცვლილიáƒ"
-#: js/files.js:878
+#: js/files.js:887
msgid "1 folder"
msgstr "1 სáƒáƒ¥áƒáƒ¦áƒáƒšáƒ“ე"
-#: js/files.js:880
+#: js/files.js:889
msgid "{count} folders"
msgstr "{count} სáƒáƒ¥áƒáƒ¦áƒáƒšáƒ“ე"
-#: js/files.js:888
+#: js/files.js:897
msgid "1 file"
msgstr "1 ფáƒáƒ˜áƒšáƒ˜"
-#: js/files.js:890
+#: js/files.js:899
msgid "{count} files"
msgstr "{count} ფáƒáƒ˜áƒšáƒ˜"
+#: lib/helper.php:11 templates/index.php:18
+msgid "Upload"
+msgstr "áƒáƒ¢áƒ•áƒ˜áƒ áƒ—ვáƒ"
+
#: templates/admin.php:5
msgid "File handling"
msgstr "ფáƒáƒ˜áƒšáƒ˜áƒ¡ დáƒáƒ›áƒ£áƒ¨áƒáƒ•áƒ”ბáƒ"
@@ -281,28 +288,28 @@ msgstr ""
msgid "Cancel upload"
msgstr "áƒáƒ¢áƒ•áƒ˜áƒ áƒ—ვის გáƒáƒ£áƒ¥áƒ›áƒ”ბáƒ"
-#: templates/index.php:56
+#: templates/index.php:55
msgid "Nothing in here. Upload something!"
msgstr "áƒáƒ¥ áƒáƒ áƒáƒ¤áƒ”რი áƒáƒ  áƒáƒ áƒ˜áƒ¡. áƒáƒ¢áƒ•áƒ˜áƒ áƒ—ე რáƒáƒ›áƒ”!"
-#: templates/index.php:70
+#: templates/index.php:69
msgid "Download"
msgstr "ჩáƒáƒ›áƒáƒ¢áƒ•áƒ˜áƒ áƒ—ვáƒ"
-#: templates/index.php:102
+#: templates/index.php:101
msgid "Upload too large"
msgstr "áƒáƒ¡áƒáƒ¢áƒ•áƒ˜áƒ áƒ—ი ფáƒáƒ˜áƒšáƒ˜ ძáƒáƒšáƒ˜áƒáƒœ დიდიáƒ"
-#: templates/index.php:104
+#: templates/index.php:103
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "ფáƒáƒ˜áƒšáƒ˜áƒ¡ ზáƒáƒ›áƒ რáƒáƒ›áƒšáƒ˜áƒ¡ áƒáƒ¢áƒ•áƒ˜áƒ áƒ—ვáƒáƒ¡áƒáƒª თქვენ áƒáƒžáƒ˜áƒ áƒ”ბთ, áƒáƒ­áƒáƒ áƒ‘ებს სერვერზე დáƒáƒ¨áƒ•áƒ”ბულ მáƒáƒ¥áƒ¡áƒ˜áƒ›áƒ£áƒ›áƒ¡."
-#: templates/index.php:109
+#: templates/index.php:108
msgid "Files are being scanned, please wait."
msgstr "მიმდინáƒáƒ áƒ”áƒáƒ‘ს ფáƒáƒ˜áƒšáƒ”ბის სკáƒáƒœáƒ˜áƒ áƒ”ბáƒ, გთხáƒáƒ•áƒ— დáƒáƒ”ლáƒáƒ“áƒáƒ—."
-#: templates/index.php:112
+#: templates/index.php:111
msgid "Current scanning"
msgstr "მიმდინáƒáƒ áƒ” სკáƒáƒœáƒ˜áƒ áƒ”ბáƒ"
diff --git a/l10n/ko/core.po b/l10n/ko/core.po
index 5e2b5617dd6..5ecb5b45c2b 100644
--- a/l10n/ko/core.po
+++ b/l10n/ko/core.po
@@ -11,8 +11,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-01-15 00:03+0100\n"
-"PO-Revision-Date: 2013-01-14 23:03+0000\n"
+"POT-Creation-Date: 2013-01-29 00:04+0100\n"
+"PO-Revision-Date: 2013-01-28 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"
@@ -83,59 +83,135 @@ msgstr "삭제할 분류를 ì„ íƒí•˜ì§€ 않았습니다."
msgid "Error removing %s from favorites."
msgstr "책갈피ì—ì„œ %sì„(를) 삭제할 수 없었습니다."
-#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61
+#: js/config.php:32
+msgid "Sunday"
+msgstr "ì¼ìš”ì¼"
+
+#: js/config.php:32
+msgid "Monday"
+msgstr "월요ì¼"
+
+#: js/config.php:32
+msgid "Tuesday"
+msgstr "화요ì¼"
+
+#: js/config.php:32
+msgid "Wednesday"
+msgstr "수요ì¼"
+
+#: js/config.php:32
+msgid "Thursday"
+msgstr "목요ì¼"
+
+#: js/config.php:32
+msgid "Friday"
+msgstr "금요ì¼"
+
+#: js/config.php:32
+msgid "Saturday"
+msgstr "토요ì¼"
+
+#: js/config.php:33
+msgid "January"
+msgstr "1ì›”"
+
+#: js/config.php:33
+msgid "February"
+msgstr "2ì›”"
+
+#: js/config.php:33
+msgid "March"
+msgstr "3ì›”"
+
+#: js/config.php:33
+msgid "April"
+msgstr "4ì›”"
+
+#: js/config.php:33
+msgid "May"
+msgstr "5ì›”"
+
+#: js/config.php:33
+msgid "June"
+msgstr "6ì›”"
+
+#: js/config.php:33
+msgid "July"
+msgstr "7ì›”"
+
+#: js/config.php:33
+msgid "August"
+msgstr "8ì›”"
+
+#: js/config.php:33
+msgid "September"
+msgstr "9ì›”"
+
+#: js/config.php:33
+msgid "October"
+msgstr "10ì›”"
+
+#: js/config.php:33
+msgid "November"
+msgstr "11ì›”"
+
+#: js/config.php:33
+msgid "December"
+msgstr "12ì›”"
+
+#: js/js.js:280 templates/layout.user.php:47 templates/layout.user.php:48
msgid "Settings"
msgstr "설정"
-#: js/js.js:711
+#: js/js.js:762
msgid "seconds ago"
msgstr "ì´ˆ ì „"
-#: js/js.js:712
+#: js/js.js:763
msgid "1 minute ago"
msgstr "1분 전"
-#: js/js.js:713
+#: js/js.js:764
msgid "{minutes} minutes ago"
msgstr "{minutes}분 전"
-#: js/js.js:714
+#: js/js.js:765
msgid "1 hour ago"
msgstr "1시간 전"
-#: js/js.js:715
+#: js/js.js:766
msgid "{hours} hours ago"
msgstr "{hours}시간 전"
-#: js/js.js:716
+#: js/js.js:767
msgid "today"
msgstr "오늘"
-#: js/js.js:717
+#: js/js.js:768
msgid "yesterday"
msgstr "어제"
-#: js/js.js:718
+#: js/js.js:769
msgid "{days} days ago"
msgstr "{days}ì¼ ì „"
-#: js/js.js:719
+#: js/js.js:770
msgid "last month"
msgstr "지난 달"
-#: js/js.js:720
+#: js/js.js:771
msgid "{months} months ago"
msgstr "{months}개월 전"
-#: js/js.js:721
+#: js/js.js:772
msgid "months ago"
msgstr "개월 전"
-#: js/js.js:722
+#: js/js.js:773
msgid "last year"
msgstr "ìž‘ë…„"
-#: js/js.js:723
+#: js/js.js:774
msgid "years ago"
msgstr "ë…„ ì „"
@@ -294,6 +370,17 @@ msgstr "전송 중..."
msgid "Email sent"
msgstr "ì´ë©”ì¼ ë°œì†¡ë¨"
+#: js/update.js:14
+msgid ""
+"The update was unsuccessful. Please report this issue to the <a "
+"href=\"https://github.com/owncloud/core/issues\" target=\"_blank\">ownCloud "
+"community</a>."
+msgstr ""
+
+#: js/update.js:18
+msgid "The update was successful. Redirecting you to ownCloud now."
+msgstr ""
+
#: lostpassword/controller.php:47
msgid "ownCloud password reset"
msgstr "ownCloud 암호 재설정"
@@ -445,87 +532,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 "1ì›”"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "February"
-msgstr "2ì›”"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "March"
-msgstr "3ì›”"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "April"
-msgstr "4ì›”"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "May"
-msgstr "5ì›”"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "June"
-msgstr "6ì›”"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "July"
-msgstr "7ì›”"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "August"
-msgstr "8ì›”"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "September"
-msgstr "9ì›”"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "October"
-msgstr "10ì›”"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "November"
-msgstr "11ì›”"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "December"
-msgstr "12ì›”"
-
-#: templates/layout.guest.php:42
+#: templates/layout.guest.php:34
msgid "web services under your control"
msgstr "내가 관리하는 웹 서비스"
-#: templates/layout.user.php:45
+#: templates/layout.user.php:32
msgid "Log out"
msgstr "로그아웃"
diff --git a/l10n/ko/files.po b/l10n/ko/files.po
index 5678e11882d..86f4240c0a1 100644
--- a/l10n/ko/files.po
+++ b/l10n/ko/files.po
@@ -12,8 +12,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-01-20 00:05+0100\n"
-"PO-Revision-Date: 2013-01-19 23:05+0000\n"
+"POT-Creation-Date: 2013-01-27 00:04+0100\n"
+"PO-Revision-Date: 2013-01-26 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"
@@ -22,11 +22,6 @@ 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"
@@ -41,46 +36,46 @@ msgstr "%s í•­ëª©ì„ ì´ë”©ì‹œí‚¤ì§€ 못하였ìŒ"
msgid "Unable to rename file"
msgstr "íŒŒì¼ ì´ë¦„바꾸기 í•  수 ì—†ìŒ"
-#: ajax/upload.php:20
+#: ajax/upload.php:17
msgid "No file was uploaded. Unknown error"
msgstr "파ì¼ì´ 업로드ë˜ì§€ 않았습니다. ì•Œ 수 없는 오류입니다"
-#: ajax/upload.php:30
+#: ajax/upload.php:24
msgid "There is no error, the file uploaded with success"
msgstr "ì—…ë¡œë“œì— ì„±ê³µí•˜ì˜€ìŠµë‹ˆë‹¤."
-#: ajax/upload.php:31
+#: ajax/upload.php:25
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr "업로드한 파ì¼ì´ php.iniì˜ upload_max_filesize보다 í½ë‹ˆë‹¤:"
-#: ajax/upload.php:33
+#: ajax/upload.php:27
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
+#: ajax/upload.php:29
msgid "The uploaded file was only partially uploaded"
msgstr "파ì¼ì´ 부분ì ìœ¼ë¡œ 업로드ë¨"
-#: ajax/upload.php:36
+#: ajax/upload.php:30
msgid "No file was uploaded"
msgstr "ì—…ë¡œë“œëœ íŒŒì¼ ì—†ìŒ"
-#: ajax/upload.php:37
+#: ajax/upload.php:31
msgid "Missing a temporary folder"
msgstr "ìž„ì‹œ í´ë”ê°€ 사ë¼ì§"
-#: ajax/upload.php:38
+#: ajax/upload.php:32
msgid "Failed to write to disk"
msgstr "디스í¬ì— 쓰지 못했습니다"
-#: ajax/upload.php:57
-msgid "Not enough space available"
-msgstr "ì—¬ìœ ê³µê°„ì´ ë¶€ì¡±í•©ë‹ˆë‹¤"
+#: ajax/upload.php:48
+msgid "Not enough storage available"
+msgstr ""
-#: ajax/upload.php:91
+#: ajax/upload.php:77
msgid "Invalid directory."
msgstr "올바르지 ì•Šì€ ë””ë ‰í† ë¦¬ìž…ë‹ˆë‹¤."
@@ -88,11 +83,11 @@ msgstr "올바르지 ì•Šì€ ë””ë ‰í† ë¦¬ìž…ë‹ˆë‹¤."
msgid "Files"
msgstr "파ì¼"
-#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
+#: js/fileactions.js:117 templates/index.php:81 templates/index.php:82
msgid "Unshare"
msgstr "공유 해제"
-#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
+#: js/fileactions.js:119 templates/index.php:87 templates/index.php:88
msgid "Delete"
msgstr "삭제"
@@ -100,139 +95,151 @@ msgstr "삭제"
msgid "Rename"
msgstr "ì´ë¦„ 바꾸기"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "{new_name} already exists"
msgstr "{new_name}ì´(ê°€) ì´ë¯¸ 존재함"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "replace"
msgstr "바꾸기"
-#: js/filelist.js:205
+#: js/filelist.js:208
msgid "suggest name"
msgstr "ì´ë¦„ 제안"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "cancel"
msgstr "취소"
-#: js/filelist.js:254
+#: js/filelist.js:253
msgid "replaced {new_name}"
msgstr "{new_name}ì„(를) 대체함"
-#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
+#: js/filelist.js:253 js/filelist.js:255 js/filelist.js:286 js/filelist.js:288
msgid "undo"
msgstr "실행 취소"
-#: js/filelist.js:256
+#: js/filelist.js:255
msgid "replaced {new_name} with {old_name}"
msgstr "{old_name}ì´(ê°€) {new_name}(으)ë¡œ 대체ë¨"
-#: js/filelist.js:288
+#: js/filelist.js:286
msgid "unshared {files}"
msgstr "{files} 공유 í•´ì œë¨"
-#: js/filelist.js:290
+#: js/filelist.js:288
msgid "deleted {files}"
msgstr "{files} ì‚­ì œë¨"
-#: js/files.js:48
+#: js/files.js:52
msgid "'.' is an invalid file name."
msgstr "'.' 는 올바르지 ì•Šì€ íŒŒì¼ ì´ë¦„ 입니다."
-#: js/files.js:53
+#: js/files.js:56
msgid "File name cannot be empty."
msgstr "파ì¼ì´ë¦„ì€ ê³µëž€ì´ ë  ìˆ˜ 없습니다."
-#: js/files.js:62
+#: js/files.js:64
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr "í´ë” ì´ë¦„ì´ ì˜¬ë°”ë¥´ì§€ 않습니다. ì´ë¦„ì— ë¬¸ìž '\\', '/', '<', '>', ':', '\"', '|', '? ', '*'는 사용할 수 없습니다."
-#: js/files.js:204
+#: js/files.js:78
+msgid "Your storage is full, files can not be updated or synced anymore!"
+msgstr ""
+
+#: js/files.js:82
+msgid "Your storage is almost full ({usedSpacePercent}%)"
+msgstr ""
+
+#: js/files.js:219
msgid ""
"Your download is being prepared. This might take some time if the files are "
"big."
msgstr ""
-#: js/files.js:242
+#: js/files.js:256
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr "ì´ íŒŒì¼ì€ 디렉터리ì´ê±°ë‚˜ 비어 있기 ë•Œë¬¸ì— ì—…ë¡œë“œí•  수 없습니다"
-#: js/files.js:242
+#: js/files.js:256
msgid "Upload Error"
msgstr "업로드 오류"
-#: js/files.js:259
+#: js/files.js:273
msgid "Close"
msgstr "닫기"
-#: js/files.js:278 js/files.js:397 js/files.js:431
+#: js/files.js:292 js/files.js:408 js/files.js:439
msgid "Pending"
msgstr "보류 중"
-#: js/files.js:298
+#: js/files.js:312
msgid "1 file uploading"
msgstr "íŒŒì¼ 1ê°œ 업로드 중"
-#: js/files.js:301 js/files.js:357 js/files.js:372
+#: js/files.js:315 js/files.js:370 js/files.js:385
msgid "{count} files uploading"
msgstr "íŒŒì¼ {count}ê°œ 업로드 중"
-#: js/files.js:376 js/files.js:414
+#: js/files.js:388 js/files.js:423
msgid "Upload cancelled."
msgstr "업로드가 취소ë˜ì—ˆìŠµë‹ˆë‹¤."
-#: js/files.js:486
+#: js/files.js:493
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr "íŒŒì¼ ì—…ë¡œë“œê°€ 진행 중입니다. ì´ íŽ˜ì´ì§€ë¥¼ 벗어나면 업로드가 취소ë©ë‹ˆë‹¤."
-#: js/files.js:559
+#: js/files.js:566
msgid "URL cannot be empty."
msgstr "URLì„ ìž…ë ¥í•´ì•¼ 합니다."
-#: js/files.js:565
+#: js/files.js:571
msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
msgstr "í´ë” ì´ë¦„ì´ ìœ íš¨í•˜ì§€ 않습니다. "
-#: js/files.js:775
+#: js/files.js:784
msgid "{count} files scanned"
msgstr "íŒŒì¼ {count}ê°œ 검색ë¨"
-#: js/files.js:783
+#: js/files.js:792
msgid "error while scanning"
msgstr "검색 중 오류 ë°œìƒ"
-#: js/files.js:857 templates/index.php:64
+#: js/files.js:866 templates/index.php:63
msgid "Name"
msgstr "ì´ë¦„"
-#: js/files.js:858 templates/index.php:75
+#: js/files.js:867 templates/index.php:74
msgid "Size"
msgstr "í¬ê¸°"
-#: js/files.js:859 templates/index.php:77
+#: js/files.js:868 templates/index.php:76
msgid "Modified"
msgstr "수정ë¨"
-#: js/files.js:878
+#: js/files.js:887
msgid "1 folder"
msgstr "í´ë” 1ê°œ"
-#: js/files.js:880
+#: js/files.js:889
msgid "{count} folders"
msgstr "í´ë” {count}ê°œ"
-#: js/files.js:888
+#: js/files.js:897
msgid "1 file"
msgstr "íŒŒì¼ 1ê°œ"
-#: js/files.js:890
+#: js/files.js:899
msgid "{count} files"
msgstr "íŒŒì¼ {count}ê°œ"
+#: lib/helper.php:11 templates/index.php:18
+msgid "Upload"
+msgstr "업로드"
+
#: templates/admin.php:5
msgid "File handling"
msgstr "íŒŒì¼ ì²˜ë¦¬"
@@ -285,28 +292,28 @@ msgstr "ë§í¬ì—ì„œ"
msgid "Cancel upload"
msgstr "업로드 취소"
-#: templates/index.php:56
+#: templates/index.php:55
msgid "Nothing in here. Upload something!"
msgstr "ë‚´ìš©ì´ ì—†ìŠµë‹ˆë‹¤. 업로드할 수 있습니다!"
-#: templates/index.php:70
+#: templates/index.php:69
msgid "Download"
msgstr "다운로드"
-#: templates/index.php:102
+#: templates/index.php:101
msgid "Upload too large"
msgstr "업로드 용량 초과"
-#: templates/index.php:104
+#: templates/index.php:103
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "ì´ íŒŒì¼ì´ 서버ì—ì„œ 허용하는 최대 업로드 가능 용량보다 í½ë‹ˆë‹¤."
-#: templates/index.php:109
+#: templates/index.php:108
msgid "Files are being scanned, please wait."
msgstr "파ì¼ì„ 검색하고 있습니다. 기다려 주십시오."
-#: templates/index.php:112
+#: templates/index.php:111
msgid "Current scanning"
msgstr "현재 검색"
diff --git a/l10n/ku_IQ/core.po b/l10n/ku_IQ/core.po
index 66155fca436..ebd1bfcf4ee 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: 2013-01-15 00:03+0100\n"
-"PO-Revision-Date: 2013-01-14 23:03+0000\n"
+"POT-Creation-Date: 2013-01-29 00:04+0100\n"
+"PO-Revision-Date: 2013-01-28 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"
@@ -80,59 +80,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:32
+msgid "Sunday"
+msgstr ""
+
+#: js/config.php:32
+msgid "Monday"
+msgstr ""
+
+#: js/config.php:32
+msgid "Tuesday"
+msgstr ""
+
+#: js/config.php:32
+msgid "Wednesday"
+msgstr ""
+
+#: js/config.php:32
+msgid "Thursday"
+msgstr ""
+
+#: js/config.php:32
+msgid "Friday"
+msgstr ""
+
+#: js/config.php:32
+msgid "Saturday"
+msgstr ""
+
+#: js/config.php:33
+msgid "January"
+msgstr ""
+
+#: js/config.php:33
+msgid "February"
+msgstr ""
+
+#: js/config.php:33
+msgid "March"
+msgstr ""
+
+#: js/config.php:33
+msgid "April"
+msgstr ""
+
+#: js/config.php:33
+msgid "May"
+msgstr ""
+
+#: js/config.php:33
+msgid "June"
+msgstr ""
+
+#: js/config.php:33
+msgid "July"
+msgstr ""
+
+#: js/config.php:33
+msgid "August"
+msgstr ""
+
+#: js/config.php:33
+msgid "September"
+msgstr ""
+
+#: js/config.php:33
+msgid "October"
+msgstr ""
+
+#: js/config.php:33
+msgid "November"
+msgstr ""
+
+#: js/config.php:33
+msgid "December"
+msgstr ""
+
+#: js/js.js:280 templates/layout.user.php:47 templates/layout.user.php:48
msgid "Settings"
msgstr "ده‌ستكاری"
-#: js/js.js:711
+#: js/js.js:762
msgid "seconds ago"
msgstr ""
-#: js/js.js:712
+#: js/js.js:763
msgid "1 minute ago"
msgstr ""
-#: js/js.js:713
+#: js/js.js:764
msgid "{minutes} minutes ago"
msgstr ""
-#: js/js.js:714
+#: js/js.js:765
msgid "1 hour ago"
msgstr ""
-#: js/js.js:715
+#: js/js.js:766
msgid "{hours} hours ago"
msgstr ""
-#: js/js.js:716
+#: js/js.js:767
msgid "today"
msgstr ""
-#: js/js.js:717
+#: js/js.js:768
msgid "yesterday"
msgstr ""
-#: js/js.js:718
+#: js/js.js:769
msgid "{days} days ago"
msgstr ""
-#: js/js.js:719
+#: js/js.js:770
msgid "last month"
msgstr ""
-#: js/js.js:720
+#: js/js.js:771
msgid "{months} months ago"
msgstr ""
-#: js/js.js:721
+#: js/js.js:772
msgid "months ago"
msgstr ""
-#: js/js.js:722
+#: js/js.js:773
msgid "last year"
msgstr ""
-#: js/js.js:723
+#: js/js.js:774
msgid "years ago"
msgstr ""
@@ -291,6 +367,17 @@ msgstr ""
msgid "Email sent"
msgstr ""
+#: js/update.js:14
+msgid ""
+"The update was unsuccessful. Please report this issue to the <a "
+"href=\"https://github.com/owncloud/core/issues\" target=\"_blank\">ownCloud "
+"community</a>."
+msgstr ""
+
+#: js/update.js:18
+msgid "The update was successful. Redirecting you to ownCloud now."
+msgstr ""
+
#: lostpassword/controller.php:47
msgid "ownCloud password reset"
msgstr ""
@@ -442,87 +529,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:34
msgid "web services under your control"
msgstr "ڕاژه‌ی وێب له‌ژێر چاودێریت دایه"
-#: templates/layout.user.php:45
+#: templates/layout.user.php:32
msgid "Log out"
msgstr "چوونەدەرەوە"
diff --git a/l10n/ku_IQ/files.po b/l10n/ku_IQ/files.po
index abd2fbccd88..b3b16e0bc71 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: 2013-01-20 00:05+0100\n"
-"PO-Revision-Date: 2013-01-19 23:05+0000\n"
+"POT-Creation-Date: 2013-01-27 00:04+0100\n"
+"PO-Revision-Date: 2013-01-26 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,11 +17,6 @@ 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"
@@ -36,46 +31,46 @@ msgstr ""
msgid "Unable to rename file"
msgstr ""
-#: ajax/upload.php:20
+#: ajax/upload.php:17
msgid "No file was uploaded. Unknown error"
msgstr ""
-#: ajax/upload.php:30
+#: ajax/upload.php:24
msgid "There is no error, the file uploaded with success"
msgstr ""
-#: ajax/upload.php:31
+#: ajax/upload.php:25
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr ""
-#: ajax/upload.php:33
+#: ajax/upload.php:27
msgid ""
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
"the HTML form"
msgstr ""
-#: ajax/upload.php:35
+#: ajax/upload.php:29
msgid "The uploaded file was only partially uploaded"
msgstr ""
-#: ajax/upload.php:36
+#: ajax/upload.php:30
msgid "No file was uploaded"
msgstr ""
-#: ajax/upload.php:37
+#: ajax/upload.php:31
msgid "Missing a temporary folder"
msgstr ""
-#: ajax/upload.php:38
+#: ajax/upload.php:32
msgid "Failed to write to disk"
msgstr ""
-#: ajax/upload.php:57
-msgid "Not enough space available"
+#: ajax/upload.php:48
+msgid "Not enough storage available"
msgstr ""
-#: ajax/upload.php:91
+#: ajax/upload.php:77
msgid "Invalid directory."
msgstr ""
@@ -83,11 +78,11 @@ msgstr ""
msgid "Files"
msgstr ""
-#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
+#: js/fileactions.js:117 templates/index.php:81 templates/index.php:82
msgid "Unshare"
msgstr ""
-#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
+#: js/fileactions.js:119 templates/index.php:87 templates/index.php:88
msgid "Delete"
msgstr ""
@@ -95,139 +90,151 @@ msgstr ""
msgid "Rename"
msgstr ""
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "{new_name} already exists"
msgstr ""
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "replace"
msgstr ""
-#: js/filelist.js:205
+#: js/filelist.js:208
msgid "suggest name"
msgstr ""
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "cancel"
msgstr ""
-#: js/filelist.js:254
+#: js/filelist.js:253
msgid "replaced {new_name}"
msgstr ""
-#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
+#: js/filelist.js:253 js/filelist.js:255 js/filelist.js:286 js/filelist.js:288
msgid "undo"
msgstr ""
-#: js/filelist.js:256
+#: js/filelist.js:255
msgid "replaced {new_name} with {old_name}"
msgstr ""
-#: js/filelist.js:288
+#: js/filelist.js:286
msgid "unshared {files}"
msgstr ""
-#: js/filelist.js:290
+#: js/filelist.js:288
msgid "deleted {files}"
msgstr ""
-#: js/files.js:48
+#: js/files.js:52
msgid "'.' is an invalid file name."
msgstr ""
-#: js/files.js:53
+#: js/files.js:56
msgid "File name cannot be empty."
msgstr ""
-#: js/files.js:62
+#: js/files.js:64
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr ""
-#: js/files.js:204
+#: js/files.js:78
+msgid "Your storage is full, files can not be updated or synced anymore!"
+msgstr ""
+
+#: js/files.js:82
+msgid "Your storage is almost full ({usedSpacePercent}%)"
+msgstr ""
+
+#: js/files.js:219
msgid ""
"Your download is being prepared. This might take some time if the files are "
"big."
msgstr ""
-#: js/files.js:242
+#: js/files.js:256
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr ""
-#: js/files.js:242
+#: js/files.js:256
msgid "Upload Error"
msgstr ""
-#: js/files.js:259
+#: js/files.js:273
msgid "Close"
msgstr "داخستن"
-#: js/files.js:278 js/files.js:397 js/files.js:431
+#: js/files.js:292 js/files.js:408 js/files.js:439
msgid "Pending"
msgstr ""
-#: js/files.js:298
+#: js/files.js:312
msgid "1 file uploading"
msgstr ""
-#: js/files.js:301 js/files.js:357 js/files.js:372
+#: js/files.js:315 js/files.js:370 js/files.js:385
msgid "{count} files uploading"
msgstr ""
-#: js/files.js:376 js/files.js:414
+#: js/files.js:388 js/files.js:423
msgid "Upload cancelled."
msgstr ""
-#: js/files.js:486
+#: js/files.js:493
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr ""
-#: js/files.js:559
+#: js/files.js:566
msgid "URL cannot be empty."
msgstr "ناونیشانی به‌سته‌ر نابێت به‌تاڵ بێت."
-#: js/files.js:565
+#: js/files.js:571
msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
msgstr ""
-#: js/files.js:775
+#: js/files.js:784
msgid "{count} files scanned"
msgstr ""
-#: js/files.js:783
+#: js/files.js:792
msgid "error while scanning"
msgstr ""
-#: js/files.js:857 templates/index.php:64
+#: js/files.js:866 templates/index.php:63
msgid "Name"
msgstr "ناو"
-#: js/files.js:858 templates/index.php:75
+#: js/files.js:867 templates/index.php:74
msgid "Size"
msgstr ""
-#: js/files.js:859 templates/index.php:77
+#: js/files.js:868 templates/index.php:76
msgid "Modified"
msgstr ""
-#: js/files.js:878
+#: js/files.js:887
msgid "1 folder"
msgstr ""
-#: js/files.js:880
+#: js/files.js:889
msgid "{count} folders"
msgstr ""
-#: js/files.js:888
+#: js/files.js:897
msgid "1 file"
msgstr ""
-#: js/files.js:890
+#: js/files.js:899
msgid "{count} files"
msgstr ""
+#: lib/helper.php:11 templates/index.php:18
+msgid "Upload"
+msgstr "بارکردن"
+
#: templates/admin.php:5
msgid "File handling"
msgstr ""
@@ -280,28 +287,28 @@ msgstr ""
msgid "Cancel upload"
msgstr ""
-#: templates/index.php:56
+#: templates/index.php:55
msgid "Nothing in here. Upload something!"
msgstr ""
-#: templates/index.php:70
+#: templates/index.php:69
msgid "Download"
msgstr "داگرتن"
-#: templates/index.php:102
+#: templates/index.php:101
msgid "Upload too large"
msgstr ""
-#: templates/index.php:104
+#: templates/index.php:103
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr ""
-#: templates/index.php:109
+#: templates/index.php:108
msgid "Files are being scanned, please wait."
msgstr ""
-#: templates/index.php:112
+#: templates/index.php:111
msgid "Current scanning"
msgstr ""
diff --git a/l10n/lb/core.po b/l10n/lb/core.po
index d51bf81245a..9d252a5e5f3 100644
--- a/l10n/lb/core.po
+++ b/l10n/lb/core.po
@@ -3,13 +3,14 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# <sim0n@trypill.org>, 2013.
# <sim0n@trypill.org>, 2011-2012.
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"
+"POT-Creation-Date: 2013-01-29 00:04+0100\n"
+"PO-Revision-Date: 2013-01-28 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"
@@ -80,65 +81,141 @@ msgstr "Keng Kategorien ausgewielt fir ze läschen."
msgid "Error removing %s from favorites."
msgstr ""
-#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61
+#: js/config.php:32
+msgid "Sunday"
+msgstr "Sonndes"
+
+#: js/config.php:32
+msgid "Monday"
+msgstr "Méindes"
+
+#: js/config.php:32
+msgid "Tuesday"
+msgstr "Dënschdes"
+
+#: js/config.php:32
+msgid "Wednesday"
+msgstr "Mëttwoch"
+
+#: js/config.php:32
+msgid "Thursday"
+msgstr "Donneschdes"
+
+#: js/config.php:32
+msgid "Friday"
+msgstr "Freides"
+
+#: js/config.php:32
+msgid "Saturday"
+msgstr "Samschdes"
+
+#: js/config.php:33
+msgid "January"
+msgstr "Januar"
+
+#: js/config.php:33
+msgid "February"
+msgstr "Februar"
+
+#: js/config.php:33
+msgid "March"
+msgstr "Mäerz"
+
+#: js/config.php:33
+msgid "April"
+msgstr "Abrëll"
+
+#: js/config.php:33
+msgid "May"
+msgstr "Mee"
+
+#: js/config.php:33
+msgid "June"
+msgstr "Juni"
+
+#: js/config.php:33
+msgid "July"
+msgstr "Juli"
+
+#: js/config.php:33
+msgid "August"
+msgstr "August"
+
+#: js/config.php:33
+msgid "September"
+msgstr "September"
+
+#: js/config.php:33
+msgid "October"
+msgstr "Oktober"
+
+#: js/config.php:33
+msgid "November"
+msgstr "November"
+
+#: js/config.php:33
+msgid "December"
+msgstr "Dezember"
+
+#: js/js.js:280 templates/layout.user.php:47 templates/layout.user.php:48
msgid "Settings"
msgstr "Astellungen"
-#: js/js.js:711
+#: js/js.js:762
msgid "seconds ago"
msgstr ""
-#: js/js.js:712
+#: js/js.js:763
msgid "1 minute ago"
msgstr ""
-#: js/js.js:713
+#: js/js.js:764
msgid "{minutes} minutes ago"
msgstr ""
-#: js/js.js:714
+#: js/js.js:765
msgid "1 hour ago"
-msgstr ""
+msgstr "vrun 1 Stonn"
-#: js/js.js:715
+#: js/js.js:766
msgid "{hours} hours ago"
-msgstr ""
+msgstr "vru {hours} Stonnen"
-#: js/js.js:716
+#: js/js.js:767
msgid "today"
msgstr ""
-#: js/js.js:717
+#: js/js.js:768
msgid "yesterday"
msgstr ""
-#: js/js.js:718
+#: js/js.js:769
msgid "{days} days ago"
msgstr ""
-#: js/js.js:719
+#: js/js.js:770
msgid "last month"
-msgstr ""
+msgstr "Läschte Mount"
-#: js/js.js:720
+#: js/js.js:771
msgid "{months} months ago"
-msgstr ""
+msgstr "vru {months} Méint"
-#: js/js.js:721
+#: js/js.js:772
msgid "months ago"
-msgstr ""
+msgstr "Méint hier"
-#: js/js.js:722
+#: js/js.js:773
msgid "last year"
-msgstr ""
+msgstr "Läscht Joer"
-#: js/js.js:723
+#: js/js.js:774
msgid "years ago"
-msgstr ""
+msgstr "Joren hier"
#: js/oc-dialogs.js:126
msgid "Choose"
-msgstr ""
+msgstr "Auswielen"
#: js/oc-dialogs.js:146 js/oc-dialogs.js:166
msgid "Cancel"
@@ -245,7 +322,7 @@ msgstr ""
#: js/share.js:296
msgid "Unshare"
-msgstr ""
+msgstr "Net méi deelen"
#: js/share.js:308
msgid "can edit"
@@ -265,11 +342,11 @@ msgstr ""
#: js/share.js:319
msgid "delete"
-msgstr ""
+msgstr "läschen"
#: js/share.js:322
msgid "share"
-msgstr ""
+msgstr "deelen"
#: js/share.js:356 js/share.js:541
msgid "Password protected"
@@ -291,6 +368,17 @@ msgstr ""
msgid "Email sent"
msgstr ""
+#: js/update.js:14
+msgid ""
+"The update was unsuccessful. Please report this issue to the <a "
+"href=\"https://github.com/owncloud/core/issues\" target=\"_blank\">ownCloud "
+"community</a>."
+msgstr ""
+
+#: js/update.js:18
+msgid "The update was successful. Redirecting you to ownCloud now."
+msgstr ""
+
#: lostpassword/controller.php:47
msgid "ownCloud password reset"
msgstr "ownCloud Passwuert reset"
@@ -403,7 +491,7 @@ msgstr "En <strong>Admin Account</strong> uleeën"
#: templates/installation.php:50
msgid "Advanced"
-msgstr "Advanced"
+msgstr "Avancéiert"
#: templates/installation.php:52
msgid "Data folder"
@@ -442,87 +530,11 @@ msgstr "Datebank Server"
msgid "Finish setup"
msgstr "Installatioun ofschléissen"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Sunday"
-msgstr "Sonndes"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Monday"
-msgstr "Méindes"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Tuesday"
-msgstr "Dënschdes"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Wednesday"
-msgstr "Mëttwoch"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Thursday"
-msgstr "Donneschdes"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Friday"
-msgstr "Freides"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Saturday"
-msgstr "Samschdes"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "January"
-msgstr "Januar"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "February"
-msgstr "Februar"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "March"
-msgstr "Mäerz"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "April"
-msgstr "Abrëll"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "May"
-msgstr "Mee"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "June"
-msgstr "Juni"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "July"
-msgstr "Juli"
-
-#: 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 "September"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "October"
-msgstr "Oktober"
-
-#: 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 "Dezember"
-
-#: templates/layout.guest.php:42
+#: templates/layout.guest.php:34
msgid "web services under your control"
msgstr "Web Servicer ënnert denger Kontroll"
-#: templates/layout.user.php:45
+#: templates/layout.user.php:32
msgid "Log out"
msgstr "Ausloggen"
diff --git a/l10n/lb/files.po b/l10n/lb/files.po
index 61b45edafd4..89400d84768 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: 2013-01-20 00:05+0100\n"
-"PO-Revision-Date: 2013-01-19 23:05+0000\n"
+"POT-Creation-Date: 2013-01-27 00:04+0100\n"
+"PO-Revision-Date: 2013-01-26 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,11 +18,6 @@ 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"
@@ -37,46 +32,46 @@ msgstr ""
msgid "Unable to rename file"
msgstr ""
-#: ajax/upload.php:20
+#: ajax/upload.php:17
msgid "No file was uploaded. Unknown error"
msgstr ""
-#: ajax/upload.php:30
+#: ajax/upload.php:24
msgid "There is no error, the file uploaded with success"
msgstr "Keen Feeler, Datei ass komplett ropgelueden ginn"
-#: ajax/upload.php:31
+#: ajax/upload.php:25
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr ""
-#: ajax/upload.php:33
+#: ajax/upload.php:27
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:35
+#: ajax/upload.php:29
msgid "The uploaded file was only partially uploaded"
msgstr "Déi ropgelueden Datei ass nëmmen hallef ropgelueden ginn"
-#: ajax/upload.php:36
+#: ajax/upload.php:30
msgid "No file was uploaded"
msgstr "Et ass keng Datei ropgelueden ginn"
-#: ajax/upload.php:37
+#: ajax/upload.php:31
msgid "Missing a temporary folder"
msgstr "Et feelt en temporären Dossier"
-#: ajax/upload.php:38
+#: ajax/upload.php:32
msgid "Failed to write to disk"
msgstr "Konnt net op den Disk schreiwen"
-#: ajax/upload.php:57
-msgid "Not enough space available"
+#: ajax/upload.php:48
+msgid "Not enough storage available"
msgstr ""
-#: ajax/upload.php:91
+#: ajax/upload.php:77
msgid "Invalid directory."
msgstr ""
@@ -84,11 +79,11 @@ msgstr ""
msgid "Files"
msgstr "Dateien"
-#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
+#: js/fileactions.js:117 templates/index.php:81 templates/index.php:82
msgid "Unshare"
-msgstr ""
+msgstr "Net méi deelen"
-#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
+#: js/fileactions.js:119 templates/index.php:87 templates/index.php:88
msgid "Delete"
msgstr "Läschen"
@@ -96,139 +91,151 @@ msgstr "Läschen"
msgid "Rename"
msgstr ""
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "{new_name} already exists"
msgstr ""
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "replace"
msgstr "ersetzen"
-#: js/filelist.js:205
+#: js/filelist.js:208
msgid "suggest name"
msgstr ""
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "cancel"
msgstr "ofbriechen"
-#: js/filelist.js:254
+#: js/filelist.js:253
msgid "replaced {new_name}"
msgstr ""
-#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
+#: js/filelist.js:253 js/filelist.js:255 js/filelist.js:286 js/filelist.js:288
msgid "undo"
msgstr "réckgängeg man"
-#: js/filelist.js:256
+#: js/filelist.js:255
msgid "replaced {new_name} with {old_name}"
msgstr ""
-#: js/filelist.js:288
+#: js/filelist.js:286
msgid "unshared {files}"
msgstr ""
-#: js/filelist.js:290
+#: js/filelist.js:288
msgid "deleted {files}"
msgstr ""
-#: js/files.js:48
+#: js/files.js:52
msgid "'.' is an invalid file name."
msgstr ""
-#: js/files.js:53
+#: js/files.js:56
msgid "File name cannot be empty."
msgstr ""
-#: js/files.js:62
+#: js/files.js:64
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr ""
-#: js/files.js:204
+#: js/files.js:78
+msgid "Your storage is full, files can not be updated or synced anymore!"
+msgstr ""
+
+#: js/files.js:82
+msgid "Your storage is almost full ({usedSpacePercent}%)"
+msgstr ""
+
+#: js/files.js:219
msgid ""
"Your download is being prepared. This might take some time if the files are "
"big."
msgstr ""
-#: js/files.js:242
+#: js/files.js:256
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:242
+#: js/files.js:256
msgid "Upload Error"
msgstr "Fehler beim eroplueden"
-#: js/files.js:259
+#: js/files.js:273
msgid "Close"
msgstr "Zoumaachen"
-#: js/files.js:278 js/files.js:397 js/files.js:431
+#: js/files.js:292 js/files.js:408 js/files.js:439
msgid "Pending"
msgstr ""
-#: js/files.js:298
+#: js/files.js:312
msgid "1 file uploading"
msgstr ""
-#: js/files.js:301 js/files.js:357 js/files.js:372
+#: js/files.js:315 js/files.js:370 js/files.js:385
msgid "{count} files uploading"
msgstr ""
-#: js/files.js:376 js/files.js:414
+#: js/files.js:388 js/files.js:423
msgid "Upload cancelled."
msgstr "Upload ofgebrach."
-#: js/files.js:486
+#: js/files.js:493
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:559
+#: js/files.js:566
msgid "URL cannot be empty."
msgstr ""
-#: js/files.js:565
+#: js/files.js:571
msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
msgstr ""
-#: js/files.js:775
+#: js/files.js:784
msgid "{count} files scanned"
msgstr ""
-#: js/files.js:783
+#: js/files.js:792
msgid "error while scanning"
msgstr ""
-#: js/files.js:857 templates/index.php:64
+#: js/files.js:866 templates/index.php:63
msgid "Name"
msgstr "Numm"
-#: js/files.js:858 templates/index.php:75
+#: js/files.js:867 templates/index.php:74
msgid "Size"
msgstr "Gréisst"
-#: js/files.js:859 templates/index.php:77
+#: js/files.js:868 templates/index.php:76
msgid "Modified"
msgstr "Geännert"
-#: js/files.js:878
+#: js/files.js:887
msgid "1 folder"
msgstr ""
-#: js/files.js:880
+#: js/files.js:889
msgid "{count} folders"
msgstr ""
-#: js/files.js:888
+#: js/files.js:897
msgid "1 file"
msgstr ""
-#: js/files.js:890
+#: js/files.js:899
msgid "{count} files"
msgstr ""
+#: lib/helper.php:11 templates/index.php:18
+msgid "Upload"
+msgstr "Eroplueden"
+
#: templates/admin.php:5
msgid "File handling"
msgstr "Fichier handling"
@@ -281,28 +288,28 @@ msgstr ""
msgid "Cancel upload"
msgstr "Upload ofbriechen"
-#: templates/index.php:56
+#: templates/index.php:55
msgid "Nothing in here. Upload something!"
msgstr "Hei ass näischt. Lued eppes rop!"
-#: templates/index.php:70
+#: templates/index.php:69
msgid "Download"
msgstr "Eroflueden"
-#: templates/index.php:102
+#: templates/index.php:101
msgid "Upload too large"
msgstr "Upload ze grouss"
-#: templates/index.php:104
+#: templates/index.php:103
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:109
+#: templates/index.php:108
msgid "Files are being scanned, please wait."
msgstr "Fichieren gi gescannt, war weg."
-#: templates/index.php:112
+#: templates/index.php:111
msgid "Current scanning"
msgstr "Momentane Scan"
diff --git a/l10n/lb/files_sharing.po b/l10n/lb/files_sharing.po
index ebdb3f59320..f4d8ed5cc8e 100644
--- a/l10n/lb/files_sharing.po
+++ b/l10n/lb/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-27 00:04+0100\n"
+"PO-Revision-Date: 2013-01-26 13:36+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"
@@ -19,27 +19,27 @@ msgstr ""
#: templates/authenticate.php:4
msgid "Password"
-msgstr ""
+msgstr "Passwuert"
#: templates/authenticate.php:6
msgid "Submit"
msgstr ""
-#: templates/public.php:9
+#: templates/public.php:11
#, php-format
msgid "%s shared the folder %s with you"
msgstr ""
-#: templates/public.php:11
+#: templates/public.php:13
#, php-format
msgid "%s shared the file %s with you"
msgstr ""
-#: templates/public.php:14 templates/public.php:30
+#: templates/public.php:16 templates/public.php:32
msgid "Download"
msgstr ""
-#: templates/public.php:29
+#: templates/public.php:31
msgid "No preview available for"
msgstr ""
diff --git a/l10n/lb/files_versions.po b/l10n/lb/files_versions.po
index 3c50ece48e4..3eeeda4f063 100644
--- a/l10n/lb/files_versions.po
+++ b/l10n/lb/files_versions.po
@@ -3,13 +3,14 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# <sim0n@trypill.org>, 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"
+"POT-Creation-Date: 2013-01-27 00:04+0100\n"
+"PO-Revision-Date: 2013-01-26 12:27+0000\n"
+"Last-Translator: sim0n <sim0n@trypill.org>\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"
@@ -19,12 +20,12 @@ msgstr ""
#: js/versions.js:16
msgid "History"
-msgstr ""
+msgstr "Historique"
#: templates/settings.php:3
msgid "Files Versioning"
-msgstr ""
+msgstr "Fichier's Versionéierung "
#: templates/settings.php:4
msgid "Enable"
-msgstr ""
+msgstr "Aschalten"
diff --git a/l10n/lb/lib.po b/l10n/lb/lib.po
index 09aea026773..b7995af6442 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: 2013-01-18 00:03+0100\n"
-"PO-Revision-Date: 2013-01-17 21:57+0000\n"
+"POT-Creation-Date: 2013-01-27 00:04+0100\n"
+"PO-Revision-Date: 2013-01-26 13:36+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"
@@ -57,7 +57,7 @@ msgstr ""
msgid "Selected files too large to generate zip file."
msgstr ""
-#: helper.php:228
+#: helper.php:229
msgid "couldn't be determined"
msgstr ""
@@ -100,7 +100,7 @@ msgstr ""
#: template.php:116
msgid "1 hour ago"
-msgstr ""
+msgstr "vrun 1 Stonn"
#: template.php:117
#, php-format
@@ -122,7 +122,7 @@ msgstr ""
#: template.php:121
msgid "last month"
-msgstr ""
+msgstr "Läschte Mount"
#: template.php:122
#, php-format
@@ -131,11 +131,11 @@ msgstr ""
#: template.php:123
msgid "last year"
-msgstr ""
+msgstr "Läscht Joer"
#: template.php:124
msgid "years ago"
-msgstr ""
+msgstr "Joren hier"
#: updater.php:75
#, php-format
diff --git a/l10n/lb/user_ldap.po b/l10n/lb/user_ldap.po
index a12e3f905ee..b48c76aa9b2 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: 2013-01-18 00:03+0100\n"
-"PO-Revision-Date: 2013-01-17 21:57+0000\n"
+"POT-Creation-Date: 2013-01-27 00:04+0100\n"
+"PO-Revision-Date: 2013-01-26 13:36+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"
@@ -64,7 +64,7 @@ msgstr ""
#: templates/settings.php:18
msgid "Password"
-msgstr ""
+msgstr "Passwuert"
#: templates/settings.php:18
msgid "For anonymous access, leave DN and Password empty."
diff --git a/l10n/lt_LT/core.po b/l10n/lt_LT/core.po
index bdc20a2384a..6d984807ac0 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: 2013-01-15 00:03+0100\n"
-"PO-Revision-Date: 2013-01-14 23:03+0000\n"
+"POT-Creation-Date: 2013-01-29 00:04+0100\n"
+"PO-Revision-Date: 2013-01-28 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"
@@ -81,59 +81,135 @@ msgstr "Trynimui nepasirinkta jokia kategorija."
msgid "Error removing %s from favorites."
msgstr ""
-#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61
+#: js/config.php:32
+msgid "Sunday"
+msgstr "Sekmadienis"
+
+#: js/config.php:32
+msgid "Monday"
+msgstr "Pirmadienis"
+
+#: js/config.php:32
+msgid "Tuesday"
+msgstr "Antradienis"
+
+#: js/config.php:32
+msgid "Wednesday"
+msgstr "TreÄiadienis"
+
+#: js/config.php:32
+msgid "Thursday"
+msgstr "Ketvirtadienis"
+
+#: js/config.php:32
+msgid "Friday"
+msgstr "Penktadienis"
+
+#: js/config.php:32
+msgid "Saturday"
+msgstr "Šeštadienis"
+
+#: js/config.php:33
+msgid "January"
+msgstr "Sausis"
+
+#: js/config.php:33
+msgid "February"
+msgstr "Vasaris"
+
+#: js/config.php:33
+msgid "March"
+msgstr "Kovas"
+
+#: js/config.php:33
+msgid "April"
+msgstr "Balandis"
+
+#: js/config.php:33
+msgid "May"
+msgstr "Gegužė"
+
+#: js/config.php:33
+msgid "June"
+msgstr "Birželis"
+
+#: js/config.php:33
+msgid "July"
+msgstr "Liepa"
+
+#: js/config.php:33
+msgid "August"
+msgstr "Rugpjūtis"
+
+#: js/config.php:33
+msgid "September"
+msgstr "RugsÄ—jis"
+
+#: js/config.php:33
+msgid "October"
+msgstr "Spalis"
+
+#: js/config.php:33
+msgid "November"
+msgstr "Lapkritis"
+
+#: js/config.php:33
+msgid "December"
+msgstr "Gruodis"
+
+#: js/js.js:280 templates/layout.user.php:47 templates/layout.user.php:48
msgid "Settings"
msgstr "Nustatymai"
-#: js/js.js:711
+#: js/js.js:762
msgid "seconds ago"
msgstr "prieš sekundę"
-#: js/js.js:712
+#: js/js.js:763
msgid "1 minute ago"
msgstr "Prieš 1 minutę"
-#: js/js.js:713
+#: js/js.js:764
msgid "{minutes} minutes ago"
msgstr "Prieš {count} minutes"
-#: js/js.js:714
+#: js/js.js:765
msgid "1 hour ago"
msgstr ""
-#: js/js.js:715
+#: js/js.js:766
msgid "{hours} hours ago"
msgstr ""
-#: js/js.js:716
+#: js/js.js:767
msgid "today"
msgstr "Å¡iandien"
-#: js/js.js:717
+#: js/js.js:768
msgid "yesterday"
msgstr "vakar"
-#: js/js.js:718
+#: js/js.js:769
msgid "{days} days ago"
msgstr "Prieš {days} dienas"
-#: js/js.js:719
+#: js/js.js:770
msgid "last month"
msgstr "praeitą mėnesį"
-#: js/js.js:720
+#: js/js.js:771
msgid "{months} months ago"
msgstr ""
-#: js/js.js:721
+#: js/js.js:772
msgid "months ago"
msgstr "prieš mėnesį"
-#: js/js.js:722
+#: js/js.js:773
msgid "last year"
msgstr "praeitais metais"
-#: js/js.js:723
+#: js/js.js:774
msgid "years ago"
msgstr "prieš metus"
@@ -292,6 +368,17 @@ msgstr ""
msgid "Email sent"
msgstr ""
+#: js/update.js:14
+msgid ""
+"The update was unsuccessful. Please report this issue to the <a "
+"href=\"https://github.com/owncloud/core/issues\" target=\"_blank\">ownCloud "
+"community</a>."
+msgstr ""
+
+#: js/update.js:18
+msgid "The update was successful. Redirecting you to ownCloud now."
+msgstr ""
+
#: lostpassword/controller.php:47
msgid "ownCloud password reset"
msgstr "ownCloud slaptažodžio atkūrimas"
@@ -443,87 +530,11 @@ msgstr "Duomenų bazės serveris"
msgid "Finish setup"
msgstr "Baigti diegimÄ…"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Sunday"
-msgstr "Sekmadienis"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Monday"
-msgstr "Pirmadienis"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Tuesday"
-msgstr "Antradienis"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Wednesday"
-msgstr "TreÄiadienis"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Thursday"
-msgstr "Ketvirtadienis"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Friday"
-msgstr "Penktadienis"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Saturday"
-msgstr "Šeštadienis"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "January"
-msgstr "Sausis"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "February"
-msgstr "Vasaris"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "March"
-msgstr "Kovas"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "April"
-msgstr "Balandis"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "May"
-msgstr "Gegužė"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "June"
-msgstr "Birželis"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "July"
-msgstr "Liepa"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "August"
-msgstr "Rugpjūtis"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "September"
-msgstr "RugsÄ—jis"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "October"
-msgstr "Spalis"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "November"
-msgstr "Lapkritis"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "December"
-msgstr "Gruodis"
-
-#: templates/layout.guest.php:42
+#: templates/layout.guest.php:34
msgid "web services under your control"
msgstr "jūsų valdomos web paslaugos"
-#: templates/layout.user.php:45
+#: templates/layout.user.php:32
msgid "Log out"
msgstr "Atsijungti"
diff --git a/l10n/lt_LT/files.po b/l10n/lt_LT/files.po
index bae5e238b17..ade78b17896 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: 2013-01-20 00:05+0100\n"
-"PO-Revision-Date: 2013-01-19 23:05+0000\n"
+"POT-Creation-Date: 2013-01-27 00:04+0100\n"
+"PO-Revision-Date: 2013-01-26 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,11 +20,6 @@ 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"
@@ -39,46 +34,46 @@ msgstr ""
msgid "Unable to rename file"
msgstr ""
-#: ajax/upload.php:20
+#: ajax/upload.php:17
msgid "No file was uploaded. Unknown error"
msgstr ""
-#: ajax/upload.php:30
+#: ajax/upload.php:24
msgid "There is no error, the file uploaded with success"
msgstr "Klaidų nėra, failas įkeltas sėkmingai"
-#: ajax/upload.php:31
+#: ajax/upload.php:25
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr ""
-#: ajax/upload.php:33
+#: ajax/upload.php:27
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:35
+#: ajax/upload.php:29
msgid "The uploaded file was only partially uploaded"
msgstr "Failas buvo įkeltas tik dalinai"
-#: ajax/upload.php:36
+#: ajax/upload.php:30
msgid "No file was uploaded"
msgstr "Nebuvo įkeltas nė vienas failas"
-#: ajax/upload.php:37
+#: ajax/upload.php:31
msgid "Missing a temporary folder"
msgstr "NÄ—ra laikinojo katalogo"
-#: ajax/upload.php:38
+#: ajax/upload.php:32
msgid "Failed to write to disk"
msgstr "Nepavyko įrašyti į diską"
-#: ajax/upload.php:57
-msgid "Not enough space available"
+#: ajax/upload.php:48
+msgid "Not enough storage available"
msgstr ""
-#: ajax/upload.php:91
+#: ajax/upload.php:77
msgid "Invalid directory."
msgstr ""
@@ -86,11 +81,11 @@ msgstr ""
msgid "Files"
msgstr "Failai"
-#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
+#: js/fileactions.js:117 templates/index.php:81 templates/index.php:82
msgid "Unshare"
msgstr "Nebesidalinti"
-#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
+#: js/fileactions.js:119 templates/index.php:87 templates/index.php:88
msgid "Delete"
msgstr "IÅ¡trinti"
@@ -98,139 +93,151 @@ msgstr "IÅ¡trinti"
msgid "Rename"
msgstr "Pervadinti"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "{new_name} already exists"
msgstr "{new_name} jau egzistuoja"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "replace"
msgstr "pakeisti"
-#: js/filelist.js:205
+#: js/filelist.js:208
msgid "suggest name"
msgstr "pasiūlyti pavadinimą"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "cancel"
msgstr "atšaukti"
-#: js/filelist.js:254
+#: js/filelist.js:253
msgid "replaced {new_name}"
msgstr "pakeiskite {new_name}"
-#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
+#: js/filelist.js:253 js/filelist.js:255 js/filelist.js:286 js/filelist.js:288
msgid "undo"
msgstr "anuliuoti"
-#: js/filelist.js:256
+#: js/filelist.js:255
msgid "replaced {new_name} with {old_name}"
msgstr "pakeiskite {new_name} į {old_name}"
-#: js/filelist.js:288
+#: js/filelist.js:286
msgid "unshared {files}"
msgstr "nebesidalinti {files}"
-#: js/filelist.js:290
+#: js/filelist.js:288
msgid "deleted {files}"
msgstr "ištrinti {files}"
-#: js/files.js:48
+#: js/files.js:52
msgid "'.' is an invalid file name."
msgstr ""
-#: js/files.js:53
+#: js/files.js:56
msgid "File name cannot be empty."
msgstr ""
-#: js/files.js:62
+#: js/files.js:64
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr ""
-#: js/files.js:204
+#: js/files.js:78
+msgid "Your storage is full, files can not be updated or synced anymore!"
+msgstr ""
+
+#: js/files.js:82
+msgid "Your storage is almost full ({usedSpacePercent}%)"
+msgstr ""
+
+#: js/files.js:219
msgid ""
"Your download is being prepared. This might take some time if the files are "
"big."
msgstr ""
-#: js/files.js:242
+#: js/files.js:256
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:242
+#: js/files.js:256
msgid "Upload Error"
msgstr "Įkėlimo klaida"
-#: js/files.js:259
+#: js/files.js:273
msgid "Close"
msgstr "Užverti"
-#: js/files.js:278 js/files.js:397 js/files.js:431
+#: js/files.js:292 js/files.js:408 js/files.js:439
msgid "Pending"
msgstr "Laukiantis"
-#: js/files.js:298
+#: js/files.js:312
msgid "1 file uploading"
msgstr "įkeliamas 1 failas"
-#: js/files.js:301 js/files.js:357 js/files.js:372
+#: js/files.js:315 js/files.js:370 js/files.js:385
msgid "{count} files uploading"
msgstr "{count} įkeliami failai"
-#: js/files.js:376 js/files.js:414
+#: js/files.js:388 js/files.js:423
msgid "Upload cancelled."
msgstr "Įkėlimas atšauktas."
-#: js/files.js:486
+#: js/files.js:493
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:559
+#: js/files.js:566
msgid "URL cannot be empty."
msgstr ""
-#: js/files.js:565
+#: js/files.js:571
msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
msgstr ""
-#: js/files.js:775
+#: js/files.js:784
msgid "{count} files scanned"
msgstr "{count} praskanuoti failai"
-#: js/files.js:783
+#: js/files.js:792
msgid "error while scanning"
msgstr "klaida skanuojant"
-#: js/files.js:857 templates/index.php:64
+#: js/files.js:866 templates/index.php:63
msgid "Name"
msgstr "Pavadinimas"
-#: js/files.js:858 templates/index.php:75
+#: js/files.js:867 templates/index.php:74
msgid "Size"
msgstr "Dydis"
-#: js/files.js:859 templates/index.php:77
+#: js/files.js:868 templates/index.php:76
msgid "Modified"
msgstr "Pakeista"
-#: js/files.js:878
+#: js/files.js:887
msgid "1 folder"
msgstr "1 aplankalas"
-#: js/files.js:880
+#: js/files.js:889
msgid "{count} folders"
msgstr "{count} aplankalai"
-#: js/files.js:888
+#: js/files.js:897
msgid "1 file"
msgstr "1 failas"
-#: js/files.js:890
+#: js/files.js:899
msgid "{count} files"
msgstr "{count} failai"
+#: lib/helper.php:11 templates/index.php:18
+msgid "Upload"
+msgstr "Įkelti"
+
#: templates/admin.php:5
msgid "File handling"
msgstr "Failų tvarkymas"
@@ -283,28 +290,28 @@ msgstr ""
msgid "Cancel upload"
msgstr "Atšaukti siuntimą"
-#: templates/index.php:56
+#: templates/index.php:55
msgid "Nothing in here. Upload something!"
msgstr "ÄŒia tuÅ¡Äia. Ä®kelkite kÄ… nors!"
-#: templates/index.php:70
+#: templates/index.php:69
msgid "Download"
msgstr "Atsisiųsti"
-#: templates/index.php:102
+#: templates/index.php:101
msgid "Upload too large"
msgstr "Įkėlimui failas per didelis"
-#: templates/index.php:104
+#: templates/index.php:103
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:109
+#: templates/index.php:108
msgid "Files are being scanned, please wait."
msgstr "Skenuojami failai, prašome palaukti."
-#: templates/index.php:112
+#: templates/index.php:111
msgid "Current scanning"
msgstr "Å iuo metu skenuojama"
diff --git a/l10n/lv/core.po b/l10n/lv/core.po
index af275975955..162f927ac51 100644
--- a/l10n/lv/core.po
+++ b/l10n/lv/core.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-01-15 00:03+0100\n"
-"PO-Revision-Date: 2013-01-14 23:03+0000\n"
+"POT-Creation-Date: 2013-01-29 00:04+0100\n"
+"PO-Revision-Date: 2013-01-28 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"
@@ -80,59 +80,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:32
+msgid "Sunday"
+msgstr "Svētdiena"
+
+#: js/config.php:32
+msgid "Monday"
+msgstr "Pirmdiena"
+
+#: js/config.php:32
+msgid "Tuesday"
+msgstr "Otrdiena"
+
+#: js/config.php:32
+msgid "Wednesday"
+msgstr "Trešdiena"
+
+#: js/config.php:32
+msgid "Thursday"
+msgstr "Ceturtdiena"
+
+#: js/config.php:32
+msgid "Friday"
+msgstr "Piektdiena"
+
+#: js/config.php:32
+msgid "Saturday"
+msgstr "Sestdiena"
+
+#: js/config.php:33
+msgid "January"
+msgstr "JanvÄris"
+
+#: js/config.php:33
+msgid "February"
+msgstr "FebruÄris"
+
+#: js/config.php:33
+msgid "March"
+msgstr "Marts"
+
+#: js/config.php:33
+msgid "April"
+msgstr "Aprīlis"
+
+#: js/config.php:33
+msgid "May"
+msgstr "Maijs"
+
+#: js/config.php:33
+msgid "June"
+msgstr "JÅ«nijs"
+
+#: js/config.php:33
+msgid "July"
+msgstr "JÅ«lijs"
+
+#: js/config.php:33
+msgid "August"
+msgstr "Augusts"
+
+#: js/config.php:33
+msgid "September"
+msgstr "Septembris"
+
+#: js/config.php:33
+msgid "October"
+msgstr "Oktobris"
+
+#: js/config.php:33
+msgid "November"
+msgstr "Novembris"
+
+#: js/config.php:33
+msgid "December"
+msgstr "Decembris"
+
+#: js/js.js:280 templates/layout.user.php:47 templates/layout.user.php:48
msgid "Settings"
msgstr "Iestatījumi"
-#: js/js.js:711
+#: js/js.js:762
msgid "seconds ago"
msgstr ""
-#: js/js.js:712
+#: js/js.js:763
msgid "1 minute ago"
msgstr ""
-#: js/js.js:713
+#: js/js.js:764
msgid "{minutes} minutes ago"
msgstr ""
-#: js/js.js:714
+#: js/js.js:765
msgid "1 hour ago"
msgstr ""
-#: js/js.js:715
+#: js/js.js:766
msgid "{hours} hours ago"
msgstr ""
-#: js/js.js:716
+#: js/js.js:767
msgid "today"
msgstr ""
-#: js/js.js:717
+#: js/js.js:768
msgid "yesterday"
msgstr ""
-#: js/js.js:718
+#: js/js.js:769
msgid "{days} days ago"
msgstr ""
-#: js/js.js:719
+#: js/js.js:770
msgid "last month"
msgstr ""
-#: js/js.js:720
+#: js/js.js:771
msgid "{months} months ago"
msgstr ""
-#: js/js.js:721
+#: js/js.js:772
msgid "months ago"
msgstr ""
-#: js/js.js:722
+#: js/js.js:773
msgid "last year"
msgstr ""
-#: js/js.js:723
+#: js/js.js:774
msgid "years ago"
msgstr ""
@@ -142,7 +218,7 @@ msgstr ""
#: js/oc-dialogs.js:146 js/oc-dialogs.js:166
msgid "Cancel"
-msgstr ""
+msgstr "Atcelt"
#: js/oc-dialogs.js:162
msgid "No"
@@ -291,6 +367,17 @@ msgstr ""
msgid "Email sent"
msgstr ""
+#: js/update.js:14
+msgid ""
+"The update was unsuccessful. Please report this issue to the <a "
+"href=\"https://github.com/owncloud/core/issues\" target=\"_blank\">ownCloud "
+"community</a>."
+msgstr ""
+
+#: js/update.js:18
+msgid "The update was successful. Redirecting you to ownCloud now."
+msgstr ""
+
#: lostpassword/controller.php:47
msgid "ownCloud password reset"
msgstr ""
@@ -442,87 +529,11 @@ msgstr "DatubÄzes mÄjvieta"
msgid "Finish setup"
msgstr "Pabeigt uzstÄdÄ«jumus"
-#: 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:34
msgid "web services under your control"
msgstr ""
-#: templates/layout.user.php:45
+#: templates/layout.user.php:32
msgid "Log out"
msgstr "Izlogoties"
diff --git a/l10n/lv/files.po b/l10n/lv/files.po
index 0d45b08c187..f5fb737c584 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: 2013-01-20 00:05+0100\n"
-"PO-Revision-Date: 2013-01-19 23:05+0000\n"
+"POT-Creation-Date: 2013-01-27 00:04+0100\n"
+"PO-Revision-Date: 2013-01-26 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,11 +19,6 @@ 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"
@@ -38,46 +33,46 @@ msgstr ""
msgid "Unable to rename file"
msgstr ""
-#: ajax/upload.php:20
+#: ajax/upload.php:17
msgid "No file was uploaded. Unknown error"
msgstr ""
-#: ajax/upload.php:30
+#: ajax/upload.php:24
msgid "There is no error, the file uploaded with success"
msgstr "Viss kÄrtÄ«bÄ, augÅ¡upielÄde veiksmÄ«ga"
-#: ajax/upload.php:31
+#: ajax/upload.php:25
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr ""
-#: ajax/upload.php:33
+#: ajax/upload.php:27
msgid ""
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
"the HTML form"
msgstr ""
-#: ajax/upload.php:35
+#: ajax/upload.php:29
msgid "The uploaded file was only partially uploaded"
msgstr ""
-#: ajax/upload.php:36
+#: ajax/upload.php:30
msgid "No file was uploaded"
msgstr "Neviens fails netika augÅ¡uplÄdÄ“ts"
-#: ajax/upload.php:37
+#: ajax/upload.php:31
msgid "Missing a temporary folder"
msgstr "Trūkst pagaidu mapes"
-#: ajax/upload.php:38
+#: ajax/upload.php:32
msgid "Failed to write to disk"
msgstr "Nav iespÄ“jams saglabÄt"
-#: ajax/upload.php:57
-msgid "Not enough space available"
+#: ajax/upload.php:48
+msgid "Not enough storage available"
msgstr ""
-#: ajax/upload.php:91
+#: ajax/upload.php:77
msgid "Invalid directory."
msgstr ""
@@ -85,11 +80,11 @@ msgstr ""
msgid "Files"
msgstr "Faili"
-#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
+#: js/fileactions.js:117 templates/index.php:81 templates/index.php:82
msgid "Unshare"
msgstr "PÄrtraukt lÄ«dzdalÄ«Å¡anu"
-#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
+#: js/fileactions.js:119 templates/index.php:87 templates/index.php:88
msgid "Delete"
msgstr "Izdzēst"
@@ -97,139 +92,151 @@ msgstr "Izdzēst"
msgid "Rename"
msgstr "PÄrdÄ“vÄ“t"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "{new_name} already exists"
msgstr ""
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "replace"
msgstr "aizvietot"
-#: js/filelist.js:205
+#: js/filelist.js:208
msgid "suggest name"
msgstr "Ieteiktais nosaukums"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "cancel"
msgstr "atcelt"
-#: js/filelist.js:254
+#: js/filelist.js:253
msgid "replaced {new_name}"
msgstr ""
-#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
+#: js/filelist.js:253 js/filelist.js:255 js/filelist.js:286 js/filelist.js:288
msgid "undo"
msgstr "vienu soli atpakaļ"
-#: js/filelist.js:256
+#: js/filelist.js:255
msgid "replaced {new_name} with {old_name}"
msgstr ""
-#: js/filelist.js:288
+#: js/filelist.js:286
msgid "unshared {files}"
msgstr ""
-#: js/filelist.js:290
+#: js/filelist.js:288
msgid "deleted {files}"
msgstr ""
-#: js/files.js:48
+#: js/files.js:52
msgid "'.' is an invalid file name."
msgstr ""
-#: js/files.js:53
+#: js/files.js:56
msgid "File name cannot be empty."
msgstr ""
-#: js/files.js:62
+#: js/files.js:64
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr ""
-#: js/files.js:204
+#: js/files.js:78
+msgid "Your storage is full, files can not be updated or synced anymore!"
+msgstr ""
+
+#: js/files.js:82
+msgid "Your storage is almost full ({usedSpacePercent}%)"
+msgstr ""
+
+#: js/files.js:219
msgid ""
"Your download is being prepared. This might take some time if the files are "
"big."
msgstr ""
-#: js/files.js:242
+#: js/files.js:256
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:242
+#: js/files.js:256
msgid "Upload Error"
msgstr "AugÅ¡uplÄdÄ“Å¡anas laikÄ radÄs kļūda"
-#: js/files.js:259
+#: js/files.js:273
msgid "Close"
msgstr ""
-#: js/files.js:278 js/files.js:397 js/files.js:431
+#: js/files.js:292 js/files.js:408 js/files.js:439
msgid "Pending"
msgstr "Gaida savu kÄrtu"
-#: js/files.js:298
+#: js/files.js:312
msgid "1 file uploading"
msgstr ""
-#: js/files.js:301 js/files.js:357 js/files.js:372
+#: js/files.js:315 js/files.js:370 js/files.js:385
msgid "{count} files uploading"
msgstr ""
-#: js/files.js:376 js/files.js:414
+#: js/files.js:388 js/files.js:423
msgid "Upload cancelled."
msgstr "AugÅ¡uplÄde ir atcelta"
-#: js/files.js:486
+#: js/files.js:493
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:559
+#: js/files.js:566
msgid "URL cannot be empty."
msgstr ""
-#: js/files.js:565
+#: js/files.js:571
msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
msgstr ""
-#: js/files.js:775
+#: js/files.js:784
msgid "{count} files scanned"
msgstr ""
-#: js/files.js:783
+#: js/files.js:792
msgid "error while scanning"
msgstr ""
-#: js/files.js:857 templates/index.php:64
+#: js/files.js:866 templates/index.php:63
msgid "Name"
msgstr "Nosaukums"
-#: js/files.js:858 templates/index.php:75
+#: js/files.js:867 templates/index.php:74
msgid "Size"
msgstr "Izmērs"
-#: js/files.js:859 templates/index.php:77
+#: js/files.js:868 templates/index.php:76
msgid "Modified"
msgstr "Izmainīts"
-#: js/files.js:878
+#: js/files.js:887
msgid "1 folder"
msgstr ""
-#: js/files.js:880
+#: js/files.js:889
msgid "{count} folders"
msgstr ""
-#: js/files.js:888
+#: js/files.js:897
msgid "1 file"
msgstr ""
-#: js/files.js:890
+#: js/files.js:899
msgid "{count} files"
msgstr ""
+#: lib/helper.php:11 templates/index.php:18
+msgid "Upload"
+msgstr "AugÅ¡uplÄdet"
+
#: templates/admin.php:5
msgid "File handling"
msgstr "Failu pÄrvaldÄ«ba"
@@ -282,28 +289,28 @@ msgstr ""
msgid "Cancel upload"
msgstr "Atcelt augÅ¡uplÄdi"
-#: templates/index.php:56
+#: templates/index.php:55
msgid "Nothing in here. Upload something!"
msgstr "Te vÄ“l nekas nav. RÄ«kojies, sÄc augÅ¡uplÄdÄ“t"
-#: templates/index.php:70
+#: templates/index.php:69
msgid "Download"
msgstr "LejuplÄdÄ“t"
-#: templates/index.php:102
+#: templates/index.php:101
msgid "Upload too large"
msgstr "Fails ir par lielu lai to augÅ¡uplÄdetu"
-#: templates/index.php:104
+#: templates/index.php:103
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:109
+#: templates/index.php:108
msgid "Files are being scanned, please wait."
msgstr "Faili Å¡obrÄ«d tiek caurskatÄ«ti, nedaudz jÄpagaida."
-#: templates/index.php:112
+#: templates/index.php:111
msgid "Current scanning"
msgstr "Å obrÄ«d tiek pÄrbaudÄ«ti"
diff --git a/l10n/lv/settings.po b/l10n/lv/settings.po
index 796d46f705e..bbb16fb2fa6 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: 2013-01-12 00:09+0100\n"
-"PO-Revision-Date: 2013-01-11 23:09+0000\n"
+"POT-Creation-Date: 2013-01-28 00:05+0100\n"
+"PO-Revision-Date: 2013-01-27 11:50+0000\n"
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
"Language-Team: Latvian (http://www.transifex.com/projects/p/owncloud/language/lv/)\n"
"MIME-Version: 1.0\n"
@@ -89,7 +89,7 @@ msgstr "Pievienot"
msgid "Saving..."
msgstr "SaglabÄ..."
-#: personal.php:42 personal.php:43
+#: personal.php:34 personal.php:35
msgid "__language_name__"
msgstr "__valodas_nosaukums__"
@@ -101,15 +101,15 @@ msgstr "Pievieno savu aplikÄciju"
msgid "More Apps"
msgstr "VairÄk aplikÄciju"
-#: templates/apps.php:27
+#: templates/apps.php:24
msgid "Select an App"
msgstr "IzvÄ“lies aplikÄciju"
-#: templates/apps.php:31
+#: templates/apps.php:28
msgid "See application page at apps.owncloud.com"
msgstr "Apskatie aplikÄciju lapu - 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>-licencēts no <span class=\"author\"></span>"
@@ -144,7 +144,7 @@ msgstr "JÅ«s lietojat <strong>%s</strong> no pieejamajiem <strong>%s</strong>"
#: templates/personal.php:12
msgid "Clients"
-msgstr ""
+msgstr "Klienti"
#: templates/personal.php:13
msgid "Download Desktop Clients"
@@ -158,7 +158,7 @@ msgstr ""
msgid "Download iOS Client"
msgstr ""
-#: templates/personal.php:21 templates/users.php:23 templates/users.php:82
+#: templates/personal.php:21 templates/users.php:23 templates/users.php:80
msgid "Password"
msgstr "Parole"
@@ -228,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:81
+#: templates/users.php:21 templates/users.php:79
msgid "Name"
msgstr "VÄrds"
-#: templates/users.php:26 templates/users.php:83 templates/users.php:103
+#: templates/users.php:26 templates/users.php:81 templates/users.php:101
msgid "Groups"
msgstr "Grupas"
@@ -244,26 +244,26 @@ msgstr "Izveidot"
msgid "Default Storage"
msgstr ""
-#: templates/users.php:42 templates/users.php:138
+#: templates/users.php:42 templates/users.php:136
msgid "Unlimited"
msgstr ""
-#: templates/users.php:60 templates/users.php:153
+#: templates/users.php:60 templates/users.php:151
msgid "Other"
msgstr "Cits"
-#: templates/users.php:85 templates/users.php:117
+#: templates/users.php:83 templates/users.php:115
msgid "Group Admin"
msgstr "Grupas administrators"
-#: templates/users.php:87
+#: templates/users.php:85
msgid "Storage"
msgstr ""
-#: templates/users.php:133
+#: templates/users.php:131
msgid "Default"
msgstr ""
-#: templates/users.php:161
+#: templates/users.php:159
msgid "Delete"
msgstr "Izdzēst"
diff --git a/l10n/mk/core.po b/l10n/mk/core.po
index 2442222918c..c61a11bf713 100644
--- a/l10n/mk/core.po
+++ b/l10n/mk/core.po
@@ -10,8 +10,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-01-15 00:03+0100\n"
-"PO-Revision-Date: 2013-01-14 23:03+0000\n"
+"POT-Creation-Date: 2013-01-29 00:04+0100\n"
+"PO-Revision-Date: 2013-01-28 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"
@@ -82,59 +82,135 @@ msgstr "Ðе е одбрана категорија за бришење."
msgid "Error removing %s from favorites."
msgstr "Грешка при бришење на %s од омилени."
-#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61
+#: js/config.php:32
+msgid "Sunday"
+msgstr "Ðедела"
+
+#: js/config.php:32
+msgid "Monday"
+msgstr "Понеделник"
+
+#: js/config.php:32
+msgid "Tuesday"
+msgstr "Вторник"
+
+#: js/config.php:32
+msgid "Wednesday"
+msgstr "Среда"
+
+#: js/config.php:32
+msgid "Thursday"
+msgstr "Четврток"
+
+#: js/config.php:32
+msgid "Friday"
+msgstr "Петок"
+
+#: js/config.php:32
+msgid "Saturday"
+msgstr "Сабота"
+
+#: js/config.php:33
+msgid "January"
+msgstr "Јануари"
+
+#: js/config.php:33
+msgid "February"
+msgstr "Февруари"
+
+#: js/config.php:33
+msgid "March"
+msgstr "Март"
+
+#: js/config.php:33
+msgid "April"
+msgstr "Ðприл"
+
+#: js/config.php:33
+msgid "May"
+msgstr "Мај"
+
+#: js/config.php:33
+msgid "June"
+msgstr "Јуни"
+
+#: js/config.php:33
+msgid "July"
+msgstr "Јули"
+
+#: js/config.php:33
+msgid "August"
+msgstr "ÐвгуÑÑ‚"
+
+#: js/config.php:33
+msgid "September"
+msgstr "Септември"
+
+#: js/config.php:33
+msgid "October"
+msgstr "Октомври"
+
+#: js/config.php:33
+msgid "November"
+msgstr "Ðоември"
+
+#: js/config.php:33
+msgid "December"
+msgstr "Декември"
+
+#: js/js.js:280 templates/layout.user.php:47 templates/layout.user.php:48
msgid "Settings"
msgstr "ПоÑтавки"
-#: js/js.js:711
+#: js/js.js:762
msgid "seconds ago"
msgstr "пред Ñекунди"
-#: js/js.js:712
+#: js/js.js:763
msgid "1 minute ago"
msgstr "пред 1 минута"
-#: js/js.js:713
+#: js/js.js:764
msgid "{minutes} minutes ago"
msgstr "пред {minutes} минути"
-#: js/js.js:714
+#: js/js.js:765
msgid "1 hour ago"
msgstr "пред 1 чаÑ"
-#: js/js.js:715
+#: js/js.js:766
msgid "{hours} hours ago"
msgstr "пред {hours} чаÑови"
-#: js/js.js:716
+#: js/js.js:767
msgid "today"
msgstr "денеÑка"
-#: js/js.js:717
+#: js/js.js:768
msgid "yesterday"
msgstr "вчера"
-#: js/js.js:718
+#: js/js.js:769
msgid "{days} days ago"
msgstr "пред {days} денови"
-#: js/js.js:719
+#: js/js.js:770
msgid "last month"
msgstr "минатиот меÑец"
-#: js/js.js:720
+#: js/js.js:771
msgid "{months} months ago"
msgstr "пред {months} меÑеци"
-#: js/js.js:721
+#: js/js.js:772
msgid "months ago"
msgstr "пред меÑеци"
-#: js/js.js:722
+#: js/js.js:773
msgid "last year"
msgstr "минатата година"
-#: js/js.js:723
+#: js/js.js:774
msgid "years ago"
msgstr "пред години"
@@ -293,6 +369,17 @@ msgstr "Праќање..."
msgid "Email sent"
msgstr "Е-порака пратена"
+#: js/update.js:14
+msgid ""
+"The update was unsuccessful. Please report this issue to the <a "
+"href=\"https://github.com/owncloud/core/issues\" target=\"_blank\">ownCloud "
+"community</a>."
+msgstr ""
+
+#: js/update.js:18
+msgid "The update was successful. Redirecting you to ownCloud now."
+msgstr ""
+
#: lostpassword/controller.php:47
msgid "ownCloud password reset"
msgstr "реÑетирање на лозинка за ownCloud"
@@ -444,87 +531,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:34
msgid "web services under your control"
msgstr "веб ÑервиÑи под Ваша контрола"
-#: templates/layout.user.php:45
+#: templates/layout.user.php:32
msgid "Log out"
msgstr "Одјава"
diff --git a/l10n/mk/files.po b/l10n/mk/files.po
index 4bd4be8d532..875893ff2ab 100644
--- a/l10n/mk/files.po
+++ b/l10n/mk/files.po
@@ -10,8 +10,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-01-20 00:05+0100\n"
-"PO-Revision-Date: 2013-01-19 23:05+0000\n"
+"POT-Creation-Date: 2013-01-27 00:04+0100\n"
+"PO-Revision-Date: 2013-01-26 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"
@@ -20,11 +20,6 @@ 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"
@@ -39,46 +34,46 @@ msgstr ""
msgid "Unable to rename file"
msgstr ""
-#: ajax/upload.php:20
+#: ajax/upload.php:17
msgid "No file was uploaded. Unknown error"
msgstr "Ðиту еден фајл не Ñе вчита. Ðепозната грешка"
-#: ajax/upload.php:30
+#: ajax/upload.php:24
msgid "There is no error, the file uploaded with success"
msgstr "Ðема грешка, датотеката беше подигната уÑпешно"
-#: ajax/upload.php:31
+#: ajax/upload.php:25
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr "Подигнатата датотека ја надминува upload_max_filesize директивата во php.ini:"
-#: ajax/upload.php:33
+#: ajax/upload.php:27
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:35
+#: ajax/upload.php:29
msgid "The uploaded file was only partially uploaded"
msgstr "Датотеката беше Ñамо делумно подигната."
-#: ajax/upload.php:36
+#: ajax/upload.php:30
msgid "No file was uploaded"
msgstr "Ðе беше подигната датотека"
-#: ajax/upload.php:37
+#: ajax/upload.php:31
msgid "Missing a temporary folder"
msgstr "Ðе поÑтои привремена папка"
-#: ajax/upload.php:38
+#: ajax/upload.php:32
msgid "Failed to write to disk"
msgstr "ÐеуÑпеав да запишам на диÑк"
-#: ajax/upload.php:57
-msgid "Not enough space available"
+#: ajax/upload.php:48
+msgid "Not enough storage available"
msgstr ""
-#: ajax/upload.php:91
+#: ajax/upload.php:77
msgid "Invalid directory."
msgstr ""
@@ -86,11 +81,11 @@ msgstr ""
msgid "Files"
msgstr "Датотеки"
-#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
+#: js/fileactions.js:117 templates/index.php:81 templates/index.php:82
msgid "Unshare"
msgstr "Ðе Ñподелувај"
-#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
+#: js/fileactions.js:119 templates/index.php:87 templates/index.php:88
msgid "Delete"
msgstr "Избриши"
@@ -98,139 +93,151 @@ msgstr "Избриши"
msgid "Rename"
msgstr "Преименувај"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "{new_name} already exists"
msgstr "{new_name} веќе поÑтои"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "replace"
msgstr "замени"
-#: js/filelist.js:205
+#: js/filelist.js:208
msgid "suggest name"
msgstr "предложи име"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "cancel"
msgstr "откажи"
-#: js/filelist.js:254
+#: js/filelist.js:253
msgid "replaced {new_name}"
msgstr "земенета {new_name}"
-#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
+#: js/filelist.js:253 js/filelist.js:255 js/filelist.js:286 js/filelist.js:288
msgid "undo"
msgstr "врати"
-#: js/filelist.js:256
+#: js/filelist.js:255
msgid "replaced {new_name} with {old_name}"
msgstr "заменета {new_name} Ñо {old_name}"
-#: js/filelist.js:288
+#: js/filelist.js:286
msgid "unshared {files}"
msgstr "без Ñподелување {files}"
-#: js/filelist.js:290
+#: js/filelist.js:288
msgid "deleted {files}"
msgstr "избришани {files}"
-#: js/files.js:48
+#: js/files.js:52
msgid "'.' is an invalid file name."
msgstr ""
-#: js/files.js:53
+#: js/files.js:56
msgid "File name cannot be empty."
msgstr ""
-#: js/files.js:62
+#: js/files.js:64
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr "Ðеправилно име. , '\\', '/', '<', '>', ':', '\"', '|', '?' и '*' не Ñе дозволени."
-#: js/files.js:204
+#: js/files.js:78
+msgid "Your storage is full, files can not be updated or synced anymore!"
+msgstr ""
+
+#: js/files.js:82
+msgid "Your storage is almost full ({usedSpacePercent}%)"
+msgstr ""
+
+#: js/files.js:219
msgid ""
"Your download is being prepared. This might take some time if the files are "
"big."
msgstr ""
-#: js/files.js:242
+#: js/files.js:256
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr "Ðе може да Ñе преземе вашата датотека бидејќи фолдерот во кој Ñе наоѓа фајлот има големина од 0 бајти"
-#: js/files.js:242
+#: js/files.js:256
msgid "Upload Error"
msgstr "Грешка при преземање"
-#: js/files.js:259
+#: js/files.js:273
msgid "Close"
msgstr "Затвои"
-#: js/files.js:278 js/files.js:397 js/files.js:431
+#: js/files.js:292 js/files.js:408 js/files.js:439
msgid "Pending"
msgstr "Чека"
-#: js/files.js:298
+#: js/files.js:312
msgid "1 file uploading"
msgstr "1 датотека Ñе подига"
-#: js/files.js:301 js/files.js:357 js/files.js:372
+#: js/files.js:315 js/files.js:370 js/files.js:385
msgid "{count} files uploading"
msgstr "{count} датотеки Ñе подигаат"
-#: js/files.js:376 js/files.js:414
+#: js/files.js:388 js/files.js:423
msgid "Upload cancelled."
msgstr "Преземањето е прекинато."
-#: js/files.js:486
+#: js/files.js:493
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr "Подигање на датотека е во тек. Ðапуштење на Ñтраницата ќе го прекине."
-#: js/files.js:559
+#: js/files.js:566
msgid "URL cannot be empty."
msgstr "ÐдреÑата неможе да биде празна."
-#: js/files.js:565
+#: js/files.js:571
msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
msgstr ""
-#: js/files.js:775
+#: js/files.js:784
msgid "{count} files scanned"
msgstr "{count} датотеки Ñкенирани"
-#: js/files.js:783
+#: js/files.js:792
msgid "error while scanning"
msgstr "грешка при Ñкенирање"
-#: js/files.js:857 templates/index.php:64
+#: js/files.js:866 templates/index.php:63
msgid "Name"
msgstr "Име"
-#: js/files.js:858 templates/index.php:75
+#: js/files.js:867 templates/index.php:74
msgid "Size"
msgstr "Големина"
-#: js/files.js:859 templates/index.php:77
+#: js/files.js:868 templates/index.php:76
msgid "Modified"
msgstr "Променето"
-#: js/files.js:878
+#: js/files.js:887
msgid "1 folder"
msgstr "1 папка"
-#: js/files.js:880
+#: js/files.js:889
msgid "{count} folders"
msgstr "{count} папки"
-#: js/files.js:888
+#: js/files.js:897
msgid "1 file"
msgstr "1 датотека"
-#: js/files.js:890
+#: js/files.js:899
msgid "{count} files"
msgstr "{count} датотеки"
+#: lib/helper.php:11 templates/index.php:18
+msgid "Upload"
+msgstr "Подигни"
+
#: templates/admin.php:5
msgid "File handling"
msgstr "Ракување Ñо датотеки"
@@ -283,28 +290,28 @@ msgstr "Од врÑка"
msgid "Cancel upload"
msgstr "Откажи прикачување"
-#: templates/index.php:56
+#: templates/index.php:55
msgid "Nothing in here. Upload something!"
msgstr "Тука нема ништо. Снимете нешто!"
-#: templates/index.php:70
+#: templates/index.php:69
msgid "Download"
msgstr "Преземи"
-#: templates/index.php:102
+#: templates/index.php:101
msgid "Upload too large"
msgstr "Датотеката е премногу голема"
-#: templates/index.php:104
+#: templates/index.php:103
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "Датотеките кои Ñе обидувате да ги подигнете ја надминуваат макÑималната големина за подигнување датотеки на овој Ñервер."
-#: templates/index.php:109
+#: templates/index.php:108
msgid "Files are being scanned, please wait."
msgstr "Се Ñкенираат датотеки, ве молам почекајте."
-#: templates/index.php:112
+#: templates/index.php:111
msgid "Current scanning"
msgstr "Моментално Ñкенирам"
diff --git a/l10n/ms_MY/core.po b/l10n/ms_MY/core.po
index d3e6303e112..fdf1f32abf9 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: 2013-01-15 00:03+0100\n"
-"PO-Revision-Date: 2013-01-14 23:03+0000\n"
+"POT-Creation-Date: 2013-01-29 00:04+0100\n"
+"PO-Revision-Date: 2013-01-28 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"
@@ -82,59 +82,135 @@ msgstr "tiada kategori dipilih untuk penghapusan"
msgid "Error removing %s from favorites."
msgstr ""
-#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61
+#: js/config.php:32
+msgid "Sunday"
+msgstr "Ahad"
+
+#: js/config.php:32
+msgid "Monday"
+msgstr "Isnin"
+
+#: js/config.php:32
+msgid "Tuesday"
+msgstr "Selasa"
+
+#: js/config.php:32
+msgid "Wednesday"
+msgstr "Rabu"
+
+#: js/config.php:32
+msgid "Thursday"
+msgstr "Khamis"
+
+#: js/config.php:32
+msgid "Friday"
+msgstr "Jumaat"
+
+#: js/config.php:32
+msgid "Saturday"
+msgstr "Sabtu"
+
+#: js/config.php:33
+msgid "January"
+msgstr "Januari"
+
+#: js/config.php:33
+msgid "February"
+msgstr "Februari"
+
+#: js/config.php:33
+msgid "March"
+msgstr "Mac"
+
+#: js/config.php:33
+msgid "April"
+msgstr "April"
+
+#: js/config.php:33
+msgid "May"
+msgstr "Mei"
+
+#: js/config.php:33
+msgid "June"
+msgstr "Jun"
+
+#: js/config.php:33
+msgid "July"
+msgstr "Julai"
+
+#: js/config.php:33
+msgid "August"
+msgstr "Ogos"
+
+#: js/config.php:33
+msgid "September"
+msgstr "September"
+
+#: js/config.php:33
+msgid "October"
+msgstr "Oktober"
+
+#: js/config.php:33
+msgid "November"
+msgstr "November"
+
+#: js/config.php:33
+msgid "December"
+msgstr "Disember"
+
+#: js/js.js:280 templates/layout.user.php:47 templates/layout.user.php:48
msgid "Settings"
msgstr "Tetapan"
-#: js/js.js:711
+#: js/js.js:762
msgid "seconds ago"
msgstr ""
-#: js/js.js:712
+#: js/js.js:763
msgid "1 minute ago"
msgstr ""
-#: js/js.js:713
+#: js/js.js:764
msgid "{minutes} minutes ago"
msgstr ""
-#: js/js.js:714
+#: js/js.js:765
msgid "1 hour ago"
msgstr ""
-#: js/js.js:715
+#: js/js.js:766
msgid "{hours} hours ago"
msgstr ""
-#: js/js.js:716
+#: js/js.js:767
msgid "today"
msgstr ""
-#: js/js.js:717
+#: js/js.js:768
msgid "yesterday"
msgstr ""
-#: js/js.js:718
+#: js/js.js:769
msgid "{days} days ago"
msgstr ""
-#: js/js.js:719
+#: js/js.js:770
msgid "last month"
msgstr ""
-#: js/js.js:720
+#: js/js.js:771
msgid "{months} months ago"
msgstr ""
-#: js/js.js:721
+#: js/js.js:772
msgid "months ago"
msgstr ""
-#: js/js.js:722
+#: js/js.js:773
msgid "last year"
msgstr ""
-#: js/js.js:723
+#: js/js.js:774
msgid "years ago"
msgstr ""
@@ -293,6 +369,17 @@ msgstr ""
msgid "Email sent"
msgstr ""
+#: js/update.js:14
+msgid ""
+"The update was unsuccessful. Please report this issue to the <a "
+"href=\"https://github.com/owncloud/core/issues\" target=\"_blank\">ownCloud "
+"community</a>."
+msgstr ""
+
+#: js/update.js:18
+msgid "The update was successful. Redirecting you to ownCloud now."
+msgstr ""
+
#: lostpassword/controller.php:47
msgid "ownCloud password reset"
msgstr "Set semula kata lalaun ownCloud"
@@ -444,87 +531,11 @@ msgstr "Hos pangkalan data"
msgid "Finish setup"
msgstr "Setup selesai"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Sunday"
-msgstr "Ahad"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Monday"
-msgstr "Isnin"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Tuesday"
-msgstr "Selasa"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Wednesday"
-msgstr "Rabu"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Thursday"
-msgstr "Khamis"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Friday"
-msgstr "Jumaat"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Saturday"
-msgstr "Sabtu"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "January"
-msgstr "Januari"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "February"
-msgstr "Februari"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "March"
-msgstr "Mac"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "April"
-msgstr "April"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "May"
-msgstr "Mei"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "June"
-msgstr "Jun"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "July"
-msgstr "Julai"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "August"
-msgstr "Ogos"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "September"
-msgstr "September"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "October"
-msgstr "Oktober"
-
-#: 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 "Disember"
-
-#: templates/layout.guest.php:42
+#: templates/layout.guest.php:34
msgid "web services under your control"
msgstr "Perkhidmatan web di bawah kawalan anda"
-#: templates/layout.user.php:45
+#: templates/layout.user.php:32
msgid "Log out"
msgstr "Log keluar"
diff --git a/l10n/ms_MY/files.po b/l10n/ms_MY/files.po
index aa3c0c9f0c5..642cde5a6e6 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: 2013-01-20 00:05+0100\n"
-"PO-Revision-Date: 2013-01-19 23:05+0000\n"
+"POT-Creation-Date: 2013-01-27 00:04+0100\n"
+"PO-Revision-Date: 2013-01-26 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,11 +21,6 @@ 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"
@@ -40,46 +35,46 @@ msgstr ""
msgid "Unable to rename file"
msgstr ""
-#: ajax/upload.php:20
+#: ajax/upload.php:17
msgid "No file was uploaded. Unknown error"
msgstr "Tiada fail dimuatnaik. Ralat tidak diketahui."
-#: ajax/upload.php:30
+#: ajax/upload.php:24
msgid "There is no error, the file uploaded with success"
msgstr "Tiada ralat, fail berjaya dimuat naik."
-#: ajax/upload.php:31
+#: ajax/upload.php:25
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr ""
-#: ajax/upload.php:33
+#: ajax/upload.php:27
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:35
+#: ajax/upload.php:29
msgid "The uploaded file was only partially uploaded"
msgstr "Sebahagian daripada fail telah dimuat naik. "
-#: ajax/upload.php:36
+#: ajax/upload.php:30
msgid "No file was uploaded"
msgstr "Tiada fail yang dimuat naik"
-#: ajax/upload.php:37
+#: ajax/upload.php:31
msgid "Missing a temporary folder"
msgstr "Folder sementara hilang"
-#: ajax/upload.php:38
+#: ajax/upload.php:32
msgid "Failed to write to disk"
msgstr "Gagal untuk disimpan"
-#: ajax/upload.php:57
-msgid "Not enough space available"
+#: ajax/upload.php:48
+msgid "Not enough storage available"
msgstr ""
-#: ajax/upload.php:91
+#: ajax/upload.php:77
msgid "Invalid directory."
msgstr ""
@@ -87,11 +82,11 @@ msgstr ""
msgid "Files"
msgstr "fail"
-#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
+#: js/fileactions.js:117 templates/index.php:81 templates/index.php:82
msgid "Unshare"
msgstr ""
-#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
+#: js/fileactions.js:119 templates/index.php:87 templates/index.php:88
msgid "Delete"
msgstr "Padam"
@@ -99,139 +94,151 @@ msgstr "Padam"
msgid "Rename"
msgstr ""
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "{new_name} already exists"
msgstr ""
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "replace"
msgstr "ganti"
-#: js/filelist.js:205
+#: js/filelist.js:208
msgid "suggest name"
msgstr ""
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "cancel"
msgstr "Batal"
-#: js/filelist.js:254
+#: js/filelist.js:253
msgid "replaced {new_name}"
msgstr ""
-#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
+#: js/filelist.js:253 js/filelist.js:255 js/filelist.js:286 js/filelist.js:288
msgid "undo"
msgstr ""
-#: js/filelist.js:256
+#: js/filelist.js:255
msgid "replaced {new_name} with {old_name}"
msgstr ""
-#: js/filelist.js:288
+#: js/filelist.js:286
msgid "unshared {files}"
msgstr ""
-#: js/filelist.js:290
+#: js/filelist.js:288
msgid "deleted {files}"
msgstr ""
-#: js/files.js:48
+#: js/files.js:52
msgid "'.' is an invalid file name."
msgstr ""
-#: js/files.js:53
+#: js/files.js:56
msgid "File name cannot be empty."
msgstr ""
-#: js/files.js:62
+#: js/files.js:64
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr ""
-#: js/files.js:204
+#: js/files.js:78
+msgid "Your storage is full, files can not be updated or synced anymore!"
+msgstr ""
+
+#: js/files.js:82
+msgid "Your storage is almost full ({usedSpacePercent}%)"
+msgstr ""
+
+#: js/files.js:219
msgid ""
"Your download is being prepared. This might take some time if the files are "
"big."
msgstr ""
-#: js/files.js:242
+#: js/files.js:256
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:242
+#: js/files.js:256
msgid "Upload Error"
msgstr "Muat naik ralat"
-#: js/files.js:259
+#: js/files.js:273
msgid "Close"
msgstr "Tutup"
-#: js/files.js:278 js/files.js:397 js/files.js:431
+#: js/files.js:292 js/files.js:408 js/files.js:439
msgid "Pending"
msgstr "Dalam proses"
-#: js/files.js:298
+#: js/files.js:312
msgid "1 file uploading"
msgstr ""
-#: js/files.js:301 js/files.js:357 js/files.js:372
+#: js/files.js:315 js/files.js:370 js/files.js:385
msgid "{count} files uploading"
msgstr ""
-#: js/files.js:376 js/files.js:414
+#: js/files.js:388 js/files.js:423
msgid "Upload cancelled."
msgstr "Muatnaik dibatalkan."
-#: js/files.js:486
+#: js/files.js:493
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr ""
-#: js/files.js:559
+#: js/files.js:566
msgid "URL cannot be empty."
msgstr ""
-#: js/files.js:565
+#: js/files.js:571
msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
msgstr ""
-#: js/files.js:775
+#: js/files.js:784
msgid "{count} files scanned"
msgstr ""
-#: js/files.js:783
+#: js/files.js:792
msgid "error while scanning"
msgstr ""
-#: js/files.js:857 templates/index.php:64
+#: js/files.js:866 templates/index.php:63
msgid "Name"
msgstr "Nama "
-#: js/files.js:858 templates/index.php:75
+#: js/files.js:867 templates/index.php:74
msgid "Size"
msgstr "Saiz"
-#: js/files.js:859 templates/index.php:77
+#: js/files.js:868 templates/index.php:76
msgid "Modified"
msgstr "Dimodifikasi"
-#: js/files.js:878
+#: js/files.js:887
msgid "1 folder"
msgstr ""
-#: js/files.js:880
+#: js/files.js:889
msgid "{count} folders"
msgstr ""
-#: js/files.js:888
+#: js/files.js:897
msgid "1 file"
msgstr ""
-#: js/files.js:890
+#: js/files.js:899
msgid "{count} files"
msgstr ""
+#: lib/helper.php:11 templates/index.php:18
+msgid "Upload"
+msgstr "Muat naik"
+
#: templates/admin.php:5
msgid "File handling"
msgstr "Pengendalian fail"
@@ -284,28 +291,28 @@ msgstr ""
msgid "Cancel upload"
msgstr "Batal muat naik"
-#: templates/index.php:56
+#: templates/index.php:55
msgid "Nothing in here. Upload something!"
msgstr "Tiada apa-apa di sini. Muat naik sesuatu!"
-#: templates/index.php:70
+#: templates/index.php:69
msgid "Download"
msgstr "Muat turun"
-#: templates/index.php:102
+#: templates/index.php:101
msgid "Upload too large"
msgstr "Muat naik terlalu besar"
-#: templates/index.php:104
+#: templates/index.php:103
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:109
+#: templates/index.php:108
msgid "Files are being scanned, please wait."
msgstr "Fail sedang diimbas, harap bersabar."
-#: templates/index.php:112
+#: templates/index.php:111
msgid "Current scanning"
msgstr "Imbasan semasa"
diff --git a/l10n/nb_NO/core.po b/l10n/nb_NO/core.po
index 6a652e8cea5..ed2239b9206 100644
--- a/l10n/nb_NO/core.po
+++ b/l10n/nb_NO/core.po
@@ -14,8 +14,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-01-15 00:03+0100\n"
-"PO-Revision-Date: 2013-01-14 23:03+0000\n"
+"POT-Creation-Date: 2013-01-29 00:04+0100\n"
+"PO-Revision-Date: 2013-01-28 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"
@@ -86,59 +86,135 @@ msgstr "Ingen kategorier merket for sletting."
msgid "Error removing %s from favorites."
msgstr ""
-#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61
+#: js/config.php:32
+msgid "Sunday"
+msgstr "Søndag"
+
+#: js/config.php:32
+msgid "Monday"
+msgstr "Mandag"
+
+#: js/config.php:32
+msgid "Tuesday"
+msgstr "Tirsdag"
+
+#: js/config.php:32
+msgid "Wednesday"
+msgstr "Onsdag"
+
+#: js/config.php:32
+msgid "Thursday"
+msgstr "Torsdag"
+
+#: js/config.php:32
+msgid "Friday"
+msgstr "Fredag"
+
+#: js/config.php:32
+msgid "Saturday"
+msgstr "Lørdag"
+
+#: js/config.php:33
+msgid "January"
+msgstr "Januar"
+
+#: js/config.php:33
+msgid "February"
+msgstr "Februar"
+
+#: js/config.php:33
+msgid "March"
+msgstr "Mars"
+
+#: js/config.php:33
+msgid "April"
+msgstr "April"
+
+#: js/config.php:33
+msgid "May"
+msgstr "Mai"
+
+#: js/config.php:33
+msgid "June"
+msgstr "Juni"
+
+#: js/config.php:33
+msgid "July"
+msgstr "Juli"
+
+#: js/config.php:33
+msgid "August"
+msgstr "August"
+
+#: js/config.php:33
+msgid "September"
+msgstr "September"
+
+#: js/config.php:33
+msgid "October"
+msgstr "Oktober"
+
+#: js/config.php:33
+msgid "November"
+msgstr "November"
+
+#: js/config.php:33
+msgid "December"
+msgstr "Desember"
+
+#: js/js.js:280 templates/layout.user.php:47 templates/layout.user.php:48
msgid "Settings"
msgstr "Innstillinger"
-#: js/js.js:711
+#: js/js.js:762
msgid "seconds ago"
msgstr "sekunder siden"
-#: js/js.js:712
+#: js/js.js:763
msgid "1 minute ago"
msgstr "1 minutt siden"
-#: js/js.js:713
+#: js/js.js:764
msgid "{minutes} minutes ago"
msgstr "{minutes} minutter siden"
-#: js/js.js:714
+#: js/js.js:765
msgid "1 hour ago"
msgstr "1 time siden"
-#: js/js.js:715
+#: js/js.js:766
msgid "{hours} hours ago"
msgstr "{hours} timer siden"
-#: js/js.js:716
+#: js/js.js:767
msgid "today"
msgstr "i dag"
-#: js/js.js:717
+#: js/js.js:768
msgid "yesterday"
msgstr "i går"
-#: js/js.js:718
+#: js/js.js:769
msgid "{days} days ago"
msgstr "{days} dager siden"
-#: js/js.js:719
+#: js/js.js:770
msgid "last month"
msgstr "forrige måned"
-#: js/js.js:720
+#: js/js.js:771
msgid "{months} months ago"
msgstr "{months} måneder siden"
-#: js/js.js:721
+#: js/js.js:772
msgid "months ago"
msgstr "måneder siden"
-#: js/js.js:722
+#: js/js.js:773
msgid "last year"
msgstr "forrige år"
-#: js/js.js:723
+#: js/js.js:774
msgid "years ago"
msgstr "Ã¥r siden"
@@ -297,6 +373,17 @@ msgstr "Sender..."
msgid "Email sent"
msgstr "E-post sendt"
+#: js/update.js:14
+msgid ""
+"The update was unsuccessful. Please report this issue to the <a "
+"href=\"https://github.com/owncloud/core/issues\" target=\"_blank\">ownCloud "
+"community</a>."
+msgstr ""
+
+#: js/update.js:18
+msgid "The update was successful. Redirecting you to ownCloud now."
+msgstr ""
+
#: lostpassword/controller.php:47
msgid "ownCloud password reset"
msgstr "Tilbakestill ownCloud passord"
@@ -448,87 +535,11 @@ msgstr "Databasevert"
msgid "Finish setup"
msgstr "Fullfør oppsetting"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Sunday"
-msgstr "Søndag"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Monday"
-msgstr "Mandag"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Tuesday"
-msgstr "Tirsdag"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Wednesday"
-msgstr "Onsdag"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Thursday"
-msgstr "Torsdag"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Friday"
-msgstr "Fredag"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Saturday"
-msgstr "Lørdag"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "January"
-msgstr "Januar"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "February"
-msgstr "Februar"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "March"
-msgstr "Mars"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "April"
-msgstr "April"
-
-#: 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 "Juni"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "July"
-msgstr "Juli"
-
-#: 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 "September"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "October"
-msgstr "Oktober"
-
-#: 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 "Desember"
-
-#: templates/layout.guest.php:42
+#: templates/layout.guest.php:34
msgid "web services under your control"
msgstr "nettjenester under din kontroll"
-#: templates/layout.user.php:45
+#: templates/layout.user.php:32
msgid "Log out"
msgstr "Logg ut"
diff --git a/l10n/nb_NO/files.po b/l10n/nb_NO/files.po
index 4ca3bc26a60..035398726fd 100644
--- a/l10n/nb_NO/files.po
+++ b/l10n/nb_NO/files.po
@@ -16,8 +16,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-01-20 00:05+0100\n"
-"PO-Revision-Date: 2013-01-19 23:05+0000\n"
+"POT-Creation-Date: 2013-01-27 00:04+0100\n"
+"PO-Revision-Date: 2013-01-26 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"
@@ -26,11 +26,6 @@ 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"
@@ -45,46 +40,46 @@ msgstr ""
msgid "Unable to rename file"
msgstr ""
-#: ajax/upload.php:20
+#: ajax/upload.php:17
msgid "No file was uploaded. Unknown error"
msgstr "Ingen filer ble lastet opp. Ukjent feil."
-#: ajax/upload.php:30
+#: ajax/upload.php:24
msgid "There is no error, the file uploaded with success"
msgstr "Det er ingen feil. Filen ble lastet opp."
-#: ajax/upload.php:31
+#: ajax/upload.php:25
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr ""
-#: ajax/upload.php:33
+#: ajax/upload.php:27
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:35
+#: ajax/upload.php:29
msgid "The uploaded file was only partially uploaded"
msgstr "Filopplastningen ble bare delvis gjennomført"
-#: ajax/upload.php:36
+#: ajax/upload.php:30
msgid "No file was uploaded"
msgstr "Ingen fil ble lastet opp"
-#: ajax/upload.php:37
+#: ajax/upload.php:31
msgid "Missing a temporary folder"
msgstr "Mangler en midlertidig mappe"
-#: ajax/upload.php:38
+#: ajax/upload.php:32
msgid "Failed to write to disk"
msgstr "Klarte ikke å skrive til disk"
-#: ajax/upload.php:57
-msgid "Not enough space available"
+#: ajax/upload.php:48
+msgid "Not enough storage available"
msgstr ""
-#: ajax/upload.php:91
+#: ajax/upload.php:77
msgid "Invalid directory."
msgstr ""
@@ -92,11 +87,11 @@ msgstr ""
msgid "Files"
msgstr "Filer"
-#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
+#: js/fileactions.js:117 templates/index.php:81 templates/index.php:82
msgid "Unshare"
msgstr "Avslutt deling"
-#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
+#: js/fileactions.js:119 templates/index.php:87 templates/index.php:88
msgid "Delete"
msgstr "Slett"
@@ -104,139 +99,151 @@ msgstr "Slett"
msgid "Rename"
msgstr "Omdøp"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "{new_name} already exists"
msgstr "{new_name} finnes allerede"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "replace"
msgstr "erstatt"
-#: js/filelist.js:205
+#: js/filelist.js:208
msgid "suggest name"
msgstr "foreslå navn"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "cancel"
msgstr "avbryt"
-#: js/filelist.js:254
+#: js/filelist.js:253
msgid "replaced {new_name}"
msgstr "erstatt {new_name}"
-#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
+#: js/filelist.js:253 js/filelist.js:255 js/filelist.js:286 js/filelist.js:288
msgid "undo"
msgstr "angre"
-#: js/filelist.js:256
+#: js/filelist.js:255
msgid "replaced {new_name} with {old_name}"
msgstr "erstatt {new_name} med {old_name}"
-#: js/filelist.js:288
+#: js/filelist.js:286
msgid "unshared {files}"
msgstr ""
-#: js/filelist.js:290
+#: js/filelist.js:288
msgid "deleted {files}"
msgstr "slettet {files}"
-#: js/files.js:48
+#: js/files.js:52
msgid "'.' is an invalid file name."
msgstr ""
-#: js/files.js:53
+#: js/files.js:56
msgid "File name cannot be empty."
msgstr ""
-#: js/files.js:62
+#: js/files.js:64
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr "Ugyldig navn, '\\', '/', '<', '>', ':', '\"', '|', '?' og '*' er ikke tillatt."
-#: js/files.js:204
+#: js/files.js:78
+msgid "Your storage is full, files can not be updated or synced anymore!"
+msgstr ""
+
+#: js/files.js:82
+msgid "Your storage is almost full ({usedSpacePercent}%)"
+msgstr ""
+
+#: js/files.js:219
msgid ""
"Your download is being prepared. This might take some time if the files are "
"big."
msgstr ""
-#: js/files.js:242
+#: js/files.js:256
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:242
+#: js/files.js:256
msgid "Upload Error"
msgstr "Opplasting feilet"
-#: js/files.js:259
+#: js/files.js:273
msgid "Close"
msgstr "Lukk"
-#: js/files.js:278 js/files.js:397 js/files.js:431
+#: js/files.js:292 js/files.js:408 js/files.js:439
msgid "Pending"
msgstr "Ventende"
-#: js/files.js:298
+#: js/files.js:312
msgid "1 file uploading"
msgstr "1 fil lastes opp"
-#: js/files.js:301 js/files.js:357 js/files.js:372
+#: js/files.js:315 js/files.js:370 js/files.js:385
msgid "{count} files uploading"
msgstr "{count} filer laster opp"
-#: js/files.js:376 js/files.js:414
+#: js/files.js:388 js/files.js:423
msgid "Upload cancelled."
msgstr "Opplasting avbrutt."
-#: js/files.js:486
+#: js/files.js:493
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:559
+#: js/files.js:566
msgid "URL cannot be empty."
msgstr "URL-en kan ikke være tom."
-#: js/files.js:565
+#: js/files.js:571
msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
msgstr ""
-#: js/files.js:775
+#: js/files.js:784
msgid "{count} files scanned"
msgstr "{count} filer lest inn"
-#: js/files.js:783
+#: js/files.js:792
msgid "error while scanning"
msgstr "feil under skanning"
-#: js/files.js:857 templates/index.php:64
+#: js/files.js:866 templates/index.php:63
msgid "Name"
msgstr "Navn"
-#: js/files.js:858 templates/index.php:75
+#: js/files.js:867 templates/index.php:74
msgid "Size"
msgstr "Størrelse"
-#: js/files.js:859 templates/index.php:77
+#: js/files.js:868 templates/index.php:76
msgid "Modified"
msgstr "Endret"
-#: js/files.js:878
+#: js/files.js:887
msgid "1 folder"
msgstr "1 mappe"
-#: js/files.js:880
+#: js/files.js:889
msgid "{count} folders"
msgstr "{count} mapper"
-#: js/files.js:888
+#: js/files.js:897
msgid "1 file"
msgstr "1 fil"
-#: js/files.js:890
+#: js/files.js:899
msgid "{count} files"
msgstr "{count} filer"
+#: lib/helper.php:11 templates/index.php:18
+msgid "Upload"
+msgstr "Last opp"
+
#: templates/admin.php:5
msgid "File handling"
msgstr "Filhåndtering"
@@ -289,28 +296,28 @@ msgstr "Fra link"
msgid "Cancel upload"
msgstr "Avbryt opplasting"
-#: templates/index.php:56
+#: templates/index.php:55
msgid "Nothing in here. Upload something!"
msgstr "Ingenting her. Last opp noe!"
-#: templates/index.php:70
+#: templates/index.php:69
msgid "Download"
msgstr "Last ned"
-#: templates/index.php:102
+#: templates/index.php:101
msgid "Upload too large"
msgstr "Opplasting for stor"
-#: templates/index.php:104
+#: templates/index.php:103
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:109
+#: templates/index.php:108
msgid "Files are being scanned, please wait."
msgstr "Skanner etter filer, vennligst vent."
-#: templates/index.php:112
+#: templates/index.php:111
msgid "Current scanning"
msgstr "Pågående skanning"
diff --git a/l10n/nl/core.po b/l10n/nl/core.po
index bc83b48cd57..a232fc131bf 100644
--- a/l10n/nl/core.po
+++ b/l10n/nl/core.po
@@ -21,8 +21,8 @@ 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"
+"POT-Creation-Date: 2013-01-29 00:04+0100\n"
+"PO-Revision-Date: 2013-01-28 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"
@@ -93,59 +93,135 @@ msgstr "Geen categorie geselecteerd voor verwijdering."
msgid "Error removing %s from favorites."
msgstr "Verwijderen %s van favorieten is mislukt."
-#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61
+#: js/config.php:32
+msgid "Sunday"
+msgstr "Zondag"
+
+#: js/config.php:32
+msgid "Monday"
+msgstr "Maandag"
+
+#: js/config.php:32
+msgid "Tuesday"
+msgstr "Dinsdag"
+
+#: js/config.php:32
+msgid "Wednesday"
+msgstr "Woensdag"
+
+#: js/config.php:32
+msgid "Thursday"
+msgstr "Donderdag"
+
+#: js/config.php:32
+msgid "Friday"
+msgstr "Vrijdag"
+
+#: js/config.php:32
+msgid "Saturday"
+msgstr "Zaterdag"
+
+#: js/config.php:33
+msgid "January"
+msgstr "januari"
+
+#: js/config.php:33
+msgid "February"
+msgstr "februari"
+
+#: js/config.php:33
+msgid "March"
+msgstr "maart"
+
+#: js/config.php:33
+msgid "April"
+msgstr "april"
+
+#: js/config.php:33
+msgid "May"
+msgstr "mei"
+
+#: js/config.php:33
+msgid "June"
+msgstr "juni"
+
+#: js/config.php:33
+msgid "July"
+msgstr "juli"
+
+#: js/config.php:33
+msgid "August"
+msgstr "augustus"
+
+#: js/config.php:33
+msgid "September"
+msgstr "september"
+
+#: js/config.php:33
+msgid "October"
+msgstr "oktober"
+
+#: js/config.php:33
+msgid "November"
+msgstr "november"
+
+#: js/config.php:33
+msgid "December"
+msgstr "december"
+
+#: js/js.js:280 templates/layout.user.php:47 templates/layout.user.php:48
msgid "Settings"
msgstr "Instellingen"
-#: js/js.js:711
+#: js/js.js:762
msgid "seconds ago"
msgstr "seconden geleden"
-#: js/js.js:712
+#: js/js.js:763
msgid "1 minute ago"
msgstr "1 minuut geleden"
-#: js/js.js:713
+#: js/js.js:764
msgid "{minutes} minutes ago"
msgstr "{minutes} minuten geleden"
-#: js/js.js:714
+#: js/js.js:765
msgid "1 hour ago"
msgstr "1 uur geleden"
-#: js/js.js:715
+#: js/js.js:766
msgid "{hours} hours ago"
msgstr "{hours} uren geleden"
-#: js/js.js:716
+#: js/js.js:767
msgid "today"
msgstr "vandaag"
-#: js/js.js:717
+#: js/js.js:768
msgid "yesterday"
msgstr "gisteren"
-#: js/js.js:718
+#: js/js.js:769
msgid "{days} days ago"
msgstr "{days} dagen geleden"
-#: js/js.js:719
+#: js/js.js:770
msgid "last month"
msgstr "vorige maand"
-#: js/js.js:720
+#: js/js.js:771
msgid "{months} months ago"
msgstr "{months} maanden geleden"
-#: js/js.js:721
+#: js/js.js:772
msgid "months ago"
msgstr "maanden geleden"
-#: js/js.js:722
+#: js/js.js:773
msgid "last year"
msgstr "vorig jaar"
-#: js/js.js:723
+#: js/js.js:774
msgid "years ago"
msgstr "jaar geleden"
@@ -304,6 +380,17 @@ msgstr "Versturen ..."
msgid "Email sent"
msgstr "E-mail verzonden"
+#: js/update.js:14
+msgid ""
+"The update was unsuccessful. Please report this issue to the <a "
+"href=\"https://github.com/owncloud/core/issues\" target=\"_blank\">ownCloud "
+"community</a>."
+msgstr ""
+
+#: js/update.js:18
+msgid "The update was successful. Redirecting you to ownCloud now."
+msgstr ""
+
#: lostpassword/controller.php:47
msgid "ownCloud password reset"
msgstr "ownCloud wachtwoord herstellen"
@@ -455,87 +542,11 @@ msgstr "Database server"
msgid "Finish setup"
msgstr "Installatie afronden"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Sunday"
-msgstr "Zondag"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Monday"
-msgstr "Maandag"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Tuesday"
-msgstr "Dinsdag"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Wednesday"
-msgstr "Woensdag"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Thursday"
-msgstr "Donderdag"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Friday"
-msgstr "Vrijdag"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Saturday"
-msgstr "Zaterdag"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "January"
-msgstr "januari"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "February"
-msgstr "februari"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "March"
-msgstr "maart"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "April"
-msgstr "april"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "May"
-msgstr "mei"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "June"
-msgstr "juni"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "July"
-msgstr "juli"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "August"
-msgstr "augustus"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "September"
-msgstr "september"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "October"
-msgstr "oktober"
-
-#: 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:34
msgid "web services under your control"
msgstr "Webdiensten in eigen beheer"
-#: templates/layout.user.php:45
+#: templates/layout.user.php:32
msgid "Log out"
msgstr "Afmelden"
diff --git a/l10n/nl/files.po b/l10n/nl/files.po
index 5482d64d4e4..0fcff7925a6 100644
--- a/l10n/nl/files.po
+++ b/l10n/nl/files.po
@@ -19,9 +19,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.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"
+"POT-Creation-Date: 2013-01-27 00:04+0100\n"
+"PO-Revision-Date: 2013-01-26 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"
@@ -29,11 +29,6 @@ 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"
@@ -48,46 +43,46 @@ msgstr "Kon %s niet verplaatsen"
msgid "Unable to rename file"
msgstr "Kan bestand niet hernoemen"
-#: ajax/upload.php:20
+#: ajax/upload.php:17
msgid "No file was uploaded. Unknown error"
msgstr "Er was geen bestand geladen. Onbekende fout"
-#: ajax/upload.php:30
+#: ajax/upload.php:24
msgid "There is no error, the file uploaded with success"
msgstr "Geen fout opgetreden, bestand successvol geupload."
-#: ajax/upload.php:31
+#: ajax/upload.php:25
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:33
+#: ajax/upload.php:27
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:35
+#: ajax/upload.php:29
msgid "The uploaded file was only partially uploaded"
msgstr "Het bestand is slechts gedeeltelijk geupload"
-#: ajax/upload.php:36
+#: ajax/upload.php:30
msgid "No file was uploaded"
msgstr "Geen bestand geüpload"
-#: ajax/upload.php:37
+#: ajax/upload.php:31
msgid "Missing a temporary folder"
msgstr "Een tijdelijke map mist"
-#: ajax/upload.php:38
+#: ajax/upload.php:32
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:48
+msgid "Not enough storage available"
+msgstr ""
-#: ajax/upload.php:91
+#: ajax/upload.php:77
msgid "Invalid directory."
msgstr "Ongeldige directory."
@@ -95,11 +90,11 @@ msgstr "Ongeldige directory."
msgid "Files"
msgstr "Bestanden"
-#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
+#: js/fileactions.js:117 templates/index.php:81 templates/index.php:82
msgid "Unshare"
msgstr "Stop delen"
-#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
+#: js/fileactions.js:119 templates/index.php:87 templates/index.php:88
msgid "Delete"
msgstr "Verwijder"
@@ -107,139 +102,151 @@ msgstr "Verwijder"
msgid "Rename"
msgstr "Hernoem"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "{new_name} already exists"
msgstr "{new_name} bestaat al"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "replace"
msgstr "vervang"
-#: js/filelist.js:205
+#: js/filelist.js:208
msgid "suggest name"
msgstr "Stel een naam voor"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "cancel"
msgstr "annuleren"
-#: js/filelist.js:254
+#: js/filelist.js:253
msgid "replaced {new_name}"
msgstr "verving {new_name}"
-#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
+#: js/filelist.js:253 js/filelist.js:255 js/filelist.js:286 js/filelist.js:288
msgid "undo"
msgstr "ongedaan maken"
-#: js/filelist.js:256
+#: js/filelist.js:255
msgid "replaced {new_name} with {old_name}"
msgstr "verving {new_name} met {old_name}"
-#: js/filelist.js:288
+#: js/filelist.js:286
msgid "unshared {files}"
msgstr "delen gestopt {files}"
-#: js/filelist.js:290
+#: js/filelist.js:288
msgid "deleted {files}"
msgstr "verwijderde {files}"
-#: js/files.js:48
+#: js/files.js:52
msgid "'.' is an invalid file name."
msgstr "'.' is een ongeldige bestandsnaam."
-#: js/files.js:53
+#: js/files.js:56
msgid "File name cannot be empty."
msgstr "Bestandsnaam kan niet leeg zijn."
-#: js/files.js:62
+#: js/files.js:64
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr "Onjuiste naam; '\\', '/', '<', '>', ':', '\"', '|', '?' en '*' zijn niet toegestaan."
-#: js/files.js:204
+#: js/files.js:78
+msgid "Your storage is full, files can not be updated or synced anymore!"
+msgstr ""
+
+#: js/files.js:82
+msgid "Your storage is almost full ({usedSpacePercent}%)"
+msgstr ""
+
+#: js/files.js:219
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:242
+#: js/files.js:256
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:242
+#: js/files.js:256
msgid "Upload Error"
msgstr "Upload Fout"
-#: js/files.js:259
+#: js/files.js:273
msgid "Close"
msgstr "Sluit"
-#: js/files.js:278 js/files.js:397 js/files.js:431
+#: js/files.js:292 js/files.js:408 js/files.js:439
msgid "Pending"
msgstr "Wachten"
-#: js/files.js:298
+#: js/files.js:312
msgid "1 file uploading"
msgstr "1 bestand wordt ge-upload"
-#: js/files.js:301 js/files.js:357 js/files.js:372
+#: js/files.js:315 js/files.js:370 js/files.js:385
msgid "{count} files uploading"
msgstr "{count} bestanden aan het uploaden"
-#: js/files.js:376 js/files.js:414
+#: js/files.js:388 js/files.js:423
msgid "Upload cancelled."
msgstr "Uploaden geannuleerd."
-#: js/files.js:486
+#: js/files.js:493
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:559
+#: js/files.js:566
msgid "URL cannot be empty."
msgstr "URL kan niet leeg zijn."
-#: js/files.js:565
+#: js/files.js:571
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
+#: js/files.js:784
msgid "{count} files scanned"
msgstr "{count} bestanden gescanned"
-#: js/files.js:783
+#: js/files.js:792
msgid "error while scanning"
msgstr "Fout tijdens het scannen"
-#: js/files.js:857 templates/index.php:64
+#: js/files.js:866 templates/index.php:63
msgid "Name"
msgstr "Naam"
-#: js/files.js:858 templates/index.php:75
+#: js/files.js:867 templates/index.php:74
msgid "Size"
msgstr "Bestandsgrootte"
-#: js/files.js:859 templates/index.php:77
+#: js/files.js:868 templates/index.php:76
msgid "Modified"
msgstr "Laatst aangepast"
-#: js/files.js:878
+#: js/files.js:887
msgid "1 folder"
msgstr "1 map"
-#: js/files.js:880
+#: js/files.js:889
msgid "{count} folders"
msgstr "{count} mappen"
-#: js/files.js:888
+#: js/files.js:897
msgid "1 file"
msgstr "1 bestand"
-#: js/files.js:890
+#: js/files.js:899
msgid "{count} files"
msgstr "{count} bestanden"
+#: lib/helper.php:11 templates/index.php:18
+msgid "Upload"
+msgstr "Upload"
+
#: templates/admin.php:5
msgid "File handling"
msgstr "Bestand"
@@ -292,28 +299,28 @@ msgstr "Vanaf link"
msgid "Cancel upload"
msgstr "Upload afbreken"
-#: templates/index.php:56
+#: templates/index.php:55
msgid "Nothing in here. Upload something!"
msgstr "Er bevindt zich hier niets. Upload een bestand!"
-#: templates/index.php:70
+#: templates/index.php:69
msgid "Download"
msgstr "Download"
-#: templates/index.php:102
+#: templates/index.php:101
msgid "Upload too large"
msgstr "Bestanden te groot"
-#: templates/index.php:104
+#: templates/index.php:103
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:109
+#: templates/index.php:108
msgid "Files are being scanned, please wait."
msgstr "Bestanden worden gescand, even wachten."
-#: templates/index.php:112
+#: templates/index.php:111
msgid "Current scanning"
msgstr "Er wordt gescand"
diff --git a/l10n/nn_NO/core.po b/l10n/nn_NO/core.po
index 2bec4e1cdc3..80e254ec6cc 100644
--- a/l10n/nn_NO/core.po
+++ b/l10n/nn_NO/core.po
@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-01-15 00:03+0100\n"
-"PO-Revision-Date: 2013-01-14 23:03+0000\n"
+"POT-Creation-Date: 2013-01-29 00:04+0100\n"
+"PO-Revision-Date: 2013-01-28 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"
@@ -81,59 +81,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:32
+msgid "Sunday"
+msgstr "Søndag"
+
+#: js/config.php:32
+msgid "Monday"
+msgstr "MÃ¥ndag"
+
+#: js/config.php:32
+msgid "Tuesday"
+msgstr "Tysdag"
+
+#: js/config.php:32
+msgid "Wednesday"
+msgstr "Onsdag"
+
+#: js/config.php:32
+msgid "Thursday"
+msgstr "Torsdag"
+
+#: js/config.php:32
+msgid "Friday"
+msgstr "Fredag"
+
+#: js/config.php:32
+msgid "Saturday"
+msgstr "Laurdag"
+
+#: js/config.php:33
+msgid "January"
+msgstr "Januar"
+
+#: js/config.php:33
+msgid "February"
+msgstr "Februar"
+
+#: js/config.php:33
+msgid "March"
+msgstr "Mars"
+
+#: js/config.php:33
+msgid "April"
+msgstr "April"
+
+#: js/config.php:33
+msgid "May"
+msgstr "Mai"
+
+#: js/config.php:33
+msgid "June"
+msgstr "Juni"
+
+#: js/config.php:33
+msgid "July"
+msgstr "Juli"
+
+#: js/config.php:33
+msgid "August"
+msgstr "August"
+
+#: js/config.php:33
+msgid "September"
+msgstr "September"
+
+#: js/config.php:33
+msgid "October"
+msgstr "Oktober"
+
+#: js/config.php:33
+msgid "November"
+msgstr "November"
+
+#: js/config.php:33
+msgid "December"
+msgstr "Desember"
+
+#: js/js.js:280 templates/layout.user.php:47 templates/layout.user.php:48
msgid "Settings"
msgstr "Innstillingar"
-#: js/js.js:711
+#: js/js.js:762
msgid "seconds ago"
msgstr ""
-#: js/js.js:712
+#: js/js.js:763
msgid "1 minute ago"
msgstr ""
-#: js/js.js:713
+#: js/js.js:764
msgid "{minutes} minutes ago"
msgstr ""
-#: js/js.js:714
+#: js/js.js:765
msgid "1 hour ago"
msgstr ""
-#: js/js.js:715
+#: js/js.js:766
msgid "{hours} hours ago"
msgstr ""
-#: js/js.js:716
+#: js/js.js:767
msgid "today"
msgstr ""
-#: js/js.js:717
+#: js/js.js:768
msgid "yesterday"
msgstr ""
-#: js/js.js:718
+#: js/js.js:769
msgid "{days} days ago"
msgstr ""
-#: js/js.js:719
+#: js/js.js:770
msgid "last month"
msgstr ""
-#: js/js.js:720
+#: js/js.js:771
msgid "{months} months ago"
msgstr ""
-#: js/js.js:721
+#: js/js.js:772
msgid "months ago"
msgstr ""
-#: js/js.js:722
+#: js/js.js:773
msgid "last year"
msgstr ""
-#: js/js.js:723
+#: js/js.js:774
msgid "years ago"
msgstr ""
@@ -292,6 +368,17 @@ msgstr ""
msgid "Email sent"
msgstr ""
+#: js/update.js:14
+msgid ""
+"The update was unsuccessful. Please report this issue to the <a "
+"href=\"https://github.com/owncloud/core/issues\" target=\"_blank\">ownCloud "
+"community</a>."
+msgstr ""
+
+#: js/update.js:18
+msgid "The update was successful. Redirecting you to ownCloud now."
+msgstr ""
+
#: lostpassword/controller.php:47
msgid "ownCloud password reset"
msgstr ""
@@ -443,87 +530,11 @@ msgstr "Databasetenar"
msgid "Finish setup"
msgstr "Fullfør oppsettet"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Sunday"
-msgstr "Søndag"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Monday"
-msgstr "MÃ¥ndag"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Tuesday"
-msgstr "Tysdag"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Wednesday"
-msgstr "Onsdag"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Thursday"
-msgstr "Torsdag"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Friday"
-msgstr "Fredag"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Saturday"
-msgstr "Laurdag"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "January"
-msgstr "Januar"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "February"
-msgstr "Februar"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "March"
-msgstr "Mars"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "April"
-msgstr "April"
-
-#: 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 "Juni"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "July"
-msgstr "Juli"
-
-#: 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 "September"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "October"
-msgstr "Oktober"
-
-#: 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 "Desember"
-
-#: templates/layout.guest.php:42
+#: templates/layout.guest.php:34
msgid "web services under your control"
msgstr "Vev tjenester under din kontroll"
-#: templates/layout.user.php:45
+#: templates/layout.user.php:32
msgid "Log out"
msgstr "Logg ut"
diff --git a/l10n/nn_NO/files.po b/l10n/nn_NO/files.po
index 20c27a56323..3cd6f2dfa04 100644
--- a/l10n/nn_NO/files.po
+++ b/l10n/nn_NO/files.po
@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-01-20 00:05+0100\n"
-"PO-Revision-Date: 2013-01-19 23:05+0000\n"
+"POT-Creation-Date: 2013-01-27 00:04+0100\n"
+"PO-Revision-Date: 2013-01-26 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,11 +19,6 @@ 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"
@@ -38,46 +33,46 @@ msgstr ""
msgid "Unable to rename file"
msgstr ""
-#: ajax/upload.php:20
+#: ajax/upload.php:17
msgid "No file was uploaded. Unknown error"
msgstr ""
-#: ajax/upload.php:30
+#: ajax/upload.php:24
msgid "There is no error, the file uploaded with success"
msgstr "Ingen feil, fila vart lasta opp"
-#: ajax/upload.php:31
+#: ajax/upload.php:25
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr ""
-#: ajax/upload.php:33
+#: ajax/upload.php:27
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:35
+#: ajax/upload.php:29
msgid "The uploaded file was only partially uploaded"
msgstr "Fila vart berre delvis lasta opp"
-#: ajax/upload.php:36
+#: ajax/upload.php:30
msgid "No file was uploaded"
msgstr "Ingen filer vart lasta opp"
-#: ajax/upload.php:37
+#: ajax/upload.php:31
msgid "Missing a temporary folder"
msgstr "Manglar ei mellombels mappe"
-#: ajax/upload.php:38
+#: ajax/upload.php:32
msgid "Failed to write to disk"
msgstr ""
-#: ajax/upload.php:57
-msgid "Not enough space available"
+#: ajax/upload.php:48
+msgid "Not enough storage available"
msgstr ""
-#: ajax/upload.php:91
+#: ajax/upload.php:77
msgid "Invalid directory."
msgstr ""
@@ -85,11 +80,11 @@ msgstr ""
msgid "Files"
msgstr "Filer"
-#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
+#: js/fileactions.js:117 templates/index.php:81 templates/index.php:82
msgid "Unshare"
msgstr ""
-#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
+#: js/fileactions.js:119 templates/index.php:87 templates/index.php:88
msgid "Delete"
msgstr "Slett"
@@ -97,139 +92,151 @@ msgstr "Slett"
msgid "Rename"
msgstr ""
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "{new_name} already exists"
msgstr ""
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "replace"
msgstr ""
-#: js/filelist.js:205
+#: js/filelist.js:208
msgid "suggest name"
msgstr ""
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "cancel"
msgstr ""
-#: js/filelist.js:254
+#: js/filelist.js:253
msgid "replaced {new_name}"
msgstr ""
-#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
+#: js/filelist.js:253 js/filelist.js:255 js/filelist.js:286 js/filelist.js:288
msgid "undo"
msgstr ""
-#: js/filelist.js:256
+#: js/filelist.js:255
msgid "replaced {new_name} with {old_name}"
msgstr ""
-#: js/filelist.js:288
+#: js/filelist.js:286
msgid "unshared {files}"
msgstr ""
-#: js/filelist.js:290
+#: js/filelist.js:288
msgid "deleted {files}"
msgstr ""
-#: js/files.js:48
+#: js/files.js:52
msgid "'.' is an invalid file name."
msgstr ""
-#: js/files.js:53
+#: js/files.js:56
msgid "File name cannot be empty."
msgstr ""
-#: js/files.js:62
+#: js/files.js:64
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr ""
-#: js/files.js:204
+#: js/files.js:78
+msgid "Your storage is full, files can not be updated or synced anymore!"
+msgstr ""
+
+#: js/files.js:82
+msgid "Your storage is almost full ({usedSpacePercent}%)"
+msgstr ""
+
+#: js/files.js:219
msgid ""
"Your download is being prepared. This might take some time if the files are "
"big."
msgstr ""
-#: js/files.js:242
+#: js/files.js:256
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr ""
-#: js/files.js:242
+#: js/files.js:256
msgid "Upload Error"
msgstr ""
-#: js/files.js:259
+#: js/files.js:273
msgid "Close"
msgstr "Lukk"
-#: js/files.js:278 js/files.js:397 js/files.js:431
+#: js/files.js:292 js/files.js:408 js/files.js:439
msgid "Pending"
msgstr ""
-#: js/files.js:298
+#: js/files.js:312
msgid "1 file uploading"
msgstr ""
-#: js/files.js:301 js/files.js:357 js/files.js:372
+#: js/files.js:315 js/files.js:370 js/files.js:385
msgid "{count} files uploading"
msgstr ""
-#: js/files.js:376 js/files.js:414
+#: js/files.js:388 js/files.js:423
msgid "Upload cancelled."
msgstr ""
-#: js/files.js:486
+#: js/files.js:493
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr ""
-#: js/files.js:559
+#: js/files.js:566
msgid "URL cannot be empty."
msgstr ""
-#: js/files.js:565
+#: js/files.js:571
msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
msgstr ""
-#: js/files.js:775
+#: js/files.js:784
msgid "{count} files scanned"
msgstr ""
-#: js/files.js:783
+#: js/files.js:792
msgid "error while scanning"
msgstr ""
-#: js/files.js:857 templates/index.php:64
+#: js/files.js:866 templates/index.php:63
msgid "Name"
msgstr "Namn"
-#: js/files.js:858 templates/index.php:75
+#: js/files.js:867 templates/index.php:74
msgid "Size"
msgstr "Storleik"
-#: js/files.js:859 templates/index.php:77
+#: js/files.js:868 templates/index.php:76
msgid "Modified"
msgstr "Endra"
-#: js/files.js:878
+#: js/files.js:887
msgid "1 folder"
msgstr ""
-#: js/files.js:880
+#: js/files.js:889
msgid "{count} folders"
msgstr ""
-#: js/files.js:888
+#: js/files.js:897
msgid "1 file"
msgstr ""
-#: js/files.js:890
+#: js/files.js:899
msgid "{count} files"
msgstr ""
+#: lib/helper.php:11 templates/index.php:18
+msgid "Upload"
+msgstr "Last opp"
+
#: templates/admin.php:5
msgid "File handling"
msgstr ""
@@ -282,28 +289,28 @@ msgstr ""
msgid "Cancel upload"
msgstr ""
-#: templates/index.php:56
+#: templates/index.php:55
msgid "Nothing in here. Upload something!"
msgstr "Ingenting her. Last noko opp!"
-#: templates/index.php:70
+#: templates/index.php:69
msgid "Download"
msgstr "Last ned"
-#: templates/index.php:102
+#: templates/index.php:101
msgid "Upload too large"
msgstr "For stor opplasting"
-#: templates/index.php:104
+#: templates/index.php:103
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:109
+#: templates/index.php:108
msgid "Files are being scanned, please wait."
msgstr ""
-#: templates/index.php:112
+#: templates/index.php:111
msgid "Current scanning"
msgstr ""
diff --git a/l10n/oc/core.po b/l10n/oc/core.po
index 17e293699e2..42a51ae831b 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: 2013-01-15 00:03+0100\n"
-"PO-Revision-Date: 2013-01-14 23:03+0000\n"
+"POT-Creation-Date: 2013-01-29 00:04+0100\n"
+"PO-Revision-Date: 2013-01-28 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"
@@ -80,59 +80,135 @@ msgstr "Pas de categorias seleccionadas per escafar."
msgid "Error removing %s from favorites."
msgstr ""
-#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61
+#: js/config.php:32
+msgid "Sunday"
+msgstr "Dimenge"
+
+#: js/config.php:32
+msgid "Monday"
+msgstr "Diluns"
+
+#: js/config.php:32
+msgid "Tuesday"
+msgstr "Dimarç"
+
+#: js/config.php:32
+msgid "Wednesday"
+msgstr "Dimecres"
+
+#: js/config.php:32
+msgid "Thursday"
+msgstr "Dijòus"
+
+#: js/config.php:32
+msgid "Friday"
+msgstr "Divendres"
+
+#: js/config.php:32
+msgid "Saturday"
+msgstr "Dissabte"
+
+#: js/config.php:33
+msgid "January"
+msgstr "Genièr"
+
+#: js/config.php:33
+msgid "February"
+msgstr "Febrièr"
+
+#: js/config.php:33
+msgid "March"
+msgstr "Març"
+
+#: js/config.php:33
+msgid "April"
+msgstr "Abril"
+
+#: js/config.php:33
+msgid "May"
+msgstr "Mai"
+
+#: js/config.php:33
+msgid "June"
+msgstr "Junh"
+
+#: js/config.php:33
+msgid "July"
+msgstr "Julhet"
+
+#: js/config.php:33
+msgid "August"
+msgstr "Agost"
+
+#: js/config.php:33
+msgid "September"
+msgstr "Septembre"
+
+#: js/config.php:33
+msgid "October"
+msgstr "Octobre"
+
+#: js/config.php:33
+msgid "November"
+msgstr "Novembre"
+
+#: js/config.php:33
+msgid "December"
+msgstr "Decembre"
+
+#: js/js.js:280 templates/layout.user.php:47 templates/layout.user.php:48
msgid "Settings"
msgstr "Configuracion"
-#: js/js.js:711
+#: js/js.js:762
msgid "seconds ago"
msgstr "segonda a"
-#: js/js.js:712
+#: js/js.js:763
msgid "1 minute ago"
msgstr "1 minuta a"
-#: js/js.js:713
+#: js/js.js:764
msgid "{minutes} minutes ago"
msgstr ""
-#: js/js.js:714
+#: js/js.js:765
msgid "1 hour ago"
msgstr ""
-#: js/js.js:715
+#: js/js.js:766
msgid "{hours} hours ago"
msgstr ""
-#: js/js.js:716
+#: js/js.js:767
msgid "today"
msgstr "uèi"
-#: js/js.js:717
+#: js/js.js:768
msgid "yesterday"
msgstr "ièr"
-#: js/js.js:718
+#: js/js.js:769
msgid "{days} days ago"
msgstr ""
-#: js/js.js:719
+#: js/js.js:770
msgid "last month"
msgstr "mes passat"
-#: js/js.js:720
+#: js/js.js:771
msgid "{months} months ago"
msgstr ""
-#: js/js.js:721
+#: js/js.js:772
msgid "months ago"
msgstr "meses a"
-#: js/js.js:722
+#: js/js.js:773
msgid "last year"
msgstr "an passat"
-#: js/js.js:723
+#: js/js.js:774
msgid "years ago"
msgstr "ans a"
@@ -291,6 +367,17 @@ msgstr ""
msgid "Email sent"
msgstr ""
+#: js/update.js:14
+msgid ""
+"The update was unsuccessful. Please report this issue to the <a "
+"href=\"https://github.com/owncloud/core/issues\" target=\"_blank\">ownCloud "
+"community</a>."
+msgstr ""
+
+#: js/update.js:18
+msgid "The update was successful. Redirecting you to ownCloud now."
+msgstr ""
+
#: lostpassword/controller.php:47
msgid "ownCloud password reset"
msgstr "senhal d'ownCloud tornat botar"
@@ -442,87 +529,11 @@ msgstr "Ã’ste de basa de donadas"
msgid "Finish setup"
msgstr "Configuracion acabada"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Sunday"
-msgstr "Dimenge"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Monday"
-msgstr "Diluns"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Tuesday"
-msgstr "Dimarç"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Wednesday"
-msgstr "Dimecres"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Thursday"
-msgstr "Dijòus"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Friday"
-msgstr "Divendres"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Saturday"
-msgstr "Dissabte"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "January"
-msgstr "Genièr"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "February"
-msgstr "Febrièr"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "March"
-msgstr "Març"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "April"
-msgstr "Abril"
-
-#: 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 "Junh"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "July"
-msgstr "Julhet"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "August"
-msgstr "Agost"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "September"
-msgstr "Septembre"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "October"
-msgstr "Octobre"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "November"
-msgstr "Novembre"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "December"
-msgstr "Decembre"
-
-#: templates/layout.guest.php:42
+#: templates/layout.guest.php:34
msgid "web services under your control"
msgstr "Services web jos ton contraròtle"
-#: templates/layout.user.php:45
+#: templates/layout.user.php:32
msgid "Log out"
msgstr "Sortida"
diff --git a/l10n/oc/files.po b/l10n/oc/files.po
index 98f3014e02e..7d952dff63c 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: 2013-01-20 00:05+0100\n"
-"PO-Revision-Date: 2013-01-19 23:05+0000\n"
+"POT-Creation-Date: 2013-01-27 00:04+0100\n"
+"PO-Revision-Date: 2013-01-26 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,11 +18,6 @@ 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"
@@ -37,46 +32,46 @@ msgstr ""
msgid "Unable to rename file"
msgstr ""
-#: ajax/upload.php:20
+#: ajax/upload.php:17
msgid "No file was uploaded. Unknown error"
msgstr ""
-#: ajax/upload.php:30
+#: ajax/upload.php:24
msgid "There is no error, the file uploaded with success"
msgstr "Amontcargament capitat, pas d'errors"
-#: ajax/upload.php:31
+#: ajax/upload.php:25
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr ""
-#: ajax/upload.php:33
+#: ajax/upload.php:27
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:35
+#: ajax/upload.php:29
msgid "The uploaded file was only partially uploaded"
msgstr "Lo fichièr foguèt pas completament amontcargat"
-#: ajax/upload.php:36
+#: ajax/upload.php:30
msgid "No file was uploaded"
msgstr "Cap de fichièrs son estats amontcargats"
-#: ajax/upload.php:37
+#: ajax/upload.php:31
msgid "Missing a temporary folder"
msgstr "Un dorsièr temporari manca"
-#: ajax/upload.php:38
+#: ajax/upload.php:32
msgid "Failed to write to disk"
msgstr "L'escriptura sul disc a fracassat"
-#: ajax/upload.php:57
-msgid "Not enough space available"
+#: ajax/upload.php:48
+msgid "Not enough storage available"
msgstr ""
-#: ajax/upload.php:91
+#: ajax/upload.php:77
msgid "Invalid directory."
msgstr ""
@@ -84,11 +79,11 @@ msgstr ""
msgid "Files"
msgstr "Fichièrs"
-#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
+#: js/fileactions.js:117 templates/index.php:81 templates/index.php:82
msgid "Unshare"
msgstr "Non parteja"
-#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
+#: js/fileactions.js:119 templates/index.php:87 templates/index.php:88
msgid "Delete"
msgstr "Escafa"
@@ -96,139 +91,151 @@ msgstr "Escafa"
msgid "Rename"
msgstr "Torna nomenar"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "{new_name} already exists"
msgstr ""
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "replace"
msgstr "remplaça"
-#: js/filelist.js:205
+#: js/filelist.js:208
msgid "suggest name"
msgstr "nom prepausat"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "cancel"
msgstr "anulla"
-#: js/filelist.js:254
+#: js/filelist.js:253
msgid "replaced {new_name}"
msgstr ""
-#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
+#: js/filelist.js:253 js/filelist.js:255 js/filelist.js:286 js/filelist.js:288
msgid "undo"
msgstr "defar"
-#: js/filelist.js:256
+#: js/filelist.js:255
msgid "replaced {new_name} with {old_name}"
msgstr ""
-#: js/filelist.js:288
+#: js/filelist.js:286
msgid "unshared {files}"
msgstr ""
-#: js/filelist.js:290
+#: js/filelist.js:288
msgid "deleted {files}"
msgstr ""
-#: js/files.js:48
+#: js/files.js:52
msgid "'.' is an invalid file name."
msgstr ""
-#: js/files.js:53
+#: js/files.js:56
msgid "File name cannot be empty."
msgstr ""
-#: js/files.js:62
+#: js/files.js:64
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr ""
-#: js/files.js:204
+#: js/files.js:78
+msgid "Your storage is full, files can not be updated or synced anymore!"
+msgstr ""
+
+#: js/files.js:82
+msgid "Your storage is almost full ({usedSpacePercent}%)"
+msgstr ""
+
+#: js/files.js:219
msgid ""
"Your download is being prepared. This might take some time if the files are "
"big."
msgstr ""
-#: js/files.js:242
+#: js/files.js:256
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:242
+#: js/files.js:256
msgid "Upload Error"
msgstr "Error d'amontcargar"
-#: js/files.js:259
+#: js/files.js:273
msgid "Close"
msgstr ""
-#: js/files.js:278 js/files.js:397 js/files.js:431
+#: js/files.js:292 js/files.js:408 js/files.js:439
msgid "Pending"
msgstr "Al esperar"
-#: js/files.js:298
+#: js/files.js:312
msgid "1 file uploading"
msgstr "1 fichièr al amontcargar"
-#: js/files.js:301 js/files.js:357 js/files.js:372
+#: js/files.js:315 js/files.js:370 js/files.js:385
msgid "{count} files uploading"
msgstr ""
-#: js/files.js:376 js/files.js:414
+#: js/files.js:388 js/files.js:423
msgid "Upload cancelled."
msgstr "Amontcargar anullat."
-#: js/files.js:486
+#: js/files.js:493
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:559
+#: js/files.js:566
msgid "URL cannot be empty."
msgstr ""
-#: js/files.js:565
+#: js/files.js:571
msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
msgstr ""
-#: js/files.js:775
+#: js/files.js:784
msgid "{count} files scanned"
msgstr ""
-#: js/files.js:783
+#: js/files.js:792
msgid "error while scanning"
msgstr "error pendant l'exploracion"
-#: js/files.js:857 templates/index.php:64
+#: js/files.js:866 templates/index.php:63
msgid "Name"
msgstr "Nom"
-#: js/files.js:858 templates/index.php:75
+#: js/files.js:867 templates/index.php:74
msgid "Size"
msgstr "Talha"
-#: js/files.js:859 templates/index.php:77
+#: js/files.js:868 templates/index.php:76
msgid "Modified"
msgstr "Modificat"
-#: js/files.js:878
+#: js/files.js:887
msgid "1 folder"
msgstr ""
-#: js/files.js:880
+#: js/files.js:889
msgid "{count} folders"
msgstr ""
-#: js/files.js:888
+#: js/files.js:897
msgid "1 file"
msgstr ""
-#: js/files.js:890
+#: js/files.js:899
msgid "{count} files"
msgstr ""
+#: lib/helper.php:11 templates/index.php:18
+msgid "Upload"
+msgstr "Amontcarga"
+
#: templates/admin.php:5
msgid "File handling"
msgstr "Manejament de fichièr"
@@ -281,28 +288,28 @@ msgstr ""
msgid "Cancel upload"
msgstr " Anulla l'amontcargar"
-#: templates/index.php:56
+#: templates/index.php:55
msgid "Nothing in here. Upload something!"
msgstr "Pas res dedins. Amontcarga qualquaren"
-#: templates/index.php:70
+#: templates/index.php:69
msgid "Download"
msgstr "Avalcarga"
-#: templates/index.php:102
+#: templates/index.php:101
msgid "Upload too large"
msgstr "Amontcargament tròp gròs"
-#: templates/index.php:104
+#: templates/index.php:103
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:109
+#: templates/index.php:108
msgid "Files are being scanned, please wait."
msgstr "Los fiichièrs son a èsser explorats, "
-#: templates/index.php:112
+#: templates/index.php:111
msgid "Current scanning"
msgstr "Exploracion en cors"
diff --git a/l10n/pl/core.po b/l10n/pl/core.po
index 4e0e383e612..52a8115b6fb 100644
--- a/l10n/pl/core.po
+++ b/l10n/pl/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: 2013-01-15 00:03+0100\n"
-"PO-Revision-Date: 2013-01-14 23:03+0000\n"
+"POT-Creation-Date: 2013-01-29 00:04+0100\n"
+"PO-Revision-Date: 2013-01-28 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"
@@ -89,59 +89,135 @@ msgstr "Nie ma kategorii zaznaczonych do usunięcia."
msgid "Error removing %s from favorites."
msgstr "Błąd usunięcia %s z ulubionych."
-#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61
+#: js/config.php:32
+msgid "Sunday"
+msgstr "Niedziela"
+
+#: js/config.php:32
+msgid "Monday"
+msgstr "Poniedziałek"
+
+#: js/config.php:32
+msgid "Tuesday"
+msgstr "Wtorek"
+
+#: js/config.php:32
+msgid "Wednesday"
+msgstr "Åšroda"
+
+#: js/config.php:32
+msgid "Thursday"
+msgstr "Czwartek"
+
+#: js/config.php:32
+msgid "Friday"
+msgstr "PiÄ…tek"
+
+#: js/config.php:32
+msgid "Saturday"
+msgstr "Sobota"
+
+#: js/config.php:33
+msgid "January"
+msgstr "Styczeń"
+
+#: js/config.php:33
+msgid "February"
+msgstr "Luty"
+
+#: js/config.php:33
+msgid "March"
+msgstr "Marzec"
+
+#: js/config.php:33
+msgid "April"
+msgstr "Kwiecień"
+
+#: js/config.php:33
+msgid "May"
+msgstr "Maj"
+
+#: js/config.php:33
+msgid "June"
+msgstr "Czerwiec"
+
+#: js/config.php:33
+msgid "July"
+msgstr "Lipiec"
+
+#: js/config.php:33
+msgid "August"
+msgstr "Sierpień"
+
+#: js/config.php:33
+msgid "September"
+msgstr "Wrzesień"
+
+#: js/config.php:33
+msgid "October"
+msgstr "Październik"
+
+#: js/config.php:33
+msgid "November"
+msgstr "Listopad"
+
+#: js/config.php:33
+msgid "December"
+msgstr "Grudzień"
+
+#: js/js.js:280 templates/layout.user.php:47 templates/layout.user.php:48
msgid "Settings"
msgstr "Ustawienia"
-#: js/js.js:711
+#: js/js.js:762
msgid "seconds ago"
msgstr "sekund temu"
-#: js/js.js:712
+#: js/js.js:763
msgid "1 minute ago"
msgstr "1 minute temu"
-#: js/js.js:713
+#: js/js.js:764
msgid "{minutes} minutes ago"
msgstr "{minutes} minut temu"
-#: js/js.js:714
+#: js/js.js:765
msgid "1 hour ago"
msgstr "1 godzine temu"
-#: js/js.js:715
+#: js/js.js:766
msgid "{hours} hours ago"
msgstr "{hours} godzin temu"
-#: js/js.js:716
+#: js/js.js:767
msgid "today"
msgstr "dziÅ›"
-#: js/js.js:717
+#: js/js.js:768
msgid "yesterday"
msgstr "wczoraj"
-#: js/js.js:718
+#: js/js.js:769
msgid "{days} days ago"
msgstr "{days} dni temu"
-#: js/js.js:719
+#: js/js.js:770
msgid "last month"
msgstr "ostani miesiÄ…c"
-#: js/js.js:720
+#: js/js.js:771
msgid "{months} months ago"
msgstr "{months} miesięcy temu"
-#: js/js.js:721
+#: js/js.js:772
msgid "months ago"
msgstr "miesięcy temu"
-#: js/js.js:722
+#: js/js.js:773
msgid "last year"
msgstr "ostatni rok"
-#: js/js.js:723
+#: js/js.js:774
msgid "years ago"
msgstr "lat temu"
@@ -300,6 +376,17 @@ msgstr "Wysyłanie..."
msgid "Email sent"
msgstr "Wyślij Email"
+#: js/update.js:14
+msgid ""
+"The update was unsuccessful. Please report this issue to the <a "
+"href=\"https://github.com/owncloud/core/issues\" target=\"_blank\">ownCloud "
+"community</a>."
+msgstr ""
+
+#: js/update.js:18
+msgid "The update was successful. Redirecting you to ownCloud now."
+msgstr ""
+
#: lostpassword/controller.php:47
msgid "ownCloud password reset"
msgstr "restart hasła"
@@ -451,87 +538,11 @@ msgstr "Komputer bazy danych"
msgid "Finish setup"
msgstr "Zakończ konfigurowanie"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Sunday"
-msgstr "Niedziela"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Monday"
-msgstr "Poniedziałek"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Tuesday"
-msgstr "Wtorek"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Wednesday"
-msgstr "Åšroda"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Thursday"
-msgstr "Czwartek"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Friday"
-msgstr "PiÄ…tek"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Saturday"
-msgstr "Sobota"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "January"
-msgstr "Styczeń"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "February"
-msgstr "Luty"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "March"
-msgstr "Marzec"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "April"
-msgstr "Kwiecień"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "May"
-msgstr "Maj"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "June"
-msgstr "Czerwiec"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "July"
-msgstr "Lipiec"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "August"
-msgstr "Sierpień"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "September"
-msgstr "Wrzesień"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "October"
-msgstr "Październik"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "November"
-msgstr "Listopad"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "December"
-msgstr "Grudzień"
-
-#: templates/layout.guest.php:42
+#: templates/layout.guest.php:34
msgid "web services under your control"
msgstr "usługi internetowe pod kontrolą"
-#: templates/layout.user.php:45
+#: templates/layout.user.php:32
msgid "Log out"
msgstr "Wylogowuje użytkownika"
diff --git a/l10n/pl/files.po b/l10n/pl/files.po
index 14c09603236..273a818baff 100644
--- a/l10n/pl/files.po
+++ b/l10n/pl/files.po
@@ -15,8 +15,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-01-20 00:05+0100\n"
-"PO-Revision-Date: 2013-01-19 23:05+0000\n"
+"POT-Creation-Date: 2013-01-27 00:04+0100\n"
+"PO-Revision-Date: 2013-01-26 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"
@@ -25,11 +25,6 @@ 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"
@@ -44,46 +39,46 @@ msgstr "Nie można było przenieść %s"
msgid "Unable to rename file"
msgstr "Nie można zmienić nazwy pliku"
-#: ajax/upload.php:20
+#: ajax/upload.php:17
msgid "No file was uploaded. Unknown error"
msgstr "Plik nie został załadowany. Nieznany błąd"
-#: ajax/upload.php:30
+#: ajax/upload.php:24
msgid "There is no error, the file uploaded with success"
msgstr "Przesłano plik"
-#: ajax/upload.php:31
+#: ajax/upload.php:25
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:33
+#: ajax/upload.php:27
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:35
+#: ajax/upload.php:29
msgid "The uploaded file was only partially uploaded"
msgstr "Plik przesłano tylko częściowo"
-#: ajax/upload.php:36
+#: ajax/upload.php:30
msgid "No file was uploaded"
msgstr "Nie przesłano żadnego pliku"
-#: ajax/upload.php:37
+#: ajax/upload.php:31
msgid "Missing a temporary folder"
msgstr "Brak katalogu tymczasowego"
-#: ajax/upload.php:38
+#: ajax/upload.php:32
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:48
+msgid "Not enough storage available"
+msgstr ""
-#: ajax/upload.php:91
+#: ajax/upload.php:77
msgid "Invalid directory."
msgstr "Zła ścieżka."
@@ -91,11 +86,11 @@ msgstr "Zła ścieżka."
msgid "Files"
msgstr "Pliki"
-#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
+#: js/fileactions.js:117 templates/index.php:81 templates/index.php:82
msgid "Unshare"
msgstr "Nie udostępniaj"
-#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
+#: js/fileactions.js:119 templates/index.php:87 templates/index.php:88
msgid "Delete"
msgstr "Usuwa element"
@@ -103,139 +98,151 @@ msgstr "Usuwa element"
msgid "Rename"
msgstr "Zmień nazwę"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "{new_name} already exists"
msgstr "{new_name} już istnieje"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "replace"
msgstr "zastap"
-#: js/filelist.js:205
+#: js/filelist.js:208
msgid "suggest name"
msgstr "zasugeruj nazwÄ™"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "cancel"
msgstr "anuluj"
-#: js/filelist.js:254
+#: js/filelist.js:253
msgid "replaced {new_name}"
msgstr "zastÄ…piony {new_name}"
-#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
+#: js/filelist.js:253 js/filelist.js:255 js/filelist.js:286 js/filelist.js:288
msgid "undo"
msgstr "wróć"
-#: js/filelist.js:256
+#: js/filelist.js:255
msgid "replaced {new_name} with {old_name}"
msgstr "zastÄ…piony {new_name} z {old_name}"
-#: js/filelist.js:288
+#: js/filelist.js:286
msgid "unshared {files}"
msgstr "Udostępniane wstrzymane {files}"
-#: js/filelist.js:290
+#: js/filelist.js:288
msgid "deleted {files}"
msgstr "usunięto {files}"
-#: js/files.js:48
+#: js/files.js:52
msgid "'.' is an invalid file name."
msgstr "'.' jest nieprawidłową nazwą pliku."
-#: js/files.js:53
+#: js/files.js:56
msgid "File name cannot be empty."
msgstr "Nazwa pliku nie może być pusta."
-#: js/files.js:62
+#: js/files.js:64
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr "Niepoprawna nazwa, Znaki '\\', '/', '<', '>', ':', '\"', '|', '?' oraz '*'sÄ… niedozwolone."
-#: js/files.js:204
+#: js/files.js:78
+msgid "Your storage is full, files can not be updated or synced anymore!"
+msgstr ""
+
+#: js/files.js:82
+msgid "Your storage is almost full ({usedSpacePercent}%)"
+msgstr ""
+
+#: js/files.js:219
msgid ""
"Your download is being prepared. This might take some time if the files are "
"big."
msgstr ""
-#: js/files.js:242
+#: js/files.js:256
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:242
+#: js/files.js:256
msgid "Upload Error"
msgstr "BÅ‚Ä…d wczytywania"
-#: js/files.js:259
+#: js/files.js:273
msgid "Close"
msgstr "Zamknij"
-#: js/files.js:278 js/files.js:397 js/files.js:431
+#: js/files.js:292 js/files.js:408 js/files.js:439
msgid "Pending"
msgstr "OczekujÄ…ce"
-#: js/files.js:298
+#: js/files.js:312
msgid "1 file uploading"
msgstr "1 plik wczytany"
-#: js/files.js:301 js/files.js:357 js/files.js:372
+#: js/files.js:315 js/files.js:370 js/files.js:385
msgid "{count} files uploading"
msgstr "{count} przesyłanie plików"
-#: js/files.js:376 js/files.js:414
+#: js/files.js:388 js/files.js:423
msgid "Upload cancelled."
msgstr "Wczytywanie anulowane."
-#: js/files.js:486
+#: js/files.js:493
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:559
+#: js/files.js:566
msgid "URL cannot be empty."
msgstr "URL nie może być pusty."
-#: js/files.js:565
+#: js/files.js:571
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
+#: js/files.js:784
msgid "{count} files scanned"
msgstr "{count} pliki skanowane"
-#: js/files.js:783
+#: js/files.js:792
msgid "error while scanning"
msgstr "Wystąpił błąd podczas skanowania"
-#: js/files.js:857 templates/index.php:64
+#: js/files.js:866 templates/index.php:63
msgid "Name"
msgstr "Nazwa"
-#: js/files.js:858 templates/index.php:75
+#: js/files.js:867 templates/index.php:74
msgid "Size"
msgstr "Rozmiar"
-#: js/files.js:859 templates/index.php:77
+#: js/files.js:868 templates/index.php:76
msgid "Modified"
msgstr "Czas modyfikacji"
-#: js/files.js:878
+#: js/files.js:887
msgid "1 folder"
msgstr "1 folder"
-#: js/files.js:880
+#: js/files.js:889
msgid "{count} folders"
msgstr "{count} foldery"
-#: js/files.js:888
+#: js/files.js:897
msgid "1 file"
msgstr "1 plik"
-#: js/files.js:890
+#: js/files.js:899
msgid "{count} files"
msgstr "{count} pliki"
+#: lib/helper.php:11 templates/index.php:18
+msgid "Upload"
+msgstr "Prześlij"
+
#: templates/admin.php:5
msgid "File handling"
msgstr "ZarzÄ…dzanie plikami"
@@ -288,28 +295,28 @@ msgstr "Z linku"
msgid "Cancel upload"
msgstr "Przestań wysyłać"
-#: templates/index.php:56
+#: templates/index.php:55
msgid "Nothing in here. Upload something!"
msgstr "Brak zawartości. Proszę wysłać pliki!"
-#: templates/index.php:70
+#: templates/index.php:69
msgid "Download"
msgstr "Pobiera element"
-#: templates/index.php:102
+#: templates/index.php:101
msgid "Upload too large"
msgstr "Wysyłany plik ma za duży rozmiar"
-#: templates/index.php:104
+#: templates/index.php:103
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:109
+#: templates/index.php:108
msgid "Files are being scanned, please wait."
msgstr "Skanowanie plików, proszę czekać."
-#: templates/index.php:112
+#: templates/index.php:111
msgid "Current scanning"
msgstr "Aktualnie skanowane"
diff --git a/l10n/pl/lib.po b/l10n/pl/lib.po
index 5d59857b1b6..917ce3b654b 100644
--- a/l10n/pl/lib.po
+++ b/l10n/pl/lib.po
@@ -5,14 +5,14 @@
# Translators:
# Cyryl Sochacki <>, 2012.
# Cyryl Sochacki <cyrylsochacki@gmail.com>, 2012.
-# Marcin Małecki <gerber@tkdami.net>, 2012.
+# Marcin Małecki <gerber@tkdami.net>, 2012-2013.
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"
+"POT-Creation-Date: 2013-01-29 00:05+0100\n"
+"PO-Revision-Date: 2013-01-28 19:59+0000\n"
+"Last-Translator: Marcin Małecki <gerber@tkdami.net>\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"
@@ -60,9 +60,9 @@ msgstr "Wróć do plików"
msgid "Selected files too large to generate zip file."
msgstr "Wybrane pliki są zbyt duże, aby wygenerować plik zip."
-#: helper.php:228
+#: helper.php:229
msgid "couldn't be determined"
-msgstr ""
+msgstr "nie może zostać znaleziony"
#: json.php:28
msgid "Application is not enabled"
diff --git a/l10n/pl_PL/core.po b/l10n/pl_PL/core.po
index d5e325117d9..76d2832d701 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: 2013-01-15 00:03+0100\n"
-"PO-Revision-Date: 2013-01-14 23:03+0000\n"
+"POT-Creation-Date: 2013-01-29 00:04+0100\n"
+"PO-Revision-Date: 2013-01-28 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"
@@ -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:32
+msgid "Sunday"
+msgstr ""
+
+#: js/config.php:32
+msgid "Monday"
+msgstr ""
+
+#: js/config.php:32
+msgid "Tuesday"
+msgstr ""
+
+#: js/config.php:32
+msgid "Wednesday"
+msgstr ""
+
+#: js/config.php:32
+msgid "Thursday"
+msgstr ""
+
+#: js/config.php:32
+msgid "Friday"
+msgstr ""
+
+#: js/config.php:32
+msgid "Saturday"
+msgstr ""
+
+#: js/config.php:33
+msgid "January"
+msgstr ""
+
+#: js/config.php:33
+msgid "February"
+msgstr ""
+
+#: js/config.php:33
+msgid "March"
+msgstr ""
+
+#: js/config.php:33
+msgid "April"
+msgstr ""
+
+#: js/config.php:33
+msgid "May"
+msgstr ""
+
+#: js/config.php:33
+msgid "June"
+msgstr ""
+
+#: js/config.php:33
+msgid "July"
+msgstr ""
+
+#: js/config.php:33
+msgid "August"
+msgstr ""
+
+#: js/config.php:33
+msgid "September"
+msgstr ""
+
+#: js/config.php:33
+msgid "October"
+msgstr ""
+
+#: js/config.php:33
+msgid "November"
+msgstr ""
+
+#: js/config.php:33
+msgid "December"
+msgstr ""
+
+#: js/js.js:280 templates/layout.user.php:47 templates/layout.user.php:48
msgid "Settings"
msgstr "Ustawienia"
-#: js/js.js:711
+#: js/js.js:762
msgid "seconds ago"
msgstr ""
-#: js/js.js:712
+#: js/js.js:763
msgid "1 minute ago"
msgstr ""
-#: js/js.js:713
+#: js/js.js:764
msgid "{minutes} minutes ago"
msgstr ""
-#: js/js.js:714
+#: js/js.js:765
msgid "1 hour ago"
msgstr ""
-#: js/js.js:715
+#: js/js.js:766
msgid "{hours} hours ago"
msgstr ""
-#: js/js.js:716
+#: js/js.js:767
msgid "today"
msgstr ""
-#: js/js.js:717
+#: js/js.js:768
msgid "yesterday"
msgstr ""
-#: js/js.js:718
+#: js/js.js:769
msgid "{days} days ago"
msgstr ""
-#: js/js.js:719
+#: js/js.js:770
msgid "last month"
msgstr ""
-#: js/js.js:720
+#: js/js.js:771
msgid "{months} months ago"
msgstr ""
-#: js/js.js:721
+#: js/js.js:772
msgid "months ago"
msgstr ""
-#: js/js.js:722
+#: js/js.js:773
msgid "last year"
msgstr ""
-#: js/js.js:723
+#: js/js.js:774
msgid "years ago"
msgstr ""
@@ -290,6 +366,17 @@ msgstr ""
msgid "Email sent"
msgstr ""
+#: js/update.js:14
+msgid ""
+"The update was unsuccessful. Please report this issue to the <a "
+"href=\"https://github.com/owncloud/core/issues\" target=\"_blank\">ownCloud "
+"community</a>."
+msgstr ""
+
+#: js/update.js:18
+msgid "The update was successful. Redirecting you to ownCloud now."
+msgstr ""
+
#: lostpassword/controller.php:47
msgid "ownCloud password reset"
msgstr ""
@@ -441,87 +528,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:34
msgid "web services under your control"
msgstr ""
-#: templates/layout.user.php:45
+#: templates/layout.user.php:32
msgid "Log out"
msgstr ""
diff --git a/l10n/pl_PL/files.po b/l10n/pl_PL/files.po
index d76af487676..81c77fd71ea 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: 2013-01-20 00:05+0100\n"
-"PO-Revision-Date: 2013-01-19 23:05+0000\n"
+"POT-Creation-Date: 2013-01-27 00:04+0100\n"
+"PO-Revision-Date: 2013-01-26 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,11 +17,6 @@ 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"
@@ -36,46 +31,46 @@ msgstr ""
msgid "Unable to rename file"
msgstr ""
-#: ajax/upload.php:20
+#: ajax/upload.php:17
msgid "No file was uploaded. Unknown error"
msgstr ""
-#: ajax/upload.php:30
+#: ajax/upload.php:24
msgid "There is no error, the file uploaded with success"
msgstr ""
-#: ajax/upload.php:31
+#: ajax/upload.php:25
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr ""
-#: ajax/upload.php:33
+#: ajax/upload.php:27
msgid ""
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
"the HTML form"
msgstr ""
-#: ajax/upload.php:35
+#: ajax/upload.php:29
msgid "The uploaded file was only partially uploaded"
msgstr ""
-#: ajax/upload.php:36
+#: ajax/upload.php:30
msgid "No file was uploaded"
msgstr ""
-#: ajax/upload.php:37
+#: ajax/upload.php:31
msgid "Missing a temporary folder"
msgstr ""
-#: ajax/upload.php:38
+#: ajax/upload.php:32
msgid "Failed to write to disk"
msgstr ""
-#: ajax/upload.php:57
-msgid "Not enough space available"
+#: ajax/upload.php:48
+msgid "Not enough storage available"
msgstr ""
-#: ajax/upload.php:91
+#: ajax/upload.php:77
msgid "Invalid directory."
msgstr ""
@@ -83,11 +78,11 @@ msgstr ""
msgid "Files"
msgstr ""
-#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
+#: js/fileactions.js:117 templates/index.php:81 templates/index.php:82
msgid "Unshare"
msgstr ""
-#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
+#: js/fileactions.js:119 templates/index.php:87 templates/index.php:88
msgid "Delete"
msgstr ""
@@ -95,139 +90,151 @@ msgstr ""
msgid "Rename"
msgstr ""
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "{new_name} already exists"
msgstr ""
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "replace"
msgstr ""
-#: js/filelist.js:205
+#: js/filelist.js:208
msgid "suggest name"
msgstr ""
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "cancel"
msgstr ""
-#: js/filelist.js:254
+#: js/filelist.js:253
msgid "replaced {new_name}"
msgstr ""
-#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
+#: js/filelist.js:253 js/filelist.js:255 js/filelist.js:286 js/filelist.js:288
msgid "undo"
msgstr ""
-#: js/filelist.js:256
+#: js/filelist.js:255
msgid "replaced {new_name} with {old_name}"
msgstr ""
-#: js/filelist.js:288
+#: js/filelist.js:286
msgid "unshared {files}"
msgstr ""
-#: js/filelist.js:290
+#: js/filelist.js:288
msgid "deleted {files}"
msgstr ""
-#: js/files.js:48
+#: js/files.js:52
msgid "'.' is an invalid file name."
msgstr ""
-#: js/files.js:53
+#: js/files.js:56
msgid "File name cannot be empty."
msgstr ""
-#: js/files.js:62
+#: js/files.js:64
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr ""
-#: js/files.js:204
+#: js/files.js:78
+msgid "Your storage is full, files can not be updated or synced anymore!"
+msgstr ""
+
+#: js/files.js:82
+msgid "Your storage is almost full ({usedSpacePercent}%)"
+msgstr ""
+
+#: js/files.js:219
msgid ""
"Your download is being prepared. This might take some time if the files are "
"big."
msgstr ""
-#: js/files.js:242
+#: js/files.js:256
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr ""
-#: js/files.js:242
+#: js/files.js:256
msgid "Upload Error"
msgstr ""
-#: js/files.js:259
+#: js/files.js:273
msgid "Close"
msgstr ""
-#: js/files.js:278 js/files.js:397 js/files.js:431
+#: js/files.js:292 js/files.js:408 js/files.js:439
msgid "Pending"
msgstr ""
-#: js/files.js:298
+#: js/files.js:312
msgid "1 file uploading"
msgstr ""
-#: js/files.js:301 js/files.js:357 js/files.js:372
+#: js/files.js:315 js/files.js:370 js/files.js:385
msgid "{count} files uploading"
msgstr ""
-#: js/files.js:376 js/files.js:414
+#: js/files.js:388 js/files.js:423
msgid "Upload cancelled."
msgstr ""
-#: js/files.js:486
+#: js/files.js:493
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr ""
-#: js/files.js:559
+#: js/files.js:566
msgid "URL cannot be empty."
msgstr ""
-#: js/files.js:565
+#: js/files.js:571
msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
msgstr ""
-#: js/files.js:775
+#: js/files.js:784
msgid "{count} files scanned"
msgstr ""
-#: js/files.js:783
+#: js/files.js:792
msgid "error while scanning"
msgstr ""
-#: js/files.js:857 templates/index.php:64
+#: js/files.js:866 templates/index.php:63
msgid "Name"
msgstr ""
-#: js/files.js:858 templates/index.php:75
+#: js/files.js:867 templates/index.php:74
msgid "Size"
msgstr ""
-#: js/files.js:859 templates/index.php:77
+#: js/files.js:868 templates/index.php:76
msgid "Modified"
msgstr ""
-#: js/files.js:878
+#: js/files.js:887
msgid "1 folder"
msgstr ""
-#: js/files.js:880
+#: js/files.js:889
msgid "{count} folders"
msgstr ""
-#: js/files.js:888
+#: js/files.js:897
msgid "1 file"
msgstr ""
-#: js/files.js:890
+#: js/files.js:899
msgid "{count} files"
msgstr ""
+#: lib/helper.php:11 templates/index.php:18
+msgid "Upload"
+msgstr ""
+
#: templates/admin.php:5
msgid "File handling"
msgstr ""
@@ -280,28 +287,28 @@ msgstr ""
msgid "Cancel upload"
msgstr ""
-#: templates/index.php:56
+#: templates/index.php:55
msgid "Nothing in here. Upload something!"
msgstr ""
-#: templates/index.php:70
+#: templates/index.php:69
msgid "Download"
msgstr ""
-#: templates/index.php:102
+#: templates/index.php:101
msgid "Upload too large"
msgstr ""
-#: templates/index.php:104
+#: templates/index.php:103
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr ""
-#: templates/index.php:109
+#: templates/index.php:108
msgid "Files are being scanned, please wait."
msgstr ""
-#: templates/index.php:112
+#: templates/index.php:111
msgid "Current scanning"
msgstr ""
diff --git a/l10n/pt_BR/core.po b/l10n/pt_BR/core.po
index da3de9ac4c4..ce6840b2eed 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: 2013-01-15 00:03+0100\n"
-"PO-Revision-Date: 2013-01-14 23:03+0000\n"
+"POT-Creation-Date: 2013-01-29 00:04+0100\n"
+"PO-Revision-Date: 2013-01-28 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"
@@ -89,59 +89,135 @@ msgstr "Nenhuma categoria selecionada para deletar."
msgid "Error removing %s from favorites."
msgstr "Erro ao remover %s dos favoritos."
-#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61
+#: js/config.php:32
+msgid "Sunday"
+msgstr "Domingo"
+
+#: js/config.php:32
+msgid "Monday"
+msgstr "Segunda-feira"
+
+#: js/config.php:32
+msgid "Tuesday"
+msgstr "Terça-feira"
+
+#: js/config.php:32
+msgid "Wednesday"
+msgstr "Quarta-feira"
+
+#: js/config.php:32
+msgid "Thursday"
+msgstr "Quinta-feira"
+
+#: js/config.php:32
+msgid "Friday"
+msgstr "Sexta-feira"
+
+#: js/config.php:32
+msgid "Saturday"
+msgstr "Sábado"
+
+#: js/config.php:33
+msgid "January"
+msgstr "Janeiro"
+
+#: js/config.php:33
+msgid "February"
+msgstr "Fevereiro"
+
+#: js/config.php:33
+msgid "March"
+msgstr "Março"
+
+#: js/config.php:33
+msgid "April"
+msgstr "Abril"
+
+#: js/config.php:33
+msgid "May"
+msgstr "Maio"
+
+#: js/config.php:33
+msgid "June"
+msgstr "Junho"
+
+#: js/config.php:33
+msgid "July"
+msgstr "Julho"
+
+#: js/config.php:33
+msgid "August"
+msgstr "Agosto"
+
+#: js/config.php:33
+msgid "September"
+msgstr "Setembro"
+
+#: js/config.php:33
+msgid "October"
+msgstr "Outubro"
+
+#: js/config.php:33
+msgid "November"
+msgstr "Novembro"
+
+#: js/config.php:33
+msgid "December"
+msgstr "Dezembro"
+
+#: js/js.js:280 templates/layout.user.php:47 templates/layout.user.php:48
msgid "Settings"
msgstr "Configurações"
-#: js/js.js:711
+#: js/js.js:762
msgid "seconds ago"
msgstr "segundos atrás"
-#: js/js.js:712
+#: js/js.js:763
msgid "1 minute ago"
msgstr "1 minuto atrás"
-#: js/js.js:713
+#: js/js.js:764
msgid "{minutes} minutes ago"
msgstr "{minutes} minutos atrás"
-#: js/js.js:714
+#: js/js.js:765
msgid "1 hour ago"
msgstr "1 hora atrás"
-#: js/js.js:715
+#: js/js.js:766
msgid "{hours} hours ago"
msgstr "{hours} horas atrás"
-#: js/js.js:716
+#: js/js.js:767
msgid "today"
msgstr "hoje"
-#: js/js.js:717
+#: js/js.js:768
msgid "yesterday"
msgstr "ontem"
-#: js/js.js:718
+#: js/js.js:769
msgid "{days} days ago"
msgstr "{days} dias atrás"
-#: js/js.js:719
+#: js/js.js:770
msgid "last month"
msgstr "último mês"
-#: js/js.js:720
+#: js/js.js:771
msgid "{months} months ago"
msgstr "{months} meses atrás"
-#: js/js.js:721
+#: js/js.js:772
msgid "months ago"
msgstr "meses atrás"
-#: js/js.js:722
+#: js/js.js:773
msgid "last year"
msgstr "último ano"
-#: js/js.js:723
+#: js/js.js:774
msgid "years ago"
msgstr "anos atrás"
@@ -300,6 +376,17 @@ msgstr ""
msgid "Email sent"
msgstr ""
+#: js/update.js:14
+msgid ""
+"The update was unsuccessful. Please report this issue to the <a "
+"href=\"https://github.com/owncloud/core/issues\" target=\"_blank\">ownCloud "
+"community</a>."
+msgstr ""
+
+#: js/update.js:18
+msgid "The update was successful. Redirecting you to ownCloud now."
+msgstr ""
+
#: lostpassword/controller.php:47
msgid "ownCloud password reset"
msgstr "Redefinir senha ownCloud"
@@ -451,87 +538,11 @@ msgstr "Banco de dados do host"
msgid "Finish setup"
msgstr "Concluir configuração"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Sunday"
-msgstr "Domingo"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Monday"
-msgstr "Segunda-feira"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Tuesday"
-msgstr "Terça-feira"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Wednesday"
-msgstr "Quarta-feira"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Thursday"
-msgstr "Quinta-feira"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Friday"
-msgstr "Sexta-feira"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Saturday"
-msgstr "Sábado"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "January"
-msgstr "Janeiro"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "February"
-msgstr "Fevereiro"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "March"
-msgstr "Março"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "April"
-msgstr "Abril"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "May"
-msgstr "Maio"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "June"
-msgstr "Junho"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "July"
-msgstr "Julho"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "August"
-msgstr "Agosto"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "September"
-msgstr "Setembro"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "October"
-msgstr "Outubro"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "November"
-msgstr "Novembro"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "December"
-msgstr "Dezembro"
-
-#: templates/layout.guest.php:42
+#: templates/layout.guest.php:34
msgid "web services under your control"
msgstr "web services sob seu controle"
-#: templates/layout.user.php:45
+#: templates/layout.user.php:32
msgid "Log out"
msgstr "Sair"
diff --git a/l10n/pt_BR/files.po b/l10n/pt_BR/files.po
index e56d1ca354f..38713a5ae3c 100644
--- a/l10n/pt_BR/files.po
+++ b/l10n/pt_BR/files.po
@@ -15,8 +15,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-01-20 00:05+0100\n"
-"PO-Revision-Date: 2013-01-19 23:05+0000\n"
+"POT-Creation-Date: 2013-01-27 00:04+0100\n"
+"PO-Revision-Date: 2013-01-26 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"
@@ -25,11 +25,6 @@ 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"
@@ -44,46 +39,46 @@ msgstr ""
msgid "Unable to rename file"
msgstr ""
-#: ajax/upload.php:20
+#: ajax/upload.php:17
msgid "No file was uploaded. Unknown error"
msgstr "Nenhum arquivo foi transferido. Erro desconhecido"
-#: ajax/upload.php:30
+#: ajax/upload.php:24
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:31
+#: ajax/upload.php:25
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:33
+#: ajax/upload.php:27
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:35
+#: ajax/upload.php:29
msgid "The uploaded file was only partially uploaded"
msgstr "O arquivo foi transferido parcialmente"
-#: ajax/upload.php:36
+#: ajax/upload.php:30
msgid "No file was uploaded"
msgstr "Nenhum arquivo foi transferido"
-#: ajax/upload.php:37
+#: ajax/upload.php:31
msgid "Missing a temporary folder"
msgstr "Pasta temporária não encontrada"
-#: ajax/upload.php:38
+#: ajax/upload.php:32
msgid "Failed to write to disk"
msgstr "Falha ao escrever no disco"
-#: ajax/upload.php:57
-msgid "Not enough space available"
+#: ajax/upload.php:48
+msgid "Not enough storage available"
msgstr ""
-#: ajax/upload.php:91
+#: ajax/upload.php:77
msgid "Invalid directory."
msgstr ""
@@ -91,11 +86,11 @@ msgstr ""
msgid "Files"
msgstr "Arquivos"
-#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
+#: js/fileactions.js:117 templates/index.php:81 templates/index.php:82
msgid "Unshare"
msgstr "Descompartilhar"
-#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
+#: js/fileactions.js:119 templates/index.php:87 templates/index.php:88
msgid "Delete"
msgstr "Excluir"
@@ -103,139 +98,151 @@ msgstr "Excluir"
msgid "Rename"
msgstr "Renomear"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "{new_name} already exists"
msgstr "{new_name} já existe"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "replace"
msgstr "substituir"
-#: js/filelist.js:205
+#: js/filelist.js:208
msgid "suggest name"
msgstr "sugerir nome"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "cancel"
msgstr "cancelar"
-#: js/filelist.js:254
+#: js/filelist.js:253
msgid "replaced {new_name}"
msgstr "substituído {new_name}"
-#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
+#: js/filelist.js:253 js/filelist.js:255 js/filelist.js:286 js/filelist.js:288
msgid "undo"
msgstr "desfazer"
-#: js/filelist.js:256
+#: js/filelist.js:255
msgid "replaced {new_name} with {old_name}"
msgstr "Substituído {old_name} por {new_name} "
-#: js/filelist.js:288
+#: js/filelist.js:286
msgid "unshared {files}"
msgstr "{files} não compartilhados"
-#: js/filelist.js:290
+#: js/filelist.js:288
msgid "deleted {files}"
msgstr "{files} apagados"
-#: js/files.js:48
+#: js/files.js:52
msgid "'.' is an invalid file name."
msgstr ""
-#: js/files.js:53
+#: js/files.js:56
msgid "File name cannot be empty."
msgstr ""
-#: js/files.js:62
+#: js/files.js:64
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr "Nome inválido, '\\', '/', '<', '>', ':', '\"', '|', '?' e '*' não são permitidos."
-#: js/files.js:204
+#: js/files.js:78
+msgid "Your storage is full, files can not be updated or synced anymore!"
+msgstr ""
+
+#: js/files.js:82
+msgid "Your storage is almost full ({usedSpacePercent}%)"
+msgstr ""
+
+#: js/files.js:219
msgid ""
"Your download is being prepared. This might take some time if the files are "
"big."
msgstr ""
-#: js/files.js:242
+#: js/files.js:256
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:242
+#: js/files.js:256
msgid "Upload Error"
msgstr "Erro de envio"
-#: js/files.js:259
+#: js/files.js:273
msgid "Close"
msgstr "Fechar"
-#: js/files.js:278 js/files.js:397 js/files.js:431
+#: js/files.js:292 js/files.js:408 js/files.js:439
msgid "Pending"
msgstr "Pendente"
-#: js/files.js:298
+#: js/files.js:312
msgid "1 file uploading"
msgstr "enviando 1 arquivo"
-#: js/files.js:301 js/files.js:357 js/files.js:372
+#: js/files.js:315 js/files.js:370 js/files.js:385
msgid "{count} files uploading"
msgstr "Enviando {count} arquivos"
-#: js/files.js:376 js/files.js:414
+#: js/files.js:388 js/files.js:423
msgid "Upload cancelled."
msgstr "Envio cancelado."
-#: js/files.js:486
+#: js/files.js:493
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:559
+#: js/files.js:566
msgid "URL cannot be empty."
msgstr "URL não pode ficar em branco"
-#: js/files.js:565
+#: js/files.js:571
msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
msgstr ""
-#: js/files.js:775
+#: js/files.js:784
msgid "{count} files scanned"
msgstr "{count} arquivos scaneados"
-#: js/files.js:783
+#: js/files.js:792
msgid "error while scanning"
msgstr "erro durante verificação"
-#: js/files.js:857 templates/index.php:64
+#: js/files.js:866 templates/index.php:63
msgid "Name"
msgstr "Nome"
-#: js/files.js:858 templates/index.php:75
+#: js/files.js:867 templates/index.php:74
msgid "Size"
msgstr "Tamanho"
-#: js/files.js:859 templates/index.php:77
+#: js/files.js:868 templates/index.php:76
msgid "Modified"
msgstr "Modificado"
-#: js/files.js:878
+#: js/files.js:887
msgid "1 folder"
msgstr "1 pasta"
-#: js/files.js:880
+#: js/files.js:889
msgid "{count} folders"
msgstr "{count} pastas"
-#: js/files.js:888
+#: js/files.js:897
msgid "1 file"
msgstr "1 arquivo"
-#: js/files.js:890
+#: js/files.js:899
msgid "{count} files"
msgstr "{count} arquivos"
+#: lib/helper.php:11 templates/index.php:18
+msgid "Upload"
+msgstr "Carregar"
+
#: templates/admin.php:5
msgid "File handling"
msgstr "Tratamento de Arquivo"
@@ -288,28 +295,28 @@ msgstr "Do link"
msgid "Cancel upload"
msgstr "Cancelar upload"
-#: templates/index.php:56
+#: templates/index.php:55
msgid "Nothing in here. Upload something!"
msgstr "Nada aqui.Carrege alguma coisa!"
-#: templates/index.php:70
+#: templates/index.php:69
msgid "Download"
msgstr "Baixar"
-#: templates/index.php:102
+#: templates/index.php:101
msgid "Upload too large"
msgstr "Arquivo muito grande"
-#: templates/index.php:104
+#: templates/index.php:103
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:109
+#: templates/index.php:108
msgid "Files are being scanned, please wait."
msgstr "Arquivos sendo escaneados, por favor aguarde."
-#: templates/index.php:112
+#: templates/index.php:111
msgid "Current scanning"
msgstr "Scanning atual"
diff --git a/l10n/pt_PT/core.po b/l10n/pt_PT/core.po
index 8cf1dad2efb..095cb39729d 100644
--- a/l10n/pt_PT/core.po
+++ b/l10n/pt_PT/core.po
@@ -4,6 +4,7 @@
#
# Translators:
# <daniel@mouxy.net>, 2012-2013.
+# <duartegrilo@gmail.com>, 2013.
# Duarte Velez Grilo <duartegrilo@gmail.com>, 2012.
# <helder.meneses@gmail.com>, 2011, 2012.
# Helder Meneses <helder.meneses@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: 2013-01-15 00:03+0100\n"
-"PO-Revision-Date: 2013-01-14 23:03+0000\n"
+"POT-Creation-Date: 2013-01-29 00:04+0100\n"
+"PO-Revision-Date: 2013-01-28 23:05+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"
@@ -78,66 +79,142 @@ msgstr "Erro a adicionar %s aos favoritos"
#: ajax/vcategories/delete.php:35 js/oc-vcategories.js:136
msgid "No categories selected for deletion."
-msgstr "Nenhuma categoria seleccionar para eliminar"
+msgstr "Nenhuma categoria seleccionada para apagar"
#: ajax/vcategories/removeFromFavorites.php:35
#, php-format
msgid "Error removing %s from favorites."
msgstr "Erro a remover %s dos favoritos."
-#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61
+#: js/config.php:32
+msgid "Sunday"
+msgstr "Domingo"
+
+#: js/config.php:32
+msgid "Monday"
+msgstr "Segunda"
+
+#: js/config.php:32
+msgid "Tuesday"
+msgstr "Terça"
+
+#: js/config.php:32
+msgid "Wednesday"
+msgstr "Quarta"
+
+#: js/config.php:32
+msgid "Thursday"
+msgstr "Quinta"
+
+#: js/config.php:32
+msgid "Friday"
+msgstr "Sexta"
+
+#: js/config.php:32
+msgid "Saturday"
+msgstr "Sábado"
+
+#: js/config.php:33
+msgid "January"
+msgstr "Janeiro"
+
+#: js/config.php:33
+msgid "February"
+msgstr "Fevereiro"
+
+#: js/config.php:33
+msgid "March"
+msgstr "Março"
+
+#: js/config.php:33
+msgid "April"
+msgstr "Abril"
+
+#: js/config.php:33
+msgid "May"
+msgstr "Maio"
+
+#: js/config.php:33
+msgid "June"
+msgstr "Junho"
+
+#: js/config.php:33
+msgid "July"
+msgstr "Julho"
+
+#: js/config.php:33
+msgid "August"
+msgstr "Agosto"
+
+#: js/config.php:33
+msgid "September"
+msgstr "Setembro"
+
+#: js/config.php:33
+msgid "October"
+msgstr "Outubro"
+
+#: js/config.php:33
+msgid "November"
+msgstr "Novembro"
+
+#: js/config.php:33
+msgid "December"
+msgstr "Dezembro"
+
+#: js/js.js:280 templates/layout.user.php:47 templates/layout.user.php:48
msgid "Settings"
msgstr "Definições"
-#: js/js.js:711
+#: js/js.js:762
msgid "seconds ago"
msgstr "Minutos atrás"
-#: js/js.js:712
+#: js/js.js:763
msgid "1 minute ago"
-msgstr "Falta 1 minuto"
+msgstr "Há 1 minuto"
-#: js/js.js:713
+#: js/js.js:764
msgid "{minutes} minutes ago"
msgstr "{minutes} minutos atrás"
-#: js/js.js:714
+#: js/js.js:765
msgid "1 hour ago"
msgstr "Há 1 hora"
-#: js/js.js:715
+#: js/js.js:766
msgid "{hours} hours ago"
msgstr "Há {hours} horas atrás"
-#: js/js.js:716
+#: js/js.js:767
msgid "today"
msgstr "hoje"
-#: js/js.js:717
+#: js/js.js:768
msgid "yesterday"
msgstr "ontem"
-#: js/js.js:718
+#: js/js.js:769
msgid "{days} days ago"
msgstr "{days} dias atrás"
-#: js/js.js:719
+#: js/js.js:770
msgid "last month"
msgstr "ultímo mês"
-#: js/js.js:720
+#: js/js.js:771
msgid "{months} months ago"
msgstr "Há {months} meses atrás"
-#: js/js.js:721
+#: js/js.js:772
msgid "months ago"
msgstr "meses atrás"
-#: js/js.js:722
+#: js/js.js:773
msgid "last year"
msgstr "ano passado"
-#: js/js.js:723
+#: js/js.js:774
msgid "years ago"
msgstr "anos atrás"
@@ -294,7 +371,18 @@ msgstr "A Enviar..."
#: js/share.js:592
msgid "Email sent"
-msgstr "E-mail enviado com sucesso!"
+msgstr "E-mail enviado"
+
+#: js/update.js:14
+msgid ""
+"The update was unsuccessful. Please report this issue to the <a "
+"href=\"https://github.com/owncloud/core/issues\" target=\"_blank\">ownCloud "
+"community</a>."
+msgstr ""
+
+#: js/update.js:18
+msgid "The update was successful. Redirecting you to ownCloud now."
+msgstr ""
#: lostpassword/controller.php:47
msgid "ownCloud password reset"
@@ -331,7 +419,7 @@ msgstr "A sua password foi reposta"
#: lostpassword/templates/resetpassword.php:5
msgid "To login page"
-msgstr "Para a página de conexão"
+msgstr "Para a página de entrada"
#: lostpassword/templates/resetpassword.php:8
msgid "New password"
@@ -441,93 +529,17 @@ msgstr "Tablespace da base de dados"
#: templates/installation.php:129
msgid "Database host"
-msgstr "Host da base de dados"
+msgstr "Anfitrião da base de dados"
#: templates/installation.php:134
msgid "Finish setup"
msgstr "Acabar instalação"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Sunday"
-msgstr "Domingo"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Monday"
-msgstr "Segunda"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Tuesday"
-msgstr "Terça"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Wednesday"
-msgstr "Quarta"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Thursday"
-msgstr "Quinta"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Friday"
-msgstr "Sexta"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Saturday"
-msgstr "Sábado"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "January"
-msgstr "Janeiro"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "February"
-msgstr "Fevereiro"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "March"
-msgstr "Março"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "April"
-msgstr "Abril"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "May"
-msgstr "Maio"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "June"
-msgstr "Junho"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "July"
-msgstr "Julho"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "August"
-msgstr "Agosto"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "September"
-msgstr "Setembro"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "October"
-msgstr "Outubro"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "November"
-msgstr "Novembro"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "December"
-msgstr "Dezembro"
-
-#: templates/layout.guest.php:42
+#: templates/layout.guest.php:34
msgid "web services under your control"
msgstr "serviços web sob o seu controlo"
-#: templates/layout.user.php:45
+#: templates/layout.user.php:32
msgid "Log out"
msgstr "Sair"
@@ -547,7 +559,7 @@ msgstr "Por favor mude a sua palavra-passe para assegurar a sua conta de novo."
#: templates/login.php:19
msgid "Lost your password?"
-msgstr "Esqueceu a sua password?"
+msgstr "Esqueceu-se da sua password?"
#: templates/login.php:39
msgid "remember"
@@ -568,4 +580,4 @@ msgstr "seguinte"
#: 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."
+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 1ba8520b85c..38429e8ec21 100644
--- a/l10n/pt_PT/files.po
+++ b/l10n/pt_PT/files.po
@@ -5,6 +5,7 @@
# Translators:
# <daniel@mouxy.net>, 2012-2013.
# Daniel Pinto <daniel@mouxy.net>, 2013.
+# <duartegrilo@gmail.com>, 2013.
# Duarte Velez Grilo <duartegrilo@gmail.com>, 2012.
# <geral@ricardolameiro.pt>, 2012.
# Helder Meneses <helder.meneses@gmail.com>, 2012.
@@ -13,9 +14,9 @@ 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-21 12:23+0000\n"
-"Last-Translator: Mouxy <daniel@mouxy.net>\n"
+"POT-Creation-Date: 2013-01-29 00:04+0100\n"
+"PO-Revision-Date: 2013-01-28 17:06+0000\n"
+"Last-Translator: Duarte Velez Grilo <duartegrilo@gmail.com>\n"
"Language-Team: Portuguese (Portugal) (http://www.transifex.com/projects/p/owncloud/language/pt_PT/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -23,11 +24,6 @@ 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"
@@ -42,46 +38,46 @@ msgstr "Não foi possível move o ficheiro %s"
msgid "Unable to rename file"
msgstr "Não foi possível renomear o ficheiro"
-#: ajax/upload.php:20
+#: ajax/upload.php:17
msgid "No file was uploaded. Unknown error"
msgstr "Nenhum ficheiro foi carregado. Erro desconhecido"
-#: ajax/upload.php:30
+#: ajax/upload.php:24
msgid "There is no error, the file uploaded with success"
msgstr "Sem erro, ficheiro enviado com sucesso"
-#: ajax/upload.php:31
+#: ajax/upload.php:25
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:33
+#: ajax/upload.php:27
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:35
+#: ajax/upload.php:29
msgid "The uploaded file was only partially uploaded"
msgstr "O ficheiro enviado só foi enviado parcialmente"
-#: ajax/upload.php:36
+#: ajax/upload.php:30
msgid "No file was uploaded"
msgstr "Não foi enviado nenhum ficheiro"
-#: ajax/upload.php:37
+#: ajax/upload.php:31
msgid "Missing a temporary folder"
msgstr "Falta uma pasta temporária"
-#: ajax/upload.php:38
+#: ajax/upload.php:32
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:48
+msgid "Not enough storage available"
+msgstr "Não há espaço suficiente em disco"
-#: ajax/upload.php:91
+#: ajax/upload.php:77
msgid "Invalid directory."
msgstr "Directório Inválido"
@@ -89,11 +85,11 @@ msgstr "Directório Inválido"
msgid "Files"
msgstr "Ficheiros"
-#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
+#: js/fileactions.js:117 templates/index.php:81 templates/index.php:82
msgid "Unshare"
msgstr "Deixar de partilhar"
-#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
+#: js/fileactions.js:119 templates/index.php:87 templates/index.php:88
msgid "Delete"
msgstr "Apagar"
@@ -101,139 +97,151 @@ msgstr "Apagar"
msgid "Rename"
msgstr "Renomear"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "{new_name} already exists"
msgstr "O nome {new_name} já existe"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "replace"
msgstr "substituir"
-#: js/filelist.js:205
+#: js/filelist.js:208
msgid "suggest name"
-msgstr "Sugira um nome"
+msgstr "sugira um nome"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "cancel"
msgstr "cancelar"
-#: js/filelist.js:254
+#: js/filelist.js:253
msgid "replaced {new_name}"
msgstr "{new_name} substituido"
-#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
+#: js/filelist.js:253 js/filelist.js:255 js/filelist.js:286 js/filelist.js:288
msgid "undo"
msgstr "desfazer"
-#: js/filelist.js:256
+#: js/filelist.js:255
msgid "replaced {new_name} with {old_name}"
msgstr "substituido {new_name} por {old_name}"
-#: js/filelist.js:288
+#: js/filelist.js:286
msgid "unshared {files}"
msgstr "{files} não partilhado(s)"
-#: js/filelist.js:290
+#: js/filelist.js:288
msgid "deleted {files}"
msgstr "{files} eliminado(s)"
-#: js/files.js:48
+#: js/files.js:52
msgid "'.' is an invalid file name."
msgstr "'.' não é um nome de ficheiro válido!"
-#: js/files.js:53
+#: js/files.js:56
msgid "File name cannot be empty."
msgstr "O nome do ficheiro não pode estar vazio."
-#: js/files.js:62
+#: js/files.js:64
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr "Nome Inválido, os caracteres '\\', '/', '<', '>', ':', '\"', '|', '?' e '*' não são permitidos."
-#: js/files.js:204
+#: js/files.js:78
+msgid "Your storage is full, files can not be updated or synced anymore!"
+msgstr "O seu armazenamento está cheio, os ficheiros não podem ser sincronizados."
+
+#: js/files.js:82
+msgid "Your storage is almost full ({usedSpacePercent}%)"
+msgstr "O seu espaço de armazenamento está quase cheiro ({usedSpacePercent}%)"
+
+#: js/files.js:219
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:242
+#: js/files.js:256
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:242
+#: js/files.js:256
msgid "Upload Error"
msgstr "Erro no envio"
-#: js/files.js:259
+#: js/files.js:273
msgid "Close"
msgstr "Fechar"
-#: js/files.js:278 js/files.js:397 js/files.js:431
+#: js/files.js:292 js/files.js:408 js/files.js:439
msgid "Pending"
msgstr "Pendente"
-#: js/files.js:298
+#: js/files.js:312
msgid "1 file uploading"
msgstr "A enviar 1 ficheiro"
-#: js/files.js:301 js/files.js:357 js/files.js:372
+#: js/files.js:315 js/files.js:370 js/files.js:385
msgid "{count} files uploading"
msgstr "A carregar {count} ficheiros"
-#: js/files.js:376 js/files.js:414
+#: js/files.js:388 js/files.js:423
msgid "Upload cancelled."
-msgstr "O envio foi cancelado."
+msgstr "Envio cancelado."
-#: js/files.js:486
+#: js/files.js:493
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:559
+#: js/files.js:566
msgid "URL cannot be empty."
msgstr "O URL não pode estar vazio."
-#: js/files.js:565
+#: js/files.js:571
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
+#: js/files.js:784
msgid "{count} files scanned"
msgstr "{count} ficheiros analisados"
-#: js/files.js:783
+#: js/files.js:792
msgid "error while scanning"
msgstr "erro ao analisar"
-#: js/files.js:857 templates/index.php:64
+#: js/files.js:866 templates/index.php:63
msgid "Name"
msgstr "Nome"
-#: js/files.js:858 templates/index.php:75
+#: js/files.js:867 templates/index.php:74
msgid "Size"
msgstr "Tamanho"
-#: js/files.js:859 templates/index.php:77
+#: js/files.js:868 templates/index.php:76
msgid "Modified"
msgstr "Modificado"
-#: js/files.js:878
+#: js/files.js:887
msgid "1 folder"
msgstr "1 pasta"
-#: js/files.js:880
+#: js/files.js:889
msgid "{count} folders"
msgstr "{count} pastas"
-#: js/files.js:888
+#: js/files.js:897
msgid "1 file"
msgstr "1 ficheiro"
-#: js/files.js:890
+#: js/files.js:899
msgid "{count} files"
msgstr "{count} ficheiros"
+#: lib/helper.php:11 templates/index.php:18
+msgid "Upload"
+msgstr "Enviar"
+
#: templates/admin.php:5
msgid "File handling"
msgstr "Manuseamento de ficheiros"
@@ -286,28 +294,28 @@ msgstr "Da ligação"
msgid "Cancel upload"
msgstr "Cancelar envio"
-#: templates/index.php:56
+#: templates/index.php:55
msgid "Nothing in here. Upload something!"
msgstr "Vazio. Envie alguma coisa!"
-#: templates/index.php:70
+#: templates/index.php:69
msgid "Download"
msgstr "Transferir"
-#: templates/index.php:102
+#: templates/index.php:101
msgid "Upload too large"
msgstr "Envio muito grande"
-#: templates/index.php:104
+#: templates/index.php:103
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:109
+#: templates/index.php:108
msgid "Files are being scanned, please wait."
msgstr "Os ficheiros estão a ser analisados, por favor aguarde."
-#: templates/index.php:112
+#: templates/index.php:111
msgid "Current scanning"
msgstr "Análise actual"
diff --git a/l10n/ro/core.po b/l10n/ro/core.po
index b4fb56151ad..3d027cef265 100644
--- a/l10n/ro/core.po
+++ b/l10n/ro/core.po
@@ -5,6 +5,7 @@
# 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.
@@ -12,8 +13,8 @@ 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"
+"POT-Creation-Date: 2013-01-29 00:04+0100\n"
+"PO-Revision-Date: 2013-01-28 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"
@@ -25,26 +26,26 @@ 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
msgid "User %s shared a folder with you"
-msgstr ""
+msgstr "Utilizatorul %s a partajat un dosar cu tine"
#: ajax/share.php:88
#, php-format
msgid ""
"User %s shared the file \"%s\" with you. It is available for download here: "
"%s"
-msgstr ""
+msgstr "Utilizatorul %s a partajat fișierul \"%s\" cu tine. Îl poți descărca de aici: %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 "Utilizatorul %s a partajat dosarul \"%s\" cu tine. Îl poți descărca de aici: %s "
#: ajax/vcategories/add.php:26 ajax/vcategories/edit.php:25
msgid "Category type not provided."
@@ -68,12 +69,12 @@ msgstr "Tipul obiectului nu este prevazut"
#: 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."
@@ -82,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:32
+msgid "Sunday"
+msgstr "Duminică"
+
+#: js/config.php:32
+msgid "Monday"
+msgstr "Luni"
+
+#: js/config.php:32
+msgid "Tuesday"
+msgstr "Marți"
+
+#: js/config.php:32
+msgid "Wednesday"
+msgstr "Miercuri"
+
+#: js/config.php:32
+msgid "Thursday"
+msgstr "Joi"
+
+#: js/config.php:32
+msgid "Friday"
+msgstr "Vineri"
+
+#: js/config.php:32
+msgid "Saturday"
+msgstr "Sâmbătă"
+
+#: js/config.php:33
+msgid "January"
+msgstr "Ianuarie"
+
+#: js/config.php:33
+msgid "February"
+msgstr "Februarie"
-#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61
+#: js/config.php:33
+msgid "March"
+msgstr "Martie"
+
+#: js/config.php:33
+msgid "April"
+msgstr "Aprilie"
+
+#: js/config.php:33
+msgid "May"
+msgstr "Mai"
+
+#: js/config.php:33
+msgid "June"
+msgstr "Iunie"
+
+#: js/config.php:33
+msgid "July"
+msgstr "Iulie"
+
+#: js/config.php:33
+msgid "August"
+msgstr "August"
+
+#: js/config.php:33
+msgid "September"
+msgstr "Septembrie"
+
+#: js/config.php:33
+msgid "October"
+msgstr "Octombrie"
+
+#: js/config.php:33
+msgid "November"
+msgstr "Noiembrie"
+
+#: js/config.php:33
+msgid "December"
+msgstr "Decembrie"
+
+#: js/js.js:280 templates/layout.user.php:47 templates/layout.user.php:48
msgid "Settings"
msgstr "Configurări"
-#: js/js.js:711
+#: js/js.js:762
msgid "seconds ago"
msgstr "secunde în urmă"
-#: js/js.js:712
+#: js/js.js:763
msgid "1 minute ago"
msgstr "1 minut în urmă"
-#: js/js.js:713
+#: js/js.js:764
msgid "{minutes} minutes ago"
msgstr "{minutes} minute in urma"
-#: js/js.js:714
+#: js/js.js:765
msgid "1 hour ago"
msgstr "Acum o ora"
-#: js/js.js:715
+#: js/js.js:766
msgid "{hours} hours ago"
-msgstr ""
+msgstr "{hours} ore în urmă"
-#: js/js.js:716
+#: js/js.js:767
msgid "today"
msgstr "astăzi"
-#: js/js.js:717
+#: js/js.js:768
msgid "yesterday"
msgstr "ieri"
-#: js/js.js:718
+#: js/js.js:769
msgid "{days} days ago"
msgstr "{days} zile in urma"
-#: js/js.js:719
+#: js/js.js:770
msgid "last month"
msgstr "ultima lună"
-#: js/js.js:720
+#: js/js.js:771
msgid "{months} months ago"
-msgstr ""
+msgstr "{months} luni în urmă"
-#: js/js.js:721
+#: js/js.js:772
msgid "months ago"
msgstr "luni în urmă"
-#: js/js.js:722
+#: js/js.js:773
msgid "last year"
msgstr "ultimul an"
-#: js/js.js:723
+#: js/js.js:774
msgid "years ago"
msgstr "ani în urmă"
@@ -163,7 +240,7 @@ 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:554
@@ -173,11 +250,11 @@ 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:594
msgid "Error while sharing"
@@ -217,11 +294,11 @@ msgstr "Parola"
#: js/share.js:172
msgid "Email link to person"
-msgstr ""
+msgstr "Expediază legătura prin poșta electronică"
#: js/share.js:173
msgid "Send"
-msgstr ""
+msgstr "Expediază"
#: js/share.js:177
msgid "Set expiration date"
@@ -289,10 +366,21 @@ msgstr "Eroare la specificarea datei de expirare"
#: js/share.js:581
msgid "Sending ..."
-msgstr ""
+msgstr "Se expediază..."
#: js/share.js:592
msgid "Email sent"
+msgstr "Mesajul a fost expediat"
+
+#: js/update.js:14
+msgid ""
+"The update was unsuccessful. Please report this issue to the <a "
+"href=\"https://github.com/owncloud/core/issues\" target=\"_blank\">ownCloud "
+"community</a>."
+msgstr ""
+
+#: js/update.js:18
+msgid "The update was successful. Redirecting you to ownCloud now."
msgstr ""
#: lostpassword/controller.php:47
@@ -446,87 +534,11 @@ msgstr "Bază date"
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:34
msgid "web services under your control"
msgstr "servicii web controlate de tine"
-#: templates/layout.user.php:45
+#: templates/layout.user.php:32
msgid "Log out"
msgstr "Ieșire"
@@ -567,4 +579,4 @@ msgstr "următorul"
#: templates/update.php:3
#, php-format
msgid "Updating ownCloud to version %s, this may take a while."
-msgstr ""
+msgstr "Actualizăm ownCloud la versiunea %s, aceasta poate dura câteva momente."
diff --git a/l10n/ro/files.po b/l10n/ro/files.po
index 113c4ac8b1f..e5a64577ebc 100644
--- a/l10n/ro/files.po
+++ b/l10n/ro/files.po
@@ -5,6 +5,7 @@
# Translators:
# Claudiu <claudiu@tanaselia.ro>, 2011-2013.
# Dimon Pockemon <>, 2012.
+# Dumitru Ursu <>, 2013.
# Eugen Mihalache <eugemjj@gmail.com>, 2012.
# <g.ciprian@osn.ro>, 2012-2013.
# <laur.cristescu@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: 2013-01-20 00:05+0100\n"
-"PO-Revision-Date: 2013-01-19 23:05+0000\n"
+"POT-Creation-Date: 2013-01-27 00:04+0100\n"
+"PO-Revision-Date: 2013-01-26 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"
@@ -22,15 +23,10 @@ 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 ""
+msgstr "Nu se poate de mutat %s - Fișier cu acest nume deja există"
#: ajax/move.php:24
#, php-format
@@ -41,46 +37,46 @@ msgstr "Nu s-a putut muta %s"
msgid "Unable to rename file"
msgstr "Nu s-a putut redenumi fișierul"
-#: ajax/upload.php:20
+#: ajax/upload.php:17
msgid "No file was uploaded. Unknown error"
msgstr "Nici un fișier nu a fost încărcat. Eroare necunoscută"
-#: ajax/upload.php:30
+#: ajax/upload.php:24
msgid "There is no error, the file uploaded with success"
msgstr "Nicio eroare, fișierul a fost încărcat cu succes"
-#: ajax/upload.php:31
+#: ajax/upload.php:25
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr "Fisierul incarcat depaseste upload_max_filesize permisi in php.ini: "
-#: ajax/upload.php:33
+#: ajax/upload.php:27
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:35
+#: ajax/upload.php:29
msgid "The uploaded file was only partially uploaded"
msgstr "Fișierul a fost încărcat doar parțial"
-#: ajax/upload.php:36
+#: ajax/upload.php:30
msgid "No file was uploaded"
msgstr "Niciun fișier încărcat"
-#: ajax/upload.php:37
+#: ajax/upload.php:31
msgid "Missing a temporary folder"
msgstr "Lipsește un dosar temporar"
-#: ajax/upload.php:38
+#: ajax/upload.php:32
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:48
+msgid "Not enough storage available"
+msgstr ""
-#: ajax/upload.php:91
+#: ajax/upload.php:77
msgid "Invalid directory."
msgstr "Director invalid."
@@ -88,11 +84,11 @@ msgstr "Director invalid."
msgid "Files"
msgstr "Fișiere"
-#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
+#: js/fileactions.js:117 templates/index.php:81 templates/index.php:82
msgid "Unshare"
msgstr "Anulează partajarea"
-#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
+#: js/fileactions.js:119 templates/index.php:87 templates/index.php:88
msgid "Delete"
msgstr "Șterge"
@@ -100,139 +96,151 @@ msgstr "Șterge"
msgid "Rename"
msgstr "Redenumire"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "{new_name} already exists"
msgstr "{new_name} deja exista"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "replace"
msgstr "înlocuire"
-#: js/filelist.js:205
+#: js/filelist.js:208
msgid "suggest name"
msgstr "sugerează nume"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "cancel"
msgstr "anulare"
-#: js/filelist.js:254
+#: js/filelist.js:253
msgid "replaced {new_name}"
msgstr "inlocuit {new_name}"
-#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
+#: js/filelist.js:253 js/filelist.js:255 js/filelist.js:286 js/filelist.js:288
msgid "undo"
msgstr "Anulează ultima acțiune"
-#: js/filelist.js:256
+#: js/filelist.js:255
msgid "replaced {new_name} with {old_name}"
msgstr "{new_name} inlocuit cu {old_name}"
-#: js/filelist.js:288
+#: js/filelist.js:286
msgid "unshared {files}"
msgstr "nedistribuit {files}"
-#: js/filelist.js:290
+#: js/filelist.js:288
msgid "deleted {files}"
msgstr "Sterse {files}"
-#: js/files.js:48
+#: js/files.js:52
msgid "'.' is an invalid file name."
msgstr "'.' este un nume invalid de fișier."
-#: js/files.js:53
+#: js/files.js:56
msgid "File name cannot be empty."
msgstr "Numele fișierului nu poate rămâne gol."
-#: js/files.js:62
+#: js/files.js:64
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr "Nume invalid, '\\', '/', '<', '>', ':', '\"', '|', '?' si '*' nu sunt permise."
-#: js/files.js:204
+#: js/files.js:78
+msgid "Your storage is full, files can not be updated or synced anymore!"
+msgstr ""
+
+#: js/files.js:82
+msgid "Your storage is almost full ({usedSpacePercent}%)"
+msgstr ""
+
+#: js/files.js:219
msgid ""
"Your download is being prepared. This might take some time if the files are "
"big."
-msgstr ""
+msgstr "Se pregătește descărcarea. Aceasta poate să dureze ceva timp dacă fișierele sunt mari."
-#: js/files.js:242
+#: js/files.js:256
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:242
+#: js/files.js:256
msgid "Upload Error"
msgstr "Eroare la încărcare"
-#: js/files.js:259
+#: js/files.js:273
msgid "Close"
msgstr "ÃŽnchide"
-#: js/files.js:278 js/files.js:397 js/files.js:431
+#: js/files.js:292 js/files.js:408 js/files.js:439
msgid "Pending"
msgstr "În așteptare"
-#: js/files.js:298
+#: js/files.js:312
msgid "1 file uploading"
msgstr "un fișier se încarcă"
-#: js/files.js:301 js/files.js:357 js/files.js:372
+#: js/files.js:315 js/files.js:370 js/files.js:385
msgid "{count} files uploading"
msgstr "{count} fisiere incarcate"
-#: js/files.js:376 js/files.js:414
+#: js/files.js:388 js/files.js:423
msgid "Upload cancelled."
msgstr "Încărcare anulată."
-#: js/files.js:486
+#: js/files.js:493
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:559
+#: js/files.js:566
msgid "URL cannot be empty."
msgstr "Adresa URL nu poate fi goală."
-#: js/files.js:565
+#: js/files.js:571
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
+#: js/files.js:784
msgid "{count} files scanned"
msgstr "{count} fisiere scanate"
-#: js/files.js:783
+#: js/files.js:792
msgid "error while scanning"
msgstr "eroare la scanarea"
-#: js/files.js:857 templates/index.php:64
+#: js/files.js:866 templates/index.php:63
msgid "Name"
msgstr "Nume"
-#: js/files.js:858 templates/index.php:75
+#: js/files.js:867 templates/index.php:74
msgid "Size"
msgstr "Dimensiune"
-#: js/files.js:859 templates/index.php:77
+#: js/files.js:868 templates/index.php:76
msgid "Modified"
msgstr "Modificat"
-#: js/files.js:878
+#: js/files.js:887
msgid "1 folder"
msgstr "1 folder"
-#: js/files.js:880
+#: js/files.js:889
msgid "{count} folders"
msgstr "{count} foldare"
-#: js/files.js:888
+#: js/files.js:897
msgid "1 file"
msgstr "1 fisier"
-#: js/files.js:890
+#: js/files.js:899
msgid "{count} files"
msgstr "{count} fisiere"
+#: lib/helper.php:11 templates/index.php:18
+msgid "Upload"
+msgstr "Încarcă"
+
#: templates/admin.php:5
msgid "File handling"
msgstr "Manipulare fișiere"
@@ -285,28 +293,28 @@ msgstr "de la adresa"
msgid "Cancel upload"
msgstr "Anulează încărcarea"
-#: templates/index.php:56
+#: templates/index.php:55
msgid "Nothing in here. Upload something!"
msgstr "Nimic aici. Încarcă ceva!"
-#: templates/index.php:70
+#: templates/index.php:69
msgid "Download"
msgstr "Descarcă"
-#: templates/index.php:102
+#: templates/index.php:101
msgid "Upload too large"
msgstr "Fișierul încărcat este prea mare"
-#: templates/index.php:104
+#: templates/index.php:103
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:109
+#: templates/index.php:108
msgid "Files are being scanned, please wait."
msgstr "Fișierele sunt scanate, te rog așteptă."
-#: templates/index.php:112
+#: templates/index.php:111
msgid "Current scanning"
msgstr "ÃŽn curs de scanare"
diff --git a/l10n/ro/files_encryption.po b/l10n/ro/files_encryption.po
index 701aea30fb9..504f72e85c4 100644
--- a/l10n/ro/files_encryption.po
+++ b/l10n/ro/files_encryption.po
@@ -3,14 +3,15 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# Dumitru Ursu <>, 2013.
# <g.ciprian@osn.ro>, 2012.
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"
+"POT-Creation-Date: 2013-01-27 00:04+0100\n"
+"PO-Revision-Date: 2013-01-26 00:05+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"
@@ -22,53 +23,53 @@ msgstr ""
msgid ""
"Please switch to your ownCloud client and change your encryption password to"
" complete the conversion."
-msgstr ""
+msgstr "Te rugăm să mergi în clientul ownCloud și să schimbi parola pentru a finisa conversia"
#: js/settings-personal.js:17
msgid "switched to client side encryption"
-msgstr ""
+msgstr "setat la encriptare locală"
#: js/settings-personal.js:21
msgid "Change encryption password to login password"
-msgstr ""
+msgstr "Schimbă parola de ecriptare în parolă de acces"
#: js/settings-personal.js:25
msgid "Please check your passwords and try again."
-msgstr ""
+msgstr "Verifică te rog parolele și înceracă din nou."
#: js/settings-personal.js:25
msgid "Could not change your file encryption password to your login password"
-msgstr ""
+msgstr "Nu s-a putut schimba parola de encripție a fișierelor ca parolă de acces"
#: templates/settings-personal.php:3 templates/settings.php:5
msgid "Choose encryption mode:"
-msgstr ""
+msgstr "Alege tipul de ecripție"
#: 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 ""
+msgstr "Encripție locală (cea mai sigură, dar face ca datele să nu mai fie accesibile din interfața 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 ""
+msgstr "Encripție pe server (permite să accesezi datele tale din interfața web și din clientul pentru calculator)"
#: templates/settings-personal.php:41 templates/settings.php:60
msgid "None (no encryption at all)"
-msgstr ""
+msgstr "Fără (nici un fel de ecriptare)"
#: templates/settings.php:10
msgid ""
"Important: Once you selected an encryption mode there is no way to change it"
" back"
-msgstr ""
+msgstr "Important: Din moment ce ai setat un mod de encriptare, nu mai există metode de a-l schimba înapoi"
#: templates/settings.php:48
msgid "User specific (let the user decide)"
-msgstr ""
+msgstr "Spefic fiecărui utilizator (lasă utilizatorul să decidă)"
#: templates/settings.php:65
msgid "Encryption"
diff --git a/l10n/ro/files_external.po b/l10n/ro/files_external.po
index a2cf379cc42..fd43a0fd65b 100644
--- a/l10n/ro/files_external.po
+++ b/l10n/ro/files_external.po
@@ -3,14 +3,15 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# Dumitru Ursu <>, 2013.
# <g.ciprian@osn.ro>, 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-27 00:04+0100\n"
+"PO-Revision-Date: 2013-01-25 23:25+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"
@@ -20,40 +21,40 @@ msgstr ""
#: js/dropbox.js:7 js/dropbox.js:25 js/google.js:7 js/google.js:23
msgid "Access granted"
-msgstr ""
+msgstr "Acces permis"
#: js/dropbox.js:28 js/dropbox.js:74 js/dropbox.js:79 js/dropbox.js:86
msgid "Error configuring Dropbox storage"
-msgstr ""
+msgstr "Eroare la configurarea mediului de stocare Dropbox"
#: js/dropbox.js:34 js/dropbox.js:45 js/google.js:31 js/google.js:40
msgid "Grant access"
-msgstr ""
+msgstr "Permite accesul"
#: js/dropbox.js:73 js/google.js:72
msgid "Fill out all required fields"
-msgstr ""
+msgstr "Completează toate câmpurile necesare"
#: js/dropbox.js:85
msgid "Please provide a valid Dropbox app key and secret."
-msgstr ""
+msgstr "Prezintă te rog o cheie de Dropbox validă și parola"
#: js/google.js:26 js/google.js:73 js/google.js:78
msgid "Error configuring Google Drive storage"
-msgstr ""
+msgstr "Eroare la configurarea mediului de stocare 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>Atenție:</b> \"smbclient\" nu este instalat. Montarea mediilor CIFS/SMB partajate nu este posibilă. Solicită administratorului sistemului tău să îl instaleaze."
#: 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>Atenție:</b> suportul pentru FTP în PHP nu este activat sau instalat. Montarea mediilor FPT partajate nu este posibilă. Solicită administratorului sistemului tău să îl instaleze."
#: templates/settings.php:3
msgid "External Storage"
@@ -100,7 +101,7 @@ msgid "Users"
msgstr "Utilizatori"
#: 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 "Șterge"
@@ -112,10 +113,10 @@ msgstr "Permite stocare externă pentru utilizatori"
msgid "Allow users to mount their own external storage"
msgstr "Permite utilizatorilor să monteze stocare externă proprie"
-#: templates/settings.php:139
+#: templates/settings.php:136
msgid "SSL root certificates"
msgstr "Certificate SSL root"
-#: templates/settings.php:158
+#: templates/settings.php:153
msgid "Import Root Certificate"
msgstr "Importă certificat root"
diff --git a/l10n/ro/lib.po b/l10n/ro/lib.po
index cbfb8c3bfd4..a48eb334748 100644
--- a/l10n/ro/lib.po
+++ b/l10n/ro/lib.po
@@ -3,15 +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: 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"
+"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"
@@ -59,9 +60,9 @@ msgstr "Înapoi la fișiere"
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:228
+#: helper.php:229
msgid "couldn't be determined"
-msgstr ""
+msgstr "nu poate fi determinat"
#: json.php:28
msgid "Application is not enabled"
diff --git a/l10n/ro/settings.po b/l10n/ro/settings.po
index 280c113895e..4852a519d3d 100644
--- a/l10n/ro/settings.po
+++ b/l10n/ro/settings.po
@@ -5,6 +5,7 @@
# Translators:
# Claudiu <claudiu@tanaselia.ro>, 2011, 2012.
# Dimon Pockemon <>, 2012.
+# Dumitru Ursu <>, 2013.
# Eugen Mihalache <eugemjj@gmail.com>, 2012.
# <g.ciprian@osn.ro>, 2012-2013.
# <icewind1991@gmail.com>, 2012.
@@ -13,9 +14,9 @@ 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"
+"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"
@@ -69,7 +70,7 @@ 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
@@ -105,15 +106,15 @@ msgstr "Adaugă aplicația ta"
msgid "More Apps"
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>"
@@ -144,7 +145,7 @@ 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"
@@ -216,7 +217,7 @@ 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"
diff --git a/l10n/ro/user_ldap.po b/l10n/ro/user_ldap.po
index 41e4eebb9f3..a57e18531e1 100644
--- a/l10n/ro/user_ldap.po
+++ b/l10n/ro/user_ldap.po
@@ -3,16 +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: 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"
+"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"
@@ -31,7 +31,7 @@ msgstr "<b>Atentie:</b> Apps user_ldap si user_webdavauth sunt incompatibile. Es
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 ""
+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"
@@ -48,7 +48,7 @@ msgstr "DN de bază"
#: templates/settings.php:16
msgid "One Base DN per line"
-msgstr ""
+msgstr "Un Base DN pe linie"
#: templates/settings.php:16
msgid "You can specify Base DN for users and groups in the Advanced tab"
@@ -123,7 +123,7 @@ msgstr "Arborele de bază al Utilizatorilor"
#: templates/settings.php:25
msgid "One User Base DN per line"
-msgstr ""
+msgstr "Un User Base DN pe linie"
#: templates/settings.php:26
msgid "Base Group Tree"
@@ -131,7 +131,7 @@ msgstr "Arborele de bază al Grupurilor"
#: templates/settings.php:26
msgid "One Group Base DN per line"
-msgstr ""
+msgstr "Un Group Base DN pe linie"
#: templates/settings.php:27
msgid "Group-Member association"
diff --git a/l10n/ro/user_webdavauth.po b/l10n/ro/user_webdavauth.po
index fdbba4b6f80..1f11c76068b 100644
--- a/l10n/ro/user_webdavauth.po
+++ b/l10n/ro/user_webdavauth.po
@@ -3,14 +3,15 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# Dumitru Ursu <>, 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: 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"
+"POT-Creation-Date: 2013-01-27 00:04+0100\n"
+"PO-Revision-Date: 2013-01-26 00: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"
@@ -20,7 +21,7 @@ msgstr ""
#: templates/settings.php:3
msgid "WebDAV Authentication"
-msgstr ""
+msgstr "Autentificare WebDAV"
#: templates/settings.php:4
msgid "URL: http://"
@@ -31,4 +32,4 @@ 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 ""
+msgstr "ownCloud va trimite datele de autentificare la acest URL. Acest modul verifică răspunsul și va interpreta codurile de status HTTP 401 sau 403 ca fiind date de autentificare invalide, și orice alt răspuns ca fiind date valide."
diff --git a/l10n/ru/core.po b/l10n/ru/core.po
index 2bbb44f36f8..365f4aa4461 100644
--- a/l10n/ru/core.po
+++ b/l10n/ru/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: 2013-01-15 00:03+0100\n"
-"PO-Revision-Date: 2013-01-14 23:03+0000\n"
+"POT-Creation-Date: 2013-01-29 00:04+0100\n"
+"PO-Revision-Date: 2013-01-28 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"
@@ -89,59 +89,135 @@ msgstr "Ðет категорий Ð´Ð»Ñ ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ."
msgid "Error removing %s from favorites."
msgstr "Ошибка ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ %s из избранного"
-#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61
+#: js/config.php:32
+msgid "Sunday"
+msgstr "ВоÑкреÑенье"
+
+#: js/config.php:32
+msgid "Monday"
+msgstr "Понедельник"
+
+#: js/config.php:32
+msgid "Tuesday"
+msgstr "Вторник"
+
+#: js/config.php:32
+msgid "Wednesday"
+msgstr "Среда"
+
+#: js/config.php:32
+msgid "Thursday"
+msgstr "Четверг"
+
+#: js/config.php:32
+msgid "Friday"
+msgstr "ПÑтница"
+
+#: js/config.php:32
+msgid "Saturday"
+msgstr "Суббота"
+
+#: js/config.php:33
+msgid "January"
+msgstr "Январь"
+
+#: js/config.php:33
+msgid "February"
+msgstr "Февраль"
+
+#: js/config.php:33
+msgid "March"
+msgstr "Март"
+
+#: js/config.php:33
+msgid "April"
+msgstr "Ðпрель"
+
+#: js/config.php:33
+msgid "May"
+msgstr "Май"
+
+#: js/config.php:33
+msgid "June"
+msgstr "Июнь"
+
+#: js/config.php:33
+msgid "July"
+msgstr "Июль"
+
+#: js/config.php:33
+msgid "August"
+msgstr "ÐвгуÑÑ‚"
+
+#: js/config.php:33
+msgid "September"
+msgstr "СентÑбрь"
+
+#: js/config.php:33
+msgid "October"
+msgstr "ОктÑбрь"
+
+#: js/config.php:33
+msgid "November"
+msgstr "ÐоÑбрь"
+
+#: js/config.php:33
+msgid "December"
+msgstr "Декабрь"
+
+#: js/js.js:280 templates/layout.user.php:47 templates/layout.user.php:48
msgid "Settings"
msgstr "ÐаÑтройки"
-#: js/js.js:711
+#: js/js.js:762
msgid "seconds ago"
msgstr "неÑколько Ñекунд назад"
-#: js/js.js:712
+#: js/js.js:763
msgid "1 minute ago"
msgstr "1 минуту назад"
-#: js/js.js:713
+#: js/js.js:764
msgid "{minutes} minutes ago"
msgstr "{minutes} минут назад"
-#: js/js.js:714
+#: js/js.js:765
msgid "1 hour ago"
msgstr "Ñ‡Ð°Ñ Ð½Ð°Ð·Ð°Ð´"
-#: js/js.js:715
+#: js/js.js:766
msgid "{hours} hours ago"
msgstr "{hours} чаÑов назад"
-#: js/js.js:716
+#: js/js.js:767
msgid "today"
msgstr "ÑегоднÑ"
-#: js/js.js:717
+#: js/js.js:768
msgid "yesterday"
msgstr "вчера"
-#: js/js.js:718
+#: js/js.js:769
msgid "{days} days ago"
msgstr "{days} дней назад"
-#: js/js.js:719
+#: js/js.js:770
msgid "last month"
msgstr "в прошлом меÑÑце"
-#: js/js.js:720
+#: js/js.js:771
msgid "{months} months ago"
msgstr "{months} меÑÑцев назад"
-#: js/js.js:721
+#: js/js.js:772
msgid "months ago"
msgstr "неÑколько меÑÑцев назад"
-#: js/js.js:722
+#: js/js.js:773
msgid "last year"
msgstr "в прошлом году"
-#: js/js.js:723
+#: js/js.js:774
msgid "years ago"
msgstr "неÑколько лет назад"
@@ -300,6 +376,17 @@ msgstr "ОтправлÑетÑÑ ..."
msgid "Email sent"
msgstr "ПиÑьмо отправлено"
+#: js/update.js:14
+msgid ""
+"The update was unsuccessful. Please report this issue to the <a "
+"href=\"https://github.com/owncloud/core/issues\" target=\"_blank\">ownCloud "
+"community</a>."
+msgstr ""
+
+#: js/update.js:18
+msgid "The update was successful. Redirecting you to ownCloud now."
+msgstr ""
+
#: lostpassword/controller.php:47
msgid "ownCloud password reset"
msgstr "Ð¡Ð±Ñ€Ð¾Ñ Ð¿Ð°Ñ€Ð¾Ð»Ñ "
@@ -451,87 +538,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:34
msgid "web services under your control"
msgstr "Сетевые Ñлужбы под твоим контролем"
-#: templates/layout.user.php:45
+#: templates/layout.user.php:32
msgid "Log out"
msgstr "Выйти"
diff --git a/l10n/ru/files.po b/l10n/ru/files.po
index 7e8d79834dc..0c617eada2f 100644
--- a/l10n/ru/files.po
+++ b/l10n/ru/files.po
@@ -18,8 +18,8 @@ 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"
+"POT-Creation-Date: 2013-01-27 00:04+0100\n"
+"PO-Revision-Date: 2013-01-26 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"
@@ -28,11 +28,6 @@ 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"
@@ -47,46 +42,46 @@ msgstr "Ðевозможно перемеÑтить %s"
msgid "Unable to rename file"
msgstr "Ðевозможно переименовать файл"
-#: ajax/upload.php:20
+#: ajax/upload.php:17
msgid "No file was uploaded. Unknown error"
msgstr "Файл не был загружен. ÐеизвеÑÑ‚Ð½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°"
-#: ajax/upload.php:30
+#: ajax/upload.php:24
msgid "There is no error, the file uploaded with success"
msgstr "Файл уÑпешно загружен"
-#: ajax/upload.php:31
+#: ajax/upload.php:25
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr "Файл превышает размер уÑтановленный upload_max_filesize в php.ini:"
-#: ajax/upload.php:33
+#: ajax/upload.php:27
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:35
+#: ajax/upload.php:29
msgid "The uploaded file was only partially uploaded"
msgstr "Файл был загружен не полноÑтью"
-#: ajax/upload.php:36
+#: ajax/upload.php:30
msgid "No file was uploaded"
msgstr "Файл не был загружен"
-#: ajax/upload.php:37
+#: ajax/upload.php:31
msgid "Missing a temporary folder"
msgstr "Ðевозможно найти временную папку"
-#: ajax/upload.php:38
+#: ajax/upload.php:32
msgid "Failed to write to disk"
msgstr "Ошибка запиÑи на диÑк"
-#: ajax/upload.php:57
-msgid "Not enough space available"
-msgstr "ÐедоÑтаточно Ñвободного меÑта"
+#: ajax/upload.php:48
+msgid "Not enough storage available"
+msgstr ""
-#: ajax/upload.php:91
+#: ajax/upload.php:77
msgid "Invalid directory."
msgstr "Ðеправильный каталог."
@@ -94,11 +89,11 @@ msgstr "Ðеправильный каталог."
msgid "Files"
msgstr "Файлы"
-#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
+#: js/fileactions.js:117 templates/index.php:81 templates/index.php:82
msgid "Unshare"
msgstr "Отменить публикацию"
-#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
+#: js/fileactions.js:119 templates/index.php:87 templates/index.php:88
msgid "Delete"
msgstr "Удалить"
@@ -106,139 +101,151 @@ msgstr "Удалить"
msgid "Rename"
msgstr "Переименовать"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "{new_name} already exists"
msgstr "{new_name} уже ÑущеÑтвует"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "replace"
msgstr "заменить"
-#: js/filelist.js:205
+#: js/filelist.js:208
msgid "suggest name"
msgstr "предложить название"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "cancel"
msgstr "отмена"
-#: js/filelist.js:254
+#: js/filelist.js:253
msgid "replaced {new_name}"
msgstr "заменено {new_name}"
-#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
+#: js/filelist.js:253 js/filelist.js:255 js/filelist.js:286 js/filelist.js:288
msgid "undo"
msgstr "отмена"
-#: js/filelist.js:256
+#: js/filelist.js:255
msgid "replaced {new_name} with {old_name}"
msgstr "заменено {new_name} на {old_name}"
-#: js/filelist.js:288
+#: js/filelist.js:286
msgid "unshared {files}"
msgstr "не опубликованные {files}"
-#: js/filelist.js:290
+#: js/filelist.js:288
msgid "deleted {files}"
msgstr "удаленные {files}"
-#: js/files.js:48
+#: js/files.js:52
msgid "'.' is an invalid file name."
msgstr "'.' - неправильное Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð°."
-#: js/files.js:53
+#: js/files.js:56
msgid "File name cannot be empty."
msgstr "Ð˜Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° не может быть пуÑтым."
-#: js/files.js:62
+#: js/files.js:64
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr "Ðеправильное имÑ, '\\', '/', '<', '>', ':', '\"', '|', '?' и '*' недопуÑтимы."
-#: js/files.js:204
+#: js/files.js:78
+msgid "Your storage is full, files can not be updated or synced anymore!"
+msgstr ""
+
+#: js/files.js:82
+msgid "Your storage is almost full ({usedSpacePercent}%)"
+msgstr ""
+
+#: js/files.js:219
msgid ""
"Your download is being prepared. This might take some time if the files are "
"big."
msgstr ""
-#: js/files.js:242
+#: js/files.js:256
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr "Ðе удаетÑÑ Ð·Ð°Ð³Ñ€ÑƒÐ·Ð¸Ñ‚ÑŒ файл размером 0 байт в каталог"
-#: js/files.js:242
+#: js/files.js:256
msgid "Upload Error"
msgstr "Ошибка загрузки"
-#: js/files.js:259
+#: js/files.js:273
msgid "Close"
msgstr "Закрыть"
-#: js/files.js:278 js/files.js:397 js/files.js:431
+#: js/files.js:292 js/files.js:408 js/files.js:439
msgid "Pending"
msgstr "Ожидание"
-#: js/files.js:298
+#: js/files.js:312
msgid "1 file uploading"
msgstr "загружаетÑÑ 1 файл"
-#: js/files.js:301 js/files.js:357 js/files.js:372
+#: js/files.js:315 js/files.js:370 js/files.js:385
msgid "{count} files uploading"
msgstr "{count} файлов загружаетÑÑ"
-#: js/files.js:376 js/files.js:414
+#: js/files.js:388 js/files.js:423
msgid "Upload cancelled."
msgstr "Загрузка отменена."
-#: js/files.js:486
+#: js/files.js:493
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr "Файл в процеÑÑе загрузки. Покинув Ñтраницу вы прервёте загрузку."
-#: js/files.js:559
+#: js/files.js:566
msgid "URL cannot be empty."
msgstr "СÑылка не может быть пуÑтой."
-#: js/files.js:565
+#: js/files.js:571
msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
msgstr "Ðеправильное Ð¸Ð¼Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð°. Ð˜Ð¼Ñ 'Shared' зарезервировано."
-#: js/files.js:775
+#: js/files.js:784
msgid "{count} files scanned"
msgstr "{count} файлов проÑканировано"
-#: js/files.js:783
+#: js/files.js:792
msgid "error while scanning"
msgstr "ошибка во Ð²Ñ€ÐµÐ¼Ñ ÑанированиÑ"
-#: js/files.js:857 templates/index.php:64
+#: js/files.js:866 templates/index.php:63
msgid "Name"
msgstr "Ðазвание"
-#: js/files.js:858 templates/index.php:75
+#: js/files.js:867 templates/index.php:74
msgid "Size"
msgstr "Размер"
-#: js/files.js:859 templates/index.php:77
+#: js/files.js:868 templates/index.php:76
msgid "Modified"
msgstr "Изменён"
-#: js/files.js:878
+#: js/files.js:887
msgid "1 folder"
msgstr "1 папка"
-#: js/files.js:880
+#: js/files.js:889
msgid "{count} folders"
msgstr "{count} папок"
-#: js/files.js:888
+#: js/files.js:897
msgid "1 file"
msgstr "1 файл"
-#: js/files.js:890
+#: js/files.js:899
msgid "{count} files"
msgstr "{count} файлов"
+#: lib/helper.php:11 templates/index.php:18
+msgid "Upload"
+msgstr "Загрузить"
+
#: templates/admin.php:5
msgid "File handling"
msgstr "Управление файлами"
@@ -291,28 +298,28 @@ msgstr "Из ÑÑылки"
msgid "Cancel upload"
msgstr "Отмена загрузки"
-#: templates/index.php:56
+#: templates/index.php:55
msgid "Nothing in here. Upload something!"
msgstr "ЗдеÑÑŒ ничего нет. Загрузите что-нибудь!"
-#: templates/index.php:70
+#: templates/index.php:69
msgid "Download"
msgstr "Скачать"
-#: templates/index.php:102
+#: templates/index.php:101
msgid "Upload too large"
msgstr "Файл Ñлишком большой"
-#: templates/index.php:104
+#: templates/index.php:103
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "Файлы, которые Ð’Ñ‹ пытаетеÑÑŒ загрузить, превышают лимит Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð² на Ñтом Ñервере."
-#: templates/index.php:109
+#: templates/index.php:108
msgid "Files are being scanned, please wait."
msgstr "Подождите, файлы ÑканируютÑÑ."
-#: templates/index.php:112
+#: templates/index.php:111
msgid "Current scanning"
msgstr "Текущее Ñканирование"
diff --git a/l10n/ru_RU/core.po b/l10n/ru_RU/core.po
index 7ecd789d863..e9d2d731079 100644
--- a/l10n/ru_RU/core.po
+++ b/l10n/ru_RU/core.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-01-15 00:03+0100\n"
-"PO-Revision-Date: 2013-01-14 23:03+0000\n"
+"POT-Creation-Date: 2013-01-29 00:04+0100\n"
+"PO-Revision-Date: 2013-01-28 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"
@@ -80,59 +80,135 @@ msgstr "Ðет категорий, выбранных Ð´Ð»Ñ ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ."
msgid "Error removing %s from favorites."
msgstr "Ошибка ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ %s из избранного."
-#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61
+#: js/config.php:32
+msgid "Sunday"
+msgstr "ВоÑкреÑенье"
+
+#: js/config.php:32
+msgid "Monday"
+msgstr "Понедельник"
+
+#: js/config.php:32
+msgid "Tuesday"
+msgstr "Вторник"
+
+#: js/config.php:32
+msgid "Wednesday"
+msgstr "Среда"
+
+#: js/config.php:32
+msgid "Thursday"
+msgstr "Четверг"
+
+#: js/config.php:32
+msgid "Friday"
+msgstr "ПÑтница"
+
+#: js/config.php:32
+msgid "Saturday"
+msgstr "Суббота"
+
+#: js/config.php:33
+msgid "January"
+msgstr "Январь"
+
+#: js/config.php:33
+msgid "February"
+msgstr "Февраль"
+
+#: js/config.php:33
+msgid "March"
+msgstr "Март"
+
+#: js/config.php:33
+msgid "April"
+msgstr "Ðпрель"
+
+#: js/config.php:33
+msgid "May"
+msgstr "Май"
+
+#: js/config.php:33
+msgid "June"
+msgstr "Июнь"
+
+#: js/config.php:33
+msgid "July"
+msgstr "Июль"
+
+#: js/config.php:33
+msgid "August"
+msgstr "ÐвгуÑÑ‚"
+
+#: js/config.php:33
+msgid "September"
+msgstr "СентÑбрь"
+
+#: js/config.php:33
+msgid "October"
+msgstr "ОктÑбрь"
+
+#: js/config.php:33
+msgid "November"
+msgstr "ÐоÑбрь"
+
+#: js/config.php:33
+msgid "December"
+msgstr "Декабрь"
+
+#: js/js.js:280 templates/layout.user.php:47 templates/layout.user.php:48
msgid "Settings"
msgstr "ÐаÑтройки"
-#: js/js.js:711
+#: js/js.js:762
msgid "seconds ago"
msgstr "Ñекунд назад"
-#: js/js.js:712
+#: js/js.js:763
msgid "1 minute ago"
msgstr " 1 минуту назад"
-#: js/js.js:713
+#: js/js.js:764
msgid "{minutes} minutes ago"
msgstr "{минуты} минут назад"
-#: js/js.js:714
+#: js/js.js:765
msgid "1 hour ago"
msgstr "1 Ñ‡Ð°Ñ Ð½Ð°Ð·Ð°Ð´"
-#: js/js.js:715
+#: js/js.js:766
msgid "{hours} hours ago"
msgstr "{чаÑÑ‹} чаÑов назад"
-#: js/js.js:716
+#: js/js.js:767
msgid "today"
msgstr "ÑегоднÑ"
-#: js/js.js:717
+#: js/js.js:768
msgid "yesterday"
msgstr "вчера"
-#: js/js.js:718
+#: js/js.js:769
msgid "{days} days ago"
msgstr "{дни} дней назад"
-#: js/js.js:719
+#: js/js.js:770
msgid "last month"
msgstr "в прошлом меÑÑце"
-#: js/js.js:720
+#: js/js.js:771
msgid "{months} months ago"
msgstr "{меÑÑцы} меÑÑцев назад"
-#: js/js.js:721
+#: js/js.js:772
msgid "months ago"
msgstr "меÑÑц назад"
-#: js/js.js:722
+#: js/js.js:773
msgid "last year"
msgstr "в прошлом году"
-#: js/js.js:723
+#: js/js.js:774
msgid "years ago"
msgstr "лет назад"
@@ -291,6 +367,17 @@ msgstr "Отправка ..."
msgid "Email sent"
msgstr "ПиÑьмо отправлено"
+#: js/update.js:14
+msgid ""
+"The update was unsuccessful. Please report this issue to the <a "
+"href=\"https://github.com/owncloud/core/issues\" target=\"_blank\">ownCloud "
+"community</a>."
+msgstr ""
+
+#: js/update.js:18
+msgid "The update was successful. Redirecting you to ownCloud now."
+msgstr ""
+
#: lostpassword/controller.php:47
msgid "ownCloud password reset"
msgstr "Переназначение паролÑ"
@@ -442,87 +529,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:34
msgid "web services under your control"
msgstr "веб-ÑервиÑÑ‹ под Вашим контролем"
-#: templates/layout.user.php:45
+#: templates/layout.user.php:32
msgid "Log out"
msgstr "Выйти"
diff --git a/l10n/ru_RU/files.po b/l10n/ru_RU/files.po
index 04fe3223ae2..00422df23bf 100644
--- a/l10n/ru_RU/files.po
+++ b/l10n/ru_RU/files.po
@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-01-20 00:05+0100\n"
-"PO-Revision-Date: 2013-01-19 23:05+0000\n"
+"POT-Creation-Date: 2013-01-27 00:04+0100\n"
+"PO-Revision-Date: 2013-01-26 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"
@@ -19,11 +19,6 @@ 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"
@@ -38,46 +33,46 @@ msgstr ""
msgid "Unable to rename file"
msgstr ""
-#: ajax/upload.php:20
+#: ajax/upload.php:17
msgid "No file was uploaded. Unknown error"
msgstr "Файл не был загружен. ÐеизвеÑÑ‚Ð½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°"
-#: ajax/upload.php:30
+#: ajax/upload.php:24
msgid "There is no error, the file uploaded with success"
msgstr "Ошибка отÑутÑтвует, файл загружен уÑпешно."
-#: ajax/upload.php:31
+#: ajax/upload.php:25
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr "Размер загружаемого файла превышает upload_max_filesize директиву в php.ini:"
-#: ajax/upload.php:33
+#: ajax/upload.php:27
msgid ""
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
"the HTML form"
msgstr "Размер загруженного"
-#: ajax/upload.php:35
+#: ajax/upload.php:29
msgid "The uploaded file was only partially uploaded"
msgstr "Загружаемый файл был загружен чаÑтично"
-#: ajax/upload.php:36
+#: ajax/upload.php:30
msgid "No file was uploaded"
msgstr "Файл не был загружен"
-#: ajax/upload.php:37
+#: ajax/upload.php:31
msgid "Missing a temporary folder"
msgstr "ОтÑутÑтвует Ð²Ñ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ð¿Ð°Ð¿ÐºÐ°"
-#: ajax/upload.php:38
+#: ajax/upload.php:32
msgid "Failed to write to disk"
msgstr "Ðе удалоÑÑŒ запиÑать на диÑк"
-#: ajax/upload.php:57
-msgid "Not enough space available"
+#: ajax/upload.php:48
+msgid "Not enough storage available"
msgstr ""
-#: ajax/upload.php:91
+#: ajax/upload.php:77
msgid "Invalid directory."
msgstr ""
@@ -85,11 +80,11 @@ msgstr ""
msgid "Files"
msgstr "Файлы"
-#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
+#: js/fileactions.js:117 templates/index.php:81 templates/index.php:82
msgid "Unshare"
msgstr "Скрыть"
-#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
+#: js/fileactions.js:119 templates/index.php:87 templates/index.php:88
msgid "Delete"
msgstr "Удалить"
@@ -97,139 +92,151 @@ msgstr "Удалить"
msgid "Rename"
msgstr "Переименовать"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "{new_name} already exists"
msgstr "{новое_имÑ} уже ÑущеÑтвует"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "replace"
msgstr "отмена"
-#: js/filelist.js:205
+#: js/filelist.js:208
msgid "suggest name"
msgstr "подобрать название"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "cancel"
msgstr "отменить"
-#: js/filelist.js:254
+#: js/filelist.js:253
msgid "replaced {new_name}"
msgstr "заменено {новое_имÑ}"
-#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
+#: js/filelist.js:253 js/filelist.js:255 js/filelist.js:286 js/filelist.js:288
msgid "undo"
msgstr "отменить дейÑтвие"
-#: js/filelist.js:256
+#: js/filelist.js:255
msgid "replaced {new_name} with {old_name}"
msgstr "заменено {новое_имÑ} Ñ {Ñтарое_имÑ}"
-#: js/filelist.js:288
+#: js/filelist.js:286
msgid "unshared {files}"
msgstr "CовмеÑтное иÑпользование прекращено {файлы}"
-#: js/filelist.js:290
+#: js/filelist.js:288
msgid "deleted {files}"
msgstr "удалено {файлы}"
-#: js/files.js:48
+#: js/files.js:52
msgid "'.' is an invalid file name."
msgstr ""
-#: js/files.js:53
+#: js/files.js:56
msgid "File name cannot be empty."
msgstr ""
-#: js/files.js:62
+#: js/files.js:64
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr "Ðекорректное имÑ, '\\', '/', '<', '>', ':', '\"', '|', '?' и '*' не допуÑтимы."
-#: js/files.js:204
+#: js/files.js:78
+msgid "Your storage is full, files can not be updated or synced anymore!"
+msgstr ""
+
+#: js/files.js:82
+msgid "Your storage is almost full ({usedSpacePercent}%)"
+msgstr ""
+
+#: js/files.js:219
msgid ""
"Your download is being prepared. This might take some time if the files are "
"big."
msgstr ""
-#: js/files.js:242
+#: js/files.js:256
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr "Ðевозможно загрузить файл,\n так как он имеет нулевой размер или ÑвлÑетÑÑ Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸ÐµÐ¹"
-#: js/files.js:242
+#: js/files.js:256
msgid "Upload Error"
msgstr "Ошибка загрузки"
-#: js/files.js:259
+#: js/files.js:273
msgid "Close"
msgstr "Закрыть"
-#: js/files.js:278 js/files.js:397 js/files.js:431
+#: js/files.js:292 js/files.js:408 js/files.js:439
msgid "Pending"
msgstr "Ожидающий решениÑ"
-#: js/files.js:298
+#: js/files.js:312
msgid "1 file uploading"
msgstr "загрузка 1 файла"
-#: js/files.js:301 js/files.js:357 js/files.js:372
+#: js/files.js:315 js/files.js:370 js/files.js:385
msgid "{count} files uploading"
msgstr "{количеÑтво} загружено файлов"
-#: js/files.js:376 js/files.js:414
+#: js/files.js:388 js/files.js:423
msgid "Upload cancelled."
msgstr "Загрузка отменена"
-#: js/files.js:486
+#: js/files.js:493
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr "ПроцеÑÑ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸ файла. ЕÑли покинуть Ñтраницу ÑейчаÑ, загрузка будет отменена."
-#: js/files.js:559
+#: js/files.js:566
msgid "URL cannot be empty."
msgstr "URL не должен быть пуÑтым."
-#: js/files.js:565
+#: js/files.js:571
msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
msgstr ""
-#: js/files.js:775
+#: js/files.js:784
msgid "{count} files scanned"
msgstr "{количеÑтво} файлов отÑканировано"
-#: js/files.js:783
+#: js/files.js:792
msgid "error while scanning"
msgstr "ошибка при Ñканировании"
-#: js/files.js:857 templates/index.php:64
+#: js/files.js:866 templates/index.php:63
msgid "Name"
msgstr "ИмÑ"
-#: js/files.js:858 templates/index.php:75
+#: js/files.js:867 templates/index.php:74
msgid "Size"
msgstr "Размер"
-#: js/files.js:859 templates/index.php:77
+#: js/files.js:868 templates/index.php:76
msgid "Modified"
msgstr "Изменен"
-#: js/files.js:878
+#: js/files.js:887
msgid "1 folder"
msgstr "1 папка"
-#: js/files.js:880
+#: js/files.js:889
msgid "{count} folders"
msgstr "{количеÑтво} папок"
-#: js/files.js:888
+#: js/files.js:897
msgid "1 file"
msgstr "1 файл"
-#: js/files.js:890
+#: js/files.js:899
msgid "{count} files"
msgstr "{количеÑтво} файлов"
+#: lib/helper.php:11 templates/index.php:18
+msgid "Upload"
+msgstr "Загрузить "
+
#: templates/admin.php:5
msgid "File handling"
msgstr "Работа Ñ Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸"
@@ -282,28 +289,28 @@ msgstr "По ÑÑылке"
msgid "Cancel upload"
msgstr "Отмена загрузки"
-#: templates/index.php:56
+#: templates/index.php:55
msgid "Nothing in here. Upload something!"
msgstr "ЗдеÑÑŒ ничего нет. Загрузите что-нибудь!"
-#: templates/index.php:70
+#: templates/index.php:69
msgid "Download"
msgstr "Загрузить"
-#: templates/index.php:102
+#: templates/index.php:101
msgid "Upload too large"
msgstr "Загрузка Ñлишком велика"
-#: templates/index.php:104
+#: templates/index.php:103
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "Размер файлов, которые Ð’Ñ‹ пытаетеÑÑŒ загрузить, превышает макÑимально допуÑтимый размер Ð´Ð»Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸ на данный Ñервер."
-#: templates/index.php:109
+#: templates/index.php:108
msgid "Files are being scanned, please wait."
msgstr "Файлы ÑканируютÑÑ, пожалуйÑта, подождите."
-#: templates/index.php:112
+#: templates/index.php:111
msgid "Current scanning"
msgstr "Текущее Ñканирование"
diff --git a/l10n/si_LK/core.po b/l10n/si_LK/core.po
index e0b4be93b4d..19dcaff2a0f 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: 2013-01-15 00:03+0100\n"
-"PO-Revision-Date: 2013-01-14 23:03+0000\n"
+"POT-Creation-Date: 2013-01-29 00:04+0100\n"
+"PO-Revision-Date: 2013-01-28 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"
@@ -82,59 +82,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:32
+msgid "Sunday"
+msgstr "ඉරිදà·"
+
+#: js/config.php:32
+msgid "Monday"
+msgstr "සඳුදà·"
+
+#: js/config.php:32
+msgid "Tuesday"
+msgstr "අඟහරුවà·à¶¯à·"
+
+#: js/config.php:32
+msgid "Wednesday"
+msgstr "බදà·à¶¯à·"
+
+#: js/config.php:32
+msgid "Thursday"
+msgstr "බ්â€à¶»à·„ස්පතින්දà·"
+
+#: js/config.php:32
+msgid "Friday"
+msgstr "සිකුරà·à¶¯à·"
+
+#: js/config.php:32
+msgid "Saturday"
+msgstr "සෙනසුරà·à¶¯à·"
+
+#: js/config.php:33
+msgid "January"
+msgstr "ජනවà·à¶»à·’"
+
+#: js/config.php:33
+msgid "February"
+msgstr "පෙබරවà·à¶»à·’"
+
+#: js/config.php:33
+msgid "March"
+msgstr "මà·à¶»à·Šà¶­à·”"
+
+#: js/config.php:33
+msgid "April"
+msgstr "අප්â€à¶»à·šà¶½à·Š"
+
+#: js/config.php:33
+msgid "May"
+msgstr "මà·à¶ºà·’"
+
+#: js/config.php:33
+msgid "June"
+msgstr "ජූනි"
+
+#: js/config.php:33
+msgid "July"
+msgstr "ජූලි"
+
+#: js/config.php:33
+msgid "August"
+msgstr "අගà·à·ƒà·Šà¶­à·”"
+
+#: js/config.php:33
+msgid "September"
+msgstr "à·ƒà·à¶´à·Šà¶­à·à¶¸à·Šà¶¶à¶»à·Š"
+
+#: js/config.php:33
+msgid "October"
+msgstr "ඔක්තà·à¶¶à¶»à·Š"
+
+#: js/config.php:33
+msgid "November"
+msgstr "නොවà·à¶¸à·Šà¶¶à¶»à·Š"
+
+#: js/config.php:33
+msgid "December"
+msgstr "දෙසà·à¶¸à·Šà¶¶à¶»à·Š"
+
+#: js/js.js:280 templates/layout.user.php:47 templates/layout.user.php:48
msgid "Settings"
msgstr "à·ƒà·à¶šà·ƒà·”ම්"
-#: js/js.js:711
+#: js/js.js:762
msgid "seconds ago"
msgstr "තත්පරයන්ට පෙර"
-#: js/js.js:712
+#: js/js.js:763
msgid "1 minute ago"
msgstr "1 මිනිත්තුවකට පෙර"
-#: js/js.js:713
+#: js/js.js:764
msgid "{minutes} minutes ago"
msgstr ""
-#: js/js.js:714
+#: js/js.js:765
msgid "1 hour ago"
msgstr ""
-#: js/js.js:715
+#: js/js.js:766
msgid "{hours} hours ago"
msgstr ""
-#: js/js.js:716
+#: js/js.js:767
msgid "today"
msgstr "අද"
-#: js/js.js:717
+#: js/js.js:768
msgid "yesterday"
msgstr "ඊයේ"
-#: js/js.js:718
+#: js/js.js:769
msgid "{days} days ago"
msgstr ""
-#: js/js.js:719
+#: js/js.js:770
msgid "last month"
msgstr "පෙර මà·à·ƒà¶ºà·š"
-#: js/js.js:720
+#: js/js.js:771
msgid "{months} months ago"
msgstr ""
-#: js/js.js:721
+#: js/js.js:772
msgid "months ago"
msgstr "මà·à·ƒ කීපයකට පෙර"
-#: js/js.js:722
+#: js/js.js:773
msgid "last year"
msgstr "පෙර අවුරුද්දේ"
-#: js/js.js:723
+#: js/js.js:774
msgid "years ago"
msgstr "අවුරුදු කීපයකට පෙර"
@@ -293,6 +369,17 @@ msgstr ""
msgid "Email sent"
msgstr ""
+#: js/update.js:14
+msgid ""
+"The update was unsuccessful. Please report this issue to the <a "
+"href=\"https://github.com/owncloud/core/issues\" target=\"_blank\">ownCloud "
+"community</a>."
+msgstr ""
+
+#: js/update.js:18
+msgid "The update was successful. Redirecting you to ownCloud now."
+msgstr ""
+
#: lostpassword/controller.php:47
msgid "ownCloud password reset"
msgstr "ownCloud මුරපදය ප්â€à¶»à¶­à·Šâ€à¶ºà·à¶»à¶¸à·Šà¶· කරන්න"
@@ -444,87 +531,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:34
msgid "web services under your control"
msgstr "ඔබට පà·à¶½à¶±à¶º කළ à·„à·à¶šà·’ වෙබ් සේවà·à·€à¶±à·Š"
-#: templates/layout.user.php:45
+#: templates/layout.user.php:32
msgid "Log out"
msgstr "නික්මීම"
diff --git a/l10n/si_LK/files.po b/l10n/si_LK/files.po
index 570832cb837..6f61a4f5cdf 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: 2013-01-20 00:05+0100\n"
-"PO-Revision-Date: 2013-01-19 23:05+0000\n"
+"POT-Creation-Date: 2013-01-27 00:04+0100\n"
+"PO-Revision-Date: 2013-01-26 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,11 +19,6 @@ 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"
@@ -38,46 +33,46 @@ msgstr ""
msgid "Unable to rename file"
msgstr ""
-#: ajax/upload.php:20
+#: ajax/upload.php:17
msgid "No file was uploaded. Unknown error"
msgstr "ගොනුවක් උඩුගත නොවුනි. නොහà·à¶³à·’නු දà·à·‚යක්"
-#: ajax/upload.php:30
+#: ajax/upload.php:24
msgid "There is no error, the file uploaded with success"
msgstr "නිවà·à¶»à¶¯à·’ à·€ ගොනුව උඩුගත කෙරිනි"
-#: ajax/upload.php:31
+#: ajax/upload.php:25
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr ""
-#: ajax/upload.php:33
+#: ajax/upload.php:27
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
+#: ajax/upload.php:29
msgid "The uploaded file was only partially uploaded"
msgstr "උඩුගත කළ ගොනුවේ කොටසක් පමණක් උඩුගත විය"
-#: ajax/upload.php:36
+#: ajax/upload.php:30
msgid "No file was uploaded"
msgstr "කිසිදු ගොනවක් උඩුගත නොවිනි"
-#: ajax/upload.php:37
+#: ajax/upload.php:31
msgid "Missing a temporary folder"
msgstr "තà·à·€à¶šà·à¶½à·’ක ෆොල්ඩරයක් සොයà·à¶œà¶­ නොහà·à¶š"
-#: ajax/upload.php:38
+#: ajax/upload.php:32
msgid "Failed to write to disk"
msgstr "තà·à¶§à·’ගත කිරීම අසà·à¶»à·Šà¶®à¶šà¶ºà·’"
-#: ajax/upload.php:57
-msgid "Not enough space available"
+#: ajax/upload.php:48
+msgid "Not enough storage available"
msgstr ""
-#: ajax/upload.php:91
+#: ajax/upload.php:77
msgid "Invalid directory."
msgstr ""
@@ -85,11 +80,11 @@ msgstr ""
msgid "Files"
msgstr "ගොනු"
-#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
+#: js/fileactions.js:117 templates/index.php:81 templates/index.php:82
msgid "Unshare"
msgstr "නොබෙදු"
-#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
+#: js/fileactions.js:119 templates/index.php:87 templates/index.php:88
msgid "Delete"
msgstr "මකන්න"
@@ -97,139 +92,151 @@ msgstr "මකන්න"
msgid "Rename"
msgstr "නà·à·€à¶­ නම් කරන්න"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "{new_name} already exists"
msgstr ""
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "replace"
msgstr "ප්â€à¶»à¶­à·’ස්ථà·à¶´à¶±à¶º කරන්න"
-#: js/filelist.js:205
+#: js/filelist.js:208
msgid "suggest name"
msgstr "නමක් යà·à¶¢à¶±à· කරන්න"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "cancel"
msgstr "අත් හරින්න"
-#: js/filelist.js:254
+#: js/filelist.js:253
msgid "replaced {new_name}"
msgstr ""
-#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
+#: js/filelist.js:253 js/filelist.js:255 js/filelist.js:286 js/filelist.js:288
msgid "undo"
msgstr "නිෂ්ප්â€à¶»à¶· කරන්න"
-#: js/filelist.js:256
+#: js/filelist.js:255
msgid "replaced {new_name} with {old_name}"
msgstr ""
-#: js/filelist.js:288
+#: js/filelist.js:286
msgid "unshared {files}"
msgstr ""
-#: js/filelist.js:290
+#: js/filelist.js:288
msgid "deleted {files}"
msgstr ""
-#: js/files.js:48
+#: js/files.js:52
msgid "'.' is an invalid file name."
msgstr ""
-#: js/files.js:53
+#: js/files.js:56
msgid "File name cannot be empty."
msgstr ""
-#: js/files.js:62
+#: js/files.js:64
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr ""
-#: js/files.js:204
+#: js/files.js:78
+msgid "Your storage is full, files can not be updated or synced anymore!"
+msgstr ""
+
+#: js/files.js:82
+msgid "Your storage is almost full ({usedSpacePercent}%)"
+msgstr ""
+
+#: js/files.js:219
msgid ""
"Your download is being prepared. This might take some time if the files are "
"big."
msgstr ""
-#: js/files.js:242
+#: js/files.js:256
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr ""
-#: js/files.js:242
+#: js/files.js:256
msgid "Upload Error"
msgstr "උඩුගත කිරීමේ දà·à·à¶ºà¶šà·Š"
-#: js/files.js:259
+#: js/files.js:273
msgid "Close"
msgstr "වසන්න"
-#: js/files.js:278 js/files.js:397 js/files.js:431
+#: js/files.js:292 js/files.js:408 js/files.js:439
msgid "Pending"
msgstr ""
-#: js/files.js:298
+#: js/files.js:312
msgid "1 file uploading"
msgstr "1 ගොනුවක් උඩගත කෙරේ"
-#: js/files.js:301 js/files.js:357 js/files.js:372
+#: js/files.js:315 js/files.js:370 js/files.js:385
msgid "{count} files uploading"
msgstr ""
-#: js/files.js:376 js/files.js:414
+#: js/files.js:388 js/files.js:423
msgid "Upload cancelled."
msgstr "උඩුගත කිරීම අත් හරින්න ලදී"
-#: js/files.js:486
+#: js/files.js:493
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr "උඩුගතකිරීමක් සිදුවේ. පිටුව à·„à·à¶» යà·à¶¸à·™à¶±à·Š එය නà·à·€à¶­à·™à¶±à·” ඇත"
-#: js/files.js:559
+#: js/files.js:566
msgid "URL cannot be empty."
msgstr "යොමුව හිස් විය නොහà·à¶š"
-#: js/files.js:565
+#: js/files.js:571
msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
msgstr ""
-#: js/files.js:775
+#: js/files.js:784
msgid "{count} files scanned"
msgstr ""
-#: js/files.js:783
+#: js/files.js:792
msgid "error while scanning"
msgstr "පරීක්ෂ෠කිරීමේදී දà·à·‚යක්"
-#: js/files.js:857 templates/index.php:64
+#: js/files.js:866 templates/index.php:63
msgid "Name"
msgstr "නම"
-#: js/files.js:858 templates/index.php:75
+#: js/files.js:867 templates/index.php:74
msgid "Size"
msgstr "ප්â€à¶»à¶¸à·à¶«à¶º"
-#: js/files.js:859 templates/index.php:77
+#: js/files.js:868 templates/index.php:76
msgid "Modified"
msgstr "වෙනස් කළ"
-#: js/files.js:878
+#: js/files.js:887
msgid "1 folder"
msgstr "1 ෆොල්ඩරයක්"
-#: js/files.js:880
+#: js/files.js:889
msgid "{count} folders"
msgstr ""
-#: js/files.js:888
+#: js/files.js:897
msgid "1 file"
msgstr "1 ගොනුවක්"
-#: js/files.js:890
+#: js/files.js:899
msgid "{count} files"
msgstr ""
+#: lib/helper.php:11 templates/index.php:18
+msgid "Upload"
+msgstr "උඩුගත කිරීම"
+
#: templates/admin.php:5
msgid "File handling"
msgstr "ගොනු පරිහරණය"
@@ -282,28 +289,28 @@ msgstr "යොමුවෙන්"
msgid "Cancel upload"
msgstr "උඩුගත කිරීම අත් හරින්න"
-#: templates/index.php:56
+#: templates/index.php:55
msgid "Nothing in here. Upload something!"
msgstr "මෙහි කිසිවක් නොමà·à¶­. යමක් උඩුගත කරන්න"
-#: templates/index.php:70
+#: templates/index.php:69
msgid "Download"
msgstr "බà·à¶œà¶­ කිරීම"
-#: templates/index.php:102
+#: templates/index.php:101
msgid "Upload too large"
msgstr "උඩුගත කිරීම විà·à·à¶½ à·€à·à¶©à·’ය"
-#: templates/index.php:104
+#: templates/index.php:103
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "ඔබ උඩුගත කිරීමට තà·à¶­à·Š කරන ගොනු මෙම සේවà·à¶¯à·à¶ºà¶šà¶ºà· උඩුගත කිරීමට ඉඩදී ඇති උපරිම ගොනු විà·à·à¶½à¶­à·Šà·€à¶ºà¶§ වඩ෠වà·à¶©à·’ය"
-#: templates/index.php:109
+#: templates/index.php:108
msgid "Files are being scanned, please wait."
msgstr "ගොනු පරික්ෂ෠කෙරේ. මඳක් රà·à¶³à·“ සිටින්න"
-#: templates/index.php:112
+#: templates/index.php:111
msgid "Current scanning"
msgstr "වර්තමà·à¶± පරික්ෂà·à·€"
diff --git a/l10n/sk_SK/core.po b/l10n/sk_SK/core.po
index e11a2eda0fe..2f61413f624 100644
--- a/l10n/sk_SK/core.po
+++ b/l10n/sk_SK/core.po
@@ -12,9 +12,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-01-16 00:19+0100\n"
-"PO-Revision-Date: 2013-01-15 15:24+0000\n"
-"Last-Translator: mehturt <mehturt@gmail.com>\n"
+"POT-Creation-Date: 2013-01-29 00:04+0100\n"
+"PO-Revision-Date: 2013-01-28 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"
@@ -84,59 +84,135 @@ msgstr "Neboli vybrané žiadne kategórie pre odstránenie."
msgid "Error removing %s from favorites."
msgstr "Chyba pri odstraňovaní %s z obľúbených položiek."
-#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61
+#: js/config.php:32
+msgid "Sunday"
+msgstr "Nedeľa"
+
+#: js/config.php:32
+msgid "Monday"
+msgstr "Pondelok"
+
+#: js/config.php:32
+msgid "Tuesday"
+msgstr "Utorok"
+
+#: js/config.php:32
+msgid "Wednesday"
+msgstr "Streda"
+
+#: js/config.php:32
+msgid "Thursday"
+msgstr "Å tvrtok"
+
+#: js/config.php:32
+msgid "Friday"
+msgstr "Piatok"
+
+#: js/config.php:32
+msgid "Saturday"
+msgstr "Sobota"
+
+#: js/config.php:33
+msgid "January"
+msgstr "Január"
+
+#: js/config.php:33
+msgid "February"
+msgstr "Február"
+
+#: js/config.php:33
+msgid "March"
+msgstr "Marec"
+
+#: js/config.php:33
+msgid "April"
+msgstr "Apríl"
+
+#: js/config.php:33
+msgid "May"
+msgstr "Máj"
+
+#: js/config.php:33
+msgid "June"
+msgstr "Jún"
+
+#: js/config.php:33
+msgid "July"
+msgstr "Júl"
+
+#: js/config.php:33
+msgid "August"
+msgstr "August"
+
+#: js/config.php:33
+msgid "September"
+msgstr "September"
+
+#: js/config.php:33
+msgid "October"
+msgstr "Október"
+
+#: js/config.php:33
+msgid "November"
+msgstr "November"
+
+#: js/config.php:33
+msgid "December"
+msgstr "December"
+
+#: js/js.js:280 templates/layout.user.php:47 templates/layout.user.php:48
msgid "Settings"
msgstr "Nastavenia"
-#: js/js.js:711
+#: js/js.js:762
msgid "seconds ago"
msgstr "pred sekundami"
-#: js/js.js:712
+#: js/js.js:763
msgid "1 minute ago"
msgstr "pred minútou"
-#: js/js.js:713
+#: js/js.js:764
msgid "{minutes} minutes ago"
msgstr "pred {minutes} minútami"
-#: js/js.js:714
+#: js/js.js:765
msgid "1 hour ago"
msgstr "Pred 1 hodinou."
-#: js/js.js:715
+#: js/js.js:766
msgid "{hours} hours ago"
msgstr "Pred {hours} hodinami."
-#: js/js.js:716
+#: js/js.js:767
msgid "today"
msgstr "dnes"
-#: js/js.js:717
+#: js/js.js:768
msgid "yesterday"
msgstr "vÄera"
-#: js/js.js:718
+#: js/js.js:769
msgid "{days} days ago"
msgstr "pred {days} dňami"
-#: js/js.js:719
+#: js/js.js:770
msgid "last month"
msgstr "minulý mesiac"
-#: js/js.js:720
+#: js/js.js:771
msgid "{months} months ago"
msgstr "Pred {months} mesiacmi."
-#: js/js.js:721
+#: js/js.js:772
msgid "months ago"
msgstr "pred mesiacmi"
-#: js/js.js:722
+#: js/js.js:773
msgid "last year"
msgstr "minulý rok"
-#: js/js.js:723
+#: js/js.js:774
msgid "years ago"
msgstr "pred rokmi"
@@ -295,6 +371,17 @@ msgstr "Odosielam ..."
msgid "Email sent"
msgstr "Email odoslaný"
+#: js/update.js:14
+msgid ""
+"The update was unsuccessful. Please report this issue to the <a "
+"href=\"https://github.com/owncloud/core/issues\" target=\"_blank\">ownCloud "
+"community</a>."
+msgstr ""
+
+#: js/update.js:18
+msgid "The update was successful. Redirecting you to ownCloud now."
+msgstr ""
+
#: lostpassword/controller.php:47
msgid "ownCloud password reset"
msgstr "Obnovenie hesla pre ownCloud"
@@ -446,87 +533,11 @@ msgstr "Server databázy"
msgid "Finish setup"
msgstr "DokonÄiÅ¥ inÅ¡taláciu"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Sunday"
-msgstr "Nedeľa"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Monday"
-msgstr "Pondelok"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Tuesday"
-msgstr "Utorok"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Wednesday"
-msgstr "Streda"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Thursday"
-msgstr "Å tvrtok"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Friday"
-msgstr "Piatok"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Saturday"
-msgstr "Sobota"
-
-#: 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 "Marec"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "April"
-msgstr "Apríl"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "May"
-msgstr "Máj"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "June"
-msgstr "Jún"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "July"
-msgstr "Júl"
-
-#: 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 "September"
-
-#: 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:34
msgid "web services under your control"
msgstr "webové služby pod vašou kontrolou"
-#: templates/layout.user.php:45
+#: templates/layout.user.php:32
msgid "Log out"
msgstr "Odhlásiť"
diff --git a/l10n/sk_SK/files.po b/l10n/sk_SK/files.po
index 30706c6eff9..083a241ac49 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,8 +12,8 @@ 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"
+"POT-Creation-Date: 2013-01-27 00:04+0100\n"
+"PO-Revision-Date: 2013-01-26 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"
@@ -21,77 +22,72 @@ 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 ""
+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 ""
+msgstr "Nie je možné presunúť %s"
#: ajax/rename.php:19
msgid "Unable to rename file"
-msgstr ""
+msgstr "Nemožno premenovať súbor"
-#: ajax/upload.php:20
+#: ajax/upload.php:17
msgid "No file was uploaded. Unknown error"
msgstr "Žiaden súbor nebol odoslaný. Neznáma chyba"
-#: ajax/upload.php:30
+#: ajax/upload.php:24
msgid "There is no error, the file uploaded with success"
msgstr "Nenastala žiadna chyba, súbor bol úspešne nahraný"
-#: ajax/upload.php:31
+#: ajax/upload.php:25
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:33
+#: ajax/upload.php:27
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:35
+#: ajax/upload.php:29
msgid "The uploaded file was only partially uploaded"
msgstr "Nahrávaný súbor bol iba ÄiastoÄne nahraný"
-#: ajax/upload.php:36
+#: ajax/upload.php:30
msgid "No file was uploaded"
msgstr "Žiaden súbor nebol nahraný"
-#: ajax/upload.php:37
+#: ajax/upload.php:31
msgid "Missing a temporary folder"
msgstr "Chýbajúci doÄasný prieÄinok"
-#: ajax/upload.php:38
+#: ajax/upload.php:32
msgid "Failed to write to disk"
msgstr "Zápis na disk sa nepodaril"
-#: ajax/upload.php:57
-msgid "Not enough space available"
+#: ajax/upload.php:48
+msgid "Not enough storage available"
msgstr ""
-#: ajax/upload.php:91
+#: ajax/upload.php:77
msgid "Invalid directory."
-msgstr ""
+msgstr "Neplatný adresár"
#: appinfo/app.php:10
msgid "Files"
msgstr "Súbory"
-#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
+#: js/fileactions.js:117 templates/index.php:81 templates/index.php:82
msgid "Unshare"
msgstr "Nezdielať"
-#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
+#: js/fileactions.js:119 templates/index.php:87 templates/index.php:88
msgid "Delete"
msgstr "Odstrániť"
@@ -99,139 +95,151 @@ msgstr "Odstrániť"
msgid "Rename"
msgstr "Premenovať"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "{new_name} already exists"
msgstr "{new_name} už existuje"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "replace"
msgstr "nahradiť"
-#: js/filelist.js:205
+#: js/filelist.js:208
msgid "suggest name"
msgstr "pomôcť s menom"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "cancel"
msgstr "zrušiť"
-#: js/filelist.js:254
+#: js/filelist.js:253
msgid "replaced {new_name}"
msgstr "prepísaný {new_name}"
-#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
+#: js/filelist.js:253 js/filelist.js:255 js/filelist.js:286 js/filelist.js:288
msgid "undo"
msgstr "vrátiť"
-#: js/filelist.js:256
+#: js/filelist.js:255
msgid "replaced {new_name} with {old_name}"
msgstr "prepísaný {new_name} súborom {old_name}"
-#: js/filelist.js:288
+#: js/filelist.js:286
msgid "unshared {files}"
msgstr "zdieľanie zrušené pre {files}"
-#: js/filelist.js:290
+#: js/filelist.js:288
msgid "deleted {files}"
msgstr "zmazané {files}"
-#: js/files.js:48
+#: js/files.js:52
msgid "'.' is an invalid file name."
-msgstr ""
+msgstr "'.' je neplatné meno súboru."
-#: js/files.js:53
+#: js/files.js:56
msgid "File name cannot be empty."
-msgstr ""
+msgstr "Meno súboru nemôže byť prázdne"
-#: js/files.js:62
+#: js/files.js:64
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr "Nesprávne meno, '\\', '/', '<', '>', ':', '\"', '|', '?' a '*' nie sú povolené hodnoty."
-#: js/files.js:204
+#: js/files.js:78
+msgid "Your storage is full, files can not be updated or synced anymore!"
+msgstr ""
+
+#: js/files.js:82
+msgid "Your storage is almost full ({usedSpacePercent}%)"
+msgstr ""
+
+#: js/files.js:219
msgid ""
"Your download is being prepared. This might take some time if the files are "
"big."
-msgstr ""
+msgstr "Vaše sťahovanie sa pripravuje. Ak sú sťahované súbory veľké, môže to chvíľu trvať."
-#: js/files.js:242
+#: js/files.js:256
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:242
+#: js/files.js:256
msgid "Upload Error"
msgstr "Chyba odosielania"
-#: js/files.js:259
+#: js/files.js:273
msgid "Close"
msgstr "Zavrieť"
-#: js/files.js:278 js/files.js:397 js/files.js:431
+#: js/files.js:292 js/files.js:408 js/files.js:439
msgid "Pending"
msgstr "Čaká sa"
-#: js/files.js:298
+#: js/files.js:312
msgid "1 file uploading"
msgstr "1 súbor sa posiela "
-#: js/files.js:301 js/files.js:357 js/files.js:372
+#: js/files.js:315 js/files.js:370 js/files.js:385
msgid "{count} files uploading"
msgstr "{count} súborov odosielaných"
-#: js/files.js:376 js/files.js:414
+#: js/files.js:388 js/files.js:423
msgid "Upload cancelled."
msgstr "Odosielanie zrušené"
-#: js/files.js:486
+#: js/files.js:493
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:559
+#: js/files.js:566
msgid "URL cannot be empty."
msgstr "URL nemôže byť prázdne"
-#: js/files.js:565
+#: js/files.js:571
msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
-msgstr ""
+msgstr "Neplatné meno adresára. Používanie mena 'Shared' je vyhradené len pre Owncloud"
-#: js/files.js:775
+#: js/files.js:784
msgid "{count} files scanned"
msgstr "{count} súborov prehľadaných"
-#: js/files.js:783
+#: js/files.js:792
msgid "error while scanning"
msgstr "chyba poÄas kontroly"
-#: js/files.js:857 templates/index.php:64
+#: js/files.js:866 templates/index.php:63
msgid "Name"
msgstr "Meno"
-#: js/files.js:858 templates/index.php:75
+#: js/files.js:867 templates/index.php:74
msgid "Size"
msgstr "Veľkosť"
-#: js/files.js:859 templates/index.php:77
+#: js/files.js:868 templates/index.php:76
msgid "Modified"
msgstr "Upravené"
-#: js/files.js:878
+#: js/files.js:887
msgid "1 folder"
msgstr "1 prieÄinok"
-#: js/files.js:880
+#: js/files.js:889
msgid "{count} folders"
msgstr "{count} prieÄinkov"
-#: js/files.js:888
+#: js/files.js:897
msgid "1 file"
msgstr "1 súbor"
-#: js/files.js:890
+#: js/files.js:899
msgid "{count} files"
msgstr "{count} súborov"
+#: lib/helper.php:11 templates/index.php:18
+msgid "Upload"
+msgstr "Odoslať"
+
#: templates/admin.php:5
msgid "File handling"
msgstr "Nastavenie správanie k súborom"
@@ -284,28 +292,28 @@ msgstr "Z odkazu"
msgid "Cancel upload"
msgstr "Zrušiť odosielanie"
-#: templates/index.php:56
+#: templates/index.php:55
msgid "Nothing in here. Upload something!"
msgstr "Žiadny súbor. Nahrajte nieÄo!"
-#: templates/index.php:70
+#: templates/index.php:69
msgid "Download"
msgstr "Stiahnuť"
-#: templates/index.php:102
+#: templates/index.php:101
msgid "Upload too large"
msgstr "Odosielaný súbor je príliš veľký"
-#: templates/index.php:104
+#: templates/index.php:103
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:109
+#: templates/index.php:108
msgid "Files are being scanned, please wait."
msgstr "Čakajte, súbory sú prehľadávané."
-#: templates/index.php:112
+#: templates/index.php:111
msgid "Current scanning"
msgstr "Práve prehliadané"
diff --git a/l10n/sk_SK/settings.po b/l10n/sk_SK/settings.po
index e3c919f0ad8..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: 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"
+"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"
@@ -118,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"
@@ -138,7 +139,7 @@ msgstr ""
#: templates/help.php:11
msgid "Commercial Support"
-msgstr ""
+msgstr "KomerÄná podpora"
#: templates/personal.php:8
#, php-format
@@ -151,15 +152,15 @@ 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:82
msgid "Password"
@@ -211,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 ""
@@ -245,11 +246,11 @@ msgstr "Vytvoriť"
#: templates/users.php:35
msgid "Default Storage"
-msgstr ""
+msgstr "Predvolené úložisko"
#: templates/users.php:42 templates/users.php:138
msgid "Unlimited"
-msgstr ""
+msgstr "Nelimitované"
#: templates/users.php:60 templates/users.php:153
msgid "Other"
@@ -261,11 +262,11 @@ msgstr "Správca skupiny"
#: templates/users.php:87
msgid "Storage"
-msgstr ""
+msgstr "Úložisko"
#: templates/users.php:133
msgid "Default"
-msgstr ""
+msgstr "Predvolené"
#: templates/users.php:161
msgid "Delete"
diff --git a/l10n/sk_SK/user_webdavauth.po b/l10n/sk_SK/user_webdavauth.po
index 26b96954a94..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: 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"
+"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"
@@ -20,11 +21,11 @@ msgstr ""
#: templates/settings.php:3
msgid "WebDAV Authentication"
-msgstr ""
+msgstr "WebDAV overenie"
#: templates/settings.php:4
msgid "URL: http://"
-msgstr ""
+msgstr "URL: http://"
#: templates/settings.php:6
msgid ""
diff --git a/l10n/sl/core.po b/l10n/sl/core.po
index 2b4637d8013..faa7abda52d 100644
--- a/l10n/sl/core.po
+++ b/l10n/sl/core.po
@@ -11,8 +11,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-01-15 00:03+0100\n"
-"PO-Revision-Date: 2013-01-14 23:03+0000\n"
+"POT-Creation-Date: 2013-01-29 00:04+0100\n"
+"PO-Revision-Date: 2013-01-28 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"
@@ -83,59 +83,135 @@ msgstr "Za izbris ni izbrana nobena kategorija."
msgid "Error removing %s from favorites."
msgstr "Napaka pri odstranjevanju %s iz priljubljenih."
-#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61
+#: js/config.php:32
+msgid "Sunday"
+msgstr "nedelja"
+
+#: js/config.php:32
+msgid "Monday"
+msgstr "ponedeljek"
+
+#: js/config.php:32
+msgid "Tuesday"
+msgstr "torek"
+
+#: js/config.php:32
+msgid "Wednesday"
+msgstr "sreda"
+
+#: js/config.php:32
+msgid "Thursday"
+msgstr "Äetrtek"
+
+#: js/config.php:32
+msgid "Friday"
+msgstr "petek"
+
+#: js/config.php:32
+msgid "Saturday"
+msgstr "sobota"
+
+#: js/config.php:33
+msgid "January"
+msgstr "januar"
+
+#: js/config.php:33
+msgid "February"
+msgstr "februar"
+
+#: js/config.php:33
+msgid "March"
+msgstr "marec"
+
+#: js/config.php:33
+msgid "April"
+msgstr "april"
+
+#: js/config.php:33
+msgid "May"
+msgstr "maj"
+
+#: js/config.php:33
+msgid "June"
+msgstr "junij"
+
+#: js/config.php:33
+msgid "July"
+msgstr "julij"
+
+#: js/config.php:33
+msgid "August"
+msgstr "avgust"
+
+#: js/config.php:33
+msgid "September"
+msgstr "september"
+
+#: js/config.php:33
+msgid "October"
+msgstr "oktober"
+
+#: js/config.php:33
+msgid "November"
+msgstr "november"
+
+#: js/config.php:33
+msgid "December"
+msgstr "december"
+
+#: js/js.js:280 templates/layout.user.php:47 templates/layout.user.php:48
msgid "Settings"
msgstr "Nastavitve"
-#: js/js.js:711
+#: js/js.js:762
msgid "seconds ago"
msgstr "pred nekaj sekundami"
-#: js/js.js:712
+#: js/js.js:763
msgid "1 minute ago"
msgstr "pred minuto"
-#: js/js.js:713
+#: js/js.js:764
msgid "{minutes} minutes ago"
msgstr "pred {minutes} minutami"
-#: js/js.js:714
+#: js/js.js:765
msgid "1 hour ago"
msgstr "pred 1 uro"
-#: js/js.js:715
+#: js/js.js:766
msgid "{hours} hours ago"
msgstr "pred {hours} urami"
-#: js/js.js:716
+#: js/js.js:767
msgid "today"
msgstr "danes"
-#: js/js.js:717
+#: js/js.js:768
msgid "yesterday"
msgstr "vÄeraj"
-#: js/js.js:718
+#: js/js.js:769
msgid "{days} days ago"
msgstr "pred {days} dnevi"
-#: js/js.js:719
+#: js/js.js:770
msgid "last month"
msgstr "zadnji mesec"
-#: js/js.js:720
+#: js/js.js:771
msgid "{months} months ago"
msgstr "pred {months} meseci"
-#: js/js.js:721
+#: js/js.js:772
msgid "months ago"
msgstr "mesecev nazaj"
-#: js/js.js:722
+#: js/js.js:773
msgid "last year"
msgstr "lansko leto"
-#: js/js.js:723
+#: js/js.js:774
msgid "years ago"
msgstr "let nazaj"
@@ -294,6 +370,17 @@ msgstr "Pošiljam ..."
msgid "Email sent"
msgstr "E-pošta je bila poslana"
+#: js/update.js:14
+msgid ""
+"The update was unsuccessful. Please report this issue to the <a "
+"href=\"https://github.com/owncloud/core/issues\" target=\"_blank\">ownCloud "
+"community</a>."
+msgstr ""
+
+#: js/update.js:18
+msgid "The update was successful. Redirecting you to ownCloud now."
+msgstr ""
+
#: lostpassword/controller.php:47
msgid "ownCloud password reset"
msgstr "Ponastavitev gesla ownCloud"
@@ -445,87 +532,11 @@ msgstr "Gostitelj podatkovne zbirke"
msgid "Finish setup"
msgstr "DokonÄaj namestitev"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Sunday"
-msgstr "nedelja"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Monday"
-msgstr "ponedeljek"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Tuesday"
-msgstr "torek"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Wednesday"
-msgstr "sreda"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Thursday"
-msgstr "Äetrtek"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Friday"
-msgstr "petek"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Saturday"
-msgstr "sobota"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "January"
-msgstr "januar"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "February"
-msgstr "februar"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "March"
-msgstr "marec"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "April"
-msgstr "april"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "May"
-msgstr "maj"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "June"
-msgstr "junij"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "July"
-msgstr "julij"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "August"
-msgstr "avgust"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "September"
-msgstr "september"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "October"
-msgstr "oktober"
-
-#: 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:34
msgid "web services under your control"
msgstr "spletne storitve pod vašim nadzorom"
-#: templates/layout.user.php:45
+#: templates/layout.user.php:32
msgid "Log out"
msgstr "Odjava"
diff --git a/l10n/sl/files.po b/l10n/sl/files.po
index db5b65339a7..2302abc5376 100644
--- a/l10n/sl/files.po
+++ b/l10n/sl/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: 2013-01-20 00:05+0100\n"
-"PO-Revision-Date: 2013-01-19 23:05+0000\n"
+"POT-Creation-Date: 2013-01-27 00:04+0100\n"
+"PO-Revision-Date: 2013-01-26 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"
@@ -21,11 +21,6 @@ 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"
@@ -40,46 +35,46 @@ msgstr ""
msgid "Unable to rename file"
msgstr ""
-#: ajax/upload.php:20
+#: ajax/upload.php:17
msgid "No file was uploaded. Unknown error"
msgstr "Nobena datoteka ni naložena. Neznana napaka."
-#: ajax/upload.php:30
+#: ajax/upload.php:24
msgid "There is no error, the file uploaded with success"
msgstr "Datoteka je uspešno naložena brez napak."
-#: ajax/upload.php:31
+#: ajax/upload.php:25
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:33
+#: ajax/upload.php:27
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:35
+#: ajax/upload.php:29
msgid "The uploaded file was only partially uploaded"
msgstr "Datoteka je le delno naložena"
-#: ajax/upload.php:36
+#: ajax/upload.php:30
msgid "No file was uploaded"
msgstr "Nobena datoteka ni bila naložena"
-#: ajax/upload.php:37
+#: ajax/upload.php:31
msgid "Missing a temporary folder"
msgstr "Manjka zaÄasna mapa"
-#: ajax/upload.php:38
+#: ajax/upload.php:32
msgid "Failed to write to disk"
msgstr "Pisanje na disk je spodletelo"
-#: ajax/upload.php:57
-msgid "Not enough space available"
+#: ajax/upload.php:48
+msgid "Not enough storage available"
msgstr ""
-#: ajax/upload.php:91
+#: ajax/upload.php:77
msgid "Invalid directory."
msgstr ""
@@ -87,11 +82,11 @@ msgstr ""
msgid "Files"
msgstr "Datoteke"
-#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
+#: js/fileactions.js:117 templates/index.php:81 templates/index.php:82
msgid "Unshare"
msgstr "Odstrani iz souporabe"
-#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
+#: js/fileactions.js:119 templates/index.php:87 templates/index.php:88
msgid "Delete"
msgstr "Izbriši"
@@ -99,139 +94,151 @@ msgstr "Izbriši"
msgid "Rename"
msgstr "Preimenuj"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "{new_name} already exists"
msgstr "{new_name} že obstaja"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "replace"
msgstr "zamenjaj"
-#: js/filelist.js:205
+#: js/filelist.js:208
msgid "suggest name"
msgstr "predlagaj ime"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "cancel"
msgstr "prekliÄi"
-#: js/filelist.js:254
+#: js/filelist.js:253
msgid "replaced {new_name}"
msgstr "zamenjano je ime {new_name}"
-#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
+#: js/filelist.js:253 js/filelist.js:255 js/filelist.js:286 js/filelist.js:288
msgid "undo"
msgstr "razveljavi"
-#: js/filelist.js:256
+#: js/filelist.js:255
msgid "replaced {new_name} with {old_name}"
msgstr "zamenjano ime {new_name} z imenom {old_name}"
-#: js/filelist.js:288
+#: js/filelist.js:286
msgid "unshared {files}"
msgstr "odstranjeno iz souporabe {files}"
-#: js/filelist.js:290
+#: js/filelist.js:288
msgid "deleted {files}"
msgstr "izbrisano {files}"
-#: js/files.js:48
+#: js/files.js:52
msgid "'.' is an invalid file name."
msgstr ""
-#: js/files.js:53
+#: js/files.js:56
msgid "File name cannot be empty."
msgstr ""
-#: js/files.js:62
+#: js/files.js:64
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr "Neveljavno ime, znaki '\\', '/', '<', '>', ':', '\"', '|', '?' in '*' niso dovoljeni."
-#: js/files.js:204
+#: js/files.js:78
+msgid "Your storage is full, files can not be updated or synced anymore!"
+msgstr ""
+
+#: js/files.js:82
+msgid "Your storage is almost full ({usedSpacePercent}%)"
+msgstr ""
+
+#: js/files.js:219
msgid ""
"Your download is being prepared. This might take some time if the files are "
"big."
msgstr ""
-#: js/files.js:242
+#: js/files.js:256
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:242
+#: js/files.js:256
msgid "Upload Error"
msgstr "Napaka med nalaganjem"
-#: js/files.js:259
+#: js/files.js:273
msgid "Close"
msgstr "Zapri"
-#: js/files.js:278 js/files.js:397 js/files.js:431
+#: js/files.js:292 js/files.js:408 js/files.js:439
msgid "Pending"
msgstr "V Äakanju ..."
-#: js/files.js:298
+#: js/files.js:312
msgid "1 file uploading"
msgstr "Pošiljanje 1 datoteke"
-#: js/files.js:301 js/files.js:357 js/files.js:372
+#: js/files.js:315 js/files.js:370 js/files.js:385
msgid "{count} files uploading"
msgstr "nalagam {count} datotek"
-#: js/files.js:376 js/files.js:414
+#: js/files.js:388 js/files.js:423
msgid "Upload cancelled."
msgstr "Pošiljanje je preklicano."
-#: js/files.js:486
+#: js/files.js:493
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:559
+#: js/files.js:566
msgid "URL cannot be empty."
msgstr "Naslov URL ne sme biti prazen."
-#: js/files.js:565
+#: js/files.js:571
msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
msgstr ""
-#: js/files.js:775
+#: js/files.js:784
msgid "{count} files scanned"
msgstr "{count} files scanned"
-#: js/files.js:783
+#: js/files.js:792
msgid "error while scanning"
msgstr "napaka med pregledovanjem datotek"
-#: js/files.js:857 templates/index.php:64
+#: js/files.js:866 templates/index.php:63
msgid "Name"
msgstr "Ime"
-#: js/files.js:858 templates/index.php:75
+#: js/files.js:867 templates/index.php:74
msgid "Size"
msgstr "Velikost"
-#: js/files.js:859 templates/index.php:77
+#: js/files.js:868 templates/index.php:76
msgid "Modified"
msgstr "Spremenjeno"
-#: js/files.js:878
+#: js/files.js:887
msgid "1 folder"
msgstr "1 mapa"
-#: js/files.js:880
+#: js/files.js:889
msgid "{count} folders"
msgstr "{count} map"
-#: js/files.js:888
+#: js/files.js:897
msgid "1 file"
msgstr "1 datoteka"
-#: js/files.js:890
+#: js/files.js:899
msgid "{count} files"
msgstr "{count} datotek"
+#: lib/helper.php:11 templates/index.php:18
+msgid "Upload"
+msgstr "Pošlji"
+
#: templates/admin.php:5
msgid "File handling"
msgstr "Upravljanje z datotekami"
@@ -284,28 +291,28 @@ msgstr "Iz povezave"
msgid "Cancel upload"
msgstr "PrekliÄi poÅ¡iljanje"
-#: templates/index.php:56
+#: templates/index.php:55
msgid "Nothing in here. Upload something!"
msgstr "Tukaj ni niÄesar. Naložite kaj!"
-#: templates/index.php:70
+#: templates/index.php:69
msgid "Download"
msgstr "Prejmi"
-#: templates/index.php:102
+#: templates/index.php:101
msgid "Upload too large"
msgstr "Nalaganje ni mogoÄe, ker je preveliko"
-#: templates/index.php:104
+#: templates/index.php:103
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:109
+#: templates/index.php:108
msgid "Files are being scanned, please wait."
msgstr "Poteka preuÄevanje datotek, poÄakajte ..."
-#: templates/index.php:112
+#: templates/index.php:111
msgid "Current scanning"
msgstr "Trenutno poteka preuÄevanje"
diff --git a/l10n/sr/core.po b/l10n/sr/core.po
index 720d77429fd..b20cc90c580 100644
--- a/l10n/sr/core.po
+++ b/l10n/sr/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: 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"
+"POT-Creation-Date: 2013-01-29 00:04+0100\n"
+"PO-Revision-Date: 2013-01-28 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"
@@ -82,59 +82,135 @@ msgstr "Ðи једна категорија није означена за бр
msgid "Error removing %s from favorites."
msgstr "Грешка приликом уклањања %s из омиљених"
-#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61
+#: js/config.php:32
+msgid "Sunday"
+msgstr "Ðедеља"
+
+#: js/config.php:32
+msgid "Monday"
+msgstr "Понедељак"
+
+#: js/config.php:32
+msgid "Tuesday"
+msgstr "Уторак"
+
+#: js/config.php:32
+msgid "Wednesday"
+msgstr "Среда"
+
+#: js/config.php:32
+msgid "Thursday"
+msgstr "Четвртак"
+
+#: js/config.php:32
+msgid "Friday"
+msgstr "Петак"
+
+#: js/config.php:32
+msgid "Saturday"
+msgstr "Субота"
+
+#: js/config.php:33
+msgid "January"
+msgstr "Јануар"
+
+#: js/config.php:33
+msgid "February"
+msgstr "Фебруар"
+
+#: js/config.php:33
+msgid "March"
+msgstr "Март"
+
+#: js/config.php:33
+msgid "April"
+msgstr "Ðприл"
+
+#: js/config.php:33
+msgid "May"
+msgstr "Мај"
+
+#: js/config.php:33
+msgid "June"
+msgstr "Јун"
+
+#: js/config.php:33
+msgid "July"
+msgstr "Јул"
+
+#: js/config.php:33
+msgid "August"
+msgstr "ÐвгуÑÑ‚"
+
+#: js/config.php:33
+msgid "September"
+msgstr "Септембар"
+
+#: js/config.php:33
+msgid "October"
+msgstr "Октобар"
+
+#: js/config.php:33
+msgid "November"
+msgstr "Ðовембар"
+
+#: js/config.php:33
+msgid "December"
+msgstr "Децембар"
+
+#: js/js.js:280 templates/layout.user.php:47 templates/layout.user.php:48
msgid "Settings"
msgstr "Подешавања"
-#: js/js.js:706
+#: js/js.js:762
msgid "seconds ago"
msgstr "пре неколико Ñекунди"
-#: js/js.js:707
+#: js/js.js:763
msgid "1 minute ago"
msgstr "пре 1 минут"
-#: js/js.js:708
+#: js/js.js:764
msgid "{minutes} minutes ago"
msgstr "пре {minutes} минута"
-#: js/js.js:709
+#: js/js.js:765
msgid "1 hour ago"
msgstr "Пре једног Ñата"
-#: js/js.js:710
+#: js/js.js:766
msgid "{hours} hours ago"
msgstr "Пре {hours} Ñата (Ñати)"
-#: js/js.js:711
+#: js/js.js:767
msgid "today"
msgstr "данаÑ"
-#: js/js.js:712
+#: js/js.js:768
msgid "yesterday"
msgstr "јуче"
-#: js/js.js:713
+#: js/js.js:769
msgid "{days} days ago"
msgstr "пре {days} дана"
-#: js/js.js:714
+#: js/js.js:770
msgid "last month"
msgstr "прошлог меÑеца"
-#: js/js.js:715
+#: js/js.js:771
msgid "{months} months ago"
msgstr "Пре {months} меÑеца (меÑеци)"
-#: js/js.js:716
+#: js/js.js:772
msgid "months ago"
msgstr "меÑеци раније"
-#: js/js.js:717
+#: js/js.js:773
msgid "last year"
msgstr "прошле године"
-#: js/js.js:718
+#: js/js.js:774
msgid "years ago"
msgstr "година раније"
@@ -293,6 +369,17 @@ msgstr "Шаљем..."
msgid "Email sent"
msgstr "Порука је поÑлата"
+#: js/update.js:14
+msgid ""
+"The update was unsuccessful. Please report this issue to the <a "
+"href=\"https://github.com/owncloud/core/issues\" target=\"_blank\">ownCloud "
+"community</a>."
+msgstr ""
+
+#: js/update.js:18
+msgid "The update was successful. Redirecting you to ownCloud now."
+msgstr ""
+
#: lostpassword/controller.php:47
msgid "ownCloud password reset"
msgstr "Поништавање лозинке за ownCloud"
@@ -444,87 +531,11 @@ msgstr "Домаћин базе"
msgid "Finish setup"
msgstr "Заврши подешавање"
-#: templates/layout.guest.php:15 templates/layout.user.php:17
-msgid "Sunday"
-msgstr "Ðедеља"
-
-#: templates/layout.guest.php:15 templates/layout.user.php:17
-msgid "Monday"
-msgstr "Понедељак"
-
-#: templates/layout.guest.php:15 templates/layout.user.php:17
-msgid "Tuesday"
-msgstr "Уторак"
-
-#: templates/layout.guest.php:15 templates/layout.user.php:17
-msgid "Wednesday"
-msgstr "Среда"
-
-#: templates/layout.guest.php:15 templates/layout.user.php:17
-msgid "Thursday"
-msgstr "Четвртак"
-
-#: templates/layout.guest.php:15 templates/layout.user.php:17
-msgid "Friday"
-msgstr "Петак"
-
-#: templates/layout.guest.php:15 templates/layout.user.php:17
-msgid "Saturday"
-msgstr "Субота"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:18
-msgid "January"
-msgstr "Јануар"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:18
-msgid "February"
-msgstr "Фебруар"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:18
-msgid "March"
-msgstr "Март"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:18
-msgid "April"
-msgstr "Ðприл"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:18
-msgid "May"
-msgstr "Мај"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:18
-msgid "June"
-msgstr "Јун"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:18
-msgid "July"
-msgstr "Јул"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:18
-msgid "August"
-msgstr "ÐвгуÑÑ‚"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:18
-msgid "September"
-msgstr "Септембар"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:18
-msgid "October"
-msgstr "Октобар"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:18
-msgid "November"
-msgstr "Ðовембар"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:18
-msgid "December"
-msgstr "Децембар"
-
-#: templates/layout.guest.php:41
+#: templates/layout.guest.php:34
msgid "web services under your control"
msgstr "веб ÑервиÑи под контролом"
-#: templates/layout.user.php:45
+#: templates/layout.user.php:32
msgid "Log out"
msgstr "Одјава"
diff --git a/l10n/sr/files.po b/l10n/sr/files.po
index 66e365482d7..06cef3e3222 100644
--- a/l10n/sr/files.po
+++ b/l10n/sr/files.po
@@ -10,8 +10,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-01-20 00:05+0100\n"
-"PO-Revision-Date: 2013-01-19 23:05+0000\n"
+"POT-Creation-Date: 2013-01-27 00:04+0100\n"
+"PO-Revision-Date: 2013-01-26 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"
@@ -20,11 +20,6 @@ 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"
@@ -39,46 +34,46 @@ msgstr ""
msgid "Unable to rename file"
msgstr ""
-#: ajax/upload.php:20
+#: ajax/upload.php:17
msgid "No file was uploaded. Unknown error"
msgstr ""
-#: ajax/upload.php:30
+#: ajax/upload.php:24
msgid "There is no error, the file uploaded with success"
msgstr "Ðије дошло до грешке. Датотека је уÑпешно отпремљена."
-#: ajax/upload.php:31
+#: ajax/upload.php:25
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr "Отпремљена датотека прелази Ñмерницу upload_max_filesize у датотеци php.ini:"
-#: ajax/upload.php:33
+#: ajax/upload.php:27
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:35
+#: ajax/upload.php:29
msgid "The uploaded file was only partially uploaded"
msgstr "Датотека је делимично отпремљена"
-#: ajax/upload.php:36
+#: ajax/upload.php:30
msgid "No file was uploaded"
msgstr "Датотека није отпремљена"
-#: ajax/upload.php:37
+#: ajax/upload.php:31
msgid "Missing a temporary folder"
msgstr "ÐедоÑтаје привремена фаÑцикла"
-#: ajax/upload.php:38
+#: ajax/upload.php:32
msgid "Failed to write to disk"
msgstr "Ðе могу да пишем на диÑк"
-#: ajax/upload.php:57
-msgid "Not enough space available"
+#: ajax/upload.php:48
+msgid "Not enough storage available"
msgstr ""
-#: ajax/upload.php:91
+#: ajax/upload.php:77
msgid "Invalid directory."
msgstr ""
@@ -86,11 +81,11 @@ msgstr ""
msgid "Files"
msgstr "Датотеке"
-#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
+#: js/fileactions.js:117 templates/index.php:81 templates/index.php:82
msgid "Unshare"
msgstr "Укини дељење"
-#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
+#: js/fileactions.js:119 templates/index.php:87 templates/index.php:88
msgid "Delete"
msgstr "Обриши"
@@ -98,139 +93,151 @@ msgstr "Обриши"
msgid "Rename"
msgstr "Преименуј"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "{new_name} already exists"
msgstr "{new_name} већ поÑтоји"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "replace"
msgstr "замени"
-#: js/filelist.js:205
+#: js/filelist.js:208
msgid "suggest name"
msgstr "предложи назив"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "cancel"
msgstr "откажи"
-#: js/filelist.js:254
+#: js/filelist.js:253
msgid "replaced {new_name}"
msgstr "замењено {new_name}"
-#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
+#: js/filelist.js:253 js/filelist.js:255 js/filelist.js:286 js/filelist.js:288
msgid "undo"
msgstr "опозови"
-#: js/filelist.js:256
+#: js/filelist.js:255
msgid "replaced {new_name} with {old_name}"
msgstr "замењено {new_name} Ñа {old_name}"
-#: js/filelist.js:288
+#: js/filelist.js:286
msgid "unshared {files}"
msgstr "укинуто дељење {files}"
-#: js/filelist.js:290
+#: js/filelist.js:288
msgid "deleted {files}"
msgstr "обриÑано {files}"
-#: js/files.js:48
+#: js/files.js:52
msgid "'.' is an invalid file name."
msgstr ""
-#: js/files.js:53
+#: js/files.js:56
msgid "File name cannot be empty."
msgstr ""
-#: js/files.js:62
+#: js/files.js:64
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr "ÐеиÑправан назив. Следећи знакови ниÑу дозвољени: \\, /, <, >, :, \", |, ? и *."
-#: js/files.js:204
+#: js/files.js:78
+msgid "Your storage is full, files can not be updated or synced anymore!"
+msgstr ""
+
+#: js/files.js:82
+msgid "Your storage is almost full ({usedSpacePercent}%)"
+msgstr ""
+
+#: js/files.js:219
msgid ""
"Your download is being prepared. This might take some time if the files are "
"big."
msgstr ""
-#: js/files.js:242
+#: js/files.js:256
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr "Ðе могу да отпремим датотеку као фаÑциклу или она има 0 бајтова"
-#: js/files.js:242
+#: js/files.js:256
msgid "Upload Error"
msgstr "Грешка при отпремању"
-#: js/files.js:259
+#: js/files.js:273
msgid "Close"
msgstr "Затвори"
-#: js/files.js:278 js/files.js:397 js/files.js:431
+#: js/files.js:292 js/files.js:408 js/files.js:439
msgid "Pending"
msgstr "Ðа чекању"
-#: js/files.js:298
+#: js/files.js:312
msgid "1 file uploading"
msgstr "Отпремам 1 датотеку"
-#: js/files.js:301 js/files.js:357 js/files.js:372
+#: js/files.js:315 js/files.js:370 js/files.js:385
msgid "{count} files uploading"
msgstr "Отпремам {count} датотеке/а"
-#: js/files.js:376 js/files.js:414
+#: js/files.js:388 js/files.js:423
msgid "Upload cancelled."
msgstr "Отпремање је прекинуто."
-#: js/files.js:486
+#: js/files.js:493
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr "Отпремање датотеке је у току. Ðко Ñада напуÑтите Ñтраницу, прекинућете отпремање."
-#: js/files.js:559
+#: js/files.js:566
msgid "URL cannot be empty."
msgstr ""
-#: js/files.js:565
+#: js/files.js:571
msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
msgstr ""
-#: js/files.js:775
+#: js/files.js:784
msgid "{count} files scanned"
msgstr "Скенирано датотека: {count}"
-#: js/files.js:783
+#: js/files.js:792
msgid "error while scanning"
msgstr "грешка при Ñкенирању"
-#: js/files.js:857 templates/index.php:64
+#: js/files.js:866 templates/index.php:63
msgid "Name"
msgstr "Ðазив"
-#: js/files.js:858 templates/index.php:75
+#: js/files.js:867 templates/index.php:74
msgid "Size"
msgstr "Величина"
-#: js/files.js:859 templates/index.php:77
+#: js/files.js:868 templates/index.php:76
msgid "Modified"
msgstr "Измењено"
-#: js/files.js:878
+#: js/files.js:887
msgid "1 folder"
msgstr "1 фаÑцикла"
-#: js/files.js:880
+#: js/files.js:889
msgid "{count} folders"
msgstr "{count} фаÑцикле/и"
-#: js/files.js:888
+#: js/files.js:897
msgid "1 file"
msgstr "1 датотека"
-#: js/files.js:890
+#: js/files.js:899
msgid "{count} files"
msgstr "{count} датотеке/а"
+#: lib/helper.php:11 templates/index.php:18
+msgid "Upload"
+msgstr "Отпреми"
+
#: templates/admin.php:5
msgid "File handling"
msgstr "Управљање датотекама"
@@ -283,28 +290,28 @@ msgstr "Са везе"
msgid "Cancel upload"
msgstr "Прекини отпремање"
-#: templates/index.php:56
+#: templates/index.php:55
msgid "Nothing in here. Upload something!"
msgstr "Овде нема ничег. Отпремите нешто!"
-#: templates/index.php:70
+#: templates/index.php:69
msgid "Download"
msgstr "Преузми"
-#: templates/index.php:102
+#: templates/index.php:101
msgid "Upload too large"
msgstr "Датотека је превелика"
-#: templates/index.php:104
+#: templates/index.php:103
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "Датотеке које желите да отпремите прелазе ограничење у величини."
-#: templates/index.php:109
+#: templates/index.php:108
msgid "Files are being scanned, please wait."
msgstr "Скенирам датотеке…"
-#: templates/index.php:112
+#: templates/index.php:111
msgid "Current scanning"
msgstr "Тренутно Ñкенирање"
diff --git a/l10n/sr@latin/core.po b/l10n/sr@latin/core.po
index 2cd55d70441..3b5e12b70b8 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: 2013-01-15 00:03+0100\n"
-"PO-Revision-Date: 2013-01-14 23:03+0000\n"
+"POT-Creation-Date: 2013-01-29 00:04+0100\n"
+"PO-Revision-Date: 2013-01-28 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"
@@ -80,59 +80,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:32
+msgid "Sunday"
+msgstr "Nedelja"
+
+#: js/config.php:32
+msgid "Monday"
+msgstr "Ponedeljak"
+
+#: js/config.php:32
+msgid "Tuesday"
+msgstr "Utorak"
+
+#: js/config.php:32
+msgid "Wednesday"
+msgstr "Sreda"
+
+#: js/config.php:32
+msgid "Thursday"
+msgstr "ÄŒetvrtak"
+
+#: js/config.php:32
+msgid "Friday"
+msgstr "Petak"
+
+#: js/config.php:32
+msgid "Saturday"
+msgstr "Subota"
+
+#: js/config.php:33
+msgid "January"
+msgstr "Januar"
+
+#: js/config.php:33
+msgid "February"
+msgstr "Februar"
+
+#: js/config.php:33
+msgid "March"
+msgstr "Mart"
+
+#: js/config.php:33
+msgid "April"
+msgstr "April"
+
+#: js/config.php:33
+msgid "May"
+msgstr "Maj"
+
+#: js/config.php:33
+msgid "June"
+msgstr "Jun"
+
+#: js/config.php:33
+msgid "July"
+msgstr "Jul"
+
+#: js/config.php:33
+msgid "August"
+msgstr "Avgust"
+
+#: js/config.php:33
+msgid "September"
+msgstr "Septembar"
+
+#: js/config.php:33
+msgid "October"
+msgstr "Oktobar"
+
+#: js/config.php:33
+msgid "November"
+msgstr "Novembar"
+
+#: js/config.php:33
+msgid "December"
+msgstr "Decembar"
+
+#: js/js.js:280 templates/layout.user.php:47 templates/layout.user.php:48
msgid "Settings"
msgstr "Podešavanja"
-#: js/js.js:711
+#: js/js.js:762
msgid "seconds ago"
msgstr ""
-#: js/js.js:712
+#: js/js.js:763
msgid "1 minute ago"
msgstr ""
-#: js/js.js:713
+#: js/js.js:764
msgid "{minutes} minutes ago"
msgstr ""
-#: js/js.js:714
+#: js/js.js:765
msgid "1 hour ago"
msgstr ""
-#: js/js.js:715
+#: js/js.js:766
msgid "{hours} hours ago"
msgstr ""
-#: js/js.js:716
+#: js/js.js:767
msgid "today"
msgstr ""
-#: js/js.js:717
+#: js/js.js:768
msgid "yesterday"
msgstr ""
-#: js/js.js:718
+#: js/js.js:769
msgid "{days} days ago"
msgstr ""
-#: js/js.js:719
+#: js/js.js:770
msgid "last month"
msgstr ""
-#: js/js.js:720
+#: js/js.js:771
msgid "{months} months ago"
msgstr ""
-#: js/js.js:721
+#: js/js.js:772
msgid "months ago"
msgstr ""
-#: js/js.js:722
+#: js/js.js:773
msgid "last year"
msgstr ""
-#: js/js.js:723
+#: js/js.js:774
msgid "years ago"
msgstr ""
@@ -291,6 +367,17 @@ msgstr ""
msgid "Email sent"
msgstr ""
+#: js/update.js:14
+msgid ""
+"The update was unsuccessful. Please report this issue to the <a "
+"href=\"https://github.com/owncloud/core/issues\" target=\"_blank\">ownCloud "
+"community</a>."
+msgstr ""
+
+#: js/update.js:18
+msgid "The update was successful. Redirecting you to ownCloud now."
+msgstr ""
+
#: lostpassword/controller.php:47
msgid "ownCloud password reset"
msgstr ""
@@ -442,87 +529,11 @@ msgstr "Domaćin baze"
msgid "Finish setup"
msgstr "Završi podešavanje"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Sunday"
-msgstr "Nedelja"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Monday"
-msgstr "Ponedeljak"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Tuesday"
-msgstr "Utorak"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Wednesday"
-msgstr "Sreda"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Thursday"
-msgstr "ÄŒetvrtak"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Friday"
-msgstr "Petak"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Saturday"
-msgstr "Subota"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "January"
-msgstr "Januar"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "February"
-msgstr "Februar"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "March"
-msgstr "Mart"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "April"
-msgstr "April"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "May"
-msgstr "Maj"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "June"
-msgstr "Jun"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "July"
-msgstr "Jul"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "August"
-msgstr "Avgust"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "September"
-msgstr "Septembar"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "October"
-msgstr "Oktobar"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "November"
-msgstr "Novembar"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "December"
-msgstr "Decembar"
-
-#: templates/layout.guest.php:42
+#: templates/layout.guest.php:34
msgid "web services under your control"
msgstr ""
-#: templates/layout.user.php:45
+#: templates/layout.user.php:32
msgid "Log out"
msgstr "Odjava"
diff --git a/l10n/sr@latin/files.po b/l10n/sr@latin/files.po
index d9fd6727232..baa78945561 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: 2013-01-20 00:05+0100\n"
-"PO-Revision-Date: 2013-01-19 23:05+0000\n"
+"POT-Creation-Date: 2013-01-27 00:04+0100\n"
+"PO-Revision-Date: 2013-01-26 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,11 +18,6 @@ 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"
@@ -37,46 +32,46 @@ msgstr ""
msgid "Unable to rename file"
msgstr ""
-#: ajax/upload.php:20
+#: ajax/upload.php:17
msgid "No file was uploaded. Unknown error"
msgstr ""
-#: ajax/upload.php:30
+#: ajax/upload.php:24
msgid "There is no error, the file uploaded with success"
msgstr "Nema greške, fajl je uspešno poslat"
-#: ajax/upload.php:31
+#: ajax/upload.php:25
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr ""
-#: ajax/upload.php:33
+#: ajax/upload.php:27
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:35
+#: ajax/upload.php:29
msgid "The uploaded file was only partially uploaded"
msgstr "Poslati fajl je samo delimiÄno otpremljen!"
-#: ajax/upload.php:36
+#: ajax/upload.php:30
msgid "No file was uploaded"
msgstr "Nijedan fajl nije poslat"
-#: ajax/upload.php:37
+#: ajax/upload.php:31
msgid "Missing a temporary folder"
msgstr "Nedostaje privremena fascikla"
-#: ajax/upload.php:38
+#: ajax/upload.php:32
msgid "Failed to write to disk"
msgstr ""
-#: ajax/upload.php:57
-msgid "Not enough space available"
+#: ajax/upload.php:48
+msgid "Not enough storage available"
msgstr ""
-#: ajax/upload.php:91
+#: ajax/upload.php:77
msgid "Invalid directory."
msgstr ""
@@ -84,11 +79,11 @@ msgstr ""
msgid "Files"
msgstr "Fajlovi"
-#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
+#: js/fileactions.js:117 templates/index.php:81 templates/index.php:82
msgid "Unshare"
msgstr ""
-#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
+#: js/fileactions.js:119 templates/index.php:87 templates/index.php:88
msgid "Delete"
msgstr "Obriši"
@@ -96,139 +91,151 @@ msgstr "Obriši"
msgid "Rename"
msgstr ""
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "{new_name} already exists"
msgstr ""
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "replace"
msgstr ""
-#: js/filelist.js:205
+#: js/filelist.js:208
msgid "suggest name"
msgstr ""
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "cancel"
msgstr ""
-#: js/filelist.js:254
+#: js/filelist.js:253
msgid "replaced {new_name}"
msgstr ""
-#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
+#: js/filelist.js:253 js/filelist.js:255 js/filelist.js:286 js/filelist.js:288
msgid "undo"
msgstr ""
-#: js/filelist.js:256
+#: js/filelist.js:255
msgid "replaced {new_name} with {old_name}"
msgstr ""
-#: js/filelist.js:288
+#: js/filelist.js:286
msgid "unshared {files}"
msgstr ""
-#: js/filelist.js:290
+#: js/filelist.js:288
msgid "deleted {files}"
msgstr ""
-#: js/files.js:48
+#: js/files.js:52
msgid "'.' is an invalid file name."
msgstr ""
-#: js/files.js:53
+#: js/files.js:56
msgid "File name cannot be empty."
msgstr ""
-#: js/files.js:62
+#: js/files.js:64
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr ""
-#: js/files.js:204
+#: js/files.js:78
+msgid "Your storage is full, files can not be updated or synced anymore!"
+msgstr ""
+
+#: js/files.js:82
+msgid "Your storage is almost full ({usedSpacePercent}%)"
+msgstr ""
+
+#: js/files.js:219
msgid ""
"Your download is being prepared. This might take some time if the files are "
"big."
msgstr ""
-#: js/files.js:242
+#: js/files.js:256
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr ""
-#: js/files.js:242
+#: js/files.js:256
msgid "Upload Error"
msgstr ""
-#: js/files.js:259
+#: js/files.js:273
msgid "Close"
msgstr "Zatvori"
-#: js/files.js:278 js/files.js:397 js/files.js:431
+#: js/files.js:292 js/files.js:408 js/files.js:439
msgid "Pending"
msgstr ""
-#: js/files.js:298
+#: js/files.js:312
msgid "1 file uploading"
msgstr ""
-#: js/files.js:301 js/files.js:357 js/files.js:372
+#: js/files.js:315 js/files.js:370 js/files.js:385
msgid "{count} files uploading"
msgstr ""
-#: js/files.js:376 js/files.js:414
+#: js/files.js:388 js/files.js:423
msgid "Upload cancelled."
msgstr ""
-#: js/files.js:486
+#: js/files.js:493
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr ""
-#: js/files.js:559
+#: js/files.js:566
msgid "URL cannot be empty."
msgstr ""
-#: js/files.js:565
+#: js/files.js:571
msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
msgstr ""
-#: js/files.js:775
+#: js/files.js:784
msgid "{count} files scanned"
msgstr ""
-#: js/files.js:783
+#: js/files.js:792
msgid "error while scanning"
msgstr ""
-#: js/files.js:857 templates/index.php:64
+#: js/files.js:866 templates/index.php:63
msgid "Name"
msgstr "Ime"
-#: js/files.js:858 templates/index.php:75
+#: js/files.js:867 templates/index.php:74
msgid "Size"
msgstr "VeliÄina"
-#: js/files.js:859 templates/index.php:77
+#: js/files.js:868 templates/index.php:76
msgid "Modified"
msgstr "Zadnja izmena"
-#: js/files.js:878
+#: js/files.js:887
msgid "1 folder"
msgstr ""
-#: js/files.js:880
+#: js/files.js:889
msgid "{count} folders"
msgstr ""
-#: js/files.js:888
+#: js/files.js:897
msgid "1 file"
msgstr ""
-#: js/files.js:890
+#: js/files.js:899
msgid "{count} files"
msgstr ""
+#: lib/helper.php:11 templates/index.php:18
+msgid "Upload"
+msgstr "Pošalji"
+
#: templates/admin.php:5
msgid "File handling"
msgstr ""
@@ -281,28 +288,28 @@ msgstr ""
msgid "Cancel upload"
msgstr ""
-#: templates/index.php:56
+#: templates/index.php:55
msgid "Nothing in here. Upload something!"
msgstr "Ovde nema niÄeg. PoÅ¡aljite neÅ¡to!"
-#: templates/index.php:70
+#: templates/index.php:69
msgid "Download"
msgstr "Preuzmi"
-#: templates/index.php:102
+#: templates/index.php:101
msgid "Upload too large"
msgstr "Pošiljka je prevelika"
-#: templates/index.php:104
+#: templates/index.php:103
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:109
+#: templates/index.php:108
msgid "Files are being scanned, please wait."
msgstr ""
-#: templates/index.php:112
+#: templates/index.php:111
msgid "Current scanning"
msgstr ""
diff --git a/l10n/sv/core.po b/l10n/sv/core.po
index 799ca43b10b..9ed140b8569 100644
--- a/l10n/sv/core.po
+++ b/l10n/sv/core.po
@@ -13,8 +13,8 @@ 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"
+"POT-Creation-Date: 2013-01-29 00:04+0100\n"
+"PO-Revision-Date: 2013-01-28 23:05+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"
@@ -85,59 +85,135 @@ msgstr "Inga kategorier valda för radering."
msgid "Error removing %s from favorites."
msgstr "Fel vid borttagning av %s från favoriter."
-#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61
+#: js/config.php:32
+msgid "Sunday"
+msgstr "Söndag"
+
+#: js/config.php:32
+msgid "Monday"
+msgstr "MÃ¥ndag"
+
+#: js/config.php:32
+msgid "Tuesday"
+msgstr "Tisdag"
+
+#: js/config.php:32
+msgid "Wednesday"
+msgstr "Onsdag"
+
+#: js/config.php:32
+msgid "Thursday"
+msgstr "Torsdag"
+
+#: js/config.php:32
+msgid "Friday"
+msgstr "Fredag"
+
+#: js/config.php:32
+msgid "Saturday"
+msgstr "Lördag"
+
+#: js/config.php:33
+msgid "January"
+msgstr "Januari"
+
+#: js/config.php:33
+msgid "February"
+msgstr "Februari"
+
+#: js/config.php:33
+msgid "March"
+msgstr "Mars"
+
+#: js/config.php:33
+msgid "April"
+msgstr "April"
+
+#: js/config.php:33
+msgid "May"
+msgstr "Maj"
+
+#: js/config.php:33
+msgid "June"
+msgstr "Juni"
+
+#: js/config.php:33
+msgid "July"
+msgstr "Juli"
+
+#: js/config.php:33
+msgid "August"
+msgstr "Augusti"
+
+#: js/config.php:33
+msgid "September"
+msgstr "September"
+
+#: js/config.php:33
+msgid "October"
+msgstr "Oktober"
+
+#: js/config.php:33
+msgid "November"
+msgstr "November"
+
+#: js/config.php:33
+msgid "December"
+msgstr "December"
+
+#: js/js.js:280 templates/layout.user.php:47 templates/layout.user.php:48
msgid "Settings"
msgstr "Inställningar"
-#: js/js.js:711
+#: js/js.js:762
msgid "seconds ago"
msgstr "sekunder sedan"
-#: js/js.js:712
+#: js/js.js:763
msgid "1 minute ago"
msgstr "1 minut sedan"
-#: js/js.js:713
+#: js/js.js:764
msgid "{minutes} minutes ago"
msgstr "{minutes} minuter sedan"
-#: js/js.js:714
+#: js/js.js:765
msgid "1 hour ago"
msgstr "1 timme sedan"
-#: js/js.js:715
+#: js/js.js:766
msgid "{hours} hours ago"
msgstr "{hours} timmar sedan"
-#: js/js.js:716
+#: js/js.js:767
msgid "today"
msgstr "i dag"
-#: js/js.js:717
+#: js/js.js:768
msgid "yesterday"
msgstr "i går"
-#: js/js.js:718
+#: js/js.js:769
msgid "{days} days ago"
msgstr "{days} dagar sedan"
-#: js/js.js:719
+#: js/js.js:770
msgid "last month"
msgstr "förra månaden"
-#: js/js.js:720
+#: js/js.js:771
msgid "{months} months ago"
msgstr "{months} månader sedan"
-#: js/js.js:721
+#: js/js.js:772
msgid "months ago"
msgstr "månader sedan"
-#: js/js.js:722
+#: js/js.js:773
msgid "last year"
msgstr "förra året"
-#: js/js.js:723
+#: js/js.js:774
msgid "years ago"
msgstr "Ã¥r sedan"
@@ -296,6 +372,17 @@ msgstr "Skickar ..."
msgid "Email sent"
msgstr "E-post skickat"
+#: js/update.js:14
+msgid ""
+"The update was unsuccessful. Please report this issue to the <a "
+"href=\"https://github.com/owncloud/core/issues\" target=\"_blank\">ownCloud "
+"community</a>."
+msgstr ""
+
+#: js/update.js:18
+msgid "The update was successful. Redirecting you to ownCloud now."
+msgstr ""
+
#: lostpassword/controller.php:47
msgid "ownCloud password reset"
msgstr "ownCloud lösenordsåterställning"
@@ -447,87 +534,11 @@ msgstr "Databasserver"
msgid "Finish setup"
msgstr "Avsluta installation"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Sunday"
-msgstr "Söndag"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Monday"
-msgstr "MÃ¥ndag"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Tuesday"
-msgstr "Tisdag"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Wednesday"
-msgstr "Onsdag"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Thursday"
-msgstr "Torsdag"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Friday"
-msgstr "Fredag"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Saturday"
-msgstr "Lördag"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "January"
-msgstr "Januari"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "February"
-msgstr "Februari"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "March"
-msgstr "Mars"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "April"
-msgstr "April"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "May"
-msgstr "Maj"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "June"
-msgstr "Juni"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "July"
-msgstr "Juli"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "August"
-msgstr "Augusti"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "September"
-msgstr "September"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "October"
-msgstr "Oktober"
-
-#: 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:34
msgid "web services under your control"
msgstr "webbtjänster under din kontroll"
-#: templates/layout.user.php:45
+#: templates/layout.user.php:32
msgid "Log out"
msgstr "Logga ut"
diff --git a/l10n/sv/files.po b/l10n/sv/files.po
index 4dc201683ef..c37b292851f 100644
--- a/l10n/sv/files.po
+++ b/l10n/sv/files.po
@@ -13,9 +13,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-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"
+"POT-Creation-Date: 2013-01-27 00:04+0100\n"
+"PO-Revision-Date: 2013-01-26 23:05+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"
@@ -23,11 +23,6 @@ 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"
@@ -42,46 +37,46 @@ msgstr "Kan inte flytta %s"
msgid "Unable to rename file"
msgstr "Kan inte byta namn på filen"
-#: ajax/upload.php:20
+#: ajax/upload.php:17
msgid "No file was uploaded. Unknown error"
msgstr "Ingen fil uppladdad. Okänt fel"
-#: ajax/upload.php:30
+#: ajax/upload.php:24
msgid "There is no error, the file uploaded with success"
msgstr "Inga fel uppstod. Filen laddades upp utan problem"
-#: ajax/upload.php:31
+#: ajax/upload.php:25
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:33
+#: ajax/upload.php:27
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:35
+#: ajax/upload.php:29
msgid "The uploaded file was only partially uploaded"
msgstr "Den uppladdade filen var endast delvis uppladdad"
-#: ajax/upload.php:36
+#: ajax/upload.php:30
msgid "No file was uploaded"
msgstr "Ingen fil blev uppladdad"
-#: ajax/upload.php:37
+#: ajax/upload.php:31
msgid "Missing a temporary folder"
msgstr "Saknar en tillfällig mapp"
-#: ajax/upload.php:38
+#: ajax/upload.php:32
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:48
+msgid "Not enough storage available"
+msgstr ""
-#: ajax/upload.php:91
+#: ajax/upload.php:77
msgid "Invalid directory."
msgstr "Felaktig mapp."
@@ -89,11 +84,11 @@ msgstr "Felaktig mapp."
msgid "Files"
msgstr "Filer"
-#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
+#: js/fileactions.js:117 templates/index.php:81 templates/index.php:82
msgid "Unshare"
msgstr "Sluta dela"
-#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
+#: js/fileactions.js:119 templates/index.php:87 templates/index.php:88
msgid "Delete"
msgstr "Radera"
@@ -101,139 +96,151 @@ msgstr "Radera"
msgid "Rename"
msgstr "Byt namn"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "{new_name} already exists"
msgstr "{new_name} finns redan"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "replace"
msgstr "ersätt"
-#: js/filelist.js:205
+#: js/filelist.js:208
msgid "suggest name"
msgstr "föreslå namn"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "cancel"
msgstr "avbryt"
-#: js/filelist.js:254
+#: js/filelist.js:253
msgid "replaced {new_name}"
msgstr "ersatt {new_name}"
-#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
+#: js/filelist.js:253 js/filelist.js:255 js/filelist.js:286 js/filelist.js:288
msgid "undo"
msgstr "Ã¥ngra"
-#: js/filelist.js:256
+#: js/filelist.js:255
msgid "replaced {new_name} with {old_name}"
msgstr "ersatt {new_name} med {old_name}"
-#: js/filelist.js:288
+#: js/filelist.js:286
msgid "unshared {files}"
msgstr "stoppad delning {files}"
-#: js/filelist.js:290
+#: js/filelist.js:288
msgid "deleted {files}"
msgstr "raderade {files}"
-#: js/files.js:48
+#: js/files.js:52
msgid "'.' is an invalid file name."
msgstr "'.' är ett ogiltigt filnamn."
-#: js/files.js:53
+#: js/files.js:56
msgid "File name cannot be empty."
msgstr "Filnamn kan inte vara tomt."
-#: js/files.js:62
+#: js/files.js:64
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr "Ogiltigt namn, '\\', '/', '<', '>', ':', '\"', '|', '?' och '*' är inte tillåtet."
-#: js/files.js:204
+#: js/files.js:78
+msgid "Your storage is full, files can not be updated or synced anymore!"
+msgstr ""
+
+#: js/files.js:82
+msgid "Your storage is almost full ({usedSpacePercent}%)"
+msgstr ""
+
+#: js/files.js:219
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:242
+#: js/files.js:256
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:242
+#: js/files.js:256
msgid "Upload Error"
msgstr "Uppladdningsfel"
-#: js/files.js:259
+#: js/files.js:273
msgid "Close"
msgstr "Stäng"
-#: js/files.js:278 js/files.js:397 js/files.js:431
+#: js/files.js:292 js/files.js:408 js/files.js:439
msgid "Pending"
msgstr "Väntar"
-#: js/files.js:298
+#: js/files.js:312
msgid "1 file uploading"
msgstr "1 filuppladdning"
-#: js/files.js:301 js/files.js:357 js/files.js:372
+#: js/files.js:315 js/files.js:370 js/files.js:385
msgid "{count} files uploading"
msgstr "{count} filer laddas upp"
-#: js/files.js:376 js/files.js:414
+#: js/files.js:388 js/files.js:423
msgid "Upload cancelled."
msgstr "Uppladdning avbruten."
-#: js/files.js:486
+#: js/files.js:493
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:559
+#: js/files.js:566
msgid "URL cannot be empty."
msgstr "URL kan inte vara tom."
-#: js/files.js:565
+#: js/files.js:571
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
+#: js/files.js:784
msgid "{count} files scanned"
msgstr "{count} filer skannade"
-#: js/files.js:783
+#: js/files.js:792
msgid "error while scanning"
msgstr "fel vid skanning"
-#: js/files.js:857 templates/index.php:64
+#: js/files.js:866 templates/index.php:63
msgid "Name"
msgstr "Namn"
-#: js/files.js:858 templates/index.php:75
+#: js/files.js:867 templates/index.php:74
msgid "Size"
msgstr "Storlek"
-#: js/files.js:859 templates/index.php:77
+#: js/files.js:868 templates/index.php:76
msgid "Modified"
msgstr "Ändrad"
-#: js/files.js:878
+#: js/files.js:887
msgid "1 folder"
msgstr "1 mapp"
-#: js/files.js:880
+#: js/files.js:889
msgid "{count} folders"
msgstr "{count} mappar"
-#: js/files.js:888
+#: js/files.js:897
msgid "1 file"
msgstr "1 fil"
-#: js/files.js:890
+#: js/files.js:899
msgid "{count} files"
msgstr "{count} filer"
+#: lib/helper.php:11 templates/index.php:18
+msgid "Upload"
+msgstr "Ladda upp"
+
#: templates/admin.php:5
msgid "File handling"
msgstr "Filhantering"
@@ -286,28 +293,28 @@ msgstr "Från länk"
msgid "Cancel upload"
msgstr "Avbryt uppladdning"
-#: templates/index.php:56
+#: templates/index.php:55
msgid "Nothing in here. Upload something!"
msgstr "Ingenting här. Ladda upp något!"
-#: templates/index.php:70
+#: templates/index.php:69
msgid "Download"
msgstr "Ladda ner"
-#: templates/index.php:102
+#: templates/index.php:101
msgid "Upload too large"
msgstr "För stor uppladdning"
-#: templates/index.php:104
+#: templates/index.php:103
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:109
+#: templates/index.php:108
msgid "Files are being scanned, please wait."
msgstr "Filer skannas, var god vänta"
-#: templates/index.php:112
+#: templates/index.php:111
msgid "Current scanning"
msgstr "Aktuell skanning"
diff --git a/l10n/sv/files_encryption.po b/l10n/sv/files_encryption.po
index 946f272acca..cb599b8ee0c 100644
--- a/l10n/sv/files_encryption.po
+++ b/l10n/sv/files_encryption.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.
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"
+"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"
@@ -22,53 +22,53 @@ msgstr ""
msgid ""
"Please switch to your ownCloud client and change your encryption password to"
" complete the conversion."
-msgstr ""
+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 ""
+msgstr "Bytte till kryptering på klientsidan"
#: js/settings-personal.js:21
msgid "Change encryption password to login password"
-msgstr ""
+msgstr "Ändra krypteringslösenord till loginlösenord"
#: js/settings-personal.js:25
msgid "Please check your passwords and try again."
-msgstr ""
+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 ""
+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 ""
+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 ""
+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 ""
+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 ""
+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 ""
+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 ""
+msgstr "Användarspecifik (låter användaren bestämma)"
#: templates/settings.php:65
msgid "Encryption"
diff --git a/l10n/ta_LK/core.po b/l10n/ta_LK/core.po
index 83a4981f2ef..e4affb52400 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: 2013-01-15 00:03+0100\n"
-"PO-Revision-Date: 2013-01-14 23:03+0000\n"
+"POT-Creation-Date: 2013-01-29 00:04+0100\n"
+"PO-Revision-Date: 2013-01-28 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"
@@ -80,59 +80,135 @@ msgstr "நீகà¯à®•à¯à®µà®¤à®±à¯à®•à¯ எநà¯à®¤à®ªà¯ பிரிவà
msgid "Error removing %s from favorites."
msgstr "விரà¯à®ªà¯à®ªà®¤à¯à®¤à®¿à®²à®¿à®°à¯à®¨à¯à®¤à¯ %s ஠அகறà¯à®±à¯à®µà®¤à®¿à®²à¯ வழà¯.உஇஇ"
-#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61
+#: js/config.php:32
+msgid "Sunday"
+msgstr "ஞாயிறà¯à®±à¯à®•à¯à®•à®¿à®´à®®à¯ˆ"
+
+#: js/config.php:32
+msgid "Monday"
+msgstr "திஙà¯à®•à®Ÿà¯à®•à®¿à®´à®®à¯ˆ"
+
+#: js/config.php:32
+msgid "Tuesday"
+msgstr "செவà¯à®µà®¾à®¯à¯à®•à¯à®•à®¿à®´à®®à¯ˆ"
+
+#: js/config.php:32
+msgid "Wednesday"
+msgstr "பà¯à®¤à®©à¯à®•à®¿à®´à®®à¯ˆ"
+
+#: js/config.php:32
+msgid "Thursday"
+msgstr "வியாழகà¯à®•à®¿à®´à®®à¯ˆ"
+
+#: js/config.php:32
+msgid "Friday"
+msgstr "வெளà¯à®³à®¿à®•à¯à®•à®¿à®´à®®à¯ˆ"
+
+#: js/config.php:32
+msgid "Saturday"
+msgstr "சனிகà¯à®•à®¿à®´à®®à¯ˆ"
+
+#: js/config.php:33
+msgid "January"
+msgstr "தை"
+
+#: js/config.php:33
+msgid "February"
+msgstr "மாசி"
+
+#: js/config.php:33
+msgid "March"
+msgstr "பஙà¯à®•à¯à®©à®¿"
+
+#: js/config.php:33
+msgid "April"
+msgstr "சிதà¯à®¤à®¿à®°à¯ˆ"
+
+#: js/config.php:33
+msgid "May"
+msgstr "வைகாசி"
+
+#: js/config.php:33
+msgid "June"
+msgstr "ஆனி"
+
+#: js/config.php:33
+msgid "July"
+msgstr "ஆடி"
+
+#: js/config.php:33
+msgid "August"
+msgstr "ஆவணி"
+
+#: js/config.php:33
+msgid "September"
+msgstr "பà¯à®°à®Ÿà¯à®Ÿà®¾à®šà®¿"
+
+#: js/config.php:33
+msgid "October"
+msgstr "à®à®ªà¯à®ªà®šà®¿"
+
+#: js/config.php:33
+msgid "November"
+msgstr "காரà¯à®¤à¯à®¤à®¿à®•à¯ˆ"
+
+#: js/config.php:33
+msgid "December"
+msgstr "மாரà¯à®•à®´à®¿"
+
+#: js/js.js:280 templates/layout.user.php:47 templates/layout.user.php:48
msgid "Settings"
msgstr "அமைபà¯à®ªà¯à®•à®³à¯"
-#: js/js.js:711
+#: js/js.js:762
msgid "seconds ago"
msgstr "செகà¯à®•à®©à¯à®•à®³à¯à®•à¯à®•à¯ à®®à¯à®©à¯"
-#: js/js.js:712
+#: js/js.js:763
msgid "1 minute ago"
msgstr "1 நிமிடதà¯à®¤à®¿à®±à¯à®•à¯ à®®à¯à®©à¯ "
-#: js/js.js:713
+#: js/js.js:764
msgid "{minutes} minutes ago"
msgstr "{நிமிடஙà¯à®•à®³à¯} நிமிடஙà¯à®•à®³à¯à®•à¯à®•à¯ à®®à¯à®©à¯ "
-#: js/js.js:714
+#: js/js.js:765
msgid "1 hour ago"
msgstr "1 மணிதà¯à®¤à®¿à®¯à®¾à®²à®¤à¯à®¤à®¿à®±à¯à®•à¯ à®®à¯à®©à¯"
-#: js/js.js:715
+#: js/js.js:766
msgid "{hours} hours ago"
msgstr "{மணிதà¯à®¤à®¿à®¯à®¾à®²à®™à¯à®•à®³à¯} மணிதà¯à®¤à®¿à®¯à®¾à®²à®™à¯à®•à®³à®¿à®±à¯à®•à¯ à®®à¯à®©à¯"
-#: js/js.js:716
+#: js/js.js:767
msgid "today"
msgstr "இனà¯à®±à¯"
-#: js/js.js:717
+#: js/js.js:768
msgid "yesterday"
msgstr "நேறà¯à®±à¯"
-#: js/js.js:718
+#: js/js.js:769
msgid "{days} days ago"
msgstr "{நாடà¯à®•à®³à¯} நாடà¯à®•à®³à¯à®•à¯à®•à¯ à®®à¯à®©à¯"
-#: js/js.js:719
+#: js/js.js:770
msgid "last month"
msgstr "கடநà¯à®¤ மாதமà¯"
-#: js/js.js:720
+#: js/js.js:771
msgid "{months} months ago"
msgstr "{மாதஙà¯à®•à®³à¯} மாதஙà¯à®•à®³à®¿à®±à¯à®•à¯ à®®à¯à®©à¯"
-#: js/js.js:721
+#: js/js.js:772
msgid "months ago"
msgstr "மாதஙà¯à®•à®³à¯à®•à¯à®•à¯ à®®à¯à®©à¯"
-#: js/js.js:722
+#: js/js.js:773
msgid "last year"
msgstr "கடநà¯à®¤ வரà¯à®Ÿà®®à¯"
-#: js/js.js:723
+#: js/js.js:774
msgid "years ago"
msgstr "வரà¯à®Ÿà®™à¯à®•à®³à¯à®•à¯à®•à¯ à®®à¯à®©à¯"
@@ -291,6 +367,17 @@ msgstr ""
msgid "Email sent"
msgstr ""
+#: js/update.js:14
+msgid ""
+"The update was unsuccessful. Please report this issue to the <a "
+"href=\"https://github.com/owncloud/core/issues\" target=\"_blank\">ownCloud "
+"community</a>."
+msgstr ""
+
+#: js/update.js:18
+msgid "The update was successful. Redirecting you to ownCloud now."
+msgstr ""
+
#: lostpassword/controller.php:47
msgid "ownCloud password reset"
msgstr "ownCloud இன௠கடவà¯à®šà¯à®šà¯Šà®²à¯ மீளமைபà¯à®ªà¯"
@@ -442,87 +529,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:34
msgid "web services under your control"
msgstr "உஙà¯à®•à®³à¯ கடà¯à®Ÿà¯à®ªà¯à®ªà®¾à®Ÿà¯à®Ÿà®¿à®©à¯ கீழ௠இணைய சேவைகளà¯"
-#: templates/layout.user.php:45
+#: templates/layout.user.php:32
msgid "Log out"
msgstr "விடà¯à®ªà®¤à®¿à®•à¯ˆ செயà¯à®•"
diff --git a/l10n/ta_LK/files.po b/l10n/ta_LK/files.po
index 25ae576772c..9f5d785083a 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: 2013-01-20 00:05+0100\n"
-"PO-Revision-Date: 2013-01-19 23:05+0000\n"
+"POT-Creation-Date: 2013-01-27 00:04+0100\n"
+"PO-Revision-Date: 2013-01-26 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,11 +18,6 @@ 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"
@@ -37,46 +32,46 @@ msgstr ""
msgid "Unable to rename file"
msgstr ""
-#: ajax/upload.php:20
+#: ajax/upload.php:17
msgid "No file was uploaded. Unknown error"
msgstr "ஒர௠கோபà¯à®ªà¯à®®à¯ பதிவேறà¯à®±à®ªà¯à®ªà®Ÿà®µà®¿à®²à¯à®²à¯ˆ. அறியபà¯à®ªà®Ÿà®¾à®¤ வழà¯"
-#: ajax/upload.php:30
+#: ajax/upload.php:24
msgid "There is no error, the file uploaded with success"
msgstr "இஙà¯à®•à¯ வழ௠இலà¯à®²à¯ˆ, கோபà¯à®ªà¯ வெறà¯à®±à®¿à®•à®°à®®à®¾à®• பதிவேறà¯à®±à®ªà¯à®ªà®Ÿà¯à®Ÿà®¤à¯"
-#: ajax/upload.php:31
+#: ajax/upload.php:25
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr ""
-#: ajax/upload.php:33
+#: ajax/upload.php:27
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:35
+#: ajax/upload.php:29
msgid "The uploaded file was only partially uploaded"
msgstr "பதிவேறà¯à®±à®ªà¯à®ªà®Ÿà¯à®Ÿ கோபà¯à®ªà®¾à®©à®¤à¯ பகà¯à®¤à®¿à®¯à®¾à®• மடà¯à®Ÿà¯à®®à¯‡ பதிவேறà¯à®±à®ªà¯à®ªà®Ÿà¯à®Ÿà¯à®³à¯à®³à®¤à¯"
-#: ajax/upload.php:36
+#: ajax/upload.php:30
msgid "No file was uploaded"
msgstr "எநà¯à®¤ கோபà¯à®ªà¯à®®à¯ பதிவேறà¯à®±à®ªà¯à®ªà®Ÿà®µà®¿à®²à¯à®²à¯ˆ"
-#: ajax/upload.php:37
+#: ajax/upload.php:31
msgid "Missing a temporary folder"
msgstr "ஒர௠தறà¯à®•à®¾à®²à®¿à®•à®®à®¾à®© கோபà¯à®ªà¯à®±à¯ˆà®¯à¯ˆ காணவிலà¯à®²à¯ˆ"
-#: ajax/upload.php:38
+#: ajax/upload.php:32
msgid "Failed to write to disk"
msgstr "வடà¯à®Ÿà®¿à®²à¯ எழà¯à®¤ à®®à¯à®Ÿà®¿à®¯à®µà®¿à®²à¯à®²à¯ˆ"
-#: ajax/upload.php:57
-msgid "Not enough space available"
+#: ajax/upload.php:48
+msgid "Not enough storage available"
msgstr ""
-#: ajax/upload.php:91
+#: ajax/upload.php:77
msgid "Invalid directory."
msgstr ""
@@ -84,11 +79,11 @@ msgstr ""
msgid "Files"
msgstr "கோபà¯à®ªà¯à®•à®³à¯"
-#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
+#: js/fileactions.js:117 templates/index.php:81 templates/index.php:82
msgid "Unshare"
msgstr "பகிரபà¯à®ªà®Ÿà®¾à®¤à®¤à¯"
-#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
+#: js/fileactions.js:119 templates/index.php:87 templates/index.php:88
msgid "Delete"
msgstr "அழிகà¯à®•"
@@ -96,139 +91,151 @@ msgstr "அழிகà¯à®•"
msgid "Rename"
msgstr "பெயரà¯à®®à®¾à®±à¯à®±à®®à¯"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "{new_name} already exists"
msgstr "{new_name} à®à®±à¯à®•à®©à®µà¯‡ உளà¯à®³à®¤à¯"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "replace"
msgstr "மாறà¯à®±à®¿à®Ÿà¯à®•"
-#: js/filelist.js:205
+#: js/filelist.js:208
msgid "suggest name"
msgstr "பெயரை பரிநà¯à®¤à¯à®°à¯ˆà®•à¯à®•"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "cancel"
msgstr "இரதà¯à®¤à¯ செயà¯à®•"
-#: js/filelist.js:254
+#: js/filelist.js:253
msgid "replaced {new_name}"
msgstr "மாறà¯à®±à®ªà¯à®ªà®Ÿà¯à®Ÿà®¤à¯ {new_name}"
-#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
+#: js/filelist.js:253 js/filelist.js:255 js/filelist.js:286 js/filelist.js:288
msgid "undo"
msgstr "à®®à¯à®©à¯ செயல௠நீகà¯à®•à®®à¯ "
-#: js/filelist.js:256
+#: js/filelist.js:255
msgid "replaced {new_name} with {old_name}"
msgstr "{new_name} ஆனத௠{old_name} இனால௠மாறà¯à®±à®ªà¯à®ªà®Ÿà¯à®Ÿà®¤à¯"
-#: js/filelist.js:288
+#: js/filelist.js:286
msgid "unshared {files}"
msgstr "பகிரபà¯à®ªà®Ÿà®¾à®¤à®¤à¯ {கோபà¯à®ªà¯à®•à®³à¯}"
-#: js/filelist.js:290
+#: js/filelist.js:288
msgid "deleted {files}"
msgstr "நீகà¯à®•à®ªà¯à®ªà®Ÿà¯à®Ÿà®¤à¯ {கோபà¯à®ªà¯à®•à®³à¯}"
-#: js/files.js:48
+#: js/files.js:52
msgid "'.' is an invalid file name."
msgstr ""
-#: js/files.js:53
+#: js/files.js:56
msgid "File name cannot be empty."
msgstr ""
-#: js/files.js:62
+#: js/files.js:64
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr "செலà¯à®²à¯à®ªà®Ÿà®¿à®¯à®±à¯à®± பெயரà¯,'\\', '/', '<', '>', ':', '\"', '|', '?' மறà¯à®±à¯à®®à¯ '*' ஆகியன அனà¯à®®à®¤à®¿à®•à¯à®•à®ªà¯à®ªà®Ÿà®®à®¾à®Ÿà¯à®Ÿà®¾à®¤à¯."
-#: js/files.js:204
+#: js/files.js:78
+msgid "Your storage is full, files can not be updated or synced anymore!"
+msgstr ""
+
+#: js/files.js:82
+msgid "Your storage is almost full ({usedSpacePercent}%)"
+msgstr ""
+
+#: js/files.js:219
msgid ""
"Your download is being prepared. This might take some time if the files are "
"big."
msgstr ""
-#: js/files.js:242
+#: js/files.js:256
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr "அடைவ௠அலà¯à®²à®¤à¯ 0 bytes ஠கொணà¯à®Ÿà¯à®³à¯à®³à®¤à®¾à®²à¯ உஙà¯à®•à®³à¯à®Ÿà¯ˆà®¯ கோபà¯à®ªà¯ˆ பதிவேறà¯à®± à®®à¯à®Ÿà®¿à®¯à®µà®¿à®²à¯à®²à¯ˆ"
-#: js/files.js:242
+#: js/files.js:256
msgid "Upload Error"
msgstr "பதிவேறà¯à®±à®²à¯ வழà¯"
-#: js/files.js:259
+#: js/files.js:273
msgid "Close"
msgstr "மூடà¯à®•"
-#: js/files.js:278 js/files.js:397 js/files.js:431
+#: js/files.js:292 js/files.js:408 js/files.js:439
msgid "Pending"
msgstr "நிலà¯à®µà¯ˆà®¯à®¿à®²à¯à®³à¯à®³"
-#: js/files.js:298
+#: js/files.js:312
msgid "1 file uploading"
msgstr "1 கோபà¯à®ªà¯ பதிவேறà¯à®±à®ªà¯à®ªà®Ÿà¯à®•à®¿à®±à®¤à¯"
-#: js/files.js:301 js/files.js:357 js/files.js:372
+#: js/files.js:315 js/files.js:370 js/files.js:385
msgid "{count} files uploading"
msgstr "{எணà¯à®£à®¿à®•à¯à®•à¯ˆ} கோபà¯à®ªà¯à®•à®³à¯ பதிவேறà¯à®±à®ªà¯à®ªà®Ÿà¯à®•à®¿à®©à¯à®±à®¤à¯"
-#: js/files.js:376 js/files.js:414
+#: js/files.js:388 js/files.js:423
msgid "Upload cancelled."
msgstr "பதிவேறà¯à®±à®²à¯ இரதà¯à®¤à¯ செயà¯à®¯à®ªà¯à®ªà®Ÿà¯à®Ÿà¯à®³à¯à®³à®¤à¯"
-#: js/files.js:486
+#: js/files.js:493
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr "கோபà¯à®ªà¯ பதிவேறà¯à®±à®®à¯ செயலà¯à®ªà®¾à®Ÿà¯à®Ÿà®¿à®²à¯ உளà¯à®³à®¤à¯. இநà¯à®¤à®ªà¯ பகà¯à®•à®¤à¯à®¤à®¿à®²à®¿à®°à¯à®¨à¯à®¤à¯ வெறியேறà¯à®µà®¤à®¾à®©à®¤à¯ பதிவேறà¯à®±à®²à¯ˆ இரதà¯à®¤à¯ செயà¯à®¯à¯à®®à¯."
-#: js/files.js:559
+#: js/files.js:566
msgid "URL cannot be empty."
msgstr "URL வெறà¯à®®à¯ˆà®¯à®¾à®• இரà¯à®•à¯à®•à®®à¯à®Ÿà®¿à®¯à®¾à®¤à¯."
-#: js/files.js:565
+#: js/files.js:571
msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
msgstr ""
-#: js/files.js:775
+#: js/files.js:784
msgid "{count} files scanned"
msgstr "{எணà¯à®£à®¿à®•à¯à®•à¯ˆ} கோபà¯à®ªà¯à®•à®³à¯ வரà¯à®Ÿà®ªà¯à®ªà®Ÿà¯à®Ÿà®¤à¯"
-#: js/files.js:783
+#: js/files.js:792
msgid "error while scanning"
msgstr "வரà¯à®Ÿà¯à®®à¯ போதான வழà¯"
-#: js/files.js:857 templates/index.php:64
+#: js/files.js:866 templates/index.php:63
msgid "Name"
msgstr "பெயரà¯"
-#: js/files.js:858 templates/index.php:75
+#: js/files.js:867 templates/index.php:74
msgid "Size"
msgstr "அளவà¯"
-#: js/files.js:859 templates/index.php:77
+#: js/files.js:868 templates/index.php:76
msgid "Modified"
msgstr "மாறà¯à®±à®ªà¯à®ªà®Ÿà¯à®Ÿà®¤à¯"
-#: js/files.js:878
+#: js/files.js:887
msgid "1 folder"
msgstr "1 கோபà¯à®ªà¯à®±à¯ˆ"
-#: js/files.js:880
+#: js/files.js:889
msgid "{count} folders"
msgstr "{எணà¯à®£à®¿à®•à¯à®•à¯ˆ} கோபà¯à®ªà¯à®±à¯ˆà®•à®³à¯"
-#: js/files.js:888
+#: js/files.js:897
msgid "1 file"
msgstr "1 கோபà¯à®ªà¯"
-#: js/files.js:890
+#: js/files.js:899
msgid "{count} files"
msgstr "{எணà¯à®£à®¿à®•à¯à®•à¯ˆ} கோபà¯à®ªà¯à®•à®³à¯"
+#: lib/helper.php:11 templates/index.php:18
+msgid "Upload"
+msgstr "பதிவேறà¯à®±à¯à®•"
+
#: templates/admin.php:5
msgid "File handling"
msgstr "கோபà¯à®ªà¯ கையாளà¯à®¤à®²à¯"
@@ -281,28 +288,28 @@ msgstr "இணைபà¯à®ªà®¿à®²à®¿à®°à¯à®¨à¯à®¤à¯"
msgid "Cancel upload"
msgstr "பதிவேறà¯à®±à®²à¯ˆ இரதà¯à®¤à¯ செயà¯à®•"
-#: templates/index.php:56
+#: templates/index.php:55
msgid "Nothing in here. Upload something!"
msgstr "இஙà¯à®•à¯ ஒனà¯à®±à¯à®®à¯ இலà¯à®²à¯ˆ. à®à®¤à®¾à®µà®¤à¯ பதிவேறà¯à®±à¯à®•!"
-#: templates/index.php:70
+#: templates/index.php:69
msgid "Download"
msgstr "பதிவிறகà¯à®•à¯à®•"
-#: templates/index.php:102
+#: templates/index.php:101
msgid "Upload too large"
msgstr "பதிவேறà¯à®±à®²à¯ மிகபà¯à®ªà¯†à®°à®¿à®¯à®¤à¯"
-#: templates/index.php:104
+#: templates/index.php:103
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "நீஙà¯à®•à®³à¯ பதிவேறà¯à®± à®®à¯à®¯à®±à¯à®šà®¿à®•à¯à®•à¯à®®à¯ கோபà¯à®ªà¯à®•à®³à®¾à®©à®¤à¯ இநà¯à®¤ சேவையகதà¯à®¤à®¿à®²à¯ கோபà¯à®ªà¯ பதிவேறà¯à®±à®•à¯à®•à¯‚டிய ஆககà¯à®•à¯‚டிய அளவிலà¯à®®à¯ கூடியதà¯."
-#: templates/index.php:109
+#: templates/index.php:108
msgid "Files are being scanned, please wait."
msgstr "கோபà¯à®ªà¯à®•à®³à¯ வரà¯à®Ÿà®ªà¯à®ªà®Ÿà¯à®•à®¿à®©à¯à®±à®©, தயவà¯à®šà¯†à®¯à¯à®¤à¯ காதà¯à®¤à®¿à®°à¯à®™à¯à®•à®³à¯."
-#: templates/index.php:112
+#: templates/index.php:111
msgid "Current scanning"
msgstr "தறà¯à®ªà¯‹à®¤à¯ வரà¯à®Ÿà®ªà¯à®ªà®Ÿà¯à®ªà®µà¯ˆ"
diff --git a/l10n/templates/core.pot b/l10n/templates/core.pot
index 972ace2da74..3d943223f0d 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: 2013-01-24 00:06+0100\n"
+"POT-Creation-Date: 2013-01-29 00:04+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:32
+msgid "Sunday"
+msgstr ""
+
+#: js/config.php:32
+msgid "Monday"
+msgstr ""
+
+#: js/config.php:32
+msgid "Tuesday"
+msgstr ""
+
+#: js/config.php:32
+msgid "Wednesday"
+msgstr ""
+
+#: js/config.php:32
+msgid "Thursday"
+msgstr ""
+
+#: js/config.php:32
+msgid "Friday"
+msgstr ""
+
+#: js/config.php:32
+msgid "Saturday"
+msgstr ""
+
+#: js/config.php:33
+msgid "January"
+msgstr ""
+
+#: js/config.php:33
+msgid "February"
+msgstr ""
+
+#: js/config.php:33
+msgid "March"
+msgstr ""
+
+#: js/config.php:33
+msgid "April"
+msgstr ""
+
+#: js/config.php:33
+msgid "May"
+msgstr ""
+
+#: js/config.php:33
+msgid "June"
+msgstr ""
+
+#: js/config.php:33
+msgid "July"
+msgstr ""
+
+#: js/config.php:33
+msgid "August"
+msgstr ""
+
+#: js/config.php:33
+msgid "September"
+msgstr ""
+
+#: js/config.php:33
+msgid "October"
+msgstr ""
+
+#: js/config.php:33
+msgid "November"
+msgstr ""
+
+#: js/config.php:33
+msgid "December"
+msgstr ""
+
+#: js/js.js:280 templates/layout.user.php:47 templates/layout.user.php:48
msgid "Settings"
msgstr ""
-#: js/js.js:706
+#: js/js.js:762
msgid "seconds ago"
msgstr ""
-#: js/js.js:707
+#: js/js.js:763
msgid "1 minute ago"
msgstr ""
-#: js/js.js:708
+#: js/js.js:764
msgid "{minutes} minutes ago"
msgstr ""
-#: js/js.js:709
+#: js/js.js:765
msgid "1 hour ago"
msgstr ""
-#: js/js.js:710
+#: js/js.js:766
msgid "{hours} hours ago"
msgstr ""
-#: js/js.js:711
+#: js/js.js:767
msgid "today"
msgstr ""
-#: js/js.js:712
+#: js/js.js:768
msgid "yesterday"
msgstr ""
-#: js/js.js:713
+#: js/js.js:769
msgid "{days} days ago"
msgstr ""
-#: js/js.js:714
+#: js/js.js:770
msgid "last month"
msgstr ""
-#: js/js.js:715
+#: js/js.js:771
msgid "{months} months ago"
msgstr ""
-#: js/js.js:716
+#: js/js.js:772
msgid "months ago"
msgstr ""
-#: js/js.js:717
+#: js/js.js:773
msgid "last year"
msgstr ""
-#: js/js.js:718
+#: js/js.js:774
msgid "years ago"
msgstr ""
@@ -290,6 +366,17 @@ msgstr ""
msgid "Email sent"
msgstr ""
+#: js/update.js:14
+msgid ""
+"The update was unsuccessful. Please report this issue to the <a href="
+"\"https://github.com/owncloud/core/issues\" target=\"_blank\">ownCloud "
+"community</a>."
+msgstr ""
+
+#: js/update.js:18
+msgid "The update was successful. Redirecting you to ownCloud now."
+msgstr ""
+
#: lostpassword/controller.php:47
msgid "ownCloud password reset"
msgstr ""
@@ -441,87 +528,11 @@ msgstr ""
msgid "Finish setup"
msgstr ""
-#: templates/layout.guest.php:15 templates/layout.user.php:17
-msgid "Sunday"
-msgstr ""
-
-#: templates/layout.guest.php:15 templates/layout.user.php:17
-msgid "Monday"
-msgstr ""
-
-#: templates/layout.guest.php:15 templates/layout.user.php:17
-msgid "Tuesday"
-msgstr ""
-
-#: templates/layout.guest.php:15 templates/layout.user.php:17
-msgid "Wednesday"
-msgstr ""
-
-#: templates/layout.guest.php:15 templates/layout.user.php:17
-msgid "Thursday"
-msgstr ""
-
-#: templates/layout.guest.php:15 templates/layout.user.php:17
-msgid "Friday"
-msgstr ""
-
-#: templates/layout.guest.php:15 templates/layout.user.php:17
-msgid "Saturday"
-msgstr ""
-
-#: templates/layout.guest.php:16 templates/layout.user.php:18
-msgid "January"
-msgstr ""
-
-#: templates/layout.guest.php:16 templates/layout.user.php:18
-msgid "February"
-msgstr ""
-
-#: templates/layout.guest.php:16 templates/layout.user.php:18
-msgid "March"
-msgstr ""
-
-#: templates/layout.guest.php:16 templates/layout.user.php:18
-msgid "April"
-msgstr ""
-
-#: templates/layout.guest.php:16 templates/layout.user.php:18
-msgid "May"
-msgstr ""
-
-#: templates/layout.guest.php:16 templates/layout.user.php:18
-msgid "June"
-msgstr ""
-
-#: templates/layout.guest.php:16 templates/layout.user.php:18
-msgid "July"
-msgstr ""
-
-#: templates/layout.guest.php:16 templates/layout.user.php:18
-msgid "August"
-msgstr ""
-
-#: templates/layout.guest.php:16 templates/layout.user.php:18
-msgid "September"
-msgstr ""
-
-#: templates/layout.guest.php:16 templates/layout.user.php:18
-msgid "October"
-msgstr ""
-
-#: templates/layout.guest.php:16 templates/layout.user.php:18
-msgid "November"
-msgstr ""
-
-#: templates/layout.guest.php:16 templates/layout.user.php:18
-msgid "December"
-msgstr ""
-
-#: templates/layout.guest.php:41
+#: templates/layout.guest.php:34
msgid "web services under your control"
msgstr ""
-#: templates/layout.user.php:45
+#: templates/layout.user.php:32
msgid "Log out"
msgstr ""
diff --git a/l10n/templates/files.pot b/l10n/templates/files.pot
index 4e2eb926731..45cf84e08bc 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: 2013-01-24 00:06+0100\n"
+"POT-Creation-Date: 2013-01-29 00:04+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,11 +17,6 @@ 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"
@@ -36,46 +31,46 @@ msgstr ""
msgid "Unable to rename file"
msgstr ""
-#: ajax/upload.php:20
+#: ajax/upload.php:17
msgid "No file was uploaded. Unknown error"
msgstr ""
-#: ajax/upload.php:30
+#: ajax/upload.php:24
msgid "There is no error, the file uploaded with success"
msgstr ""
-#: ajax/upload.php:31
+#: ajax/upload.php:25
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr ""
-#: ajax/upload.php:33
+#: ajax/upload.php:27
msgid ""
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
"the HTML form"
msgstr ""
-#: ajax/upload.php:35
+#: ajax/upload.php:29
msgid "The uploaded file was only partially uploaded"
msgstr ""
-#: ajax/upload.php:36
+#: ajax/upload.php:30
msgid "No file was uploaded"
msgstr ""
-#: ajax/upload.php:37
+#: ajax/upload.php:31
msgid "Missing a temporary folder"
msgstr ""
-#: ajax/upload.php:38
+#: ajax/upload.php:32
msgid "Failed to write to disk"
msgstr ""
-#: ajax/upload.php:57
-msgid "Not enough space available"
+#: ajax/upload.php:48
+msgid "Not enough storage available"
msgstr ""
-#: ajax/upload.php:91
+#: ajax/upload.php:77
msgid "Invalid directory."
msgstr ""
@@ -83,11 +78,11 @@ msgstr ""
msgid "Files"
msgstr ""
-#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
+#: js/fileactions.js:117 templates/index.php:81 templates/index.php:82
msgid "Unshare"
msgstr ""
-#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
+#: js/fileactions.js:119 templates/index.php:87 templates/index.php:88
msgid "Delete"
msgstr ""
@@ -95,139 +90,151 @@ msgstr ""
msgid "Rename"
msgstr ""
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "{new_name} already exists"
msgstr ""
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "replace"
msgstr ""
-#: js/filelist.js:205
+#: js/filelist.js:208
msgid "suggest name"
msgstr ""
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "cancel"
msgstr ""
-#: js/filelist.js:254
+#: js/filelist.js:253
msgid "replaced {new_name}"
msgstr ""
-#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
+#: js/filelist.js:253 js/filelist.js:255 js/filelist.js:286 js/filelist.js:288
msgid "undo"
msgstr ""
-#: js/filelist.js:256
+#: js/filelist.js:255
msgid "replaced {new_name} with {old_name}"
msgstr ""
-#: js/filelist.js:288
+#: js/filelist.js:286
msgid "unshared {files}"
msgstr ""
-#: js/filelist.js:290
+#: js/filelist.js:288
msgid "deleted {files}"
msgstr ""
-#: js/files.js:48
+#: js/files.js:52
msgid "'.' is an invalid file name."
msgstr ""
-#: js/files.js:53
+#: js/files.js:56
msgid "File name cannot be empty."
msgstr ""
-#: js/files.js:62
+#: js/files.js:64
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr ""
-#: js/files.js:204
+#: js/files.js:78
+msgid "Your storage is full, files can not be updated or synced anymore!"
+msgstr ""
+
+#: js/files.js:82
+msgid "Your storage is almost full ({usedSpacePercent}%)"
+msgstr ""
+
+#: js/files.js:219
msgid ""
"Your download is being prepared. This might take some time if the files are "
"big."
msgstr ""
-#: js/files.js:242
+#: js/files.js:256
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr ""
-#: js/files.js:242
+#: js/files.js:256
msgid "Upload Error"
msgstr ""
-#: js/files.js:259
+#: js/files.js:273
msgid "Close"
msgstr ""
-#: js/files.js:278 js/files.js:397 js/files.js:431
+#: js/files.js:292 js/files.js:408 js/files.js:439
msgid "Pending"
msgstr ""
-#: js/files.js:298
+#: js/files.js:312
msgid "1 file uploading"
msgstr ""
-#: js/files.js:301 js/files.js:357 js/files.js:372
+#: js/files.js:315 js/files.js:370 js/files.js:385
msgid "{count} files uploading"
msgstr ""
-#: js/files.js:376 js/files.js:414
+#: js/files.js:388 js/files.js:423
msgid "Upload cancelled."
msgstr ""
-#: js/files.js:486
+#: js/files.js:493
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr ""
-#: js/files.js:559
+#: js/files.js:566
msgid "URL cannot be empty."
msgstr ""
-#: js/files.js:565
+#: js/files.js:571
msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
msgstr ""
-#: js/files.js:775
+#: js/files.js:784
msgid "{count} files scanned"
msgstr ""
-#: js/files.js:783
+#: js/files.js:792
msgid "error while scanning"
msgstr ""
-#: js/files.js:857 templates/index.php:64
+#: js/files.js:866 templates/index.php:63
msgid "Name"
msgstr ""
-#: js/files.js:858 templates/index.php:75
+#: js/files.js:867 templates/index.php:74
msgid "Size"
msgstr ""
-#: js/files.js:859 templates/index.php:77
+#: js/files.js:868 templates/index.php:76
msgid "Modified"
msgstr ""
-#: js/files.js:878
+#: js/files.js:887
msgid "1 folder"
msgstr ""
-#: js/files.js:880
+#: js/files.js:889
msgid "{count} folders"
msgstr ""
-#: js/files.js:888
+#: js/files.js:897
msgid "1 file"
msgstr ""
-#: js/files.js:890
+#: js/files.js:899
msgid "{count} files"
msgstr ""
+#: lib/helper.php:11 templates/index.php:18
+msgid "Upload"
+msgstr ""
+
#: templates/admin.php:5
msgid "File handling"
msgstr ""
@@ -280,28 +287,28 @@ msgstr ""
msgid "Cancel upload"
msgstr ""
-#: templates/index.php:56
+#: templates/index.php:55
msgid "Nothing in here. Upload something!"
msgstr ""
-#: templates/index.php:70
+#: templates/index.php:69
msgid "Download"
msgstr ""
-#: templates/index.php:102
+#: templates/index.php:101
msgid "Upload too large"
msgstr ""
-#: templates/index.php:104
+#: templates/index.php:103
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr ""
-#: templates/index.php:109
+#: templates/index.php:108
msgid "Files are being scanned, please wait."
msgstr ""
-#: templates/index.php:112
+#: templates/index.php:111
msgid "Current scanning"
msgstr ""
diff --git a/l10n/templates/files_encryption.pot b/l10n/templates/files_encryption.pot
index 43ecb33b162..b955d636f96 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: 2013-01-24 00:06+0100\n"
+"POT-Creation-Date: 2013-01-29 00:04+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_external.pot b/l10n/templates/files_external.pot
index fadf6a450a0..29b5017ca9f 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: 2013-01-24 00:06+0100\n"
+"POT-Creation-Date: 2013-01-29 00:04+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 a6236dbce75..18e05f2daf7 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: 2013-01-24 00:06+0100\n"
+"POT-Creation-Date: 2013-01-29 00:04+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:9
#, php-format
msgid "%s shared the folder %s with you"
msgstr ""
-#: templates/public.php:19
+#: templates/public.php:11
#, php-format
msgid "%s shared the file %s with you"
msgstr ""
-#: templates/public.php:22 templates/public.php:38
+#: templates/public.php:14 templates/public.php:30
msgid "Download"
msgstr ""
-#: templates/public.php:37
+#: templates/public.php:29
msgid "No preview available for"
msgstr ""
-#: templates/public.php:43
+#: templates/public.php:35
msgid "web services under your control"
msgstr ""
diff --git a/l10n/templates/files_versions.pot b/l10n/templates/files_versions.pot
index 2b8a051d313..792abeb9baa 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: 2013-01-24 00:06+0100\n"
+"POT-Creation-Date: 2013-01-29 00:04+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/lib.pot b/l10n/templates/lib.pot
index 829f4a30b7b..17fa0f989d0 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: 2013-01-24 00:06+0100\n"
+"POT-Creation-Date: 2013-01-29 00:05+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/settings.pot b/l10n/templates/settings.pot
index 893a5ea2193..109d0cad53b 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: 2013-01-24 00:06+0100\n"
+"POT-Creation-Date: 2013-01-29 00:05+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"
@@ -87,7 +87,7 @@ msgstr ""
msgid "Saving..."
msgstr ""
-#: personal.php:42 personal.php:43
+#: personal.php:34 personal.php:35
msgid "__language_name__"
msgstr ""
@@ -99,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 ""
@@ -157,7 +157,7 @@ msgstr ""
msgid "Download iOS Client"
msgstr ""
-#: templates/personal.php:21 templates/users.php:23 templates/users.php:82
+#: templates/personal.php:21 templates/users.php:23 templates/users.php:80
msgid "Password"
msgstr ""
@@ -226,11 +226,11 @@ msgid ""
"General Public License\">AGPL</abbr></a>."
msgstr ""
-#: templates/users.php:21 templates/users.php:81
+#: templates/users.php:21 templates/users.php:79
msgid "Name"
msgstr ""
-#: templates/users.php:26 templates/users.php:83 templates/users.php:103
+#: templates/users.php:26 templates/users.php:81 templates/users.php:101
msgid "Groups"
msgstr ""
@@ -242,26 +242,26 @@ msgstr ""
msgid "Default Storage"
msgstr ""
-#: templates/users.php:42 templates/users.php:138
+#: templates/users.php:42 templates/users.php:136
msgid "Unlimited"
msgstr ""
-#: templates/users.php:60 templates/users.php:153
+#: templates/users.php:60 templates/users.php:151
msgid "Other"
msgstr ""
-#: templates/users.php:85 templates/users.php:117
+#: templates/users.php:83 templates/users.php:115
msgid "Group Admin"
msgstr ""
-#: templates/users.php:87
+#: templates/users.php:85
msgid "Storage"
msgstr ""
-#: templates/users.php:133
+#: templates/users.php:131
msgid "Default"
msgstr ""
-#: templates/users.php:161
+#: templates/users.php:159
msgid "Delete"
msgstr ""
diff --git a/l10n/templates/user_ldap.pot b/l10n/templates/user_ldap.pot
index a6b7c1cae5d..c40719bb381 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: 2013-01-24 00:06+0100\n"
+"POT-Creation-Date: 2013-01-29 00:04+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/user_webdavauth.pot b/l10n/templates/user_webdavauth.pot
index 82fcbf1276e..203606678f2 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: 2013-01-24 00:06+0100\n"
+"POT-Creation-Date: 2013-01-29 00:04+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/th_TH/core.po b/l10n/th_TH/core.po
index e9fe1ca9c9e..92d06694d14 100644
--- a/l10n/th_TH/core.po
+++ b/l10n/th_TH/core.po
@@ -9,9 +9,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-01-23 00:05+0100\n"
-"PO-Revision-Date: 2013-01-22 01:02+0000\n"
-"Last-Translator: AriesAnywhere Anywhere <ariesanywhere@gmail.com>\n"
+"POT-Creation-Date: 2013-01-29 00:04+0100\n"
+"PO-Revision-Date: 2013-01-28 23:05+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"
@@ -81,59 +81,135 @@ msgstr "ยังไม่ได้เลือà¸à¸«à¸¡à¸§à¸”หมู่ที
msgid "Error removing %s from favorites."
msgstr "เà¸à¸´à¸”ข้อผิดพลาดในà¸à¸²à¸£à¸¥à¸š %s ออà¸à¸ˆà¸²à¸à¸£à¸²à¸¢à¸à¸²à¸£à¹‚ปรด"
-#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61
+#: js/config.php:32
+msgid "Sunday"
+msgstr "วันอาทิตย์"
+
+#: js/config.php:32
+msgid "Monday"
+msgstr "วันจันทร์"
+
+#: js/config.php:32
+msgid "Tuesday"
+msgstr "วันอังคาร"
+
+#: js/config.php:32
+msgid "Wednesday"
+msgstr "วันพุธ"
+
+#: js/config.php:32
+msgid "Thursday"
+msgstr "วันพฤหัสบดี"
+
+#: js/config.php:32
+msgid "Friday"
+msgstr "วันศุà¸à¸£à¹Œ"
+
+#: js/config.php:32
+msgid "Saturday"
+msgstr "วันเสาร์"
+
+#: js/config.php:33
+msgid "January"
+msgstr "มà¸à¸£à¸²à¸„ม"
+
+#: js/config.php:33
+msgid "February"
+msgstr "à¸à¸¸à¸¡à¸ à¸²à¸žà¸±à¸™à¸˜à¹Œ"
+
+#: js/config.php:33
+msgid "March"
+msgstr "มีนาคม"
+
+#: js/config.php:33
+msgid "April"
+msgstr "เมษายน"
+
+#: js/config.php:33
+msgid "May"
+msgstr "พฤษภาคม"
+
+#: js/config.php:33
+msgid "June"
+msgstr "มิถุนายน"
+
+#: js/config.php:33
+msgid "July"
+msgstr "à¸à¸£à¸à¸à¸²à¸„ม"
+
+#: js/config.php:33
+msgid "August"
+msgstr "สิงหาคม"
+
+#: js/config.php:33
+msgid "September"
+msgstr "à¸à¸±à¸™à¸¢à¸²à¸¢à¸™"
+
+#: js/config.php:33
+msgid "October"
+msgstr "ตุลาคม"
+
+#: js/config.php:33
+msgid "November"
+msgstr "พฤศจิà¸à¸²à¸¢à¸™"
+
+#: js/config.php:33
+msgid "December"
+msgstr "ธันวาคม"
+
+#: js/js.js:280 templates/layout.user.php:47 templates/layout.user.php:48
msgid "Settings"
msgstr "ตั้งค่า"
-#: js/js.js:706
+#: js/js.js:762
msgid "seconds ago"
msgstr "วินาที à¸à¹ˆà¸­à¸™à¸«à¸™à¹‰à¸²à¸™à¸µà¹‰"
-#: js/js.js:707
+#: js/js.js:763
msgid "1 minute ago"
msgstr "1 นาทีà¸à¹ˆà¸­à¸™à¸«à¸™à¹‰à¸²à¸™à¸µà¹‰"
-#: js/js.js:708
+#: js/js.js:764
msgid "{minutes} minutes ago"
msgstr "{minutes} นาทีà¸à¹ˆà¸­à¸™à¸«à¸™à¹‰à¸²à¸™à¸µà¹‰"
-#: js/js.js:709
+#: js/js.js:765
msgid "1 hour ago"
msgstr "1 ชั่วโมงà¸à¹ˆà¸­à¸™à¸«à¸™à¹‰à¸²à¸™à¸µà¹‰"
-#: js/js.js:710
+#: js/js.js:766
msgid "{hours} hours ago"
msgstr "{hours} ชั่วโมงà¸à¹ˆà¸­à¸™à¸«à¸™à¹‰à¸²à¸™à¸µà¹‰"
-#: js/js.js:711
+#: js/js.js:767
msgid "today"
msgstr "วันนี้"
-#: js/js.js:712
+#: js/js.js:768
msgid "yesterday"
msgstr "เมื่อวานนี้"
-#: js/js.js:713
+#: js/js.js:769
msgid "{days} days ago"
msgstr "{day} วันà¸à¹ˆà¸­à¸™à¸«à¸™à¹‰à¸²à¸™à¸µà¹‰"
-#: js/js.js:714
+#: js/js.js:770
msgid "last month"
msgstr "เดือนที่à¹à¸¥à¹‰à¸§"
-#: js/js.js:715
+#: js/js.js:771
msgid "{months} months ago"
msgstr "{months} เดือนà¸à¹ˆà¸­à¸™à¸«à¸™à¹‰à¸²à¸™à¸µà¹‰"
-#: js/js.js:716
+#: js/js.js:772
msgid "months ago"
msgstr "เดือน ที่ผ่านมา"
-#: js/js.js:717
+#: js/js.js:773
msgid "last year"
msgstr "ปีที่à¹à¸¥à¹‰à¸§"
-#: js/js.js:718
+#: js/js.js:774
msgid "years ago"
msgstr "ปี ที่ผ่านมา"
@@ -292,6 +368,17 @@ msgstr "à¸à¸³à¸¥à¸±à¸‡à¸ªà¹ˆà¸‡..."
msgid "Email sent"
msgstr "ส่งอีเมล์à¹à¸¥à¹‰à¸§"
+#: js/update.js:14
+msgid ""
+"The update was unsuccessful. Please report this issue to the <a "
+"href=\"https://github.com/owncloud/core/issues\" target=\"_blank\">ownCloud "
+"community</a>."
+msgstr ""
+
+#: js/update.js:18
+msgid "The update was successful. Redirecting you to ownCloud now."
+msgstr ""
+
#: lostpassword/controller.php:47
msgid "ownCloud password reset"
msgstr "รีเซ็ตรหัสผ่าน ownCloud"
@@ -443,87 +530,11 @@ msgstr "Database host"
msgid "Finish setup"
msgstr "ติดตั้งเรียบร้อยà¹à¸¥à¹‰à¸§"
-#: templates/layout.guest.php:15 templates/layout.user.php:17
-msgid "Sunday"
-msgstr "วันอาทิตย์"
-
-#: templates/layout.guest.php:15 templates/layout.user.php:17
-msgid "Monday"
-msgstr "วันจันทร์"
-
-#: templates/layout.guest.php:15 templates/layout.user.php:17
-msgid "Tuesday"
-msgstr "วันอังคาร"
-
-#: templates/layout.guest.php:15 templates/layout.user.php:17
-msgid "Wednesday"
-msgstr "วันพุธ"
-
-#: templates/layout.guest.php:15 templates/layout.user.php:17
-msgid "Thursday"
-msgstr "วันพฤหัสบดี"
-
-#: templates/layout.guest.php:15 templates/layout.user.php:17
-msgid "Friday"
-msgstr "วันศุà¸à¸£à¹Œ"
-
-#: templates/layout.guest.php:15 templates/layout.user.php:17
-msgid "Saturday"
-msgstr "วันเสาร์"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:18
-msgid "January"
-msgstr "มà¸à¸£à¸²à¸„ม"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:18
-msgid "February"
-msgstr "à¸à¸¸à¸¡à¸ à¸²à¸žà¸±à¸™à¸˜à¹Œ"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:18
-msgid "March"
-msgstr "มีนาคม"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:18
-msgid "April"
-msgstr "เมษายน"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:18
-msgid "May"
-msgstr "พฤษภาคม"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:18
-msgid "June"
-msgstr "มิถุนายน"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:18
-msgid "July"
-msgstr "à¸à¸£à¸à¸à¸²à¸„ม"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:18
-msgid "August"
-msgstr "สิงหาคม"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:18
-msgid "September"
-msgstr "à¸à¸±à¸™à¸¢à¸²à¸¢à¸™"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:18
-msgid "October"
-msgstr "ตุลาคม"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:18
-msgid "November"
-msgstr "พฤศจิà¸à¸²à¸¢à¸™"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:18
-msgid "December"
-msgstr "ธันวาคม"
-
-#: templates/layout.guest.php:41
+#: templates/layout.guest.php:34
msgid "web services under your control"
msgstr "web services under your control"
-#: templates/layout.user.php:45
+#: templates/layout.user.php:32
msgid "Log out"
msgstr "ออà¸à¸ˆà¸²à¸à¸£à¸°à¸šà¸š"
diff --git a/l10n/th_TH/files.po b/l10n/th_TH/files.po
index 691310546f2..fd5d4b8ee89 100644
--- a/l10n/th_TH/files.po
+++ b/l10n/th_TH/files.po
@@ -9,9 +9,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-01-23 00:05+0100\n"
-"PO-Revision-Date: 2013-01-22 01:13+0000\n"
-"Last-Translator: AriesAnywhere Anywhere <ariesanywhere@gmail.com>\n"
+"POT-Creation-Date: 2013-01-27 00:04+0100\n"
+"PO-Revision-Date: 2013-01-26 23:05+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"
@@ -19,11 +19,6 @@ 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"
@@ -38,46 +33,46 @@ msgstr "ไม่สามารถย้าย %s ได้"
msgid "Unable to rename file"
msgstr "ไม่สามารถเปลี่ยนชื่อไฟล์ได้"
-#: ajax/upload.php:20
+#: ajax/upload.php:17
msgid "No file was uploaded. Unknown error"
msgstr "ยังไม่มีไฟล์ใดที่ถูà¸à¸­à¸±à¸žà¹‚หลด เà¸à¸´à¸”ข้อผิดพลาดที่ไม่ทราบสาเหตุ"
-#: ajax/upload.php:30
+#: ajax/upload.php:24
msgid "There is no error, the file uploaded with success"
msgstr "ไม่มีข้อผิดพลาดใดๆ ไฟล์ถูà¸à¸­à¸±à¸žà¹‚หลดเรียบร้อยà¹à¸¥à¹‰à¸§"
-#: ajax/upload.php:31
+#: ajax/upload.php:25
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr "ขนาดไฟล์ที่อัพโหลดมีขนาดเà¸à¸´à¸™ upload_max_filesize ที่ระบุไว้ใน php.ini"
-#: ajax/upload.php:33
+#: ajax/upload.php:27
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:35
+#: ajax/upload.php:29
msgid "The uploaded file was only partially uploaded"
msgstr "ไฟล์ที่อัพโหลดยังไม่ได้ถูà¸à¸­à¸±à¸žà¹‚หลดอย่างสมบูรณ์"
-#: ajax/upload.php:36
+#: ajax/upload.php:30
msgid "No file was uploaded"
msgstr "ยังไม่มีไฟล์ที่ถูà¸à¸­à¸±à¸žà¹‚หลด"
-#: ajax/upload.php:37
+#: ajax/upload.php:31
msgid "Missing a temporary folder"
msgstr "à¹à¸Ÿà¹‰à¸¡à¹€à¸­à¸à¸ªà¸²à¸£à¸Šà¸±à¹ˆà¸§à¸„ราวเà¸à¸´à¸”à¸à¸²à¸£à¸ªà¸¹à¸à¸«à¸²à¸¢"
-#: ajax/upload.php:38
+#: ajax/upload.php:32
msgid "Failed to write to disk"
msgstr "เขียนข้อมูลลงà¹à¸œà¹ˆà¸™à¸”ิสà¸à¹Œà¸¥à¹‰à¸¡à¹€à¸«à¸¥à¸§"
-#: ajax/upload.php:57
-msgid "Not enough space available"
-msgstr "มีพื้นที่เหลือไม่เพียงพอ"
+#: ajax/upload.php:48
+msgid "Not enough storage available"
+msgstr ""
-#: ajax/upload.php:91
+#: ajax/upload.php:77
msgid "Invalid directory."
msgstr "ไดเร็à¸à¸—อรี่ไม่ถูà¸à¸•à¹‰à¸­à¸‡"
@@ -85,11 +80,11 @@ msgstr "ไดเร็à¸à¸—อรี่ไม่ถูà¸à¸•à¹‰à¸­à¸‡"
msgid "Files"
msgstr "ไฟล์"
-#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
+#: js/fileactions.js:117 templates/index.php:81 templates/index.php:82
msgid "Unshare"
msgstr "ยà¸à¹€à¸¥à¸´à¸à¸à¸²à¸£à¹à¸Šà¸£à¹Œà¸‚้อมูล"
-#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
+#: js/fileactions.js:119 templates/index.php:87 templates/index.php:88
msgid "Delete"
msgstr "ลบ"
@@ -97,139 +92,151 @@ msgstr "ลบ"
msgid "Rename"
msgstr "เปลี่ยนชื่อ"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "{new_name} already exists"
msgstr "{new_name} มีอยู่à¹à¸¥à¹‰à¸§à¹ƒà¸™à¸£à¸°à¸šà¸š"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "replace"
msgstr "à¹à¸—นที่"
-#: js/filelist.js:205
+#: js/filelist.js:208
msgid "suggest name"
msgstr "à¹à¸™à¸°à¸™à¸³à¸Šà¸·à¹ˆà¸­"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "cancel"
msgstr "ยà¸à¹€à¸¥à¸´à¸"
-#: js/filelist.js:254
+#: js/filelist.js:253
msgid "replaced {new_name}"
msgstr "à¹à¸—นที่ {new_name} à¹à¸¥à¹‰à¸§"
-#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
+#: js/filelist.js:253 js/filelist.js:255 js/filelist.js:286 js/filelist.js:288
msgid "undo"
msgstr "เลิà¸à¸—ำ"
-#: js/filelist.js:256
+#: js/filelist.js:255
msgid "replaced {new_name} with {old_name}"
msgstr "à¹à¸—นที่ {new_name} ด้วย {old_name} à¹à¸¥à¹‰à¸§"
-#: js/filelist.js:288
+#: js/filelist.js:286
msgid "unshared {files}"
msgstr "ยà¸à¹€à¸¥à¸´à¸à¸à¸²à¸£à¹à¸Šà¸£à¹Œà¹à¸¥à¹‰à¸§ {files} ไฟล์"
-#: js/filelist.js:290
+#: js/filelist.js:288
msgid "deleted {files}"
msgstr "ลบไฟล์à¹à¸¥à¹‰à¸§ {files} ไฟล์"
-#: js/files.js:48
+#: js/files.js:52
msgid "'.' is an invalid file name."
msgstr "'.' เป็นชื่อไฟล์ที่ไม่ถูà¸à¸•à¹‰à¸­à¸‡"
-#: js/files.js:53
+#: js/files.js:56
msgid "File name cannot be empty."
msgstr "ชื่อไฟล์ไม่สามารถเว้นว่างได้"
-#: js/files.js:62
+#: js/files.js:64
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr "ชื่อที่ใช้ไม่ถูà¸à¸•à¹‰à¸­à¸‡, '\\', '/', '<', '>', ':', '\"', '|', '?' à¹à¸¥à¸° '*' ไม่ได้รับอนุà¸à¸²à¸•à¹ƒà¸«à¹‰à¹ƒà¸Šà¹‰à¸‡à¸²à¸™à¹„ด้"
-#: js/files.js:204
+#: js/files.js:78
+msgid "Your storage is full, files can not be updated or synced anymore!"
+msgstr ""
+
+#: js/files.js:82
+msgid "Your storage is almost full ({usedSpacePercent}%)"
+msgstr ""
+
+#: js/files.js:219
msgid ""
"Your download is being prepared. This might take some time if the files are "
"big."
msgstr "à¸à¸³à¸¥à¸±à¸‡à¹€à¸•à¸£à¸µà¸¢à¸¡à¸”าวน์โหลดข้อมูล หาà¸à¹„ฟล์มีขนาดใหà¸à¹ˆ อาจใช้เวลาสัà¸à¸„รู่"
-#: js/files.js:242
+#: js/files.js:256
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr "ไม่สามารถอัพโหลดไฟล์ของคุณได้ เนื่องจาà¸à¹„ฟล์ดังà¸à¸¥à¹ˆà¸²à¸§à¹€à¸›à¹‡à¸™à¹„ดเร็à¸à¸—อรี่หรือมีขนาด 0 ไบต์"
-#: js/files.js:242
+#: js/files.js:256
msgid "Upload Error"
msgstr "เà¸à¸´à¸”ข้อผิดพลาดในà¸à¸²à¸£à¸­à¸±à¸žà¹‚หลด"
-#: js/files.js:259
+#: js/files.js:273
msgid "Close"
msgstr "ปิด"
-#: js/files.js:278 js/files.js:397 js/files.js:431
+#: js/files.js:292 js/files.js:408 js/files.js:439
msgid "Pending"
msgstr "อยู่ระหว่างดำเนินà¸à¸²à¸£"
-#: js/files.js:298
+#: js/files.js:312
msgid "1 file uploading"
msgstr "à¸à¸³à¸¥à¸±à¸‡à¸­à¸±à¸žà¹‚หลดไฟล์ 1 ไฟล์"
-#: js/files.js:301 js/files.js:357 js/files.js:372
+#: js/files.js:315 js/files.js:370 js/files.js:385
msgid "{count} files uploading"
msgstr "à¸à¸³à¸¥à¸±à¸‡à¸­à¸±à¸žà¹‚หลด {count} ไฟล์"
-#: js/files.js:376 js/files.js:414
+#: js/files.js:388 js/files.js:423
msgid "Upload cancelled."
msgstr "à¸à¸²à¸£à¸­à¸±à¸žà¹‚หลดถูà¸à¸¢à¸à¹€à¸¥à¸´à¸"
-#: js/files.js:486
+#: js/files.js:493
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr "à¸à¸²à¸£à¸­à¸±à¸žà¹‚หลดไฟล์à¸à¸³à¸¥à¸±à¸‡à¸­à¸¢à¸¹à¹ˆà¹ƒà¸™à¸£à¸°à¸«à¸§à¹ˆà¸²à¸‡à¸”ำเนินà¸à¸²à¸£ à¸à¸²à¸£à¸­à¸­à¸à¸ˆà¸²à¸à¸«à¸™à¹‰à¸²à¹€à¸§à¹‡à¸šà¸™à¸µà¹‰à¸ˆà¸°à¸—ำให้à¸à¸²à¸£à¸­à¸±à¸žà¹‚หลดถูà¸à¸¢à¸à¹€à¸¥à¸´à¸"
-#: js/files.js:559
+#: js/files.js:566
msgid "URL cannot be empty."
msgstr "URL ไม่สามารถเว้นว่างได้"
-#: js/files.js:565
+#: js/files.js:571
msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
msgstr "ชื่อโฟลเดอร์ไม่ถูà¸à¸•à¹‰à¸­à¸‡ à¸à¸²à¸£à¹ƒà¸Šà¹‰à¸‡à¸²à¸™ 'à¹à¸Šà¸£à¹Œ' สงวนไว้สำหรับ Owncloud เท่านั้น"
-#: js/files.js:775
+#: js/files.js:784
msgid "{count} files scanned"
msgstr "สà¹à¸à¸™à¹„ฟล์à¹à¸¥à¹‰à¸§ {count} ไฟล์"
-#: js/files.js:783
+#: js/files.js:792
msgid "error while scanning"
msgstr "พบข้อผิดพลาดในระหว่างà¸à¸²à¸£à¸ªà¹à¸à¸™à¹„ฟล์"
-#: js/files.js:857 templates/index.php:64
+#: js/files.js:866 templates/index.php:63
msgid "Name"
msgstr "ชื่อ"
-#: js/files.js:858 templates/index.php:75
+#: js/files.js:867 templates/index.php:74
msgid "Size"
msgstr "ขนาด"
-#: js/files.js:859 templates/index.php:77
+#: js/files.js:868 templates/index.php:76
msgid "Modified"
msgstr "ปรับปรุงล่าสุด"
-#: js/files.js:878
+#: js/files.js:887
msgid "1 folder"
msgstr "1 โฟลเดอร์"
-#: js/files.js:880
+#: js/files.js:889
msgid "{count} folders"
msgstr "{count} โฟลเดอร์"
-#: js/files.js:888
+#: js/files.js:897
msgid "1 file"
msgstr "1 ไฟล์"
-#: js/files.js:890
+#: js/files.js:899
msgid "{count} files"
msgstr "{count} ไฟล์"
+#: lib/helper.php:11 templates/index.php:18
+msgid "Upload"
+msgstr "อัพโหลด"
+
#: templates/admin.php:5
msgid "File handling"
msgstr "à¸à¸²à¸£à¸ˆà¸±à¸”à¸à¸²à¹„ฟล์"
@@ -282,28 +289,28 @@ msgstr "จาà¸à¸¥à¸´à¸‡à¸à¹Œ"
msgid "Cancel upload"
msgstr "ยà¸à¹€à¸¥à¸´à¸à¸à¸²à¸£à¸­à¸±à¸žà¹‚หลด"
-#: templates/index.php:56
+#: templates/index.php:55
msgid "Nothing in here. Upload something!"
msgstr "ยังไม่มีไฟล์ใดๆอยู่ที่นี่ à¸à¸£à¸¸à¸“าอัพโหลดไฟล์!"
-#: templates/index.php:70
+#: templates/index.php:69
msgid "Download"
msgstr "ดาวน์โหลด"
-#: templates/index.php:102
+#: templates/index.php:101
msgid "Upload too large"
msgstr "ไฟล์ที่อัพโหลดมีขนาดใหà¸à¹ˆà¹€à¸à¸´à¸™à¹„ป"
-#: templates/index.php:104
+#: templates/index.php:103
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "ไฟล์ที่คุณพยายามที่จะอัพโหลดมีขนาดเà¸à¸´à¸™à¸à¸§à¹ˆà¸²à¸‚นาดสูงสุดที่à¸à¸³à¸«à¸™à¸”ไว้ให้อัพโหลดได้สำหรับเซิร์ฟเวอร์นี้"
-#: templates/index.php:109
+#: templates/index.php:108
msgid "Files are being scanned, please wait."
msgstr "ไฟล์à¸à¸³à¸¥à¸±à¸‡à¸­à¸¢à¸¹à¹ˆà¸£à¸°à¸«à¸§à¹ˆà¸²à¸‡à¸à¸²à¸£à¸ªà¹à¸à¸™, à¸à¸£à¸¸à¸“ารอสัà¸à¸„รู่."
-#: templates/index.php:112
+#: templates/index.php:111
msgid "Current scanning"
msgstr "ไฟล์ที่à¸à¸³à¸¥à¸±à¸‡à¸ªà¹à¸à¸™à¸­à¸¢à¸¹à¹ˆà¸‚ณะนี้"
diff --git a/l10n/tr/core.po b/l10n/tr/core.po
index b35d17c7b5d..8827a9587de 100644
--- a/l10n/tr/core.po
+++ b/l10n/tr/core.po
@@ -12,9 +12,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-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"
+"POT-Creation-Date: 2013-01-29 00:04+0100\n"
+"PO-Revision-Date: 2013-01-28 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"
@@ -84,59 +84,135 @@ msgstr "Silmek için bir kategori seçilmedi"
msgid "Error removing %s from favorites."
msgstr "%s favorilere çıkarılırken hata oluştu"
-#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61
+#: js/config.php:32
+msgid "Sunday"
+msgstr "Pazar"
+
+#: js/config.php:32
+msgid "Monday"
+msgstr "Pazartesi"
+
+#: js/config.php:32
+msgid "Tuesday"
+msgstr "Salı"
+
+#: js/config.php:32
+msgid "Wednesday"
+msgstr "Çarşamba"
+
+#: js/config.php:32
+msgid "Thursday"
+msgstr "PerÅŸembe"
+
+#: js/config.php:32
+msgid "Friday"
+msgstr "Cuma"
+
+#: js/config.php:32
+msgid "Saturday"
+msgstr "Cumartesi"
+
+#: js/config.php:33
+msgid "January"
+msgstr "Ocak"
+
+#: js/config.php:33
+msgid "February"
+msgstr "Åžubat"
+
+#: js/config.php:33
+msgid "March"
+msgstr "Mart"
+
+#: js/config.php:33
+msgid "April"
+msgstr "Nisan"
+
+#: js/config.php:33
+msgid "May"
+msgstr "Mayıs"
+
+#: js/config.php:33
+msgid "June"
+msgstr "Haziran"
+
+#: js/config.php:33
+msgid "July"
+msgstr "Temmuz"
+
+#: js/config.php:33
+msgid "August"
+msgstr "AÄŸustos"
+
+#: js/config.php:33
+msgid "September"
+msgstr "Eylül"
+
+#: js/config.php:33
+msgid "October"
+msgstr "Ekim"
+
+#: js/config.php:33
+msgid "November"
+msgstr "Kasım"
+
+#: js/config.php:33
+msgid "December"
+msgstr "Aralık"
+
+#: js/js.js:280 templates/layout.user.php:47 templates/layout.user.php:48
msgid "Settings"
msgstr "Ayarlar"
-#: js/js.js:706
+#: js/js.js:762
msgid "seconds ago"
msgstr "saniye önce"
-#: js/js.js:707
+#: js/js.js:763
msgid "1 minute ago"
msgstr "1 dakika önce"
-#: js/js.js:708
+#: js/js.js:764
msgid "{minutes} minutes ago"
msgstr "{minutes} dakika önce"
-#: js/js.js:709
+#: js/js.js:765
msgid "1 hour ago"
msgstr "1 saat önce"
-#: js/js.js:710
+#: js/js.js:766
msgid "{hours} hours ago"
msgstr "{hours} saat önce"
-#: js/js.js:711
+#: js/js.js:767
msgid "today"
msgstr "bugün"
-#: js/js.js:712
+#: js/js.js:768
msgid "yesterday"
msgstr "dün"
-#: js/js.js:713
+#: js/js.js:769
msgid "{days} days ago"
msgstr "{days} gün önce"
-#: js/js.js:714
+#: js/js.js:770
msgid "last month"
msgstr "geçen ay"
-#: js/js.js:715
+#: js/js.js:771
msgid "{months} months ago"
msgstr "{months} ay önce"
-#: js/js.js:716
+#: js/js.js:772
msgid "months ago"
msgstr "ay önce"
-#: js/js.js:717
+#: js/js.js:773
msgid "last year"
msgstr "geçen yıl"
-#: js/js.js:718
+#: js/js.js:774
msgid "years ago"
msgstr "yıl önce"
@@ -295,6 +371,17 @@ msgstr "Gönderiliyor..."
msgid "Email sent"
msgstr "Eposta gönderildi"
+#: js/update.js:14
+msgid ""
+"The update was unsuccessful. Please report this issue to the <a "
+"href=\"https://github.com/owncloud/core/issues\" target=\"_blank\">ownCloud "
+"community</a>."
+msgstr ""
+
+#: js/update.js:18
+msgid "The update was successful. Redirecting you to ownCloud now."
+msgstr ""
+
#: lostpassword/controller.php:47
msgid "ownCloud password reset"
msgstr "ownCloud parola sıfırlama"
@@ -446,87 +533,11 @@ msgstr "Veritabanı sunucusu"
msgid "Finish setup"
msgstr "Kurulumu tamamla"
-#: templates/layout.guest.php:15 templates/layout.user.php:17
-msgid "Sunday"
-msgstr "Pazar"
-
-#: templates/layout.guest.php:15 templates/layout.user.php:17
-msgid "Monday"
-msgstr "Pazartesi"
-
-#: templates/layout.guest.php:15 templates/layout.user.php:17
-msgid "Tuesday"
-msgstr "Salı"
-
-#: templates/layout.guest.php:15 templates/layout.user.php:17
-msgid "Wednesday"
-msgstr "Çarşamba"
-
-#: templates/layout.guest.php:15 templates/layout.user.php:17
-msgid "Thursday"
-msgstr "PerÅŸembe"
-
-#: templates/layout.guest.php:15 templates/layout.user.php:17
-msgid "Friday"
-msgstr "Cuma"
-
-#: templates/layout.guest.php:15 templates/layout.user.php:17
-msgid "Saturday"
-msgstr "Cumartesi"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:18
-msgid "January"
-msgstr "Ocak"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:18
-msgid "February"
-msgstr "Åžubat"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:18
-msgid "March"
-msgstr "Mart"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:18
-msgid "April"
-msgstr "Nisan"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:18
-msgid "May"
-msgstr "Mayıs"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:18
-msgid "June"
-msgstr "Haziran"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:18
-msgid "July"
-msgstr "Temmuz"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:18
-msgid "August"
-msgstr "AÄŸustos"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:18
-msgid "September"
-msgstr "Eylül"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:18
-msgid "October"
-msgstr "Ekim"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:18
-msgid "November"
-msgstr "Kasım"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:18
-msgid "December"
-msgstr "Aralık"
-
-#: templates/layout.guest.php:41
+#: templates/layout.guest.php:34
msgid "web services under your control"
msgstr "kontrolünüzdeki web servisleri"
-#: templates/layout.user.php:45
+#: templates/layout.user.php:32
msgid "Log out"
msgstr "Çıkış yap"
diff --git a/l10n/tr/files.po b/l10n/tr/files.po
index 6a8b2bf601b..c6e1b108a7c 100644
--- a/l10n/tr/files.po
+++ b/l10n/tr/files.po
@@ -13,9 +13,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-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"
+"POT-Creation-Date: 2013-01-27 00:04+0100\n"
+"PO-Revision-Date: 2013-01-26 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"
@@ -23,11 +23,6 @@ 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"
@@ -42,46 +37,46 @@ msgstr "%s taşınamadı"
msgid "Unable to rename file"
msgstr "Dosya adı değiştirilemedi"
-#: ajax/upload.php:20
+#: ajax/upload.php:17
msgid "No file was uploaded. Unknown error"
msgstr "Dosya yüklenmedi. Bilinmeyen hata"
-#: ajax/upload.php:30
+#: ajax/upload.php:24
msgid "There is no error, the file uploaded with success"
msgstr "Bir hata yok, dosya başarıyla yüklendi"
-#: ajax/upload.php:31
+#: ajax/upload.php:25
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr "php.ini dosyasında upload_max_filesize ile belirtilen dosya yükleme sınırı aşıldı."
-#: ajax/upload.php:33
+#: ajax/upload.php:27
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:35
+#: ajax/upload.php:29
msgid "The uploaded file was only partially uploaded"
msgstr "Yüklenen dosyanın sadece bir kısmı yüklendi"
-#: ajax/upload.php:36
+#: ajax/upload.php:30
msgid "No file was uploaded"
msgstr "Hiç dosya yüklenmedi"
-#: ajax/upload.php:37
+#: ajax/upload.php:31
msgid "Missing a temporary folder"
msgstr "Geçici bir klasör eksik"
-#: ajax/upload.php:38
+#: ajax/upload.php:32
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:48
+msgid "Not enough storage available"
+msgstr ""
-#: ajax/upload.php:91
+#: ajax/upload.php:77
msgid "Invalid directory."
msgstr "Geçersiz dizin."
@@ -89,11 +84,11 @@ msgstr "Geçersiz dizin."
msgid "Files"
msgstr "Dosyalar"
-#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
+#: js/fileactions.js:117 templates/index.php:81 templates/index.php:82
msgid "Unshare"
msgstr "Paylaşılmayan"
-#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
+#: js/fileactions.js:119 templates/index.php:87 templates/index.php:88
msgid "Delete"
msgstr "Sil"
@@ -101,139 +96,151 @@ msgstr "Sil"
msgid "Rename"
msgstr "Ä°sim deÄŸiÅŸtir."
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "{new_name} already exists"
msgstr "{new_name} zaten mevcut"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "replace"
msgstr "deÄŸiÅŸtir"
-#: js/filelist.js:205
+#: js/filelist.js:208
msgid "suggest name"
msgstr "Öneri ad"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "cancel"
msgstr "iptal"
-#: js/filelist.js:254
+#: js/filelist.js:253
msgid "replaced {new_name}"
msgstr "deÄŸiÅŸtirilen {new_name}"
-#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
+#: js/filelist.js:253 js/filelist.js:255 js/filelist.js:286 js/filelist.js:288
msgid "undo"
msgstr "geri al"
-#: js/filelist.js:256
+#: js/filelist.js:255
msgid "replaced {new_name} with {old_name}"
msgstr "{new_name} ismi {old_name} ile deÄŸiÅŸtirildi"
-#: js/filelist.js:288
+#: js/filelist.js:286
msgid "unshared {files}"
msgstr "paylaşılmamış {files}"
-#: js/filelist.js:290
+#: js/filelist.js:288
msgid "deleted {files}"
msgstr "silinen {files}"
-#: js/files.js:48
+#: js/files.js:52
msgid "'.' is an invalid file name."
msgstr "'.' geçersiz dosya adı."
-#: js/files.js:53
+#: js/files.js:56
msgid "File name cannot be empty."
msgstr "Dosya adı boş olamaz."
-#: js/files.js:62
+#: js/files.js:64
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr "Geçersiz isim, '\\', '/', '<', '>', ':', '\"', '|', '?' ve '*' karakterlerine izin verilmemektedir."
-#: js/files.js:204
+#: js/files.js:78
+msgid "Your storage is full, files can not be updated or synced anymore!"
+msgstr ""
+
+#: js/files.js:82
+msgid "Your storage is almost full ({usedSpacePercent}%)"
+msgstr ""
+
+#: js/files.js:219
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:242
+#: js/files.js:256
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:242
+#: js/files.js:256
msgid "Upload Error"
msgstr "Yükleme hatası"
-#: js/files.js:259
+#: js/files.js:273
msgid "Close"
msgstr "Kapat"
-#: js/files.js:278 js/files.js:397 js/files.js:431
+#: js/files.js:292 js/files.js:408 js/files.js:439
msgid "Pending"
msgstr "Bekliyor"
-#: js/files.js:298
+#: js/files.js:312
msgid "1 file uploading"
msgstr "1 dosya yüklendi"
-#: js/files.js:301 js/files.js:357 js/files.js:372
+#: js/files.js:315 js/files.js:370 js/files.js:385
msgid "{count} files uploading"
msgstr "{count} dosya yükleniyor"
-#: js/files.js:376 js/files.js:414
+#: js/files.js:388 js/files.js:423
msgid "Upload cancelled."
msgstr "Yükleme iptal edildi."
-#: js/files.js:486
+#: js/files.js:493
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:559
+#: js/files.js:566
msgid "URL cannot be empty."
msgstr "URL boÅŸ olamaz."
-#: js/files.js:565
+#: js/files.js:571
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
+#: js/files.js:784
msgid "{count} files scanned"
msgstr "{count} dosya tarandı"
-#: js/files.js:783
+#: js/files.js:792
msgid "error while scanning"
msgstr "tararamada hata oluÅŸdu"
-#: js/files.js:857 templates/index.php:64
+#: js/files.js:866 templates/index.php:63
msgid "Name"
msgstr "Ad"
-#: js/files.js:858 templates/index.php:75
+#: js/files.js:867 templates/index.php:74
msgid "Size"
msgstr "Boyut"
-#: js/files.js:859 templates/index.php:77
+#: js/files.js:868 templates/index.php:76
msgid "Modified"
msgstr "DeÄŸiÅŸtirilme"
-#: js/files.js:878
+#: js/files.js:887
msgid "1 folder"
msgstr "1 dizin"
-#: js/files.js:880
+#: js/files.js:889
msgid "{count} folders"
msgstr "{count} dizin"
-#: js/files.js:888
+#: js/files.js:897
msgid "1 file"
msgstr "1 dosya"
-#: js/files.js:890
+#: js/files.js:899
msgid "{count} files"
msgstr "{count} dosya"
+#: lib/helper.php:11 templates/index.php:18
+msgid "Upload"
+msgstr "Yükle"
+
#: templates/admin.php:5
msgid "File handling"
msgstr "Dosya taşıma"
@@ -286,28 +293,28 @@ msgstr "Bağlantıdan"
msgid "Cancel upload"
msgstr "Yüklemeyi iptal et"
-#: templates/index.php:56
+#: templates/index.php:55
msgid "Nothing in here. Upload something!"
msgstr "Burada hiçbir şey yok. Birşeyler yükleyin!"
-#: templates/index.php:70
+#: templates/index.php:69
msgid "Download"
msgstr "Ä°ndir"
-#: templates/index.php:102
+#: templates/index.php:101
msgid "Upload too large"
msgstr "Yüklemeniz çok büyük"
-#: templates/index.php:104
+#: templates/index.php:103
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:109
+#: templates/index.php:108
msgid "Files are being scanned, please wait."
msgstr "Dosyalar taranıyor, lütfen bekleyin."
-#: templates/index.php:112
+#: templates/index.php:111
msgid "Current scanning"
msgstr "Güncel tarama"
diff --git a/l10n/uk/core.po b/l10n/uk/core.po
index 21be89f3a48..c6bfb2dcd92 100644
--- a/l10n/uk/core.po
+++ b/l10n/uk/core.po
@@ -12,9 +12,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-01-18 00:03+0100\n"
-"PO-Revision-Date: 2013-01-17 13:18+0000\n"
-"Last-Translator: volodya327 <volodya327@gmail.com>\n"
+"POT-Creation-Date: 2013-01-29 00:04+0100\n"
+"PO-Revision-Date: 2013-01-28 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"
@@ -84,59 +84,135 @@ msgstr "Жодної категорії не обрано Ð´Ð»Ñ Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð
msgid "Error removing %s from favorites."
msgstr "Помилка при видалені %s із обраного."
-#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61
+#: js/config.php:32
+msgid "Sunday"
+msgstr "ÐеділÑ"
+
+#: js/config.php:32
+msgid "Monday"
+msgstr "Понеділок"
+
+#: js/config.php:32
+msgid "Tuesday"
+msgstr "Вівторок"
+
+#: js/config.php:32
+msgid "Wednesday"
+msgstr "Середа"
+
+#: js/config.php:32
+msgid "Thursday"
+msgstr "Четвер"
+
+#: js/config.php:32
+msgid "Friday"
+msgstr "П'ÑтницÑ"
+
+#: js/config.php:32
+msgid "Saturday"
+msgstr "Субота"
+
+#: js/config.php:33
+msgid "January"
+msgstr "Січень"
+
+#: js/config.php:33
+msgid "February"
+msgstr "Лютий"
+
+#: js/config.php:33
+msgid "March"
+msgstr "Березень"
+
+#: js/config.php:33
+msgid "April"
+msgstr "Квітень"
+
+#: js/config.php:33
+msgid "May"
+msgstr "Травень"
+
+#: js/config.php:33
+msgid "June"
+msgstr "Червень"
+
+#: js/config.php:33
+msgid "July"
+msgstr "Липень"
+
+#: js/config.php:33
+msgid "August"
+msgstr "Серпень"
+
+#: js/config.php:33
+msgid "September"
+msgstr "ВереÑень"
+
+#: js/config.php:33
+msgid "October"
+msgstr "Жовтень"
+
+#: js/config.php:33
+msgid "November"
+msgstr "ЛиÑтопад"
+
+#: js/config.php:33
+msgid "December"
+msgstr "Грудень"
+
+#: js/js.js:280 templates/layout.user.php:47 templates/layout.user.php:48
msgid "Settings"
msgstr "ÐалаштуваннÑ"
-#: js/js.js:706
+#: js/js.js:762
msgid "seconds ago"
msgstr "Ñекунди тому"
-#: js/js.js:707
+#: js/js.js:763
msgid "1 minute ago"
msgstr "1 хвилину тому"
-#: js/js.js:708
+#: js/js.js:764
msgid "{minutes} minutes ago"
msgstr "{minutes} хвилин тому"
-#: js/js.js:709
+#: js/js.js:765
msgid "1 hour ago"
msgstr "1 годину тому"
-#: js/js.js:710
+#: js/js.js:766
msgid "{hours} hours ago"
msgstr "{hours} години тому"
-#: js/js.js:711
+#: js/js.js:767
msgid "today"
msgstr "Ñьогодні"
-#: js/js.js:712
+#: js/js.js:768
msgid "yesterday"
msgstr "вчора"
-#: js/js.js:713
+#: js/js.js:769
msgid "{days} days ago"
msgstr "{days} днів тому"
-#: js/js.js:714
+#: js/js.js:770
msgid "last month"
msgstr "минулого міÑÑцÑ"
-#: js/js.js:715
+#: js/js.js:771
msgid "{months} months ago"
msgstr "{months} міÑÑців тому"
-#: js/js.js:716
+#: js/js.js:772
msgid "months ago"
msgstr "міÑÑці тому"
-#: js/js.js:717
+#: js/js.js:773
msgid "last year"
msgstr "минулого року"
-#: js/js.js:718
+#: js/js.js:774
msgid "years ago"
msgstr "роки тому"
@@ -295,6 +371,17 @@ msgstr "ÐадÑиланнÑ..."
msgid "Email sent"
msgstr "Ел. пошта надіÑлана"
+#: js/update.js:14
+msgid ""
+"The update was unsuccessful. Please report this issue to the <a "
+"href=\"https://github.com/owncloud/core/issues\" target=\"_blank\">ownCloud "
+"community</a>."
+msgstr ""
+
+#: js/update.js:18
+msgid "The update was successful. Redirecting you to ownCloud now."
+msgstr ""
+
#: lostpassword/controller.php:47
msgid "ownCloud password reset"
msgstr "ÑÐºÐ¸Ð´Ð°Ð½Ð½Ñ Ð¿Ð°Ñ€Ð¾Ð»Ñ ownCloud"
@@ -446,87 +533,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:34
msgid "web services under your control"
msgstr "веб-ÑÐµÑ€Ð²Ñ–Ñ Ð¿Ñ–Ð´ вашим контролем"
-#: templates/layout.user.php:45
+#: templates/layout.user.php:32
msgid "Log out"
msgstr "Вихід"
diff --git a/l10n/uk/files.po b/l10n/uk/files.po
index 5b1e3c16286..ac7166cb820 100644
--- a/l10n/uk/files.po
+++ b/l10n/uk/files.po
@@ -10,8 +10,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-01-20 00:05+0100\n"
-"PO-Revision-Date: 2013-01-19 23:05+0000\n"
+"POT-Creation-Date: 2013-01-27 00:04+0100\n"
+"PO-Revision-Date: 2013-01-26 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"
@@ -20,11 +20,6 @@ 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"
@@ -39,46 +34,46 @@ msgstr ""
msgid "Unable to rename file"
msgstr ""
-#: ajax/upload.php:20
+#: ajax/upload.php:17
msgid "No file was uploaded. Unknown error"
msgstr "Ðе завантажено жодного файлу. Ðевідома помилка"
-#: ajax/upload.php:30
+#: ajax/upload.php:24
msgid "There is no error, the file uploaded with success"
msgstr "Файл уÑпішно вивантажено без помилок."
-#: ajax/upload.php:31
+#: ajax/upload.php:25
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr "Розмір Ð·Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð¿ÐµÑ€ÐµÐ²Ð¸Ñ‰ÑƒÑ” upload_max_filesize параметра в php.ini: "
-#: ajax/upload.php:33
+#: ajax/upload.php:27
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:35
+#: ajax/upload.php:29
msgid "The uploaded file was only partially uploaded"
msgstr "Файл відвантажено лише чаÑтково"
-#: ajax/upload.php:36
+#: ajax/upload.php:30
msgid "No file was uploaded"
msgstr "Ðе відвантажено жодного файлу"
-#: ajax/upload.php:37
+#: ajax/upload.php:31
msgid "Missing a temporary folder"
msgstr "ВідÑутній тимчаÑовий каталог"
-#: ajax/upload.php:38
+#: ajax/upload.php:32
msgid "Failed to write to disk"
msgstr "ÐевдалоÑÑ Ð·Ð°Ð¿Ð¸Ñати на диÑк"
-#: ajax/upload.php:57
-msgid "Not enough space available"
+#: ajax/upload.php:48
+msgid "Not enough storage available"
msgstr ""
-#: ajax/upload.php:91
+#: ajax/upload.php:77
msgid "Invalid directory."
msgstr ""
@@ -86,11 +81,11 @@ msgstr ""
msgid "Files"
msgstr "Файли"
-#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
+#: js/fileactions.js:117 templates/index.php:81 templates/index.php:82
msgid "Unshare"
msgstr "Заборонити доÑтуп"
-#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
+#: js/fileactions.js:119 templates/index.php:87 templates/index.php:88
msgid "Delete"
msgstr "Видалити"
@@ -98,139 +93,151 @@ msgstr "Видалити"
msgid "Rename"
msgstr "Перейменувати"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "{new_name} already exists"
msgstr "{new_name} вже Ñ–Ñнує"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "replace"
msgstr "заміна"
-#: js/filelist.js:205
+#: js/filelist.js:208
msgid "suggest name"
msgstr "запропонуйте назву"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "cancel"
msgstr "відміна"
-#: js/filelist.js:254
+#: js/filelist.js:253
msgid "replaced {new_name}"
msgstr "замінено {new_name}"
-#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
+#: js/filelist.js:253 js/filelist.js:255 js/filelist.js:286 js/filelist.js:288
msgid "undo"
msgstr "відмінити"
-#: js/filelist.js:256
+#: js/filelist.js:255
msgid "replaced {new_name} with {old_name}"
msgstr "замінено {new_name} на {old_name}"
-#: js/filelist.js:288
+#: js/filelist.js:286
msgid "unshared {files}"
msgstr "неопубліковано {files}"
-#: js/filelist.js:290
+#: js/filelist.js:288
msgid "deleted {files}"
msgstr "видалено {files}"
-#: js/files.js:48
+#: js/files.js:52
msgid "'.' is an invalid file name."
msgstr ""
-#: js/files.js:53
+#: js/files.js:56
msgid "File name cannot be empty."
msgstr ""
-#: js/files.js:62
+#: js/files.js:64
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr "Ðевірне ім'Ñ, '\\', '/', '<', '>', ':', '\"', '|', '?' та '*' не дозволені."
-#: js/files.js:204
+#: js/files.js:78
+msgid "Your storage is full, files can not be updated or synced anymore!"
+msgstr ""
+
+#: js/files.js:82
+msgid "Your storage is almost full ({usedSpacePercent}%)"
+msgstr ""
+
+#: js/files.js:219
msgid ""
"Your download is being prepared. This might take some time if the files are "
"big."
msgstr ""
-#: js/files.js:242
+#: js/files.js:256
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr "Ðеможливо завантажити ваш файл тому, що він тека або файл розміром 0 байт"
-#: js/files.js:242
+#: js/files.js:256
msgid "Upload Error"
msgstr "Помилка завантаженнÑ"
-#: js/files.js:259
+#: js/files.js:273
msgid "Close"
msgstr "Закрити"
-#: js/files.js:278 js/files.js:397 js/files.js:431
+#: js/files.js:292 js/files.js:408 js/files.js:439
msgid "Pending"
msgstr "ОчікуваннÑ"
-#: js/files.js:298
+#: js/files.js:312
msgid "1 file uploading"
msgstr "1 файл завантажуєтьÑÑ"
-#: js/files.js:301 js/files.js:357 js/files.js:372
+#: js/files.js:315 js/files.js:370 js/files.js:385
msgid "{count} files uploading"
msgstr "{count} файлів завантажуєтьÑÑ"
-#: js/files.js:376 js/files.js:414
+#: js/files.js:388 js/files.js:423
msgid "Upload cancelled."
msgstr "Ð—Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð¿ÐµÑ€ÐµÑ€Ð²Ð°Ð½Ð¾."
-#: js/files.js:486
+#: js/files.js:493
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr "ВиконуєтьÑÑ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ. Ð—Ð°ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Ñ†Ñ–Ñ”Ñ— Ñторінки приведе до відміни завантаженнÑ."
-#: js/files.js:559
+#: js/files.js:566
msgid "URL cannot be empty."
msgstr "URL не може бути пуÑтим."
-#: js/files.js:565
+#: js/files.js:571
msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
msgstr ""
-#: js/files.js:775
+#: js/files.js:784
msgid "{count} files scanned"
msgstr "{count} файлів проÑкановано"
-#: js/files.js:783
+#: js/files.js:792
msgid "error while scanning"
msgstr "помилка при Ñкануванні"
-#: js/files.js:857 templates/index.php:64
+#: js/files.js:866 templates/index.php:63
msgid "Name"
msgstr "Ім'Ñ"
-#: js/files.js:858 templates/index.php:75
+#: js/files.js:867 templates/index.php:74
msgid "Size"
msgstr "Розмір"
-#: js/files.js:859 templates/index.php:77
+#: js/files.js:868 templates/index.php:76
msgid "Modified"
msgstr "Змінено"
-#: js/files.js:878
+#: js/files.js:887
msgid "1 folder"
msgstr "1 папка"
-#: js/files.js:880
+#: js/files.js:889
msgid "{count} folders"
msgstr "{count} папок"
-#: js/files.js:888
+#: js/files.js:897
msgid "1 file"
msgstr "1 файл"
-#: js/files.js:890
+#: js/files.js:899
msgid "{count} files"
msgstr "{count} файлів"
+#: lib/helper.php:11 templates/index.php:18
+msgid "Upload"
+msgstr "Відвантажити"
+
#: templates/admin.php:5
msgid "File handling"
msgstr "Робота з файлами"
@@ -283,28 +290,28 @@ msgstr "З поÑиланнÑ"
msgid "Cancel upload"
msgstr "Перервати завантаженнÑ"
-#: templates/index.php:56
+#: templates/index.php:55
msgid "Nothing in here. Upload something!"
msgstr "Тут нічого немає. Відвантажте що-небудь!"
-#: templates/index.php:70
+#: templates/index.php:69
msgid "Download"
msgstr "Завантажити"
-#: templates/index.php:102
+#: templates/index.php:101
msgid "Upload too large"
msgstr "Файл занадто великий"
-#: templates/index.php:104
+#: templates/index.php:103
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "Файли,що ви намагаєтеÑÑŒ відвантажити перевищують макÑимальний дозволений розмір файлів на цьому Ñервері."
-#: templates/index.php:109
+#: templates/index.php:108
msgid "Files are being scanned, please wait."
msgstr "Файли ÑкануютьÑÑ, зачекайте, будь-лаÑка."
-#: templates/index.php:112
+#: templates/index.php:111
msgid "Current scanning"
msgstr "Поточне ÑкануваннÑ"
diff --git a/l10n/vi/core.po b/l10n/vi/core.po
index e86e7e5911f..3323b30d4b1 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: 2013-01-15 00:03+0100\n"
-"PO-Revision-Date: 2013-01-14 23:03+0000\n"
+"POT-Creation-Date: 2013-01-29 00:04+0100\n"
+"PO-Revision-Date: 2013-01-28 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"
@@ -84,59 +84,135 @@ msgstr "Không có thể loại nào được chá»n để xóa."
msgid "Error removing %s from favorites."
msgstr "Lỗi xóa %s từ mục yêu thích."
-#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61
+#: js/config.php:32
+msgid "Sunday"
+msgstr "Chủ nhật"
+
+#: js/config.php:32
+msgid "Monday"
+msgstr "Thứ 2"
+
+#: js/config.php:32
+msgid "Tuesday"
+msgstr "Thứ 3"
+
+#: js/config.php:32
+msgid "Wednesday"
+msgstr "Thứ 4"
+
+#: js/config.php:32
+msgid "Thursday"
+msgstr "Thứ 5"
+
+#: js/config.php:32
+msgid "Friday"
+msgstr "Thứ "
+
+#: js/config.php:32
+msgid "Saturday"
+msgstr "Thứ 7"
+
+#: js/config.php:33
+msgid "January"
+msgstr "Tháng 1"
+
+#: js/config.php:33
+msgid "February"
+msgstr "Tháng 2"
+
+#: js/config.php:33
+msgid "March"
+msgstr "Tháng 3"
+
+#: js/config.php:33
+msgid "April"
+msgstr "Tháng 4"
+
+#: js/config.php:33
+msgid "May"
+msgstr "Tháng 5"
+
+#: js/config.php:33
+msgid "June"
+msgstr "Tháng 6"
+
+#: js/config.php:33
+msgid "July"
+msgstr "Tháng 7"
+
+#: js/config.php:33
+msgid "August"
+msgstr "Tháng 8"
+
+#: js/config.php:33
+msgid "September"
+msgstr "Tháng 9"
+
+#: js/config.php:33
+msgid "October"
+msgstr "Tháng 10"
+
+#: js/config.php:33
+msgid "November"
+msgstr "Tháng 11"
+
+#: js/config.php:33
+msgid "December"
+msgstr "Tháng 12"
+
+#: js/js.js:280 templates/layout.user.php:47 templates/layout.user.php:48
msgid "Settings"
msgstr "Cài đặt"
-#: js/js.js:711
+#: js/js.js:762
msgid "seconds ago"
msgstr "vài giây trước"
-#: js/js.js:712
+#: js/js.js:763
msgid "1 minute ago"
msgstr "1 phút trước"
-#: js/js.js:713
+#: js/js.js:764
msgid "{minutes} minutes ago"
msgstr "{minutes} phút trước"
-#: js/js.js:714
+#: js/js.js:765
msgid "1 hour ago"
msgstr "1 giá» trÆ°á»›c"
-#: js/js.js:715
+#: js/js.js:766
msgid "{hours} hours ago"
msgstr "{hours} giá» trÆ°á»›c"
-#: js/js.js:716
+#: js/js.js:767
msgid "today"
msgstr "hôm nay"
-#: js/js.js:717
+#: js/js.js:768
msgid "yesterday"
msgstr "hôm qua"
-#: js/js.js:718
+#: js/js.js:769
msgid "{days} days ago"
msgstr "{days} ngày trước"
-#: js/js.js:719
+#: js/js.js:770
msgid "last month"
msgstr "tháng trước"
-#: js/js.js:720
+#: js/js.js:771
msgid "{months} months ago"
msgstr "{months} tháng trước"
-#: js/js.js:721
+#: js/js.js:772
msgid "months ago"
msgstr "tháng trước"
-#: js/js.js:722
+#: js/js.js:773
msgid "last year"
msgstr "năm trước"
-#: js/js.js:723
+#: js/js.js:774
msgid "years ago"
msgstr "năm trước"
@@ -295,6 +371,17 @@ msgstr ""
msgid "Email sent"
msgstr ""
+#: js/update.js:14
+msgid ""
+"The update was unsuccessful. Please report this issue to the <a "
+"href=\"https://github.com/owncloud/core/issues\" target=\"_blank\">ownCloud "
+"community</a>."
+msgstr ""
+
+#: js/update.js:18
+msgid "The update was successful. Redirecting you to ownCloud now."
+msgstr ""
+
#: lostpassword/controller.php:47
msgid "ownCloud password reset"
msgstr "Khôi phục mật khẩu Owncloud "
@@ -446,87 +533,11 @@ msgstr "Database host"
msgid "Finish setup"
msgstr "Cài đặt hoàn tất"
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Sunday"
-msgstr "Chủ nhật"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Monday"
-msgstr "Thứ 2"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Tuesday"
-msgstr "Thứ 3"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Wednesday"
-msgstr "Thứ 4"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Thursday"
-msgstr "Thứ 5"
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Friday"
-msgstr "Thứ "
-
-#: templates/layout.guest.php:16 templates/layout.user.php:17
-msgid "Saturday"
-msgstr "Thứ 7"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "January"
-msgstr "Tháng 1"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "February"
-msgstr "Tháng 2"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "March"
-msgstr "Tháng 3"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "April"
-msgstr "Tháng 4"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "May"
-msgstr "Tháng 5"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "June"
-msgstr "Tháng 6"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "July"
-msgstr "Tháng 7"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "August"
-msgstr "Tháng 8"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "September"
-msgstr "Tháng 9"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "October"
-msgstr "Tháng 10"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "November"
-msgstr "Tháng 11"
-
-#: templates/layout.guest.php:17 templates/layout.user.php:18
-msgid "December"
-msgstr "Tháng 12"
-
-#: templates/layout.guest.php:42
+#: templates/layout.guest.php:34
msgid "web services under your control"
msgstr "các dịch vụ web dưới sự kiểm soát của bạn"
-#: templates/layout.user.php:45
+#: templates/layout.user.php:32
msgid "Log out"
msgstr "Äăng xuất"
diff --git a/l10n/vi/files.po b/l10n/vi/files.po
index f2e3a48fce4..4250cfece6e 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: 2013-01-20 00:05+0100\n"
-"PO-Revision-Date: 2013-01-19 23:05+0000\n"
+"POT-Creation-Date: 2013-01-27 00:04+0100\n"
+"PO-Revision-Date: 2013-01-26 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,11 +21,6 @@ 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"
@@ -40,46 +35,46 @@ msgstr ""
msgid "Unable to rename file"
msgstr ""
-#: ajax/upload.php:20
+#: ajax/upload.php:17
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
+#: ajax/upload.php:24
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:31
+#: ajax/upload.php:25
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr ""
-#: ajax/upload.php:33
+#: ajax/upload.php:27
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:35
+#: ajax/upload.php:29
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:36
+#: ajax/upload.php:30
msgid "No file was uploaded"
msgstr "Không có tập tin nào được tải lên"
-#: ajax/upload.php:37
+#: ajax/upload.php:31
msgid "Missing a temporary folder"
msgstr "Không tìm thấy thư mục tạm"
-#: ajax/upload.php:38
+#: ajax/upload.php:32
msgid "Failed to write to disk"
msgstr "Không thể ghi "
-#: ajax/upload.php:57
-msgid "Not enough space available"
+#: ajax/upload.php:48
+msgid "Not enough storage available"
msgstr ""
-#: ajax/upload.php:91
+#: ajax/upload.php:77
msgid "Invalid directory."
msgstr ""
@@ -87,11 +82,11 @@ msgstr ""
msgid "Files"
msgstr "Tập tin"
-#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
+#: js/fileactions.js:117 templates/index.php:81 templates/index.php:82
msgid "Unshare"
msgstr "Không chia sẽ"
-#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
+#: js/fileactions.js:119 templates/index.php:87 templates/index.php:88
msgid "Delete"
msgstr "Xóa"
@@ -99,139 +94,151 @@ msgstr "Xóa"
msgid "Rename"
msgstr "Sửa tên"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "{new_name} already exists"
msgstr "{new_name} đã tồn tại"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "replace"
msgstr "thay thế"
-#: js/filelist.js:205
+#: js/filelist.js:208
msgid "suggest name"
msgstr "tên gợi ý"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "cancel"
msgstr "hủy"
-#: js/filelist.js:254
+#: js/filelist.js:253
msgid "replaced {new_name}"
msgstr "đã thay thế {new_name}"
-#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
+#: js/filelist.js:253 js/filelist.js:255 js/filelist.js:286 js/filelist.js:288
msgid "undo"
msgstr "lùi lại"
-#: js/filelist.js:256
+#: js/filelist.js:255
msgid "replaced {new_name} with {old_name}"
msgstr "đã thay thế {new_name} bằng {old_name}"
-#: js/filelist.js:288
+#: js/filelist.js:286
msgid "unshared {files}"
msgstr "hủy chia sẽ {files}"
-#: js/filelist.js:290
+#: js/filelist.js:288
msgid "deleted {files}"
msgstr "đã xóa {files}"
-#: js/files.js:48
+#: js/files.js:52
msgid "'.' is an invalid file name."
msgstr ""
-#: js/files.js:53
+#: js/files.js:56
msgid "File name cannot be empty."
msgstr ""
-#: js/files.js:62
+#: js/files.js:64
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:204
+#: js/files.js:78
+msgid "Your storage is full, files can not be updated or synced anymore!"
+msgstr ""
+
+#: js/files.js:82
+msgid "Your storage is almost full ({usedSpacePercent}%)"
+msgstr ""
+
+#: js/files.js:219
msgid ""
"Your download is being prepared. This might take some time if the files are "
"big."
msgstr ""
-#: js/files.js:242
+#: js/files.js:256
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:242
+#: js/files.js:256
msgid "Upload Error"
msgstr "Tải lên lỗi"
-#: js/files.js:259
+#: js/files.js:273
msgid "Close"
msgstr "Äóng"
-#: js/files.js:278 js/files.js:397 js/files.js:431
+#: js/files.js:292 js/files.js:408 js/files.js:439
msgid "Pending"
msgstr "Chá»"
-#: js/files.js:298
+#: js/files.js:312
msgid "1 file uploading"
msgstr "1 tệp tin đang được tải lên"
-#: js/files.js:301 js/files.js:357 js/files.js:372
+#: js/files.js:315 js/files.js:370 js/files.js:385
msgid "{count} files uploading"
msgstr "{count} tập tin đang tải lên"
-#: js/files.js:376 js/files.js:414
+#: js/files.js:388 js/files.js:423
msgid "Upload cancelled."
msgstr "Hủy tải lên"
-#: js/files.js:486
+#: js/files.js:493
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:559
+#: js/files.js:566
msgid "URL cannot be empty."
msgstr "URL không được để trống."
-#: js/files.js:565
+#: js/files.js:571
msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
msgstr ""
-#: js/files.js:775
+#: js/files.js:784
msgid "{count} files scanned"
msgstr "{count} tập tin đã được quét"
-#: js/files.js:783
+#: js/files.js:792
msgid "error while scanning"
msgstr "lỗi trong khi quét"
-#: js/files.js:857 templates/index.php:64
+#: js/files.js:866 templates/index.php:63
msgid "Name"
msgstr "Tên"
-#: js/files.js:858 templates/index.php:75
+#: js/files.js:867 templates/index.php:74
msgid "Size"
msgstr "Kích cỡ"
-#: js/files.js:859 templates/index.php:77
+#: js/files.js:868 templates/index.php:76
msgid "Modified"
msgstr "Thay đổi"
-#: js/files.js:878
+#: js/files.js:887
msgid "1 folder"
msgstr "1 thư mục"
-#: js/files.js:880
+#: js/files.js:889
msgid "{count} folders"
msgstr "{count} thư mục"
-#: js/files.js:888
+#: js/files.js:897
msgid "1 file"
msgstr "1 tập tin"
-#: js/files.js:890
+#: js/files.js:899
msgid "{count} files"
msgstr "{count} tập tin"
+#: lib/helper.php:11 templates/index.php:18
+msgid "Upload"
+msgstr "Tải lên"
+
#: templates/admin.php:5
msgid "File handling"
msgstr "Xử lý tập tin"
@@ -284,28 +291,28 @@ msgstr "Từ liên kết"
msgid "Cancel upload"
msgstr "Hủy upload"
-#: templates/index.php:56
+#: templates/index.php:55
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:70
+#: templates/index.php:69
msgid "Download"
msgstr "Tải xuống"
-#: templates/index.php:102
+#: templates/index.php:101
msgid "Upload too large"
msgstr "Tập tin tải lên quá lớn"
-#: templates/index.php:104
+#: templates/index.php:103
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:109
+#: templates/index.php:108
msgid "Files are being scanned, please wait."
msgstr "Tập tin Ä‘ang được quét ,vui lòng chá»."
-#: templates/index.php:112
+#: templates/index.php:111
msgid "Current scanning"
msgstr "Hiện tại đang quét"
diff --git a/l10n/zh_CN.GB2312/core.po b/l10n/zh_CN.GB2312/core.po
index 0e81b175791..01f36a1abdb 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: 2013-01-15 00:03+0100\n"
-"PO-Revision-Date: 2013-01-14 23:03+0000\n"
+"POT-Creation-Date: 2013-01-29 00:04+0100\n"
+"PO-Revision-Date: 2013-01-28 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"
@@ -81,59 +81,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:32
+msgid "Sunday"
+msgstr "星期天"
+
+#: js/config.php:32
+msgid "Monday"
+msgstr "星期一"
+
+#: js/config.php:32
+msgid "Tuesday"
+msgstr "星期二"
+
+#: js/config.php:32
+msgid "Wednesday"
+msgstr "星期三"
+
+#: js/config.php:32
+msgid "Thursday"
+msgstr "星期四"
+
+#: js/config.php:32
+msgid "Friday"
+msgstr "星期五"
+
+#: js/config.php:32
+msgid "Saturday"
+msgstr "星期六"
+
+#: js/config.php:33
+msgid "January"
+msgstr "一月"
+
+#: js/config.php:33
+msgid "February"
+msgstr "二月"
+
+#: js/config.php:33
+msgid "March"
+msgstr "三月"
+
+#: js/config.php:33
+msgid "April"
+msgstr "四月"
+
+#: js/config.php:33
+msgid "May"
+msgstr "五月"
+
+#: js/config.php:33
+msgid "June"
+msgstr "六月"
+
+#: js/config.php:33
+msgid "July"
+msgstr "七月"
+
+#: js/config.php:33
+msgid "August"
+msgstr "八月"
+
+#: js/config.php:33
+msgid "September"
+msgstr "ä¹æœˆ"
+
+#: js/config.php:33
+msgid "October"
+msgstr "å月"
+
+#: js/config.php:33
+msgid "November"
+msgstr "å一月"
+
+#: js/config.php:33
+msgid "December"
+msgstr "å二月"
+
+#: js/js.js:280 templates/layout.user.php:47 templates/layout.user.php:48
msgid "Settings"
msgstr "设置"
-#: js/js.js:711
+#: js/js.js:762
msgid "seconds ago"
msgstr "秒å‰"
-#: js/js.js:712
+#: js/js.js:763
msgid "1 minute ago"
msgstr "1 分钟å‰"
-#: js/js.js:713
+#: js/js.js:764
msgid "{minutes} minutes ago"
msgstr "{minutes} 分钟å‰"
-#: js/js.js:714
+#: js/js.js:765
msgid "1 hour ago"
msgstr ""
-#: js/js.js:715
+#: js/js.js:766
msgid "{hours} hours ago"
msgstr ""
-#: js/js.js:716
+#: js/js.js:767
msgid "today"
msgstr "今天"
-#: js/js.js:717
+#: js/js.js:768
msgid "yesterday"
msgstr "昨天"
-#: js/js.js:718
+#: js/js.js:769
msgid "{days} days ago"
msgstr "{days} 天å‰"
-#: js/js.js:719
+#: js/js.js:770
msgid "last month"
msgstr "上个月"
-#: js/js.js:720
+#: js/js.js:771
msgid "{months} months ago"
msgstr ""
-#: js/js.js:721
+#: js/js.js:772
msgid "months ago"
msgstr "月å‰"
-#: js/js.js:722
+#: js/js.js:773
msgid "last year"
msgstr "去年"
-#: js/js.js:723
+#: js/js.js:774
msgid "years ago"
msgstr "å¹´å‰"
@@ -292,6 +368,17 @@ msgstr ""
msgid "Email sent"
msgstr ""
+#: js/update.js:14
+msgid ""
+"The update was unsuccessful. Please report this issue to the <a "
+"href=\"https://github.com/owncloud/core/issues\" target=\"_blank\">ownCloud "
+"community</a>."
+msgstr ""
+
+#: js/update.js:18
+msgid "The update was successful. Redirecting you to ownCloud now."
+msgstr ""
+
#: lostpassword/controller.php:47
msgid "ownCloud password reset"
msgstr "ç§æœ‰äº‘密ç é‡ç½®"
@@ -443,87 +530,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:34
msgid "web services under your control"
msgstr "你控制下的网络æœåŠ¡"
-#: templates/layout.user.php:45
+#: templates/layout.user.php:32
msgid "Log out"
msgstr "注销"
diff --git a/l10n/zh_CN.GB2312/files.po b/l10n/zh_CN.GB2312/files.po
index 84a0e059f37..4ae0f2a9225 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: 2013-01-20 00:05+0100\n"
-"PO-Revision-Date: 2013-01-19 23:05+0000\n"
+"POT-Creation-Date: 2013-01-27 00:04+0100\n"
+"PO-Revision-Date: 2013-01-26 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,11 +19,6 @@ 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"
@@ -38,46 +33,46 @@ msgstr ""
msgid "Unable to rename file"
msgstr ""
-#: ajax/upload.php:20
+#: ajax/upload.php:17
msgid "No file was uploaded. Unknown error"
msgstr "没有上传文件。未知错误"
-#: ajax/upload.php:30
+#: ajax/upload.php:24
msgid "There is no error, the file uploaded with success"
msgstr "没有任何错误,文件上传æˆåŠŸäº†"
-#: ajax/upload.php:31
+#: ajax/upload.php:25
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr ""
-#: ajax/upload.php:33
+#: ajax/upload.php:27
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
+#: ajax/upload.php:29
msgid "The uploaded file was only partially uploaded"
msgstr "文件åªæœ‰éƒ¨åˆ†è¢«ä¸Šä¼ "
-#: ajax/upload.php:36
+#: ajax/upload.php:30
msgid "No file was uploaded"
msgstr "没有上传完æˆçš„文件"
-#: ajax/upload.php:37
+#: ajax/upload.php:31
msgid "Missing a temporary folder"
msgstr "丢失了一个临时文件夹"
-#: ajax/upload.php:38
+#: ajax/upload.php:32
msgid "Failed to write to disk"
msgstr "写ç£ç›˜å¤±è´¥"
-#: ajax/upload.php:57
-msgid "Not enough space available"
+#: ajax/upload.php:48
+msgid "Not enough storage available"
msgstr ""
-#: ajax/upload.php:91
+#: ajax/upload.php:77
msgid "Invalid directory."
msgstr ""
@@ -85,11 +80,11 @@ msgstr ""
msgid "Files"
msgstr "文件"
-#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
+#: js/fileactions.js:117 templates/index.php:81 templates/index.php:82
msgid "Unshare"
msgstr "å–消共享"
-#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
+#: js/fileactions.js:119 templates/index.php:87 templates/index.php:88
msgid "Delete"
msgstr "删除"
@@ -97,139 +92,151 @@ msgstr "删除"
msgid "Rename"
msgstr "é‡å‘½å"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "{new_name} already exists"
msgstr "{new_name} 已存在"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "replace"
msgstr "替æ¢"
-#: js/filelist.js:205
+#: js/filelist.js:208
msgid "suggest name"
msgstr "推èå称"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "cancel"
msgstr "å–消"
-#: js/filelist.js:254
+#: js/filelist.js:253
msgid "replaced {new_name}"
msgstr "å·²æ›¿æ¢ {new_name}"
-#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
+#: js/filelist.js:253 js/filelist.js:255 js/filelist.js:286 js/filelist.js:288
msgid "undo"
msgstr "撤销"
-#: js/filelist.js:256
+#: js/filelist.js:255
msgid "replaced {new_name} with {old_name}"
msgstr "已用 {old_name} æ›¿æ¢ {new_name}"
-#: js/filelist.js:288
+#: js/filelist.js:286
msgid "unshared {files}"
msgstr "未分享的 {files}"
-#: js/filelist.js:290
+#: js/filelist.js:288
msgid "deleted {files}"
msgstr "已删除的 {files}"
-#: js/files.js:48
+#: js/files.js:52
msgid "'.' is an invalid file name."
msgstr ""
-#: js/files.js:53
+#: js/files.js:56
msgid "File name cannot be empty."
msgstr ""
-#: js/files.js:62
+#: js/files.js:64
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr ""
-#: js/files.js:204
+#: js/files.js:78
+msgid "Your storage is full, files can not be updated or synced anymore!"
+msgstr ""
+
+#: js/files.js:82
+msgid "Your storage is almost full ({usedSpacePercent}%)"
+msgstr ""
+
+#: js/files.js:219
msgid ""
"Your download is being prepared. This might take some time if the files are "
"big."
msgstr ""
-#: js/files.js:242
+#: js/files.js:256
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr "ä¸èƒ½ä¸Šä¼ ä½ æŒ‡å®šçš„文件,å¯èƒ½å› ä¸ºå®ƒæ˜¯ä¸ªæ–‡ä»¶å¤¹æˆ–者大å°ä¸º0"
-#: js/files.js:242
+#: js/files.js:256
msgid "Upload Error"
msgstr "上传错误"
-#: js/files.js:259
+#: js/files.js:273
msgid "Close"
msgstr "关闭"
-#: js/files.js:278 js/files.js:397 js/files.js:431
+#: js/files.js:292 js/files.js:408 js/files.js:439
msgid "Pending"
msgstr "Pending"
-#: js/files.js:298
+#: js/files.js:312
msgid "1 file uploading"
msgstr "1 个文件正在上传"
-#: js/files.js:301 js/files.js:357 js/files.js:372
+#: js/files.js:315 js/files.js:370 js/files.js:385
msgid "{count} files uploading"
msgstr "{count} 个文件正在上传"
-#: js/files.js:376 js/files.js:414
+#: js/files.js:388 js/files.js:423
msgid "Upload cancelled."
msgstr "上传å–消了"
-#: js/files.js:486
+#: js/files.js:493
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr "文件正在上传。关闭页é¢ä¼šå–消上传。"
-#: js/files.js:559
+#: js/files.js:566
msgid "URL cannot be empty."
msgstr "网å€ä¸èƒ½ä¸ºç©ºã€‚"
-#: js/files.js:565
+#: js/files.js:571
msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
msgstr ""
-#: js/files.js:775
+#: js/files.js:784
msgid "{count} files scanned"
msgstr "{count} 个文件已扫æ"
-#: js/files.js:783
+#: js/files.js:792
msgid "error while scanning"
msgstr "扫æ出错"
-#: js/files.js:857 templates/index.php:64
+#: js/files.js:866 templates/index.php:63
msgid "Name"
msgstr "åå­—"
-#: js/files.js:858 templates/index.php:75
+#: js/files.js:867 templates/index.php:74
msgid "Size"
msgstr "大å°"
-#: js/files.js:859 templates/index.php:77
+#: js/files.js:868 templates/index.php:76
msgid "Modified"
msgstr "修改日期"
-#: js/files.js:878
+#: js/files.js:887
msgid "1 folder"
msgstr "1 个文件夹"
-#: js/files.js:880
+#: js/files.js:889
msgid "{count} folders"
msgstr "{count} 个文件夹"
-#: js/files.js:888
+#: js/files.js:897
msgid "1 file"
msgstr "1 个文件"
-#: js/files.js:890
+#: js/files.js:899
msgid "{count} files"
msgstr "{count} 个文件"
+#: lib/helper.php:11 templates/index.php:18
+msgid "Upload"
+msgstr "上传"
+
#: templates/admin.php:5
msgid "File handling"
msgstr "文件处ç†ä¸­"
@@ -282,28 +289,28 @@ msgstr "æ¥è‡ªé“¾æŽ¥"
msgid "Cancel upload"
msgstr "å–消上传"
-#: templates/index.php:56
+#: templates/index.php:55
msgid "Nothing in here. Upload something!"
msgstr "这里没有东西.上传点什么!"
-#: templates/index.php:70
+#: templates/index.php:69
msgid "Download"
msgstr "下载"
-#: templates/index.php:102
+#: templates/index.php:101
msgid "Upload too large"
msgstr "上传的文件太大了"
-#: templates/index.php:104
+#: templates/index.php:103
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "你正在试图上传的文件超过了此æœåŠ¡å™¨æ”¯æŒçš„最大的文件大å°."
-#: templates/index.php:109
+#: templates/index.php:108
msgid "Files are being scanned, please wait."
msgstr "正在扫æ文件,请ç¨å€™."
-#: templates/index.php:112
+#: templates/index.php:111
msgid "Current scanning"
msgstr "正在扫æ"
diff --git a/l10n/zh_CN/core.po b/l10n/zh_CN/core.po
index 727cb475164..2608be59836 100644
--- a/l10n/zh_CN/core.po
+++ b/l10n/zh_CN/core.po
@@ -13,9 +13,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-01-20 00:05+0100\n"
-"PO-Revision-Date: 2013-01-19 14:38+0000\n"
-"Last-Translator: leonfeng <rainofchaos@gmail.com>\n"
+"POT-Creation-Date: 2013-01-29 00:04+0100\n"
+"PO-Revision-Date: 2013-01-28 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"
@@ -85,59 +85,135 @@ msgstr "没有选择è¦åˆ é™¤çš„类别"
msgid "Error removing %s from favorites."
msgstr "从收è—夹中移除%s时出错。"
-#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61
+#: js/config.php:32
+msgid "Sunday"
+msgstr "星期日"
+
+#: js/config.php:32
+msgid "Monday"
+msgstr "星期一"
+
+#: js/config.php:32
+msgid "Tuesday"
+msgstr "星期二"
+
+#: js/config.php:32
+msgid "Wednesday"
+msgstr "星期三"
+
+#: js/config.php:32
+msgid "Thursday"
+msgstr "星期四"
+
+#: js/config.php:32
+msgid "Friday"
+msgstr "星期五"
+
+#: js/config.php:32
+msgid "Saturday"
+msgstr "星期六"
+
+#: js/config.php:33
+msgid "January"
+msgstr "一月"
+
+#: js/config.php:33
+msgid "February"
+msgstr "二月"
+
+#: js/config.php:33
+msgid "March"
+msgstr "三月"
+
+#: js/config.php:33
+msgid "April"
+msgstr "四月"
+
+#: js/config.php:33
+msgid "May"
+msgstr "五月"
+
+#: js/config.php:33
+msgid "June"
+msgstr "六月"
+
+#: js/config.php:33
+msgid "July"
+msgstr "七月"
+
+#: js/config.php:33
+msgid "August"
+msgstr "八月"
+
+#: js/config.php:33
+msgid "September"
+msgstr "ä¹æœˆ"
+
+#: js/config.php:33
+msgid "October"
+msgstr "å月"
+
+#: js/config.php:33
+msgid "November"
+msgstr "å一月"
+
+#: js/config.php:33
+msgid "December"
+msgstr "å二月"
+
+#: js/js.js:280 templates/layout.user.php:47 templates/layout.user.php:48
msgid "Settings"
msgstr "设置"
-#: js/js.js:706
+#: js/js.js:762
msgid "seconds ago"
msgstr "秒å‰"
-#: js/js.js:707
+#: js/js.js:763
msgid "1 minute ago"
msgstr "一分钟å‰"
-#: js/js.js:708
+#: js/js.js:764
msgid "{minutes} minutes ago"
msgstr "{minutes} 分钟å‰"
-#: js/js.js:709
+#: js/js.js:765
msgid "1 hour ago"
msgstr "1å°æ—¶å‰"
-#: js/js.js:710
+#: js/js.js:766
msgid "{hours} hours ago"
msgstr "{hours} å°æ—¶å‰"
-#: js/js.js:711
+#: js/js.js:767
msgid "today"
msgstr "今天"
-#: js/js.js:712
+#: js/js.js:768
msgid "yesterday"
msgstr "昨天"
-#: js/js.js:713
+#: js/js.js:769
msgid "{days} days ago"
msgstr "{days} 天å‰"
-#: js/js.js:714
+#: js/js.js:770
msgid "last month"
msgstr "上月"
-#: js/js.js:715
+#: js/js.js:771
msgid "{months} months ago"
msgstr "{months} 月å‰"
-#: js/js.js:716
+#: js/js.js:772
msgid "months ago"
msgstr "月å‰"
-#: js/js.js:717
+#: js/js.js:773
msgid "last year"
msgstr "去年"
-#: js/js.js:718
+#: js/js.js:774
msgid "years ago"
msgstr "å¹´å‰"
@@ -296,6 +372,17 @@ msgstr "正在å‘é€..."
msgid "Email sent"
msgstr "邮件已å‘é€"
+#: js/update.js:14
+msgid ""
+"The update was unsuccessful. Please report this issue to the <a "
+"href=\"https://github.com/owncloud/core/issues\" target=\"_blank\">ownCloud "
+"community</a>."
+msgstr ""
+
+#: js/update.js:18
+msgid "The update was successful. Redirecting you to ownCloud now."
+msgstr ""
+
#: lostpassword/controller.php:47
msgid "ownCloud password reset"
msgstr "é‡ç½® ownCloud 密ç "
@@ -447,87 +534,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:34
msgid "web services under your control"
msgstr "由您掌控的网络æœåŠ¡"
-#: templates/layout.user.php:45
+#: templates/layout.user.php:32
msgid "Log out"
msgstr "注销"
diff --git a/l10n/zh_CN/files.po b/l10n/zh_CN/files.po
index c5a96d20133..ac41681ce43 100644
--- a/l10n/zh_CN/files.po
+++ b/l10n/zh_CN/files.po
@@ -14,9 +14,9 @@ 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-21 23:17+0000\n"
-"Last-Translator: Xuetian Weng <wengxt@gmail.com>\n"
+"POT-Creation-Date: 2013-01-27 00:04+0100\n"
+"PO-Revision-Date: 2013-01-26 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"
@@ -24,11 +24,6 @@ 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"
@@ -43,46 +38,46 @@ msgstr "无法移动 %s"
msgid "Unable to rename file"
msgstr "无法é‡å‘½å文件"
-#: ajax/upload.php:20
+#: ajax/upload.php:17
msgid "No file was uploaded. Unknown error"
msgstr "没有文件被上传。未知错误"
-#: ajax/upload.php:30
+#: ajax/upload.php:24
msgid "There is no error, the file uploaded with success"
msgstr "没有å‘生错误,文件上传æˆåŠŸã€‚"
-#: ajax/upload.php:31
+#: ajax/upload.php:25
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr "上传文件大å°å·²è¶…过php.ini中upload_max_filesize所规定的值"
-#: ajax/upload.php:33
+#: ajax/upload.php:27
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
+#: ajax/upload.php:29
msgid "The uploaded file was only partially uploaded"
msgstr "åªä¸Šä¼ äº†æ–‡ä»¶çš„一部分"
-#: ajax/upload.php:36
+#: ajax/upload.php:30
msgid "No file was uploaded"
msgstr "文件没有上传"
-#: ajax/upload.php:37
+#: ajax/upload.php:31
msgid "Missing a temporary folder"
msgstr "缺少临时目录"
-#: ajax/upload.php:38
+#: ajax/upload.php:32
msgid "Failed to write to disk"
msgstr "写入ç£ç›˜å¤±è´¥"
-#: ajax/upload.php:57
-msgid "Not enough space available"
-msgstr "没有足够å¯ç”¨ç©ºé—´"
+#: ajax/upload.php:48
+msgid "Not enough storage available"
+msgstr ""
-#: ajax/upload.php:91
+#: ajax/upload.php:77
msgid "Invalid directory."
msgstr "无效文件夹。"
@@ -90,11 +85,11 @@ msgstr "无效文件夹。"
msgid "Files"
msgstr "文件"
-#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
+#: js/fileactions.js:117 templates/index.php:81 templates/index.php:82
msgid "Unshare"
msgstr "å–消分享"
-#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
+#: js/fileactions.js:119 templates/index.php:87 templates/index.php:88
msgid "Delete"
msgstr "删除"
@@ -102,139 +97,151 @@ msgstr "删除"
msgid "Rename"
msgstr "é‡å‘½å"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "{new_name} already exists"
msgstr "{new_name} 已存在"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "replace"
msgstr "替æ¢"
-#: js/filelist.js:205
+#: js/filelist.js:208
msgid "suggest name"
msgstr "建议å称"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "cancel"
msgstr "å–消"
-#: js/filelist.js:254
+#: js/filelist.js:253
msgid "replaced {new_name}"
msgstr "æ›¿æ¢ {new_name}"
-#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
+#: js/filelist.js:253 js/filelist.js:255 js/filelist.js:286 js/filelist.js:288
msgid "undo"
msgstr "撤销"
-#: js/filelist.js:256
+#: js/filelist.js:255
msgid "replaced {new_name} with {old_name}"
msgstr "已将 {old_name}替æ¢æˆ {new_name}"
-#: js/filelist.js:288
+#: js/filelist.js:286
msgid "unshared {files}"
msgstr "å–消了共享 {files}"
-#: js/filelist.js:290
+#: js/filelist.js:288
msgid "deleted {files}"
msgstr "删除了 {files}"
-#: js/files.js:48
+#: js/files.js:52
msgid "'.' is an invalid file name."
msgstr "'.' 是一个无效的文件å。"
-#: js/files.js:53
+#: js/files.js:56
msgid "File name cannot be empty."
msgstr "文件åä¸èƒ½ä¸ºç©ºã€‚"
-#: js/files.js:62
+#: js/files.js:64
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr "无效å称,'\\', '/', '<', '>', ':', '\"', '|', '?' å’Œ '*' ä¸è¢«å…许使用。"
-#: js/files.js:204
+#: js/files.js:78
+msgid "Your storage is full, files can not be updated or synced anymore!"
+msgstr ""
+
+#: js/files.js:82
+msgid "Your storage is almost full ({usedSpacePercent}%)"
+msgstr ""
+
+#: js/files.js:219
msgid ""
"Your download is being prepared. This might take some time if the files are "
"big."
msgstr "下载正在准备中。如果文件较大å¯èƒ½ä¼šèŠ±è´¹ä¸€äº›æ—¶é—´ã€‚"
-#: js/files.js:242
+#: js/files.js:256
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr "无法上传文件,因为它是一个目录或者大å°ä¸º 0 字节"
-#: js/files.js:242
+#: js/files.js:256
msgid "Upload Error"
msgstr "上传错误"
-#: js/files.js:259
+#: js/files.js:273
msgid "Close"
msgstr "关闭"
-#: js/files.js:278 js/files.js:397 js/files.js:431
+#: js/files.js:292 js/files.js:408 js/files.js:439
msgid "Pending"
msgstr "æ“作等待中"
-#: js/files.js:298
+#: js/files.js:312
msgid "1 file uploading"
msgstr "1个文件上传中"
-#: js/files.js:301 js/files.js:357 js/files.js:372
+#: js/files.js:315 js/files.js:370 js/files.js:385
msgid "{count} files uploading"
msgstr "{count} 个文件上传中"
-#: js/files.js:376 js/files.js:414
+#: js/files.js:388 js/files.js:423
msgid "Upload cancelled."
msgstr "上传已å–消"
-#: js/files.js:486
+#: js/files.js:493
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr "文件正在上传中。现在离开此页会导致上传动作被å–消。"
-#: js/files.js:559
+#: js/files.js:566
msgid "URL cannot be empty."
msgstr "URLä¸èƒ½ä¸ºç©º"
-#: js/files.js:565
+#: js/files.js:571
msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
msgstr "无效文件夹å。'共享' 是 Owncloud 预留的文件夹å。"
-#: js/files.js:775
+#: js/files.js:784
msgid "{count} files scanned"
msgstr "{count} 个文件已扫æ。"
-#: js/files.js:783
+#: js/files.js:792
msgid "error while scanning"
msgstr "扫æ时出错"
-#: js/files.js:857 templates/index.php:64
+#: js/files.js:866 templates/index.php:63
msgid "Name"
msgstr "å称"
-#: js/files.js:858 templates/index.php:75
+#: js/files.js:867 templates/index.php:74
msgid "Size"
msgstr "大å°"
-#: js/files.js:859 templates/index.php:77
+#: js/files.js:868 templates/index.php:76
msgid "Modified"
msgstr "修改日期"
-#: js/files.js:878
+#: js/files.js:887
msgid "1 folder"
msgstr "1个文件夹"
-#: js/files.js:880
+#: js/files.js:889
msgid "{count} folders"
msgstr "{count} 个文件夹"
-#: js/files.js:888
+#: js/files.js:897
msgid "1 file"
msgstr "1 个文件"
-#: js/files.js:890
+#: js/files.js:899
msgid "{count} files"
msgstr "{count} 个文件"
+#: lib/helper.php:11 templates/index.php:18
+msgid "Upload"
+msgstr "上传"
+
#: templates/admin.php:5
msgid "File handling"
msgstr "文件处ç†"
@@ -287,28 +294,28 @@ msgstr "æ¥è‡ªé“¾æŽ¥"
msgid "Cancel upload"
msgstr "å–消上传"
-#: templates/index.php:56
+#: templates/index.php:55
msgid "Nothing in here. Upload something!"
msgstr "这里还什么都没有。上传些东西å§ï¼"
-#: templates/index.php:70
+#: templates/index.php:69
msgid "Download"
msgstr "下载"
-#: templates/index.php:102
+#: templates/index.php:101
msgid "Upload too large"
msgstr "上传文件过大"
-#: templates/index.php:104
+#: templates/index.php:103
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "您正å°è¯•ä¸Šä¼ çš„文件超过了此æœåŠ¡å™¨å¯ä»¥ä¸Šä¼ çš„最大容é‡é™åˆ¶"
-#: templates/index.php:109
+#: templates/index.php:108
msgid "Files are being scanned, please wait."
msgstr "文件正在被扫æ,请ç¨å€™ã€‚"
-#: templates/index.php:112
+#: templates/index.php:111
msgid "Current scanning"
msgstr "当å‰æ‰«æ"
diff --git a/l10n/zh_HK/core.po b/l10n/zh_HK/core.po
index d58ec8a3911..b3e778f0b2c 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: 2013-01-15 00:03+0100\n"
-"PO-Revision-Date: 2013-01-14 23:03+0000\n"
+"POT-Creation-Date: 2013-01-29 00:04+0100\n"
+"PO-Revision-Date: 2013-01-28 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"
@@ -80,59 +80,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:32
+msgid "Sunday"
+msgstr ""
+
+#: js/config.php:32
+msgid "Monday"
+msgstr ""
+
+#: js/config.php:32
+msgid "Tuesday"
+msgstr ""
+
+#: js/config.php:32
+msgid "Wednesday"
+msgstr ""
+
+#: js/config.php:32
+msgid "Thursday"
+msgstr ""
+
+#: js/config.php:32
+msgid "Friday"
+msgstr ""
+
+#: js/config.php:32
+msgid "Saturday"
+msgstr ""
+
+#: js/config.php:33
+msgid "January"
+msgstr ""
+
+#: js/config.php:33
+msgid "February"
+msgstr ""
+
+#: js/config.php:33
+msgid "March"
+msgstr ""
+
+#: js/config.php:33
+msgid "April"
+msgstr ""
+
+#: js/config.php:33
+msgid "May"
+msgstr ""
+
+#: js/config.php:33
+msgid "June"
+msgstr ""
+
+#: js/config.php:33
+msgid "July"
+msgstr ""
+
+#: js/config.php:33
+msgid "August"
+msgstr ""
+
+#: js/config.php:33
+msgid "September"
+msgstr ""
+
+#: js/config.php:33
+msgid "October"
+msgstr ""
+
+#: js/config.php:33
+msgid "November"
+msgstr ""
+
+#: js/config.php:33
+msgid "December"
+msgstr ""
+
+#: js/js.js:280 templates/layout.user.php:47 templates/layout.user.php:48
msgid "Settings"
msgstr ""
-#: js/js.js:711
+#: js/js.js:762
msgid "seconds ago"
msgstr ""
-#: js/js.js:712
+#: js/js.js:763
msgid "1 minute ago"
msgstr ""
-#: js/js.js:713
+#: js/js.js:764
msgid "{minutes} minutes ago"
msgstr ""
-#: js/js.js:714
+#: js/js.js:765
msgid "1 hour ago"
msgstr ""
-#: js/js.js:715
+#: js/js.js:766
msgid "{hours} hours ago"
msgstr ""
-#: js/js.js:716
+#: js/js.js:767
msgid "today"
msgstr ""
-#: js/js.js:717
+#: js/js.js:768
msgid "yesterday"
msgstr ""
-#: js/js.js:718
+#: js/js.js:769
msgid "{days} days ago"
msgstr ""
-#: js/js.js:719
+#: js/js.js:770
msgid "last month"
msgstr ""
-#: js/js.js:720
+#: js/js.js:771
msgid "{months} months ago"
msgstr ""
-#: js/js.js:721
+#: js/js.js:772
msgid "months ago"
msgstr ""
-#: js/js.js:722
+#: js/js.js:773
msgid "last year"
msgstr ""
-#: js/js.js:723
+#: js/js.js:774
msgid "years ago"
msgstr ""
@@ -291,6 +367,17 @@ msgstr ""
msgid "Email sent"
msgstr ""
+#: js/update.js:14
+msgid ""
+"The update was unsuccessful. Please report this issue to the <a "
+"href=\"https://github.com/owncloud/core/issues\" target=\"_blank\">ownCloud "
+"community</a>."
+msgstr ""
+
+#: js/update.js:18
+msgid "The update was successful. Redirecting you to ownCloud now."
+msgstr ""
+
#: lostpassword/controller.php:47
msgid "ownCloud password reset"
msgstr ""
@@ -442,87 +529,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:34
msgid "web services under your control"
msgstr ""
-#: templates/layout.user.php:45
+#: templates/layout.user.php:32
msgid "Log out"
msgstr ""
diff --git a/l10n/zh_HK/files.po b/l10n/zh_HK/files.po
index 56f4ec9477e..d8fe0228bcb 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: 2013-01-20 00:05+0100\n"
-"PO-Revision-Date: 2013-01-19 23:05+0000\n"
+"POT-Creation-Date: 2013-01-27 00:04+0100\n"
+"PO-Revision-Date: 2013-01-26 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,11 +17,6 @@ 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"
@@ -36,46 +31,46 @@ msgstr ""
msgid "Unable to rename file"
msgstr ""
-#: ajax/upload.php:20
+#: ajax/upload.php:17
msgid "No file was uploaded. Unknown error"
msgstr ""
-#: ajax/upload.php:30
+#: ajax/upload.php:24
msgid "There is no error, the file uploaded with success"
msgstr ""
-#: ajax/upload.php:31
+#: ajax/upload.php:25
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr ""
-#: ajax/upload.php:33
+#: ajax/upload.php:27
msgid ""
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in "
"the HTML form"
msgstr ""
-#: ajax/upload.php:35
+#: ajax/upload.php:29
msgid "The uploaded file was only partially uploaded"
msgstr ""
-#: ajax/upload.php:36
+#: ajax/upload.php:30
msgid "No file was uploaded"
msgstr ""
-#: ajax/upload.php:37
+#: ajax/upload.php:31
msgid "Missing a temporary folder"
msgstr ""
-#: ajax/upload.php:38
+#: ajax/upload.php:32
msgid "Failed to write to disk"
msgstr ""
-#: ajax/upload.php:57
-msgid "Not enough space available"
+#: ajax/upload.php:48
+msgid "Not enough storage available"
msgstr ""
-#: ajax/upload.php:91
+#: ajax/upload.php:77
msgid "Invalid directory."
msgstr ""
@@ -83,11 +78,11 @@ msgstr ""
msgid "Files"
msgstr ""
-#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
+#: js/fileactions.js:117 templates/index.php:81 templates/index.php:82
msgid "Unshare"
msgstr ""
-#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
+#: js/fileactions.js:119 templates/index.php:87 templates/index.php:88
msgid "Delete"
msgstr ""
@@ -95,139 +90,151 @@ msgstr ""
msgid "Rename"
msgstr ""
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "{new_name} already exists"
msgstr ""
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "replace"
msgstr ""
-#: js/filelist.js:205
+#: js/filelist.js:208
msgid "suggest name"
msgstr ""
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "cancel"
msgstr ""
-#: js/filelist.js:254
+#: js/filelist.js:253
msgid "replaced {new_name}"
msgstr ""
-#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
+#: js/filelist.js:253 js/filelist.js:255 js/filelist.js:286 js/filelist.js:288
msgid "undo"
msgstr ""
-#: js/filelist.js:256
+#: js/filelist.js:255
msgid "replaced {new_name} with {old_name}"
msgstr ""
-#: js/filelist.js:288
+#: js/filelist.js:286
msgid "unshared {files}"
msgstr ""
-#: js/filelist.js:290
+#: js/filelist.js:288
msgid "deleted {files}"
msgstr ""
-#: js/files.js:48
+#: js/files.js:52
msgid "'.' is an invalid file name."
msgstr ""
-#: js/files.js:53
+#: js/files.js:56
msgid "File name cannot be empty."
msgstr ""
-#: js/files.js:62
+#: js/files.js:64
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr ""
-#: js/files.js:204
+#: js/files.js:78
+msgid "Your storage is full, files can not be updated or synced anymore!"
+msgstr ""
+
+#: js/files.js:82
+msgid "Your storage is almost full ({usedSpacePercent}%)"
+msgstr ""
+
+#: js/files.js:219
msgid ""
"Your download is being prepared. This might take some time if the files are "
"big."
msgstr ""
-#: js/files.js:242
+#: js/files.js:256
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr ""
-#: js/files.js:242
+#: js/files.js:256
msgid "Upload Error"
msgstr ""
-#: js/files.js:259
+#: js/files.js:273
msgid "Close"
msgstr ""
-#: js/files.js:278 js/files.js:397 js/files.js:431
+#: js/files.js:292 js/files.js:408 js/files.js:439
msgid "Pending"
msgstr ""
-#: js/files.js:298
+#: js/files.js:312
msgid "1 file uploading"
msgstr ""
-#: js/files.js:301 js/files.js:357 js/files.js:372
+#: js/files.js:315 js/files.js:370 js/files.js:385
msgid "{count} files uploading"
msgstr ""
-#: js/files.js:376 js/files.js:414
+#: js/files.js:388 js/files.js:423
msgid "Upload cancelled."
msgstr ""
-#: js/files.js:486
+#: js/files.js:493
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr ""
-#: js/files.js:559
+#: js/files.js:566
msgid "URL cannot be empty."
msgstr ""
-#: js/files.js:565
+#: js/files.js:571
msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
msgstr ""
-#: js/files.js:775
+#: js/files.js:784
msgid "{count} files scanned"
msgstr ""
-#: js/files.js:783
+#: js/files.js:792
msgid "error while scanning"
msgstr ""
-#: js/files.js:857 templates/index.php:64
+#: js/files.js:866 templates/index.php:63
msgid "Name"
msgstr ""
-#: js/files.js:858 templates/index.php:75
+#: js/files.js:867 templates/index.php:74
msgid "Size"
msgstr ""
-#: js/files.js:859 templates/index.php:77
+#: js/files.js:868 templates/index.php:76
msgid "Modified"
msgstr ""
-#: js/files.js:878
+#: js/files.js:887
msgid "1 folder"
msgstr ""
-#: js/files.js:880
+#: js/files.js:889
msgid "{count} folders"
msgstr ""
-#: js/files.js:888
+#: js/files.js:897
msgid "1 file"
msgstr ""
-#: js/files.js:890
+#: js/files.js:899
msgid "{count} files"
msgstr ""
+#: lib/helper.php:11 templates/index.php:18
+msgid "Upload"
+msgstr ""
+
#: templates/admin.php:5
msgid "File handling"
msgstr ""
@@ -280,28 +287,28 @@ msgstr ""
msgid "Cancel upload"
msgstr ""
-#: templates/index.php:56
+#: templates/index.php:55
msgid "Nothing in here. Upload something!"
msgstr ""
-#: templates/index.php:70
+#: templates/index.php:69
msgid "Download"
msgstr ""
-#: templates/index.php:102
+#: templates/index.php:101
msgid "Upload too large"
msgstr ""
-#: templates/index.php:104
+#: templates/index.php:103
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr ""
-#: templates/index.php:109
+#: templates/index.php:108
msgid "Files are being scanned, please wait."
msgstr ""
-#: templates/index.php:112
+#: templates/index.php:111
msgid "Current scanning"
msgstr ""
diff --git a/l10n/zh_TW/core.po b/l10n/zh_TW/core.po
index a331ba2944f..7033b0e5973 100644
--- a/l10n/zh_TW/core.po
+++ b/l10n/zh_TW/core.po
@@ -11,8 +11,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-01-15 00:03+0100\n"
-"PO-Revision-Date: 2013-01-14 23:03+0000\n"
+"POT-Creation-Date: 2013-01-29 00:04+0100\n"
+"PO-Revision-Date: 2013-01-28 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"
@@ -83,59 +83,135 @@ msgstr "沒有é¸æ“‡è¦åˆªé™¤çš„分類。"
msgid "Error removing %s from favorites."
msgstr "從最愛移除 %s 時發生錯誤。"
-#: js/js.js:259 templates/layout.user.php:60 templates/layout.user.php:61
+#: js/config.php:32
+msgid "Sunday"
+msgstr "週日"
+
+#: js/config.php:32
+msgid "Monday"
+msgstr "週一"
+
+#: js/config.php:32
+msgid "Tuesday"
+msgstr "週二"
+
+#: js/config.php:32
+msgid "Wednesday"
+msgstr "週三"
+
+#: js/config.php:32
+msgid "Thursday"
+msgstr "週四"
+
+#: js/config.php:32
+msgid "Friday"
+msgstr "週五"
+
+#: js/config.php:32
+msgid "Saturday"
+msgstr "週六"
+
+#: js/config.php:33
+msgid "January"
+msgstr "一月"
+
+#: js/config.php:33
+msgid "February"
+msgstr "二月"
+
+#: js/config.php:33
+msgid "March"
+msgstr "三月"
+
+#: js/config.php:33
+msgid "April"
+msgstr "四月"
+
+#: js/config.php:33
+msgid "May"
+msgstr "五月"
+
+#: js/config.php:33
+msgid "June"
+msgstr "六月"
+
+#: js/config.php:33
+msgid "July"
+msgstr "七月"
+
+#: js/config.php:33
+msgid "August"
+msgstr "八月"
+
+#: js/config.php:33
+msgid "September"
+msgstr "ä¹æœˆ"
+
+#: js/config.php:33
+msgid "October"
+msgstr "å月"
+
+#: js/config.php:33
+msgid "November"
+msgstr "å一月"
+
+#: js/config.php:33
+msgid "December"
+msgstr "å二月"
+
+#: js/js.js:280 templates/layout.user.php:47 templates/layout.user.php:48
msgid "Settings"
msgstr "設定"
-#: js/js.js:711
+#: js/js.js:762
msgid "seconds ago"
msgstr "幾秒å‰"
-#: js/js.js:712
+#: js/js.js:763
msgid "1 minute ago"
msgstr "1 分é˜å‰"
-#: js/js.js:713
+#: js/js.js:764
msgid "{minutes} minutes ago"
msgstr "{minutes} 分é˜å‰"
-#: js/js.js:714
+#: js/js.js:765
msgid "1 hour ago"
msgstr "1 個å°æ™‚å‰"
-#: js/js.js:715
+#: js/js.js:766
msgid "{hours} hours ago"
msgstr "{hours} å°æ™‚å‰"
-#: js/js.js:716
+#: js/js.js:767
msgid "today"
msgstr "今天"
-#: js/js.js:717
+#: js/js.js:768
msgid "yesterday"
msgstr "昨天"
-#: js/js.js:718
+#: js/js.js:769
msgid "{days} days ago"
msgstr "{days} 天å‰"
-#: js/js.js:719
+#: js/js.js:770
msgid "last month"
msgstr "上個月"
-#: js/js.js:720
+#: js/js.js:771
msgid "{months} months ago"
msgstr "{months} 個月å‰"
-#: js/js.js:721
+#: js/js.js:772
msgid "months ago"
msgstr "幾個月å‰"
-#: js/js.js:722
+#: js/js.js:773
msgid "last year"
msgstr "去年"
-#: js/js.js:723
+#: js/js.js:774
msgid "years ago"
msgstr "幾年å‰"
@@ -294,6 +370,17 @@ msgstr "正在寄出..."
msgid "Email sent"
msgstr "Email 已寄出"
+#: js/update.js:14
+msgid ""
+"The update was unsuccessful. Please report this issue to the <a "
+"href=\"https://github.com/owncloud/core/issues\" target=\"_blank\">ownCloud "
+"community</a>."
+msgstr ""
+
+#: js/update.js:18
+msgid "The update was successful. Redirecting you to ownCloud now."
+msgstr ""
+
#: lostpassword/controller.php:47
msgid "ownCloud password reset"
msgstr "ownCloud 密碼é‡è¨­"
@@ -445,87 +532,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:34
msgid "web services under your control"
msgstr "網路æœå‹™åœ¨æ‚¨æŽ§åˆ¶ä¹‹ä¸‹"
-#: templates/layout.user.php:45
+#: templates/layout.user.php:32
msgid "Log out"
msgstr "登出"
diff --git a/l10n/zh_TW/files.po b/l10n/zh_TW/files.po
index e4122552c2f..a1e826aabd8 100644
--- a/l10n/zh_TW/files.po
+++ b/l10n/zh_TW/files.po
@@ -13,9 +13,9 @@ msgid ""
msgstr ""
"Project-Id-Version: ownCloud\n"
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
-"POT-Creation-Date: 2013-01-24 00:06+0100\n"
-"PO-Revision-Date: 2013-01-23 10:05+0000\n"
-"Last-Translator: pellaeon <nfsmwlin@gmail.com>\n"
+"POT-Creation-Date: 2013-01-27 00:04+0100\n"
+"PO-Revision-Date: 2013-01-26 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"
@@ -23,11 +23,6 @@ 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"
@@ -42,46 +37,46 @@ msgstr "無法移動 %s"
msgid "Unable to rename file"
msgstr "無法é‡æ–°å‘½å檔案"
-#: ajax/upload.php:20
+#: ajax/upload.php:17
msgid "No file was uploaded. Unknown error"
msgstr "沒有檔案被上傳。未知的錯誤。"
-#: ajax/upload.php:30
+#: ajax/upload.php:24
msgid "There is no error, the file uploaded with success"
msgstr "無錯誤,檔案上傳æˆåŠŸ"
-#: ajax/upload.php:31
+#: ajax/upload.php:25
msgid ""
"The uploaded file exceeds the upload_max_filesize directive in php.ini: "
msgstr "上傳的檔案大å°è¶…éŽ php.ini 當中 upload_max_filesize åƒæ•¸çš„設定:"
-#: ajax/upload.php:33
+#: ajax/upload.php:27
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
+#: ajax/upload.php:29
msgid "The uploaded file was only partially uploaded"
msgstr "åªæœ‰æª”案的一部分被上傳"
-#: ajax/upload.php:36
+#: ajax/upload.php:30
msgid "No file was uploaded"
msgstr "無已上傳檔案"
-#: ajax/upload.php:37
+#: ajax/upload.php:31
msgid "Missing a temporary folder"
msgstr "éºå¤±æš«å­˜è³‡æ–™å¤¾"
-#: ajax/upload.php:38
+#: ajax/upload.php:32
msgid "Failed to write to disk"
msgstr "寫入硬碟失敗"
-#: ajax/upload.php:57
-msgid "Not enough space available"
-msgstr "沒有足夠的å¯ç”¨ç©ºé–“"
+#: ajax/upload.php:48
+msgid "Not enough storage available"
+msgstr ""
-#: ajax/upload.php:91
+#: ajax/upload.php:77
msgid "Invalid directory."
msgstr "無效的資料夾。"
@@ -89,11 +84,11 @@ msgstr "無效的資料夾。"
msgid "Files"
msgstr "檔案"
-#: js/fileactions.js:117 templates/index.php:82 templates/index.php:83
+#: js/fileactions.js:117 templates/index.php:81 templates/index.php:82
msgid "Unshare"
msgstr "å–消共享"
-#: js/fileactions.js:119 templates/index.php:88 templates/index.php:89
+#: js/fileactions.js:119 templates/index.php:87 templates/index.php:88
msgid "Delete"
msgstr "刪除"
@@ -101,139 +96,151 @@ msgstr "刪除"
msgid "Rename"
msgstr "é‡æ–°å‘½å"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "{new_name} already exists"
msgstr "{new_name} 已經存在"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "replace"
msgstr "å–代"
-#: js/filelist.js:205
+#: js/filelist.js:208
msgid "suggest name"
msgstr "建議檔å"
-#: js/filelist.js:205 js/filelist.js:207
+#: js/filelist.js:208 js/filelist.js:210
msgid "cancel"
msgstr "å–消"
-#: js/filelist.js:254
+#: js/filelist.js:253
msgid "replaced {new_name}"
msgstr "å·²å–代 {new_name}"
-#: js/filelist.js:254 js/filelist.js:256 js/filelist.js:288 js/filelist.js:290
+#: js/filelist.js:253 js/filelist.js:255 js/filelist.js:286 js/filelist.js:288
msgid "undo"
msgstr "復原"
-#: js/filelist.js:256
+#: js/filelist.js:255
msgid "replaced {new_name} with {old_name}"
msgstr "使用 {new_name} å–代 {old_name}"
-#: js/filelist.js:288
+#: js/filelist.js:286
msgid "unshared {files}"
msgstr "å·²å–消分享 {files}"
-#: js/filelist.js:290
+#: js/filelist.js:288
msgid "deleted {files}"
msgstr "已刪除 {files}"
-#: js/files.js:48
+#: js/files.js:52
msgid "'.' is an invalid file name."
msgstr "'.' 是ä¸åˆæ³•çš„檔å。"
-#: js/files.js:53
+#: js/files.js:56
msgid "File name cannot be empty."
msgstr "檔åä¸èƒ½ç‚ºç©ºã€‚"
-#: js/files.js:62
+#: js/files.js:64
msgid ""
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not "
"allowed."
msgstr "檔åä¸åˆæ³•ï¼Œä¸å…許 '\\', '/', '<', '>', ':', '\"', '|', '?' å’Œ '*' 。"
-#: js/files.js:204
+#: js/files.js:78
+msgid "Your storage is full, files can not be updated or synced anymore!"
+msgstr ""
+
+#: js/files.js:82
+msgid "Your storage is almost full ({usedSpacePercent}%)"
+msgstr ""
+
+#: js/files.js:219
msgid ""
"Your download is being prepared. This might take some time if the files are "
"big."
msgstr "正在準備您的下載,若您的檔案較大,將會需è¦æ›´å¤šæ™‚間。"
-#: js/files.js:242
+#: js/files.js:256
msgid "Unable to upload your file as it is a directory or has 0 bytes"
msgstr "無法上傳您的檔案因為它å¯èƒ½æ˜¯ä¸€å€‹ç›®éŒ„或檔案大å°ç‚º0"
-#: js/files.js:242
+#: js/files.js:256
msgid "Upload Error"
msgstr "上傳發生錯誤"
-#: js/files.js:259
+#: js/files.js:273
msgid "Close"
msgstr "關閉"
-#: js/files.js:278 js/files.js:397 js/files.js:431
+#: js/files.js:292 js/files.js:408 js/files.js:439
msgid "Pending"
msgstr "等候中"
-#: js/files.js:298
+#: js/files.js:312
msgid "1 file uploading"
msgstr "1 個檔案正在上傳"
-#: js/files.js:301 js/files.js:357 js/files.js:372
+#: js/files.js:315 js/files.js:370 js/files.js:385
msgid "{count} files uploading"
msgstr "{count} 個檔案正在上傳"
-#: js/files.js:376 js/files.js:414
+#: js/files.js:388 js/files.js:423
msgid "Upload cancelled."
msgstr "上傳å–消"
-#: js/files.js:486
+#: js/files.js:493
msgid ""
"File upload is in progress. Leaving the page now will cancel the upload."
msgstr "檔案上傳中。離開此é é¢å°‡æœƒå–消上傳。"
-#: js/files.js:559
+#: js/files.js:566
msgid "URL cannot be empty."
msgstr "URL ä¸èƒ½ç‚ºç©ºç™½."
-#: js/files.js:565
+#: js/files.js:571
msgid "Invalid folder name. Usage of 'Shared' is reserved by Owncloud"
msgstr "無效的資料夾å稱,'Shared' 的使用被 Owncloud ä¿ç•™"
-#: js/files.js:775
+#: js/files.js:784
msgid "{count} files scanned"
msgstr "{count} 個檔案已掃æ"
-#: js/files.js:783
+#: js/files.js:792
msgid "error while scanning"
msgstr "掃æ時發生錯誤"
-#: js/files.js:857 templates/index.php:64
+#: js/files.js:866 templates/index.php:63
msgid "Name"
msgstr "å稱"
-#: js/files.js:858 templates/index.php:75
+#: js/files.js:867 templates/index.php:74
msgid "Size"
msgstr "大å°"
-#: js/files.js:859 templates/index.php:77
+#: js/files.js:868 templates/index.php:76
msgid "Modified"
msgstr "修改"
-#: js/files.js:878
+#: js/files.js:887
msgid "1 folder"
msgstr "1 個資料夾"
-#: js/files.js:880
+#: js/files.js:889
msgid "{count} folders"
msgstr "{count} 個資料夾"
-#: js/files.js:888
+#: js/files.js:897
msgid "1 file"
msgstr "1 個檔案"
-#: js/files.js:890
+#: js/files.js:899
msgid "{count} files"
msgstr "{count} 個檔案"
+#: lib/helper.php:11 templates/index.php:18
+msgid "Upload"
+msgstr "上傳"
+
#: templates/admin.php:5
msgid "File handling"
msgstr "檔案處ç†"
@@ -286,28 +293,28 @@ msgstr "從連çµ"
msgid "Cancel upload"
msgstr "å–消上傳"
-#: templates/index.php:56
+#: templates/index.php:55
msgid "Nothing in here. Upload something!"
msgstr "沒有任何æ±è¥¿ã€‚請上傳內容ï¼"
-#: templates/index.php:70
+#: templates/index.php:69
msgid "Download"
msgstr "下載"
-#: templates/index.php:102
+#: templates/index.php:101
msgid "Upload too large"
msgstr "上傳éŽå¤§"
-#: templates/index.php:104
+#: templates/index.php:103
msgid ""
"The files you are trying to upload exceed the maximum size for file uploads "
"on this server."
msgstr "您試圖上傳的檔案已超éŽä¼ºæœå™¨çš„最大檔案大å°é™åˆ¶ã€‚ "
-#: templates/index.php:109
+#: templates/index.php:108
msgid "Files are being scanned, please wait."
msgstr "正在掃æ檔案,請ç¨ç­‰ã€‚"
-#: templates/index.php:112
+#: templates/index.php:111
msgid "Current scanning"
msgstr "ç›®å‰æŽƒæ"
diff --git a/l10n/zh_TW/files_encryption.po b/l10n/zh_TW/files_encryption.po
index 08bcf01b0d2..0ff077a2b2e 100644
--- a/l10n/zh_TW/files_encryption.po
+++ b/l10n/zh_TW/files_encryption.po
@@ -3,14 +3,15 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
+# 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: 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"
+"POT-Creation-Date: 2013-01-27 00:04+0100\n"
+"PO-Revision-Date: 2013-01-26 01:44+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"
@@ -22,53 +23,53 @@ msgstr ""
msgid ""
"Please switch to your ownCloud client and change your encryption password to"
" complete the conversion."
-msgstr ""
+msgstr "請至您的 ownCloud 客戶端程å¼ä¿®æ”¹æ‚¨çš„加密密碼以完æˆè½‰æ›ã€‚"
#: js/settings-personal.js:17
msgid "switched to client side encryption"
-msgstr ""
+msgstr "已切æ›ç‚ºå®¢æˆ¶ç«¯åŠ å¯†"
#: js/settings-personal.js:21
msgid "Change encryption password to login password"
-msgstr ""
+msgstr "將加密密碼修改為登入密碼"
#: js/settings-personal.js:25
msgid "Please check your passwords and try again."
-msgstr ""
+msgstr "請檢查您的密碼並å†è©¦ä¸€æ¬¡ã€‚"
#: js/settings-personal.js:25
msgid "Could not change your file encryption password to your login password"
-msgstr ""
+msgstr "無法變更您的檔案加密密碼為登入密碼"
#: templates/settings-personal.php:3 templates/settings.php:5
msgid "Choose encryption mode:"
-msgstr ""
+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 ""
+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 ""
+msgstr "伺æœå™¨ç«¯åŠ å¯† (您å¯ä»¥å¾žç¶²é ç•Œé¢åŠå®¢æˆ¶ç«¯ç¨‹å¼å­˜å–您的檔案)"
#: templates/settings-personal.php:41 templates/settings.php:60
msgid "None (no encryption at all)"
-msgstr ""
+msgstr "ç„¡ (ä¸åŠ å¯†)"
#: templates/settings.php:10
msgid ""
"Important: Once you selected an encryption mode there is no way to change it"
" back"
-msgstr ""
+msgstr "é‡è¦ï¼šä¸€æ—¦æ‚¨é¸æ“‡äº†åŠ å¯†å°±ç„¡æ³•å†æ”¹å›žä¾†"
#: templates/settings.php:48
msgid "User specific (let the user decide)"
-msgstr ""
+msgstr "使用者自訂 (讓使用者自己決定)"
#: templates/settings.php:65
msgid "Encryption"
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/lib/api.php b/lib/api.php
index 0fce109a423..545b55757ff 100644
--- a/lib/api.php
+++ b/lib/api.php
@@ -90,6 +90,9 @@ class OC_API {
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');
}
diff --git a/lib/app.php b/lib/app.php
index 662af56d258..108226fc1a1 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
@@ -299,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
@@ -519,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;
@@ -589,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
*/
diff --git a/lib/base.php b/lib/base.php
index 4b198c4f784..f9818d3514e 100644
--- a/lib/base.php
+++ b/lib/base.php
@@ -96,7 +96,14 @@ class OC
} 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');
+ 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) {
@@ -252,6 +259,7 @@ class OC
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);
+ OC_Util::addscript('update');
$tmpl = new OC_Template('', 'update', 'guest');
$tmpl->assign('version', OC_Util::getVersionString());
$tmpl->printPage();
@@ -268,7 +276,7 @@ class OC
{
// 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-ui-1.10.0.custom");
OC_Util::addScript("jquery-showpassword");
OC_Util::addScript("jquery.infieldlabel");
OC_Util::addScript("jquery-tipsy");
@@ -282,8 +290,9 @@ class OC
OC_Util::addStyle("styles");
OC_Util::addStyle("multiselect");
- OC_Util::addStyle("jquery-ui-1.8.16.custom");
+ OC_Util::addStyle("jquery-ui-1.10.0.custom");
OC_Util::addStyle("jquery-tipsy");
+ OC_Util::addScript("oc-requesttoken");
}
public static function initSession()
@@ -421,8 +430,6 @@ class OC
self::checkSSL();
self::initSession();
self::initTemplateEngine();
- self::checkMaintenanceMode();
- self::checkUpgrade();
$errors = OC_Util::checkServer();
if (count($errors) > 0) {
@@ -540,22 +547,6 @@ class OC
*/
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;
- }
-
// load all the classpaths from the enabled apps so they are available
// in the routing files of each app
OC::loadAppClassPaths();
@@ -577,6 +568,27 @@ class OC
self::loadCSSFile($param);
return;
}
+
+ // Check if ownCloud is installed or in maintenance (update) mode
+ if (!OC_Config::getValue('installed', false)) {
+ require_once 'core/setup.php';
+ exit();
+ }
+ self::checkMaintenanceMode();
+ self::checkUpgrade();
+
+ // 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();
diff --git a/lib/helper.php b/lib/helper.php
index a7b2a429952..d2c6b1695bd 100644
--- a/lib/helper.php
+++ b/lib/helper.php
@@ -785,4 +785,23 @@ class OC_Helper {
}
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/l10n/fa.php b/lib/l10n/fa.php
index ce7c7c6e970..8cbdcb03b3b 100644
--- a/lib/l10n/fa.php
+++ b/lib/l10n/fa.php
@@ -10,6 +10,7 @@
"seconds ago" => "ثانیه‌ها پیش",
"1 minute ago" => "1 دقیقه پیش",
"%d minutes ago" => "%d دقیقه پیش",
+"1 hour ago" => "1 ساعت پیش",
"today" => "امروز",
"yesterday" => "دیروز",
"last month" => "ماه قبل",
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/hu_HU.php b/lib/l10n/hu_HU.php
index c95358011f0..e25de3e1ed6 100644
--- a/lib/l10n/hu_HU.php
+++ b/lib/l10n/hu_HU.php
@@ -5,11 +5,11 @@
"Users" => "Felhasználók",
"Apps" => "Alkalmazások",
"Admin" => "Admin",
-"ZIP download is turned off." => "A ZIP-letöltés nem engedélyezett.",
+"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 sikerült azonosítani",
+"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ítse az oldalt.",
diff --git a/lib/l10n/lb.php b/lib/l10n/lb.php
index a5a9adca187..06e8b2ca094 100644
--- a/lib/l10n/lb.php
+++ b/lib/l10n/lb.php
@@ -4,5 +4,9 @@
"Settings" => "Astellungen",
"Authentication error" => "Authentifikatioun's Fehler",
"Files" => "Dateien",
-"Text" => "SMS"
+"Text" => "SMS",
+"1 hour ago" => "vrun 1 Stonn",
+"last month" => "Läschte Mount",
+"last year" => "Läscht Joer",
+"years ago" => "Joren hier"
);
diff --git a/lib/l10n/pl.php b/lib/l10n/pl.php
index 6f84a328ed9..6ec35445bc2 100644
--- a/lib/l10n/pl.php
+++ b/lib/l10n/pl.php
@@ -9,6 +9,7 @@
"Files need to be downloaded one by one." => "Pliki muszą zostać pobrane pojedynczo.",
"Back to Files" => "Wróć do plików",
"Selected files too large to generate zip file." => "Wybrane pliki są zbyt duże, aby wygenerować plik zip.",
+"couldn't be determined" => "nie może zostać znaleziony",
"Application is not enabled" => "Aplikacja nie jest włączona",
"Authentication error" => "BÅ‚Ä…d uwierzytelniania",
"Token expired. Please reload page." => "Token wygasł. Proszę ponownie załadować stronę.",
diff --git a/lib/l10n/ro.php b/lib/l10n/ro.php
index d3ce066c8c1..3f8e59cdac2 100644
--- a/lib/l10n/ro.php
+++ b/lib/l10n/ro.php
@@ -9,6 +9,7 @@
"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.",
diff --git a/lib/mail.php b/lib/mail.php
index ffc4d01b79f..1bb202ac977 100644
--- a/lib/mail.php
+++ b/lib/mail.php
@@ -38,6 +38,7 @@ class OC_Mail {
$SMTPHOST = OC_Config::getValue( 'mail_smtphost', '127.0.0.1' );
$SMTPPORT = OC_Config::getValue( 'mail_smtpport', 25 );
$SMTPAUTH = OC_Config::getValue( 'mail_smtpauth', false );
+ $SMTPAUTHTYPE = OC_Config::getValue( 'mail_smtpauthtype', 'LOGIN' );
$SMTPUSERNAME = OC_Config::getValue( 'mail_smtpname', '' );
$SMTPPASSWORD = OC_Config::getValue( 'mail_smtppassword', '' );
$SMTPDEBUG = OC_Config::getValue( 'mail_smtpdebug', false );
@@ -62,6 +63,7 @@ class OC_Mail {
$mailo->SMTPAuth = $SMTPAUTH;
$mailo->SMTPDebug = $SMTPDEBUG;
$mailo->SMTPSecure = $SMTPSECURE;
+ $mailo->AuthType = $SMTPAUTHTYPE;
$mailo->Username = $SMTPUSERNAME;
$mailo->Password = $SMTPPASSWORD;
$mailo->Timeout = $SMTPTIMEOUT;
diff --git a/lib/template.php b/lib/template.php
index f7124ebc09c..238d8a8ad0f 100644
--- a/lib/template.php
+++ b/lib/template.php
@@ -186,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 83d36199986..37ece91047f 100644
--- a/lib/templatelayout.php
+++ b/lib/templatelayout.php
@@ -28,11 +28,6 @@ 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 {
diff --git a/lib/user.php b/lib/user.php
index 6452f80602c..38259bceea5 100644
--- a/lib/user.php
+++ b/lib/user.php
@@ -441,8 +441,8 @@ class OC_User {
/**
* @brief Check if the password is correct
- * @param $uid The username
- * @param $password The password
+ * @param string $uid The username
+ * @param string $password The password
* @returns string
*
* returns the path to the users home directory
diff --git a/robots.txt b/robots.txt
new file mode 100644
index 00000000000..1f53798bb4f
--- /dev/null
+++ b/robots.txt
@@ -0,0 +1,2 @@
+User-agent: *
+Disallow: /
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/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 524a57e0776..424d00b51a7 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) {
@@ -199,7 +198,7 @@ var UserList = {
checked:checked,
oncheck:checkHandeler,
onuncheck:checkHandeler,
- minWidth:100,
+ minWidth:100
});
}
if ($(element).attr('class') == 'subadminsselect') {
@@ -234,7 +233,7 @@ var UserList = {
checked:checked,
oncheck:checkHandeler,
onuncheck:checkHandeler,
- minWidth:100,
+ minWidth:100
});
}
}
@@ -425,7 +424,7 @@ $(document).ready(function () {
{
username:username,
password:password,
- groups:groups,
+ groups:groups
},
function (result) {
if (result.status != 'success') {
@@ -438,13 +437,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/de.php b/settings/l10n/de.php
index 3bb53f99b2e..ad3043a4aab 100644
--- a/settings/l10n/de.php
+++ b/settings/l10n/de.php
@@ -29,7 +29,7 @@
"Bugtracker" => "Bugtracker",
"Commercial Support" => "Kommerzieller Support",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" => "Du verwendest <strong>%s</strong> der verfügbaren <strong>%s<strong>",
-"Clients" => "Kunden",
+"Clients" => "Clients",
"Download Desktop Clients" => "Desktop-Client herunterladen",
"Download Android Client" => "Android-Client herunterladen",
"Download iOS Client" => "iOS-Client herunterladen",
diff --git a/settings/l10n/de_DE.php b/settings/l10n/de_DE.php
index dd129fc59eb..f394a333a65 100644
--- a/settings/l10n/de_DE.php
+++ b/settings/l10n/de_DE.php
@@ -29,7 +29,7 @@
"Bugtracker" => "Bugtracker",
"Commercial Support" => "Kommerzieller Support",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" => "Sie verwenden <strong>%s</strong> der verfügbaren <strong>%s</strong>",
-"Clients" => "Kunden",
+"Clients" => "Clients",
"Download Desktop Clients" => "Desktop-Client herunterladen",
"Download Android Client" => "Android-Client herunterladen",
"Download iOS Client" => "iOS-Client herunterladen",
diff --git a/settings/l10n/lv.php b/settings/l10n/lv.php
index ba44fdbb3e2..ddc480f348b 100644
--- a/settings/l10n/lv.php
+++ b/settings/l10n/lv.php
@@ -22,6 +22,7 @@
"See application page at apps.owncloud.com" => "Apskatie aplikÄciju lapu - apps.owncloud.com",
"<span class=\"licence\"></span>-licensed by <span class=\"author\"></span>" => "<span class=\"licence\"></span>-licencēts no <span class=\"author\"></span>",
"You have used <strong>%s</strong> of the available <strong>%s</strong>" => "JÅ«s lietojat <strong>%s</strong> no pieejamajiem <strong>%s</strong>",
+"Clients" => "Klienti",
"Password" => "Parole",
"Your password was changed" => "Jūru parole tika nomainīta",
"Unable to change your password" => "Nav iespējams nomainīt jūsu paroli",
diff --git a/settings/l10n/ro.php b/settings/l10n/ro.php
index a96a7368499..1166f9587e9 100644
--- a/settings/l10n/ro.php
+++ b/settings/l10n/ro.php
@@ -10,6 +10,7 @@
"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",
@@ -27,6 +28,7 @@
"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",
@@ -44,6 +46,7 @@
"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",
diff --git a/settings/l10n/sk_SK.php b/settings/l10n/sk_SK.php
index ecf1a905008..884e785ad8d 100644
--- a/settings/l10n/sk_SK.php
+++ b/settings/l10n/sk_SK.php
@@ -22,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",
@@ -36,11 +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 Storage" => "Predvolené úložisko",
+"Unlimited" => "Nelimitované",
"Other" => "Iné",
"Group Admin" => "Správca skupiny",
+"Storage" => "Úložisko",
+"Default" => "Predvolené",
"Delete" => "Odstrániť"
);
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 c9156f9a115..0a5b2fbfd38 100644
--- a/settings/routes.php
+++ b/settings/routes.php
@@ -55,6 +55,8 @@ $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');
@@ -62,3 +64,5 @@ $this->create('settings_ajax_setloglevel', '/settings/ajax/setloglevel.php')
->actionInclude('settings/ajax/setloglevel.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/templates/apps.php b/settings/templates/apps.php
index 0490f63fb67..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>
- 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;?>
@@ -32,4 +29,4 @@
<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 8f51cd87017..7383fdcf56a 100644
--- a/settings/templates/help.php
+++ b/settings/templates/help.php
@@ -11,25 +11,4 @@
<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/users.php b/settings/templates/users.php
index fa06c9c72ee..f30c21efaef 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('Login Name')?>" /> <input
@@ -73,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>
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/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/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 2899c3512b2..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?
@@ -31,7 +31,7 @@ class Test_TemplateFunctions extends UnitTestCase {
p($htmlString);
$result = ob_get_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,7 +40,7 @@ class Test_TemplateFunctions extends UnitTestCase {
p($normalString);
$result = ob_get_clean();
- $this->assertEqual("This is a good string!", $result);
+ $this->assertEquals("This is a good string!", $result);
}
@@ -51,7 +51,7 @@ class Test_TemplateFunctions extends UnitTestCase {
print_unescaped($htmlString);
$result = ob_get_clean();
- $this->assertEqual($htmlString, $result);
+ $this->assertEquals($htmlString, $result);
}
public function testPrintUnescapedNormalString() {
@@ -60,7 +60,7 @@ class Test_TemplateFunctions extends UnitTestCase {
print_unescaped($normalString);
$result = ob_get_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')));
}
}